@proposit/proposit-core 1.7.2 → 1.9.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 (111) hide show
  1. package/dist/cli/commands/parse.d.ts.map +1 -1
  2. package/dist/cli/commands/parse.js +10 -11
  3. package/dist/cli/commands/parse.js.map +1 -1
  4. package/dist/cli/commands/repair.js +1 -1
  5. package/dist/cli/commands/repair.js.map +1 -1
  6. package/dist/cli/commands/validate.js +1 -1
  7. package/dist/cli/commands/validate.js.map +1 -1
  8. package/dist/cli/engine.js +4 -4
  9. package/dist/cli/engine.js.map +1 -1
  10. package/dist/cli/import.js +1 -1
  11. package/dist/cli/import.js.map +1 -1
  12. package/dist/cli/llm/index.js +2 -2
  13. package/dist/cli/llm/index.js.map +1 -1
  14. package/dist/extensions/argument-ingestion/shared/basics-extension.js +3 -3
  15. package/dist/extensions/argument-ingestion/shared/basics-extension.js.map +1 -1
  16. package/dist/extensions/argument-ingestion/shared/finalize-response-v2.d.ts.map +1 -1
  17. package/dist/extensions/argument-ingestion/shared/finalize-response-v2.js +1 -2
  18. package/dist/extensions/argument-ingestion/shared/finalize-response-v2.js.map +1 -1
  19. package/dist/extensions/argument-ingestion/shared/resolve-llm-stage-options.d.ts.map +1 -1
  20. package/dist/extensions/argument-ingestion/shared/resolve-llm-stage-options.js +11 -0
  21. package/dist/extensions/argument-ingestion/shared/resolve-llm-stage-options.js.map +1 -1
  22. package/dist/extensions/argument-ingestion/shared/types.d.ts +15 -2
  23. package/dist/extensions/argument-ingestion/shared/types.d.ts.map +1 -1
  24. package/dist/extensions/argument-ingestion/stages/axiom-indicator-detection.d.ts.map +1 -1
  25. package/dist/extensions/argument-ingestion/stages/axiom-indicator-detection.js +1 -0
  26. package/dist/extensions/argument-ingestion/stages/axiom-indicator-detection.js.map +1 -1
  27. package/dist/extensions/argument-ingestion/stages/citation-source-detection.d.ts.map +1 -1
  28. package/dist/extensions/argument-ingestion/stages/citation-source-detection.js +1 -0
  29. package/dist/extensions/argument-ingestion/stages/citation-source-detection.js.map +1 -1
  30. package/dist/extensions/argument-ingestion/stages/claim-canonicalization.d.ts.map +1 -1
  31. package/dist/extensions/argument-ingestion/stages/claim-canonicalization.js +1 -0
  32. package/dist/extensions/argument-ingestion/stages/claim-canonicalization.js.map +1 -1
  33. package/dist/extensions/argument-ingestion/stages/claim-mention-extraction.d.ts.map +1 -1
  34. package/dist/extensions/argument-ingestion/stages/claim-mention-extraction.js +1 -0
  35. package/dist/extensions/argument-ingestion/stages/claim-mention-extraction.js.map +1 -1
  36. package/dist/extensions/argument-ingestion/stages/claim-type-classification.d.ts.map +1 -1
  37. package/dist/extensions/argument-ingestion/stages/claim-type-classification.js +1 -0
  38. package/dist/extensions/argument-ingestion/stages/claim-type-classification.js.map +1 -1
  39. package/dist/extensions/argument-ingestion/stages/conclusion-selection.d.ts +12 -13
  40. package/dist/extensions/argument-ingestion/stages/conclusion-selection.d.ts.map +1 -1
  41. package/dist/extensions/argument-ingestion/stages/conclusion-selection.js +111 -39
  42. package/dist/extensions/argument-ingestion/stages/conclusion-selection.js.map +1 -1
  43. package/dist/extensions/argument-ingestion/stages/relation-extraction.d.ts.map +1 -1
  44. package/dist/extensions/argument-ingestion/stages/relation-extraction.js +1 -0
  45. package/dist/extensions/argument-ingestion/stages/relation-extraction.js.map +1 -1
  46. package/dist/extensions/argument-ingestion/stages/schemas.d.ts +6 -0
  47. package/dist/extensions/argument-ingestion/stages/schemas.d.ts.map +1 -1
  48. package/dist/extensions/argument-ingestion/stages/schemas.js +14 -0
  49. package/dist/extensions/argument-ingestion/stages/schemas.js.map +1 -1
  50. package/dist/extensions/argument-ingestion/stages/segmentation.d.ts.map +1 -1
  51. package/dist/extensions/argument-ingestion/stages/segmentation.js +1 -0
  52. package/dist/extensions/argument-ingestion/stages/segmentation.js.map +1 -1
  53. package/dist/extensions/argument-ingestion/v1-single-shot.d.ts.map +1 -1
  54. package/dist/extensions/argument-ingestion/v1-single-shot.js +14 -13
  55. package/dist/extensions/argument-ingestion/v1-single-shot.js.map +1 -1
  56. package/dist/extensions/openai/provider.d.ts.map +1 -1
  57. package/dist/extensions/openai/provider.js +5 -6
  58. package/dist/extensions/openai/provider.js.map +1 -1
  59. package/dist/extensions/openai/structured-output.js +3 -3
  60. package/dist/extensions/openai/structured-output.js.map +1 -1
  61. package/dist/lib/core/argument-engine.d.ts +7 -8
  62. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  63. package/dist/lib/core/argument-engine.js +36 -39
  64. package/dist/lib/core/argument-engine.js.map +1 -1
  65. package/dist/lib/core/expression-manager.d.ts +6 -6
  66. package/dist/lib/core/expression-manager.d.ts.map +1 -1
  67. package/dist/lib/core/expression-manager.js +35 -42
  68. package/dist/lib/core/expression-manager.js.map +1 -1
  69. package/dist/lib/core/fork-library.d.ts +1 -1
  70. package/dist/lib/core/fork-library.js +1 -1
  71. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +5 -7
  72. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
  73. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +6 -6
  74. package/dist/lib/core/premise-engine.js +9 -9
  75. package/dist/lib/core/premise-engine.js.map +1 -1
  76. package/dist/lib/grammar/an-rules.d.ts +24 -33
  77. package/dist/lib/grammar/an-rules.d.ts.map +1 -1
  78. package/dist/lib/grammar/an-rules.js +83 -114
  79. package/dist/lib/grammar/an-rules.js.map +1 -1
  80. package/dist/lib/grammar/auto-normalize.d.ts.map +1 -1
  81. package/dist/lib/grammar/auto-normalize.js +5 -6
  82. package/dist/lib/grammar/auto-normalize.js.map +1 -1
  83. package/dist/lib/grammar/bounded-subtree.d.ts.map +1 -1
  84. package/dist/lib/grammar/bounded-subtree.js +2 -3
  85. package/dist/lib/grammar/bounded-subtree.js.map +1 -1
  86. package/dist/lib/grammar/naked-q.js +4 -4
  87. package/dist/lib/grammar/naked-q.js.map +1 -1
  88. package/dist/lib/grammar/normalize.js +4 -4
  89. package/dist/lib/grammar/normalize.js.map +1 -1
  90. package/dist/lib/grammar/populate-from.d.ts.map +1 -1
  91. package/dist/lib/grammar/populate-from.js +3 -4
  92. package/dist/lib/grammar/populate-from.js.map +1 -1
  93. package/dist/lib/index.d.ts.map +1 -1
  94. package/dist/lib/index.js +1 -2
  95. package/dist/lib/index.js.map +1 -1
  96. package/dist/lib/llm/types.js +2 -2
  97. package/dist/lib/llm/types.js.map +1 -1
  98. package/dist/lib/parsing/argument-parser.js +1 -1
  99. package/dist/lib/parsing/argument-parser.js.map +1 -1
  100. package/dist/lib/pipelines/execute.js +1 -1
  101. package/dist/lib/pipelines/execute.js.map +1 -1
  102. package/dist/lib/pipelines/stage-helpers.d.ts +1 -1
  103. package/dist/lib/pipelines/stage-helpers.d.ts.map +1 -1
  104. package/dist/lib/pipelines/stage-helpers.js +31 -2
  105. package/dist/lib/pipelines/stage-helpers.js.map +1 -1
  106. package/dist/lib/pipelines/types.d.ts +16 -0
  107. package/dist/lib/pipelines/types.d.ts.map +1 -1
  108. package/dist/lib/types/fork.d.ts +1 -1
  109. package/dist/lib/types/validation.js +9 -9
  110. package/dist/lib/types/validation.js.map +1 -1
  111. package/package.json +1 -1
@@ -4,22 +4,21 @@ import type { TLlmStageOptionsOverride } from "../shared/types.js";
4
4
  export declare const CONCLUSION_SELECTION_MODEL = "gpt-5.5";
5
5
  export declare const CONCLUSION_SELECTION_REASONING: "minimal" | "low" | "medium" | "high";
6
6
  export declare const CONCLUSION_SELECTION_NO_CONCLUSION_FAILURE_CODE = "NO_SINGLE_CONCLUSION";
7
- export declare const CONCLUSION_SELECTION_SYSTEM_PROMPT = "You select the single conclusion claim of an argument from the canonical claim set and the relation graph.\n\nYou receive:\n- the per-claim type map (normal / citation / axiomatic)\n- the support relation graph from `relation-extraction`\n\nEmit:\n- `conclusionMiniId` \u2014 the canonical claim miniId of the conclusion, OR `null` when no single claim is clearly the conclusion\n- `rationale` \u2014 a one-sentence explanation of your pick (or your inability to pick one)\n\n## Selection rules\n\n1. The conclusion is the claim that no other claim is meant to support but is itself the terminus of one or more support edges. In a clean argument it's the \"therefore X\" claim.\n2. If multiple distinct claims are each terminal AND each could plausibly be THE point of the argument (genuinely ambiguous), return null with a rationale naming the contenders.\n3. Citation-typed and axiomatic-typed claims are never conclusions \u2014 they are always sources of support.\n4. If no claim is supported by any relation (a single-statement input), return null; there is no argument to select a conclusion from.\n\nThe default disposition is \"select\"; only return null when ambiguity is genuine. Forcing a wrong choice is worse than admitting \"no single conclusion could be selected\" \u2014 downstream stages handle the null cleanly.";
7
+ export declare const CONCLUSION_SELECTION_SYSTEM_PROMPT = "You select the conclusion claim of an argument from the canonical claim set and the relation graph.\n\nYou receive:\n- the per-claim type map (normal / citation / axiomatic)\n- the support relation graph from `relation-extraction`\n\nEmit:\n- `conclusionCandidates` \u2014 an array of canonical claim miniIds ordered by DECREASING confidence: the first element is your single best pick for the conclusion. Return exactly one when the conclusion is clear; return several (best first) only when multiple claims are genuinely plausible conclusions. Return an empty array ONLY when the input has no argument structure at all.\n- `rationale` \u2014 a one-sentence explanation of your ordering and best pick (or, for an empty array, why no claim is a conclusion)\n\n## Selection rules\n\n1. The conclusion is the claim that no other claim is meant to support but is itself the terminus of one or more support edges. In a clean argument it's the \"therefore X\" claim \u2014 list it first.\n2. When several distinct claims are each terminal and plausibly the point, include them all, ordered best first. Do not abstain just because more than one is plausible.\n3. Citation-typed and axiomatic-typed claims are never conclusions \u2014 never include them as candidates; they are always sources of support.\n4. If no claim is supported by any relation (a single-statement input), return an empty array; there is no argument to select a conclusion from.\n\nAlways name your best candidate first rather than abstaining. Only an input with no argument structure yields an empty array.";
8
8
  /** Internal default knobs for the conclusion-selection stage. */
9
9
  export declare const CONCLUSION_SELECTION_STAGE_DEFAULTS: TLlmStageOptionsOverride;
10
10
  /**
11
- * Build the conclusion-selection stage with optional caller
12
- * overrides. The stage wraps an inner `llmStage` so that when the LLM
13
- * returns `conclusionMiniId: null`, it also emits a
14
- * `ProcessingFailure` with code `NO_SINGLE_CONCLUSION` via
15
- * `ctx.addFailure` (spec §7.2 row 10). The stage still completes
16
- * successfullythe null output flows through `formula-compilation`
17
- * (which emits `conclusionPremiseMiniId: null`) into
18
- * `finalize-response-v2` (which assembles `{ argument: null,
19
- * failureText: "No single conclusion could be selected." }`). The
20
- * added failure is a UI-rendering hint, not a task-outcome signal;
21
- * severity is `warning` to match the informational-only role of
22
- * finalize's failureText path.
11
+ * Build the conclusion-selection stage with optional caller overrides.
12
+ * The inner `llmStage` asks the model for a confidence-ranked
13
+ * `conclusionCandidates` list (best first). The wrapper resolves a
14
+ * single `conclusionMiniId`: the first candidate that is a known normal
15
+ * claim, else a deterministic relation-graph fallback
16
+ * (`selectFallbackConclusion`), else null in which case it emits a
17
+ * `NO_SINGLE_CONCLUSION` `ProcessingFailure` (severity `warning`) that
18
+ * drives finalize's `{ argument: null, failureText: "No single
19
+ * conclusion could be selected." }`. The resolved id flows downstream to
20
+ * `formula-compilation`; the model's raw ranked list is preserved on the
21
+ * output for consumers that want to offer alternates.
23
22
  */
24
23
  export declare function createConclusionSelectionStage(options?: TLlmStageOptionsOverride): TStage<TConclusionSelectionOutput>;
25
24
  /** Backward-compatible default-options stage. */
@@ -1 +1 @@
1
- {"version":3,"file":"conclusion-selection.d.ts","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/conclusion-selection.ts"],"names":[],"mappings":"AAWA,OAAO,EAIH,KAAK,0BAA0B,EAElC,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,iCAAiC,CAAA;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAElE,eAAO,MAAM,0BAA0B,YAAY,CAAA;AACnD,eAAO,MAAM,8BAA8B,EACrC,SAAS,GACT,KAAK,GACL,QAAQ,GACR,MAAiB,CAAA;AAEvB,eAAO,MAAM,+CAA+C,yBAClC,CAAA;AAE1B,eAAO,MAAM,kCAAkC,szCAiBuK,CAAA;AA8BtN,iEAAiE;AACjE,eAAO,MAAM,mCAAmC,EAAE,wBAGjD,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC1C,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,0BAA0B,CAAC,CAkCpC;AAED,iDAAiD;AACjD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CACpC,CAAA"}
1
+ {"version":3,"file":"conclusion-selection.d.ts","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/conclusion-selection.ts"],"names":[],"mappings":"AAgBA,OAAO,EAOH,KAAK,0BAA0B,EAGlC,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,iCAAiC,CAAA;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAElE,eAAO,MAAM,0BAA0B,YAAY,CAAA;AACnD,eAAO,MAAM,8BAA8B,EACrC,SAAS,GACT,KAAK,GACL,QAAQ,GACR,MAAiB,CAAA;AAEvB,eAAO,MAAM,+CAA+C,yBAClC,CAAA;AAE1B,eAAO,MAAM,kCAAkC,yiDAiB+E,CAAA;AA8B9H,iEAAiE;AACjE,eAAO,MAAM,mCAAmC,EAAE,wBAGjD,CAAA;AA0DD;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC1C,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,0BAA0B,CAAC,CAqEpC;AAED,iDAAiD;AACjD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CACpC,CAAA"}
@@ -1,36 +1,41 @@
1
- // `conclusion-selection` — picks the single claim that is the
2
- // argument's conclusion (the proposition the argument is FOR). Returns
3
- // null when no single conclusion can be selected (multiple distinct
4
- // conclusions, no clear conclusion at all). The null path drives
5
- // `formula-compilation.conclusionPremiseMiniId === null` which in
6
- // turn drives finalize's "argument: null + failureText: 'No single
7
- // conclusion could be selected.'" per spec §7.5.
1
+ // `conclusion-selection` — chooses the claim that is the argument's
2
+ // conclusion (the proposition the argument is FOR). The model returns a
3
+ // confidence-ranked list of candidate claim miniIds (best first); the
4
+ // stage resolves a single `conclusionMiniId` from it the first viable
5
+ // candidate (a known normal claim), or a relation-graph fallback
6
+ // (highest-in-degree terminal) when the model returns none. It stays
7
+ // null only when there is no argument structure at all (no claims, or no
8
+ // support relations). A non-null id flows into `formula-compilation`,
9
+ // which mints the conclusion premise; a null id drives
10
+ // `formula-compilation.conclusionPremiseMiniId === null` and finalize's
11
+ // "argument: null + failureText: 'No single conclusion could be
12
+ // selected.'". The full ranked list rides along on the stage output for
13
+ // consumers that want to offer alternates.
8
14
  //
9
- // Per spec §6.4 this is a strong-reasoning stage: gpt-5.5 with
10
- // reasoning_effort=medium.
11
- import { STAGE_IDS, ConclusionSelectionOutputSchema, } from "./schemas.js";
15
+ // This is a strong-reasoning stage: gpt-5.5 with reasoning_effort=medium.
16
+ import { STAGE_IDS, ConclusionSelectionLlmOutputSchema, ConclusionSelectionOutputSchema, } from "./schemas.js";
12
17
  import { llmStage } from "../../../lib/pipelines/stage-helpers.js";
13
18
  export const CONCLUSION_SELECTION_MODEL = "gpt-5.5";
14
19
  export const CONCLUSION_SELECTION_REASONING = "medium";
15
20
  export const CONCLUSION_SELECTION_NO_CONCLUSION_FAILURE_CODE = "NO_SINGLE_CONCLUSION";
16
- export const CONCLUSION_SELECTION_SYSTEM_PROMPT = `You select the single conclusion claim of an argument from the canonical claim set and the relation graph.
21
+ export const CONCLUSION_SELECTION_SYSTEM_PROMPT = `You select the conclusion claim of an argument from the canonical claim set and the relation graph.
17
22
 
18
23
  You receive:
19
24
  - the per-claim type map (normal / citation / axiomatic)
20
25
  - the support relation graph from \`relation-extraction\`
21
26
 
22
27
  Emit:
23
- - \`conclusionMiniId\` — the canonical claim miniId of the conclusion, OR \`null\` when no single claim is clearly the conclusion
24
- - \`rationale\` — a one-sentence explanation of your pick (or your inability to pick one)
28
+ - \`conclusionCandidates\` — an array of canonical claim miniIds ordered by DECREASING confidence: the first element is your single best pick for the conclusion. Return exactly one when the conclusion is clear; return several (best first) only when multiple claims are genuinely plausible conclusions. Return an empty array ONLY when the input has no argument structure at all.
29
+ - \`rationale\` — a one-sentence explanation of your ordering and best pick (or, for an empty array, why no claim is a conclusion)
25
30
 
26
31
  ## Selection rules
27
32
 
28
- 1. The conclusion is the claim that no other claim is meant to support but is itself the terminus of one or more support edges. In a clean argument it's the "therefore X" claim.
29
- 2. If multiple distinct claims are each terminal AND each could plausibly be THE point of the argument (genuinely ambiguous), return null with a rationale naming the contenders.
30
- 3. Citation-typed and axiomatic-typed claims are never conclusions — they are always sources of support.
31
- 4. If no claim is supported by any relation (a single-statement input), return null; there is no argument to select a conclusion from.
33
+ 1. The conclusion is the claim that no other claim is meant to support but is itself the terminus of one or more support edges. In a clean argument it's the "therefore X" claim — list it first.
34
+ 2. When several distinct claims are each terminal and plausibly the point, include them all, ordered best first. Do not abstain just because more than one is plausible.
35
+ 3. Citation-typed and axiomatic-typed claims are never conclusions — never include them as candidates; they are always sources of support.
36
+ 4. If no claim is supported by any relation (a single-statement input), return an empty array; there is no argument to select a conclusion from.
32
37
 
33
- The default disposition is "select"; only return null when ambiguity is genuine. Forcing a wrong choice is worse than admitting "no single conclusion could be selected" — downstream stages handle the null cleanly.`;
38
+ Always name your best candidate first rather than abstaining. Only an input with no argument structure yields an empty array.`;
34
39
  function buildPrompt(ctx) {
35
40
  const typeEnvelope = ctx.get(STAGE_IDS.claimTypeClassification);
36
41
  const classifications = typeEnvelope?.classifications ?? [];
@@ -45,7 +50,7 @@ function buildPrompt(ctx) {
45
50
  .join("\n")
46
51
  : " (no relations)";
47
52
  const markedSystem = `<!-- stage-id: ${STAGE_IDS.conclusionSelection} -->\n${CONCLUSION_SELECTION_SYSTEM_PROMPT}`;
48
- const user = `Per-claim types:\n${typeLines}\n\nRelations:\n${relationLines}\n\nSelect the conclusion (or return null).`;
53
+ const user = `Per-claim types:\n${typeLines}\n\nRelations:\n${relationLines}\n\nList the conclusion candidate miniIds, best first (empty array only if there is no argument).`;
49
54
  return { system: markedSystem, user };
50
55
  }
51
56
  /** Internal default knobs for the conclusion-selection stage. */
@@ -54,18 +59,64 @@ export const CONCLUSION_SELECTION_STAGE_DEFAULTS = {
54
59
  reasoningEffort: CONCLUSION_SELECTION_REASONING,
55
60
  };
56
61
  /**
57
- * Build the conclusion-selection stage with optional caller
58
- * overrides. The stage wraps an inner `llmStage` so that when the LLM
59
- * returns `conclusionMiniId: null`, it also emits a
60
- * `ProcessingFailure` with code `NO_SINGLE_CONCLUSION` via
61
- * `ctx.addFailure` (spec §7.2 row 10). The stage still completes
62
- * successfully the null output flows through `formula-compilation`
63
- * (which emits `conclusionPremiseMiniId: null`) into
64
- * `finalize-response-v2` (which assembles `{ argument: null,
65
- * failureText: "No single conclusion could be selected." }`). The
66
- * added failure is a UI-rendering hint, not a task-outcome signal;
67
- * severity is `warning` to match the informational-only role of
68
- * finalize's failureText path.
62
+ * Pick a conclusion deterministically from the relation graph when the
63
+ * model abstains. A candidate is a `normal`-typed claim that is the
64
+ * target of at least one support relation. Pure sinks (a target that
65
+ * supports nothing else) are preferred — the textbook "therefore X"
66
+ * terminus; when none exists (e.g. a support cycle) any supported normal
67
+ * claim is eligible. The winner has the highest in-degree, ties broken
68
+ * by document order (earliest appearance in the claim-type list) so the
69
+ * pick is stable across runs. Returns null when no candidate exists —
70
+ * there is no argument to draw a conclusion from.
71
+ */
72
+ function selectFallbackConclusion(classifications, relations) {
73
+ if (relations.length === 0)
74
+ return null;
75
+ const documentOrder = new Map();
76
+ classifications.forEach((entry, index) => {
77
+ if (!documentOrder.has(entry.miniId)) {
78
+ documentOrder.set(entry.miniId, index);
79
+ }
80
+ });
81
+ const normalMiniIds = new Set(classifications
82
+ .filter((entry) => entry.type === "normal")
83
+ .map((entry) => entry.miniId));
84
+ const sourceMiniIds = new Set();
85
+ const inDegree = new Map();
86
+ for (const relation of relations) {
87
+ for (const source of relation.sources)
88
+ sourceMiniIds.add(source);
89
+ inDegree.set(relation.target, (inDegree.get(relation.target) ?? 0) + 1);
90
+ }
91
+ const supportedNormals = [...inDegree.keys()].filter((miniId) => normalMiniIds.has(miniId));
92
+ const pureSinks = supportedNormals.filter((miniId) => !sourceMiniIds.has(miniId));
93
+ const pool = pureSinks.length > 0 ? pureSinks : supportedNormals;
94
+ if (pool.length === 0)
95
+ return null;
96
+ return pool.reduce((best, miniId) => {
97
+ const bestDegree = inDegree.get(best) ?? 0;
98
+ const degree = inDegree.get(miniId) ?? 0;
99
+ if (degree > bestDegree)
100
+ return miniId;
101
+ if (degree < bestDegree)
102
+ return best;
103
+ const bestOrder = documentOrder.get(best) ?? Number.MAX_SAFE_INTEGER;
104
+ const order = documentOrder.get(miniId) ?? Number.MAX_SAFE_INTEGER;
105
+ return order < bestOrder ? miniId : best;
106
+ });
107
+ }
108
+ /**
109
+ * Build the conclusion-selection stage with optional caller overrides.
110
+ * The inner `llmStage` asks the model for a confidence-ranked
111
+ * `conclusionCandidates` list (best first). The wrapper resolves a
112
+ * single `conclusionMiniId`: the first candidate that is a known normal
113
+ * claim, else a deterministic relation-graph fallback
114
+ * (`selectFallbackConclusion`), else null — in which case it emits a
115
+ * `NO_SINGLE_CONCLUSION` `ProcessingFailure` (severity `warning`) that
116
+ * drives finalize's `{ argument: null, failureText: "No single
117
+ * conclusion could be selected." }`. The resolved id flows downstream to
118
+ * `formula-compilation`; the model's raw ranked list is preserved on the
119
+ * output for consumers that want to offer alternates.
69
120
  */
70
121
  export function createConclusionSelectionStage(options) {
71
122
  const innerStage = llmStage({
@@ -74,29 +125,50 @@ export function createConclusionSelectionStage(options) {
74
125
  STAGE_IDS.claimTypeClassification,
75
126
  STAGE_IDS.relationExtraction,
76
127
  ],
77
- outputSchema: ConclusionSelectionOutputSchema,
128
+ outputSchema: ConclusionSelectionLlmOutputSchema,
78
129
  model: options?.model ?? CONCLUSION_SELECTION_MODEL,
79
130
  maxOutputTokens: options?.maxOutputTokens,
80
131
  reasoningEffort: options?.reasoningEffort ?? CONCLUSION_SELECTION_REASONING,
132
+ retry: options?.retry,
81
133
  buildPrompt,
82
134
  });
83
135
  return {
84
136
  id: innerStage.id,
85
137
  dependsOn: innerStage.dependsOn,
86
- outputSchema: innerStage.outputSchema,
138
+ outputSchema: ConclusionSelectionOutputSchema,
87
139
  run: async (ctx) => {
88
- const output = await innerStage.run(ctx);
89
- if (output.conclusionMiniId === null) {
140
+ const llmOutput = await innerStage.run(ctx);
141
+ const classifications = ctx.get(STAGE_IDS.claimTypeClassification)?.classifications ?? [];
142
+ const relations = ctx.get(STAGE_IDS.relationExtraction)
143
+ ?.relations ?? [];
144
+ // A conclusion must be a normal claim (rule 3). Take the
145
+ // model's highest-confidence candidate that qualifies; if it
146
+ // named none that resolve, fall back to the relation graph;
147
+ // only then concede there is no conclusion.
148
+ const normalMiniIds = new Set(classifications
149
+ .filter((entry) => entry.type === "normal")
150
+ .map((entry) => entry.miniId));
151
+ const modelPick = llmOutput.conclusionCandidates.find((miniId) => normalMiniIds.has(miniId)) ?? null;
152
+ const conclusionMiniId = modelPick ??
153
+ selectFallbackConclusion(classifications, relations);
154
+ const usedGraphFallback = modelPick === null && conclusionMiniId !== null;
155
+ if (conclusionMiniId === null) {
90
156
  ctx.addFailure({
91
157
  code: CONCLUSION_SELECTION_NO_CONCLUSION_FAILURE_CODE,
92
- message: output.rationale.length > 0
93
- ? output.rationale
158
+ message: llmOutput.rationale.length > 0
159
+ ? llmOutput.rationale
94
160
  : "No single conclusion could be selected.",
95
161
  severity: "warning",
96
- context: { rationale: output.rationale },
162
+ context: { rationale: llmOutput.rationale },
97
163
  });
98
164
  }
99
- return output;
165
+ return {
166
+ conclusionMiniId,
167
+ conclusionCandidates: llmOutput.conclusionCandidates,
168
+ rationale: usedGraphFallback
169
+ ? `Auto-selected ${conclusionMiniId} from the relation graph (the model named no usable candidate).`
170
+ : llmOutput.rationale,
171
+ };
100
172
  },
101
173
  };
102
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conclusion-selection.js","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/conclusion-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conclusion-selection.js","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/conclusion-selection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relation-extraction.d.ts","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/relation-extraction.ts"],"names":[],"mappings":"AASA,OAAO,EAMH,KAAK,yBAAyB,EAEjC,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,iCAAiC,CAAA;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAElE,eAAO,MAAM,yBAAyB,YAAY,CAAA;AAClD,eAAO,MAAM,6BAA6B,EACpC,SAAS,GACT,KAAK,GACL,QAAQ,GACR,MAAe,CAAA;AAErB,eAAO,MAAM,iCAAiC,6lEAuBqB,CAAA;AAuCnE,gEAAgE;AAChE,eAAO,MAAM,kCAAkC,EAAE,wBAGhD,CAAA;AAED,0EAA0E;AAC1E,wBAAgB,6BAA6B,CACzC,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,yBAAyB,CAAC,CAenC;AAED,iDAAiD;AACjD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CACnC,CAAA"}
1
+ {"version":3,"file":"relation-extraction.d.ts","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/relation-extraction.ts"],"names":[],"mappings":"AASA,OAAO,EAMH,KAAK,yBAAyB,EAEjC,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,iCAAiC,CAAA;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAElE,eAAO,MAAM,yBAAyB,YAAY,CAAA;AAClD,eAAO,MAAM,6BAA6B,EACpC,SAAS,GACT,KAAK,GACL,QAAQ,GACR,MAAe,CAAA;AAErB,eAAO,MAAM,iCAAiC,6lEAuBqB,CAAA;AAuCnE,gEAAgE;AAChE,eAAO,MAAM,kCAAkC,EAAE,wBAGhD,CAAA;AAED,0EAA0E;AAC1E,wBAAgB,6BAA6B,CACzC,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,yBAAyB,CAAC,CAgBnC;AAED,iDAAiD;AACjD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CACnC,CAAA"}
@@ -80,6 +80,7 @@ export function createRelationExtractionStage(options) {
80
80
  model: options?.model ?? RELATION_EXTRACTION_MODEL,
81
81
  maxOutputTokens: options?.maxOutputTokens,
82
82
  reasoningEffort: options?.reasoningEffort ?? RELATION_EXTRACTION_REASONING,
83
+ retry: options?.retry,
83
84
  buildPrompt,
84
85
  });
85
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relation-extraction.js","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/relation-extraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation-extraction.js","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/relation-extraction.ts"],"names":[],"mappings":"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"}
@@ -120,8 +120,14 @@ export declare const RelationExtractionOutputSchema: Type.TObject<{
120
120
  }>;
121
121
  export type TRelationExtractionOutput = Static<typeof RelationExtractionOutputSchema>;
122
122
  export type TRelation = TRelationExtractionOutput["relations"][number];
123
+ export declare const ConclusionSelectionLlmOutputSchema: Type.TObject<{
124
+ conclusionCandidates: Type.TArray<Type.TString>;
125
+ rationale: Type.TString;
126
+ }>;
127
+ export type TConclusionSelectionLlmOutput = Static<typeof ConclusionSelectionLlmOutputSchema>;
123
128
  export declare const ConclusionSelectionOutputSchema: Type.TObject<{
124
129
  conclusionMiniId: Type.TUnion<[Type.TString, Type.TNull]>;
130
+ conclusionCandidates: Type.TArray<Type.TString>;
125
131
  rationale: Type.TString;
126
132
  }>;
127
133
  export type TConclusionSelectionOutput = Static<typeof ConclusionSelectionOutputSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/schemas.ts"],"names":[],"mappings":"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"}
@@ -168,8 +168,22 @@ export const RelationExtractionOutputSchema = Type.Object({
168
168
  })),
169
169
  });
170
170
  // -- Stage 10: conclusion-selection --
171
+ // What the model returns: a confidence-ranked list of candidate
172
+ // conclusion claim miniIds, best first. Ideally one; more when several
173
+ // claims are plausibly the conclusion. Empty only when the input has no
174
+ // argument structure to draw a conclusion from.
175
+ export const ConclusionSelectionLlmOutputSchema = Type.Object({
176
+ conclusionCandidates: Type.Array(Type.String()),
177
+ rationale: Type.String(),
178
+ });
179
+ // The stage's downstream-visible output: `conclusionMiniId` is the
180
+ // resolved single pick (the first viable candidate, a relation-graph
181
+ // fallback when the model returns none, or null when no claim
182
+ // qualifies), while `conclusionCandidates` carries the model's full
183
+ // ranked list for consumers that want to offer alternates.
171
184
  export const ConclusionSelectionOutputSchema = Type.Object({
172
185
  conclusionMiniId: Type.Union([Type.String(), Type.Null()]),
186
+ conclusionCandidates: Type.Array(Type.String()),
173
187
  rationale: Type.String(),
174
188
  });
175
189
  // -- Stage 11: formula-compilation --
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/extensions/argument-ingestion/stages/schemas.ts"],"names":[],"mappings":"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"}
@@ -1 +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;AAC5E,OAAO,KAAK,EAER,wBAAwB,EAC3B,MAAM,oBAAoB,CAAA;AAE3B,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAqBhD,eAAO,MAAM,8BAA8B,OAAO,CAAA;AAElD,eAAO,MAAM,0BAA0B,mjCAQsI,CAAA;AAY7K;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,wBAGzC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,mBAAmB,CAAC,CAW7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAC7B,CAAA"}
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;AAC5E,OAAO,KAAK,EAER,wBAAwB,EAC3B,MAAM,oBAAoB,CAAA;AAE3B,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAqBhD,eAAO,MAAM,8BAA8B,OAAO,CAAA;AAElD,eAAO,MAAM,0BAA0B,mjCAQsI,CAAA;AAY7K;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,wBAGzC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,CAAC,EAAE,wBAAwB,GACnC,MAAM,CAAC,mBAAmB,CAAC,CAY7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAC7B,CAAA"}
@@ -69,6 +69,7 @@ export function createSegmentationStage(options) {
69
69
  model: options?.model ?? SEGMENTATION_MODEL,
70
70
  maxOutputTokens: options?.maxOutputTokens ?? SEGMENTATION_MAX_OUTPUT_TOKENS,
71
71
  reasoningEffort: options?.reasoningEffort,
72
+ retry: options?.retry,
72
73
  buildPrompt: buildSegmentationPrompt,
73
74
  });
74
75
  }
@@ -1 +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;AAOlE,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAA;AAEhD,2DAA2D;AAC3D,oEAAoE;AACpE,kEAAkE;AAClE,0DAA0D;AAC1D,oEAAoE;AACpE,+DAA+D;AAC/D,sDAAsD;AACtD,iEAAiE;AACjE,kEAAkE;AAClE,+DAA+D;AAC/D,+DAA+D;AAC/D,qEAAqE;AACrE,oEAAoE;AACpE,wCAAwC;AACxC,EAAE;AACF,kEAAkE;AAClE,8DAA8D;AAC9D,qDAAqD;AACrD,qBAAqB;AACrB,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAA;AAElD,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;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA6B;IACjE,KAAK,EAAE,kBAAkB;IACzB,eAAe,EAAE,8BAA8B;CAClD,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACnC,OAAkC;IAElC,OAAO,QAAQ,CAAsB;QACjC,EAAE,EAAE,SAAS,CAAC,YAAY;QAC1B,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,wBAAwB;QACtC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,kBAAkB;QAC3C,eAAe,EACX,OAAO,EAAE,eAAe,IAAI,8BAA8B;QAC9D,eAAe,EAAE,OAAO,EAAE,eAAe;QACzC,WAAW,EAAE,uBAAuB;KACvC,CAAC,CAAA;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC1B,uBAAuB,EAAE,CAAA"}
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;AAOlE,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAA;AAEhD,2DAA2D;AAC3D,oEAAoE;AACpE,kEAAkE;AAClE,0DAA0D;AAC1D,oEAAoE;AACpE,+DAA+D;AAC/D,sDAAsD;AACtD,iEAAiE;AACjE,kEAAkE;AAClE,+DAA+D;AAC/D,+DAA+D;AAC/D,qEAAqE;AACrE,oEAAoE;AACpE,wCAAwC;AACxC,EAAE;AACF,kEAAkE;AAClE,8DAA8D;AAC9D,qDAAqD;AACrD,qBAAqB;AACrB,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAA;AAElD,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;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA6B;IACjE,KAAK,EAAE,kBAAkB;IACzB,eAAe,EAAE,8BAA8B;CAClD,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACnC,OAAkC;IAElC,OAAO,QAAQ,CAAsB;QACjC,EAAE,EAAE,SAAS,CAAC,YAAY;QAC1B,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,wBAAwB;QACtC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,kBAAkB;QAC3C,eAAe,EACX,OAAO,EAAE,eAAe,IAAI,8BAA8B;QAC9D,eAAe,EAAE,OAAO,EAAE,eAAe;QACzC,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,WAAW,EAAE,uBAAuB;KACvC,CAAC,CAAA;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC1B,uBAAuB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"v1-single-shot.d.ts","sourceRoot":"","sources":["../../../src/extensions/argument-ingestion/v1-single-shot.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAGzE,OAAO,KAAK,EACR,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACvB,MAAM,mBAAmB,CAAA;AAI1B,eAAO,MAAM,iBAAiB,mBAAmB,CAAA;AAIjD,MAAM,MAAM,iCAAiC,GAAG;IAC5C,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,oBAAoB,CAAA;CAC7B,CAAA;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,iCAAiC,GAC5C,SAAS,CAAC,eAAe,EAAE,uBAAuB,CAAC,CA8ErD"}
1
+ {"version":3,"file":"v1-single-shot.d.ts","sourceRoot":"","sources":["../../../src/extensions/argument-ingestion/v1-single-shot.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAGzE,OAAO,KAAK,EACR,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACvB,MAAM,mBAAmB,CAAA;AAI1B,eAAO,MAAM,iBAAiB,mBAAmB,CAAA;AAIjD,MAAM,MAAM,iCAAiC,GAAG;IAC5C,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,oBAAoB,CAAA;CAC7B,CAAA;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,iCAAiC,GAC5C,SAAS,CAAC,eAAe,EAAE,uBAAuB,CAAC,CA8ErD"}
@@ -8,20 +8,21 @@
8
8
  // response with an empty `processingFailures` slot via
9
9
  // `finalizeResponse`.
10
10
  //
11
- // **Parity with the pre-1C CLI path.** Behaviorally equivalent to the
12
- // pre-1C CLI path on schema-conformant LLM outputs (recorded-corpus
13
- // parity). The new framework adds a single schema-validation retry
14
- // per stage (default `RetryPolicy` from slice 1A `maxAttempts: 2`,
15
- // `retryOn: ["schema_validation", "transient"]`); the pre-1C
16
- // direct-call path failed hard on the first schema-invalid response.
11
+ // **Parity with the legacy direct-call CLI path.** Behaviorally
12
+ // equivalent to the legacy direct-call CLI path on schema-conformant
13
+ // LLM outputs (recorded-corpus parity). The framework adds a single
14
+ // schema-validation retry per stage (default `RetryPolicy` —
15
+ // `maxAttempts: 2`, `retryOn: ["schema_validation", "transient"]`);
16
+ // the legacy direct-call path failed hard on the first schema-invalid
17
+ // response.
17
18
  // This is a usability improvement, not a regression. The golden
18
19
  // corpus exercises only the happy path, so the parity guarantee
19
20
  // holds for any LLM response shape the corpus pins; off-corpus
20
21
  // schema-invalid responses now retry once before the stage fails.
21
22
  //
22
- // v2 (Phase 2 / slice 2A) replaces the single stage with a graph of
23
- // decomposed stages; the same `finalizeResponse` helper drives the
24
- // merge, hence its placement under `shared/`.
23
+ // A v2 pipeline replaces the single stage with a graph of decomposed
24
+ // stages; the same `finalizeResponse` helper drives the merge, hence
25
+ // its placement under `shared/`.
25
26
  import Type from "typebox";
26
27
  import { llmStage } from "../../lib/pipelines/index.js";
27
28
  import { buildParsingPrompt } from "../../lib/parsing/index.js";
@@ -62,6 +63,7 @@ export function createIngestionV1Pipeline(extension, options) {
62
63
  model,
63
64
  maxOutputTokens: parseStageLlmOptions.maxOutputTokens,
64
65
  reasoningEffort: parseStageLlmOptions.reasoningEffort,
66
+ retry: parseStageLlmOptions.retry,
65
67
  buildPrompt: (ctx) => {
66
68
  const input = ctx.input;
67
69
  return {
@@ -83,10 +85,9 @@ export function createIngestionV1Pipeline(extension, options) {
83
85
  // intentional for V1: `outputSchema` advertises the *core*
84
86
  // output that downstream parsers (e.g. `ArgumentParser`)
85
87
  // consume, while `processingFailures` is a side-channel for
86
- // observability that consumers read separately. A future
87
- // slice (1G / 2C server wiring) may stitch the failure slot
88
- // into the schema via `Type.Intersect`; for now a docstring
89
- // is the contract.
88
+ // observability that consumers read separately. Future server
89
+ // wiring may stitch the failure slot into the schema via
90
+ // `Type.Intersect`; for now a docstring is the contract.
90
91
  outputSchema: extension.responseSchema,
91
92
  stages: [parseStage],
92
93
  finalize: {
@@ -1 +1 @@
1
- {"version":3,"file":"v1-single-shot.js","sourceRoot":"","sources":["../../../src/extensions/argument-ingestion/v1-single-shot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v1-single-shot.js","sourceRoot":"","sources":["../../../src/extensions/argument-ingestion/v1-single-shot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/extensions/openai/provider.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EACR,YAAY,EAKf,MAAM,wBAAwB,CAAA;AAe/B,OAAO,KAAK,EACR,YAAY,EAMf,MAAM,YAAY,CAAA;AAOnB,MAAM,MAAM,qCAAqC,GAAG;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CACpC,CAAA;AAED,wBAAgB,6BAA6B,CACzC,OAAO,EAAE,qCAAqC,GAC/C,YAAY,CAwSd"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/extensions/openai/provider.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EACR,YAAY,EAKf,MAAM,wBAAwB,CAAA;AAe/B,OAAO,KAAK,EACR,YAAY,EAMf,MAAM,YAAY,CAAA;AAOnB,MAAM,MAAM,qCAAqC,GAAG;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CACpC,CAAA;AAED,wBAAgB,6BAA6B,CACzC,OAAO,EAAE,qCAAqC,GAC/C,YAAY,CAuSd"}
@@ -1,7 +1,7 @@
1
1
  // Concrete `TLlmProvider` backed by the OpenAI Responses API.
2
2
  //
3
- // Slice 1B (per the agenda + spec §6) provides the V1 adapter: raw
4
- // `fetch` to `https://api.openai.com/v1/responses` with strict-mode
3
+ // The V1 adapter: raw `fetch` to
4
+ // `https://api.openai.com/v1/responses` with strict-mode
5
5
  // structured output via the inlined TypeBox → JSON Schema converter,
6
6
  // translation of the framework's `TToolSpec` discriminated union
7
7
  // into the Responses-API tool-shape, and a function-tool agent loop
@@ -11,7 +11,7 @@
11
11
  //
12
12
  // The provider deliberately uses raw `fetch` rather than the
13
13
  // `openai` npm SDK. `openai` is declared as an optional peer in
14
- // `package.json` for forward-looking insurance — future slices may
14
+ // `package.json` for forward-looking insurance — a future version may
15
15
  // adopt it; V1 keeps the dependency surface minimal.
16
16
  //
17
17
  // Error classification routes HTTP-status families into framework-
@@ -220,8 +220,7 @@ export function createOpenAiResponsesProvider(options) {
220
220
  // `function_call_output`. Omitting the
221
221
  // `function_call` items returns a 400 with a
222
222
  // conversation-state error on round 2+. Order is
223
- // preserved across all calls in the round (slice
224
- // 1B.1 reviewer fold P1 #1).
223
+ // preserved across all calls in the round.
225
224
  for (const call of functionCalls) {
226
225
  const handler = findFunctionHandler(req.tools, call.name);
227
226
  if (!handler) {
@@ -555,7 +554,7 @@ function classifyHttpError(status, message, providerErrorCode) {
555
554
  }
556
555
  return new RateLimitLlmError({ message, status });
557
556
  }
558
- // 400 vs 422 split (slice 1B.1 reviewer fold P2 #1):
557
+ // 400 vs 422 split:
559
558
  //
560
559
  // OpenAI returns 400 for malformed requests — typically a
561
560
  // converter bug, an unsupported parameter, or a request shape