Add the Paratext 9 import service, storage, provenance, and commands - #273
Add the Paratext 9 import service, storage, provenance, and commands#273jasonleenaylor wants to merge 4 commits into
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
7706947 to
5ce31d8
Compare
d5f84f5 to
378ab64
Compare
42f0b13 to
8805469
Compare
This comment was marked as resolved.
This comment was marked as resolved.
8805469 to
ec230b4
Compare
378ab64 to
6b4b8d7
Compare
The backend half of the PT9 import: InterlinearProject gains optional pt9Import provenance (per-file hashes and the import timestamp), and a project carrying it is frozen - storage rejects user writes and only the import's own save path replaces its content, while deleting stays allowed. projectStorage gains savePt9Import, getPt9ImportForSource, and createEditableCopy; pt9ImportService.importPt9Project fetches the parsed payload through the platformScripture.Pt9Interlinear projectInterface, rebuilds each referenced book's text layer from USJ, converts, and persists the source's single frozen import. Commands and type guards round out the wire surface. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The provenance doc names the functions that enforce it (updateAnalysis and updateProjectMetadata reject, savePt9Import replaces, deleteProject accepts) and no longer claims view behavior this tree does not contain. The writing-system fallback is pinned for a non-string setting value, not only an empty one. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
isPt9ImportReport and its per-book helper now live in the converter's report module, next to the type they validate and exported through the converter's public surface, so the types layer no longer imports upward from the converters. The frontend-mock helper leaves this tree for the WebView change that uses it, and the ENOENT error fixture has one definition in test-helpers instead of one per test file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
6b4b8d7 to
2504539
Compare
Resolver implementation is deferred, but that needs tracking, created #280 as a reminder. |
The backend half of the PT9 import, stacked on #272. Supersedes #268.
the import timestamp). A project carrying it is frozen: storage rejects
every user write and only the import's own save path replaces its content;
deleting stays allowed.
project or replace it wholesale), getPt9ImportForSource, and
createEditableCopy (clone an import's analysis into a new editable project
with no provenance).
platformScripture.Pt9Interlinear projectInterface, rebuilds each referenced
book's text layer from USJ, converts, and persists - created on first run,
replaced wholesale on later runs, and kept untouched (staleKept) when the
source files have vanished.
description, and the type guards the wire surface needs.
This change is