InMemoryPaperRemote: stores paper elements as list[str] in memory
WriteOutDigitsEditorAgent: a basic editor agent that just converts digits like "1" to words like "one", as a networkless, AIless debug tool
Adds new type hierarchy to PaperRemotes:
OverleafGitPaperRemote now inherits from MultiDocumentPaperRemote
SingleDocumentPaperRemote spec now explicitly states that document IDs are ignored. This is kinda the ugliest thing in this codebase right now, but makes it possible to not have to rewrite all of our types to be document-ID-agnostic
Adds new convenience types:
DocumentID is just a Hashable, but because it's type-aliased, it gives us a nice type annotation to keep straight what we're representing in function signatures et al
Adds test suite...
...the idea of which right now is to just make it slightly harder to accidentally break existing APIs without getting a big ❌ on GitHub PRs, and which doesn't really accomplish that much in the way of unittesting at all
Basic integration tests for PaperRemote
Basicker integration tests for EditorAgent protocol
Adds new mock/debugging objects:
InMemoryPaperRemote
: stores paper elements as list[str] in memoryWriteOutDigitsEditorAgent
: a basic editor agent that just converts digits like "1" to words like "one", as a networkless, AIless debug toolAdds new type hierarchy to PaperRemotes:
OverleafGitPaperRemote
now inherits fromMultiDocumentPaperRemote
SingleDocumentPaperRemote
spec now explicitly states that document IDs are ignored. This is kinda the ugliest thing in this codebase right now, but makes it possible to not have to rewrite all of our types to be document-ID-agnosticAdds new convenience types:
DocumentID
is just aHashable
, but because it's type-aliased, it gives us a nice type annotation to keep straight what we're representing in function signatures et alAdds test suite...
...the idea of which right now is to just make it slightly harder to accidentally break existing APIs without getting a big ❌ on GitHub PRs, and which doesn't really accomplish that much in the way of unittesting at all