@inhuman.tools/turn 0.0.0-stage → 0.1.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/LICENSE.md +7 -0
- package/dist/agent-calls/acceptance.d.ts +12 -0
- package/dist/agent-calls/acceptance.d.ts.map +1 -0
- package/dist/agent-calls/acceptance.js +64 -0
- package/dist/agent-calls/acceptance.js.map +1 -0
- package/dist/agent-calls/callbacks.d.ts +14 -0
- package/dist/agent-calls/callbacks.d.ts.map +1 -0
- package/dist/agent-calls/callbacks.js +59 -0
- package/dist/agent-calls/callbacks.js.map +1 -0
- package/dist/agent-calls/delivery.d.ts +7 -0
- package/dist/agent-calls/delivery.d.ts.map +1 -0
- package/dist/agent-calls/delivery.js +16 -0
- package/dist/agent-calls/delivery.js.map +1 -0
- package/dist/agent-calls/index.d.ts +7 -0
- package/dist/agent-calls/index.d.ts.map +1 -0
- package/dist/agent-calls/index.js +6 -0
- package/dist/agent-calls/index.js.map +1 -0
- package/dist/agent-calls/operator.d.ts +21 -0
- package/dist/agent-calls/operator.d.ts.map +1 -0
- package/dist/agent-calls/operator.js +78 -0
- package/dist/agent-calls/operator.js.map +1 -0
- package/dist/agent-calls/runtime.d.ts +99 -0
- package/dist/agent-calls/runtime.d.ts.map +1 -0
- package/dist/agent-calls/runtime.js +245 -0
- package/dist/agent-calls/runtime.js.map +1 -0
- package/dist/agent-calls/types.d.ts +31 -0
- package/dist/agent-calls/types.d.ts.map +1 -0
- package/dist/agent-calls/types.js +2 -0
- package/dist/agent-calls/types.js.map +1 -0
- package/dist/context/compact-floors.d.ts +43 -0
- package/dist/context/compact-floors.d.ts.map +1 -0
- package/dist/context/compact-floors.js +52 -0
- package/dist/context/compact-floors.js.map +1 -0
- package/dist/context/compact.d.ts +42 -0
- package/dist/context/compact.d.ts.map +1 -0
- package/dist/context/compact.js +155 -0
- package/dist/context/compact.js.map +1 -0
- package/dist/context/delivery.d.ts +13 -0
- package/dist/context/delivery.d.ts.map +1 -0
- package/dist/context/delivery.js +6 -0
- package/dist/context/delivery.js.map +1 -0
- package/dist/context/history.d.ts +66 -0
- package/dist/context/history.d.ts.map +1 -0
- package/dist/context/history.js +573 -0
- package/dist/context/history.js.map +1 -0
- package/dist/context/index.d.ts +10 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +10 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/observations.d.ts +7 -0
- package/dist/context/observations.d.ts.map +1 -0
- package/dist/context/observations.js +11 -0
- package/dist/context/observations.js.map +1 -0
- package/dist/context/retention/defaults.d.ts +10 -0
- package/dist/context/retention/defaults.d.ts.map +1 -0
- package/dist/context/retention/defaults.js +47 -0
- package/dist/context/retention/defaults.js.map +1 -0
- package/dist/context/retention/index.d.ts +14 -0
- package/dist/context/retention/index.d.ts.map +1 -0
- package/dist/context/retention/index.js +21 -0
- package/dist/context/retention/index.js.map +1 -0
- package/dist/context/retention/narrow.d.ts +22 -0
- package/dist/context/retention/narrow.d.ts.map +1 -0
- package/dist/context/retention/narrow.js +140 -0
- package/dist/context/retention/narrow.js.map +1 -0
- package/dist/context/retention/render.d.ts +37 -0
- package/dist/context/retention/render.d.ts.map +1 -0
- package/dist/context/retention/render.js +149 -0
- package/dist/context/retention/render.js.map +1 -0
- package/dist/context/retention/resolve.d.ts +51 -0
- package/dist/context/retention/resolve.d.ts.map +1 -0
- package/dist/context/retention/resolve.js +254 -0
- package/dist/context/retention/resolve.js.map +1 -0
- package/dist/context/retention/schema.d.ts +345 -0
- package/dist/context/retention/schema.d.ts.map +1 -0
- package/dist/context/retention/schema.js +149 -0
- package/dist/context/retention/schema.js.map +1 -0
- package/dist/context/retention/stamp.d.ts +25 -0
- package/dist/context/retention/stamp.d.ts.map +1 -0
- package/dist/context/retention/stamp.js +103 -0
- package/dist/context/retention/stamp.js.map +1 -0
- package/dist/context/retention/step.d.ts +33 -0
- package/dist/context/retention/step.d.ts.map +1 -0
- package/dist/context/retention/step.js +74 -0
- package/dist/context/retention/step.js.map +1 -0
- package/dist/context/retention/view.d.ts +57 -0
- package/dist/context/retention/view.d.ts.map +1 -0
- package/dist/context/retention/view.js +121 -0
- package/dist/context/retention/view.js.map +1 -0
- package/dist/context/squeeze.d.ts +45 -0
- package/dist/context/squeeze.d.ts.map +1 -0
- package/dist/context/squeeze.js +182 -0
- package/dist/context/squeeze.js.map +1 -0
- package/dist/context/tools.d.ts +16 -0
- package/dist/context/tools.d.ts.map +1 -0
- package/dist/context/tools.js +73 -0
- package/dist/context/tools.js.map +1 -0
- package/dist/context/transcript.d.ts +151 -0
- package/dist/context/transcript.d.ts.map +1 -0
- package/dist/context/transcript.js +659 -0
- package/dist/context/transcript.js.map +1 -0
- package/dist/policy-processor/bypass.d.ts +95 -0
- package/dist/policy-processor/bypass.d.ts.map +1 -0
- package/dist/policy-processor/bypass.js +188 -0
- package/dist/policy-processor/bypass.js.map +1 -0
- package/dist/policy-processor/classifier.d.ts +47 -0
- package/dist/policy-processor/classifier.d.ts.map +1 -0
- package/dist/policy-processor/classifier.js +671 -0
- package/dist/policy-processor/classifier.js.map +1 -0
- package/dist/policy-processor/cluster.d.ts +7 -0
- package/dist/policy-processor/cluster.d.ts.map +1 -0
- package/dist/policy-processor/cluster.js +32 -0
- package/dist/policy-processor/cluster.js.map +1 -0
- package/dist/policy-processor/evidence.d.ts +26 -0
- package/dist/policy-processor/evidence.d.ts.map +1 -0
- package/dist/policy-processor/evidence.js +204 -0
- package/dist/policy-processor/evidence.js.map +1 -0
- package/dist/policy-processor/explain.d.ts +59 -0
- package/dist/policy-processor/explain.d.ts.map +1 -0
- package/dist/policy-processor/explain.js +224 -0
- package/dist/policy-processor/explain.js.map +1 -0
- package/dist/policy-processor/index.d.ts +6 -0
- package/dist/policy-processor/index.d.ts.map +1 -0
- package/dist/policy-processor/index.js +6 -0
- package/dist/policy-processor/index.js.map +1 -0
- package/dist/policy-processor/license.d.ts +23 -0
- package/dist/policy-processor/license.d.ts.map +1 -0
- package/dist/policy-processor/license.js +47 -0
- package/dist/policy-processor/license.js.map +1 -0
- package/dist/policy-processor/peel-cwd.d.ts +2 -0
- package/dist/policy-processor/peel-cwd.d.ts.map +1 -0
- package/dist/policy-processor/peel-cwd.js +2 -0
- package/dist/policy-processor/peel-cwd.js.map +1 -0
- package/dist/policy-processor/real-path.d.ts +7 -0
- package/dist/policy-processor/real-path.d.ts.map +1 -0
- package/dist/policy-processor/real-path.js +42 -0
- package/dist/policy-processor/real-path.js.map +1 -0
- package/dist/policy-processor/scope.d.ts +111 -0
- package/dist/policy-processor/scope.d.ts.map +1 -0
- package/dist/policy-processor/scope.js +629 -0
- package/dist/policy-processor/scope.js.map +1 -0
- package/dist/policy-processor/self-protect.d.ts +10 -0
- package/dist/policy-processor/self-protect.d.ts.map +1 -0
- package/dist/policy-processor/self-protect.js +48 -0
- package/dist/policy-processor/self-protect.js.map +1 -0
- package/dist/policy-processor/soft-deny.d.ts +75 -0
- package/dist/policy-processor/soft-deny.d.ts.map +1 -0
- package/dist/policy-processor/soft-deny.js +185 -0
- package/dist/policy-processor/soft-deny.js.map +1 -0
- package/dist/policy-processor/unattended-guard.d.ts +28 -0
- package/dist/policy-processor/unattended-guard.d.ts.map +1 -0
- package/dist/policy-processor/unattended-guard.js +145 -0
- package/dist/policy-processor/unattended-guard.js.map +1 -0
- package/dist/session/cancel.d.ts +14 -0
- package/dist/session/cancel.d.ts.map +1 -0
- package/dist/session/cancel.js +32 -0
- package/dist/session/cancel.js.map +1 -0
- package/dist/session/commands.d.ts +41 -0
- package/dist/session/commands.d.ts.map +1 -0
- package/dist/session/commands.js +241 -0
- package/dist/session/commands.js.map +1 -0
- package/dist/session/compact-actor.d.ts +23 -0
- package/dist/session/compact-actor.d.ts.map +1 -0
- package/dist/session/compact-actor.js +91 -0
- package/dist/session/compact-actor.js.map +1 -0
- package/dist/session/compact-env.d.ts +54 -0
- package/dist/session/compact-env.d.ts.map +1 -0
- package/dist/session/compact-env.js +345 -0
- package/dist/session/compact-env.js.map +1 -0
- package/dist/session/compact.d.ts +42 -0
- package/dist/session/compact.d.ts.map +1 -0
- package/dist/session/compact.js +68 -0
- package/dist/session/compact.js.map +1 -0
- package/dist/session/index.d.ts +9 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +8 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/park.d.ts +16 -0
- package/dist/session/park.d.ts.map +1 -0
- package/dist/session/park.js +73 -0
- package/dist/session/park.js.map +1 -0
- package/dist/session/side-channel-reminder.d.ts +41 -0
- package/dist/session/side-channel-reminder.d.ts.map +1 -0
- package/dist/session/side-channel-reminder.js +132 -0
- package/dist/session/side-channel-reminder.js.map +1 -0
- package/dist/session/types.d.ts +44 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +2 -0
- package/dist/session/types.js.map +1 -0
- package/dist/tool-catalog/catalog.d.ts +77 -0
- package/dist/tool-catalog/catalog.d.ts.map +1 -0
- package/dist/tool-catalog/catalog.js +380 -0
- package/dist/tool-catalog/catalog.js.map +1 -0
- package/dist/tool-catalog/index.d.ts +4 -0
- package/dist/tool-catalog/index.d.ts.map +1 -0
- package/dist/tool-catalog/index.js +3 -0
- package/dist/tool-catalog/index.js.map +1 -0
- package/dist/tool-catalog/recipes.d.ts +36 -0
- package/dist/tool-catalog/recipes.d.ts.map +1 -0
- package/dist/tool-catalog/recipes.js +121 -0
- package/dist/tool-catalog/recipes.js.map +1 -0
- package/dist/tool-catalog/types.d.ts +103 -0
- package/dist/tool-catalog/types.d.ts.map +1 -0
- package/dist/tool-catalog/types.js +5 -0
- package/dist/tool-catalog/types.js.map +1 -0
- package/dist/tool-runtime/approval/approved.d.ts +13 -0
- package/dist/tool-runtime/approval/approved.d.ts.map +1 -0
- package/dist/tool-runtime/approval/approved.js +20 -0
- package/dist/tool-runtime/approval/approved.js.map +1 -0
- package/dist/tool-runtime/approval/dist.d.ts +6 -0
- package/dist/tool-runtime/approval/dist.d.ts.map +1 -0
- package/dist/tool-runtime/approval/dist.js +28 -0
- package/dist/tool-runtime/approval/dist.js.map +1 -0
- package/dist/tool-runtime/approval/inbound.d.ts +7 -0
- package/dist/tool-runtime/approval/inbound.d.ts.map +1 -0
- package/dist/tool-runtime/approval/inbound.js +48 -0
- package/dist/tool-runtime/approval/inbound.js.map +1 -0
- package/dist/tool-runtime/approval/unattended.d.ts +8 -0
- package/dist/tool-runtime/approval/unattended.d.ts.map +1 -0
- package/dist/tool-runtime/approval/unattended.js +23 -0
- package/dist/tool-runtime/approval/unattended.js.map +1 -0
- package/dist/tool-runtime/blob-port.d.ts +46 -0
- package/dist/tool-runtime/blob-port.d.ts.map +1 -0
- package/dist/tool-runtime/blob-port.js +47 -0
- package/dist/tool-runtime/blob-port.js.map +1 -0
- package/dist/tool-runtime/extra-root.d.ts +3 -0
- package/dist/tool-runtime/extra-root.d.ts.map +1 -0
- package/dist/tool-runtime/extra-root.js +14 -0
- package/dist/tool-runtime/extra-root.js.map +1 -0
- package/dist/tool-runtime/handler.d.ts +29 -0
- package/dist/tool-runtime/handler.d.ts.map +1 -0
- package/dist/tool-runtime/handler.js +460 -0
- package/dist/tool-runtime/handler.js.map +1 -0
- package/dist/tool-runtime/index.d.ts +14 -0
- package/dist/tool-runtime/index.d.ts.map +1 -0
- package/dist/tool-runtime/index.js +14 -0
- package/dist/tool-runtime/index.js.map +1 -0
- package/dist/tool-runtime/peel.d.ts +19 -0
- package/dist/tool-runtime/peel.d.ts.map +1 -0
- package/dist/tool-runtime/peel.js +74 -0
- package/dist/tool-runtime/peel.js.map +1 -0
- package/dist/tool-runtime/plugin-context.d.ts +13 -0
- package/dist/tool-runtime/plugin-context.d.ts.map +1 -0
- package/dist/tool-runtime/plugin-context.js +55 -0
- package/dist/tool-runtime/plugin-context.js.map +1 -0
- package/dist/tool-runtime/recall.d.ts +18 -0
- package/dist/tool-runtime/recall.d.ts.map +1 -0
- package/dist/tool-runtime/recall.js +100 -0
- package/dist/tool-runtime/recall.js.map +1 -0
- package/dist/tool-runtime/run-system-tool.d.ts +13 -0
- package/dist/tool-runtime/run-system-tool.d.ts.map +1 -0
- package/dist/tool-runtime/run-system-tool.js +230 -0
- package/dist/tool-runtime/run-system-tool.js.map +1 -0
- package/dist/tool-runtime/tool-error.d.ts +6 -0
- package/dist/tool-runtime/tool-error.d.ts.map +1 -0
- package/dist/tool-runtime/tool-error.js +6 -0
- package/dist/tool-runtime/tool-error.js.map +1 -0
- package/dist/tool-runtime/worker-tools.d.ts +8 -0
- package/dist/tool-runtime/worker-tools.d.ts.map +1 -0
- package/dist/tool-runtime/worker-tools.js +65 -0
- package/dist/tool-runtime/worker-tools.js.map +1 -0
- package/dist/tool-runtime/write-admit.d.ts +21 -0
- package/dist/tool-runtime/write-admit.d.ts.map +1 -0
- package/dist/tool-runtime/write-admit.js +89 -0
- package/dist/tool-runtime/write-admit.js.map +1 -0
- package/package.json +114 -3
- package/policy/auto-mode-ask.scm +201 -0
- package/policy/bypass-detect.prompt +55 -0
- package/policy/classifier-bash-incomplete.prompt +46 -0
- package/policy/classifier-bash.prompt +45 -0
- package/policy/classifier-mcp.prompt +45 -0
- package/policy/classifier-read.prompt +44 -0
- package/policy/classifier-write-outside.prompt +46 -0
- package/policy/classifier-write-risky.prompt +45 -0
- package/policy/classifier-write-workspace.prompt +46 -0
- package/policy/classifier-write.prompt +45 -0
- package/policy/soft-deny-round1.prompt +51 -0
- package/policy/soft-deny-round2.prompt +60 -0
- package/src/agent-calls/acceptance.ts +71 -0
- package/src/agent-calls/callbacks.ts +75 -0
- package/src/agent-calls/delivery.ts +15 -0
- package/src/agent-calls/index.ts +16 -0
- package/src/agent-calls/operator.ts +99 -0
- package/src/agent-calls/runtime.ts +310 -0
- package/src/agent-calls/types.ts +33 -0
- package/src/context/compact-floors.ts +76 -0
- package/src/context/compact.ts +176 -0
- package/src/context/delivery.ts +15 -0
- package/src/context/history.ts +725 -0
- package/src/context/index.ts +35 -0
- package/src/context/observations.ts +13 -0
- package/src/context/retention/defaults.ts +58 -0
- package/src/context/retention/index.ts +45 -0
- package/src/context/retention/narrow.ts +123 -0
- package/src/context/retention/render.ts +177 -0
- package/src/context/retention/resolve.ts +306 -0
- package/src/context/retention/schema.ts +173 -0
- package/src/context/retention/stamp.ts +121 -0
- package/src/context/retention/step.ts +85 -0
- package/src/context/retention/view.ts +161 -0
- package/src/context/squeeze.ts +218 -0
- package/src/context/tools.ts +92 -0
- package/src/context/transcript.ts +705 -0
- package/src/policy-processor/README.md +43 -0
- package/src/policy-processor/bypass.ts +246 -0
- package/src/policy-processor/classifier.ts +711 -0
- package/src/policy-processor/cluster.ts +31 -0
- package/src/policy-processor/evidence.ts +214 -0
- package/src/policy-processor/explain.ts +310 -0
- package/src/policy-processor/index.ts +6 -0
- package/src/policy-processor/license.ts +45 -0
- package/src/policy-processor/peel-cwd.ts +1 -0
- package/src/policy-processor/real-path.ts +41 -0
- package/src/policy-processor/scope.ts +655 -0
- package/src/policy-processor/self-protect.ts +46 -0
- package/src/policy-processor/soft-deny.ts +225 -0
- package/src/policy-processor/unattended-guard.ts +158 -0
- package/src/session/cancel.ts +34 -0
- package/src/session/commands.ts +292 -0
- package/src/session/compact-actor.ts +132 -0
- package/src/session/compact-env.ts +539 -0
- package/src/session/compact.ts +95 -0
- package/src/session/index.ts +18 -0
- package/src/session/park.ts +73 -0
- package/src/session/side-channel-reminder.ts +148 -0
- package/src/session/types.ts +50 -0
- package/src/tool-catalog/catalog.ts +282 -0
- package/src/tool-catalog/index.ts +26 -0
- package/src/tool-catalog/recipes.ts +154 -0
- package/src/tool-catalog/types.ts +110 -0
- package/src/tool-runtime/approval/approved.ts +20 -0
- package/src/tool-runtime/approval/dist.ts +29 -0
- package/src/tool-runtime/approval/inbound.ts +50 -0
- package/src/tool-runtime/approval/unattended.ts +24 -0
- package/src/tool-runtime/blob-port.ts +64 -0
- package/src/tool-runtime/extra-root.ts +16 -0
- package/src/tool-runtime/handler.ts +576 -0
- package/src/tool-runtime/index.ts +21 -0
- package/src/tool-runtime/peel.ts +91 -0
- package/src/tool-runtime/plugin-context.ts +68 -0
- package/src/tool-runtime/recall.ts +104 -0
- package/src/tool-runtime/run-system-tool.ts +273 -0
- package/src/tool-runtime/tool-error.ts +6 -0
- package/src/tool-runtime/worker-tools.ts +76 -0
- package/src/tool-runtime/write-admit.ts +90 -0
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/context/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { contentTokensOf, type EatCell, historyBehind, MessageChunk, payloadSuffix, projectCompactRows, sliceCompactEat, sliceCompactZones, textOfCell, Transcript, } from "./transcript.js";
|
|
2
|
+
export { keepFloors, keepFloorsOfJob, kvKeepTurnsOf, stampCompactInputs } from "./compact-floors.js";
|
|
3
|
+
export { compactDecision, compactDue, compactRejectReason, needFeasible, tailCompactCandidate } from "./compact.js";
|
|
4
|
+
export { SQUEEZE_COMPACT_CHARS, SQUEEZE_MICRO_MIN_CHARS, liftToolImages, squeezeProgrammaticText, squeezeToolCall, toolImagesOf, toolCallRepresentation, } from "./squeeze.js";
|
|
5
|
+
export * from "./retention/index.js";
|
|
6
|
+
export { usesGenericSilentProjection } from "./delivery.js";
|
|
7
|
+
export { selectCompletionTools } from "./tools.js";
|
|
8
|
+
export { BACKGROUND_TOOL, IN_FLIGHT_TOOL, NO_TOOLS_SYSTEM } from "./observations.js";
|
|
9
|
+
export { approvalNoteMessagesOf, type HistoryMessage, type HistoryUserPart, notificationMessagesOf, projectHistory, steerMessagesOf, } from "./history.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,OAAO,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EACL,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,sBAAsB,EACtB,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { contentTokensOf, historyBehind, MessageChunk, payloadSuffix, projectCompactRows, sliceCompactEat, sliceCompactZones, textOfCell, Transcript, } from "./transcript.js";
|
|
2
|
+
export { keepFloors, keepFloorsOfJob, kvKeepTurnsOf, stampCompactInputs } from "./compact-floors.js";
|
|
3
|
+
export { compactDecision, compactDue, compactRejectReason, needFeasible, tailCompactCandidate } from "./compact.js";
|
|
4
|
+
export { SQUEEZE_COMPACT_CHARS, SQUEEZE_MICRO_MIN_CHARS, liftToolImages, squeezeProgrammaticText, squeezeToolCall, toolImagesOf, toolCallRepresentation, } from "./squeeze.js";
|
|
5
|
+
export * from "./retention/index.js";
|
|
6
|
+
export { usesGenericSilentProjection } from "./delivery.js";
|
|
7
|
+
export { selectCompletionTools } from "./tools.js";
|
|
8
|
+
export { BACKGROUND_TOOL, IN_FLIGHT_TOOL, NO_TOOLS_SYSTEM } from "./observations.js";
|
|
9
|
+
export { approvalNoteMessagesOf, notificationMessagesOf, projectHistory, steerMessagesOf, } from "./history.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EACL,sBAAsB,EAGtB,sBAAsB,EACtB,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** No-tools face: unhomed completion, empty catalog, or Approvable parent (judge). */
|
|
2
|
+
export declare const NO_TOOLS_SYSTEM: import("@inhuman.tools/harness-commons").SystemPrompt;
|
|
3
|
+
/** Unresolved foreground tool row. */
|
|
4
|
+
export declare const IN_FLIGHT_TOOL = "in-flight";
|
|
5
|
+
/** Unresolved background tool row. */
|
|
6
|
+
export declare const BACKGROUND_TOOL = "running in background";
|
|
7
|
+
//# sourceMappingURL=observations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observations.d.ts","sourceRoot":"","sources":["../../src/context/observations.ts"],"names":[],"mappings":"AAKA,sFAAsF;AACtF,eAAO,MAAM,eAAe,uDAAwD,CAAC;AAErF,sCAAsC;AACtC,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,sCAAsC;AACtC,eAAO,MAAM,eAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model-facing copy for completion input. Vendor HTTP errors are not here.
|
|
3
|
+
*/
|
|
4
|
+
import { prompt } from "@inhuman.tools/harness-commons";
|
|
5
|
+
/** No-tools face: unhomed completion, empty catalog, or Approvable parent (judge). */
|
|
6
|
+
export const NO_TOOLS_SYSTEM = prompt.system `Reply in prose. You do not have tools.`;
|
|
7
|
+
/** Unresolved foreground tool row. */
|
|
8
|
+
export const IN_FLIGHT_TOOL = "in-flight";
|
|
9
|
+
/** Unresolved background tool row. */
|
|
10
|
+
export const BACKGROUND_TOOL = "running in background";
|
|
11
|
+
//# sourceMappingURL=observations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observations.js","sourceRoot":"","sources":["../../src/context/observations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAA,wCAAwC,CAAC;AAErF,sCAAsC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C,sCAAsC;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dist defaults for `contextRetention` (design §4.3). A turn minted before
|
|
3
|
+
* retention existed resolves to {@link LEGACY_CONTEXT_RETENTION}: everything
|
|
4
|
+
* lives until compaction, except what the owner fixed regardless of config —
|
|
5
|
+
* pictures live only through their own turn, a system note only for its round.
|
|
6
|
+
*/
|
|
7
|
+
import type { ContextRetention } from "./schema.js";
|
|
8
|
+
export declare const DEFAULT_CONTEXT_RETENTION: ContextRetention;
|
|
9
|
+
export declare const LEGACY_CONTEXT_RETENTION: ContextRetention;
|
|
10
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/context/retention/defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,yBAAyB,EAAE,gBA4BvC,CAAC;AASF,eAAO,MAAM,wBAAwB,EAAE,gBAYtC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export const DEFAULT_CONTEXT_RETENTION = {
|
|
2
|
+
version: 1,
|
|
3
|
+
defaults: { minChars: 800 },
|
|
4
|
+
step: { turnBoundary: true, everyRounds: 4, minFreedTokens: 8000, whenCacheCold: true, atCompaction: true },
|
|
5
|
+
kinds: {
|
|
6
|
+
"image.user": { keep: ["turn", { newest: 4 }], leave: "stub", minChars: 0 },
|
|
7
|
+
"image.tool": { keep: ["turn", { newest: 2 }], leave: "stub", minChars: 0 },
|
|
8
|
+
"tool.read": { keep: ["turn", { rounds: 10 }], leave: "stub" },
|
|
9
|
+
"tool.search": { keep: { rounds: 2 }, leave: "stub" },
|
|
10
|
+
"tool.shell": { keep: { rounds: 3 }, leave: "summary" },
|
|
11
|
+
"tool.web.search": { keep: { rounds: 2 }, leave: "stub" },
|
|
12
|
+
"tool.web.fetch": { keep: "turn", leave: "stub" },
|
|
13
|
+
"tool.mcp": { keep: "turn", leave: "stub" },
|
|
14
|
+
"tool.program": { keep: "turn", leave: { head: 400 } },
|
|
15
|
+
"tool.agent": { keep: "compaction" },
|
|
16
|
+
"tool.comm": { keep: "round", leave: "stub", minChars: 200 },
|
|
17
|
+
"tool.write": { keep: "compaction" },
|
|
18
|
+
"tool.other": { keep: "compaction" },
|
|
19
|
+
"tool.args.write": { keep: "turn", leave: "stub", minChars: 2000 },
|
|
20
|
+
thinking: { keep: "turn", leave: "none", minChars: 0 },
|
|
21
|
+
steer: { keep: "compaction" },
|
|
22
|
+
"approval-note": { keep: "compaction" },
|
|
23
|
+
notification: { keep: "turn", leave: "summary" },
|
|
24
|
+
"system-note": { keep: "round", leave: "none", minChars: 0 },
|
|
25
|
+
error: { keep: "turn", leave: "summary", minChars: 0 },
|
|
26
|
+
},
|
|
27
|
+
tools: {},
|
|
28
|
+
dialects: { anthropic: { keep: "forever" } },
|
|
29
|
+
};
|
|
30
|
+
const LEGACY_KINDS = Object.fromEntries(Object.keys(DEFAULT_CONTEXT_RETENTION.kinds).map((kind) => [
|
|
31
|
+
kind,
|
|
32
|
+
{ keep: "compaction", leave: "stub", minChars: 0 },
|
|
33
|
+
]));
|
|
34
|
+
export const LEGACY_CONTEXT_RETENTION = {
|
|
35
|
+
version: 1,
|
|
36
|
+
defaults: { minChars: 0 },
|
|
37
|
+
step: { turnBoundary: true, everyRounds: null, minFreedTokens: 0, whenCacheCold: false, atCompaction: true },
|
|
38
|
+
kinds: {
|
|
39
|
+
...LEGACY_KINDS,
|
|
40
|
+
"image.user": { keep: ["turn", { newest: 4 }], leave: "stub", minChars: 0 },
|
|
41
|
+
"image.tool": { keep: ["turn", { newest: 2 }], leave: "stub", minChars: 0 },
|
|
42
|
+
"system-note": { keep: "round", leave: "none", minChars: 0 },
|
|
43
|
+
},
|
|
44
|
+
tools: {},
|
|
45
|
+
dialects: {},
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/context/retention/defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { DEFAULT_CONTEXT_RETENTION, LEGACY_CONTEXT_RETENTION } from "./defaults.js";
|
|
2
|
+
export { canonicalKeep, narrowRule } from "./narrow.js";
|
|
3
|
+
export { effectiveRule, kindRule, LEGACY_POLICY, parsePolicy, resolveRetention, ruleFor, serializePolicy, sessionRetentionLayer, type ResolvedPolicy, type ResolveInput, type ResolveResult, } from "./resolve.js";
|
|
4
|
+
export { REF_CHARS, jobRef, visualRef } from "./render.js";
|
|
5
|
+
export { contextRetentionSchema, parseRetentionLayer, RETENTION_KINDS, type ConcreteRule, type ContextRetention, type Horizon, type Leave, type RetentionKind, type RetentionLayer, type RuleInput, } from "./schema.js";
|
|
6
|
+
export { decideRetentionStep, stampRetentionClock, type StepFacts } from "./step.js";
|
|
7
|
+
export { kindOfJob, parseJobStamp, stampJobRetention, type JobStamp } from "./stamp.js";
|
|
8
|
+
export { buildView, parseClock, policyOfTurn, type RetentionClock, type RetentionView } from "./view.js";
|
|
9
|
+
/**
|
|
10
|
+
* R1: the policy JSON a turn is stamped with at mint. `userConfigJson` is
|
|
11
|
+
* `KernelRoot.contextRetentionJson`; session kv may only narrow it.
|
|
12
|
+
*/
|
|
13
|
+
export declare function turnRetentionJson(userConfigJson: string, kvs: Readonly<Record<string, string>>): string;
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/retention/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,aAAa,EACb,QAAQ,EACR,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,eAAe,EACf,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAEzG;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAMvG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { resolveRetention, serializePolicy, sessionRetentionLayer } from "./resolve.js";
|
|
2
|
+
export { DEFAULT_CONTEXT_RETENTION, LEGACY_CONTEXT_RETENTION } from "./defaults.js";
|
|
3
|
+
export { canonicalKeep, narrowRule } from "./narrow.js";
|
|
4
|
+
export { effectiveRule, kindRule, LEGACY_POLICY, parsePolicy, resolveRetention, ruleFor, serializePolicy, sessionRetentionLayer, } from "./resolve.js";
|
|
5
|
+
export { REF_CHARS, jobRef, visualRef } from "./render.js";
|
|
6
|
+
export { contextRetentionSchema, parseRetentionLayer, RETENTION_KINDS, } from "./schema.js";
|
|
7
|
+
export { decideRetentionStep, stampRetentionClock } from "./step.js";
|
|
8
|
+
export { kindOfJob, parseJobStamp, stampJobRetention } from "./stamp.js";
|
|
9
|
+
export { buildView, parseClock, policyOfTurn } from "./view.js";
|
|
10
|
+
/**
|
|
11
|
+
* R1: the policy JSON a turn is stamped with at mint. `userConfigJson` is
|
|
12
|
+
* `KernelRoot.contextRetentionJson`; session kv may only narrow it.
|
|
13
|
+
*/
|
|
14
|
+
export function turnRetentionJson(userConfigJson, kvs) {
|
|
15
|
+
const { policy } = resolveRetention({
|
|
16
|
+
...(userConfigJson === "" ? {} : { user: userConfigJson }),
|
|
17
|
+
session: sessionRetentionLayer(kvs),
|
|
18
|
+
});
|
|
19
|
+
return serializePolicy(policy);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/retention/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,aAAa,EACb,QAAQ,EACR,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,eAAe,EACf,qBAAqB,GAItB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,GAQhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAkB,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAA2C,MAAM,WAAW,CAAC;AAEzG;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,cAAsB,EAAE,GAAqC;IAC7F,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;QAClC,GAAG,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAC1D,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Narrowing algebra. A narrowing layer appends conditions to `keep` ("whichever
|
|
3
|
+
* comes first"), may replace `leave` with a shorter remainder, and may lower
|
|
4
|
+
* `minChars`. It cannot lengthen anything: a source that tries is ignored for
|
|
5
|
+
* that key and reported.
|
|
6
|
+
*/
|
|
7
|
+
import { type Horizon, type Leave, type RuleInput } from "./schema.js";
|
|
8
|
+
/** How long a single condition keeps an item, as a comparable number. */
|
|
9
|
+
export declare function horizonRank(h: Horizon): number;
|
|
10
|
+
/** Any-of semantics: the shortest condition decides how long an item lives. */
|
|
11
|
+
export declare function keepRank(keep: readonly Horizon[]): number;
|
|
12
|
+
/** Canonical form of an any-of condition list: the tightest of each type, in a fixed order. */
|
|
13
|
+
export declare function canonicalKeep(keep: readonly Horizon[]): Horizon[];
|
|
14
|
+
export declare function narrowKeep(base: readonly Horizon[], over: readonly Horizon[]): Horizon[];
|
|
15
|
+
/** Remainder size, smallest first: none, a one-line stub, a summary, then `head` by length. */
|
|
16
|
+
export declare function leaveRank(leave: Leave): number;
|
|
17
|
+
export declare function narrowLeave(base: Leave | undefined, over: Leave | undefined, kind: string | null): Leave | undefined;
|
|
18
|
+
/** True when `over` shortens `base` in at least one respect. */
|
|
19
|
+
export declare function narrows(base: RuleInput, over: RuleInput, kind: string | null): boolean;
|
|
20
|
+
/** `base ∧ over`. The result never lives longer than `base`. */
|
|
21
|
+
export declare function narrowRule(base: RuleInput, over: RuleInput, kind: string | null): RuleInput;
|
|
22
|
+
//# sourceMappingURL=narrow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrow.d.ts","sourceRoot":"","sources":["../../../src/context/retention/narrow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAqC,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1G,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAQ9C;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAGzD;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,CAwCjE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,CAExF;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAK9C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAKpH;AAED,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAUtF;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAqB3F"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Narrowing algebra. A narrowing layer appends conditions to `keep` ("whichever
|
|
3
|
+
* comes first"), may replace `leave` with a shorter remainder, and may lower
|
|
4
|
+
* `minChars`. It cannot lengthen anything: a source that tries is ignored for
|
|
5
|
+
* that key and reported.
|
|
6
|
+
*/
|
|
7
|
+
import { horizonList, NONE_FORBIDDEN_KINDS } from "./schema.js";
|
|
8
|
+
/** How long a single condition keeps an item, as a comparable number. */
|
|
9
|
+
export function horizonRank(h) {
|
|
10
|
+
if (h === "round")
|
|
11
|
+
return 1;
|
|
12
|
+
if (h === "turn")
|
|
13
|
+
return 1000;
|
|
14
|
+
if (h === "compaction")
|
|
15
|
+
return 1_000_000;
|
|
16
|
+
if (h === "forever")
|
|
17
|
+
return 10_000_000;
|
|
18
|
+
if ("rounds" in h)
|
|
19
|
+
return h.rounds;
|
|
20
|
+
if ("turns" in h)
|
|
21
|
+
return 1000 * h.turns;
|
|
22
|
+
return Number.POSITIVE_INFINITY; // `newest` bounds a count, not a span
|
|
23
|
+
}
|
|
24
|
+
/** Any-of semantics: the shortest condition decides how long an item lives. */
|
|
25
|
+
export function keepRank(keep) {
|
|
26
|
+
if (keep.length === 0)
|
|
27
|
+
return 1_000_000;
|
|
28
|
+
return Math.min(...keep.map(horizonRank));
|
|
29
|
+
}
|
|
30
|
+
/** Canonical form of an any-of condition list: the tightest of each type, in a fixed order. */
|
|
31
|
+
export function canonicalKeep(keep) {
|
|
32
|
+
let turns = Number.POSITIVE_INFINITY;
|
|
33
|
+
let rounds = Number.POSITIVE_INFINITY;
|
|
34
|
+
let newest = Number.POSITIVE_INFINITY;
|
|
35
|
+
let compaction = false;
|
|
36
|
+
let forever = false;
|
|
37
|
+
for (const h of keep) {
|
|
38
|
+
switch (h) {
|
|
39
|
+
case "round": {
|
|
40
|
+
rounds = Math.min(rounds, 1);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
case "turn": {
|
|
44
|
+
turns = Math.min(turns, 1);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
case "compaction": {
|
|
48
|
+
compaction = true;
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
case "forever": {
|
|
52
|
+
forever = true;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
default:
|
|
56
|
+
if ("rounds" in h)
|
|
57
|
+
rounds = Math.min(rounds, h.rounds);
|
|
58
|
+
else if ("turns" in h)
|
|
59
|
+
turns = Math.min(turns, h.turns);
|
|
60
|
+
else
|
|
61
|
+
newest = Math.min(newest, h.newest);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const out = [];
|
|
65
|
+
if (Number.isFinite(turns))
|
|
66
|
+
out.push(turns === 1 ? "turn" : { turns });
|
|
67
|
+
if (Number.isFinite(rounds))
|
|
68
|
+
out.push(rounds === 1 ? "round" : { rounds });
|
|
69
|
+
if (Number.isFinite(newest))
|
|
70
|
+
out.push({ newest });
|
|
71
|
+
// `compaction` and `forever` only matter when nothing else bounds the item.
|
|
72
|
+
if (out.every((h) => typeof h === "object" && "newest" in h)) {
|
|
73
|
+
if (compaction)
|
|
74
|
+
out.push("compaction");
|
|
75
|
+
else if (forever)
|
|
76
|
+
out.push("forever");
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
export function narrowKeep(base, over) {
|
|
81
|
+
return canonicalKeep([...base, ...over]);
|
|
82
|
+
}
|
|
83
|
+
/** Remainder size, smallest first: none, a one-line stub, a summary, then `head` by length. */
|
|
84
|
+
export function leaveRank(leave) {
|
|
85
|
+
if (leave === "none")
|
|
86
|
+
return 0;
|
|
87
|
+
if (leave === "stub")
|
|
88
|
+
return 80;
|
|
89
|
+
if (leave === "summary")
|
|
90
|
+
return 400;
|
|
91
|
+
return leave.head;
|
|
92
|
+
}
|
|
93
|
+
export function narrowLeave(base, over, kind) {
|
|
94
|
+
if (over === undefined)
|
|
95
|
+
return base;
|
|
96
|
+
if (over === "none" && kind !== null && NONE_FORBIDDEN_KINDS.has(kind))
|
|
97
|
+
return base;
|
|
98
|
+
if (base === undefined)
|
|
99
|
+
return over;
|
|
100
|
+
return leaveRank(over) < leaveRank(base) ? over : base;
|
|
101
|
+
}
|
|
102
|
+
/** True when `over` shortens `base` in at least one respect. */
|
|
103
|
+
export function narrows(base, over, kind) {
|
|
104
|
+
const overKeep = horizonList(over.keep);
|
|
105
|
+
if (overKeep.length > 0) {
|
|
106
|
+
const baseKeep = horizonList(base.keep);
|
|
107
|
+
if (baseKeep.length === 0 || keepRank(overKeep) < keepRank(baseKeep))
|
|
108
|
+
return true;
|
|
109
|
+
if (overKeep.some((h) => typeof h === "object" && "newest" in h))
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
if (over.leave !== undefined && narrowLeave(base.leave, over.leave, kind) !== base.leave)
|
|
113
|
+
return true;
|
|
114
|
+
if (over.minChars !== undefined && (base.minChars === undefined || over.minChars < base.minChars))
|
|
115
|
+
return true;
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
/** `base ∧ over`. The result never lives longer than `base`. */
|
|
119
|
+
export function narrowRule(base, over, kind) {
|
|
120
|
+
const keep = narrowKeep(horizonList(base.keep), horizonList(over.keep));
|
|
121
|
+
const leave = narrowLeave(base.leave, over.leave, kind);
|
|
122
|
+
const minChars = over.minChars === undefined ? base.minChars : Math.min(base.minChars ?? Number.POSITIVE_INFINITY, over.minChars);
|
|
123
|
+
let onError = base.onError;
|
|
124
|
+
if (over.onError != null) {
|
|
125
|
+
onError =
|
|
126
|
+
base.onError == null
|
|
127
|
+
? over.onError
|
|
128
|
+
: {
|
|
129
|
+
keep: narrowKeep(horizonList(base.onError.keep), horizonList(over.onError.keep)),
|
|
130
|
+
leave: narrowLeave(base.onError.leave, over.onError.leave, "error") ?? base.onError.leave,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
...(keep.length === 0 ? {} : { keep: keep.length === 1 ? keep[0] : keep }),
|
|
135
|
+
...(leave === undefined ? {} : { leave }),
|
|
136
|
+
...(minChars === undefined || !Number.isFinite(minChars) ? {} : { minChars }),
|
|
137
|
+
...(onError === undefined ? {} : { onError }),
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=narrow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrow.js","sourceRoot":"","sources":["../../../src/context/retention/narrow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What an expired item leaves behind. Every remainder is deterministic: the
|
|
3
|
+
* same sealed receipt always renders to the same bytes (no timestamps, no
|
|
4
|
+
* ordering-dependent JSON), so a stub never moves the cached prefix.
|
|
5
|
+
*/
|
|
6
|
+
import type { Leave } from "./schema.js";
|
|
7
|
+
export declare const REF_CHARS = 8;
|
|
8
|
+
export declare function jobRef(uuid: string): string;
|
|
9
|
+
/** A node that is not yet materialized in a document has no uuid; it simply has no ref. */
|
|
10
|
+
export declare function refOfNode(node: {
|
|
11
|
+
readonly uuid: string;
|
|
12
|
+
}): string | undefined;
|
|
13
|
+
export declare function visualRef(id: string): string;
|
|
14
|
+
export declare function humanSize(chars: number): string;
|
|
15
|
+
export type StubFacts = {
|
|
16
|
+
/** Wire or program name. */
|
|
17
|
+
readonly tool: string;
|
|
18
|
+
readonly kind: string;
|
|
19
|
+
readonly ref: string;
|
|
20
|
+
readonly args: Readonly<Record<string, unknown>> | null;
|
|
21
|
+
/** The full painted observation the elision replaces. */
|
|
22
|
+
readonly full: string;
|
|
23
|
+
readonly ok: boolean;
|
|
24
|
+
readonly value: unknown;
|
|
25
|
+
readonly code: string | undefined;
|
|
26
|
+
};
|
|
27
|
+
export declare function stubLine(f: StubFacts): string;
|
|
28
|
+
/** The remainder of a tool result whose horizon has passed. */
|
|
29
|
+
export declare function toolRemainder(leave: Leave, f: StubFacts, failed: boolean): string;
|
|
30
|
+
/** The remainder of a prelude cell (steer, note, notification, system note). `null` leaves nothing. */
|
|
31
|
+
export declare function textRemainder(leave: Leave, kind: string, text: string): string | null;
|
|
32
|
+
/** Large string fields of a call's arguments become a stub; the JSON stays valid. */
|
|
33
|
+
export declare function elideArgs(args: Readonly<Record<string, unknown>>, ref: string, minChars: number): {
|
|
34
|
+
readonly json: string;
|
|
35
|
+
readonly elided: boolean;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/context/retention/render.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAM7E;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI/C;AAOD,MAAM,MAAM,SAAS,GAAG;IACtB,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IACxD,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAgDF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAE7C;AAyCD,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAQjF;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrF;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CACvB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAarD"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
export const REF_CHARS = 8;
|
|
2
|
+
export function jobRef(uuid) {
|
|
3
|
+
return `job:${uuid.slice(0, REF_CHARS)}`;
|
|
4
|
+
}
|
|
5
|
+
/** A node that is not yet materialized in a document has no uuid; it simply has no ref. */
|
|
6
|
+
export function refOfNode(node) {
|
|
7
|
+
try {
|
|
8
|
+
return jobRef(node.uuid);
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function visualRef(id) {
|
|
15
|
+
return `visual:${id}`;
|
|
16
|
+
}
|
|
17
|
+
export function humanSize(chars) {
|
|
18
|
+
if (chars < 1024)
|
|
19
|
+
return `${chars} B`;
|
|
20
|
+
if (chars < 1024 * 1024)
|
|
21
|
+
return `${(chars / 1024).toFixed(1)} KB`;
|
|
22
|
+
return `${(chars / (1024 * 1024)).toFixed(1)} MB`;
|
|
23
|
+
}
|
|
24
|
+
function oneLine(text, max) {
|
|
25
|
+
const flat = text.replaceAll(/\s+/g, " ").trim();
|
|
26
|
+
return flat.length <= max ? flat : `${flat.slice(0, max)}…`;
|
|
27
|
+
}
|
|
28
|
+
function argString(args, ...keys) {
|
|
29
|
+
for (const key of keys) {
|
|
30
|
+
const value = args?.[key];
|
|
31
|
+
if (typeof value === "string" && value !== "")
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
return "";
|
|
35
|
+
}
|
|
36
|
+
function lineCount(text) {
|
|
37
|
+
if (text === "")
|
|
38
|
+
return 0;
|
|
39
|
+
return text.split("\n").length;
|
|
40
|
+
}
|
|
41
|
+
function identityOf(f) {
|
|
42
|
+
const size = humanSize(f.full.length);
|
|
43
|
+
switch (f.kind) {
|
|
44
|
+
case "tool.read": {
|
|
45
|
+
const target = argString(f.args, "path", "file_path", "pattern") || "?";
|
|
46
|
+
return `${oneLine(target, 120)}, ${lineCount(f.full)} lines, ${size}`;
|
|
47
|
+
}
|
|
48
|
+
case "tool.search": {
|
|
49
|
+
const needle = argString(f.args, "pattern", "query");
|
|
50
|
+
const where = argString(f.args, "path", "cwd");
|
|
51
|
+
return `"${oneLine(needle, 80)}"${where === "" ? "" : ` in ${oneLine(where, 80)}`}, ${lineCount(f.full)} lines`;
|
|
52
|
+
}
|
|
53
|
+
case "tool.web.search": {
|
|
54
|
+
const urls = [...f.full.matchAll(/https?:\/\/[^\s"'<>)\]]+/g)].map((m) => m[0]);
|
|
55
|
+
const unique = [...new Set(urls)];
|
|
56
|
+
const shown = unique.slice(0, 3).join(", ");
|
|
57
|
+
return `"${oneLine(argString(f.args, "query"), 80)}", ${unique.length} urls${shown === "" ? "" : `: ${shown}${unique.length > 3 ? "…" : ""}`}`;
|
|
58
|
+
}
|
|
59
|
+
case "tool.web.fetch":
|
|
60
|
+
return `${oneLine(argString(f.args, "url"), 160)}, ${size}`;
|
|
61
|
+
case "tool.program":
|
|
62
|
+
return `${oneLine(argString(f.args, "expr", "code", "program"), 80)} → ${size}`;
|
|
63
|
+
default: {
|
|
64
|
+
const target = argString(f.args, "path", "file_path", "pattern", "query", "command", "url", "name");
|
|
65
|
+
return target === "" ? size : `${oneLine(target, 80)}, ${size}`;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function recallHint(f) {
|
|
70
|
+
return f.kind === "tool.read" ? `re-read or recall ${f.ref}` : `recall ${f.ref}`;
|
|
71
|
+
}
|
|
72
|
+
export function stubLine(f) {
|
|
73
|
+
return `[${f.tool} elided: ${identityOf(f)} — ${recallHint(f)}]`;
|
|
74
|
+
}
|
|
75
|
+
function exitCodeOf(value) {
|
|
76
|
+
if (value == null || typeof value !== "object")
|
|
77
|
+
return null;
|
|
78
|
+
const code = value.exitCode;
|
|
79
|
+
return typeof code === "number" ? code : null;
|
|
80
|
+
}
|
|
81
|
+
function tailLines(f, count) {
|
|
82
|
+
const rec = f.value != null && typeof f.value === "object" ? f.value : null;
|
|
83
|
+
const stdout = typeof rec?.stdout === "string" ? rec.stdout : "";
|
|
84
|
+
const stderr = typeof rec?.stderr === "string" ? rec.stderr : "";
|
|
85
|
+
const text = rec === null || (stdout === "" && stderr === "") ? f.full : `${stdout}\n${stderr}`;
|
|
86
|
+
const lines = text
|
|
87
|
+
.split("\n")
|
|
88
|
+
.map((line) => line.trimEnd())
|
|
89
|
+
.filter((line) => line !== "");
|
|
90
|
+
return lines
|
|
91
|
+
.slice(-count)
|
|
92
|
+
.map((line) => oneLine(line, 160))
|
|
93
|
+
.join(" | ");
|
|
94
|
+
}
|
|
95
|
+
function shellSummary(f) {
|
|
96
|
+
const command = oneLine(argString(f.args, "command"), 80);
|
|
97
|
+
const exit = exitCodeOf(f.value);
|
|
98
|
+
const status = exit === null ? (f.ok ? "ok" : "failed") : `exit ${exit}`;
|
|
99
|
+
const tail = tailLines(f, 5);
|
|
100
|
+
return `[shell \`${command}\` ${status}, ${humanSize(f.full.length)} elided${tail === "" ? "" : `; tail: ${tail}`} — recall ${f.ref}]`;
|
|
101
|
+
}
|
|
102
|
+
function errorSummary(f) {
|
|
103
|
+
const first = oneLine(f.full.split("\n").find((line) => line.trim() !== "") ?? "", 200);
|
|
104
|
+
const code = f.code === undefined || f.code === "" ? "" : ` (${f.code})`;
|
|
105
|
+
return `[${f.tool} failed${code}: ${first} — recall ${f.ref}]`;
|
|
106
|
+
}
|
|
107
|
+
function genericSummary(f) {
|
|
108
|
+
return `${oneLine(f.full, 200)} [${f.tool} elided, ${humanSize(f.full.length)} — recall ${f.ref}]`;
|
|
109
|
+
}
|
|
110
|
+
/** The remainder of a tool result whose horizon has passed. */
|
|
111
|
+
export function toolRemainder(leave, f, failed) {
|
|
112
|
+
if (leave === "none" || leave === "stub")
|
|
113
|
+
return stubLine(f);
|
|
114
|
+
if (leave === "summary") {
|
|
115
|
+
if (f.kind === "tool.shell")
|
|
116
|
+
return shellSummary(f);
|
|
117
|
+
if (failed)
|
|
118
|
+
return errorSummary(f);
|
|
119
|
+
return genericSummary(f);
|
|
120
|
+
}
|
|
121
|
+
return `${f.full.slice(0, leave.head)}\n${stubLine(f)}`;
|
|
122
|
+
}
|
|
123
|
+
/** The remainder of a prelude cell (steer, note, notification, system note). `null` leaves nothing. */
|
|
124
|
+
export function textRemainder(leave, kind, text) {
|
|
125
|
+
if (leave === "none")
|
|
126
|
+
return null;
|
|
127
|
+
if (leave === "stub")
|
|
128
|
+
return `[${kind} elided: ${text.length} chars]`;
|
|
129
|
+
if (leave === "summary")
|
|
130
|
+
return `${oneLine(text, 200)} [${kind} elided, ${text.length} chars]`;
|
|
131
|
+
return `${text.slice(0, leave.head)} [${kind} elided, ${text.length} chars]`;
|
|
132
|
+
}
|
|
133
|
+
/** Large string fields of a call's arguments become a stub; the JSON stays valid. */
|
|
134
|
+
export function elideArgs(args, ref, minChars) {
|
|
135
|
+
const out = {};
|
|
136
|
+
let elided = false;
|
|
137
|
+
const total = JSON.stringify(args).length;
|
|
138
|
+
for (const [key, value] of Object.entries(args)) {
|
|
139
|
+
if (total >= minChars && typeof value === "string" && value.length > 200) {
|
|
140
|
+
out[key] = `[elided: ${lineCount(value)} lines, ${humanSize(value.length)} — recall ${ref}]`;
|
|
141
|
+
elided = true;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
out[key] = value;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return { json: JSON.stringify(out), elided };
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=render.js.map
|