@proposit/proposit-core 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +99 -2
  2. package/dist/cli/commands/expressions.d.ts.map +1 -1
  3. package/dist/cli/commands/expressions.js +44 -0
  4. package/dist/cli/commands/expressions.js.map +1 -1
  5. package/dist/cli/commands/origins.d.ts +3 -0
  6. package/dist/cli/commands/origins.d.ts.map +1 -0
  7. package/dist/cli/commands/origins.js +264 -0
  8. package/dist/cli/commands/origins.js.map +1 -0
  9. package/dist/cli/commands/premises.d.ts.map +1 -1
  10. package/dist/cli/commands/premises.js +18 -2
  11. package/dist/cli/commands/premises.js.map +1 -1
  12. package/dist/cli/engine.d.ts.map +1 -1
  13. package/dist/cli/engine.js +5 -2
  14. package/dist/cli/engine.js.map +1 -1
  15. package/dist/cli/router.d.ts.map +1 -1
  16. package/dist/cli/router.js +1 -0
  17. package/dist/cli/router.js.map +1 -1
  18. package/dist/cli/schemata.d.ts +2 -0
  19. package/dist/cli/schemata.d.ts.map +1 -1
  20. package/dist/cli/schemata.js +14 -1
  21. package/dist/cli/schemata.js.map +1 -1
  22. package/dist/cli/storage/libraries.d.ts +4 -0
  23. package/dist/cli/storage/libraries.d.ts.map +1 -1
  24. package/dist/cli/storage/libraries.js +19 -0
  25. package/dist/cli/storage/libraries.js.map +1 -1
  26. package/dist/cli.js +2 -0
  27. package/dist/cli.js.map +1 -1
  28. package/dist/extensions/basics/schemata.d.ts +2 -0
  29. package/dist/extensions/basics/schemata.d.ts.map +1 -1
  30. package/dist/extensions/citations/ieee/index.d.ts +1 -0
  31. package/dist/extensions/citations/ieee/index.d.ts.map +1 -1
  32. package/dist/extensions/citations/ieee/index.js +1 -0
  33. package/dist/extensions/citations/ieee/index.js.map +1 -1
  34. package/dist/extensions/citations/ieee/origin-document.d.ts +452 -0
  35. package/dist/extensions/citations/ieee/origin-document.d.ts.map +1 -0
  36. package/dist/extensions/citations/ieee/origin-document.js +25 -0
  37. package/dist/extensions/citations/ieee/origin-document.js.map +1 -0
  38. package/dist/extensions/pipelines/base/finalize-response-v2.d.ts +24 -0
  39. package/dist/extensions/pipelines/base/finalize-response-v2.d.ts.map +1 -1
  40. package/dist/extensions/pipelines/base/finalize-response-v2.js +249 -8
  41. package/dist/extensions/pipelines/base/finalize-response-v2.js.map +1 -1
  42. package/dist/extensions/pipelines/base/index.d.ts +3 -1
  43. package/dist/extensions/pipelines/base/index.d.ts.map +1 -1
  44. package/dist/extensions/pipelines/base/index.js +2 -1
  45. package/dist/extensions/pipelines/base/index.js.map +1 -1
  46. package/dist/extensions/pipelines/base/source-anchors.d.ts +57 -0
  47. package/dist/extensions/pipelines/base/source-anchors.d.ts.map +1 -0
  48. package/dist/extensions/pipelines/base/source-anchors.js +174 -0
  49. package/dist/extensions/pipelines/base/source-anchors.js.map +1 -0
  50. package/dist/extensions/pipelines/ingestion/scholar/scholar.d.ts.map +1 -1
  51. package/dist/extensions/pipelines/ingestion/scholar/scholar.js +11 -1
  52. package/dist/extensions/pipelines/ingestion/scholar/scholar.js.map +1 -1
  53. package/dist/extensions/pipelines/ingestion/scribe/scribe.d.ts.map +1 -1
  54. package/dist/extensions/pipelines/ingestion/scribe/scribe.js +5 -0
  55. package/dist/extensions/pipelines/ingestion/scribe/scribe.js.map +1 -1
  56. package/dist/lib/consts.d.ts.map +1 -1
  57. package/dist/lib/consts.js +27 -0
  58. package/dist/lib/consts.js.map +1 -1
  59. package/dist/lib/core/argument-engine.d.ts +5 -3
  60. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  61. package/dist/lib/core/argument-engine.js +7 -4
  62. package/dist/lib/core/argument-engine.js.map +1 -1
  63. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +2 -1
  64. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
  65. package/dist/lib/core/interfaces/index.d.ts +1 -1
  66. package/dist/lib/core/interfaces/index.d.ts.map +1 -1
  67. package/dist/lib/core/interfaces/library.interfaces.d.ts +72 -1
  68. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
  69. package/dist/lib/core/origin-library.d.ts +127 -0
  70. package/dist/lib/core/origin-library.d.ts.map +1 -0
  71. package/dist/lib/core/origin-library.js +520 -0
  72. package/dist/lib/core/origin-library.js.map +1 -0
  73. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  74. package/dist/lib/core/premise-engine.js +20 -3
  75. package/dist/lib/core/premise-engine.js.map +1 -1
  76. package/dist/lib/core/proposit-core.d.ts +15 -8
  77. package/dist/lib/core/proposit-core.d.ts.map +1 -1
  78. package/dist/lib/core/proposit-core.js +28 -3
  79. package/dist/lib/core/proposit-core.js.map +1 -1
  80. package/dist/lib/grammar/types.d.ts +2 -2
  81. package/dist/lib/grammar/types.d.ts.map +1 -1
  82. package/dist/lib/grammar/types.js +2 -1
  83. package/dist/lib/grammar/types.js.map +1 -1
  84. package/dist/lib/grammar/validators/presentable.d.ts +19 -0
  85. package/dist/lib/grammar/validators/presentable.d.ts.map +1 -1
  86. package/dist/lib/grammar/validators/presentable.js +57 -0
  87. package/dist/lib/grammar/validators/presentable.js.map +1 -1
  88. package/dist/lib/index.d.ts +4 -0
  89. package/dist/lib/index.d.ts.map +1 -1
  90. package/dist/lib/index.js +3 -0
  91. package/dist/lib/index.js.map +1 -1
  92. package/dist/lib/parsing/argument-parser.d.ts.map +1 -1
  93. package/dist/lib/parsing/argument-parser.js +4 -3
  94. package/dist/lib/parsing/argument-parser.js.map +1 -1
  95. package/dist/lib/schemata/index.d.ts +1 -0
  96. package/dist/lib/schemata/index.d.ts.map +1 -1
  97. package/dist/lib/schemata/index.js +1 -0
  98. package/dist/lib/schemata/index.js.map +1 -1
  99. package/dist/lib/schemata/origin.d.ts +48 -0
  100. package/dist/lib/schemata/origin.d.ts.map +1 -0
  101. package/dist/lib/schemata/origin.js +102 -0
  102. package/dist/lib/schemata/origin.js.map +1 -0
  103. package/dist/lib/schemata/propositional.d.ts +6 -0
  104. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  105. package/dist/lib/schemata/propositional.js +13 -0
  106. package/dist/lib/schemata/propositional.js.map +1 -1
  107. package/dist/lib/types/checksum.d.ts +3 -0
  108. package/dist/lib/types/checksum.d.ts.map +1 -1
  109. package/dist/lib/types/validation.d.ts +19 -1
  110. package/dist/lib/types/validation.d.ts.map +1 -1
  111. package/dist/lib/types/validation.js +19 -0
  112. package/dist/lib/types/validation.js.map +1 -1
  113. package/dist/lib/utils/collections.d.ts +15 -0
  114. package/dist/lib/utils/collections.d.ts.map +1 -1
  115. package/dist/lib/utils/collections.js +17 -0
  116. package/dist/lib/utils/collections.js.map +1 -1
  117. package/dist/lib/utils/origin-text.d.ts +62 -0
  118. package/dist/lib/utils/origin-text.d.ts.map +1 -0
  119. package/dist/lib/utils/origin-text.js +204 -0
  120. package/dist/lib/utils/origin-text.js.map +1 -0
  121. package/dist/lib/utils/sha256.d.ts +6 -0
  122. package/dist/lib/utils/sha256.d.ts.map +1 -0
  123. package/dist/lib/utils/sha256.js +98 -0
  124. package/dist/lib/utils/sha256.js.map +1 -0
  125. package/package.json +1 -1
package/README.md CHANGED
@@ -163,7 +163,7 @@ flowchart TD
163
163
 
164
164
  ### PropositCore
165
165
 
166
- `PropositCore` is the recommended top-level entry point. It creates and wires together all four libraries and provides unified cross-library operations:
166
+ `PropositCore` is the recommended top-level entry point. It creates and wires together every library and provides unified cross-library operations:
167
167
 
168
168
  ```typescript
169
169
  import { PropositCore } from "@proposit/proposit-core"
@@ -212,12 +212,25 @@ const snapshot = core.snapshot()
212
212
  const restored = PropositCore.fromSnapshot(snapshot)
213
213
  ```
214
214
 
215
- `PropositCore` is designed for subclassing. All library fields (`claims`, `citations`, `axioms`, `forks`, `arguments`) are public and readable. Pass pre-constructed library instances via `TPropositCoreOptions` to inject custom implementations.
215
+ `PropositCore` is designed for subclassing. All library fields (`claims`, `citations`, `axioms`, `origins`, `forks`, `arguments`) are public and readable. Pass pre-constructed library instances via `TPropositCoreOptions` to inject custom implementations.
216
+
217
+ A snapshot written before origin data existed carries no `origins` slot.
218
+ `PropositCore.fromSnapshot` restores such a payload with an empty origin
219
+ library rather than refusing it.
216
220
 
217
221
  ### No application metadata
218
222
 
219
223
  The core library does not deal in user IDs, timestamps, or display text. These are application-level concerns. The CLI adds some metadata (e.g., `createdAt`, `publishedAt`) for its own purposes, but the core schemas are intentionally minimal. Applications extend core entity types via generic parameters.
220
224
 
225
+ An origin document's `text` is the one string the core schemas carry that a
226
+ reader might mistake for display text. It is not: core stores it, digests it,
227
+ measures it, and slices it by index, and never parses, renders, formats, or
228
+ interprets it. What core owns is the structure around it — entity identity, the
229
+ anchor relation, checksum participation, and snapshot round-tripping — exactly
230
+ as it owns a citation claim's identity while the IEEE extension owns its
231
+ reference data. Who pasted the text, when, whether they may share it, how it
232
+ renders, and how long it may be all remain application concerns.
233
+
221
234
  ### Claims, citations, and axioms
222
235
 
223
236
  Every claim in the unified `ClaimLibrary` carries an immutable `type: 'normal' | 'citation' | 'axiomatic'` discriminator set at creation:
@@ -808,6 +821,8 @@ In v1.0 the engine no longer throws on non-`not` operators placed as direct chil
808
821
  | `formula` wrapping no operator (leaf or single `not`) | `P-3` | Presentable |
809
822
  | Single-child `and` / `or` | `P-4` | Presentable |
810
823
  | Same-operator parent/grandchild separated only by `formula` | `P-5` | Presentable |
824
+ | Premise-bound variable expression marked as an enthymeme | `P-6` | Presentable |
825
+ | Operator or formula expression marked as an enthymeme | `P-6` | Presentable |
811
826
 
812
827
  ### Variables — prevented at construction time
813
828
 
@@ -953,6 +968,11 @@ $PROPOSIT_HOME/
953
968
  meta.json # id, title?
954
969
  data.json # type, rootExpressionId?, variables[], expressions[]
955
970
  <analysis>.json # named analysis files (default: analysis.json)
971
+ claims.json # global claim library
972
+ citations.json # citation connections
973
+ axioms.json # axiom connections
974
+ origins.json # source texts, their argument links, and anchors
975
+ forks.json # fork provenance records
956
976
  ```
957
977
 
958
978
  ### Versioning
@@ -990,6 +1010,14 @@ proposit-core axioms list [--json] List all axiom connections
990
1010
  proposit-core axioms show <connection_id> [--json] Show a single axiom connection
991
1011
  proposit-core axioms add --claim-id <id> --axiom-id <id> Add an axiom connection (supporting claim must be type=axiomatic; dependent must be type=normal)
992
1012
  proposit-core axioms remove <connection_id> Remove an axiom connection
1013
+ proposit-core origins attach <file> --argument <id> --version <n> [--stance <s>] Store a source text and link it to an argument version
1014
+ proposit-core origins list [--json] List stored source texts and their links
1015
+ proposit-core origins show <document_id> [--json] [--text] Show a source text, its links, and its anchors
1016
+ proposit-core origins link <document_id> --argument <id> --version <n> [--stance <s>] Link an existing source text to another argument version
1017
+ proposit-core origins unlink <link_id> Remove a link between an argument version and a source text
1018
+ proposit-core origins remove <document_id> Remove a source text (refuses while referenced)
1019
+ proposit-core origins anchor add --document <id> --argument <id> --version <n> --target <type> --target-id <id> --start <n> --end <n> Record the span an argument part derives from
1020
+ proposit-core origins anchor remove <anchor_id> Remove an anchor
993
1021
  ```
994
1022
 
995
1023
  > **Breaking change in v0.12.0.** The `citations` command group switched from positional arguments + `unlink` to flag arguments + `remove`, matching the new `axioms` group and the renamed schema fields. Scripts that used `citations add <citing_claim_id> <source_claim_id>` or `citations unlink <id>` need to update to `citations add --claim-id <id> --supporting-claim-id <id>` and `citations remove <id>`.
@@ -1019,6 +1047,75 @@ proposit-core axioms add --claim-id <normal-claim-id> --axiom-id <axiomatic-clai
1019
1047
 
1020
1048
  Axiomatic claim-bound variables are forced to `true` at evaluation time. Passing an explicit assignment for one to `analysis evaluate` raises `AXIOM_VARIABLE_ASSIGNMENT_FORBIDDEN` before the evaluator runs. To express "this derivation should not be supported by this axiom," wrap the axiom's variable expression in the antecedent with `not`.
1021
1049
 
1050
+ ### Origin data
1051
+
1052
+ An argument can record the source text it was built from, which of its parts
1053
+ derive from which span of that text, and which parts the original left unspoken.
1054
+
1055
+ ```bash
1056
+ # Store a source text and link it to an argument version.
1057
+ DOC=$(proposit-core origins attach ./speech.txt --argument "$ARG" --version 0 --stance seed)
1058
+
1059
+ # Record that a premise derives from code points [0, 12) of that text.
1060
+ proposit-core origins anchor add --document "$DOC" --argument "$ARG" \
1061
+ --version 0 --target premise --target-id "$PREMISE" --start 0 --end 12
1062
+
1063
+ proposit-core origins show "$DOC"
1064
+ ```
1065
+
1066
+ **Stance.** `seed` (the default) says the argument merely started from the
1067
+ source. `representation` asserts the argument faithfully renders it — which is
1068
+ what makes the _absence_ of provenance meaningful, so it is a claim about
1069
+ someone else's text and never a default.
1070
+
1071
+ **Positions count Unicode code points, not UTF-16 code units**, following the
1072
+ Web Annotation Data Model. The fields are named `startCodePoint` /
1073
+ `endCodePoint` for that reason, and `sliceByCodePoints` is the exported helper
1074
+ that reads them; a plain `String.prototype.slice` on these offsets is wrong for
1075
+ any text containing an astral-plane character and right for every ASCII test.
1076
+ An anchor whose span does not slice out its own recorded quote is rejected, so a
1077
+ mis-measured anchor fails loudly instead of highlighting the wrong passage.
1078
+
1079
+ **The stored text is normalized on the way in** by the exported
1080
+ `normalizeOriginText`: every line-break form folds to LF, the byte-order mark,
1081
+ control characters other than LF and tab, bidirectional controls, zero-width
1082
+ characters, and stray variation selectors are stripped, and the result is
1083
+ composed to Unicode NFC and trimmed. Emoji ZWJ, keycap, CJK, Mongolian, and
1084
+ emoji-tag sequences survive intact. It never touches content: internal
1085
+ whitespace, paragraph breaks, smart quotes, dashes, case, and punctuation are
1086
+ left exactly as written. The function is idempotent, so an application may
1087
+ safely apply it at its own import boundary as well.
1088
+
1089
+ Because every stored anchor is an offset into text this function produced,
1090
+ **changing its behavior later is a data migration, not a bug fix.**
1091
+
1092
+ Each document also carries a SHA-256 `digest` of its normalized text, so two
1093
+ pastes of the same source are detectable. Two texts differing only in line-ending
1094
+ style, a byte-order mark, or accent composition produce the same digest.
1095
+
1096
+ Anchoring requires a link first: an anchor's argument version must already be
1097
+ linked to the document, because the link carries the stance that gives the
1098
+ anchor its meaning. Persist in that order — document, link, anchors.
1099
+
1100
+ **Unspoken content.** An author can mark a premise or a claim-bound variable
1101
+ expression as an _enthymeme_ — content the natural-language original left for
1102
+ the audience to supply:
1103
+
1104
+ ```bash
1105
+ proposit-core "$ARG" latest premises update "$PREMISE" --enthymeme
1106
+ proposit-core "$ARG" latest expressions mark "$PREMISE" "$EXPR" --enthymeme
1107
+ ```
1108
+
1109
+ The mark is always declared, never derived; nothing infers it. Passing
1110
+ `--no-enthymeme` removes the field entirely rather than storing `false`, which
1111
+ restores the entity's original checksum. Marking a _premise-bound_ variable is
1112
+ reported as `P-6` by `validate('presentable')` — its truth is derived from
1113
+ another premise rather than asserted, so there is nothing for a speaker to have
1114
+ suppressed.
1115
+
1116
+ Origin data lives on `PropositCore` as `core.origins` and is stored by the CLI
1117
+ in `$PROPOSIT_HOME/origins.json`.
1118
+
1022
1119
  ### Version-scoped commands
1023
1120
 
1024
1121
  All commands below are scoped to a specific argument version:
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/expressions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAmCnC,MAAM,MAAM,wBAAwB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,wBAAwB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAoGjB;AAED,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CAuUN"}
1
+ {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/expressions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAmCnC,MAAM,MAAM,wBAAwB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,wBAAwB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAoGjB;AAED,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CAqYN"}
@@ -308,8 +308,52 @@ export function registerExpressionCommands(versionedCmd, argumentId, version) {
308
308
  if (expr.type === "operator") {
309
309
  printLine(`operator: ${expr.operator}`);
310
310
  }
311
+ if (expr.type === "variable" && expr.enthymeme === true) {
312
+ printLine(`enthymeme: true`);
313
+ }
311
314
  }
312
315
  });
316
+ exprs
317
+ .command("mark <premise_id> <expression_id>")
318
+ .description("Mark or unmark a claim-bound variable expression as left unspoken in the natural-language original")
319
+ .option("--enthymeme", "Mark the expression as left unspoken (the default)")
320
+ .option("--no-enthymeme", "Remove the unspoken mark")
321
+ .action(async (premiseId, expressionId, opts) => {
322
+ await assertNotPublished(argumentId, version);
323
+ if (!(await premiseExists(argumentId, version, premiseId))) {
324
+ errorExit(`Premise "${premiseId}" not found.`);
325
+ }
326
+ const engine = await hydrateEngine(argumentId, version);
327
+ const pm = engine.getPremise(premiseId);
328
+ if (!pm)
329
+ errorExit(`Premise "${premiseId}" not found in engine.`);
330
+ const expr = pm.getExpression(expressionId);
331
+ if (!expr) {
332
+ errorExit(`Expression "${expressionId}" not found.`);
333
+ }
334
+ if (expr.type !== "variable") {
335
+ errorExit(`Expression "${expressionId}" is a ${expr.type} expression; only variable expressions can be marked.`);
336
+ }
337
+ try {
338
+ // Unmarking sets the field to undefined rather than false:
339
+ // an entity carrying the key at all hashes differently
340
+ // from one that omits it, and `undefined` is dropped by
341
+ // both the checksum and the JSON encoding.
342
+ engine.patchExpressionAppFields(expressionId, {
343
+ enthymeme: opts.enthymeme === false ? undefined : true,
344
+ });
345
+ }
346
+ catch (e) {
347
+ errorExit(e instanceof Error ? e.message : "Failed to mark.");
348
+ }
349
+ engine.flushChecksums();
350
+ await writePremiseData(argumentId, version, premiseId, {
351
+ rootExpressionId: pm.getRootExpressionId(),
352
+ variables: [...pm.getReferencedVariableIds()].sort(),
353
+ expressions: pm.getExpressions(),
354
+ });
355
+ printLine("success");
356
+ });
313
357
  exprs
314
358
  .command("toggle-negation <premise_id> <expression_id>")
315
359
  .description("Toggle negation on an expression (wrap in NOT or unwrap)")
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/cli/commands/expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/cli/commands/expressions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerOriginCommands(program: Command): void;
3
+ //# sourceMappingURL=origins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"origins.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/origins.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA0CnC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8T7D"}
@@ -0,0 +1,264 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import fs from "node:fs/promises";
3
+ import { Command } from "commander";
4
+ import { hydratePropositCore, persistCore } from "../engine.js";
5
+ import { errorExit, printJson, printLine } from "../output.js";
6
+ import { codePointLength, sliceByCodePoints, } from "../../lib/utils/origin-text.js";
7
+ import { listVersionNumbers } from "../storage/arguments.js";
8
+ const STANCES = ["representation", "seed"];
9
+ const TARGET_TYPES = ["expression", "premise", "argument"];
10
+ function parseIntegerOption(value, label) {
11
+ const parsed = Number(value);
12
+ if (!Number.isInteger(parsed) || parsed < 0) {
13
+ errorExit(`${label} must be a non-negative integer (got "${value}").`);
14
+ }
15
+ return parsed;
16
+ }
17
+ /**
18
+ * Fails unless the argument version exists on disk. Origin links and anchors
19
+ * reference an argument that the library deliberately cannot see — it is
20
+ * constructed after the origin library — so a typo would otherwise persist a
21
+ * link nothing ever resolves and nothing ever reports.
22
+ */
23
+ async function assertArgumentVersionExists(argumentId, version) {
24
+ const versions = await listVersionNumbers(argumentId);
25
+ if (versions.length === 0) {
26
+ errorExit(`Argument "${argumentId}" not found.`);
27
+ }
28
+ if (!versions.includes(version)) {
29
+ errorExit(`Argument "${argumentId}" has no version ${version} (has: ${versions.join(", ")}).`);
30
+ }
31
+ }
32
+ export function registerOriginCommands(program) {
33
+ const origins = program
34
+ .command("origins")
35
+ .description("Manage source texts and the spans arguments derive from");
36
+ origins
37
+ .command("attach <file>")
38
+ .description("Store a source text from a file and link it to an argument version")
39
+ .requiredOption("--argument <id>", "Argument ID to link the text to")
40
+ .requiredOption("--version <n>", "Argument version to link the text to")
41
+ .option("--stance <stance>", `What the argument claims about the source: ${STANCES.join(" | ")}`, "seed")
42
+ .action(async (file, opts) => {
43
+ if (!STANCES.includes(opts.stance)) {
44
+ errorExit(`Unknown stance "${opts.stance}". Expected one of: ${STANCES.join(", ")}.`);
45
+ }
46
+ let text;
47
+ try {
48
+ text = await fs.readFile(file, "utf-8");
49
+ }
50
+ catch {
51
+ errorExit(`Cannot read source text file "${file}".`);
52
+ }
53
+ const version = parseIntegerOption(opts.version, "--version");
54
+ await assertArgumentVersionExists(opts.argument, version);
55
+ const core = await hydratePropositCore();
56
+ let documentId;
57
+ try {
58
+ const document = core.origins.addDocument({
59
+ id: randomUUID(),
60
+ text,
61
+ });
62
+ documentId = document.id;
63
+ core.origins.addLink({
64
+ id: randomUUID(),
65
+ argumentId: opts.argument,
66
+ argumentVersion: version,
67
+ documentId: document.id,
68
+ stance: opts.stance,
69
+ });
70
+ }
71
+ catch (error) {
72
+ errorExit(error instanceof Error ? error.message : String(error));
73
+ }
74
+ await persistCore(core);
75
+ printLine(documentId);
76
+ });
77
+ origins
78
+ .command("list")
79
+ .description("List stored source texts and their links")
80
+ .option("--json", "Output as JSON")
81
+ .action(async (opts) => {
82
+ const core = await hydratePropositCore();
83
+ if (opts.json) {
84
+ printJson(core.origins.snapshot());
85
+ return;
86
+ }
87
+ for (const document of core.origins.getAllDocuments()) {
88
+ const links = core.origins
89
+ .getAllLinks()
90
+ .filter((l) => l.documentId === document.id);
91
+ const anchorCount = core.origins
92
+ .getAllAnchors()
93
+ .filter((a) => a.documentId === document.id).length;
94
+ printLine(`${document.id} | ${codePointLength(document.text)} code points | ${links.length} link(s) | ${anchorCount} anchor(s)`);
95
+ for (const link of links) {
96
+ printLine(` ${link.argumentId}@${link.argumentVersion} (${link.stance})`);
97
+ }
98
+ }
99
+ });
100
+ origins
101
+ .command("show <document_id>")
102
+ .description("Show a source text, its links, and its anchors")
103
+ .option("--json", "Output as JSON")
104
+ .option("--text", "Print only the stored text")
105
+ .action(async (documentId, opts) => {
106
+ const core = await hydratePropositCore();
107
+ const document = core.origins.getDocument(documentId);
108
+ if (!document) {
109
+ errorExit(`Origin document "${documentId}" not found.`);
110
+ }
111
+ if (opts.text) {
112
+ printLine(document.text);
113
+ return;
114
+ }
115
+ const links = core.origins
116
+ .getAllLinks()
117
+ .filter((l) => l.documentId === documentId);
118
+ const anchors = core.origins
119
+ .getAllAnchors()
120
+ .filter((a) => a.documentId === documentId);
121
+ if (opts.json) {
122
+ printJson({ document, links, anchors });
123
+ return;
124
+ }
125
+ printLine(`id: ${document.id}`);
126
+ printLine(`digest: ${document.digest}`);
127
+ printLine(`codePoints: ${codePointLength(document.text)}`);
128
+ for (const link of links) {
129
+ printLine(`link: ${link.id} -> ${link.argumentId}@${link.argumentVersion} (${link.stance})`);
130
+ }
131
+ for (const anchor of anchors) {
132
+ printLine(`anchor: ${anchor.id} -> ${anchor.targetType} ${anchor.targetId} [${anchor.startCodePoint}, ${anchor.endCodePoint}) "${anchor.exact}"`);
133
+ }
134
+ });
135
+ origins
136
+ .command("link <document_id>")
137
+ .description("Link an existing source text to another argument version, reusing the stored text")
138
+ .requiredOption("--argument <id>", "Argument ID to link the text to")
139
+ .requiredOption("--version <n>", "Argument version to link the text to")
140
+ .option("--stance <stance>", `What the argument claims about the source: ${STANCES.join(" | ")}`, "seed")
141
+ .action(async (documentId, opts) => {
142
+ if (!STANCES.includes(opts.stance)) {
143
+ errorExit(`Unknown stance "${opts.stance}". Expected one of: ${STANCES.join(", ")}.`);
144
+ }
145
+ const version = parseIntegerOption(opts.version, "--version");
146
+ await assertArgumentVersionExists(opts.argument, version);
147
+ const core = await hydratePropositCore();
148
+ if (!core.origins.getDocument(documentId)) {
149
+ errorExit(`Origin document "${documentId}" not found.`);
150
+ }
151
+ let linkId;
152
+ try {
153
+ linkId = core.origins.addLink({
154
+ id: randomUUID(),
155
+ argumentId: opts.argument,
156
+ argumentVersion: version,
157
+ documentId,
158
+ stance: opts.stance,
159
+ }).id;
160
+ }
161
+ catch (error) {
162
+ errorExit(error instanceof Error ? error.message : String(error));
163
+ }
164
+ await persistCore(core);
165
+ printLine(linkId);
166
+ });
167
+ origins
168
+ .command("unlink <link_id>")
169
+ .description("Remove a link between an argument version and a source text")
170
+ .action(async (linkId) => {
171
+ const core = await hydratePropositCore();
172
+ if (!core.origins.getLink(linkId)) {
173
+ errorExit(`Origin link "${linkId}" not found.`);
174
+ }
175
+ try {
176
+ core.origins.removeLink(linkId);
177
+ }
178
+ catch (error) {
179
+ errorExit(error instanceof Error ? error.message : String(error));
180
+ }
181
+ await persistCore(core);
182
+ printLine("success");
183
+ });
184
+ origins
185
+ .command("remove <document_id>")
186
+ .description("Remove a source text. Refuses while any link or anchor still references it.")
187
+ .action(async (documentId) => {
188
+ const core = await hydratePropositCore();
189
+ if (!core.origins.getDocument(documentId)) {
190
+ errorExit(`Origin document "${documentId}" not found.`);
191
+ }
192
+ try {
193
+ core.origins.removeDocument(documentId);
194
+ }
195
+ catch (error) {
196
+ errorExit(error instanceof Error ? error.message : String(error));
197
+ }
198
+ await persistCore(core);
199
+ printLine("success");
200
+ });
201
+ const anchor = origins
202
+ .command("anchor")
203
+ .description("Manage the spans argument parts derive from");
204
+ anchor
205
+ .command("add")
206
+ .description("Record the span of a source text that one argument part derives from")
207
+ .requiredOption("--document <id>", "Origin document ID")
208
+ .requiredOption("--argument <id>", "Argument ID")
209
+ .requiredOption("--version <n>", "Argument version")
210
+ .requiredOption("--target <type>", `What the anchor points at: ${TARGET_TYPES.join(" | ")}`)
211
+ .requiredOption("--target-id <id>", "ID of the anchored part")
212
+ .requiredOption("--start <n>", "Inclusive start of the span, in Unicode code points")
213
+ .requiredOption("--end <n>", "Exclusive end of the span, in Unicode code points")
214
+ .action(async (opts) => {
215
+ if (!TARGET_TYPES.includes(opts.target)) {
216
+ errorExit(`Unknown target "${opts.target}". Expected one of: ${TARGET_TYPES.join(", ")}.`);
217
+ }
218
+ const core = await hydratePropositCore();
219
+ const document = core.origins.getDocument(opts.document);
220
+ if (!document) {
221
+ errorExit(`Origin document "${opts.document}" not found.`);
222
+ }
223
+ const version = parseIntegerOption(opts.version, "--version");
224
+ await assertArgumentVersionExists(opts.argument, version);
225
+ const start = parseIntegerOption(opts.start, "--start");
226
+ const end = parseIntegerOption(opts.end, "--end");
227
+ // The quote is derived by slicing rather than supplied: a
228
+ // reader picked a range, so the positions are authoritative
229
+ // here and a hand-typed quote could only disagree with them.
230
+ const exact = sliceByCodePoints(document.text, start, end);
231
+ let anchorId;
232
+ try {
233
+ anchorId = core.origins.addAnchor({
234
+ id: randomUUID(),
235
+ argumentId: opts.argument,
236
+ argumentVersion: version,
237
+ documentId: document.id,
238
+ targetType: opts.target,
239
+ targetId: opts.targetId,
240
+ exact,
241
+ startCodePoint: start,
242
+ endCodePoint: end,
243
+ }).id;
244
+ }
245
+ catch (error) {
246
+ errorExit(error instanceof Error ? error.message : String(error));
247
+ }
248
+ await persistCore(core);
249
+ printLine(anchorId);
250
+ });
251
+ anchor
252
+ .command("remove <anchor_id>")
253
+ .description("Remove an anchor")
254
+ .action(async (anchorId) => {
255
+ const core = await hydratePropositCore();
256
+ if (!core.origins.getAnchor(anchorId)) {
257
+ errorExit(`Origin anchor "${anchorId}" not found.`);
258
+ }
259
+ core.origins.removeAnchor(anchorId);
260
+ await persistCore(core);
261
+ printLine("success");
262
+ });
263
+ }
264
+ //# sourceMappingURL=origins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"origins.js","sourceRoot":"","sources":["../../../src/cli/commands/origins.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"premises.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/premises.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA6CnC,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CAuaN"}
1
+ {"version":3,"file":"premises.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/premises.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA6CnC,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CA8bN"}
@@ -175,6 +175,8 @@ export function registerPremiseCommands(versionedCmd, argumentId, version) {
175
175
  .description("Update premise metadata")
176
176
  .option("--title <new_title>", "New title")
177
177
  .option("--clear-title", "Remove the title")
178
+ .option("--enthymeme", "Mark this premise as left unspoken in the natural-language original")
179
+ .option("--no-enthymeme", "Remove the unspoken mark")
178
180
  .action(async (premiseId, opts) => {
179
181
  await assertNotPublished(argumentId, version);
180
182
  if (opts.title !== undefined && opts.clearTitle) {
@@ -186,16 +188,30 @@ export function registerPremiseCommands(versionedCmd, argumentId, version) {
186
188
  errorExit(`Premise "${premiseId}" not found.`);
187
189
  }
188
190
  try {
191
+ let updated = false;
189
192
  if (opts.clearTitle) {
190
193
  const extras = pm.getExtras();
191
194
  delete extras.title;
192
195
  pm.setExtras(extras);
196
+ updated = true;
193
197
  }
194
198
  else if (opts.title !== undefined) {
195
199
  pm.updateExtras({ title: opts.title });
200
+ updated = true;
196
201
  }
197
- else {
198
- errorExit("No updates specified. Use --title or --clear-title.");
202
+ if (opts.enthymeme === true) {
203
+ pm.updateExtras({ enthymeme: true });
204
+ updated = true;
205
+ }
206
+ else if (opts.enthymeme === false) {
207
+ // `undefined` deletes the key. An entity that carries
208
+ // the key at all hashes differently from one that omits
209
+ // it, so unmarking must restore the original absence.
210
+ pm.updateExtras({ enthymeme: undefined });
211
+ updated = true;
212
+ }
213
+ if (!updated) {
214
+ errorExit("No updates specified. Use --title, --clear-title, --enthymeme, or --no-enthymeme.");
199
215
  }
200
216
  }
201
217
  catch (err) {