agentfootprint 9.112.2 → 9.113.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.
- package/CHANGELOG.md +296 -0
- package/CLAUDE.md +1 -0
- package/dist/adapters/observability/audit.js +8 -0
- package/dist/adapters/observability/audit.js.map +1 -1
- package/dist/adapters/observability/otel.js +44 -2
- package/dist/adapters/observability/otel.js.map +1 -1
- package/dist/adapters/observability/xray.js +19 -0
- package/dist/adapters/observability/xray.js.map +1 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/core/Agent.js +11 -1
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/composeRequest.js +19 -11
- package/dist/core/agent/composeRequest.js.map +1 -1
- package/dist/core/agent/coverage/absent.js +163 -7
- package/dist/core/agent/coverage/absent.js.map +1 -1
- package/dist/core/agent/coverage/answer.js +3 -1
- package/dist/core/agent/coverage/answer.js.map +1 -1
- package/dist/core/agent/coverage/read.js +15 -11
- package/dist/core/agent/coverage/read.js.map +1 -1
- package/dist/core/agent/findings/ledger.js +27 -5
- package/dist/core/agent/findings/ledger.js.map +1 -1
- package/dist/core/agent/findings/offer.js +29 -9
- package/dist/core/agent/findings/offer.js.map +1 -1
- package/dist/core/agent/findings/serve.js +76 -7
- package/dist/core/agent/findings/serve.js.map +1 -1
- package/dist/core/agent/findings/types.js.map +1 -1
- package/dist/core/agent/findings/unsettled.js +276 -0
- package/dist/core/agent/findings/unsettled.js.map +1 -0
- package/dist/core/agent/stages/callLLM.js +30 -8
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/route.js +10 -2
- package/dist/core/agent/stages/route.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +247 -31
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/agent/stages/window.js +5 -2
- package/dist/core/agent/stages/window.js.map +1 -1
- package/dist/core/agent/toolResultCap.js +0 -0
- package/dist/core/agent/toolResultCap.js.map +1 -1
- package/dist/core/agent/window/ledgerFactPins.js +13 -2
- package/dist/core/agent/window/ledgerFactPins.js.map +1 -1
- package/dist/core/agent/window/toolNames.js +17 -2
- package/dist/core/agent/window/toolNames.js.map +1 -1
- package/dist/core/checkin.js +5 -1
- package/dist/core/checkin.js.map +1 -1
- package/dist/core/runCheckpoint.js +26 -2
- package/dist/core/runCheckpoint.js.map +1 -1
- package/dist/esm/adapters/observability/audit.d.ts +8 -0
- package/dist/esm/adapters/observability/audit.js +8 -0
- package/dist/esm/adapters/observability/audit.js.map +1 -1
- package/dist/esm/adapters/observability/otel.d.ts +17 -2
- package/dist/esm/adapters/observability/otel.js +44 -2
- package/dist/esm/adapters/observability/otel.js.map +1 -1
- package/dist/esm/adapters/observability/xray.d.ts +8 -0
- package/dist/esm/adapters/observability/xray.js +19 -0
- package/dist/esm/adapters/observability/xray.js.map +1 -1
- package/dist/esm/adapters/types.d.ts +49 -0
- package/dist/esm/adapters/types.js.map +1 -1
- package/dist/esm/core/Agent.js +11 -1
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/composeRequest.d.ts +10 -7
- package/dist/esm/core/agent/composeRequest.js +19 -11
- package/dist/esm/core/agent/composeRequest.js.map +1 -1
- package/dist/esm/core/agent/coverage/absent.d.ts +31 -4
- package/dist/esm/core/agent/coverage/absent.js +160 -6
- package/dist/esm/core/agent/coverage/absent.js.map +1 -1
- package/dist/esm/core/agent/coverage/answer.js +3 -1
- package/dist/esm/core/agent/coverage/answer.js.map +1 -1
- package/dist/esm/core/agent/coverage/index.d.ts +1 -1
- package/dist/esm/core/agent/coverage/read.d.ts +9 -1
- package/dist/esm/core/agent/coverage/read.js +16 -12
- package/dist/esm/core/agent/coverage/read.js.map +1 -1
- package/dist/esm/core/agent/coverage/types.d.ts +42 -0
- package/dist/esm/core/agent/findings/ledger.d.ts +23 -6
- package/dist/esm/core/agent/findings/ledger.js +27 -5
- package/dist/esm/core/agent/findings/ledger.js.map +1 -1
- package/dist/esm/core/agent/findings/offer.d.ts +23 -6
- package/dist/esm/core/agent/findings/offer.js +27 -8
- package/dist/esm/core/agent/findings/offer.js.map +1 -1
- package/dist/esm/core/agent/findings/serve.d.ts +19 -6
- package/dist/esm/core/agent/findings/serve.js +77 -8
- package/dist/esm/core/agent/findings/serve.js.map +1 -1
- package/dist/esm/core/agent/findings/types.d.ts +81 -1
- package/dist/esm/core/agent/findings/types.js.map +1 -1
- package/dist/esm/core/agent/findings/unsettled.d.ts +121 -0
- package/dist/esm/core/agent/findings/unsettled.js +271 -0
- package/dist/esm/core/agent/findings/unsettled.js.map +1 -0
- package/dist/esm/core/agent/stages/callLLM.js +30 -8
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/route.js +10 -2
- package/dist/esm/core/agent/stages/route.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +90 -2
- package/dist/esm/core/agent/stages/toolCalls.js +244 -31
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/stages/window.js +5 -2
- package/dist/esm/core/agent/stages/window.js.map +1 -1
- package/dist/esm/core/agent/toolResultCap.d.ts +4 -1
- package/dist/esm/core/agent/toolResultCap.js +0 -0
- package/dist/esm/core/agent/toolResultCap.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +5 -0
- package/dist/esm/core/agent/window/ledgerFactPins.d.ts +10 -1
- package/dist/esm/core/agent/window/ledgerFactPins.js +13 -2
- package/dist/esm/core/agent/window/ledgerFactPins.js.map +1 -1
- package/dist/esm/core/agent/window/strategy.d.ts +2 -1
- package/dist/esm/core/agent/window/toolNames.d.ts +16 -1
- package/dist/esm/core/agent/window/toolNames.js +17 -2
- package/dist/esm/core/agent/window/toolNames.js.map +1 -1
- package/dist/esm/core/checkin.js +5 -1
- package/dist/esm/core/checkin.js.map +1 -1
- package/dist/esm/core/runCheckpoint.js +26 -2
- package/dist/esm/core/runCheckpoint.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +76 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/bug-report/transcript.d.ts +5 -0
- package/dist/esm/lib/bug-report/transcript.js +1 -0
- package/dist/esm/lib/bug-report/transcript.js.map +1 -1
- package/dist/esm/lib/semantics/projection.js +1 -0
- package/dist/esm/lib/semantics/projection.js.map +1 -1
- package/dist/esm/lib/time-travel/receipt.d.ts +4 -3
- package/dist/esm/lib/time-travel/receipt.js +4 -3
- package/dist/esm/lib/time-travel/receipt.js.map +1 -1
- package/dist/esm/lib/time-travel/servedView.js +13 -9
- package/dist/esm/lib/time-travel/servedView.js.map +1 -1
- package/dist/esm/lib/trace-toolpack/traceToolpack.js +130 -17
- package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/esm/memory/causal/evidenceRecorder.d.ts +2 -0
- package/dist/esm/memory/causal/evidenceRecorder.js +13 -0
- package/dist/esm/memory/causal/evidenceRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.d.ts +2 -0
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js +11 -0
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +10 -1
- package/dist/esm/recorders/observability/BoundaryRecorder.js +9 -1
- package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +4 -1
- package/dist/esm/recorders/observability/FlowchartRecorder.js +13 -1
- package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/LiveStateRecorder.d.ts +2 -0
- package/dist/esm/recorders/observability/LiveStateRecorder.js +9 -0
- package/dist/esm/recorders/observability/LiveStateRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/RouteRecorder.js +5 -0
- package/dist/esm/recorders/observability/RouteRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/StatusRecorder.js +7 -0
- package/dist/esm/recorders/observability/StatusRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/ToolChoiceRecorder.js +5 -0
- package/dist/esm/recorders/observability/ToolChoiceRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +18 -2
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
- package/dist/esm/recorders/observability/status/statusTemplates.js +5 -0
- package/dist/esm/recorders/observability/status/statusTemplates.js.map +1 -1
- package/dist/esm/security/extractSequence.d.ts +36 -5
- package/dist/esm/security/extractSequence.js +99 -26
- package/dist/esm/security/extractSequence.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/bug-report/transcript.js +1 -0
- package/dist/lib/bug-report/transcript.js.map +1 -1
- package/dist/lib/semantics/projection.js +1 -0
- package/dist/lib/semantics/projection.js.map +1 -1
- package/dist/lib/time-travel/receipt.js +4 -3
- package/dist/lib/time-travel/receipt.js.map +1 -1
- package/dist/lib/time-travel/servedView.js +13 -9
- package/dist/lib/time-travel/servedView.js.map +1 -1
- package/dist/lib/trace-toolpack/traceToolpack.js +130 -17
- package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/memory/causal/evidenceRecorder.js +13 -0
- package/dist/memory/causal/evidenceRecorder.js.map +1 -1
- package/dist/recorders/observability/AgentThinkingTraceRecorder.js +11 -0
- package/dist/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
- package/dist/recorders/observability/BoundaryRecorder.js +9 -1
- package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/recorders/observability/FlowchartRecorder.js +13 -1
- package/dist/recorders/observability/FlowchartRecorder.js.map +1 -1
- package/dist/recorders/observability/LiveStateRecorder.js +9 -0
- package/dist/recorders/observability/LiveStateRecorder.js.map +1 -1
- package/dist/recorders/observability/RouteRecorder.js +5 -0
- package/dist/recorders/observability/RouteRecorder.js.map +1 -1
- package/dist/recorders/observability/StatusRecorder.js +7 -0
- package/dist/recorders/observability/StatusRecorder.js.map +1 -1
- package/dist/recorders/observability/ToolChoiceRecorder.js +5 -0
- package/dist/recorders/observability/ToolChoiceRecorder.js.map +1 -1
- package/dist/recorders/observability/commentary/commentaryTemplates.js +18 -2
- package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
- package/dist/recorders/observability/status/statusTemplates.js +5 -0
- package/dist/recorders/observability/status/statusTemplates.js.map +1 -1
- package/dist/security/extractSequence.js +99 -26
- package/dist/security/extractSequence.js.map +1 -1
- package/dist/types/adapters/observability/audit.d.ts +8 -0
- package/dist/types/adapters/observability/audit.d.ts.map +1 -1
- package/dist/types/adapters/observability/otel.d.ts +17 -2
- package/dist/types/adapters/observability/otel.d.ts.map +1 -1
- package/dist/types/adapters/observability/xray.d.ts +8 -0
- package/dist/types/adapters/observability/xray.d.ts.map +1 -1
- package/dist/types/adapters/types.d.ts +49 -0
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/composeRequest.d.ts +10 -7
- package/dist/types/core/agent/composeRequest.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/absent.d.ts +31 -4
- package/dist/types/core/agent/coverage/absent.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/answer.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/index.d.ts +1 -1
- package/dist/types/core/agent/coverage/index.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/read.d.ts +9 -1
- package/dist/types/core/agent/coverage/read.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/types.d.ts +42 -0
- package/dist/types/core/agent/coverage/types.d.ts.map +1 -1
- package/dist/types/core/agent/findings/ledger.d.ts +23 -6
- package/dist/types/core/agent/findings/ledger.d.ts.map +1 -1
- package/dist/types/core/agent/findings/offer.d.ts +23 -6
- package/dist/types/core/agent/findings/offer.d.ts.map +1 -1
- package/dist/types/core/agent/findings/serve.d.ts +19 -6
- package/dist/types/core/agent/findings/serve.d.ts.map +1 -1
- package/dist/types/core/agent/findings/types.d.ts +81 -1
- package/dist/types/core/agent/findings/types.d.ts.map +1 -1
- package/dist/types/core/agent/findings/unsettled.d.ts +122 -0
- package/dist/types/core/agent/findings/unsettled.d.ts.map +1 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/route.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +90 -2
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/stages/window.d.ts.map +1 -1
- package/dist/types/core/agent/toolResultCap.d.ts +4 -1
- package/dist/types/core/agent/toolResultCap.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +5 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/agent/window/ledgerFactPins.d.ts +10 -1
- package/dist/types/core/agent/window/ledgerFactPins.d.ts.map +1 -1
- package/dist/types/core/agent/window/strategy.d.ts +2 -1
- package/dist/types/core/agent/window/strategy.d.ts.map +1 -1
- package/dist/types/core/agent/window/toolNames.d.ts +16 -1
- package/dist/types/core/agent/window/toolNames.d.ts.map +1 -1
- package/dist/types/core/checkin.d.ts.map +1 -1
- package/dist/types/core/runCheckpoint.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +76 -1
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/bug-report/transcript.d.ts +5 -0
- package/dist/types/lib/bug-report/transcript.d.ts.map +1 -1
- package/dist/types/lib/semantics/projection.d.ts.map +1 -1
- package/dist/types/lib/time-travel/receipt.d.ts +4 -3
- package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
- package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
- package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -1
- package/dist/types/memory/causal/evidenceRecorder.d.ts +2 -0
- package/dist/types/memory/causal/evidenceRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts +2 -0
- package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts +10 -1
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts +4 -1
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/LiveStateRecorder.d.ts +2 -0
- package/dist/types/recorders/observability/LiveStateRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/RouteRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/ToolChoiceRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -1
- package/dist/types/recorders/observability/status/statusTemplates.d.ts.map +1 -1
- package/dist/types/security/extractSequence.d.ts +36 -5
- package/dist/types/security/extractSequence.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -27,7 +27,13 @@
|
|
|
27
27
|
* on the record — one line per `ContingentRow`, the value the model used
|
|
28
28
|
* and every result that carried it with the standing the model gave that
|
|
29
29
|
* result (`contingent.ts` is the rule; this only quotes the rows; the
|
|
30
|
-
* heading says the lines are the library's join, not a declaration).
|
|
30
|
+
* heading says the lines are the library's join, not a declaration). After
|
|
31
|
+
* it, `unsettled by absence (read off the record):` (9.113.0) quotes the
|
|
32
|
+
* rows the fold keeps beside a ruled-out standing whose only witness was an
|
|
33
|
+
* absence — what the envelope, as the model was served it, said it did not
|
|
34
|
+
* check and its `try_instead`, in its own field names (`unsettled.ts` is
|
|
35
|
+
* the rule, and quotes nothing the model was not served; the model's own
|
|
36
|
+
* ruled-out line stays in `limitations`, exactly as declared). Every
|
|
31
37
|
* bucket is bounded
|
|
32
38
|
* (`FINDINGS_PIECE_LIMITS`) and every overflow is STATED; an empty bucket is
|
|
33
39
|
* omitted rather than rendered as "no facts". A basis-only ledger
|
|
@@ -122,14 +128,15 @@ exports.isCollapsedToolResult = isCollapsedToolResult;
|
|
|
122
128
|
* section: the piece's sections are separated by a blank line, and an id
|
|
123
129
|
* carrying `\n\nfacts (declared by the model):\n…` would otherwise render as
|
|
124
130
|
* a second, forged, library-authored bucket. `pieceChars` is the ceiling the
|
|
125
|
-
* other three imply for the whole piece (header + the four buckets
|
|
126
|
-
* contingent section at their cap + two count
|
|
131
|
+
* other three imply for the whole piece (header + the four buckets, the
|
|
132
|
+
* contingent section and the unsettled section at their cap + two count
|
|
133
|
+
* lines at theirs + the ask):
|
|
127
134
|
* stated, not enforced by a cut, and pinned by `serve.test.ts` ("the whole
|
|
128
135
|
* piece stays under pieceChars"), which measures a ledger at every cap at
|
|
129
136
|
* once against it.
|
|
130
137
|
*/
|
|
131
138
|
exports.FINDINGS_PIECE_LIMITS = Object.freeze({
|
|
132
|
-
/** Lines per text bucket (facts, limitations, evidenceRefs, nextSteps, contingent) before `+K more`. */
|
|
139
|
+
/** Lines per text bucket (facts, limitations, evidenceRefs, nextSteps, contingent, unsettled) before `+K more`. */
|
|
133
140
|
bucketLines: 64,
|
|
134
141
|
/** Ids per count line (noise, undeclared) before `+K more`. */
|
|
135
142
|
listedIds: 32,
|
|
@@ -137,8 +144,8 @@ exports.FINDINGS_PIECE_LIMITS = Object.freeze({
|
|
|
137
144
|
lineChars: 240,
|
|
138
145
|
/** Chars per id on a count line before `…[clipped N chars]` — an id is an identifier. */
|
|
139
146
|
idChars: 64,
|
|
140
|
-
/** The whole piece's ceiling in chars, implied by the three bounds above (raised for the fifth capped section, 9.110.0). */
|
|
141
|
-
pieceChars:
|
|
147
|
+
/** The whole piece's ceiling in chars, implied by the three bounds above (raised for the fifth capped section, 9.110.0, and the sixth, 9.113.0). */
|
|
148
|
+
pieceChars: 114_688,
|
|
142
149
|
});
|
|
143
150
|
/** The four contract fields the piece serves, in the order they appear. */
|
|
144
151
|
const FIELDS = ['facts', 'limitations', 'evidenceRefs', 'nextSteps'];
|
|
@@ -170,6 +177,7 @@ function findingsLedgerPiece(rows, served = [], answerAsk = 'none') {
|
|
|
170
177
|
bucket('evidenceRefs', openLines(current, tested)),
|
|
171
178
|
bucket('nextSteps', nextStepLines(current)),
|
|
172
179
|
contingentSection(rows),
|
|
180
|
+
unsettledSection(fold),
|
|
173
181
|
countLine(`noise (${DECLARED})`, idsWith(current, 'noise'), ''),
|
|
174
182
|
countLine('undeclared', (0, offer_js_1.undeclaredIds)(served, fold.standingOf), ', served in full below'),
|
|
175
183
|
...(answerAsk === 'quote-facts' ? [reserved_js_1.FINDINGS_ANSWER_ASK] : []),
|
|
@@ -364,6 +372,58 @@ function contingentSection(rows) {
|
|
|
364
372
|
const over = lines.length - shown.length;
|
|
365
373
|
return [CONTINGENT_HEADING, ...shown, ...(over > 0 ? [`+${over} more (cap ${max})`] : [])].join('\n');
|
|
366
374
|
}
|
|
375
|
+
/**
|
|
376
|
+
* The heading of the section that quotes the rows beside a ruled-out
|
|
377
|
+
* standing whose only witness is an absence (9.113.0). It says where the
|
|
378
|
+
* lines come from for the reason `CONTINGENT_HEADING` does: the piece's
|
|
379
|
+
* header says everything below it is what the model itself declared, and
|
|
380
|
+
* these lines are the library's reading of the result the model ruled out
|
|
381
|
+
* on — its envelope's own words, quoted.
|
|
382
|
+
*/
|
|
383
|
+
const UNSETTLED_HEADING = 'unsettled by absence (read off the record):';
|
|
384
|
+
/**
|
|
385
|
+
* The ruled-out standings that rest on an absence (9.113.0) — for each row
|
|
386
|
+
* the fold keeps (`ledger.ts · foldLedger`'s `unsettled`: the last row per
|
|
387
|
+
* result while its current standing is still `ruled-out`), in fold order:
|
|
388
|
+
* one head line in the ruled-out line's own identity form, `ruled out
|
|
389
|
+
* (<toolName>, tool:<id>) on an absence`, then one line per part of the
|
|
390
|
+
* envelope, each anchored to its call by id and keyed by the envelope's own
|
|
391
|
+
* field name — `tool:<id> not_checked: <what>[ — <why>]`, `tool:<id>
|
|
392
|
+
* cannot_cover: …`, `tool:<id> try_instead: <the string as printed>`. One
|
|
393
|
+
* line per part, so no part is cut by another's length (the line cap clips
|
|
394
|
+
* each on its own); capped like a bucket, by lines, with the overflow
|
|
395
|
+
* stated; omitted when the fold keeps none. The model's own ruled-out line
|
|
396
|
+
* stays in `limitations`, as declared.
|
|
397
|
+
*/
|
|
398
|
+
function unsettledSection(fold) {
|
|
399
|
+
const lines = [];
|
|
400
|
+
for (const row of fold.unsettled.values()) {
|
|
401
|
+
// Always present: the fold keeps a row only beside a current ruled-out standing.
|
|
402
|
+
const standing = fold.standingOf.get(row.toolCallId);
|
|
403
|
+
if (standing === undefined)
|
|
404
|
+
continue;
|
|
405
|
+
lines.push(clipLine(`ruled out (${whereOf(standing)}) on an absence`));
|
|
406
|
+
const id = `tool:${row.toolCallId}`;
|
|
407
|
+
for (const item of row.notChecked ?? []) {
|
|
408
|
+
lines.push(clipLine(`${id} not_checked: ${itemText(item)}`));
|
|
409
|
+
}
|
|
410
|
+
for (const item of row.cannotCover ?? []) {
|
|
411
|
+
lines.push(clipLine(`${id} cannot_cover: ${itemText(item)}`));
|
|
412
|
+
}
|
|
413
|
+
if (row.tryInstead !== undefined)
|
|
414
|
+
lines.push(clipLine(`${id} try_instead: ${row.tryInstead}`));
|
|
415
|
+
}
|
|
416
|
+
if (lines.length === 0)
|
|
417
|
+
return undefined;
|
|
418
|
+
const max = exports.FINDINGS_PIECE_LIMITS.bucketLines;
|
|
419
|
+
const shown = lines.slice(0, max);
|
|
420
|
+
const over = lines.length - shown.length;
|
|
421
|
+
return [UNSETTLED_HEADING, ...shown, ...(over > 0 ? [`+${over} more (cap ${max})`] : [])].join('\n');
|
|
422
|
+
}
|
|
423
|
+
/** `<what>[ — <why>]` — one coverage item as the answer's coverage block renders it. */
|
|
424
|
+
function itemText(item) {
|
|
425
|
+
return `${item.what}${item.why === undefined ? '' : ` — ${item.why}`}`;
|
|
426
|
+
}
|
|
367
427
|
// ─── Rendering ─────────────────────────────────────────────────────────
|
|
368
428
|
/** `tool:<id>[ | artifact:<ref>][ (unknown id)]` — the row's own identities. */
|
|
369
429
|
function provenanceOf(row) {
|
|
@@ -414,6 +474,12 @@ function clip(text, max) {
|
|
|
414
474
|
* ticket. The SAME array instance when nothing collapses; otherwise a new
|
|
415
475
|
* array of the same length and order in which only the collapsed entries
|
|
416
476
|
* are new objects.
|
|
477
|
+
*
|
|
478
|
+
* Hand it the COMMITTED conversation and strip afterwards (9.113.0): a
|
|
479
|
+
* message the batch settlement wrote is recognised by its marker
|
|
480
|
+
* (`offer.ts` · `isResultMessage`), which `stripFrameworkFields` removes. A
|
|
481
|
+
* collapsed entry keeps every other field, so stripping after is the same
|
|
482
|
+
* wire as stripping before.
|
|
417
483
|
*/
|
|
418
484
|
function collapseJudged(messages, rows, mode) {
|
|
419
485
|
if (rows === undefined)
|
|
@@ -433,7 +499,10 @@ function collapseJudged(messages, rows, mode) {
|
|
|
433
499
|
}
|
|
434
500
|
exports.collapseJudged = collapseJudged;
|
|
435
501
|
function ticketFor(m, standingOf, mode) {
|
|
436
|
-
|
|
502
|
+
// A settled message is no result (`offer.ts` · `isResultMessage`): a
|
|
503
|
+
// standing that names its id (filed `unknownId`, as written) never turns the
|
|
504
|
+
// library's sentence about a call that never ran into a ticket.
|
|
505
|
+
if (!(0, offer_js_1.isResultMessage)(m) || m.toolCallId === undefined)
|
|
437
506
|
return undefined;
|
|
438
507
|
const row = standingOf.get(m.toolCallId);
|
|
439
508
|
if (row === undefined || !collapses(row.standing, mode))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../src/core/agent/findings/serve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../src/core/agent/findings/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/agent/findings/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/agent/findings/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;AAKH,kFAAkF;AACrE,QAAA,iBAAiB,GAAG,WAAoB,CAAC;AACtD,8EAA8E;AACjE,QAAA,mBAAmB,GAAG,WAAoB,CAAC;AASxD,wEAAwE;AAC3D,QAAA,YAAY,GAAqB,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAC1E,QAAA,aAAa,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,QAAA,eAAe,GAAwB,MAAM,CAAC,MAAM,CAAC;IAChE,MAAM;IACN,MAAM;IACN,OAAO;IACP,WAAW;CACZ,CAAC,CAAC;AAEH;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAAG,GAAG,CAAC;AA4HrC;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG,IAAI,CAAC;AA4DvC;;;;;;GAMG;AACU,QAAA,sBAAsB,GAAG,GAAG,CAAC"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* findings/unsettled — "nothing was found" is not "ruled out".
|
|
4
|
+
*
|
|
5
|
+
* Pattern: one pure rule over (a standing the model just declared, the
|
|
6
|
+
* result the model was served for it, the coverage the dispatch
|
|
7
|
+
* door recorded); the sibling of `contingent.ts`. That one asks
|
|
8
|
+
* "did the model build on a result it had set aside?"; this one
|
|
9
|
+
* asks "did the model set something aside on a result that held
|
|
10
|
+
* nothing?".
|
|
11
|
+
* Role: core/ layer leaf. The two moments that file standings —
|
|
12
|
+
* `stages/toolCalls.ts` (a call's `_findings.previous`) and
|
|
13
|
+
* `stages/route.ts` (the answer's) — pass their standing rows
|
|
14
|
+
* through `withUnsettledRows` on the way to `ledger.ts ·
|
|
15
|
+
* recordFindings`, the one writer, so a derived row lands in the
|
|
16
|
+
* same write, immediately after the standing it is beside.
|
|
17
|
+
* Emits: N/A — and the writer emits nothing for the row either (the
|
|
18
|
+
* conflict row's precedent; see `ledger.ts · recordFindings`).
|
|
19
|
+
*
|
|
20
|
+
* ## The owner's ask, and the rule that answers it
|
|
21
|
+
*
|
|
22
|
+
* A model rules out an HBA path because an HBA lookup keyed on a storage
|
|
23
|
+
* cluster's name found nothing — and the lookup's own envelope said it never
|
|
24
|
+
* checked whether that name is a host at all. The model's `ruled-out` is its
|
|
25
|
+
* word and stays its word: the library never writes a standing (round 1 of
|
|
26
|
+
* the design re-filed it as `open`, which made the library a second writer
|
|
27
|
+
* of the model's word — docs/design/2026-09-honest-answer-ledger.md § 14,
|
|
28
|
+
* R12). What the library adds is a row BESIDE it:
|
|
29
|
+
*
|
|
30
|
+
* a `ruled-out` standing whose ONLY witness is an absence gets an
|
|
31
|
+
* `unsettled-by-absence` row, keyed to the standing's `toolCallId`,
|
|
32
|
+
* carrying what the envelope says was not checked and its `try_instead`
|
|
33
|
+
* as printed.
|
|
34
|
+
*
|
|
35
|
+
* The fences, because they are the rule's honesty:
|
|
36
|
+
* - TWO FACTS, TWO OWNERS, BOTH REQUIRED. "Did the tool return an absence?"
|
|
37
|
+
* has one owner: the dispatch door (`stages/toolCalls.ts ·
|
|
38
|
+
* declareCoverage`), which reads the value the tool RETURNED through the
|
|
39
|
+
* one recognizer (`coverage/read.ts · readCoverageResult`), delivers the
|
|
40
|
+
* status `'absent'`, emits `tools.absent` and files the call's rows on
|
|
41
|
+
* `AgentState.coverageDeclared`. This rule never re-reads a result to
|
|
42
|
+
* decide that: an envelope a tool returned as TEXT (an MCP server in its
|
|
43
|
+
* default text mode) was no absence at the door (no status, no event, no
|
|
44
|
+
* row), so it is none here either, and the record holds one answer, not
|
|
45
|
+
* two. "Was the model SERVED an absence?" has another owner: the result as
|
|
46
|
+
* the model was served it (`offer.ts · knownResults`, the identity source
|
|
47
|
+
* the standing itself resolved against). The door records the return
|
|
48
|
+
* BEFORE the after-tool chain, the tool's own ceiling and placement act,
|
|
49
|
+
* so an after-tool `deny` ("the model does not get to read this"), a
|
|
50
|
+
* ceiling's refusal, a placement ticket, a summary or an agent cap's cut
|
|
51
|
+
* leave the door's rows saying absence while the model read something
|
|
52
|
+
* else. A ruling-out rests on what the model READ: the row is filed only
|
|
53
|
+
* when both hold, and it never quotes a word the model was not served.
|
|
54
|
+
* - THE ROW'S WORDS ARE WHAT THE MODEL WAS SERVED. The served string's
|
|
55
|
+
* LEADING JSON object — the dispatch loop serves the value's
|
|
56
|
+
* serialization and joins any framework note AFTER it (a step
|
|
57
|
+
* boundary's, a refused effect's, the repeated-call note) — read by the
|
|
58
|
+
* one recognizer, bare or bounded by `coverage()`. `notChecked` /
|
|
59
|
+
* `cannotCover` are that object's lists merged in the recognizer's order
|
|
60
|
+
* (a bounding ledger first, then the absence; repeats dropped), so a
|
|
61
|
+
* scrub the chain applied is honored; `tryInstead` is its absence's
|
|
62
|
+
* `try_instead`, carried byte for byte when it is a non-blank string —
|
|
63
|
+
* never parsed and never read for a tool name (a tool name found inside
|
|
64
|
+
* prose is an inference). Every item is read, never trusted: copied as
|
|
65
|
+
* `{ what, why? }`, and one that names no ground left out — a row the
|
|
66
|
+
* checkpoint door would refuse is never filed. The door's own copies are
|
|
67
|
+
* the witness that the tool returned an absence, and nothing more: they
|
|
68
|
+
* are never quoted.
|
|
69
|
+
* - RULED-OUT ONLY. `open` is already unsettled in the model's own word, and
|
|
70
|
+
* `noise` says the result held nothing worth reading — which an absence
|
|
71
|
+
* is. Only a ruling-out claims more than its witness can hold.
|
|
72
|
+
* - A RECORD OF A CHECK. The row is written once, at the standing's moment,
|
|
73
|
+
* and never recomputed (`types.ts · UnsettledByAbsenceRow`); which rows are
|
|
74
|
+
* CURRENT is the ledger's one fold (`ledger.ts · foldLedger`).
|
|
75
|
+
* - TOTAL. Every reader here takes what other code wrote and refuses a shape
|
|
76
|
+
* it cannot read by filing nothing, never by throwing: a derived row must
|
|
77
|
+
* never fail the run.
|
|
78
|
+
*
|
|
79
|
+
* Not read, and named in the README so nobody reads it as covered: a zero-row
|
|
80
|
+
* array (no door records a zero-row reading of the value a tool returned, and
|
|
81
|
+
* counting the SERVED string would count a text `'[]'` that
|
|
82
|
+
* `integrity/empty-lookup/check.ts · readLookupResult` declines — a second
|
|
83
|
+
* answer), a result whose door rows are not on this run's state — an
|
|
84
|
+
* earlier turn of a continued conversation, or a run before `resumeOnError`
|
|
85
|
+
* (`coverageDeclared` is per run and not on the `AgentRunCheckpoint`) — and
|
|
86
|
+
* the envelope's TYPED suggestion, `try_instead_tool`: the row carries the
|
|
87
|
+
* `try_instead` string alone, because nothing in this release reads a typed
|
|
88
|
+
* tool off the row (the join that would, `source-not-consulted`, is not
|
|
89
|
+
* built).
|
|
90
|
+
*
|
|
91
|
+
* `.findings()` must be armed for any of this to run — both call sites sit
|
|
92
|
+
* inside the ledger's gate — and the door's key is read only for a
|
|
93
|
+
* `ruled-out` standing whose result was SERVED as an absence, so a run whose
|
|
94
|
+
* model rules out no such result records the bytes it always did.
|
|
95
|
+
*/
|
|
96
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
97
|
+
exports.withUnsettledRows = exports.unsettledRowOf = void 0;
|
|
98
|
+
const absent_js_1 = require("../coverage/absent.js");
|
|
99
|
+
const items_js_1 = require("../coverage/items.js");
|
|
100
|
+
const ledger_js_1 = require("../coverage/ledger.js");
|
|
101
|
+
const read_js_1 = require("../coverage/read.js");
|
|
102
|
+
/**
|
|
103
|
+
* The rule for ONE standing: the derived row beside it, or nothing. Only a
|
|
104
|
+
* `ruled-out` standing on a result the run identified (the same `known` list
|
|
105
|
+
* `ledger.ts · standingRowsFrom` resolved it against) whose served string
|
|
106
|
+
* reads as an absence AND whose call the door recorded as one (`declared` is
|
|
107
|
+
* `AgentState.coverageDeclared`).
|
|
108
|
+
*/
|
|
109
|
+
function unsettledRowOf(standing, known, declared) {
|
|
110
|
+
if (!isReadByTheRule(standing))
|
|
111
|
+
return undefined;
|
|
112
|
+
const served = servedAbsenceOf(standing.toolCallId, known);
|
|
113
|
+
return served === undefined ? undefined : rowOf(standing, served, declared);
|
|
114
|
+
}
|
|
115
|
+
exports.unsettledRowOf = unsettledRowOf;
|
|
116
|
+
/**
|
|
117
|
+
* The standings in declaration order, each followed immediately by its
|
|
118
|
+
* derived row when the rule files one — what both moments hand to
|
|
119
|
+
* `recordFindings`. The standing rows are the caller's objects, pushed
|
|
120
|
+
* as they are: a batch the rule files nothing beside comes back row for row.
|
|
121
|
+
*
|
|
122
|
+
* `readDeclared` hands over `AgentState.coverageDeclared` and is called at
|
|
123
|
+
* most once, and only for a standing the rule reads (a `ruled-out` on an
|
|
124
|
+
* identified result) whose served result reads as an absence — a pure
|
|
125
|
+
* reading of strings the moment already holds, taken first. A tracked read
|
|
126
|
+
* is visible to every recorder (a narrative line, a `readKeys` entry under
|
|
127
|
+
* `writeProvenance`), so an armed run whose model rules out only results
|
|
128
|
+
* that held something reads nothing it did not read before (the
|
|
129
|
+
* `contingent.ts · hasSetAsideStanding` gate's precedent).
|
|
130
|
+
*/
|
|
131
|
+
function withUnsettledRows(standings, known, readDeclared) {
|
|
132
|
+
const rows = [];
|
|
133
|
+
let declared;
|
|
134
|
+
for (const standing of standings) {
|
|
135
|
+
rows.push(standing);
|
|
136
|
+
if (!isReadByTheRule(standing))
|
|
137
|
+
continue;
|
|
138
|
+
const served = servedAbsenceOf(standing.toolCallId, known);
|
|
139
|
+
if (served === undefined)
|
|
140
|
+
continue;
|
|
141
|
+
declared ??= readDeclared();
|
|
142
|
+
const derived = rowOf(standing, served, declared);
|
|
143
|
+
if (derived !== undefined)
|
|
144
|
+
rows.push(derived);
|
|
145
|
+
}
|
|
146
|
+
return rows;
|
|
147
|
+
}
|
|
148
|
+
exports.withUnsettledRows = withUnsettledRows;
|
|
149
|
+
/**
|
|
150
|
+
* A `ruled-out` standing on a result the run identified — the only standing
|
|
151
|
+
* the rule reads. A call the batch settlement answered
|
|
152
|
+
* (`LLMMessage.notDispatched`) is no result (`offer.ts · isResultMessage`), so
|
|
153
|
+
* a standing that names it is `unknownId` and stops here — and it never
|
|
154
|
+
* reached the dispatch door, so no door row could witness it either.
|
|
155
|
+
*/
|
|
156
|
+
function isReadByTheRule(standing) {
|
|
157
|
+
return standing.standing === 'ruled-out' && standing.unknownId !== true;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* The row, once the model was served an absence: filed only when the door
|
|
161
|
+
* also recorded the call as one, and worded from what was SERVED — the lists
|
|
162
|
+
* in the recognizer's order, the `try_instead` byte for byte.
|
|
163
|
+
*/
|
|
164
|
+
function rowOf(standing, served, declared) {
|
|
165
|
+
const door = declaredFor(standing.toolCallId, declared);
|
|
166
|
+
if (!door.some((row) => row.kind === 'absence'))
|
|
167
|
+
return undefined;
|
|
168
|
+
const facts = served.reading.declared;
|
|
169
|
+
const notChecked = (0, items_js_1.mergeItems)(facts.map((f) => itemsOf(f.coverage.notChecked)));
|
|
170
|
+
const cannotCover = (0, items_js_1.mergeItems)(facts.map((f) => itemsOf(f.coverage.cannotCover)));
|
|
171
|
+
const said = served.absence.try_instead;
|
|
172
|
+
return {
|
|
173
|
+
kind: 'unsettled-by-absence',
|
|
174
|
+
toolCallId: standing.toolCallId,
|
|
175
|
+
...(notChecked.length > 0 && { notChecked }),
|
|
176
|
+
...(cannotCover.length > 0 && { cannotCover }),
|
|
177
|
+
...(isSaid(said) && { tryInstead: said }),
|
|
178
|
+
iteration: standing.iteration,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* The result the model was served for one call, read as an absence: the
|
|
183
|
+
* served string's leading JSON object through the one recognizer
|
|
184
|
+
* (`coverage/read.ts · readCoverageResult` — the door's own law, so the two
|
|
185
|
+
* cannot disagree about what an absence looks like), and the absence it
|
|
186
|
+
* holds, bare or inside the bounding ledger (the recognizer's own order).
|
|
187
|
+
* `undefined` when the model was served no absence.
|
|
188
|
+
*/
|
|
189
|
+
function servedAbsenceOf(toolCallId, known) {
|
|
190
|
+
const value = leadingObjectOf(known.find((r) => r.toolCallId === toolCallId)?.result);
|
|
191
|
+
if (value === undefined)
|
|
192
|
+
return undefined;
|
|
193
|
+
const reading = (0, read_js_1.readCoverageResult)(value);
|
|
194
|
+
if (reading?.status !== 'absent')
|
|
195
|
+
return undefined;
|
|
196
|
+
const absence = (0, absent_js_1.readAbsence)(value) ?? (0, absent_js_1.readAbsence)((0, ledger_js_1.readCoverageLedger)(value)?.result);
|
|
197
|
+
return absence === undefined ? undefined : { reading, absence };
|
|
198
|
+
}
|
|
199
|
+
/** The door's rows for one call, in the order it filed them; anything else skipped. */
|
|
200
|
+
function declaredFor(toolCallId, declared) {
|
|
201
|
+
if (!Array.isArray(declared))
|
|
202
|
+
return [];
|
|
203
|
+
return declared.filter((row) => typeof row === 'object' &&
|
|
204
|
+
row !== null &&
|
|
205
|
+
row.toolCallId === toolCallId);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* One list, read and never trusted: `[]` for anything that is not an array,
|
|
209
|
+
* each item copied as the vocabulary spells it — `{ what, why? }`, plain —
|
|
210
|
+
* and an item whose `what` is not a non-blank string left out, as is a
|
|
211
|
+
* `why` that says nothing (`coverage/items.ts · normalizeCoverageList`'s
|
|
212
|
+
* own law of a well-formed item).
|
|
213
|
+
*/
|
|
214
|
+
function itemsOf(list) {
|
|
215
|
+
if (!Array.isArray(list))
|
|
216
|
+
return [];
|
|
217
|
+
const out = [];
|
|
218
|
+
for (const item of list) {
|
|
219
|
+
if (typeof item !== 'object' || item === null)
|
|
220
|
+
continue;
|
|
221
|
+
const { what, why } = item;
|
|
222
|
+
if (!isSaid(what))
|
|
223
|
+
continue;
|
|
224
|
+
out.push({ what, ...(isSaid(why) && { why }) });
|
|
225
|
+
}
|
|
226
|
+
return out;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* The one parse: the JSON object that OPENS the served string, or nothing.
|
|
230
|
+
* The dispatch loop serves `safeStringify(value)` and joins any framework
|
|
231
|
+
* note after it, so the value's extent is found by the JSON grammar alone —
|
|
232
|
+
* strings and their escapes skipped, brackets counted — and that span is
|
|
233
|
+
* parsed once, guarded (the `ledger.ts · placedRefOf` precedent). A string
|
|
234
|
+
* that does not open with `{` is never parsed at all.
|
|
235
|
+
*/
|
|
236
|
+
function leadingObjectOf(served) {
|
|
237
|
+
if (typeof served !== 'string' || served[0] !== '{')
|
|
238
|
+
return undefined;
|
|
239
|
+
let depth = 0;
|
|
240
|
+
let inString = false;
|
|
241
|
+
for (let i = 0; i < served.length; i += 1) {
|
|
242
|
+
const ch = served[i];
|
|
243
|
+
if (inString) {
|
|
244
|
+
if (ch === '\\')
|
|
245
|
+
i += 1;
|
|
246
|
+
else if (ch === '"')
|
|
247
|
+
inString = false;
|
|
248
|
+
}
|
|
249
|
+
else if (ch === '"') {
|
|
250
|
+
inString = true;
|
|
251
|
+
}
|
|
252
|
+
else if (ch === '{' || ch === '[') {
|
|
253
|
+
depth += 1;
|
|
254
|
+
}
|
|
255
|
+
else if (ch === '}' || ch === ']') {
|
|
256
|
+
depth -= 1;
|
|
257
|
+
if (depth === 0)
|
|
258
|
+
return parsedOf(served.slice(0, i + 1));
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return undefined;
|
|
262
|
+
}
|
|
263
|
+
/** `JSON.parse`, guarded: `undefined` for text that is not one JSON value. */
|
|
264
|
+
function parsedOf(text) {
|
|
265
|
+
try {
|
|
266
|
+
return JSON.parse(text);
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
return undefined;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/** A string that says something — non-blank. */
|
|
273
|
+
function isSaid(value) {
|
|
274
|
+
return typeof value === 'string' && value.trim() !== '';
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=unsettled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsettled.js","sourceRoot":"","sources":["../../../../src/core/agent/findings/unsettled.ts"],"names":[],"mappings":"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"}
|
|
@@ -151,13 +151,16 @@ function buildCallLLMStage(deps) {
|
|
|
151
151
|
// Anthropic's API contract we need the original LLMMessage with
|
|
152
152
|
// `toolCalls` intact so tool_use → tool_result correlation survives.
|
|
153
153
|
// `stripFrameworkFields` takes off `injectedBy` — the marker the delivery
|
|
154
|
-
// stage stamps so the messages slot can say WHO put a message here
|
|
155
|
-
//
|
|
154
|
+
// stage stamps so the messages slot can say WHO put a message here — and
|
|
155
|
+
// `notDispatched`, the batch settlement's marker (9.113.0). Both are
|
|
156
|
+
// framework bookkeeping, not conversation, and are removed BEFORE the
|
|
156
157
|
// request exists rather than trusted to be ignored: a consumer-authored
|
|
157
158
|
// adapter that serializes a message wholesale would otherwise put library
|
|
158
159
|
// internals on someone's wire. Stripping removes a FIELD, never a message,
|
|
159
160
|
// so `messages[i]` is still the message the cache marker's index names.
|
|
160
|
-
|
|
161
|
+
// `committed` keeps both markers for the readers below that must see them.
|
|
162
|
+
const committed = scope.history ?? [];
|
|
163
|
+
const history = (0, composeRequest_js_1.stripFrameworkFields)(committed);
|
|
161
164
|
// ── the findings ledger, served (9.101.0, step 3) ──────────────────
|
|
162
165
|
// ONE gated read of the committed key, used twice. The COLLAPSE rewrites,
|
|
163
166
|
// on the wire only, the `content` of `role: 'tool'` messages the model
|
|
@@ -180,14 +183,20 @@ function buildCallLLMStage(deps) {
|
|
|
180
183
|
// serves the same ledger over the same ids reuses the cached prefix, and
|
|
181
184
|
// a call after the ledger moved does not (`findings/serve.ts` · "The cache"). An
|
|
182
185
|
// unarmed agent reads no key and serves the bytes it always did.
|
|
186
|
+
// Both read the COMMITTED conversation, then the wire is stripped
|
|
187
|
+
// (9.113.0): a message the batch settlement wrote is no result
|
|
188
|
+
// (`findings/offer.ts` · `isResultMessage`) and only its marker says so —
|
|
189
|
+
// the marker `stripFrameworkFields` takes off. Same ids, same order, same
|
|
190
|
+
// wire; `lib/time-travel/servedView.ts` rebuilds it the same way.
|
|
183
191
|
const ledger = deps.hasFindingsLedger === true
|
|
184
192
|
? scope.findingsLedger
|
|
185
193
|
: undefined;
|
|
186
|
-
const
|
|
187
|
-
? (0, serve_js_1.collapseJudged)(
|
|
188
|
-
:
|
|
194
|
+
const collapsed = deps.hasFindingsLedger === true
|
|
195
|
+
? (0, serve_js_1.collapseJudged)(committed, ledger, deps.findingsServe ?? 'ledger-and-facts')
|
|
196
|
+
: committed;
|
|
197
|
+
const messages = collapsed === committed ? history : (0, composeRequest_js_1.stripFrameworkFields)(collapsed);
|
|
189
198
|
const ledgerPiece = deps.hasFindingsLedger === true
|
|
190
|
-
? (0, serve_js_1.findingsLedgerPiece)(ledger, (0, serve_js_1.servedToolCallIds)(
|
|
199
|
+
? (0, serve_js_1.findingsLedgerPiece)(ledger, (0, serve_js_1.servedToolCallIds)(committed), deps.findingsAnswerAsk ?? 'none')
|
|
191
200
|
: undefined;
|
|
192
201
|
// ── the declared ontology, served (9.106.0) ──────────────────────────
|
|
193
202
|
// ONE gated read of the run constant seed wrote; the piece is a pure
|
|
@@ -422,7 +431,20 @@ function buildCallLLMStage(deps) {
|
|
|
422
431
|
[];
|
|
423
432
|
const droppedResults = new Set(windowVisits.flatMap((v) => v.droppedObservations ?? []));
|
|
424
433
|
if (servedGrounded.length > 0 && droppedResults.size > 0) {
|
|
425
|
-
|
|
434
|
+
// The frame's tool messages, named from `committed` — the stage's ONE
|
|
435
|
+
// read of `scope.history`, at its top — rather than
|
|
436
|
+
// `llmRequest.messages`: the same messages in the same order
|
|
437
|
+
// (stripping removes a FIELD, never a message; the collapse rewrites
|
|
438
|
+
// `content` only; the staged-refs nudge is a `role: 'user'` line that
|
|
439
|
+
// names no tool), but the wire has lost the batch settlement's marker
|
|
440
|
+
// (9.113.0), and a settled sentence is no fresh result — the helper
|
|
441
|
+
// says so only when it can see `LLMMessage.notDispatched`
|
|
442
|
+
// (`window/toolNames.ts` · "A settled message is not a result at
|
|
443
|
+
// all"). Never a second `scope.history` read: every tracked read is a
|
|
444
|
+
// narrative step, and one more here renumbered every step after it on
|
|
445
|
+
// runs that never settle anything (pinned by
|
|
446
|
+
// `test/integrity/danglingReference.test.ts` · "the narrative").
|
|
447
|
+
const frame = committed;
|
|
426
448
|
const presentResults = new Set(frame
|
|
427
449
|
.map((m) => (0, toolNames_js_1.toolNameOfMessage)(m, frame))
|
|
428
450
|
.filter((name) => name !== undefined));
|