@namzu/sdk 53.2.2 → 55.0.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 +56 -0
- package/dist/agents/QueryAgent.d.ts.map +1 -1
- package/dist/agents/QueryAgent.js +1 -0
- package/dist/agents/QueryAgent.js.map +1 -1
- package/dist/compaction/context-breakdown.d.ts +85 -0
- package/dist/compaction/context-breakdown.d.ts.map +1 -0
- package/dist/compaction/context-breakdown.js +149 -0
- package/dist/compaction/context-breakdown.js.map +1 -0
- package/dist/compaction/extractor.d.ts.map +1 -1
- package/dist/compaction/extractor.js +5 -1
- package/dist/compaction/extractor.js.map +1 -1
- package/dist/compaction/managers/structured.d.ts.map +1 -1
- package/dist/compaction/managers/structured.js +5 -0
- package/dist/compaction/managers/structured.js.map +1 -1
- package/dist/compaction/manual.d.ts.map +1 -1
- package/dist/compaction/manual.js +6 -0
- package/dist/compaction/manual.js.map +1 -1
- package/dist/compaction/serializer.d.ts +6 -0
- package/dist/compaction/serializer.d.ts.map +1 -1
- package/dist/compaction/serializer.js +21 -3
- package/dist/compaction/serializer.js.map +1 -1
- package/dist/compaction/token-estimate.d.ts +2 -0
- package/dist/compaction/token-estimate.d.ts.map +1 -1
- package/dist/compaction/token-estimate.js +4 -0
- package/dist/compaction/token-estimate.js.map +1 -1
- package/dist/compaction/verifier.d.ts.map +1 -1
- package/dist/compaction/verifier.js +27 -6
- package/dist/compaction/verifier.js.map +1 -1
- package/dist/constants/compaction/index.d.ts +1 -0
- package/dist/constants/compaction/index.d.ts.map +1 -1
- package/dist/constants/compaction/index.js +1 -0
- package/dist/constants/compaction/index.js.map +1 -1
- package/dist/manager/resident/proposal.d.ts +2 -2
- package/dist/manager/resident/store.d.ts +4 -4
- package/dist/prompt/coding-agent-doctrine.d.ts +3 -3
- package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
- package/dist/prompt/coding-agent-doctrine.js +18 -20
- package/dist/prompt/coding-agent-doctrine.js.map +1 -1
- package/dist/public-runtime.d.ts +8 -3
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +7 -2
- package/dist/public-runtime.js.map +1 -1
- package/dist/runtime/cache-clock.d.ts +39 -0
- package/dist/runtime/cache-clock.d.ts.map +1 -0
- package/dist/runtime/cache-clock.js +48 -0
- package/dist/runtime/cache-clock.js.map +1 -0
- package/dist/runtime/query/checkpoint.d.ts +12 -2
- package/dist/runtime/query/checkpoint.d.ts.map +1 -1
- package/dist/runtime/query/checkpoint.js +42 -8
- package/dist/runtime/query/checkpoint.js.map +1 -1
- package/dist/runtime/query/compact-session.d.ts +37 -2
- package/dist/runtime/query/compact-session.d.ts.map +1 -1
- package/dist/runtime/query/compact-session.js +77 -3
- package/dist/runtime/query/compact-session.js.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.js +3 -0
- package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +39 -1
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +115 -7
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/index.d.ts +18 -0
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +20 -1
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +25 -8
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +24 -2
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js +22 -22
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/per-call-review.d.ts +78 -0
- package/dist/runtime/query/iteration/phases/per-call-review.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/per-call-review.js +494 -0
- package/dist/runtime/query/iteration/phases/per-call-review.js.map +1 -0
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +129 -62
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/step-context.d.ts +14 -0
- package/dist/runtime/query/iteration/step-context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/step-context.js +29 -0
- package/dist/runtime/query/iteration/step-context.js.map +1 -1
- package/dist/runtime/query/iteration/step-shaping.d.ts.map +1 -1
- package/dist/runtime/query/iteration/step-shaping.js +6 -2
- package/dist/runtime/query/iteration/step-shaping.js.map +1 -1
- package/dist/runtime/query/prepare-turn.d.ts.map +1 -1
- package/dist/runtime/query/prepare-turn.js +16 -3
- package/dist/runtime/query/prepare-turn.js.map +1 -1
- package/dist/runtime/query/project-instructions.d.ts +24 -5
- package/dist/runtime/query/project-instructions.d.ts.map +1 -1
- package/dist/runtime/query/project-instructions.js +107 -35
- package/dist/runtime/query/project-instructions.js.map +1 -1
- package/dist/runtime/query/prompt.d.ts +6 -0
- package/dist/runtime/query/prompt.d.ts.map +1 -1
- package/dist/runtime/query/prompt.js +10 -49
- package/dist/runtime/query/prompt.js.map +1 -1
- package/dist/runtime/query/resume-pending.d.ts +8 -0
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +101 -0
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/review-policy.d.ts +18 -0
- package/dist/runtime/query/review-policy.d.ts.map +1 -1
- package/dist/runtime/query/review-policy.js +10 -0
- package/dist/runtime/query/review-policy.js.map +1 -1
- package/dist/runtime/query/steering.d.ts +55 -56
- package/dist/runtime/query/steering.d.ts.map +1 -1
- package/dist/runtime/query/steering.js +78 -72
- package/dist/runtime/query/steering.js.map +1 -1
- package/dist/store/budget/disk.js +4 -1
- package/dist/store/budget/disk.js.map +1 -1
- package/dist/tools/admit-facts.d.ts.map +1 -1
- package/dist/tools/admit-facts.js +6 -0
- package/dist/tools/admit-facts.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts +8 -0
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +36 -27
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/browser.d.ts.map +1 -1
- package/dist/tools/builtins/browser.js +38 -12
- package/dist/tools/builtins/browser.js.map +1 -1
- package/dist/tools/builtins/edit-apply.d.ts +7 -4
- package/dist/tools/builtins/edit-apply.d.ts.map +1 -1
- package/dist/tools/builtins/edit-apply.js +3 -0
- package/dist/tools/builtins/edit-apply.js.map +1 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +31 -11
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/exit-semantics.d.ts +31 -0
- package/dist/tools/builtins/exit-semantics.d.ts.map +1 -0
- package/dist/tools/builtins/exit-semantics.js +198 -0
- package/dist/tools/builtins/exit-semantics.js.map +1 -0
- package/dist/tools/builtins/job.js +1 -1
- package/dist/tools/builtins/job.js.map +1 -1
- package/dist/tools/builtins/skill.js +1 -1
- package/dist/tools/builtins/skill.js.map +1 -1
- package/dist/tools/builtins/structuredOutput.js +1 -1
- package/dist/tools/builtins/structuredOutput.js.map +1 -1
- package/dist/tools/builtins/verify-outputs.js +1 -1
- package/dist/tools/builtins/verify-outputs.js.map +1 -1
- package/dist/tools/builtins/write-file.js +11 -6
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/coordinator/ask-user-question.d.ts +6 -0
- package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
- package/dist/tools/coordinator/ask-user-question.js +6 -1
- package/dist/tools/coordinator/ask-user-question.js.map +1 -1
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +10 -3
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/memory/delete.js +1 -1
- package/dist/tools/memory/delete.js.map +1 -1
- package/dist/tools/memory/read.js +1 -1
- package/dist/tools/memory/read.js.map +1 -1
- package/dist/tools/memory/save.d.ts.map +1 -1
- package/dist/tools/memory/save.js +4 -3
- package/dist/tools/memory/save.js.map +1 -1
- package/dist/tools/memory/search.js +1 -1
- package/dist/tools/memory/search.js.map +1 -1
- package/dist/tools/memory/update.js +1 -1
- package/dist/tools/memory/update.js.map +1 -1
- package/dist/tools/schedules/loop-tool.d.ts.map +1 -1
- package/dist/tools/schedules/loop-tool.js +4 -2
- package/dist/tools/schedules/loop-tool.js.map +1 -1
- package/dist/tools/schedules/schedule-tool.js +2 -2
- package/dist/tools/schedules/schedule-tool.js.map +1 -1
- package/dist/tools/task/create.js +1 -1
- package/dist/tools/task/create.js.map +1 -1
- package/dist/tools/untrusted-envelope.js +1 -1
- package/dist/tools/untrusted-envelope.js.map +1 -1
- package/dist/toolsets/manager.d.ts.map +1 -1
- package/dist/toolsets/manager.js +6 -1
- package/dist/toolsets/manager.js.map +1 -1
- package/dist/turn/evidence-query.d.ts.map +1 -1
- package/dist/turn/evidence-query.js +16 -1
- package/dist/turn/evidence-query.js.map +1 -1
- package/dist/turn/evidence-recall.js +1 -1
- package/dist/turn/evidence-recall.js.map +1 -1
- package/dist/types/agent/base.d.ts +7 -0
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/common/index.d.ts +19 -0
- package/dist/types/common/index.d.ts.map +1 -1
- package/dist/types/common/index.js +9 -0
- package/dist/types/common/index.js.map +1 -1
- package/dist/types/hitl/index.d.ts +66 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/message/index.d.ts +8 -0
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +12 -2
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/message/notice-frame.d.ts +41 -0
- package/dist/types/message/notice-frame.d.ts.map +1 -0
- package/dist/types/message/notice-frame.js +65 -0
- package/dist/types/message/notice-frame.js.map +1 -0
- package/dist/types/provider/chat.d.ts +8 -0
- package/dist/types/provider/chat.d.ts.map +1 -1
- package/dist/types/provider/config.d.ts +6 -0
- package/dist/types/provider/config.d.ts.map +1 -1
- package/dist/types/session/checkpoint.d.ts +52 -0
- package/dist/types/session/checkpoint.d.ts.map +1 -1
- package/dist/types/session/checkpoint.js +5 -0
- package/dist/types/session/checkpoint.js.map +1 -1
- package/dist/types/session/events.d.ts +9 -0
- package/dist/types/session/events.d.ts.map +1 -1
- package/dist/types/session/events.js.map +1 -1
- package/dist/types/session/records.d.ts +181 -6
- package/dist/types/session/records.d.ts.map +1 -1
- package/dist/types/session/records.js +1 -1
- package/dist/types/session/records.js.map +1 -1
- package/dist/types/tool/presentation.d.ts +17 -1
- package/dist/types/tool/presentation.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agents/QueryAgent.ts +1 -0
- package/src/compaction/context-breakdown.ts +228 -0
- package/src/compaction/extractor.ts +8 -1
- package/src/compaction/managers/structured.ts +3 -0
- package/src/compaction/manual.ts +5 -0
- package/src/compaction/serializer.ts +28 -3
- package/src/compaction/token-estimate.ts +5 -0
- package/src/compaction/verifier.ts +32 -6
- package/src/constants/compaction/index.ts +1 -0
- package/src/prompt/coding-agent-doctrine.ts +18 -20
- package/src/public-runtime.ts +24 -2
- package/src/runtime/cache-clock.ts +67 -0
- package/src/runtime/query/checkpoint.ts +49 -8
- package/src/runtime/query/compact-session.ts +101 -3
- package/src/runtime/query/executor/tool-call-admission.ts +3 -0
- package/src/runtime/query/executor.ts +165 -15
- package/src/runtime/query/index.ts +45 -1
- package/src/runtime/query/iteration/index.ts +27 -6
- package/src/runtime/query/iteration/phases/context.ts +37 -11
- package/src/runtime/query/iteration/phases/per-call-review.ts +598 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +168 -83
- package/src/runtime/query/iteration/step-context.ts +29 -0
- package/src/runtime/query/iteration/step-shaping.ts +6 -2
- package/src/runtime/query/prepare-turn.ts +18 -1
- package/src/runtime/query/project-instructions.ts +119 -38
- package/src/runtime/query/prompt.ts +11 -54
- package/src/runtime/query/resume-pending.ts +131 -0
- package/src/runtime/query/review-policy.ts +28 -0
- package/src/runtime/query/steering.ts +100 -96
- package/src/store/budget/disk.ts +4 -1
- package/src/tools/admit-facts.ts +6 -0
- package/src/tools/builtins/bash.ts +38 -28
- package/src/tools/builtins/browser.ts +38 -12
- package/src/tools/builtins/edit-apply.ts +12 -2
- package/src/tools/builtins/edit.ts +38 -12
- package/src/tools/builtins/exit-semantics.ts +198 -0
- package/src/tools/builtins/job.ts +1 -1
- package/src/tools/builtins/skill.ts +1 -1
- package/src/tools/builtins/structuredOutput.ts +1 -1
- package/src/tools/builtins/verify-outputs.ts +1 -1
- package/src/tools/builtins/write-file.ts +11 -6
- package/src/tools/coordinator/ask-user-question.ts +12 -1
- package/src/tools/coordinator/index.ts +10 -3
- package/src/tools/memory/delete.ts +1 -1
- package/src/tools/memory/read.ts +1 -1
- package/src/tools/memory/save.ts +4 -3
- package/src/tools/memory/search.ts +1 -1
- package/src/tools/memory/update.ts +1 -1
- package/src/tools/schedules/loop-tool.ts +4 -2
- package/src/tools/schedules/schedule-tool.ts +2 -2
- package/src/tools/task/create.ts +1 -1
- package/src/tools/untrusted-envelope.ts +1 -1
- package/src/toolsets/manager.ts +6 -1
- package/src/turn/evidence-query.ts +19 -1
- package/src/turn/evidence-recall.ts +1 -1
- package/src/types/agent/base.ts +8 -0
- package/src/types/common/index.ts +27 -0
- package/src/types/hitl/index.ts +67 -0
- package/src/types/message/index.ts +20 -2
- package/src/types/message/notice-frame.ts +88 -0
- package/src/types/provider/chat.ts +8 -0
- package/src/types/provider/config.ts +6 -0
- package/src/types/session/checkpoint.ts +5 -0
- package/src/types/session/events.ts +6 -0
- package/src/types/session/records.ts +1 -1
- package/src/types/tool/presentation.ts +16 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,61 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 55.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- e25dd2a: `query()` no longer appends the operator's message, a background job's exit or a monitor's events to the end of a tool result. A tool result now holds only what the tool returned, and each notice arrives as its own user-role message right after the tool batch (the operator's as `runtime-context` kind `steering`, the others as kind `job-exit`). Models are trained to treat instructions inside a tool result as untrusted, so a message the operator typed mid-tool could be ignored there. Where a notice sits in the conversation is a changed default, so this is a major: a host or test that looked for `[Background job update]`, `[Monitor update]` or the operator's text in a `tool` message should read the user message that follows it. `attachSteering` is deprecated and unchanged for hosts that call it; the kernel stopped using it. `readSteeringNote` still reads a note recorded inside a tool result by an earlier session, so resuming one keeps its latest operator intent. Checkpoints, the evidence-query history and compaction find the operator's message by its frame.
|
|
8
|
+
- e25dd2a: Request layout. The blocks that belong to a turn (recalled memory and evidence, `context` prompt contributions, `PrepareStepResult.context`) now sit just before the operator's new message while that message is what the model is about to answer, so the request is the last thing it reads. Once the turn has called a tool, they follow the history as before, so a caching driver still keeps the tool loop cached. Where this context sits in the request is a changed default, so this is a major: a host or test that read the last request message for it should now find the `step-context` message just before the operator's new message (the last message of the request is the operator's own). Nothing else to do on upgrade.
|
|
9
|
+
|
|
10
|
+
### Minor Changes
|
|
11
|
+
|
|
12
|
+
- e25dd2a: The project instructions a host supplies through `ProjectInstructionContext.prepareInitialSnapshot` (and `observeToolResult`) keep one place in the conversation. Before, every new user message got its own copy and the old one dropped, so the instructions moved to the tail each turn and a provider's prompt cache could reuse nothing after their old position. Now the first copy stays where it landed, an unchanged snapshot sends nothing, and a changed one is sent once at the tail as a complete update (`source.update: true`, under a line saying it replaces the earlier copy). Only the first copy and the latest update are kept, so a rule that was removed stops applying. New export `projectInstructionBody(message)` returns a snapshot's policy text without the update header; a host that compares the last snapshot with a fresh one should compare those. Nothing to do otherwise; a host that read the instructions from the request sees the first copy plus, after a change, one update.
|
|
13
|
+
- e25dd2a: The notices the kernel sends the model are framed: a message the operator typed while a tool ran, a background job's exit and a monitor's events each sit inside a `<namzu-notice-<marker> kind="operator-message|job|monitor">` frame that says whose words they are. The operator's message is called theirs, and a job's or monitor's notice is called automated and not operator input. The marker is random for each frame and the frame says only that exact closing tag ends it, so text inside cannot close it. The labels `[Background job update]` and `[Monitor update]` are unchanged. The tag prefix is escaped (`<namzu-notice`) in every tool result built with `createToolMessage` and in project instruction files, so a command's output or a file cannot forge a frame; new exports `escapeNoticeFrame`, `frameNotice` and `NOTICE_TAG` from the message types. `readSteeringNote` reads the operator's text back from a frame.
|
|
14
|
+
- c1b7b6c: A turn can now ask about one tool call at a time while the batch runs. Set `perCallReview` on `query()` or an agent config (a `PerCallReviewConfig`; `{}` is enough) and the turn walks the model's calls in order. Calls that are safe to run side by side start together and each opens its own one-call `tool_review` request, which carries `perCall: true`; an unsafe call waits for every earlier call to finish, then asks, then runs; an approved call starts at once. Nothing changes unless you set it: without the option every request, answer and event is the batch shape it was.
|
|
15
|
+
|
|
16
|
+
`reject_tools` and the prompt's `reject` answer gain an optional `endTurn: true`. A refusal that carries it answers every call of the batch (what runs is cancelled, what has not started is refused unasked) and stops the turn with the stop reason `cancelled`; without it a refusal refuses only the call or batch it was given for, as before. A prompt receives `perCall` and a `signal` that aborts when its question stops being open, and `onRulesChanged`, `covers` and `neverCover` let a host re-check the questions still open, which only ever approves; `neverCover` is asked first and keeps a call open (for example one whose input was not shown in full) whatever a rule, a grant or `covers` says. Each open question is parked on its own, and a second process resumes one with `resumeFromCheckpoint` and `pendingDecision`: the decision applies to the calls that park named, calls that had run are not run again, and nothing else is run.
|
|
17
|
+
|
|
18
|
+
To use it, pass `perCallReview` and keep your `resumeHandler`; answer each one-call request, give your prompt the `signal` so it can close a question that was answered elsewhere, and send `endTurn: true` with a plain No if you want it to stop the turn.
|
|
19
|
+
|
|
20
|
+
- e25dd2a: The "Approval policy changed from X to Y" notice now reaches the model as request-only context after the conversation, not as a system message ahead of it, so a mid-conversation change no longer changes the prefix a prompt cache keys on. Add `announceApprovalPolicyChange: false` to `query()` if your host already tells the model about the change itself; the default (`true`) still tells it once, and the `approval_policy_changed` event is recorded either way. Nothing to change unless you read that notice out of the system messages.
|
|
21
|
+
- e25dd2a: `ask_user_question` no longer tells the model that plan ratification goes through `approve_plan` in a host that does not mount that tool. `buildAskUserQuestionTool` takes an optional `planApprovalTool` naming the host's approval tool; without it the description says "the plan-approval tool". The coordinator passes `approve_plan` when it mounts that tool, and the terminal passes `exit_plan_mode` when plan mode can be approved. A host that builds the tool itself and mounts an approval tool should pass its name.
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- e25dd2a: Compaction no longer treats text the runtime put in the user role as something the operator asked for. Project instructions, step context and reminders are skipped when the summary's task and requirements are extracted, and are left out of the excerpt the summary check reads, so a compacted conversation no longer lists the project's rules as the user's requests. The project instructions are still kept whole, once, and re-read fresh on the next turn. The project instructions message now also says that project rules win over Namzu's default style and workflow, and never over safety or permission rules. Nothing to do on upgrade.
|
|
26
|
+
- e25dd2a: `PromptBuilder.build()` now returns the same text a request sends: the static segment, the separator and the dynamic segment, in that order. Before, it placed tool, environment and shell sections ahead of static contributions, so the whole-prompt cache hash was computed over a different order than the request used. Nothing to do on upgrade; a host that compared `build()` output against an earlier string sees the new order.
|
|
27
|
+
- c1b7b6c: With `perCallReview` on, a call that waited for its turn is checked against the rules, grants and `covers` as they are then, so a rule remembered by an earlier answer covers a later identical call and it is not asked again. Questions that open together now open in the order the model wrote the calls, and a turn that a refusal stopped announces its refused calls in that order. Nothing changes for a host that does not set `perCallReview`.
|
|
28
|
+
- e25dd2a: Prompt wording. The working rules, the identity block and the tool descriptions say what to do and why instead of stacking prohibitions and capitals; a tool-specific rule (changing a file, building a long file, waiting for a job, when to call `workflow`) now lives only in that tool's description, and the workflow opt-in list is in the `workflow` tool's description alone. The evidence rules are three bullets. Every parameter of the browser, conversation, agent-task and loop tools now carries a description, and the `Agent` tool's `prompt` parameter asks for an objective, what is out of bounds, tools and sources, and the reply shape. A host that matched the old sentences in `CODING_AGENT_WORKING_DOCTRINE` or the tool descriptions by text should match the new ones; nothing else changes on upgrade.
|
|
29
|
+
- e25dd2a: Prompt wording and structure, with no public API change. The operator's wording for a compaction summary now sits in a labelled block that only a per-request closing tag ends. The background-start, moved-to-background and queued-agent tool results state facts and leave the usage advice to the `bash`, `job`, `wait_for_job` and `Agent` descriptions. The note about removed credential-shaped variables gives their count, not their names. The workflow size guideline moves from the `workflow` tool description to the system prompt beside the workflow rules, so a changed setting no longer rewrites the tool definitions. The browser description drops the engine id. `schedule`, `ask_user_question` and `browser_act` each show one sample call. The 12000-character payload cap, the branch rule and the no-apology rule give a reason, and the schedule skill drops text the `schedule` description already holds. A host or test that matched these sentences by text should match the new ones.
|
|
30
|
+
- e25dd2a: A sub-agent's result now reaches the parent inside the same marked block as other outside text on every path, not only as a task notification: a foreground `Agent` call, `wait_for_task` and a saved agent's history return the child's words in an `agent-result` block, with the task id and status outside it. The block's header tells the model that an instruction inside it is for the operator to hear about, not to act on. A tool that read the `Agent result:` text of a `wait_for_task` result as plain text should read the block (`untrustedEnvelopeBody` returns its body). The sub-agent prompt no longer tells the child not to ask questions in a way that contradicts the working rules it inherits: it ends by saying that with no one to ask, the child finishes what is safe, leaves the risky step undone and names the blocker in its summary.
|
|
31
|
+
- e25dd2a: A delegated sub-agent now reads working rules that already say what to do when nobody can answer (leave the risky step undone and name it in the summary), instead of rules that send it to ask a person beside a later line saying it has no one to ask. The environment sentence for a sub-agent says the same thing once. The header on outside text (files, web pages, a sub-agent's result) now says "report them in your reply" instead of "tell the operator", which fits a sub-agent whose reader is its parent and is shorter. Nothing to do on upgrade.
|
|
32
|
+
- e25dd2a: Compaction summary. The summary now ends with an `## Open Items and Next Step` section (assistant notes that say what is still to do, filed apart from the narration), marks the newest operator request as `Latest request:` in its requirements list, and drops a note that only says the code was looked at. The summary check asks for unresolved errors, open questions, open items and the exact names, values and commands the next step needs, and to list everything missing. Anything that parses the summary by its section headings keeps working; there is a new heading to expect. Nothing to do on upgrade.
|
|
33
|
+
- e25dd2a: The derived work context (owned delegated work and visible file evidence) now sits just before the operator's new message while that message is what the model is answering, like the recalled memory and evidence blocks, instead of after the history. A host that reads the last request message to find it should look for the block by its heading. The `ask_user_question` and browser tool descriptions now give the reason for each rule instead of listing prohibitions. Nothing else to do on upgrade.
|
|
34
|
+
|
|
35
|
+
## 54.0.0
|
|
36
|
+
|
|
37
|
+
### Major Changes
|
|
38
|
+
|
|
39
|
+
- 38d62f7: The `bash` tool no longer reports a failure when a search or comparison command uses its exit status to answer. When the last command of the line is `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test`, `[`, `git diff` or `git grep`, exit 1 now returns `success: true` with no `error` (it was `success: false` with `Command exited with code 1`), and `data.exitNote` and the new optional `ToolFacts` command field `exitNote` carry a short sentence (`No matches found`, `Some directories were inaccessible`, `Files differ`, `Condition is false`). Exit 2 and above, every other command, and a line whose last step follows `&&` (the status may belong to an earlier step) fail exactly as before. This changes the default result for those commands, so code that read `success === false` or the `error` text to detect "no match" must read `data.exitCode` (still 1) instead. The model's text is unchanged. In the terminal such a call is drawn as a success and, when it printed nothing, shows the note in dim where `(No output)` was, and a read-only search of this kind with no match stays inside its collapsed read and search line instead of ending it with a red failure.
|
|
40
|
+
- 38d62f7: `ToolFailureReason` gains four members: `not_read` (an edit or write on a file the conversation never read), `changed_on_disk` (the copy it was based on has since changed), `text_not_found` and `not_unique` (an edit whose text is missing or appears more than once). The `edit` and `write` tools now return them in `facts` on those refusals. A write over an existing file that was never read used to report `already_exists`; it now reports `not_read` (breaking: `facts.reason === 'already_exists'` no longer matches that case, so match `not_read` as well, or both, to keep handling it). If you `switch` over `ToolFailureReason` exhaustively, add cases for the four new members or a default branch.
|
|
41
|
+
- 38d62f7: The compaction record's `trigger` now also accepts `'idle'` (a conversation compacted while nobody was using it). Breaking for code that switches over `trigger` exhaustively, or narrows it to the earlier members: add a case for `'idle'` (or a default branch). The same release adds `compactSession({ trigger: 'idle' })`, optional `TokenUsage.cacheTtlMs` and `cacheWriteTtlTokens`, `CacheControl.ttl`, the `cacheTtl` provider capability, a `CacheClock` helper and an optional `cache` field on the `token_usage_updated` event; none of those changes behaviour for existing callers.
|
|
42
|
+
|
|
43
|
+
### Minor Changes
|
|
44
|
+
|
|
45
|
+
- 38d62f7: Add `analyzeContextUsage`, which splits a context window into its parts (system prompt, tools, MCP tools and instructions, agents, memory files, skills, messages, free space and the compaction buffer) and sizes tool calls and results by tool name. Also adds `describeToolCatalogTokens` and `estimateTextTokens`. Nothing existing changes; a host that wants a "where did my context go" view can call these.
|
|
46
|
+
- 38d62f7: `ToolFailureReason` gains `invalid_arguments`: the call's arguments did not fit the tool's input schema, so the tool never ran. The tool registry now returns it in `facts` on that refusal (it has no `subject`). Nothing existing changes; if you `switch` over `ToolFailureReason` exhaustively, add a case for it or a default branch.
|
|
47
|
+
- 38d62f7: Esc twice on an empty message now opens a rewind dialog instead of the previous-prompt picker, and the first Esc no longer shows "Press Esc again to edit a previous prompt". The second Esc counts only within 800 ms of the first, and any other key in between starts over. With a draft typed, Esc still means "clear it": the first Esc shows `Esc again to clear` and the second clears the draft. A running reply keeps Esc for interrupting, and inside the detailed transcript or a dialog Esc only closes it.
|
|
48
|
+
|
|
49
|
+
What changes for you: to edit an earlier prompt, press Esc twice, pick the prompt, and choose "Restore conversation". It does what the old picker did (continues in a new conversation before that prompt and puts the prompt back in the composer; the original stays in `/resume`). The dialog also offers "Restore code" (puts files back with the same drift-checked plan as `/restore`), "Restore code and conversation", "Summarize from here" and "Summarize up to here", and shows what each prompt would do to your files. `/rewind` opens the same dialog, with `/undo` and `/checkpoint` as aliases; `/restore` is unchanged. A project command or plugin command named `undo`, `checkpoint` or `rewind` is shadowed by the built-in.
|
|
50
|
+
|
|
51
|
+
`@namzu/sdk` adds `compactSessionRange` (and `CompactSessionRangeParams`): like `compactSession`, but it summarises only the messages from one recorded message id up to another and leaves the rest of the context verbatim.
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- bb67398: Breaking default in `@namzu/cli`: `save_memory` and `update_memory` no longer ask for approval in the default mode (ask before changes) and in the mode that approves edits. They write only to namzu's own memory store under its home, never to a workspace file. Before, every save asked "Do you want to run save_memory?". `delete_memory` still asks; plan mode, strict mode and the classifier mode treat the memory tools as before. To be asked again, add `permissions: { save_memory: "ask", update_memory: "ask" }` to the configuration.
|
|
56
|
+
|
|
57
|
+
The model now keeps memory itself during a session. When the memory tools are mounted, the system prompt carries a short `## Memory` section saying what is worth saving (the person's preferences and corrections, decisions and their reasons, lessons from failures that will recur or were not obvious, pointers to outside resources), what to leave out (what the repository records, progress, secrets), and how to keep the store tidy (one fact per memory, update instead of duplicating, remove a wrong one, check a recalled memory against the current code). When the person asks to remember something the repository already records, the model saves only what was surprising about it. A sub-agent that holds `save_memory` gets the same section. The section sits in the stable prefix, so it does not change prompt caching. The descriptions of `save_memory`, `search_memory`, `read_memory`, `update_memory` and `delete_memory` now state purpose, when to use the tool and what it returns, and the stored-memory index paragraph no longer repeats those rules. No option, export or tool input changes.
|
|
58
|
+
|
|
3
59
|
## 53.2.2
|
|
4
60
|
|
|
5
61
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryAgent.d.ts","sourceRoot":"","sources":["../../src/agents/QueryAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"QueryAgent.d.ts","sourceRoot":"","sources":["../../src/agents/QueryAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AA4IlD,qBAAa,UAAW,SAAQ,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;gBAET,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM;IAiBvE;;;;;;;;OAQG;IACG,GAAG,CACR,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;YAmBd,YAAY;IAmEX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryAgent.js","sourceRoot":"","sources":["../../src/agents/QueryAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QueryAgent.js","sourceRoot":"","sources":["../../src/agents/QueryAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the context window goes: the arithmetic behind a `/context` view.
|
|
3
|
+
*
|
|
4
|
+
* Pure. A host hands in what it knows (sizes of the system prompt, the tool
|
|
5
|
+
* catalogue, instruction files, skills, agents, and the conversation) and gets
|
|
6
|
+
* the categories back in the order they are drawn, with the free room and the
|
|
7
|
+
* compaction buffer accounted for. Nothing here reads a provider or a file.
|
|
8
|
+
*
|
|
9
|
+
* The conversation's own share is never counted separately: it is whatever the
|
|
10
|
+
* measured prompt size is once the fixed parts are taken out, so the categories
|
|
11
|
+
* always add up to the figure the provider reported.
|
|
12
|
+
*/
|
|
13
|
+
import type { Message } from '../types/message/index.js';
|
|
14
|
+
import type { LLMToolSchema } from '../types/tool/index.js';
|
|
15
|
+
/** The categories, in the order they are laid out. */
|
|
16
|
+
export declare const CONTEXT_CATEGORY_ORDER: readonly ["system-prompt", "system-tools", "mcp-tools", "mcp-instructions", "agents", "memory", "skills", "messages"];
|
|
17
|
+
export type ContextCategoryId = (typeof CONTEXT_CATEGORY_ORDER)[number] | 'buffer' | 'free';
|
|
18
|
+
export type ContextCategoryKind = 'used' | 'free' | 'buffer';
|
|
19
|
+
export interface ContextCategory {
|
|
20
|
+
readonly id: ContextCategoryId;
|
|
21
|
+
readonly name: string;
|
|
22
|
+
readonly tokens: number;
|
|
23
|
+
readonly kind: ContextCategoryKind;
|
|
24
|
+
}
|
|
25
|
+
export interface ContextUsageInput {
|
|
26
|
+
readonly windowTokens: number;
|
|
27
|
+
/**
|
|
28
|
+
* `auto` when the window is what the provider or model table declares.
|
|
29
|
+
* Anything else (`config`, `default`) means the figure was overridden or
|
|
30
|
+
* guessed, and the compaction buffer is then drawn.
|
|
31
|
+
*/
|
|
32
|
+
readonly windowSource: 'auto' | 'config' | 'default';
|
|
33
|
+
/** What the model may write in one reply; absent reserves the full cap. */
|
|
34
|
+
readonly maxOutputTokens?: number;
|
|
35
|
+
/** Whether the session summarises on its own. */
|
|
36
|
+
readonly autoCompact: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The size of everything being sent: counted by the provider, or estimated.
|
|
39
|
+
* Absent, the conversation is estimated from `messages`.
|
|
40
|
+
*/
|
|
41
|
+
readonly contextTokens?: number;
|
|
42
|
+
readonly systemPromptTokens?: number;
|
|
43
|
+
/** Tokens of the built-in tool definitions. */
|
|
44
|
+
readonly systemToolTokens?: number;
|
|
45
|
+
readonly mcpToolTokens?: number;
|
|
46
|
+
readonly mcpInstructionTokens?: number;
|
|
47
|
+
readonly agentTokens?: number;
|
|
48
|
+
readonly memoryTokens?: number;
|
|
49
|
+
readonly skillTokens?: number;
|
|
50
|
+
/** The conversation, for the estimate and for the per-tool breakdown. */
|
|
51
|
+
readonly messages?: readonly Message[];
|
|
52
|
+
}
|
|
53
|
+
export interface ContextMessageBreakdown {
|
|
54
|
+
/** Tokens of the calls the model wrote, by tool name. */
|
|
55
|
+
readonly toolCallsByType: Readonly<Record<string, number>>;
|
|
56
|
+
/** Tokens of the results that came back, by the name of the tool called. */
|
|
57
|
+
readonly toolResultsByType: Readonly<Record<string, number>>;
|
|
58
|
+
readonly assistantTokens: number;
|
|
59
|
+
readonly userTokens: number;
|
|
60
|
+
}
|
|
61
|
+
export interface ContextBreakdown {
|
|
62
|
+
readonly categories: readonly ContextCategory[];
|
|
63
|
+
readonly windowTokens: number;
|
|
64
|
+
/** Everything in use, which can exceed the window. */
|
|
65
|
+
readonly totalTokens: number;
|
|
66
|
+
/** Whole percent of the window in use. */
|
|
67
|
+
readonly percentage: number;
|
|
68
|
+
/** The compaction buffer, 0 when it is not drawn. */
|
|
69
|
+
readonly bufferTokens: number;
|
|
70
|
+
/** Whether the session summarises on its own; names the buffer. */
|
|
71
|
+
readonly autoCompact: boolean;
|
|
72
|
+
/** How far past the window the context is; 0 while it fits. */
|
|
73
|
+
readonly overflowTokens: number;
|
|
74
|
+
readonly messageBreakdown: ContextMessageBreakdown;
|
|
75
|
+
}
|
|
76
|
+
/** Per-tool size of a catalogue already rendered the way it is sent. */
|
|
77
|
+
export declare function describeToolCatalogTokens(tools: readonly LLMToolSchema[]): {
|
|
78
|
+
name: string;
|
|
79
|
+
tokens: number;
|
|
80
|
+
}[];
|
|
81
|
+
/** Room kept for a manual compaction when nothing summarises on its own. */
|
|
82
|
+
export declare const COMPACT_BUFFER_TOKENS = 3000;
|
|
83
|
+
/** Split a window into the parts that fill it. */
|
|
84
|
+
export declare function analyzeContextUsage(input: ContextUsageInput): ContextBreakdown;
|
|
85
|
+
//# sourceMappingURL=context-breakdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-breakdown.d.ts","sourceRoot":"","sources":["../../src/compaction/context-breakdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the context window goes: the arithmetic behind a `/context` view.
|
|
3
|
+
*
|
|
4
|
+
* Pure. A host hands in what it knows (sizes of the system prompt, the tool
|
|
5
|
+
* catalogue, instruction files, skills, agents, and the conversation) and gets
|
|
6
|
+
* the categories back in the order they are drawn, with the free room and the
|
|
7
|
+
* compaction buffer accounted for. Nothing here reads a provider or a file.
|
|
8
|
+
*
|
|
9
|
+
* The conversation's own share is never counted separately: it is whatever the
|
|
10
|
+
* measured prompt size is once the fixed parts are taken out, so the categories
|
|
11
|
+
* always add up to the figure the provider reported.
|
|
12
|
+
*/
|
|
13
|
+
import { CHARS_PER_TOKEN } from '../constants/limits.js';
|
|
14
|
+
import { TRIGGER_BUFFER_TOKENS, TRIGGER_OUTPUT_RESERVE_CAP_TOKENS } from './context-window.js';
|
|
15
|
+
import { estimateMessageTokens, estimateTextTokens } from './token-estimate.js';
|
|
16
|
+
/** The categories, in the order they are laid out. */
|
|
17
|
+
export const CONTEXT_CATEGORY_ORDER = [
|
|
18
|
+
'system-prompt',
|
|
19
|
+
'system-tools',
|
|
20
|
+
'mcp-tools',
|
|
21
|
+
'mcp-instructions',
|
|
22
|
+
'agents',
|
|
23
|
+
'memory',
|
|
24
|
+
'skills',
|
|
25
|
+
'messages',
|
|
26
|
+
];
|
|
27
|
+
const NAMES = {
|
|
28
|
+
'system-prompt': 'System prompt',
|
|
29
|
+
'system-tools': 'System tools',
|
|
30
|
+
'mcp-tools': 'MCP tools',
|
|
31
|
+
'mcp-instructions': 'MCP server instructions',
|
|
32
|
+
agents: 'Custom agents',
|
|
33
|
+
memory: 'Memory files',
|
|
34
|
+
skills: 'Skills',
|
|
35
|
+
messages: 'Messages',
|
|
36
|
+
};
|
|
37
|
+
/** Per-tool size of a catalogue already rendered the way it is sent. */
|
|
38
|
+
export function describeToolCatalogTokens(tools) {
|
|
39
|
+
return tools.map((tool) => {
|
|
40
|
+
let length = 0;
|
|
41
|
+
try {
|
|
42
|
+
length = JSON.stringify(tool).length;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// A tool that cannot render is the model call's problem to report.
|
|
46
|
+
}
|
|
47
|
+
return { name: tool.function.name, tokens: Math.ceil(length / CHARS_PER_TOKEN) };
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function nonNegative(value) {
|
|
51
|
+
return value !== undefined && Number.isFinite(value) && value > 0 ? Math.round(value) : 0;
|
|
52
|
+
}
|
|
53
|
+
function bufferFor(input) {
|
|
54
|
+
if (input.autoCompact) {
|
|
55
|
+
// Drawn only when the window was overridden: on a declared window the
|
|
56
|
+
// room kept for a reply is not a thing the person chose.
|
|
57
|
+
if (input.windowSource === 'auto')
|
|
58
|
+
return 0;
|
|
59
|
+
const reserve = Math.min(input.maxOutputTokens !== undefined && input.maxOutputTokens > 0
|
|
60
|
+
? input.maxOutputTokens
|
|
61
|
+
: TRIGGER_OUTPUT_RESERVE_CAP_TOKENS, TRIGGER_OUTPUT_RESERVE_CAP_TOKENS);
|
|
62
|
+
return reserve + TRIGGER_BUFFER_TOKENS;
|
|
63
|
+
}
|
|
64
|
+
return COMPACT_BUFFER_TOKENS;
|
|
65
|
+
}
|
|
66
|
+
/** Room kept for a manual compaction when nothing summarises on its own. */
|
|
67
|
+
export const COMPACT_BUFFER_TOKENS = 3_000;
|
|
68
|
+
function tokensOfContent(message) {
|
|
69
|
+
return estimateMessageTokens(message);
|
|
70
|
+
}
|
|
71
|
+
function breakdownMessages(messages) {
|
|
72
|
+
const toolCallsByType = {};
|
|
73
|
+
const toolResultsByType = {};
|
|
74
|
+
const nameOfCall = new Map();
|
|
75
|
+
let assistantTokens = 0;
|
|
76
|
+
let userTokens = 0;
|
|
77
|
+
for (const message of messages) {
|
|
78
|
+
if (message.role === 'assistant') {
|
|
79
|
+
let calls = 0;
|
|
80
|
+
for (const call of message.toolCalls ?? []) {
|
|
81
|
+
nameOfCall.set(call.id, call.function.name);
|
|
82
|
+
const tokens = estimateTextTokens(call.function.name + call.function.arguments);
|
|
83
|
+
toolCallsByType[call.function.name] = (toolCallsByType[call.function.name] ?? 0) + tokens;
|
|
84
|
+
calls += tokens;
|
|
85
|
+
}
|
|
86
|
+
assistantTokens += Math.max(0, tokensOfContent(message) - calls);
|
|
87
|
+
}
|
|
88
|
+
else if (message.role === 'tool') {
|
|
89
|
+
const name = nameOfCall.get(message.toolCallId) ?? 'unknown';
|
|
90
|
+
toolResultsByType[name] = (toolResultsByType[name] ?? 0) + tokensOfContent(message);
|
|
91
|
+
}
|
|
92
|
+
else if (message.role === 'user') {
|
|
93
|
+
userTokens += tokensOfContent(message);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return { toolCallsByType, toolResultsByType, assistantTokens, userTokens };
|
|
97
|
+
}
|
|
98
|
+
/** Split a window into the parts that fill it. */
|
|
99
|
+
export function analyzeContextUsage(input) {
|
|
100
|
+
const windowTokens = Math.max(0, Math.round(input.windowTokens));
|
|
101
|
+
const fixed = {
|
|
102
|
+
'system-prompt': nonNegative(input.systemPromptTokens),
|
|
103
|
+
'system-tools': nonNegative(input.systemToolTokens),
|
|
104
|
+
'mcp-tools': nonNegative(input.mcpToolTokens),
|
|
105
|
+
'mcp-instructions': nonNegative(input.mcpInstructionTokens),
|
|
106
|
+
agents: nonNegative(input.agentTokens),
|
|
107
|
+
memory: nonNegative(input.memoryTokens),
|
|
108
|
+
skills: nonNegative(input.skillTokens),
|
|
109
|
+
messages: 0,
|
|
110
|
+
};
|
|
111
|
+
const fixedTotal = Object.values(fixed).reduce((sum, tokens) => sum + tokens, 0);
|
|
112
|
+
const messages = input.messages ?? [];
|
|
113
|
+
const bufferTokens = Math.min(bufferFor(input), windowTokens);
|
|
114
|
+
// The conversation is what the measured size leaves once the fixed parts
|
|
115
|
+
// are taken out; without a measurement it is counted from the messages.
|
|
116
|
+
const measured = nonNegative(input.contextTokens);
|
|
117
|
+
const rawMessages = measured > 0
|
|
118
|
+
? Math.max(0, measured - fixedTotal)
|
|
119
|
+
: messages.reduce((sum, message) => sum + tokensOfContent(message), 0);
|
|
120
|
+
fixed.messages = Math.min(rawMessages, Math.max(0, windowTokens - fixedTotal - bufferTokens));
|
|
121
|
+
const totalTokens = measured > 0 ? Math.max(measured, fixedTotal) : fixedTotal + rawMessages;
|
|
122
|
+
const used = fixedTotal + fixed.messages;
|
|
123
|
+
const categories = [];
|
|
124
|
+
for (const id of CONTEXT_CATEGORY_ORDER) {
|
|
125
|
+
if (fixed[id] > 0)
|
|
126
|
+
categories.push({ id, name: NAMES[id], tokens: fixed[id], kind: 'used' });
|
|
127
|
+
}
|
|
128
|
+
const free = Math.max(0, windowTokens - used - bufferTokens);
|
|
129
|
+
if (bufferTokens > 0) {
|
|
130
|
+
categories.push({
|
|
131
|
+
id: 'buffer',
|
|
132
|
+
name: input.autoCompact ? 'Autocompact buffer' : 'Compact buffer',
|
|
133
|
+
tokens: bufferTokens,
|
|
134
|
+
kind: 'buffer',
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
categories.push({ id: 'free', name: 'Free space', tokens: free, kind: 'free' });
|
|
138
|
+
return {
|
|
139
|
+
categories,
|
|
140
|
+
windowTokens,
|
|
141
|
+
totalTokens,
|
|
142
|
+
percentage: windowTokens > 0 ? Math.round((totalTokens / windowTokens) * 100) : 0,
|
|
143
|
+
bufferTokens,
|
|
144
|
+
autoCompact: input.autoCompact,
|
|
145
|
+
overflowTokens: Math.max(0, totalTokens - windowTokens),
|
|
146
|
+
messageBreakdown: breakdownMessages(messages),
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=context-breakdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-breakdown.js","sourceRoot":"","sources":["../../src/compaction/context-breakdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/compaction/extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/compaction/extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,cAAc,CAAA;AAkD1E,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACV,IAAI,CA4BN;AAED,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,IAAI,CA8CN;AAkDD,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,GACd,IAAI,CAQN;AAED,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACtB,IAAI,CAkBN"}
|
|
@@ -28,6 +28,10 @@ function isSubstantive(sentence) {
|
|
|
28
28
|
// "No production writes" and even "Node 24" used to match the `no` prefix.
|
|
29
29
|
return !/^(ok|okay|sure|alright|got it|understood|i see|great|perfect|excellent|good|nice|cool|right|yes|no|thanks)[.!?]*$/i.test(sentence);
|
|
30
30
|
}
|
|
31
|
+
/** A sentence that only says the assistant glanced at the code carries nothing to carry forward. */
|
|
32
|
+
function isLowSignalNote(sentence) {
|
|
33
|
+
return /^(?:we|i)(?: have|'ve)? (?:looked|taken a look|had a look) at (?:the |this )?(?:code|files?|repo(?:sitory)?|project)\.?$/i.test(sentence);
|
|
34
|
+
}
|
|
31
35
|
function isExplicitAssistantDecision(sentence) {
|
|
32
36
|
return /^(?:(?:the|my|our) decision is\b|decision\s*:|(?:i|we)(?: have|'ve)? (?:decided|chose|chosen)\b)/i.test(sentence);
|
|
33
37
|
}
|
|
@@ -177,7 +181,7 @@ export function extractFromAssistantMessage(manager, content, config) {
|
|
|
177
181
|
if (!content || !content.trim())
|
|
178
182
|
return;
|
|
179
183
|
const sentences = splitSentences(content);
|
|
180
|
-
const substantive = sentences.filter(isSubstantive);
|
|
184
|
+
const substantive = sentences.filter((s) => isSubstantive(s) && !isLowSignalNote(s));
|
|
181
185
|
const selected = substantive.slice(0, config.maxSentencesPerTurn);
|
|
182
186
|
for (const sentence of selected) {
|
|
183
187
|
if (isExplicitAssistantDecision(sentence)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/compaction/extractor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../src/compaction/extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured.d.ts","sourceRoot":"","sources":["../../../src/compaction/managers/structured.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"structured.d.ts","sourceRoot":"","sources":["../../../src/compaction/managers/structured.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAO3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAI1D;;;;;;;;;;;GAWG;AACH;;;;;;;;;GASG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACtE,QAAQ,CAAC,IAAI,gBAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAE7B,MAAM,EAAE,gBAAgB;IAIpC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAgF/C,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO;CA2DpE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isOperatorUserMessage } from '../../runtime/query/steering.js';
|
|
1
2
|
import { findSafeTrimIndex } from '../dangling.js';
|
|
2
3
|
import { extractFromAssistantMessage, extractFromToolCall, extractFromUserMessage, } from '../extractor.js';
|
|
3
4
|
import { WorkingStateManager } from '../manager.js';
|
|
@@ -36,6 +37,8 @@ export class StructuredCompactionManager {
|
|
|
36
37
|
let isFirstUserMessage = true;
|
|
37
38
|
for (const message of messages) {
|
|
38
39
|
if (message.role === 'user') {
|
|
40
|
+
if (!isOperatorUserMessage(message))
|
|
41
|
+
continue;
|
|
39
42
|
extractFromUserMessage(stateManager, message.content, isFirstUserMessage);
|
|
40
43
|
isFirstUserMessage = false;
|
|
41
44
|
}
|
|
@@ -107,6 +110,8 @@ export class StructuredCompactionManager {
|
|
|
107
110
|
let isFirstUserMessage = true;
|
|
108
111
|
for (const message of messages) {
|
|
109
112
|
if (message.role === 'user') {
|
|
113
|
+
if (!isOperatorUserMessage(message))
|
|
114
|
+
continue;
|
|
110
115
|
extractFromUserMessage(stateManager, message.content, isFirstUserMessage);
|
|
111
116
|
isFirstUserMessage = false;
|
|
112
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured.js","sourceRoot":"","sources":["../../../src/compaction/managers/structured.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"structured.js","sourceRoot":"","sources":["../../../src/compaction/managers/structured.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../../src/compaction/manual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../../src/compaction/manual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAI5D,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,0BAA0B,CAAA;AAGhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAa7D,OAAO,EAAE,KAAK,6BAA6B,EAAwB,MAAM,eAAe,CAAA;AAExF;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,gBAAgB;IAChC,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAC1B;AAED,MAAM,WAAW,eAAgB,SAAQ,6BAA6B;IACrE,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC9B;AAuFD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAiEzF;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAC1D,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAsF/F"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EMPTY_TOKEN_USAGE } from '../constants/limits.js';
|
|
2
2
|
import { resolveStreamIdleTimeoutMs } from '../provider/idle-timeout.js';
|
|
3
|
+
import { isOperatorUserMessage } from '../runtime/query/steering.js';
|
|
3
4
|
import { accumulateTokenUsage } from '../types/common/index.js';
|
|
4
5
|
import { NamzuError } from '../types/errors/index.js';
|
|
5
6
|
import { toolResultToText } from '../types/message/content.js';
|
|
@@ -48,6 +49,11 @@ function populateWorkingState(manager, messages, config) {
|
|
|
48
49
|
for (const message of messages) {
|
|
49
50
|
switch (message.role) {
|
|
50
51
|
case 'user':
|
|
52
|
+
// Project instructions, step context and reminders are runtime
|
|
53
|
+
// text in the user role. They are neither the task nor a
|
|
54
|
+
// requirement the operator stated.
|
|
55
|
+
if (!isOperatorUserMessage(message))
|
|
56
|
+
break;
|
|
51
57
|
extractFromUserMessage(manager, message.content, firstUser);
|
|
52
58
|
firstUser = false;
|
|
53
59
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../../src/compaction/manual.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../../src/compaction/manual.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { WorkingState } from './types.js';
|
|
2
2
|
/** The pinned-facts section alone, or null when nothing is pinned. */
|
|
3
3
|
export declare function renderPins(state: WorkingState): string | null;
|
|
4
|
+
/**
|
|
5
|
+
* An assistant note that says what is still to be done. The summary keeps
|
|
6
|
+
* these apart from the narration so the step that comes next is the last
|
|
7
|
+
* thing the model reads after a compaction.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isOpenItem(note: string): boolean;
|
|
4
10
|
export declare function serializeState(state: WorkingState): string;
|
|
5
11
|
//# sourceMappingURL=serializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/compaction/serializer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/compaction/serializer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,YAAY,CAAA;AAkExD,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAW7D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIhD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAmE1D"}
|