@cortexkit/opencode-magic-context 0.49.8 → 0.49.9
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/dist/agents/hidden-agent-registrations.d.ts +5 -3
- package/dist/agents/hidden-agent-registrations.d.ts.map +1 -1
- package/dist/auto-search-worker.js +1 -1
- package/dist/config/schema/agent-overrides.d.ts +13 -13
- package/dist/config/schema/magic-context.d.ts +500 -500
- package/dist/{context-x0ccfv0f.js → context-ey3ap3cc.js} +29 -24
- package/dist/features/magic-context/primer-clustering.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts +1 -1
- package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
- package/dist/hooks/magic-context/__fixtures__/tail-hygiene-refresh.d.ts +34 -0
- package/dist/hooks/magic-context/__fixtures__/tail-hygiene-refresh.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
- package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +1 -0
- package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -1
- package/dist/hooks/magic-context/dropped-input-guard.d.ts.map +1 -1
- package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +2 -0
- package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/provider-visible-parts.d.ts +10 -4
- package/dist/hooks/magic-context/provider-visible-parts.d.ts.map +1 -1
- package/dist/hooks/magic-context/supersession-reclaim.d.ts +5 -3
- package/dist/hooks/magic-context/supersession-reclaim.d.ts.map +1 -1
- package/dist/hooks/magic-context/tail-hygiene-output-count.d.ts +18 -0
- package/dist/hooks/magic-context/tail-hygiene-output-count.d.ts.map +1 -0
- package/dist/hooks/magic-context/tail-hygiene-walk.d.ts +5 -1
- package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
- package/dist/hooks/magic-context/tool-reclaim.d.ts +5 -2
- package/dist/hooks/magic-context/tool-reclaim.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +1 -0
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/{index-b4gcb3rk.js → index-0x9cn9w1.js} +2 -2
- package/dist/{index-ydjgz36f.js → index-16vwdyy5.js} +1 -1
- package/dist/{index-xf6k8szp.js → index-21919gcq.js} +3 -3
- package/dist/{index-hxrvx6cy.js → index-3403gbzj.js} +129 -103
- package/dist/{index-gzg9ekc1.js → index-6k86es2p.js} +129 -15
- package/dist/{index-8kk7yh6m.js → index-9jvab89d.js} +1 -1
- package/dist/{index-qgp5vnt4.js → index-a865mj02.js} +1 -1
- package/dist/{index-xpn05jxq.js → index-f8cn4xqa.js} +287 -58
- package/dist/{index-2rw244rh.js → index-ffa8x2as.js} +4 -4
- package/dist/{index-bd9cjab3.js → index-g7jkrz0x.js} +35 -15
- package/dist/{index-pjgzdezw.js → index-nenz4gpb.js} +3 -3
- package/dist/{index-zf9nydbd.js → index-swgpe402.js} +4 -4
- package/dist/{index-9g1c4bt9.js → index-wpwpn7nj.js} +88 -8
- package/dist/{index-w1ejb9qr.js → index-x57ep4fp.js} +33 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -46
- package/dist/{message-index-zs882h8e.js → message-index-6r1x9cqh.js} +5 -5
- package/dist/{message-index-bounded-hxjp56qk.js → message-index-bounded-fskdyc81.js} +5 -5
- package/dist/migration-worker.js +4 -4
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/raw-ordinal-warmup-worker.js +3 -3
- package/dist/{read-session-chunk-t9r7r0sg.js → read-session-chunk-zgpvs423.js} +4 -4
- package/dist/{recomp-orchestrator-gr36zvd2.js → recomp-orchestrator-77xc8wpe.js} +10 -10
- package/dist/{search-qjen1pmz.js → search-72fkjwk2.js} +8 -8
- package/dist/shared/hidden-zen-read.d.ts +24 -0
- package/dist/shared/hidden-zen-read.d.ts.map +1 -0
- package/dist/shared/reclaim-distance.d.ts +33 -0
- package/dist/shared/reclaim-distance.d.ts.map +1 -0
- package/dist/shared/stable-json.d.ts +7 -0
- package/dist/shared/stable-json.d.ts.map +1 -1
- package/dist/shared/tail-hygiene-json.d.ts +22 -0
- package/dist/shared/tail-hygiene-json.d.ts.map +1 -0
- package/dist/shared/transcript.d.ts +5 -0
- package/dist/shared/transcript.d.ts.map +1 -1
- package/dist/{storage-tags-a513rkj3.js → storage-tags-35m4gms2.js} +2 -2
- package/dist/{transform-postprocess-phase-yv463b7y.js → transform-postprocess-phase-r8d406j0.js} +10 -10
- package/dist/v2/auto-search-worker.js +1 -1
- package/dist/v2/{context-wd82v9z6.js → context-z2yagwy4.js} +168 -35
- package/dist/v2/hidden-completion.d.ts.map +1 -1
- package/dist/v2/hooks/hidden-child.d.ts +2 -2
- package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
- package/dist/v2/{message-index-yd94vt9n.js → message-index-9ezq6wze.js} +5 -5
- package/dist/v2/{message-index-bounded-madg2kfr.js → message-index-bounded-rqc603f2.js} +5 -5
- package/dist/v2/migration-worker.js +4 -4
- package/dist/v2/raw-ordinal-warmup-worker.js +3 -3
- package/dist/v2/{read-session-chunk-7qs791f3.js → read-session-chunk-7f87tg2q.js} +4 -4
- package/dist/v2/{recomp-orchestrator-ee91r9s6.js → recomp-orchestrator-s5tdpsbs.js} +9 -9
- package/dist/v2/{search-pn15rr52.js → search-2td1b1wy.js} +8 -8
- package/dist/v2/{server-08k4zkfk.js → server-23znwjqk.js} +4 -4
- package/dist/v2/{server-y5g32dhq.js → server-2hxypdx5.js} +4 -4
- package/dist/v2/{server-yak3sxya.js → server-4zwx20yg.js} +1 -1
- package/dist/v2/{server-shme41gj.js → server-89fcbe37.js} +35 -15
- package/dist/v2/{server-q360kdb8.js → server-c9w52qss.js} +30 -13
- package/dist/v2/{server-4gz0xkrc.js → server-f27he3j1.js} +1 -1
- package/dist/v2/{server-xj4mewze.js → server-gc8x2xdb.js} +66 -8
- package/dist/v2/{server-jjsf29aq.js → server-kmapq3v0.js} +286 -57
- package/dist/v2/{server-adfte03x.js → server-xqf2d2mg.js} +1 -1
- package/dist/v2/{server-j3dm74ey.js → server-z0rjemg1.js} +2 -2
- package/dist/v2/server.js +2 -2
- package/dist/v2/{storage-tags-spa92sgj.js → storage-tags-c4zfcxv4.js} +2 -2
- package/dist/v2/{wrapup-orchestrator-5wxy1ggv.js → wrapup-orchestrator-wg8dmmm9.js} +9 -9
- package/dist/{wrapup-orchestrator-gv08c6f9.js → wrapup-orchestrator-b1z99yg5.js} +11 -11
- package/package.json +1 -1
- package/src/agents/hidden-agent-registrations.ts +22 -4
- package/src/shared/hidden-zen-read.test.ts +99 -0
- package/src/shared/hidden-zen-read.ts +88 -0
- package/src/shared/reclaim-distance.test.ts +111 -0
- package/src/shared/reclaim-distance.ts +91 -0
- package/src/shared/stable-json.ts +56 -14
- package/src/shared/tail-hygiene-json.test.ts +117 -0
- package/src/shared/tail-hygiene-json.ts +217 -0
- package/src/shared/transcript.ts +7 -0
|
@@ -468,32 +468,32 @@ function tagOrderConstraintIndex(db) {
|
|
|
468
468
|
// src/shared/stable-json.ts
|
|
469
469
|
function stableStringify(value, seen = new WeakSet) {
|
|
470
470
|
const pieces = [];
|
|
471
|
-
writeStable(value, seen, pieces);
|
|
471
|
+
writeStable(value, seen, (piece) => pieces.push(piece));
|
|
472
472
|
return pieces.join("");
|
|
473
473
|
}
|
|
474
|
-
function writeStable(value, seen,
|
|
474
|
+
function writeStable(value, seen, write) {
|
|
475
475
|
if (value === undefined) {
|
|
476
|
-
|
|
476
|
+
write("undefined");
|
|
477
477
|
return;
|
|
478
478
|
}
|
|
479
479
|
if (value === null || typeof value !== "object") {
|
|
480
|
-
|
|
480
|
+
write(JSON.stringify(value) ?? String(value));
|
|
481
481
|
return;
|
|
482
482
|
}
|
|
483
483
|
if (seen.has(value)) {
|
|
484
|
-
|
|
484
|
+
write('"[Circular]"');
|
|
485
485
|
return;
|
|
486
486
|
}
|
|
487
487
|
seen.add(value);
|
|
488
488
|
if (Array.isArray(value)) {
|
|
489
|
-
|
|
489
|
+
write("[");
|
|
490
490
|
for (let index = 0;index < value.length; index += 1) {
|
|
491
491
|
if (index > 0)
|
|
492
|
-
|
|
492
|
+
write(",");
|
|
493
493
|
if (index in value)
|
|
494
|
-
writeStable(value[index], seen,
|
|
494
|
+
writeStable(value[index], seen, write);
|
|
495
495
|
}
|
|
496
|
-
|
|
496
|
+
write("]");
|
|
497
497
|
return;
|
|
498
498
|
}
|
|
499
499
|
const entries = Object.entries(value).sort(([a], [b]) => {
|
|
@@ -503,14 +503,34 @@ function writeStable(value, seen, pieces) {
|
|
|
503
503
|
return 1;
|
|
504
504
|
return 0;
|
|
505
505
|
});
|
|
506
|
-
|
|
506
|
+
if (entries.length > 0 && entries.length <= 16 && entries.every(([key, child]) => key.length <= 4096 && !/^(0|[1-9]\d*)$/.test(key) && (child === null || typeof child === "number" || typeof child === "boolean" || typeof child === "string" && child.length <= 4096))) {
|
|
507
|
+
write(JSON.stringify(Object.fromEntries(entries)));
|
|
508
|
+
return;
|
|
509
|
+
}
|
|
510
|
+
write("{");
|
|
507
511
|
entries.forEach(([key, child], index) => {
|
|
508
512
|
if (index > 0)
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
513
|
+
write(",");
|
|
514
|
+
write(JSON.stringify(key));
|
|
515
|
+
write(":");
|
|
516
|
+
writeStable(child, seen, write);
|
|
512
517
|
});
|
|
513
|
-
|
|
518
|
+
write("}");
|
|
519
|
+
}
|
|
520
|
+
function stableStringifyHash(value, prefix = "") {
|
|
521
|
+
const sink = jsonHashSink(prefix);
|
|
522
|
+
writeStable(value, new WeakSet, sink.write);
|
|
523
|
+
return sink.digest();
|
|
524
|
+
}
|
|
525
|
+
function jsonHashSink(prefix = "") {
|
|
526
|
+
let hash = 2166136261;
|
|
527
|
+
const write = (piece) => {
|
|
528
|
+
for (let index = 0;index < piece.length; index++) {
|
|
529
|
+
hash = Math.imul(hash ^ piece.charCodeAt(index), 16777619);
|
|
530
|
+
}
|
|
531
|
+
};
|
|
532
|
+
write(prefix);
|
|
533
|
+
return { write, digest: () => (hash >>> 0).toString(16).padStart(8, "0") };
|
|
514
534
|
}
|
|
515
535
|
|
|
516
|
-
export { TAG_TOMBSTONE_OWNER_PREFIX, tagTombstoneOwnerRange, tagTombstoneOwnerKey, tagRevisionKey, tagIdentityRevisionKey, installTagIdentityRevisionTrigger, deleteTagIdentityRevisions, getTableColumnNames, ensureColumn, healAllNullColumns, getTemporalDecisions, observeTemporalDecisions, freezeTemporalDecisions, deleteTemporalDecision, installV95PerfSchema, tagOrderConstraintIndex, stableStringify };
|
|
536
|
+
export { TAG_TOMBSTONE_OWNER_PREFIX, tagTombstoneOwnerRange, tagTombstoneOwnerKey, tagRevisionKey, tagIdentityRevisionKey, installTagIdentityRevisionTrigger, deleteTagIdentityRevisions, getTableColumnNames, ensureColumn, healAllNullColumns, getTemporalDecisions, observeTemporalDecisions, freezeTemporalDecisions, deleteTemporalDecision, installV95PerfSchema, tagOrderConstraintIndex, stableStringify, stableStringifyHash };
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
getActiveCompartmentRun,
|
|
16
16
|
markActiveCompartmentRunPublished,
|
|
17
17
|
registerActiveCompartmentRun
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-3403gbzj.js";
|
|
19
19
|
import {
|
|
20
20
|
inRootAsyncContext2
|
|
21
21
|
} from "./index-wafzvyhg.js";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
getHistorianFailureState,
|
|
28
28
|
clearEmergencyRecovery,
|
|
29
29
|
prepareRawSessionOrdinals2
|
|
30
|
-
} from "./index-
|
|
30
|
+
} from "./index-wpwpn7nj.js";
|
|
31
31
|
import {
|
|
32
32
|
pushNotification2
|
|
33
33
|
} from "./index-x8a7jmkh.js";
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
import {
|
|
38
38
|
setRecompStarting2,
|
|
39
39
|
setRecompTerminal2
|
|
40
|
-
} from "./index-
|
|
40
|
+
} from "./index-21919gcq.js";
|
|
41
41
|
|
|
42
42
|
// src/hooks/magic-context/wrapup-orchestrator.ts
|
|
43
43
|
import * as crypto from "node:crypto";
|
|
@@ -53,12 +53,12 @@ import {
|
|
|
53
53
|
hasPendingMigrations,
|
|
54
54
|
getMainThreadMigrationBodyCount,
|
|
55
55
|
runMigrations
|
|
56
|
-
} from "./index-
|
|
56
|
+
} from "./index-a865mj02.js";
|
|
57
57
|
import {
|
|
58
58
|
installTagIdentityRevisionTrigger,
|
|
59
59
|
ensureColumn,
|
|
60
60
|
installV95PerfSchema
|
|
61
|
-
} from "./index-
|
|
61
|
+
} from "./index-g7jkrz0x.js";
|
|
62
62
|
import {
|
|
63
63
|
resolveOpenCodeDbPath,
|
|
64
64
|
hasV1MessageTables
|
|
@@ -66,7 +66,7 @@ import {
|
|
|
66
66
|
import {
|
|
67
67
|
setDatabase,
|
|
68
68
|
loadToolDefinitionMeasurements
|
|
69
|
-
} from "./index-
|
|
69
|
+
} from "./index-9jvab89d.js";
|
|
70
70
|
import {
|
|
71
71
|
getErrorMessage
|
|
72
72
|
} from "./index-y8v6yerm.js";
|
|
@@ -1270,7 +1270,7 @@ function finishDatabaseOpen(db, dbPath, explicitDbPath, latestSupportedVersion)
|
|
|
1270
1270
|
startMessageFtsRowidMapBackfill(db).then(async () => {
|
|
1271
1271
|
if (!readsOpenCodeStore)
|
|
1272
1272
|
return;
|
|
1273
|
-
const { readRawSessionMessagePage, readRawSessionMessages } = await importPluginModule(() => import("./read-session-chunk-
|
|
1273
|
+
const { readRawSessionMessagePage, readRawSessionMessages } = await importPluginModule(() => import("./read-session-chunk-zgpvs423.js"));
|
|
1274
1274
|
const { startMessageTimeBackfill } = await importPluginModule(() => import("./message-time-backfill-nb5hhnrt.js"));
|
|
1275
1275
|
await startMessageTimeBackfill(db, Object.assign(readRawSessionMessages, {
|
|
1276
1276
|
readPage: readRawSessionMessagePage
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
TAG_SELECT_COLUMNS2,
|
|
24
24
|
getCandidateToolOwners2,
|
|
25
25
|
pickNearestPriorOwner2
|
|
26
|
-
} from "./index-
|
|
26
|
+
} from "./index-f8cn4xqa.js";
|
|
27
27
|
import {
|
|
28
28
|
OMO_INTERNAL_INITIATOR_MARKER,
|
|
29
29
|
isSystemDirective,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
} from "./index-wafzvyhg.js";
|
|
47
47
|
import {
|
|
48
48
|
stableStringify
|
|
49
|
-
} from "./index-
|
|
49
|
+
} from "./index-g7jkrz0x.js";
|
|
50
50
|
import {
|
|
51
51
|
renderToolTemplate,
|
|
52
52
|
resolveModelConfigValue,
|
|
@@ -79,7 +79,7 @@ import {
|
|
|
79
79
|
getToolDefinitionMeasurementSignature,
|
|
80
80
|
getLargestMeasuredToolDefinitionTokens,
|
|
81
81
|
getMeasuredToolDefinitionTokens
|
|
82
|
-
} from "./index-
|
|
82
|
+
} from "./index-9jvab89d.js";
|
|
83
83
|
import {
|
|
84
84
|
canonicalModelIdentity,
|
|
85
85
|
piModelRefToCanonical
|
|
@@ -88,6 +88,72 @@ import {
|
|
|
88
88
|
logSlowWriteTransaction
|
|
89
89
|
} from "./index-150zz6fh.js";
|
|
90
90
|
|
|
91
|
+
// src/shared/hidden-zen-read.ts
|
|
92
|
+
function isToolFreeHiddenAgent(agent) {
|
|
93
|
+
return [
|
|
94
|
+
"historian",
|
|
95
|
+
"historian-recomp",
|
|
96
|
+
"historian-editor",
|
|
97
|
+
"dreamer-classifier",
|
|
98
|
+
"dreamer-reviewer",
|
|
99
|
+
"smart-note-compiler"
|
|
100
|
+
].includes(agent);
|
|
101
|
+
}
|
|
102
|
+
var TOOL_USE_DISABLED = "tool use is disabled for this task";
|
|
103
|
+
var ZEN_READ_AGENT_SUFFIX = "-zen-blocked-read";
|
|
104
|
+
function needsBlockedRead(agent, providerID) {
|
|
105
|
+
return providerID === "opencode" && isToolFreeHiddenAgent(agent);
|
|
106
|
+
}
|
|
107
|
+
function blockedReadInstruction(run) {
|
|
108
|
+
if (run.agent.startsWith("historian"))
|
|
109
|
+
return "Summarize only the supplied conversation and memory context. Do not call tools.";
|
|
110
|
+
if (run.metadata?.task === "compress-cues")
|
|
111
|
+
return "Compress only the supplied memory cues. Do not call tools.";
|
|
112
|
+
if (run.agent === "smart-note-compiler")
|
|
113
|
+
return "Compile only the supplied conditions and memory context. Do not call tools.";
|
|
114
|
+
if (run.agent === "dreamer-reviewer")
|
|
115
|
+
return "Review only the supplied observations and memory context. Do not call tools.";
|
|
116
|
+
return "Classify only the supplied memory context. Do not call tools.";
|
|
117
|
+
}
|
|
118
|
+
function withBlockedReadInstruction(system, run) {
|
|
119
|
+
const instruction = blockedReadInstruction(run);
|
|
120
|
+
return system.endsWith(instruction) ? system : `${system}${system ? `
|
|
121
|
+
|
|
122
|
+
` : ""}${instruction}`;
|
|
123
|
+
}
|
|
124
|
+
var blockedSessions = new Set;
|
|
125
|
+
var v1Runs = new Map;
|
|
126
|
+
function rememberV1HiddenRun(sessionID, run) {
|
|
127
|
+
if (run)
|
|
128
|
+
v1Runs.set(sessionID, run);
|
|
129
|
+
else {
|
|
130
|
+
v1Runs.delete(sessionID);
|
|
131
|
+
setBlockedReadSession(sessionID, false);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
function shapeV1HiddenMessage(sessionID, message) {
|
|
135
|
+
const run = v1Runs.get(sessionID);
|
|
136
|
+
if (!run)
|
|
137
|
+
return;
|
|
138
|
+
const agent = message.agent ?? run.agent;
|
|
139
|
+
const base = agent.endsWith(ZEN_READ_AGENT_SUFFIX) ? agent.slice(0, -ZEN_READ_AGENT_SUFFIX.length) : agent;
|
|
140
|
+
const enabled = needsBlockedRead(base, message.model?.providerID);
|
|
141
|
+
setBlockedReadSession(sessionID, enabled);
|
|
142
|
+
if (!enabled)
|
|
143
|
+
return;
|
|
144
|
+
message.agent = `${base}${ZEN_READ_AGENT_SUFFIX}`;
|
|
145
|
+
message.system = withBlockedReadInstruction(message.system ?? "", run);
|
|
146
|
+
}
|
|
147
|
+
function setBlockedReadSession(sessionID, enabled) {
|
|
148
|
+
if (enabled)
|
|
149
|
+
blockedSessions.add(sessionID);
|
|
150
|
+
else
|
|
151
|
+
blockedSessions.delete(sessionID);
|
|
152
|
+
}
|
|
153
|
+
function blockedReadSessionRefusal(sessionID) {
|
|
154
|
+
return blockedSessions.has(sessionID) ? TOOL_USE_DISABLED : undefined;
|
|
155
|
+
}
|
|
156
|
+
|
|
91
157
|
// src/features/magic-context/dreamer/token-budget.ts
|
|
92
158
|
class DreamTokenBudgetExceeded extends Error {
|
|
93
159
|
sessionId;
|
|
@@ -329,6 +395,11 @@ function createDroppedInputToolExecuteBeforeHook() {
|
|
|
329
395
|
const call = isRecord2(input) ? input : {};
|
|
330
396
|
const args = isRecord2(output) ? output.args : undefined;
|
|
331
397
|
if (typeof call.sessionID === "string") {
|
|
398
|
+
const disabled = blockedReadSessionRefusal(call.sessionID);
|
|
399
|
+
if (disabled) {
|
|
400
|
+
sessionLog2(call.sessionID, disabled, { tool: call.tool });
|
|
401
|
+
throw new Error(disabled);
|
|
402
|
+
}
|
|
332
403
|
const refusal = refuseBudgetedToolCall(call.sessionID);
|
|
333
404
|
if (refusal) {
|
|
334
405
|
sessionLog2(call.sessionID, "dreamer token budget: tool call refused", {
|
|
@@ -5404,6 +5475,17 @@ function serializedTokens(value, bounded = false) {
|
|
|
5404
5475
|
return Buffer.byteLength(serialized);
|
|
5405
5476
|
return serialized ? wireTextTokens(serialized) : 0;
|
|
5406
5477
|
}
|
|
5478
|
+
function estimatePartImageTokens(raw) {
|
|
5479
|
+
if (!raw || typeof raw !== "object")
|
|
5480
|
+
return 0;
|
|
5481
|
+
const part = raw;
|
|
5482
|
+
if (part.ignored)
|
|
5483
|
+
return 0;
|
|
5484
|
+
if (part.type === "file" && part.mime?.startsWith("image/")) {
|
|
5485
|
+
return typeof part.url === "string" && part.url.startsWith("data:") ? estimateImageTokensFromDataUrl(part.url) : 1200;
|
|
5486
|
+
}
|
|
5487
|
+
return part.type === "tool" ? estimateToolAttachmentImageTokens(part.state) : 0;
|
|
5488
|
+
}
|
|
5407
5489
|
function visitWireContent(message, visit) {
|
|
5408
5490
|
let opaqueCounted = false;
|
|
5409
5491
|
const opaque = () => {
|
|
@@ -5450,15 +5532,13 @@ function visitWireContent(message, visit) {
|
|
|
5450
5532
|
opaque();
|
|
5451
5533
|
break;
|
|
5452
5534
|
case "file":
|
|
5453
|
-
|
|
5454
|
-
visit.image("conversation", typeof p.url === "string" && p.url.startsWith("data:") ? estimateImageTokensFromDataUrl(p.url) : 1200);
|
|
5455
|
-
}
|
|
5535
|
+
visit.image("conversation", estimatePartImageTokens(part));
|
|
5456
5536
|
break;
|
|
5457
5537
|
case "tool":
|
|
5458
5538
|
tool(p.state?.input ?? p.input ?? p.args);
|
|
5459
5539
|
tool(p.state?.output ?? p.state?.content ?? p.output ?? p.result ?? p.content);
|
|
5460
5540
|
tool(p.state?.error);
|
|
5461
|
-
visit.image("toolCall",
|
|
5541
|
+
visit.image("toolCall", estimatePartImageTokens(part));
|
|
5462
5542
|
break;
|
|
5463
5543
|
case "tool-call":
|
|
5464
5544
|
tool(p.input ?? p.args);
|
|
@@ -7212,4 +7292,4 @@ function readRawSessionSeedTail2(sessionId, boundaryId, onQuery) {
|
|
|
7212
7292
|
});
|
|
7213
7293
|
}
|
|
7214
7294
|
|
|
7215
|
-
export { expandToolPart, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, stripSystemInjection, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, toolPartHasUserAnswer, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, createDroppedInputToolExecuteBeforeHook, isEditTool, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, MAX_EXECUTE_THRESHOLD, escalationBands, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, getProtectionWindowForSession, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, withReplayEnvelopeSnapshot, invalidateReplayEnvelopeSnapshot, isRustMarkerAdmissionFenced, setRustMarkerAdmissionFence, ReplayDocumentError, readReplayEnvelope, readReplayDocument, updateReplayDocument, writeReplayDocument, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, describeProtectedTailDrainBudgetSkip, loadPersistedUsage, loadProtectedTailMeta, markProtectedTailPolicyV3Seeded, recordProtectedTailPublicationFloor, recordProtectedTailNoEligibleHead, resetProtectedTailNoEligibleHead, getWrapupInProgressState, isWrapupInProgress, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getProtectedTailDrainBudgetSkip, reserveProtectedTailDrainTokens, clearEmergencyDrainLatch, recordHistorianDrainFailure, clearHistorianDrainFailure, rollbackProtectedTailDrainReservation, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, removeNoteNudgeAnchorByMessageId, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getDeferredClearedCompactionMarkerState, retireDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, parseProcessedImageMarkers, serializeProcessedImageMarkers, getProcessedImageMarkers, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getPendingPiCompactionMarkerState, clearPendingPiCompactionMarkerStateIf, logPiCompactionMarkerClear, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getReasoningRemovalState, addRemovedReasoningIds, markDropLeavesReasoning, detectThinkingBindingMismatch, detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, modelAcceptsEmptyContent, isAnthropicFamilyRoute, neutralizeDroppedReasoningPart, restoreNeutralizedReasoningPart, isNeutralizedReasoningPart, variantChangeBustsProviderCache, makeSentinel, makeWholeMessageSentinel, isSentinel, replaySentinelByMessageIds, isInActiveAnthropicTurn, activeAnthropicTurnStart, hasAnthropicReasoning, stripSystemInjectedMessages, stripDroppedPlaceholderMessages, replayClearedReasoning, replayStrippedInlineThinking, clearOldReasoning, stripClearedReasoning, stripInlineThinking, findReasoningBearingAssistantIds, findLatestAssistantReasoningMutationExemptMessage, snapshotTrailingBlankSourceDecisions, findTrailingBlankDecisionCandidates, applyFrozenTrailingBlankDecisions, stripReasoningFromAssistantIds, findMergedReasoningStripDecisions, stripReasoningFromMergedAssistants, getEmptyImageParts, stripProcessedImages, projectOpencodeReasoningBudgetCutoff, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningStepCost, reasoningBudgetCutoff, reasoningTextAndOpaque, opencodeReasoningBudgetCutoff, describeFinalWireTail, estimateMessageTokens, wireContentBytes, createFinalWireUsageTracker, estimateFinalWireInputTokens, estimateAppendedWireTokens, SKELETON_REAL_INPUT_MAX_BYTES, partHasCompletedResult, extractToolCallObservation, ToolMutationBatch, createToolDropTarget, resolveHostServedBoundaryId2, hasRawMessageProvider2, setRawMessageProvider2, setBoundedRawMessageProvider2, withRawMessageProvider2, cleanUserText2, withRawSessionMessageCache2, readRawSessionMessages2, readRawSessionMessagePage2, getRawSessionMessageOrdinalCount2, RAW_MESSAGE_VISIT_PAGE_SIZE2, visitRawSessionMessages2, visitRawSessionMessagesAsync2, readRawSessionMessageRange2, prepareRawSessionOrdinals2, primeTailRawMessageCache2, getCachedAbsoluteMessageCount2, primeInMemoryTailRawMessageCache2, readRawSessionMessageOrdinalPage2, getRawSessionStoredMessageCount2, readRawSessionMessageIdOrdinalsForRange2, readRawSessionMessageIdOrdinals2, readRawSessionMessagePartsById2, readRawSessionBoundaryEndpoints2, hasRawSessionMessageById2, readRawSessionMessageOrdinalById2, compareRawSessionMessageOrder2, readRawSessionMessageById2, getRawSessionMessageCount2, RAW_SESSION_TAG_KEY_PAGE_SIZE2, getRawSessionTagKeysThrough2, getLegacyProtectedTailStartOrdinal2, getProtectedTailStartOrdinal2, readSessionChunk2, getRawSessionMessageIdsThrough2, readRawSessionSeedTail2 };
|
|
7295
|
+
export { isToolFreeHiddenAgent, TOOL_USE_DISABLED, ZEN_READ_AGENT_SUFFIX, needsBlockedRead, withBlockedReadInstruction, rememberV1HiddenRun, shapeV1HiddenMessage, expandToolPart, markHostUnservedRow, retreatPastHostUnservedRows, snapTerminalCompartmentToServedRow, isHostRenderedSystemMessage, completedToolArcCrossesBoundary, estimateTrueRawMessageTokens, buildToolArcs, fenceBoundaryForCompletedToolArcs, fenceBoundaryForToolArcs, buildTrueRawTokenIndex, computeRawRangeFingerprint, invalidateTrueRawTokenCache, stripSystemInjection, isTextPart, isToolPartWithOutput, isFilePart, buildFileSourceContent, toolPartHasUserAnswer, DreamTokenBudgetExceeded, TOKEN_BUDGET_FINALIZE_MESSAGE, registerBudgetFinalizeChild, releaseBudgetFinalizeChild, createDreamTokenBudget, recordToolParameters, createDroppedInputGuard, assertExecutableToolInput, createDroppedInputToolExecuteBeforeHook, isEditTool, MERGED_REASONING_PARTS_PREFIX, decodeMergedReasoningParts, MAX_EXECUTE_THRESHOLD, escalationBands, HYGIENE_PROVIDER_UNITS_VERSION, sessionDecisionCalibration, transitionSessionHygieneUnits, getProtectionWindowForSession, SESSION_META_SELECT_COLUMNS, META_COLUMNS, BOOLEAN_META_KEYS, NULL_BIND_META_KEYS, isSessionMetaRow, getDefaultSessionMeta, ensureSessionMetaRow, toSessionMeta, persistCachedM0, clearCachedM0M1, withReplayEnvelopeSnapshot, invalidateReplayEnvelopeSnapshot, isRustMarkerAdmissionFenced, setRustMarkerAdmissionFence, ReplayDocumentError, readReplayEnvelope, readReplayDocument, updateReplayDocument, writeReplayDocument, isEmergencyRecoveryArmed, isProviderOverflowReconfirmed, isProviderOverflowFailClosedProven, getEmergencyRecoveryArmedAt, describeProtectedTailDrainBudgetSkip, loadPersistedUsage, loadProtectedTailMeta, markProtectedTailPolicyV3Seeded, recordProtectedTailPublicationFloor, recordProtectedTailNoEligibleHead, resetProtectedTailNoEligibleHead, getWrapupInProgressState, isWrapupInProgress, acquireWrapupInProgress, updateWrapupInProgress, releaseWrapupInProgress, resolveCompactionModeRecord, getCompactionModeRecord, setCompactionModeRecord, getProtectedTailDrainBudgetSkip, reserveProtectedTailDrainTokens, clearEmergencyDrainLatch, recordHistorianDrainFailure, clearHistorianDrainFailure, rollbackProtectedTailDrainReservation, getPersistedReasoningWatermark, setPersistedReasoningWatermark, clearPersistedReasoningWatermark, getEmergencyInputSample, setEmergencyDropSample, clearEmergencyDropSample, getLastNudgeUndropped, setLastNudgeUndropped, getChannel1NudgeState, setChannel1NudgeState, markChannel1PostReduceGracePending, captureChannel1PostReduceGraceBaseline, getChannel2NudgeState, getChannel2NudgeClaim, setChannel2NudgeState, casChannel2NudgeState, claimChannel2NudgeState, casChannel2NudgeClaim, getPersistedNoteNudge, setPersistedNoteNudgeTrigger, setPersistedNoteNudgeTriggerMessageId, getNoteNudgeAnchors, getAutoSearchHintDecisions, deliverNoteNudgeAtomic, appendAutoSearchHintDecision, pruneNoteNudgeAnchors, removeNoteNudgeAnchorByMessageId, queueAutoSearchHintDecisionRetirement, flushAutoSearchHintDecisionRetirement, removeAutoSearchHintDecisionByMessageId, getPersistedTodoPermissionDenied, setPersistedTodoPermissionDenied, getPersistedTodoSyntheticAnchor, setPersistedTodoSyntheticAnchor, clearPersistedTodoSyntheticAnchor, getNoteLastReadAt, setNoteLastReadAt, getHistorianFailureState, incrementHistorianFailure, clearHistorianFailureState, getOverflowState, loadTransformPassStateSnapshot, recordOverflowDetected, recordDetectedContextLimit, clearEmergencyRecovery, clearDetectedContextLimit, getPersistedCompactionMarkerState, setPersistedCompactionMarkerState, getDeferredClearedCompactionMarkerState, retireDeferredClearedCompactionMarkerState, parseStrippedPlaceholderState, serializeStrippedPlaceholderState, getStrippedPlaceholderIds, applyStrippedPlaceholderDelta, removeStrippedPlaceholderId, THINKING_BINDING_RECOVERY_FROZEN_PREFIX, THINKING_BINDING_STRIP_ORDER_END_MARKER, thinkingBindingRecoveryFrozenId, getThinkingBindingRecoveryTarget, armThinkingBindingRecovery, clearThinkingBindingRecoveryIf, getMergedReasoningStrippedIds, addMergedReasoningStrippedIds, getTrailingBlankDecisions, addTrailingBlankDecisions, demoteTrailingBlankKeepDecisions, getStaleReduceStrippedIds, addStaleReduceStrippedIds, getProcessedImageStrippedIds, parseProcessedImageMarkers, serializeProcessedImageMarkers, getProcessedImageMarkers, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getPendingPiCompactionMarkerState, clearPendingPiCompactionMarkerStateIf, logPiCompactionMarkerClear, getSessionsWithPendingMarker, setSessionWorkMetrics, getObservedEpochFloor, resolveEpochFloorForPass, getReasoningRemovalState, addRemovedReasoningIds, markDropLeavesReasoning, detectThinkingBindingMismatch, detectLatestTurnThinkingMismatch, isPrefixBoundThinkingModel, detectOverflow, modelAcceptsEmptyContent, isAnthropicFamilyRoute, neutralizeDroppedReasoningPart, restoreNeutralizedReasoningPart, isNeutralizedReasoningPart, variantChangeBustsProviderCache, makeSentinel, makeWholeMessageSentinel, isSentinel, replaySentinelByMessageIds, isInActiveAnthropicTurn, activeAnthropicTurnStart, hasAnthropicReasoning, stripSystemInjectedMessages, stripDroppedPlaceholderMessages, replayClearedReasoning, replayStrippedInlineThinking, clearOldReasoning, stripClearedReasoning, stripInlineThinking, findReasoningBearingAssistantIds, findLatestAssistantReasoningMutationExemptMessage, snapshotTrailingBlankSourceDecisions, findTrailingBlankDecisionCandidates, applyFrozenTrailingBlankDecisions, stripReasoningFromAssistantIds, findMergedReasoningStripDecisions, stripReasoningFromMergedAssistants, getEmptyImageParts, stripProcessedImages, projectOpencodeReasoningBudgetCutoff, DEFAULT_KEEP_REASONING_TOKENS, resolveKeepReasoningTokens, reasoningStepCost, reasoningBudgetCutoff, reasoningTextAndOpaque, opencodeReasoningBudgetCutoff, describeFinalWireTail, estimatePartImageTokens, estimateMessageTokens, wireContentBytes, createFinalWireUsageTracker, estimateFinalWireInputTokens, estimateAppendedWireTokens, SKELETON_REAL_INPUT_MAX_BYTES, partHasCompletedResult, extractToolCallObservation, ToolMutationBatch, createToolDropTarget, resolveHostServedBoundaryId2, hasRawMessageProvider2, setRawMessageProvider2, setBoundedRawMessageProvider2, withRawMessageProvider2, cleanUserText2, withRawSessionMessageCache2, readRawSessionMessages2, readRawSessionMessagePage2, getRawSessionMessageOrdinalCount2, RAW_MESSAGE_VISIT_PAGE_SIZE2, visitRawSessionMessages2, visitRawSessionMessagesAsync2, readRawSessionMessageRange2, prepareRawSessionOrdinals2, primeTailRawMessageCache2, getCachedAbsoluteMessageCount2, primeInMemoryTailRawMessageCache2, readRawSessionMessageOrdinalPage2, getRawSessionStoredMessageCount2, readRawSessionMessageIdOrdinalsForRange2, readRawSessionMessageIdOrdinals2, readRawSessionMessagePartsById2, readRawSessionBoundaryEndpoints2, hasRawSessionMessageById2, readRawSessionMessageOrdinalById2, compareRawSessionMessageOrder2, readRawSessionMessageById2, getRawSessionMessageCount2, RAW_SESSION_TAG_KEY_PAGE_SIZE2, getRawSessionTagKeysThrough2, getLegacyProtectedTailStartOrdinal2, getProtectedTailStartOrdinal2, readSessionChunk2, getRawSessionMessageIdsThrough2, readRawSessionSeedTail2 };
|
|
@@ -112,6 +112,7 @@ import {
|
|
|
112
112
|
protectedToolTokenCount,
|
|
113
113
|
peelLeadingMcTagNotation,
|
|
114
114
|
isThinkingPart,
|
|
115
|
+
currentReclaimableToolOutputCount,
|
|
115
116
|
isRecord,
|
|
116
117
|
contentTagOwnerMessageId,
|
|
117
118
|
normalizeTodoStateJson,
|
|
@@ -122,7 +123,6 @@ import {
|
|
|
122
123
|
evaluateChannel2,
|
|
123
124
|
formatChannel1Evaluation,
|
|
124
125
|
formatChannel2Evaluation,
|
|
125
|
-
reclaimableToolOutputCount,
|
|
126
126
|
buildChannel2Reminder,
|
|
127
127
|
buildChannel1Reminder,
|
|
128
128
|
queuePendingOp,
|
|
@@ -144,11 +144,11 @@ import {
|
|
|
144
144
|
getDroppedTagsByNumbers2,
|
|
145
145
|
getMaxDroppedTagNumber2,
|
|
146
146
|
getTagById2
|
|
147
|
-
} from "./index-
|
|
147
|
+
} from "./index-f8cn4xqa.js";
|
|
148
148
|
import {
|
|
149
149
|
observeTemporalDecisions,
|
|
150
150
|
stableStringify
|
|
151
|
-
} from "./index-
|
|
151
|
+
} from "./index-g7jkrz0x.js";
|
|
152
152
|
import {
|
|
153
153
|
withContentLanguageDirective,
|
|
154
154
|
parseCron,
|
|
@@ -296,10 +296,10 @@ import {
|
|
|
296
296
|
readRawSessionMessageById2,
|
|
297
297
|
readSessionChunk2,
|
|
298
298
|
readRawSessionSeedTail2
|
|
299
|
-
} from "./index-
|
|
299
|
+
} from "./index-wpwpn7nj.js";
|
|
300
300
|
import {
|
|
301
301
|
getMeasuredToolDefinitionTokens
|
|
302
|
-
} from "./index-
|
|
302
|
+
} from "./index-9jvab89d.js";
|
|
303
303
|
import {
|
|
304
304
|
CANONICAL_DREAM_TASKS,
|
|
305
305
|
DREAM_TASK_CAPABILITIES,
|
|
@@ -327,7 +327,7 @@ import {
|
|
|
327
327
|
runSqliteOptimize,
|
|
328
328
|
openDatabase,
|
|
329
329
|
openCurrentDatabase
|
|
330
|
-
} from "./index-
|
|
330
|
+
} from "./index-swgpe402.js";
|
|
331
331
|
import {
|
|
332
332
|
registerOwnRpcServerInstance,
|
|
333
333
|
rpcPortDir,
|
|
@@ -346,7 +346,7 @@ import {
|
|
|
346
346
|
resolveStoredPathWorkspaceIdentity,
|
|
347
347
|
storedPathBelongsToWorkspace,
|
|
348
348
|
computeWorkspaceEpochFingerprint
|
|
349
|
-
} from "./index-
|
|
349
|
+
} from "./index-a865mj02.js";
|
|
350
350
|
import {
|
|
351
351
|
V2_MEMORY_CATEGORIES,
|
|
352
352
|
CATEGORY_PRIORITY
|
|
@@ -520,7 +520,7 @@ import {
|
|
|
520
520
|
snapRangeToCompartments,
|
|
521
521
|
getActiveCompartmentRun,
|
|
522
522
|
startCompartmentAgent
|
|
523
|
-
} from "./index-
|
|
523
|
+
} from "./index-3403gbzj.js";
|
|
524
524
|
import {
|
|
525
525
|
SubcClient,
|
|
526
526
|
connectionFileExists,
|
|
@@ -549,7 +549,7 @@ import {
|
|
|
549
549
|
indexSingleMessage2,
|
|
550
550
|
indexMessagesAfterOrdinal2,
|
|
551
551
|
sweepOrphanedOpenCodeMessageIndexes2
|
|
552
|
-
} from "./index-
|
|
552
|
+
} from "./index-0x9cn9w1.js";
|
|
553
553
|
import {
|
|
554
554
|
renderUserFacingFailure,
|
|
555
555
|
userFacingFailureCode,
|
|
@@ -593,7 +593,7 @@ import {
|
|
|
593
593
|
readGitFileChangeTimesSince,
|
|
594
594
|
verificationFileExists,
|
|
595
595
|
normalizeVerificationFiles
|
|
596
|
-
} from "./index-
|
|
596
|
+
} from "./index-16vwdyy5.js";
|
|
597
597
|
import {
|
|
598
598
|
registerNotificationSink2,
|
|
599
599
|
pushNotification2,
|
|
@@ -658,7 +658,7 @@ import {
|
|
|
658
658
|
resolveMemoriesByIdsForSearch2,
|
|
659
659
|
unifiedSearch2,
|
|
660
660
|
formatSearchResults2
|
|
661
|
-
} from "./index-
|
|
661
|
+
} from "./index-ffa8x2as.js";
|
|
662
662
|
import {
|
|
663
663
|
flushIgnoredMessages2,
|
|
664
664
|
clearIgnoredMessages2,
|
|
@@ -668,7 +668,7 @@ import {
|
|
|
668
668
|
import {
|
|
669
669
|
setRecompStarting2,
|
|
670
670
|
setRecompTerminal2
|
|
671
|
-
} from "./index-
|
|
671
|
+
} from "./index-21919gcq.js";
|
|
672
672
|
import {
|
|
673
673
|
makeToolCompositeKey,
|
|
674
674
|
searchMessageHistoryOffThread,
|
|
@@ -719,7 +719,7 @@ import {
|
|
|
719
719
|
abortSessionFailClosed2,
|
|
720
720
|
evaluateEmergencyFailClosed2,
|
|
721
721
|
runPostTransformPhase2
|
|
722
|
-
} from "./index-
|
|
722
|
+
} from "./index-6k86es2p.js";
|
|
723
723
|
import {
|
|
724
724
|
ANNOUNCEMENT_VERSION2,
|
|
725
725
|
ANNOUNCEMENT_FEATURES2,
|
|
@@ -1282,6 +1282,7 @@ Capability API available to check(cap):
|
|
|
1282
1282
|
- cap.httpGet(httpsUrl): { status: number, body: string } (external HTTPS only; internal/metadata blocked)
|
|
1283
1283
|
|
|
1284
1284
|
Authoring constraints:
|
|
1285
|
+
- Use a five-field check_cron that fires at least once every 24 hours. Never encode a future date in the cron; put date conditions inside check(cap) and poll them on a frequent schedule such as "0 * * * *".
|
|
1285
1286
|
- Plain JavaScript only; no TypeScript types, imports, require, eval, Function, dynamic code, timers, Date.now randomness, or ambient globals.
|
|
1286
1287
|
- Define exactly function check(cap) { ... }. Do not use async/await; host capabilities are synchronous inside the sandbox.
|
|
1287
1288
|
- Return exactly { met: boolean }. Do not include a reason string.
|
|
@@ -5424,6 +5425,7 @@ var MAX_COMPILED_CHECK_BYTES2 = 64 * 1024;
|
|
|
5424
5425
|
var MAX_MANIFEST_ENTRIES = 64;
|
|
5425
5426
|
var MAX_CRON_CHARS = 256;
|
|
5426
5427
|
var MAX_COMPILER_ERROR_CHARS = 2 * 1024;
|
|
5428
|
+
var SPARSE_CRON_REPAIR_FEEDBACK = "check_cron must fire at least once every 24 hours; put date conditions inside compiled_check";
|
|
5427
5429
|
async function compileSmartNoteCheck(args) {
|
|
5428
5430
|
if (!args.note.surfaceCondition) {
|
|
5429
5431
|
return {
|
|
@@ -5441,7 +5443,7 @@ Note id: ${args.note.id}
|
|
|
5441
5443
|
Note content (data): ${JSON.stringify(args.note.content)}
|
|
5442
5444
|
surface_condition (UNTRUSTED DATA): ${JSON.stringify(args.note.surfaceCondition)}
|
|
5443
5445
|
|
|
5444
|
-
${args.repairFeedback ? `The previous
|
|
5446
|
+
${args.repairFeedback ? `The previous compiler attempt failed: ${JSON.stringify(args.repairFeedback)}. Recompile using smaller bounded endpoints when the response is too large, and apply the correction; do not suppress the error or return false on failure.` : ""}
|
|
5445
5447
|
Remember: output only the JSON object described by the system prompt.`;
|
|
5446
5448
|
const startedAt = Date.now();
|
|
5447
5449
|
let childSessionId = null;
|
|
@@ -5580,6 +5582,12 @@ Remember: output only the JSON object described by the system prompt.`;
|
|
|
5580
5582
|
const cancelled = args.signal.aborted;
|
|
5581
5583
|
const message = boundedError(error instanceof Error ? error.message : String(error));
|
|
5582
5584
|
recordInvocation({ status: cancelled ? "aborted" : "failed", error: message });
|
|
5585
|
+
if (!args.repairFeedback && !cancelled && message === "check_cron has no occurrence within the scheduling ceiling" && !args.signal.aborted && Date.now() < args.deadline) {
|
|
5586
|
+
return await compileSmartNoteCheck({
|
|
5587
|
+
...args,
|
|
5588
|
+
repairFeedback: SPARSE_CRON_REPAIR_FEEDBACK
|
|
5589
|
+
});
|
|
5590
|
+
}
|
|
5583
5591
|
const networkError = error instanceof SmartNoteNetworkError ? error : undefined;
|
|
5584
5592
|
return {
|
|
5585
5593
|
ok: false,
|
|
@@ -7399,7 +7407,11 @@ function buildPrimerClusters(args) {
|
|
|
7399
7407
|
centroid: cloneVector(primer.questionEmbedding),
|
|
7400
7408
|
modelId: primer.questionEmbeddingModelId
|
|
7401
7409
|
}));
|
|
7402
|
-
const sorted = args.candidates.slice().sort((a, b) =>
|
|
7410
|
+
const sorted = args.candidates.slice().sort((a, b) => {
|
|
7411
|
+
const left = candidateSortKey(a);
|
|
7412
|
+
const right = candidateSortKey(b);
|
|
7413
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
7414
|
+
});
|
|
7403
7415
|
for (const candidate of sorted) {
|
|
7404
7416
|
let best = null;
|
|
7405
7417
|
for (const cluster of clusters) {
|
|
@@ -14821,7 +14833,7 @@ function maybeInjectChannel1Nudge(args, sessionId, tool, output) {
|
|
|
14821
14833
|
setChannel1NudgeState(args.db, sessionId, nextNudgeState);
|
|
14822
14834
|
return;
|
|
14823
14835
|
}
|
|
14824
|
-
out.output += buildChannel1Reminder(decision.level, decision.undroppedTokens,
|
|
14836
|
+
out.output += buildChannel1Reminder(decision.level, decision.undroppedTokens, currentReclaimableToolOutputCount(state), state.oldestReclaimableToolTags, decision.sticky);
|
|
14825
14837
|
setChannel1NudgeState(args.db, sessionId, {
|
|
14826
14838
|
...nextNudgeState,
|
|
14827
14839
|
ordinal: state.realUserTurnCount
|
|
@@ -15493,6 +15505,7 @@ function buildStatusDetail(db, sessionId, directory, modelKey, config, liveSessi
|
|
|
15493
15505
|
const ops = db.prepare("SELECT tag_id, operation FROM pending_ops WHERE session_id = ? LIMIT 100").all(sessionId);
|
|
15494
15506
|
detail.pendingOps = ops.map((o) => ({ tagId: o.tag_id, operation: o.operation }));
|
|
15495
15507
|
} catch {}
|
|
15508
|
+
modelKey ??= persistedModelKey ?? undefined;
|
|
15496
15509
|
const modelSlash = modelKey?.indexOf("/") ?? -1;
|
|
15497
15510
|
if (modelKey && modelSlash > 0) {
|
|
15498
15511
|
detail.windowGeometry = resolveContextWindowGeometry(modelKey.slice(0, modelSlash), modelKey.slice(modelSlash + 1), { db, sessionID: sessionId });
|
|
@@ -15959,7 +15972,7 @@ function registerRpcHandlers(rpcServer, args) {
|
|
|
15959
15972
|
const db = readDatabase();
|
|
15960
15973
|
if (!db)
|
|
15961
15974
|
return { ok: false, error: "db unavailable" };
|
|
15962
|
-
const { runManagedRecomp } = await importPluginModule(() => import("./recomp-orchestrator-
|
|
15975
|
+
const { runManagedRecomp } = await importPluginModule(() => import("./recomp-orchestrator-77xc8wpe.js"));
|
|
15963
15976
|
const { sendIgnoredMessage } = await importPluginModule(() => import("./send-session-notification-q8ngbap3.js"));
|
|
15964
15977
|
log2(`[rpc] recomp requested for session ${sessionId}`);
|
|
15965
15978
|
if (!args.client && !args.hiddenCompletionExecutor) {
|
|
@@ -16044,7 +16057,7 @@ function registerRpcHandlers(rpcServer, args) {
|
|
|
16044
16057
|
const db = readDatabase();
|
|
16045
16058
|
if (!db)
|
|
16046
16059
|
return { ok: false, error: "db unavailable" };
|
|
16047
|
-
const { runManagedWrapup } = await importPluginModule(() => import("./wrapup-orchestrator-
|
|
16060
|
+
const { runManagedWrapup } = await importPluginModule(() => import("./wrapup-orchestrator-b1z99yg5.js"));
|
|
16048
16061
|
const model = liveSessionState.liveModelBySession.get(sessionId);
|
|
16049
16062
|
const contextLimit = model ? resolveContextLimit(model.providerID, model.modelID, { db, sessionID: sessionId }) : 128000;
|
|
16050
16063
|
const ctx = {
|
|
@@ -16410,7 +16423,7 @@ async function maybeDeliverChannel2(sessionId, deps) {
|
|
|
16410
16423
|
return false;
|
|
16411
16424
|
}
|
|
16412
16425
|
try {
|
|
16413
|
-
const reminder = deps.directiveText ?? buildChannel2Reminder(effectiveU,
|
|
16426
|
+
const reminder = deps.directiveText ?? buildChannel2Reminder(effectiveU, currentReclaimableToolOutputCount(deps.baseline), deps.oldestReclaimableToolTags);
|
|
16414
16427
|
const sent = await deliverSyntheticUserMessage(sessionId, {
|
|
16415
16428
|
client,
|
|
16416
16429
|
text: reminder,
|
|
@@ -24343,6 +24356,7 @@ Historian previously failed ${historianFailureState.failureCount} time(s), so Ma
|
|
|
24343
24356
|
const protectedCutoff = protectionWindow.cutoff;
|
|
24344
24357
|
const tPostProcess = performance.now();
|
|
24345
24358
|
const postTransformResult = await runPostTransformPhase2({
|
|
24359
|
+
opencode2: deps.storeGeneration === "v2",
|
|
24346
24360
|
normalizeRecoveryTail,
|
|
24347
24361
|
compactionMarkerStrategy: deps.compactionMarkerStrategy ?? defaultCompactionMarkerStrategy2,
|
|
24348
24362
|
sessionId,
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA8GvE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAuiCpC,QAAA,MAAM,MAAM,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,OAAO,KAAK,CAAA;CAIjD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|