@namzu/sdk 56.0.1 → 56.2.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 (119) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/compaction/context-breakdown.d.ts +1 -1
  3. package/dist/compaction/context-breakdown.d.ts.map +1 -1
  4. package/dist/compaction/context-breakdown.js +9 -2
  5. package/dist/compaction/context-breakdown.js.map +1 -1
  6. package/dist/compaction/verifier.d.ts.map +1 -1
  7. package/dist/compaction/verifier.js +3 -1
  8. package/dist/compaction/verifier.js.map +1 -1
  9. package/dist/public-runtime.d.ts +1 -1
  10. package/dist/public-runtime.d.ts.map +1 -1
  11. package/dist/public-runtime.js +1 -1
  12. package/dist/public-runtime.js.map +1 -1
  13. package/dist/runtime/query/executor.d.ts +17 -1
  14. package/dist/runtime/query/executor.d.ts.map +1 -1
  15. package/dist/runtime/query/executor.js +73 -5
  16. package/dist/runtime/query/executor.js.map +1 -1
  17. package/dist/runtime/query/file-evidence-context.d.ts +21 -4
  18. package/dist/runtime/query/file-evidence-context.d.ts.map +1 -1
  19. package/dist/runtime/query/file-evidence-context.js +70 -8
  20. package/dist/runtime/query/file-evidence-context.js.map +1 -1
  21. package/dist/runtime/query/index.d.ts.map +1 -1
  22. package/dist/runtime/query/index.js +2 -11
  23. package/dist/runtime/query/index.js.map +1 -1
  24. package/dist/runtime/query/iteration/index.d.ts +1 -2
  25. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  26. package/dist/runtime/query/iteration/index.js +30 -19
  27. package/dist/runtime/query/iteration/index.js.map +1 -1
  28. package/dist/runtime/query/iteration/recorded-context.d.ts +18 -0
  29. package/dist/runtime/query/iteration/recorded-context.d.ts.map +1 -0
  30. package/dist/runtime/query/iteration/recorded-context.js +37 -0
  31. package/dist/runtime/query/iteration/recorded-context.js.map +1 -0
  32. package/dist/runtime/query/iteration/step-context.d.ts +15 -51
  33. package/dist/runtime/query/iteration/step-context.d.ts.map +1 -1
  34. package/dist/runtime/query/iteration/step-context.js +24 -134
  35. package/dist/runtime/query/iteration/step-context.js.map +1 -1
  36. package/dist/runtime/query/iteration/step-shaping.d.ts +20 -8
  37. package/dist/runtime/query/iteration/step-shaping.d.ts.map +1 -1
  38. package/dist/runtime/query/iteration/step-shaping.js +52 -26
  39. package/dist/runtime/query/iteration/step-shaping.js.map +1 -1
  40. package/dist/scheduler/completion-inbox.d.ts +27 -0
  41. package/dist/scheduler/completion-inbox.d.ts.map +1 -1
  42. package/dist/scheduler/completion-inbox.js +88 -21
  43. package/dist/scheduler/completion-inbox.js.map +1 -1
  44. package/dist/store/session-index/fts.d.ts.map +1 -1
  45. package/dist/store/session-index/fts.js +6 -0
  46. package/dist/store/session-index/fts.js.map +1 -1
  47. package/dist/test-support/file-evidence-held.d.ts +11 -0
  48. package/dist/test-support/file-evidence-held.d.ts.map +1 -0
  49. package/dist/test-support/file-evidence-held.js +28 -0
  50. package/dist/test-support/file-evidence-held.js.map +1 -0
  51. package/dist/test-support/request-only.d.ts +10 -0
  52. package/dist/test-support/request-only.d.ts.map +1 -0
  53. package/dist/test-support/request-only.js +15 -0
  54. package/dist/test-support/request-only.js.map +1 -0
  55. package/dist/tools/builtins/content-fingerprint.d.ts +12 -0
  56. package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -1
  57. package/dist/tools/builtins/content-fingerprint.js +14 -0
  58. package/dist/tools/builtins/content-fingerprint.js.map +1 -1
  59. package/dist/tools/builtins/edit.d.ts.map +1 -1
  60. package/dist/tools/builtins/edit.js +19 -16
  61. package/dist/tools/builtins/edit.js.map +1 -1
  62. package/dist/tools/builtins/stale-before-review.d.ts +18 -0
  63. package/dist/tools/builtins/stale-before-review.d.ts.map +1 -0
  64. package/dist/tools/builtins/stale-before-review.js +42 -0
  65. package/dist/tools/builtins/stale-before-review.js.map +1 -0
  66. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  67. package/dist/tools/builtins/write-file.js +4 -0
  68. package/dist/tools/builtins/write-file.js.map +1 -1
  69. package/dist/tools/defineTool.d.ts +2 -0
  70. package/dist/tools/defineTool.d.ts.map +1 -1
  71. package/dist/tools/defineTool.js +1 -0
  72. package/dist/tools/defineTool.js.map +1 -1
  73. package/dist/tools/untrusted-envelope.d.ts +7 -0
  74. package/dist/tools/untrusted-envelope.d.ts.map +1 -1
  75. package/dist/tools/untrusted-envelope.js +3 -1
  76. package/dist/tools/untrusted-envelope.js.map +1 -1
  77. package/dist/turn/evidence-recall.d.ts +19 -8
  78. package/dist/turn/evidence-recall.d.ts.map +1 -1
  79. package/dist/turn/evidence-recall.js +134 -53
  80. package/dist/turn/evidence-recall.js.map +1 -1
  81. package/dist/turn/memory-recall.d.ts +18 -0
  82. package/dist/turn/memory-recall.d.ts.map +1 -1
  83. package/dist/turn/memory-recall.js +43 -4
  84. package/dist/turn/memory-recall.js.map +1 -1
  85. package/dist/types/message/index.d.ts +46 -1
  86. package/dist/types/message/index.d.ts.map +1 -1
  87. package/dist/types/message/index.js +78 -1
  88. package/dist/types/message/index.js.map +1 -1
  89. package/dist/types/session/prepare-step.d.ts +24 -0
  90. package/dist/types/session/prepare-step.d.ts.map +1 -1
  91. package/dist/types/tool/index.d.ts +16 -0
  92. package/dist/types/tool/index.d.ts.map +1 -1
  93. package/dist/types/tool/index.js.map +1 -1
  94. package/package.json +1 -1
  95. package/src/compaction/context-breakdown.ts +11 -3
  96. package/src/compaction/verifier.ts +3 -1
  97. package/src/public-runtime.ts +7 -0
  98. package/src/runtime/query/executor.ts +84 -5
  99. package/src/runtime/query/file-evidence-context.ts +79 -11
  100. package/src/runtime/query/index.ts +2 -10
  101. package/src/runtime/query/iteration/index.ts +32 -26
  102. package/src/runtime/query/iteration/recorded-context.ts +48 -0
  103. package/src/runtime/query/iteration/step-context.ts +27 -155
  104. package/src/runtime/query/iteration/step-shaping.ts +64 -40
  105. package/src/scheduler/completion-inbox.ts +87 -20
  106. package/src/store/session-index/fts.ts +5 -0
  107. package/src/test-support/file-evidence-held.ts +27 -0
  108. package/src/test-support/request-only.ts +19 -0
  109. package/src/tools/builtins/content-fingerprint.ts +20 -0
  110. package/src/tools/builtins/edit.ts +18 -15
  111. package/src/tools/builtins/stale-before-review.ts +45 -0
  112. package/src/tools/builtins/write-file.ts +5 -0
  113. package/src/tools/defineTool.ts +3 -0
  114. package/src/tools/untrusted-envelope.ts +10 -1
  115. package/src/turn/evidence-recall.ts +189 -58
  116. package/src/turn/memory-recall.ts +59 -5
  117. package/src/types/message/index.ts +108 -1
  118. package/src/types/session/prepare-step.ts +26 -0
  119. package/src/types/tool/index.ts +18 -0
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-step.d.ts","sourceRoot":"","sources":["../../../src/types/session/prepare-step.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare-step.d.ts","sourceRoot":"","sources":["../../../src/types/session/prepare-step.ts"],"names":[],"mappings":"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"}
@@ -1040,6 +1040,22 @@ export interface ToolDefinition<TInput = unknown> extends ToolPresentation<TInpu
1040
1040
  * the safe direction to be wrong in.
1041
1041
  */
1042
1042
  pathArgument?: string;
1043
+ /**
1044
+ * A refusal that needs no person's answer: the call cannot run as it stands,
1045
+ * and the tool can already tell.
1046
+ *
1047
+ * Asked once the arguments are valid and BEFORE the call is put to a
1048
+ * reviewer, so a person is never asked to approve a change that would be
1049
+ * refused the moment they said yes. A file tool answers here when the file
1050
+ * moved on disk after the session read it. Returning `undefined` means no
1051
+ * objection; the call goes on to review and `execute`, which keep their own
1052
+ * checks, since the state may move again in between. A hook that throws is
1053
+ * read as no objection too.
1054
+ */
1055
+ refuseBeforeReview?(input: TInput, context: ToolContext): Promise<{
1056
+ readonly error: string;
1057
+ readonly facts?: import('./presentation.js').ToolFacts;
1058
+ } | undefined>;
1043
1059
  /**
1044
1060
  * The argument that holds an absolute URL the tool has already
1045
1061
  * canonicalised in its input schema — one spelling, no whitespace.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"AAyzCA,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"AA20CA,cAAc,aAAa,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/sdk",
3
- "version": "56.0.1",
3
+ "version": "56.2.0",
4
4
  "description": "Open-source AI kernel for TypeScript: runs an agent the way an operating system runs a process, with an identity and a budget, scheduled tool calls and checkpointed turns.",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "engines": {
@@ -12,7 +12,7 @@
12
12
  */
13
13
 
14
14
  import { CHARS_PER_TOKEN } from '../constants/limits.js'
15
- import type { Message } from '../types/message/index.js'
15
+ import { type Message, isTurnContextEntry } from '../types/message/index.js'
16
16
  import type { LLMToolSchema } from '../types/tool/index.js'
17
17
  import { TRIGGER_BUFFER_TOKENS, TRIGGER_OUTPUT_RESERVE_CAP_TOKENS } from './context-window.js'
18
18
  import { estimateMessageTokens, estimateTextTokens } from './token-estimate.js'
@@ -166,6 +166,9 @@ function breakdownMessages(messages: readonly Message[]): ContextMessageBreakdow
166
166
  const name = nameOfCall.get(message.toolCallId) ?? 'unknown'
167
167
  toolResultsByType[name] = (toolResultsByType[name] ?? 0) + tokensOfContent(message)
168
168
  } else if (message.role === 'user') {
169
+ // Recorded context is what the host recalled for the model, not
170
+ // something the operator said, so it is counted under memory.
171
+ if (isTurnContextEntry(message)) continue
169
172
  userTokens += tokensOfContent(message)
170
173
  }
171
174
  }
@@ -175,13 +178,15 @@ function breakdownMessages(messages: readonly Message[]): ContextMessageBreakdow
175
178
  /** Split a window into the parts that fill it. */
176
179
  export function analyzeContextUsage(input: ContextUsageInput): ContextBreakdown {
177
180
  const windowTokens = Math.max(0, Math.round(input.windowTokens))
181
+ const recorded = (input.messages ?? []).filter(isTurnContextEntry)
182
+ const recordedTokens = recorded.reduce((sum, message) => sum + tokensOfContent(message), 0)
178
183
  const fixed: Record<(typeof CONTEXT_CATEGORY_ORDER)[number], number> = {
179
184
  'system-prompt': nonNegative(input.systemPromptTokens),
180
185
  'system-tools': nonNegative(input.systemToolTokens),
181
186
  'mcp-tools': nonNegative(input.mcpToolTokens),
182
187
  'mcp-instructions': nonNegative(input.mcpInstructionTokens),
183
188
  agents: nonNegative(input.agentTokens),
184
- memory: nonNegative(input.memoryTokens),
189
+ memory: nonNegative(input.memoryTokens) + recordedTokens,
185
190
  skills: nonNegative(input.skillTokens),
186
191
  messages: 0,
187
192
  }
@@ -195,7 +200,10 @@ export function analyzeContextUsage(input: ContextUsageInput): ContextBreakdown
195
200
  const rawMessages =
196
201
  measured > 0
197
202
  ? Math.max(0, measured - fixedTotal)
198
- : messages.reduce((sum, message) => sum + tokensOfContent(message), 0)
203
+ : messages.reduce(
204
+ (sum, message) => (isTurnContextEntry(message) ? sum : sum + tokensOfContent(message)),
205
+ 0,
206
+ )
199
207
  fixed.messages = Math.min(rawMessages, Math.max(0, windowTokens - fixedTotal - bufferTokens))
200
208
 
201
209
  const totalTokens = measured > 0 ? Math.max(measured, fixedTotal) : fixedTotal + rawMessages
@@ -55,7 +55,9 @@ function isStandingContext(message: Message): boolean {
55
55
  return (
56
56
  source?.type === 'project-instructions' ||
57
57
  (source?.type === 'runtime-context' &&
58
- (source.kind === 'step-context' || source.kind === 'reminder'))
58
+ (source.kind === 'step-context' ||
59
+ source.kind === 'reminder' ||
60
+ source.kind === 'turn-context'))
59
61
  )
60
62
  }
61
63
 
@@ -1227,6 +1227,13 @@ export {
1227
1227
  selectAssistantText,
1228
1228
  createProjectInstructionMessage,
1229
1229
  createRuntimeContextMessage,
1230
+ createTurnContextEntry,
1231
+ isTurnContextEntry,
1232
+ lastPromptText,
1233
+ turnContextEntries,
1234
+ isTurnContextKey,
1235
+ turnContextKey,
1236
+ MAX_TURN_CONTEXT_KEY_LENGTH,
1230
1237
  createSystemMessage,
1231
1238
  createToolMessage,
1232
1239
  hasNonTextBlocks,
@@ -1,5 +1,5 @@
1
1
  import { createHash } from 'node:crypto'
2
- import { join } from 'node:path'
2
+ import { join, resolve } from 'node:path'
3
3
  import type { Span } from '@opentelemetry/api'
4
4
  import type { AuthorizationGate } from '../../authorization/gate.js'
5
5
  import { unknownProgramInLine } from '../../authorization/program.js'
@@ -72,7 +72,11 @@ import {
72
72
  runPreToolHook,
73
73
  unknownToolMessage,
74
74
  } from './executor/tool-call-admission.js'
75
- import { describeVisibleFileEvidence } from './file-evidence-context.js'
75
+ import {
76
+ type FileEvidence,
77
+ describeVisibleFileEvidence,
78
+ visibleFileEvidence,
79
+ } from './file-evidence-context.js'
76
80
  import { seedObservationLedger } from './file-evidence-seed.js'
77
81
  import { DEFAULT_TOOL_RESULT_GUARDRAILS } from './guardrail-presets.js'
78
82
  import { declaredWriteEscalation, shellEscalations } from './path-escalation.js'
@@ -845,7 +849,21 @@ export class ToolExecutor {
845
849
  })
846
850
  }
847
851
 
848
- /** Request-only evidence from the same ledger used by mutation admission. No filesystem I/O. */
852
+ /**
853
+ * The entries that hold now, from the same ledger used by mutation
854
+ * admission. No filesystem I/O. The loop records the difference from what
855
+ * the conversation already says.
856
+ */
857
+ fileEvidenceEntries(messages: readonly Message[]): FileEvidence[] {
858
+ return visibleFileEvidence(
859
+ messages,
860
+ this.fileReadTracker,
861
+ this.config.workingDirectory,
862
+ this.sandboxed,
863
+ )
864
+ }
865
+
866
+ /** The whole of the evidence as one text, from the same ledger. No filesystem I/O. */
849
867
  describeFileEvidence(messages: readonly Message[]): string | undefined {
850
868
  return describeVisibleFileEvidence(
851
869
  messages,
@@ -1062,12 +1080,16 @@ export class ToolExecutor {
1062
1080
  if ((response.message.toolCalls ?? []).length > 0) await this.awaitSandbox()
1063
1081
  const calls = new Map<string, PreparedDirectCall>()
1064
1082
  const escalations = new Map<string, ToolCallEscalation>()
1083
+ const earlierPaths: string[] = []
1065
1084
  for (const toolCall of response.message.toolCalls ?? []) {
1066
- const call = await prepareDirectCall(
1085
+ const prepared = await prepareDirectCall(
1067
1086
  this.admissionHost(),
1068
1087
  toolCall,
1069
1088
  !hostModifiedCallIds?.has(toolCall.id),
1070
1089
  )
1090
+ const call = await this.refusedBeforeReview(prepared, earlierPaths)
1091
+ const path = inputPathOf(prepared)
1092
+ if (path !== undefined) earlierPaths.push(path)
1071
1093
  calls.set(toolCall.id, call)
1072
1094
  const escalation = await this.escalationOrUnfinished(call)
1073
1095
  if (escalation) escalations.set(toolCall.id, escalation)
@@ -1076,6 +1098,48 @@ export class ToolExecutor {
1076
1098
  return this.publishPreparedBatch(calls, escalations)
1077
1099
  }
1078
1100
 
1101
+ /**
1102
+ * A ready call the tool already knows cannot run, answered now instead of
1103
+ * after a reviewer has been asked about it (`ToolDefinition.refuseBeforeReview`).
1104
+ *
1105
+ * The refusal takes the place of the call, as any other refusal found while
1106
+ * preparing it does: it reaches no reviewer, runs nothing and answers the
1107
+ * model with the tool's own text. A hook that throws objects to nothing.
1108
+ */
1109
+ private async refusedBeforeReview(
1110
+ call: PreparedDirectCall,
1111
+ earlierPaths: readonly string[],
1112
+ ): Promise<PreparedDirectCall> {
1113
+ if (call.kind !== 'ready') return call
1114
+ const tool = this.config.tools.get(call.toolName)
1115
+ if (!tool?.refuseBeforeReview) return call
1116
+ // An earlier call in the same batch may read or write this path first,
1117
+ // which can make the call valid by the time it runs; the tool's own
1118
+ // check at run time answers it then.
1119
+ const path = inputPathOf(call)
1120
+ if (path !== undefined) {
1121
+ const target = resolve(this.config.workingDirectory, path)
1122
+ if (earlierPaths.some((p) => resolve(this.config.workingDirectory, p) === target)) return call
1123
+ }
1124
+ try {
1125
+ const refusal = await tool.refuseBeforeReview(call.input, this.buildToolContext())
1126
+ this.config.abortSignal.throwIfAborted()
1127
+ if (!refusal) return call
1128
+ return {
1129
+ kind: 'synthetic',
1130
+ toolCall: call.toolCall,
1131
+ toolName: call.toolName,
1132
+ input: call.input,
1133
+ message: formatFailedToolOutput(undefined, refusal.error),
1134
+ isError: true,
1135
+ ...(refusal.facts ? { facts: refusal.facts } : {}),
1136
+ }
1137
+ } catch {
1138
+ this.config.abortSignal.throwIfAborted()
1139
+ return call
1140
+ }
1141
+ }
1142
+
1079
1143
  /**
1080
1144
  * {@link escalationOf}, except that a check which itself throws is not
1081
1145
  * read as "nothing found". The failure becomes an escalation of its own
@@ -1257,14 +1321,21 @@ export class ToolExecutor {
1257
1321
  }
1258
1322
  const calls = new Map((previous as OwnedPreparedToolBatch).calls)
1259
1323
  const escalations = new Map((previous as OwnedPreparedToolBatch).escalations)
1324
+ const earlierPaths: string[] = []
1260
1325
  for (const toolCall of response.message.toolCalls ?? []) {
1261
1326
  if (changedCallIds.has(toolCall.id)) {
1262
- const call = await prepareDirectCall(this.admissionHost(), toolCall, false)
1327
+ const call = await this.refusedBeforeReview(
1328
+ await prepareDirectCall(this.admissionHost(), toolCall, false),
1329
+ earlierPaths,
1330
+ )
1263
1331
  calls.set(toolCall.id, call)
1264
1332
  const escalation = await this.escalationOrUnfinished(call)
1265
1333
  if (escalation) escalations.set(toolCall.id, escalation)
1266
1334
  else escalations.delete(toolCall.id)
1267
1335
  }
1336
+ const prepared = calls.get(toolCall.id)
1337
+ const path = prepared ? inputPathOf(prepared) : undefined
1338
+ if (path !== undefined) earlierPaths.push(path)
1268
1339
  }
1269
1340
  this.config.abortSignal.throwIfAborted()
1270
1341
  return this.publishPreparedBatch(calls, escalations)
@@ -3420,3 +3491,11 @@ class Semaphore {
3420
3491
  else this.available++
3421
3492
  }
3422
3493
  }
3494
+
3495
+ /** The `path` argument a prepared call carries, when it has one. */
3496
+ function inputPathOf(call: PreparedDirectCall): string | undefined {
3497
+ const input = call.input as { readonly path?: unknown } | null | undefined
3498
+ return input !== null && typeof input === 'object' && typeof input.path === 'string'
3499
+ ? input.path
3500
+ : undefined
3501
+ }
@@ -29,14 +29,13 @@ import {
29
29
  */
30
30
  const MAX_RECEIPT_UNITS = 32_000
31
31
 
32
- /** The heading of the file-evidence block; a later block under it replaces an earlier one. */
33
- export const FILE_EVIDENCE_HEADING =
34
- 'Visible file evidence (as of this step; a later block with this heading replaces this one)'
32
+ /** The words every file-evidence entry opens with. */
33
+ export const FILE_EVIDENCE_HEADING = 'Visible file evidence'
35
34
 
36
- /** Said when the entries of an earlier block no longer hold and none replaces them. */
37
- export const FILE_EVIDENCE_NONE = `${FILE_EVIDENCE_HEADING}: no entry holds any longer.`
35
+ /** Starts the line of an entry that names the paths whose earlier entries no longer hold. */
36
+ const NO_LONGER_HOLDS = 'No longer holds: '
38
37
 
39
- interface FileEvidence {
38
+ export interface FileEvidence {
40
39
  readonly path: string
41
40
  /** Absent on the write-rooted entries; `'read'` on a body that is a receipt. */
42
41
  readonly kind?: 'read'
@@ -46,14 +45,14 @@ interface FileEvidence {
46
45
  }
47
46
 
48
47
  /** Join visible call bodies, successful receipts and this executor's observation ledger. */
49
- export function describeVisibleFileEvidence(
48
+ export function visibleFileEvidence(
50
49
  messages: readonly Message[],
51
50
  tracker: FileReadTracker,
52
51
  workingDirectory: string,
53
52
  sandboxed: boolean,
54
- ): string | undefined {
53
+ ): FileEvidence[] {
55
54
  // Execution-owned witnesses survive transparent wrappers; a name alone proves nothing.
56
- if (!tracker.writeCallId || !tracker.fingerprint) return
55
+ if (!tracker.writeCallId || !tracker.fingerprint) return []
57
56
  // Lexical, as this projection has always looked entries up: a spelling that
58
57
  // does not resolve to the tool's canonical key finds nothing and the path is
59
58
  // simply not admitted. Writing the ledger is the side that has to key the
@@ -85,8 +84,77 @@ export function describeVisibleFileEvidence(
85
84
  // Malformed retained inputs or a custom tracker cannot establish evidence.
86
85
  }
87
86
  }
88
- if (files.size === 0) return
89
- return `${FILE_EVIDENCE_HEADING}: each entry's current body is the complete body in the named successful write call, with the edit calls in editsInCalls — when present — applied in that order. An entry marked kind:"read" instead names a successful read call whose own receipt shows the file WHOLE, rendered with every line behind its own N<tab> prefix; that receipt is the body, and such an entry never carries editsInCalls. This runtime performed that reconstruction and checked it against its own file observation; it is not a derivation left to you. Reuse the body for a targeted edit; a read solely to recall it is unnecessary. This is NOT a fresh disk check, and after a resume the observation behind an entry may itself have been rebuilt from this conversation's own earlier calls rather than made while this process ran. Built-in edit/write still compare the disk body at mutation admission and refuse observed drift; on refusal inspect the current file and replan. Missing entries establish nothing.\n${JSON.stringify([...files.values()])}`
87
+ return [...files.values()]
88
+ }
89
+
90
+ const FILE_EVIDENCE_GUIDANCE = `each entry names a file (path), the successful write call that holds its complete current body (bodyInCall, that call's id), the edit calls to apply to that body in order (editsInCalls, when present), and a short code for the file as this runtime last observed it (observedFingerprint, which changes when the content does). An entry marked kind:"read" instead names a successful read call whose own receipt shows the whole file, every line behind its own N<tab> prefix; that receipt is the body, and such an entry never carries edit calls. The runtime did that reconstruction and checked it against its own file observation. Reuse the body for a targeted edit; a read only to recall it is unnecessary. This is not a fresh disk check, and after a resume the observation behind an entry may have been rebuilt from this conversation's earlier calls rather than made while this process ran. The built-in edit and write tools still compare the disk body when they run and refuse on drift; on refusal, inspect the current file and replan. Missing entries establish nothing. An entry for a path replaces every earlier entry for that path, and a path listed under "No longer holds" has no entry any more.`
91
+
92
+ /** The whole of what holds now: every entry, with the guidance for reading them. */
93
+ export function describeVisibleFileEvidence(
94
+ messages: readonly Message[],
95
+ tracker: FileReadTracker,
96
+ workingDirectory: string,
97
+ sandboxed: boolean,
98
+ ): string | undefined {
99
+ const entries = visibleFileEvidence(messages, tracker, workingDirectory, sandboxed)
100
+ if (entries.length === 0) return
101
+ return `${FILE_EVIDENCE_HEADING}: ${FILE_EVIDENCE_GUIDANCE}\n${JSON.stringify(entries)}`
102
+ }
103
+
104
+ /**
105
+ * The entries an earlier record still holds, by path, as the JSON each was
106
+ * written with. Read from the record's text, in order, so a later entry for a
107
+ * path replaces an earlier one and a retracted path is gone.
108
+ */
109
+ function heldFileEvidence(recorded: readonly string[]): Map<string, string> {
110
+ const held = new Map<string, string>()
111
+ for (const text of recorded) {
112
+ for (const line of text.split('\n')) {
113
+ try {
114
+ if (line.startsWith(NO_LONGER_HOLDS)) {
115
+ const paths: unknown = JSON.parse(line.slice(NO_LONGER_HOLDS.length))
116
+ if (Array.isArray(paths))
117
+ for (const path of paths) if (typeof path === 'string') held.delete(path)
118
+ } else if (line.startsWith('[')) {
119
+ const entries: unknown = JSON.parse(line)
120
+ if (Array.isArray(entries))
121
+ for (const entry of entries)
122
+ if (typeof entry?.path === 'string') held.set(entry.path, JSON.stringify(entry))
123
+ }
124
+ } catch {
125
+ // a line of the record that is not an entry list
126
+ }
127
+ }
128
+ }
129
+ return held
130
+ }
131
+
132
+ /**
133
+ * What to record now about the files, given what holds (`current`) and what
134
+ * the entries already in the conversation say (`recorded`, oldest first):
135
+ * only the entries that are new or changed, and the paths whose earlier entry
136
+ * no longer holds. An earlier entry is never edited; this says what replaces
137
+ * it. The first record of a conversation carries the guidance for reading
138
+ * entries, later ones do not repeat it. Nothing to say returns undefined.
139
+ */
140
+ export function recordFileEvidence(
141
+ current: readonly FileEvidence[],
142
+ recorded: readonly string[],
143
+ ): string | undefined {
144
+ const held = heldFileEvidence(recorded)
145
+ const changed = current.filter((entry) => held.get(entry.path) !== JSON.stringify(entry))
146
+ const now = new Set(current.map((entry) => entry.path))
147
+ const gone = [...held.keys()].filter((path) => !now.has(path))
148
+ if (changed.length === 0 && gone.length === 0) return
149
+ const lead =
150
+ recorded.length === 0
151
+ ? `${FILE_EVIDENCE_HEADING}: ${FILE_EVIDENCE_GUIDANCE}`
152
+ : `${FILE_EVIDENCE_HEADING}, changed since the last entry. An entry for a path replaces the earlier entries for that path.`
153
+ return [
154
+ lead,
155
+ ...(gone.length > 0 ? [`${NO_LONGER_HOLDS}${JSON.stringify(gone)}`] : []),
156
+ ...(changed.length > 0 ? [JSON.stringify(changed)] : []),
157
+ ].join('\n')
90
158
  }
91
159
 
92
160
  /** A full body that arrived whole in one call and is still the file's body. */
@@ -64,6 +64,7 @@ import {
64
64
  type AssistantMessage,
65
65
  type Message,
66
66
  createSystemMessage,
67
+ lastPromptText,
67
68
  } from '../../types/message/index.js'
68
69
  import type { AgentPersona } from '../../types/persona/index.js'
69
70
  import type { LLMProvider } from '../../types/provider/index.js'
@@ -2028,7 +2029,7 @@ export async function* query(params: QueryParams): AsyncGenerator<SessionEvent,
2028
2029
  {
2029
2030
  turnId: ctx.turnId,
2030
2031
  sessionId: params.sessionId,
2031
- prompt: lastUserPrompt(initialMessages),
2032
+ prompt: lastPromptText(initialMessages),
2032
2033
  signal: ctx.abortController.signal,
2033
2034
  },
2034
2035
  eventTranslator.emitEvent,
@@ -2893,15 +2894,6 @@ async function settleAbandonedTurn(
2893
2894
  }
2894
2895
  }
2895
2896
 
2896
- /** The text of the newest user turn, which is what a prompt hook is asked about. */
2897
- function lastUserPrompt(messages: readonly Message[]): string {
2898
- for (let i = messages.length - 1; i >= 0; i--) {
2899
- const m = messages[i]
2900
- if (m?.role === 'user' && typeof m.content === 'string') return m.content
2901
- }
2902
- return ''
2903
- }
2904
-
2905
2897
  type DrainQueryParams = Omit<QueryParams, 'resumeHandler'> & {
2906
2898
  resumeHandler?: ResumeHandler
2907
2899
  }
@@ -28,7 +28,6 @@ import {
28
28
  import { getTracer } from '../../../telemetry/runtime-accessors.js'
29
29
  import { STRUCTURED_OUTPUT_TOOL_NAME } from '../../../tools/builtins/structuredOutput.js'
30
30
  import type { ToolManager } from '../../../toolsets/manager.js'
31
- import { splitAtEvidenceBlocks } from '../../../turn/evidence-recall.js'
32
31
  import type { CostInfo, TokenUsage } from '../../../types/common/index.js'
33
32
  import { NamzuError } from '../../../types/errors/index.js'
34
33
  import type { MessageId, SessionId, TurnId } from '../../../types/ids/index.js'
@@ -58,7 +57,6 @@ import { createCallbackInference } from '../callback-inference.js'
58
57
  import { SandboxAcquisitionStopped } from '../deferred-sandbox.js'
59
58
  import { deliverDurableInbound } from '../durable-inbound.js'
60
59
  import type { ToolCallOutcome } from '../executor.js'
61
- import { FILE_EVIDENCE_NONE } from '../file-evidence-context.js'
62
60
  import { projectObservationContext } from '../observation-context.js'
63
61
  import { applyLifecycleHookResults } from '../plugin-hooks.js'
64
62
  import {
@@ -103,17 +101,16 @@ import {
103
101
  type TextOnlyModelRefusal,
104
102
  streamWithProviderRejectedImageRecovery,
105
103
  } from './provider-rejected-image.js'
104
+ import { appendRecordedContext } from './recorded-context.js'
106
105
  import { type MediaRemoval, RequestRepair } from './request-repair.js'
107
- import { TurnContextCarry } from './step-context.js'
106
+ import { placeRequestContext } from './step-context.js'
108
107
  import {
109
- FILE_EVIDENCE_KEY,
110
108
  type StepShaping,
111
- appendWorkContext,
112
109
  beforeStep,
113
110
  prepareStep,
114
111
  selectContextModel,
115
112
  stepContextMessage,
116
- workContextBlocks,
113
+ workContext,
117
114
  } from './step-shaping.js'
118
115
  import { streamProviderTurn } from './stream-turn.js'
119
116
 
@@ -194,8 +191,7 @@ export class IterationOrchestrator {
194
191
  * one process must not suppress each other's first envelope.
195
192
  */
196
193
  private lastEnvelopeKey: string | undefined
197
- /** Where this turn's request-only data first went, so it stays there. */
198
- private readonly turnContext = new TurnContextCarry()
194
+ /** The previous request's context, so a pre-call hook is told what changed. */
199
195
  private previousRequestContext: RequestContextSnapshot | undefined
200
196
 
201
197
  private projectObservations(messages: Message[]): Message[] {
@@ -838,6 +834,11 @@ export class IterationOrchestrator {
838
834
  'limit-finalization',
839
835
  )
840
836
  : undefined
837
+ // What the step asked to have kept in the conversation joins the
838
+ // history now, after its last message, so this request and every
839
+ // later one begin with it. Nothing is inserted ahead of a message
840
+ // that is already recorded.
841
+ appendRecordedContext(recorder, step.recordedContext, this.ctx.log)
841
842
  const baseMessages = recorder.messages
842
843
 
843
844
  // Step guidance is appended to the REQUEST, never pushed onto
@@ -911,24 +912,30 @@ export class IterationOrchestrator {
911
912
  DEFAULT_MAX_REQUEST_RICH_CONTENT_BYTES,
912
913
  { imagesReadable: this.modelReadsImages(stepModel) },
913
914
  )
914
- // The blocks of data that belong to this turn (recalled memory and
915
- // evidence, the context contributions, the work context) sit just
916
- // before the operator's latest message the first time the model
917
- // answers it, so the request is the last thing it reads. They stay
918
- // there on every later call of the turn, and a block that first
919
- // appears on a later call follows the history of that moment, so each
920
- // request begins with the whole of the one before it. The short
921
- // reminders and notices stay after the history.
915
+ // Request-only data (the context contributions, notes about the
916
+ // search, the work context) goes last on every call, after the
917
+ // whole history, so the history a caching driver reads never
918
+ // changes shape from one call to the next. What a step wants
919
+ // kept is recorded in the history above instead. The short
920
+ // reminders and notices follow it.
922
921
  const messages = [...projected]
923
- this.turnContext.place(
922
+ // What the loop learns about files and finished work holds until it
923
+ // changes, so it is recorded, after the history as it stands, and
924
+ // carried in this request where it will sit in the next one's history.
925
+ const work = workContext(shaping, projected, iterationNum, step)
926
+ const recordedNow = appendRecordedContext(recorder, work.recorded, this.ctx.log)
927
+ placeRequestContext(
924
928
  messages,
925
- requestHistory,
926
- workingMemory.history.at(-1),
927
- [contextText, ...(step.context ? splitAtEvidenceBlocks(step.context) : [])]
928
- .filter((text): text is string => Boolean(text))
929
- .map(stepContextMessage),
930
- workContextBlocks(shaping, projected, iterationNum, step),
931
- { [FILE_EVIDENCE_KEY]: stepContextMessage(FILE_EVIDENCE_NONE) },
929
+ recordedNow,
930
+ // The working-memory block and the policy notice already end the
931
+ // request; the entries just recorded belong ahead of them.
932
+ (workingMemory.context ? 1 : 0) + (policyNotice ? 1 : 0),
933
+ [
934
+ ...[contextText, step.context]
935
+ .filter((text): text is string => Boolean(text))
936
+ .map(stepContextMessage),
937
+ ...work.requestOnly,
938
+ ],
932
939
  )
933
940
  if (closingDirective) messages.push(closingDirective)
934
941
  await this.reportUnsupportedToolResults(messages)
@@ -2896,9 +2903,8 @@ export class IterationOrchestrator {
2896
2903
  this.ctx.turnConfig.maxRequestRichContentBytes ?? DEFAULT_MAX_REQUEST_RICH_CONTENT_BYTES,
2897
2904
  { imagesReadable: this.modelReadsImages(model) },
2898
2905
  )
2899
- appendWorkContext(this.stepShaping(), finalMessages, this.steps.length + 1, { model })
2900
2906
  // The closing directive is the last thing the model reads: after
2901
- // the working memory and any work context above.
2907
+ // the working memory above.
2902
2908
  finalMessages.push(
2903
2909
  createRuntimeContextMessage(
2904
2910
  `[SYSTEM] Turn is ending due to ${reason}. ${CLOSING_RESPONSE_GUIDANCE}`,