@proposit/proposit-core 3.2.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 (138) hide show
  1. package/README.md +103 -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 +4 -2
  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/storage/variables.d.ts.map +1 -1
  27. package/dist/cli/storage/variables.js +3 -0
  28. package/dist/cli/storage/variables.js.map +1 -1
  29. package/dist/cli.js +2 -0
  30. package/dist/cli.js.map +1 -1
  31. package/dist/extensions/basics/schemata.d.ts +2 -0
  32. package/dist/extensions/basics/schemata.d.ts.map +1 -1
  33. package/dist/extensions/citations/ieee/citation-claim.d.ts +20 -20
  34. package/dist/extensions/citations/ieee/index.d.ts +1 -0
  35. package/dist/extensions/citations/ieee/index.d.ts.map +1 -1
  36. package/dist/extensions/citations/ieee/index.js +1 -0
  37. package/dist/extensions/citations/ieee/index.js.map +1 -1
  38. package/dist/extensions/citations/ieee/origin-document.d.ts +452 -0
  39. package/dist/extensions/citations/ieee/origin-document.d.ts.map +1 -0
  40. package/dist/extensions/citations/ieee/origin-document.js +25 -0
  41. package/dist/extensions/citations/ieee/origin-document.js.map +1 -0
  42. package/dist/extensions/citations/ieee/references.d.ts +60 -60
  43. package/dist/extensions/citations/ieee/relaxed.d.ts +60 -60
  44. package/dist/extensions/citations/ieee/relaxed.d.ts.map +1 -1
  45. package/dist/extensions/citations/ieee/relaxed.js +11 -1
  46. package/dist/extensions/citations/ieee/relaxed.js.map +1 -1
  47. package/dist/extensions/pipelines/base/finalize-response-v2.d.ts +24 -0
  48. package/dist/extensions/pipelines/base/finalize-response-v2.d.ts.map +1 -1
  49. package/dist/extensions/pipelines/base/finalize-response-v2.js +249 -8
  50. package/dist/extensions/pipelines/base/finalize-response-v2.js.map +1 -1
  51. package/dist/extensions/pipelines/base/index.d.ts +3 -1
  52. package/dist/extensions/pipelines/base/index.d.ts.map +1 -1
  53. package/dist/extensions/pipelines/base/index.js +2 -1
  54. package/dist/extensions/pipelines/base/index.js.map +1 -1
  55. package/dist/extensions/pipelines/base/source-anchors.d.ts +57 -0
  56. package/dist/extensions/pipelines/base/source-anchors.d.ts.map +1 -0
  57. package/dist/extensions/pipelines/base/source-anchors.js +174 -0
  58. package/dist/extensions/pipelines/base/source-anchors.js.map +1 -0
  59. package/dist/extensions/pipelines/ingestion/scholar/scholar.d.ts.map +1 -1
  60. package/dist/extensions/pipelines/ingestion/scholar/scholar.js +11 -1
  61. package/dist/extensions/pipelines/ingestion/scholar/scholar.js.map +1 -1
  62. package/dist/extensions/pipelines/ingestion/scribe/scribe.d.ts.map +1 -1
  63. package/dist/extensions/pipelines/ingestion/scribe/scribe.js +5 -0
  64. package/dist/extensions/pipelines/ingestion/scribe/scribe.js.map +1 -1
  65. package/dist/lib/consts.d.ts.map +1 -1
  66. package/dist/lib/consts.js +27 -0
  67. package/dist/lib/consts.js.map +1 -1
  68. package/dist/lib/core/argument-engine.d.ts +5 -3
  69. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  70. package/dist/lib/core/argument-engine.js +7 -4
  71. package/dist/lib/core/argument-engine.js.map +1 -1
  72. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +2 -1
  73. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -1
  74. package/dist/lib/core/interfaces/index.d.ts +1 -1
  75. package/dist/lib/core/interfaces/index.d.ts.map +1 -1
  76. package/dist/lib/core/interfaces/library.interfaces.d.ts +72 -1
  77. package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
  78. package/dist/lib/core/origin-library.d.ts +127 -0
  79. package/dist/lib/core/origin-library.d.ts.map +1 -0
  80. package/dist/lib/core/origin-library.js +520 -0
  81. package/dist/lib/core/origin-library.js.map +1 -0
  82. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  83. package/dist/lib/core/premise-engine.js +20 -3
  84. package/dist/lib/core/premise-engine.js.map +1 -1
  85. package/dist/lib/core/proposit-core.d.ts +15 -8
  86. package/dist/lib/core/proposit-core.d.ts.map +1 -1
  87. package/dist/lib/core/proposit-core.js +28 -3
  88. package/dist/lib/core/proposit-core.js.map +1 -1
  89. package/dist/lib/grammar/types.d.ts +2 -2
  90. package/dist/lib/grammar/types.d.ts.map +1 -1
  91. package/dist/lib/grammar/types.js +2 -1
  92. package/dist/lib/grammar/types.js.map +1 -1
  93. package/dist/lib/grammar/validators/presentable.d.ts +19 -0
  94. package/dist/lib/grammar/validators/presentable.d.ts.map +1 -1
  95. package/dist/lib/grammar/validators/presentable.js +57 -0
  96. package/dist/lib/grammar/validators/presentable.js.map +1 -1
  97. package/dist/lib/index.d.ts +4 -0
  98. package/dist/lib/index.d.ts.map +1 -1
  99. package/dist/lib/index.js +3 -0
  100. package/dist/lib/index.js.map +1 -1
  101. package/dist/lib/parsing/argument-parser.d.ts.map +1 -1
  102. package/dist/lib/parsing/argument-parser.js +7 -3
  103. package/dist/lib/parsing/argument-parser.js.map +1 -1
  104. package/dist/lib/schemata/index.d.ts +1 -0
  105. package/dist/lib/schemata/index.d.ts.map +1 -1
  106. package/dist/lib/schemata/index.js +1 -0
  107. package/dist/lib/schemata/index.js.map +1 -1
  108. package/dist/lib/schemata/origin.d.ts +48 -0
  109. package/dist/lib/schemata/origin.d.ts.map +1 -0
  110. package/dist/lib/schemata/origin.js +102 -0
  111. package/dist/lib/schemata/origin.js.map +1 -0
  112. package/dist/lib/schemata/propositional.d.ts +6 -0
  113. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  114. package/dist/lib/schemata/propositional.js +13 -0
  115. package/dist/lib/schemata/propositional.js.map +1 -1
  116. package/dist/lib/schemata/shared.d.ts +14 -14
  117. package/dist/lib/schemata/shared.d.ts.map +1 -1
  118. package/dist/lib/schemata/shared.js +29 -26
  119. package/dist/lib/schemata/shared.js.map +1 -1
  120. package/dist/lib/types/checksum.d.ts +3 -0
  121. package/dist/lib/types/checksum.d.ts.map +1 -1
  122. package/dist/lib/types/validation.d.ts +19 -1
  123. package/dist/lib/types/validation.d.ts.map +1 -1
  124. package/dist/lib/types/validation.js +19 -0
  125. package/dist/lib/types/validation.js.map +1 -1
  126. package/dist/lib/utils/collections.d.ts +15 -0
  127. package/dist/lib/utils/collections.d.ts.map +1 -1
  128. package/dist/lib/utils/collections.js +17 -0
  129. package/dist/lib/utils/collections.js.map +1 -1
  130. package/dist/lib/utils/origin-text.d.ts +62 -0
  131. package/dist/lib/utils/origin-text.d.ts.map +1 -0
  132. package/dist/lib/utils/origin-text.js +204 -0
  133. package/dist/lib/utils/origin-text.js.map +1 -0
  134. package/dist/lib/utils/sha256.d.ts +6 -0
  135. package/dist/lib/utils/sha256.d.ts.map +1 -0
  136. package/dist/lib/utils/sha256.js +98 -0
  137. package/dist/lib/utils/sha256.js.map +1 -0
  138. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"relaxed.js","sourceRoot":"","sources":["../../../../src/extensions/citations/ieee/relaxed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relaxed.js","sourceRoot":"","sources":["../../../../src/extensions/citations/ieee/relaxed.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,37 @@
1
1
  import type { TParsedArgumentResponse } from "../../../lib/parsing/index.js";
2
2
  import type { TStageContext } from "../../../lib/pipelines/index.js";
3
+ import { type TClaimMentionExtractionOutput, type TSegmentationOutput } from "./stages/schemas.js";
3
4
  import type { TIngestionExtension } from "./types.js";
4
5
  export declare const FINALIZE_V2_FAILURE_TEXTS: {
5
6
  readonly noClaims: "No claims could be extracted from the input.";
6
7
  readonly noConclusion: "No single conclusion could be selected.";
7
8
  };
9
+ /**
10
+ * Non-fatal note codes for anchor resolution. Neither stops assembly:
11
+ * an unresolved quote yields no anchor, and an ambiguous one yields the
12
+ * nearest-hint winner. Both are reported because silence here is
13
+ * indistinguishable from success — a model that starts paraphrasing
14
+ * would otherwise take anchor coverage to zero with no signal.
15
+ */
16
+ export declare const SOURCE_ANCHOR_NOTE_CODES: {
17
+ readonly unresolved: "SOURCE_ANCHOR_UNRESOLVED";
18
+ readonly ambiguous: "SOURCE_ANCHOR_AMBIGUOUS";
19
+ readonly inputUnavailable: "SOURCE_ANCHOR_INPUT_UNAVAILABLE";
20
+ };
8
21
  export type TFinalizeResponseV2Input = {
9
22
  ctx: TStageContext;
10
23
  extension: TIngestionExtension;
24
+ /**
25
+ * Segmentation + mention outputs, supplied by the caller rather than
26
+ * read from `ctx`, because not every pipeline has these stages —
27
+ * `ctx.get` on a stage outside `finalize.dependsOn` is a
28
+ * configuration error, and declaring a dep on a stage the pipeline
29
+ * does not contain is another. Passing them keeps the declaration
30
+ * and the read in the same file, per pipeline. Omit both and claims
31
+ * carry no source anchors; premises are unaffected either way.
32
+ */
33
+ segmentation?: TSegmentationOutput;
34
+ mentions?: TClaimMentionExtractionOutput;
11
35
  };
12
36
  /**
13
37
  * Assembles the v2 pipeline's final response from the
@@ -1 +1 @@
1
- {"version":3,"file":"finalize-response-v2.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/base/finalize-response-v2.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAapE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAoErD,eAAO,MAAM,yBAAyB;;;CAG5B,CAAA;AAuMV,MAAM,MAAM,wBAAwB,GAAG;IACnC,GAAG,EAAE,aAAa,CAAA;IAClB,SAAS,EAAE,mBAAmB,CAAA;CACjC,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,wBAAwB,GAChC,uBAAuB,CAqJzB"}
1
+ {"version":3,"file":"finalize-response-v2.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/base/finalize-response-v2.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAGH,KAAK,6BAA6B,EAQlC,KAAK,mBAAmB,EAE3B,MAAM,qBAAqB,CAAA;AAO5B,OAAO,KAAK,EAAE,mBAAmB,EAAmB,MAAM,YAAY,CAAA;AAoEtE,eAAO,MAAM,yBAAyB;;;CAG5B,CAAA;AAoIV;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;CAI3B,CAAA;AA4RV,MAAM,MAAM,wBAAwB,GAAG;IACnC,GAAG,EAAE,aAAa,CAAA;IAClB,SAAS,EAAE,mBAAmB,CAAA;IAC9B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC,QAAQ,CAAC,EAAE,6BAA6B,CAAA;CAC3C,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,wBAAwB,GAChC,uBAAuB,CA0MzB"}
@@ -30,6 +30,7 @@
30
30
  // way for `finalize.run` to consult the executor's accumulated failure
31
31
  // list (which would require widening `TStageContext`).
32
32
  import { STAGE_IDS, } from "./stages/schemas.js";
33
+ import { locateSourceAnchor, nearestOccurrence, } from "./source-anchors.js";
33
34
  import { IEEE_REFERENCE_TYPES } from "../../citations/ieee/references.js";
34
35
  // The valid `citationTypeGuess` values — the 33 IEEE reference types
35
36
  // plus the explicit "unknown" fallback. Built from the IEEE list so the
@@ -111,9 +112,10 @@ function buildClaimToRole(args) {
111
112
  function stripCanonicalizerOnlyFields(claim) {
112
113
  // The canonicalizer's per-claim record carries `mentionIds` and
113
114
  // `suggestedSymbol` which are not part of the public response
114
- // schema. Strip them from the finalize output (the variable's
115
- // `symbol` carries the assigned identifier; mentionIds are an
116
- // internal trace).
115
+ // schema. Strip them from the finalize output: the variable's
116
+ // `symbol` carries the assigned identifier, and mention ids name an
117
+ // id space the response never carries — the provenance they trace is
118
+ // resolved into `sourceAnchors` instead, which a consumer can act on.
117
119
  const stripped = {};
118
120
  for (const [key, value] of Object.entries(claim)) {
119
121
  if (key === "mentionIds" || key === "suggestedSymbol")
@@ -122,6 +124,193 @@ function stripCanonicalizerOnlyFields(claim) {
122
124
  }
123
125
  return stripped;
124
126
  }
127
+ // -- Source anchors --
128
+ //
129
+ // The pipeline knows where each claim and each inference came from, but
130
+ // only as data spread across three stages: `segmentation` holds
131
+ // input-relative segment spans, `claim-mention-extraction` holds
132
+ // *segment-relative* mention spans plus the mention text, and
133
+ // `relation-extraction` holds a quote per relation. Finalize is the
134
+ // first place all three are in scope at once, so it is where they become
135
+ // a usable reference back into the input.
136
+ //
137
+ // Only quoted text crosses the boundary as fact; the model's offsets are
138
+ // used to choose among repeated occurrences and are never emitted
139
+ // unverified. See `source-anchors.ts`.
140
+ /**
141
+ * Where each segment actually begins in the input.
142
+ *
143
+ * The segmentation prompt requires `segment.text` be copied verbatim, so
144
+ * the true offset is recoverable by searching — and searching is what
145
+ * this does, because the model's own `span.start` drifts — off by one on
146
+ * several segments of the recorded corpus. Small, and invisible until a
147
+ * quote repeats, at which point the drifted hint picks the wrong
148
+ * occurrence.
149
+ *
150
+ * Segments are emitted left to right and cover the input, so the scan
151
+ * carries a cursor rather than searching from zero: that keeps a segment
152
+ * whose text repeats earlier in the document from collapsing onto the
153
+ * earlier copy. Among the candidates at or after the cursor, the one
154
+ * nearest the model's reported start wins — the model's number chooses
155
+ * between verified positions rather than supplying one.
156
+ */
157
+ function resolveSegmentStarts(inputText, segmentation) {
158
+ const out = new Map();
159
+ let cursor = 0;
160
+ for (const segment of segmentation?.segments ?? []) {
161
+ const found = nearestOccurrence(inputText, segment.text, segment.span.start, cursor);
162
+ if (found === undefined) {
163
+ out.set(segment.segmentId, segment.span.start);
164
+ // Advance past where the model says this segment ended.
165
+ // Leaving the cursor behind would let the next segment's
166
+ // scan reach back into territory this one owns and match a
167
+ // duplicate inside it — the exact collapse the cursor
168
+ // exists to prevent, triggered by the branch that handles a
169
+ // rewritten segment.
170
+ cursor = Math.max(cursor, segment.span.end);
171
+ continue;
172
+ }
173
+ out.set(segment.segmentId, found);
174
+ cursor = found + segment.text.length;
175
+ }
176
+ return out;
177
+ }
178
+ /**
179
+ * Non-fatal note codes for anchor resolution. Neither stops assembly:
180
+ * an unresolved quote yields no anchor, and an ambiguous one yields the
181
+ * nearest-hint winner. Both are reported because silence here is
182
+ * indistinguishable from success — a model that starts paraphrasing
183
+ * would otherwise take anchor coverage to zero with no signal.
184
+ */
185
+ export const SOURCE_ANCHOR_NOTE_CODES = {
186
+ unresolved: "SOURCE_ANCHOR_UNRESOLVED",
187
+ ambiguous: "SOURCE_ANCHOR_AMBIGUOUS",
188
+ inputUnavailable: "SOURCE_ANCHOR_INPUT_UNAVAILABLE",
189
+ };
190
+ /** Emit the note for one attempted resolution, if there is one to emit. */
191
+ function noteResolution(args) {
192
+ const subjectText = Object.entries(args.subject)
193
+ .map(([key, value]) => `${key} ${value}`)
194
+ .join(" ");
195
+ if (args.match === undefined) {
196
+ args.ctx.addFailure({
197
+ code: SOURCE_ANCHOR_NOTE_CODES.unresolved,
198
+ message: `Quote for ${subjectText} was not found in the input; no source anchor was emitted.`,
199
+ severity: "warning",
200
+ context: { ...args.subject, quote: args.quote },
201
+ });
202
+ return;
203
+ }
204
+ if (args.match.occurrences > 1) {
205
+ args.ctx.addFailure({
206
+ code: SOURCE_ANCHOR_NOTE_CODES.ambiguous,
207
+ message: `Quote for ${subjectText} occurs ${String(args.match.occurrences)} times in the input; the occurrence nearest the reported position was used.`,
208
+ severity: "warning",
209
+ context: {
210
+ ...args.subject,
211
+ quote: args.quote,
212
+ occurrences: args.match.occurrences,
213
+ startUtf16: args.match.anchor.startUtf16,
214
+ },
215
+ });
216
+ }
217
+ }
218
+ /** Resolve every mention to a verified anchor in the input, by id. */
219
+ function buildAnchorByMentionId(args) {
220
+ const out = new Map();
221
+ if (!args.mentions)
222
+ return out;
223
+ const segmentStartById = args.segmentStartById;
224
+ const segmentTextById = new Map((args.segments ?? []).map((s) => [s.segmentId, s.text]));
225
+ for (const mention of args.mentions.mentions) {
226
+ // Mention spans are relative to the segment's text, so the
227
+ // input-relative hint only exists once the segment's own start is
228
+ // added back on.
229
+ //
230
+ // Both halves of that sum are located rather than trusted. The
231
+ // mention's own offset is the larger error of the two on the
232
+ // recorded corpus — a model can miscount its way through a
233
+ // markdown link and report a mention 14 characters early — and
234
+ // the mention text is copied from the segment, so its position
235
+ // inside the segment is recoverable exactly the way the
236
+ // segment's position in the document is.
237
+ const segmentText = segmentTextById.get(mention.segmentId);
238
+ const offsetInSegment = segmentText === undefined
239
+ ? undefined
240
+ : nearestOccurrence(segmentText, mention.text, mention.span.start);
241
+ const hint = (segmentStartById.get(mention.segmentId) ?? 0) +
242
+ (offsetInSegment ?? mention.span.start);
243
+ const match = locateSourceAnchor(args.inputText, mention.text, hint);
244
+ noteResolution({
245
+ ctx: args.ctx,
246
+ match,
247
+ quote: mention.text,
248
+ subject: { mentionId: mention.mentionId },
249
+ });
250
+ if (match !== undefined)
251
+ out.set(mention.mentionId, match.anchor);
252
+ }
253
+ return out;
254
+ }
255
+ /** Anchors for the mentions of one claim, in order, deduped by range. */
256
+ function claimAnchors(mentionIds, anchorByMentionId) {
257
+ const seen = new Set();
258
+ const anchors = [];
259
+ for (const mentionId of mentionIds) {
260
+ const anchor = anchorByMentionId.get(mentionId);
261
+ if (anchor === undefined)
262
+ continue;
263
+ const key = `${String(anchor.startUtf16)}:${String(anchor.endUtf16)}`;
264
+ if (seen.has(key))
265
+ continue;
266
+ seen.add(key);
267
+ anchors.push(anchor);
268
+ }
269
+ return anchors;
270
+ }
271
+ /** The anchor for a relation's evidence quote, if it can be located. */
272
+ function relationAnchor(args) {
273
+ const starts = args.relation.evidence.segmentIds
274
+ .map((id) => args.segmentStartById.get(id))
275
+ .filter((start) => start !== undefined);
276
+ const hint = starts.length > 0 ? Math.min(...starts) : 0;
277
+ const quote = args.relation.evidence.quote;
278
+ const match = locateSourceAnchor(args.inputText, quote, hint);
279
+ // An empty evidence quote is a legal "no span to cite" the fast
280
+ // pipeline's prompt explicitly permits, not a failure to find one,
281
+ // so it is not reported.
282
+ if (quote.trim().length > 0) {
283
+ noteResolution({
284
+ ctx: args.ctx,
285
+ match,
286
+ quote,
287
+ subject: { relationId: args.relation.relationId },
288
+ });
289
+ }
290
+ return match?.anchor;
291
+ }
292
+ /**
293
+ * The raw text this pipeline was given, or `""` for any input shape that
294
+ * does not carry one.
295
+ *
296
+ * `TStageContext.input` is `unknown` and this assembler is public API
297
+ * for consumers composing their own pipelines, whose `inputSchema` need
298
+ * not be `{ text }`. Anchors are the only thing that reads the input, so
299
+ * an empty string degrades exactly into the documented no-anchor
300
+ * behavior — every match misses — rather than throwing out of finalize
301
+ * on the happy path, after every LLM call has been paid for.
302
+ */
303
+ function readInputText(input) {
304
+ const text = input?.text;
305
+ return typeof text === "string" ? text : "";
306
+ }
307
+ /** The `mentionIds` on a canonical claim record, defensively read. */
308
+ function readMentionIds(record) {
309
+ const raw = record.mentionIds;
310
+ return Array.isArray(raw)
311
+ ? raw.filter((id) => typeof id === "string")
312
+ : [];
313
+ }
125
314
  /**
126
315
  * Resolve a claim miniId to its quoted display title, falling back to
127
316
  * the claim's assigned variable symbol (quoted) when no title is
@@ -237,6 +426,31 @@ export function finalizeResponseV2(input) {
237
426
  };
238
427
  }
239
428
  // Happy path: assemble the argument.
429
+ const inputText = readInputText(ctx.input);
430
+ // Nothing resolves against an empty input, so resolution is skipped
431
+ // wholesale rather than run to produce one "quote not found" note per
432
+ // mention and relation. N notes blaming the model for a fault in the
433
+ // caller's input shape is worse than no notes; one note naming the
434
+ // real cause is better than either. It also keeps every extracted
435
+ // quote out of `failures`.
436
+ const inputAvailable = inputText.length > 0;
437
+ if (!inputAvailable) {
438
+ ctx.addFailure({
439
+ code: SOURCE_ANCHOR_NOTE_CODES.inputUnavailable,
440
+ message: "The pipeline input carries no text, so no source anchors were resolved. This is a property of the input, not of the model's output.",
441
+ severity: "warning",
442
+ });
443
+ }
444
+ const segmentStartById = resolveSegmentStarts(inputText, input.segmentation);
445
+ const anchorByMentionId = inputAvailable
446
+ ? buildAnchorByMentionId({
447
+ ctx,
448
+ inputText,
449
+ segmentStartById,
450
+ segments: input.segmentation?.segments,
451
+ mentions: input.mentions,
452
+ })
453
+ : new Map();
240
454
  const conclusionMiniId = conclusion?.conclusionMiniId ?? null;
241
455
  const roles = buildClaimToRole({
242
456
  canonicalClaims: canon.canonicalClaims,
@@ -248,6 +462,14 @@ export function finalizeResponseV2(input) {
248
462
  const classifiedType = typeByMiniId.get(c.miniId)?.type ?? c.type;
249
463
  const record = c;
250
464
  const stripped = stripCanonicalizerOnlyFields(record);
465
+ // An entity with no resolvable provenance carries no key at all
466
+ // rather than an empty array — "we found nothing" and "we did not
467
+ // look" read the same to a consumer, and neither is a claim about
468
+ // the text.
469
+ const anchors = claimAnchors(readMentionIds(record), anchorByMentionId);
470
+ if (anchors.length > 0) {
471
+ stripped.sourceAnchors = anchors;
472
+ }
251
473
  // A claim classified `citation` stays `citation` and carries an
252
474
  // explicit `UnparsedCitation` (its `text` is the display text, so
253
475
  // a url-less reference no longer renders blank). Premise
@@ -290,11 +512,30 @@ export function finalizeResponseV2(input) {
290
512
  symbolByClaimMiniId: new Map(variables.map((v) => [v.claimMiniId, v.symbol])),
291
513
  relationById: new Map(relations.map((r) => [r.relationId, r])),
292
514
  };
293
- const finalPremises = compilation.premises.map((p) => ({
294
- miniId: p.premiseMiniId,
295
- formula: p.formula,
296
- title: buildPremiseTitle(p, titleComposerMaps),
297
- }));
515
+ const finalPremises = compilation.premises.map((p) => {
516
+ const premise = {
517
+ miniId: p.premiseMiniId,
518
+ formula: p.formula,
519
+ title: buildPremiseTitle(p, titleComposerMaps),
520
+ };
521
+ // The conclusion premise is synthesized from a bare symbol and
522
+ // has no source relation, so it has no evidence quote to anchor.
523
+ const relation = p.sourceRelationId !== null
524
+ ? titleComposerMaps.relationById.get(p.sourceRelationId)
525
+ : undefined;
526
+ const anchor = inputAvailable && relation !== undefined
527
+ ? relationAnchor({
528
+ ctx,
529
+ inputText,
530
+ relation,
531
+ segmentStartById,
532
+ })
533
+ : undefined;
534
+ if (anchor !== undefined) {
535
+ premise.sourceAnchors = [anchor];
536
+ }
537
+ return premise;
538
+ });
298
539
  const argument = {
299
540
  claims,
300
541
  variables: finalVariables,
@@ -1 +1 @@
1
- {"version":3,"file":"finalize-response-v2.js","sourceRoot":"","sources":["../../../../src/extensions/pipelines/base/finalize-response-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finalize-response-v2.js","sourceRoot":"","sources":["../../../../src/extensions/pipelines/base/finalize-response-v2.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- export { finalizeResponseV2, FINALIZE_V2_FAILURE_TEXTS, } from "./finalize-response-v2.js";
1
+ export { finalizeResponseV2, FINALIZE_V2_FAILURE_TEXTS, SOURCE_ANCHOR_NOTE_CODES, } from "./finalize-response-v2.js";
2
2
  export type { TFinalizeResponseV2Input } from "./finalize-response-v2.js";
3
+ export { locateSourceAnchor, SOURCE_ANCHOR_CONTEXT_CHARS, } from "./source-anchors.js";
4
+ export type { TIngestionSourceAnchor, TSourceAnchorMatch, } from "./source-anchors.js";
3
5
  export { resolveLlmStageOptions } from "./resolve-llm-stage-options.js";
4
6
  export { basicsExtension } from "./basics-extension.js";
5
7
  export type { TIngestionExtension, TIngestionInput, TIngestionLlmOptions, TLlmStageOptionsOverride, } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/base/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACH,kBAAkB,EAClB,yBAAyB,GAC5B,MAAM,2BAA2B,CAAA;AAClC,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EACR,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGzE,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/base/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,GAC3B,MAAM,2BAA2B,CAAA;AAClC,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EACH,kBAAkB,EAClB,2BAA2B,GAC9B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACR,sBAAsB,EACtB,kBAAkB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EACR,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGzE,cAAc,mBAAmB,CAAA"}
@@ -7,7 +7,8 @@
7
7
  // (factories, STAGE_IDS, schemas, *_DEFAULTS) — including the
8
8
  // per-extension canonicalization schema builders and the
9
9
  // fallback-conclusion helper alternate pipelines reuse.
10
- export { finalizeResponseV2, FINALIZE_V2_FAILURE_TEXTS, } from "./finalize-response-v2.js";
10
+ export { finalizeResponseV2, FINALIZE_V2_FAILURE_TEXTS, SOURCE_ANCHOR_NOTE_CODES, } from "./finalize-response-v2.js";
11
+ export { locateSourceAnchor, SOURCE_ANCHOR_CONTEXT_CHARS, } from "./source-anchors.js";
11
12
  export { resolveLlmStageOptions } from "./resolve-llm-stage-options.js";
12
13
  export { basicsExtension } from "./basics-extension.js";
13
14
  export { deriveRoles } from "./role-derivation.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensions/pipelines/base/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,kDAAkD;AAClD,EAAE;AACF,mEAAmE;AACnE,wEAAwE;AACxE,qEAAqE;AACrE,8DAA8D;AAC9D,yDAAyD;AACzD,wDAAwD;AAExD,OAAO,EACH,kBAAkB,EAClB,yBAAyB,GAC5B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAOvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,sEAAsE;AACtE,qEAAqE;AACrE,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensions/pipelines/base/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,kDAAkD;AAClD,EAAE;AACF,mEAAmE;AACnE,wEAAwE;AACxE,qEAAqE;AACrE,8DAA8D;AAC9D,yDAAyD;AACzD,wDAAwD;AAExD,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,GAC3B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACH,kBAAkB,EAClB,2BAA2B,GAC9B,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAOvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,sEAAsE;AACtE,qEAAqE;AACrE,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,57 @@
1
+ /** Characters of surrounding input carried on either side of a quote. */
2
+ export declare const SOURCE_ANCHOR_CONTEXT_CHARS = 32;
3
+ /**
4
+ * A verified reference from an ingested entity back into the text the
5
+ * pipeline was given.
6
+ *
7
+ * `quote` is authoritative: it is the input's own text for the range,
8
+ * so a consumer that stores a differently-normalized copy of the
9
+ * document can re-locate it there rather than trusting these offsets.
10
+ * `prefix` / `suffix` disambiguate a quote that occurs more than once.
11
+ *
12
+ * Offsets are **JS string indices (UTF-16 code units)** into the
13
+ * pipeline input, which is why they say so in their names — a consumer
14
+ * counting code points must convert.
15
+ */
16
+ export type TIngestionSourceAnchor = {
17
+ quote: string;
18
+ startUtf16: number;
19
+ endUtf16: number;
20
+ prefix: string;
21
+ suffix: string;
22
+ };
23
+ /**
24
+ * The occurrence of `needle` at or after `fromUtf16` whose start sits
25
+ * nearest `hintUtf16`, or `undefined` when there is none.
26
+ *
27
+ * The same rule the anchor locator applies, exposed because the offsets
28
+ * the model reports for segments and mentions need it too: take the
29
+ * verifiable positions as the candidates and let the model's number pick
30
+ * between them, never the reverse.
31
+ */
32
+ export declare function nearestOccurrence(haystack: string, needle: string, hintUtf16: number, fromUtf16?: number): number | undefined;
33
+ /**
34
+ * A located anchor together with how many candidates it was chosen from.
35
+ *
36
+ * `occurrences > 1` means the quote is not unique in the input and the
37
+ * hint broke the tie. Callers surface that as a note rather than
38
+ * swallowing it: a silent tie-break is indistinguishable from a certain
39
+ * match, and the two deserve different trust.
40
+ */
41
+ export type TSourceAnchorMatch = {
42
+ anchor: TIngestionSourceAnchor;
43
+ occurrences: number;
44
+ };
45
+ /**
46
+ * Locate `quote` in `input`, returning a verified match or `undefined`.
47
+ *
48
+ * `hintUtf16` selects among repeated occurrences — the occurrence whose
49
+ * start sits nearest the hint wins. It never affects *whether* a quote
50
+ * matches, so a wrong hint degrades to "picked another occurrence of the
51
+ * same text", never to a wrong span.
52
+ *
53
+ * The ladder is exact match, then whitespace-insensitive match. Nothing
54
+ * approximate: a quote that still does not match yields `undefined`.
55
+ */
56
+ export declare function locateSourceAnchor(input: string, quote: string, hintUtf16: number): TSourceAnchorMatch | undefined;
57
+ //# sourceMappingURL=source-anchors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-anchors.d.ts","sourceRoot":"","sources":["../../../../src/extensions/pipelines/base/source-anchors.ts"],"names":[],"mappings":"AAoBA,yEAAyE;AACzE,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACjB,CAAA;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,SAAI,GACd,MAAM,GAAG,SAAS,CAYpB;AAyGD;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,sBAAsB,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAClB,kBAAkB,GAAG,SAAS,CAyBhC"}