@proposit/proposit-core 1.2.0 → 1.3.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 (73) hide show
  1. package/dist/extensions/argument-ingestion/index.d.ts +4 -0
  2. package/dist/extensions/argument-ingestion/index.d.ts.map +1 -1
  3. package/dist/extensions/argument-ingestion/index.js +9 -4
  4. package/dist/extensions/argument-ingestion/index.js.map +1 -1
  5. package/dist/extensions/argument-ingestion/shared/finalize-response-v2.d.ts +17 -0
  6. package/dist/extensions/argument-ingestion/shared/finalize-response-v2.d.ts.map +1 -0
  7. package/dist/extensions/argument-ingestion/shared/finalize-response-v2.js +185 -0
  8. package/dist/extensions/argument-ingestion/shared/finalize-response-v2.js.map +1 -0
  9. package/dist/extensions/argument-ingestion/stages/axiom-indicator-detection.d.ts +6 -0
  10. package/dist/extensions/argument-ingestion/stages/axiom-indicator-detection.d.ts.map +1 -0
  11. package/dist/extensions/argument-ingestion/stages/axiom-indicator-detection.js +42 -0
  12. package/dist/extensions/argument-ingestion/stages/axiom-indicator-detection.js.map +1 -0
  13. package/dist/extensions/argument-ingestion/stages/citation-source-detection.d.ts +6 -0
  14. package/dist/extensions/argument-ingestion/stages/citation-source-detection.d.ts.map +1 -0
  15. package/dist/extensions/argument-ingestion/stages/citation-source-detection.js +42 -0
  16. package/dist/extensions/argument-ingestion/stages/citation-source-detection.js.map +1 -0
  17. package/dist/extensions/argument-ingestion/stages/claim-canonicalization.d.ts +15 -0
  18. package/dist/extensions/argument-ingestion/stages/claim-canonicalization.d.ts.map +1 -0
  19. package/dist/extensions/argument-ingestion/stages/claim-canonicalization.js +148 -0
  20. package/dist/extensions/argument-ingestion/stages/claim-canonicalization.js.map +1 -0
  21. package/dist/extensions/argument-ingestion/stages/claim-mention-extraction.d.ts +6 -0
  22. package/dist/extensions/argument-ingestion/stages/claim-mention-extraction.d.ts.map +1 -0
  23. package/dist/extensions/argument-ingestion/stages/claim-mention-extraction.js +38 -0
  24. package/dist/extensions/argument-ingestion/stages/claim-mention-extraction.js.map +1 -0
  25. package/dist/extensions/argument-ingestion/stages/claim-reference-validation.d.ts +37 -0
  26. package/dist/extensions/argument-ingestion/stages/claim-reference-validation.d.ts.map +1 -0
  27. package/dist/extensions/argument-ingestion/stages/claim-reference-validation.js +108 -0
  28. package/dist/extensions/argument-ingestion/stages/claim-reference-validation.js.map +1 -0
  29. package/dist/extensions/argument-ingestion/stages/claim-type-classification.d.ts +6 -0
  30. package/dist/extensions/argument-ingestion/stages/claim-type-classification.d.ts.map +1 -0
  31. package/dist/extensions/argument-ingestion/stages/claim-type-classification.js +67 -0
  32. package/dist/extensions/argument-ingestion/stages/claim-type-classification.js.map +1 -0
  33. package/dist/extensions/argument-ingestion/stages/conclusion-selection.d.ts +20 -0
  34. package/dist/extensions/argument-ingestion/stages/conclusion-selection.d.ts.map +1 -0
  35. package/dist/extensions/argument-ingestion/stages/conclusion-selection.js +94 -0
  36. package/dist/extensions/argument-ingestion/stages/conclusion-selection.js.map +1 -0
  37. package/dist/extensions/argument-ingestion/stages/formula-compilation.d.ts +27 -0
  38. package/dist/extensions/argument-ingestion/stages/formula-compilation.d.ts.map +1 -0
  39. package/dist/extensions/argument-ingestion/stages/formula-compilation.js +175 -0
  40. package/dist/extensions/argument-ingestion/stages/formula-compilation.js.map +1 -0
  41. package/dist/extensions/argument-ingestion/stages/formula-validation.d.ts +19 -0
  42. package/dist/extensions/argument-ingestion/stages/formula-validation.d.ts.map +1 -0
  43. package/dist/extensions/argument-ingestion/stages/formula-validation.js +101 -0
  44. package/dist/extensions/argument-ingestion/stages/formula-validation.js.map +1 -0
  45. package/dist/extensions/argument-ingestion/stages/index.d.ts +15 -0
  46. package/dist/extensions/argument-ingestion/stages/index.d.ts.map +1 -0
  47. package/dist/extensions/argument-ingestion/stages/index.js +16 -0
  48. package/dist/extensions/argument-ingestion/stages/index.js.map +1 -0
  49. package/dist/extensions/argument-ingestion/stages/relation-extraction.d.ts +7 -0
  50. package/dist/extensions/argument-ingestion/stages/relation-extraction.d.ts.map +1 -0
  51. package/dist/extensions/argument-ingestion/stages/relation-extraction.js +77 -0
  52. package/dist/extensions/argument-ingestion/stages/relation-extraction.js.map +1 -0
  53. package/dist/extensions/argument-ingestion/stages/schemas.d.ts +161 -0
  54. package/dist/extensions/argument-ingestion/stages/schemas.d.ts.map +1 -0
  55. package/dist/extensions/argument-ingestion/stages/schemas.js +218 -0
  56. package/dist/extensions/argument-ingestion/stages/schemas.js.map +1 -0
  57. package/dist/extensions/argument-ingestion/stages/segmentation.d.ts +6 -0
  58. package/dist/extensions/argument-ingestion/stages/segmentation.d.ts.map +1 -0
  59. package/dist/extensions/argument-ingestion/stages/segmentation.js +37 -0
  60. package/dist/extensions/argument-ingestion/stages/segmentation.js.map +1 -0
  61. package/dist/extensions/argument-ingestion/stages/variable-assignment.d.ts +15 -0
  62. package/dist/extensions/argument-ingestion/stages/variable-assignment.d.ts.map +1 -0
  63. package/dist/extensions/argument-ingestion/stages/variable-assignment.js +84 -0
  64. package/dist/extensions/argument-ingestion/stages/variable-assignment.js.map +1 -0
  65. package/dist/extensions/argument-ingestion/v2-multi-stage.d.ts +15 -0
  66. package/dist/extensions/argument-ingestion/v2-multi-stage.d.ts.map +1 -0
  67. package/dist/extensions/argument-ingestion/v2-multi-stage.js +91 -0
  68. package/dist/extensions/argument-ingestion/v2-multi-stage.js.map +1 -0
  69. package/dist/lib/index.d.ts +2 -2
  70. package/dist/lib/index.d.ts.map +1 -1
  71. package/dist/lib/index.js +1 -1
  72. package/dist/lib/index.js.map +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,218 @@
1
+ // Shared TypeBox schemas for the v2-multi-stage ingestion stages.
2
+ //
3
+ // Each stage's output schema lives here (rather than next to the stage
4
+ // module) so the schemas can be referenced from `finalize-response-v2.ts`,
5
+ // the v2 unit tests, and any future consumer that wants to validate a
6
+ // recorded stage output without importing the stage's `run` function.
7
+ import Type, {} from "typebox";
8
+ // **Span shape (`{ start, end }`).** Spans use a named-key object
9
+ // rather than a positional tuple. The original tuple shape
10
+ // (`Type.Tuple([Type.Number(), Type.Number()])`) caused the OpenAI
11
+ // structured-output converter to throw `UnsupportedSchemaError:
12
+ // "Tuple"` at request-build time — `segmentation` then surfaced a
13
+ // `LLM_NON_RETRYABLE_ERROR` on first attempt, every downstream stage
14
+ // cascade-skipped on the required dep, and the recording mode
15
+ // completed in ~9ms with `output: null` and zero LLM calls. The
16
+ // named-key form is also more LLM-friendly (each value carries its
17
+ // semantic role rather than relying on positional convention) and
18
+ // stays within the converter's supported subset (Object, Array,
19
+ // String, Number, Integer, Boolean, Literal, Union, Optional, Record,
20
+ // Null). See `test/extensions/argument-ingestion/stages/schema-converter-regression.test.ts`
21
+ // for the regression coverage that pins every v2 LLM stage's
22
+ // `outputSchema` through `typeboxToOpenAiSchema`.
23
+ export const SpanSchema = Type.Object({
24
+ start: Type.Number({
25
+ description: "Inclusive character offset where the span begins (relative to the parent text).",
26
+ }),
27
+ end: Type.Number({
28
+ description: "Exclusive character offset where the span ends (relative to the parent text).",
29
+ }),
30
+ });
31
+ // -- Stage 1: segmentation --
32
+ // **Why every LLM-stage output is wrapped in a single-key object.**
33
+ // The OpenAI Responses-API strict-mode structured output requires the
34
+ // root schema to be `{ "type": "object" }`. Bare top-level arrays are
35
+ // rejected with a 400 `invalid_json_schema` ("schema must be a JSON
36
+ // Schema of 'type: object', got 'type: array'"). To keep every LLM
37
+ // stage's outputSchema acceptable to the converter + the API, we wrap
38
+ // the natural array shape in a single-key envelope (`segments`,
39
+ // `mentions`, `sources`, `axioms`, `relations`). Downstream readers
40
+ // access the array via `output.segments` (etc.); the envelope is
41
+ // shallow and does not change the per-item shape. The same regression
42
+ // test that pins `typeboxToOpenAiSchema` survival now also asserts
43
+ // every LLM-stage's converted root is `type: object`.
44
+ export const SegmentationOutputSchema = Type.Object({
45
+ segments: Type.Array(Type.Object({
46
+ segmentId: Type.String(),
47
+ text: Type.String(),
48
+ span: SpanSchema,
49
+ })),
50
+ });
51
+ // -- Stage 2: claim-mention-extraction --
52
+ export const ClaimMentionExtractionOutputSchema = Type.Object({
53
+ mentions: Type.Array(Type.Object({
54
+ mentionId: Type.String(),
55
+ segmentId: Type.String(),
56
+ text: Type.String(),
57
+ span: SpanSchema,
58
+ })),
59
+ });
60
+ // -- Stage 3: citation-source-detection --
61
+ export const CitationSourceDetectionOutputSchema = Type.Object({
62
+ sources: Type.Array(Type.Object({
63
+ sourceId: Type.String(),
64
+ segmentIds: Type.Array(Type.String()),
65
+ sourceString: Type.String(),
66
+ url: Type.Union([Type.String(), Type.Null()]),
67
+ spans: Type.Array(SpanSchema),
68
+ })),
69
+ });
70
+ // -- Stage 4: axiom-indicator-detection --
71
+ export const AxiomIndicatorDetectionOutputSchema = Type.Object({
72
+ axioms: Type.Array(Type.Object({
73
+ axiomId: Type.String(),
74
+ segmentIds: Type.Array(Type.String()),
75
+ indicator: Type.String(),
76
+ spans: Type.Array(SpanSchema),
77
+ })),
78
+ });
79
+ // -- Stage 5: claim-canonicalization --
80
+ // The per-claim record in `canonicalClaims` carries:
81
+ // - `miniId` — c1, c2, ... allocated by the canonicalizer
82
+ // - `mentionIds` — list of mention ids that resolved to this claim
83
+ // - `suggestedSymbol` — snake_case-ish symbol proposal (validated
84
+ // downstream by `variable-assignment`)
85
+ // - the extension fields from `extension.claimSchema` (e.g. for
86
+ // `basics`: a discriminated union over `type`)
87
+ //
88
+ // We can't bake the extension shape into a static TypeBox object —
89
+ // the canonicalizer's schema is built per-extension by
90
+ // `buildCanonicalClaimsSchema(extension)` below. The exported
91
+ // `ClaimCanonicalizationOutputSchema` is the *base* shape (without the
92
+ // extension fields) and is used by tests that don't need the per-
93
+ // extension constraints.
94
+ export const BaseCanonicalClaimSchema = Type.Object({
95
+ miniId: Type.String(),
96
+ mentionIds: Type.Array(Type.String()),
97
+ suggestedSymbol: Type.String(),
98
+ // Per spec §7.2 row 5, the canonicalizer also drafts the
99
+ // per-claim type. We capture it as `type` and let
100
+ // `claim-type-classification` refine/confirm. Extension fields
101
+ // (title/body/url/axiom) come from the merged extension schema.
102
+ type: Type.Union([
103
+ Type.Literal("normal"),
104
+ Type.Literal("citation"),
105
+ Type.Literal("axiomatic"),
106
+ ]),
107
+ });
108
+ // **Why `mentionToClaim` is an array, not a map.** OpenAI Responses-API
109
+ // strict-mode JSON Schema does not support `additionalProperties` or
110
+ // `patternProperties` — fixed-shape objects only. `Type.Record(K, V)`
111
+ // generates JSON Schema like `{ type: "object", additionalProperties:
112
+ // <V> }`, which strict mode rejects with 400 `invalid_json_schema`
113
+ // ("'required' is required to be supplied and to be an array
114
+ // including every key in properties. Extra required key
115
+ // 'mentionToClaim' supplied."). Surfacing the map as an explicit
116
+ // `[{ mentionId, claimMiniId }, ...]` list bypasses the constraint
117
+ // entirely. Downstream readers convert to a `Map<string, string>`
118
+ // when they need O(1) lookups.
119
+ export const MentionToClaimEntrySchema = Type.Object({
120
+ mentionId: Type.String(),
121
+ claimMiniId: Type.String(),
122
+ });
123
+ export const ClaimCanonicalizationOutputSchema = Type.Object({
124
+ canonicalClaims: Type.Array(BaseCanonicalClaimSchema),
125
+ mentionToClaim: Type.Array(MentionToClaimEntrySchema),
126
+ });
127
+ // -- Stage 6: claim-type-classification --
128
+ // Same OpenAI strict-mode constraint as above. The natural shape
129
+ // `Record<miniId, { type, sourceString }>` becomes an explicit list
130
+ // of `{ miniId, type, sourceString }` entries, wrapped in a
131
+ // single-key `classifications` envelope (the lambda-fold 3 root-
132
+ // must-be-object invariant). Downstream readers build a Map on
133
+ // receipt when they need keyed lookups.
134
+ export const ClaimTypeClassificationEntrySchema = Type.Object({
135
+ miniId: Type.String(),
136
+ type: Type.Union([
137
+ Type.Literal("normal"),
138
+ Type.Literal("citation"),
139
+ Type.Literal("axiomatic"),
140
+ ]),
141
+ sourceString: Type.Union([Type.String(), Type.Null()]),
142
+ });
143
+ export const ClaimTypeClassificationOutputSchema = Type.Object({
144
+ classifications: Type.Array(ClaimTypeClassificationEntrySchema),
145
+ });
146
+ // -- Stage 8: variable-assignment --
147
+ export const VariableAssignmentOutputSchema = Type.Array(Type.Object({
148
+ miniId: Type.String(),
149
+ symbol: Type.String(),
150
+ claimMiniId: Type.String(),
151
+ }));
152
+ // -- Stage 9: relation-extraction --
153
+ export const RelationKindSchema = Type.Union([
154
+ Type.Literal("support"),
155
+ Type.Literal("joint-support"),
156
+ Type.Literal("derivation-support"),
157
+ ]);
158
+ export const RelationExtractionOutputSchema = Type.Object({
159
+ relations: Type.Array(Type.Object({
160
+ relationId: Type.String(),
161
+ type: RelationKindSchema,
162
+ sources: Type.Array(Type.String()),
163
+ target: Type.String(),
164
+ evidence: Type.Object({
165
+ segmentIds: Type.Array(Type.String()),
166
+ quote: Type.String(),
167
+ }),
168
+ })),
169
+ });
170
+ // -- Stage 10: conclusion-selection --
171
+ export const ConclusionSelectionOutputSchema = Type.Object({
172
+ conclusionMiniId: Type.Union([Type.String(), Type.Null()]),
173
+ rationale: Type.String(),
174
+ });
175
+ // -- Stage 11: formula-compilation --
176
+ export const FormulaPremiseRoleHintSchema = Type.Union([
177
+ Type.Literal("support"),
178
+ Type.Literal("joint-support"),
179
+ Type.Literal("derivation"),
180
+ Type.Literal("conclusion"),
181
+ ]);
182
+ export const FormulaCompilationOutputSchema = Type.Object({
183
+ premises: Type.Array(Type.Object({
184
+ premiseMiniId: Type.String(),
185
+ formula: Type.String(),
186
+ roleHint: FormulaPremiseRoleHintSchema,
187
+ // Optional pointer back to the relation that produced this
188
+ // premise (null for the conclusion premise, which is
189
+ // synthesized rather than extracted).
190
+ sourceRelationId: Type.Union([Type.String(), Type.Null()]),
191
+ })),
192
+ conclusionPremiseMiniId: Type.Union([Type.String(), Type.Null()]),
193
+ });
194
+ // -- Stage 7 + 12 are validation stages whose `run` return value is
195
+ // the same shape: an array of structured processing-failure-context
196
+ // records. They emit failures via `ctx.addFailure` as the load-bearing
197
+ // channel; the array return is mirroring + downstream-readable.
198
+ export const ValidationStageOutputSchema = Type.Array(Type.Object({
199
+ code: Type.String(),
200
+ message: Type.String(),
201
+ context: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
202
+ }));
203
+ // -- Per-stage ids --
204
+ export const STAGE_IDS = {
205
+ segmentation: "segmentation",
206
+ claimMentionExtraction: "claim-mention-extraction",
207
+ citationSourceDetection: "citation-source-detection",
208
+ axiomIndicatorDetection: "axiom-indicator-detection",
209
+ claimCanonicalization: "claim-canonicalization",
210
+ claimTypeClassification: "claim-type-classification",
211
+ claimReferenceValidation: "claim-reference-validation",
212
+ variableAssignment: "variable-assignment",
213
+ relationExtraction: "relation-extraction",
214
+ conclusionSelection: "conclusion-selection",
215
+ formulaCompilation: "formula-compilation",
216
+ formulaValidation: "formula-validation",
217
+ };
218
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type TSegmentationOutput } from "./schemas.js";
2
+ import type { TStage } from "../../../lib/pipelines/types.js";
3
+ export declare const SEGMENTATION_MODEL = "gpt-5.4-mini";
4
+ export declare const SEGMENTATION_SYSTEM_PROMPT = "You are the first stage of an argument-ingestion pipeline. Your job is to split the supplied input text into a list of segments.\n\nReturn an object with a single key `segments` whose value is the array of segments.\n\nA segment is a sentence-or-thereabouts span of text \u2014 a self-contained clause that a human could read on its own. Sentence-final punctuation usually marks segment boundaries; bullet items in a list count as separate segments; multi-clause sentences split into one segment per major clause when the clauses each carry their own assertion.\n\nAssign each segment a short stable id like \"s1\", \"s2\", ... in left-to-right order, copy the segment's text verbatim (no rewriting), and record the character \"span\" as an object with \"start\" (inclusive) and \"end\" (exclusive) character offsets into the input. Whitespace between segments is owned by neither segment.\n\nCover the input completely: every non-whitespace character must fall inside some segment's span. Do not invent text. Do not classify segments \u2014 that is a later stage's job.";
5
+ export declare const segmentationStage: TStage<TSegmentationOutput>;
6
+ //# sourceMappingURL=segmentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentation.d.ts","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/segmentation.ts"],"names":[],"mappings":"AAYA,OAAO,EAGH,KAAK,mBAAmB,EAC3B,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,iCAAiC,CAAA;AAG5E,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAEhD,eAAO,MAAM,0BAA0B,mjCAQsI,CAAA;AAY7K,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAOpD,CAAA"}
@@ -0,0 +1,37 @@
1
+ // `segmentation` — first stage of the v2 multi-stage ingestion
2
+ // pipeline. Splits the raw input text into segments (sentences or
3
+ // sentence-like chunks) and emits a stable `segmentId` per segment
4
+ // plus the text + character span.
5
+ //
6
+ // Why this lives in its own stage: downstream stages key their
7
+ // extractions to `segmentId`s rather than to character offsets, so
8
+ // extraction outputs survive small text edits if the segment ids are
9
+ // stable. Splitting is also a cheap-tier task; running it as its own
10
+ // stage prevents the larger downstream stages from burning tokens on
11
+ // the same job.
12
+ import { STAGE_IDS, SegmentationOutputSchema, } from "./schemas.js";
13
+ import { llmStage } from "../../../lib/pipelines/stage-helpers.js";
14
+ export const SEGMENTATION_MODEL = "gpt-5.4-mini";
15
+ export const SEGMENTATION_SYSTEM_PROMPT = `You are the first stage of an argument-ingestion pipeline. Your job is to split the supplied input text into a list of segments.
16
+
17
+ Return an object with a single key \`segments\` whose value is the array of segments.
18
+
19
+ A segment is a sentence-or-thereabouts span of text — a self-contained clause that a human could read on its own. Sentence-final punctuation usually marks segment boundaries; bullet items in a list count as separate segments; multi-clause sentences split into one segment per major clause when the clauses each carry their own assertion.
20
+
21
+ Assign each segment a short stable id like "s1", "s2", ... in left-to-right order, copy the segment's text verbatim (no rewriting), and record the character "span" as an object with "start" (inclusive) and "end" (exclusive) character offsets into the input. Whitespace between segments is owned by neither segment.
22
+
23
+ Cover the input completely: every non-whitespace character must fall inside some segment's span. Do not invent text. Do not classify segments — that is a later stage's job.`;
24
+ function buildSegmentationPrompt(ctx) {
25
+ const input = ctx.input;
26
+ const markedSystem = `<!-- stage-id: ${STAGE_IDS.segmentation} -->\n${SEGMENTATION_SYSTEM_PROMPT}`;
27
+ const user = `Input text:\n\n${input.text}`;
28
+ return { system: markedSystem, user };
29
+ }
30
+ export const segmentationStage = llmStage({
31
+ id: STAGE_IDS.segmentation,
32
+ dependsOn: [],
33
+ outputSchema: SegmentationOutputSchema,
34
+ model: SEGMENTATION_MODEL,
35
+ buildPrompt: buildSegmentationPrompt,
36
+ });
37
+ //# sourceMappingURL=segmentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentation.js","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/segmentation.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kEAAkE;AAClE,mEAAmE;AACnE,kCAAkC;AAClC,EAAE;AACF,+DAA+D;AAC/D,mEAAmE;AACnE,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,gBAAgB;AAEhB,OAAO,EACH,SAAS,EACT,wBAAwB,GAE3B,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAA;AAIlE,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAA;AAEhD,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;6KAQmI,CAAA;AAE7K,SAAS,uBAAuB,CAAC,GAAkB;IAI/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAwB,CAAA;IAC1C,MAAM,YAAY,GAAG,kBAAkB,SAAS,CAAC,YAAY,SAAS,0BAA0B,EAAE,CAAA;IAClG,MAAM,IAAI,GAAG,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAA;IAC3C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAC1B,QAAQ,CAAsB;IAC1B,EAAE,EAAE,SAAS,CAAC,YAAY;IAC1B,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,wBAAwB;IACtC,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,uBAAuB;CACvC,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { type TClaimCanonicalizationOutput, type TVariableAssignmentOutput } from "./schemas.js";
2
+ import type { TStage } from "../../../lib/pipelines/types.js";
3
+ export declare function isValidVariableSymbol(symbol: string): boolean;
4
+ export type TAssignVariablesInput = {
5
+ canonicalClaims: TClaimCanonicalizationOutput["canonicalClaims"];
6
+ generateId: () => string;
7
+ };
8
+ /**
9
+ * Pure helper exposed for direct unit testing. The `variable-assignment`
10
+ * stage is a thin wrapper that reads `ctx.get(claim-canonicalization)`
11
+ * and calls this function with `ctx.generateId`.
12
+ */
13
+ export declare function assignVariables(input: TAssignVariablesInput): TVariableAssignmentOutput;
14
+ export declare const variableAssignmentStage: TStage<TVariableAssignmentOutput>;
15
+ //# sourceMappingURL=variable-assignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-assignment.d.ts","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/variable-assignment.ts"],"names":[],"mappings":"AAwBA,OAAO,EAIH,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EACjC,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAI7D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,eAAe,EAAE,4BAA4B,CAAC,iBAAiB,CAAC,CAAA;IAChE,UAAU,EAAE,MAAM,MAAM,CAAA;CAC3B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,qBAAqB,GAC7B,yBAAyB,CA0B3B;AAED,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAoBhE,CAAA"}
@@ -0,0 +1,84 @@
1
+ // `variable-assignment` — deterministic stage that mints one
2
+ // `TParsedVariable`-shaped record per canonical claim.
3
+ //
4
+ // Behavior (spec §7.2 row 8):
5
+ // 1. Read `claim-canonicalization.canonicalClaims` (in canonicalization
6
+ // order).
7
+ // 2. For each claim, attempt to use its `suggestedSymbol` as the
8
+ // variable symbol. The symbol is valid iff it matches the regex
9
+ // `/^[a-zA-Z_][a-zA-Z0-9_]{0,31}$/` AND is unique among already-
10
+ // assigned variable symbols.
11
+ // 3. If the suggested symbol is invalid or already used, fall back to
12
+ // `p1`, `p2`, `p3`, ... where the integer is the smallest one not
13
+ // already used by any valid suggested symbol or earlier fallback.
14
+ // 4. Mint a fresh variable `miniId` (separate from the claim's
15
+ // `miniId`) via `ctx.generateId` for each output record. Tests use
16
+ // a deterministic stub generator that produces `v1`, `v2`, ...
17
+ //
18
+ // The framework default `ctx.generateId` is `crypto.randomUUID()`; the
19
+ // recording-replay tests inject a deterministic counter so the
20
+ // recorded fixtures stay stable.
21
+ //
22
+ // Errors / failures: this stage never throws and emits no
23
+ // `ProcessingFailure`s. Empty input simply yields an empty array.
24
+ import { STAGE_IDS, VariableAssignmentOutputSchema, } from "./schemas.js";
25
+ import { deterministicStage } from "../../../lib/pipelines/stage-helpers.js";
26
+ const SYMBOL_REGEX = /^[a-zA-Z_][a-zA-Z0-9_]{0,31}$/;
27
+ export function isValidVariableSymbol(symbol) {
28
+ if (symbol.length === 0)
29
+ return false;
30
+ if (symbol.length > 32)
31
+ return false;
32
+ return SYMBOL_REGEX.test(symbol);
33
+ }
34
+ /**
35
+ * Pure helper exposed for direct unit testing. The `variable-assignment`
36
+ * stage is a thin wrapper that reads `ctx.get(claim-canonicalization)`
37
+ * and calls this function with `ctx.generateId`.
38
+ */
39
+ export function assignVariables(input) {
40
+ const out = [];
41
+ const usedSymbols = new Set();
42
+ let fallbackCounter = 1;
43
+ for (const claim of input.canonicalClaims) {
44
+ let symbol;
45
+ const suggested = claim.suggestedSymbol;
46
+ if (isValidVariableSymbol(suggested) && !usedSymbols.has(suggested)) {
47
+ symbol = suggested;
48
+ }
49
+ else {
50
+ // Walk fallback counter to the next unused `p<n>`.
51
+ while (usedSymbols.has(`p${fallbackCounter}`)) {
52
+ fallbackCounter += 1;
53
+ }
54
+ symbol = `p${fallbackCounter}`;
55
+ fallbackCounter += 1;
56
+ }
57
+ usedSymbols.add(symbol);
58
+ out.push({
59
+ miniId: input.generateId(),
60
+ symbol,
61
+ claimMiniId: claim.miniId,
62
+ });
63
+ }
64
+ return out;
65
+ }
66
+ export const variableAssignmentStage = deterministicStage({
67
+ id: STAGE_IDS.variableAssignment,
68
+ dependsOn: [STAGE_IDS.claimCanonicalization],
69
+ outputSchema: VariableAssignmentOutputSchema,
70
+ fn: (ctx) => {
71
+ const canon = ctx.get(STAGE_IDS.claimCanonicalization);
72
+ if (!canon) {
73
+ // Required dep — executor wouldn't have scheduled us
74
+ // without it. Defensive: empty array if it somehow
75
+ // arrived.
76
+ return [];
77
+ }
78
+ return assignVariables({
79
+ canonicalClaims: canon.canonicalClaims,
80
+ generateId: ctx.generateId,
81
+ });
82
+ },
83
+ });
84
+ //# sourceMappingURL=variable-assignment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-assignment.js","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/variable-assignment.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,uDAAuD;AACvD,EAAE;AACF,8BAA8B;AAC9B,0EAA0E;AAC1E,eAAe;AACf,mEAAmE;AACnE,qEAAqE;AACrE,sEAAsE;AACtE,kCAAkC;AAClC,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,iEAAiE;AACjE,wEAAwE;AACxE,oEAAoE;AACpE,EAAE;AACF,uEAAuE;AACvE,+DAA+D;AAC/D,iCAAiC;AACjC,EAAE;AACF,0DAA0D;AAC1D,kEAAkE;AAElE,OAAO,EACH,SAAS,EACT,8BAA8B,GAIjC,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAG5E,MAAM,YAAY,GAAG,+BAA+B,CAAA;AAEpD,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAA;IACpC,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACpC,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC3B,KAA4B;IAE5B,MAAM,GAAG,GAAwB,EAAE,CAAA;IACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IACrC,IAAI,eAAe,GAAG,CAAC,CAAA;IAEvB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,MAAc,CAAA;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAA;QACvC,IAAI,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,MAAM,GAAG,SAAS,CAAA;QACtB,CAAC;aAAM,CAAC;YACJ,mDAAmD;YACnD,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,EAAE,CAAC;gBAC5C,eAAe,IAAI,CAAC,CAAA;YACxB,CAAC;YACD,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;YAC9B,eAAe,IAAI,CAAC,CAAA;QACxB,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACvB,GAAG,CAAC,IAAI,CAAC;YACL,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE;YAC1B,MAAM;YACN,WAAW,EAAE,KAAK,CAAC,MAAM;SAC5B,CAAC,CAAA;IACN,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAChC,kBAAkB,CAA4B;IAC1C,EAAE,EAAE,SAAS,CAAC,kBAAkB;IAChC,SAAS,EAAE,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAC5C,YAAY,EAAE,8BAA8B;IAC5C,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;QACR,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CACjB,SAAS,CAAC,qBAAqB,CAClC,CAAA;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,qDAAqD;YACrD,mDAAmD;YACnD,WAAW;YACX,OAAO,EAAE,CAAA;QACb,CAAC;QACD,OAAO,eAAe,CAAC;YACnB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,UAAU,EAAE,GAAG,CAAC,UAAU;SAC7B,CAAC,CAAA;IACN,CAAC;CACJ,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { TPipeline } from "../../lib/pipelines/index.js";
2
+ import type { TParsedArgumentResponse } from "../../lib/parsing/index.js";
3
+ import type { TIngestionExtension, TIngestionInput } from "./shared/types.js";
4
+ /**
5
+ * Build the v2 multi-stage ingestion pipeline for the supplied
6
+ * extension. Returns a `TPipeline` whose stages match the 12-stage
7
+ * DAG defined in spec §7.2 and whose `finalize` assembles the same
8
+ * `TParsedArgumentResponse` shape `ArgumentParser.build()` consumes.
9
+ *
10
+ * The factory is pure: it constructs stage values + a pipeline
11
+ * descriptor and returns immediately. Stage execution happens inside
12
+ * `executePipeline`.
13
+ */
14
+ export declare function createIngestionV2Pipeline(extension: TIngestionExtension): TPipeline<TIngestionInput, TParsedArgumentResponse>;
15
+ //# sourceMappingURL=v2-multi-stage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2-multi-stage.d.ts","sourceRoot":"","sources":["../../../src/extensions/argument-ingestion/v2-multi-stage.ts"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAS7E;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,mBAAmB,GAC/B,SAAS,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAyCrD"}
@@ -0,0 +1,91 @@
1
+ // v2 multi-stage ingestion pipeline.
2
+ //
3
+ // Composes the 12 stages defined under `./stages/` into a single
4
+ // `TPipeline<TIngestionInput, TParsedArgumentResponse>` whose `finalize`
5
+ // assembles the same response shape v1 emits. Same output shape +
6
+ // extension parameterization as `createIngestionV1Pipeline` — consumers
7
+ // can swap the two factories without changing downstream parsing.
8
+ //
9
+ // DAG (spec §7.2):
10
+ //
11
+ // segmentation
12
+ // ├── claim-mention-extraction ─→ claim-canonicalization ─┐
13
+ // ├── citation-source-detection ─────────────────────────┤
14
+ // ├── axiom-indicator-detection ─────────────────────────┤
15
+ // │ │
16
+ // │ ┌─ claim-type-classification ─────────────────────┐│
17
+ // │ ├─ claim-reference-validation ││
18
+ // │ └─ variable-assignment ││
19
+ // │ ↓↓
20
+ // │ relation-extraction
21
+ // │ │
22
+ // │ conclusion-selection
23
+ // │ │
24
+ // │ formula-compilation
25
+ // │ │
26
+ // │ formula-validation
27
+ // └──────────────────────────────────────────────── finalize
28
+ //
29
+ // 4 deterministic stages (claim-reference-validation, variable-assignment,
30
+ // formula-compilation, formula-validation) + 8 LLM stages.
31
+ import Type from "typebox";
32
+ import { STAGE_IDS, axiomIndicatorDetectionStage, citationSourceDetectionStage, claimMentionExtractionStage, claimReferenceValidationStage, claimTypeClassificationStage, conclusionSelectionStage, createClaimCanonicalizationStage, formulaCompilationStage, formulaValidationStage, relationExtractionStage, segmentationStage, variableAssignmentStage, } from "./stages/index.js";
33
+ import { optional } from "../../lib/pipelines/index.js";
34
+ import { finalizeResponseV2 } from "./shared/finalize-response-v2.js";
35
+ const PIPELINE_ID = "argument-ingestion-v2";
36
+ const PIPELINE_VERSION = "1.0.0";
37
+ const INGESTION_INPUT_SCHEMA = Type.Object({
38
+ text: Type.String({ minLength: 1 }),
39
+ });
40
+ /**
41
+ * Build the v2 multi-stage ingestion pipeline for the supplied
42
+ * extension. Returns a `TPipeline` whose stages match the 12-stage
43
+ * DAG defined in spec §7.2 and whose `finalize` assembles the same
44
+ * `TParsedArgumentResponse` shape `ArgumentParser.build()` consumes.
45
+ *
46
+ * The factory is pure: it constructs stage values + a pipeline
47
+ * descriptor and returns immediately. Stage execution happens inside
48
+ * `executePipeline`.
49
+ */
50
+ export function createIngestionV2Pipeline(extension) {
51
+ const canonicalizationStage = createClaimCanonicalizationStage(extension);
52
+ const stages = [
53
+ segmentationStage,
54
+ claimMentionExtractionStage,
55
+ citationSourceDetectionStage,
56
+ axiomIndicatorDetectionStage,
57
+ canonicalizationStage,
58
+ claimTypeClassificationStage,
59
+ claimReferenceValidationStage,
60
+ variableAssignmentStage,
61
+ relationExtractionStage,
62
+ conclusionSelectionStage,
63
+ formulaCompilationStage,
64
+ formulaValidationStage,
65
+ ];
66
+ return {
67
+ id: PIPELINE_ID,
68
+ version: PIPELINE_VERSION,
69
+ inputSchema: INGESTION_INPUT_SCHEMA,
70
+ // The pipeline's advertised `outputSchema` is the extension's
71
+ // raw `responseSchema` (the LLM-shaped response). Finalize
72
+ // also attaches a `processingFailures` slot at runtime; the
73
+ // asymmetry mirrors v1's contract.
74
+ outputSchema: extension.responseSchema,
75
+ stages,
76
+ finalize: {
77
+ dependsOn: [
78
+ STAGE_IDS.claimCanonicalization,
79
+ STAGE_IDS.variableAssignment,
80
+ STAGE_IDS.formulaCompilation,
81
+ optional(STAGE_IDS.claimTypeClassification),
82
+ optional(STAGE_IDS.relationExtraction),
83
+ optional(STAGE_IDS.conclusionSelection),
84
+ optional(STAGE_IDS.formulaValidation),
85
+ optional(STAGE_IDS.claimReferenceValidation),
86
+ ],
87
+ run: (ctx) => finalizeResponseV2({ ctx, extension }),
88
+ },
89
+ };
90
+ }
91
+ //# sourceMappingURL=v2-multi-stage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2-multi-stage.js","sourceRoot":"","sources":["../../../src/extensions/argument-ingestion/v2-multi-stage.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,iEAAiE;AACjE,yEAAyE;AACzE,kEAAkE;AAClE,wEAAwE;AACxE,kEAAkE;AAClE,EAAE;AACF,mBAAmB;AACnB,EAAE;AACF,iBAAiB;AACjB,gEAAgE;AAChE,+DAA+D;AAC/D,+DAA+D;AAC/D,+DAA+D;AAC/D,+DAA+D;AAC/D,+DAA+D;AAC/D,+DAA+D;AAC/D,+DAA+D;AAC/D,qEAAqE;AACrE,8DAA8D;AAC9D,sEAAsE;AACtE,8DAA8D;AAC9D,qEAAqE;AACrE,8DAA8D;AAC9D,oEAAoE;AACpE,iEAAiE;AACjE,EAAE;AACF,2EAA2E;AAC3E,2DAA2D;AAE3D,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EACH,SAAS,EACT,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,gCAAgC,EAChC,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,GAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAGrE,MAAM,WAAW,GAAG,uBAAuB,CAAA;AAC3C,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAEhC,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;CACtC,CAAC,CAAA;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACrC,SAA8B;IAE9B,MAAM,qBAAqB,GAAG,gCAAgC,CAAC,SAAS,CAAC,CAAA;IACzE,MAAM,MAAM,GAA+B;QACvC,iBAAiB;QACjB,2BAA2B;QAC3B,4BAA4B;QAC5B,4BAA4B;QAC5B,qBAAqB;QACrB,4BAA4B;QAC5B,6BAA6B;QAC7B,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;QACxB,uBAAuB;QACvB,sBAAsB;KACK,CAAA;IAE/B,OAAO;QACH,EAAE,EAAE,WAAW;QACf,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,sBAAsB;QACnC,8DAA8D;QAC9D,2DAA2D;QAC3D,4DAA4D;QAC5D,mCAAmC;QACnC,YAAY,EAAE,SAAS,CAAC,cAAc;QACtC,MAAM;QACN,QAAQ,EAAE;YACN,SAAS,EAAE;gBACP,SAAS,CAAC,qBAAqB;gBAC/B,SAAS,CAAC,kBAAkB;gBAC5B,SAAS,CAAC,kBAAkB;gBAC5B,QAAQ,CAAC,SAAS,CAAC,uBAAuB,CAAC;gBAC3C,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;gBACtC,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC;gBACvC,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACrC,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC;aAC/C;YACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;SACvD;KACJ,CAAA;AACL,CAAC"}
@@ -62,8 +62,8 @@ export type { TLlmProvider, TLlmRequest, TLlmResponse, TLlmTokenUsage, TLlmModel
62
62
  export { createOpenAiResponsesProvider } from "../extensions/openai/index.js";
63
63
  export type { TCreateOpenAiResponsesProviderOptions } from "../extensions/openai/index.js";
64
64
  export { NonRetryableLlmError, RateLimitLlmError, SchemaValidationLlmError, ToolLoopExhaustedError, TransientLlmError, } from "../extensions/openai/index.js";
65
- export { createIngestionV1Pipeline, basicsExtension, finalizeResponse, deriveRoles, } from "../extensions/argument-ingestion/index.js";
66
- export type { TCreateIngestionV1PipelineOptions, TIngestionExtension, TIngestionInput, TFinalizeResponseInput, TClaimRole, TDeriveRolesInput, } from "../extensions/argument-ingestion/index.js";
65
+ export { createIngestionV1Pipeline, createIngestionV2Pipeline, basicsExtension, finalizeResponse, finalizeResponseV2, FINALIZE_V2_FAILURE_TEXTS, deriveRoles, } from "../extensions/argument-ingestion/index.js";
66
+ export type { TCreateIngestionV1PipelineOptions, TIngestionExtension, TIngestionInput, TFinalizeResponseInput, TFinalizeResponseV2Input, TClaimRole, TDeriveRolesInput, } from "../extensions/argument-ingestion/index.js";
67
67
  export { InvalidArgumentStructureError, UnknownExpressionError, NotOperatorNotDecidableError, } from "./core/review-errors.js";
68
68
  export type { TNotOperatorNotDecidableReason } from "./core/review-errors.js";
69
69
  export { collectArgumentReferencedClaims } from "./core/review-helpers.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
package/dist/lib/index.js CHANGED
@@ -53,7 +53,7 @@ export { NonRetryableLlmError, RateLimitLlmError, SchemaValidationLlmError, Tool
53
53
  // consumers; the `@proposit/proposit-core/extensions/argument-ingestion`
54
54
  // subpath export (when added in slice 1D's package.json bump) gives
55
55
  // callers an alternate tree-shake-friendly path.
56
- export { createIngestionV1Pipeline, basicsExtension, finalizeResponse, deriveRoles, } from "../extensions/argument-ingestion/index.js";
56
+ export { createIngestionV1Pipeline, createIngestionV2Pipeline, basicsExtension, finalizeResponse, finalizeResponseV2, FINALIZE_V2_FAILURE_TEXTS, deriveRoles, } from "../extensions/argument-ingestion/index.js";
57
57
  export { InvalidArgumentStructureError, UnknownExpressionError, NotOperatorNotDecidableError, } from "./core/review-errors.js";
58
58
  export { collectArgumentReferencedClaims } from "./core/review-helpers.js";
59
59
  export { canonicalizeOperatorAssignments } from "./core/review-helpers.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proposit/proposit-core",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Core engine for building and manipulating propositional logic arguments.",
5
5
  "license": "MIT",
6
6
  "keywords": [