@cortexkit/opencode-magic-context 0.49.6 → 0.49.8
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/auto-search-worker.js +10 -7
- package/dist/compaction-marker-candidates-worker.js +2 -2
- package/dist/{compaction-marker-candidates-cz72pm1t.js → compaction-marker-candidates-xxz35vwp.js} +3 -3
- package/dist/{conflict-warning-hook-1jq1rxx7.js → conflict-warning-hook-w3crzrar.js} +8 -8
- package/dist/{context-ae3gxdye.js → context-x0ccfv0f.js} +88 -53
- package/dist/{derive-budgets-j4ry8j8n.js → derive-budgets-3nbxsyss.js} +2 -2
- package/dist/embedding-backfill-3h2m5n0q.js +21 -0
- package/dist/embedding-worker-process.js +6 -2
- package/dist/embedding-worker.js +6 -5
- package/dist/features/magic-context/compaction-marker-candidates.d.ts.map +1 -1
- package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/cron.d.ts +2 -0
- package/dist/features/magic-context/dreamer/cron.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts +6 -3
- package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts +7 -1
- package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories.d.ts +2 -2
- package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/primer-seed.d.ts +2 -0
- package/dist/features/magic-context/dreamer/primer-seed.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/provider-output-failure.d.ts +1 -0
- package/dist/features/magic-context/dreamer/provider-output-failure.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/refresh-primers.d.ts +2 -2
- package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-worker-client.d.ts.map +1 -1
- package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
- package/dist/features/magic-context/migration-worker-client.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/wake-plane.d.ts.map +1 -1
- package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-persisted.d.ts +10 -3
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
- package/dist/features/magic-context/storage-replay-document.d.ts +4 -0
- package/dist/features/magic-context/storage-replay-document.d.ts.map +1 -1
- package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
- package/dist/history-owner-ty29fz0f.js +244 -0
- package/dist/hooks/auto-update-checker/checker.d.ts.map +1 -1
- package/dist/hooks/magic-context/apply-operations.d.ts +7 -0
- package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/edit-marker.d.ts +2 -0
- package/dist/hooks/magic-context/edit-marker.d.ts.map +1 -1
- package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
- package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -1
- package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-transport.d.ts +1 -0
- package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
- package/dist/hooks/magic-context/note-nudger.d.ts +5 -3
- package/dist/hooks/magic-context/note-nudger.d.ts.map +1 -1
- package/dist/hooks/magic-context/postprocess-read-cache.d.ts.map +1 -1
- package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-chunk.d.ts +15 -4
- package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
- package/dist/hooks/magic-context/replay-committed-drops.d.ts +9 -0
- package/dist/hooks/magic-context/replay-committed-drops.d.ts.map +1 -0
- package/dist/hooks/magic-context/rust-lkg-freeze-registry.d.ts +2 -2
- package/dist/hooks/magic-context/rust-lkg-freeze-registry.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-mode-transform.d.ts +4 -0
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-refusal-recovery.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-served-raw.d.ts +29 -0
- package/dist/hooks/magic-context/rust-served-raw.d.ts.map +1 -0
- package/dist/hooks/magic-context/strip-content.d.ts +23 -24
- package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
- package/dist/hooks/magic-context/tag-messages.d.ts +2 -0
- package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
- package/dist/hooks/magic-context/tool-drop-target.d.ts +2 -0
- package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
- 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/hooks/magic-context/unresolved-history-boundary.d.ts +5 -1
- package/dist/hooks/magic-context/unresolved-history-boundary.d.ts.map +1 -1
- package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
- package/dist/{index-g9exahnx.js → index-0jz47061.js} +6 -3
- package/dist/{index-4mjhqadz.js → index-150zz6fh.js} +1 -1
- package/dist/{index-ch08qwgd.js → index-2rw244rh.js} +88 -81
- package/dist/{index-6q5h70h2.js → index-4hb8nt93.js} +3 -3
- package/dist/{index-j55vn694.js → index-7bjgyaj1.js} +4 -4
- package/dist/{index-h2wc01qk.js → index-8kk7yh6m.js} +2 -2
- package/dist/{index-vztbgcdk.js → index-9g1c4bt9.js} +304 -92
- package/dist/{index-7q1m1qjk.js → index-a43xq1pg.js} +5 -5
- package/dist/{index-tqf7yg27.js → index-a4b0gbyg.js} +1 -1
- package/dist/{index-vnjhmkwk.js → index-angx1s0k.js} +4 -3
- package/dist/{index-1xaw2pq8.js → index-b4gcb3rk.js} +8 -8
- package/dist/{index-z1tjp257.js → index-b64n4d0h.js} +1 -1
- package/dist/{index-1bt88epp.js → index-bd9cjab3.js} +1 -1
- package/dist/{index-gbmqa9x9.js → index-bmwfzz28.js} +9 -6
- package/dist/{index-qx53vezw.js → index-gjvjh960.js} +1 -1
- package/dist/{index-zgzdm6dg.js → index-gzg9ekc1.js} +155 -103
- package/dist/{index-vh3e2mvr.js → index-hxrvx6cy.js} +121 -51
- package/dist/{index-w23dh319.js → index-jw4gbfkv.js} +1 -1
- package/dist/index-knvkbfvh.js +25 -0
- package/dist/{index-vkbqdnkj.js → index-kvw6xew3.js} +6 -3
- package/dist/{index-bg5qqene.js → index-mp2kghkv.js} +3 -27
- package/dist/{index-nsjyysj0.js → index-mvvephtj.js} +5 -1
- package/dist/{index-cm4hmxyk.js → index-n78avt2p.js} +1 -1
- package/dist/{index-hr64sth2.js → index-pgy3h49n.js} +4 -4
- package/dist/{index-a796ct3s.js → index-pjgzdezw.js} +13 -9
- package/dist/{index-9m7bn21d.js → index-q28hsbpg.js} +15 -3
- package/dist/{index-ab3bgm2m.js → index-q76br5zn.js} +3 -3
- package/dist/{index-xqyj5c85.js → index-qgp5vnt4.js} +5 -5
- package/dist/{index-9s58tq95.js → index-rg1cezmj.js} +22 -22
- package/dist/{index-f3dnvnw6.js → index-s178h9z8.js} +4 -3
- package/dist/{index-mj1fgfrk.js → index-w1ejb9qr.js} +939 -160
- package/dist/{index-k6xvbj2e.js → index-w28y7d0z.js} +2 -0
- package/dist/{index-0nnd4bry.js → index-wafzvyhg.js} +63 -19
- package/dist/{index-ck6y3td2.js → index-xf6k8szp.js} +4 -4
- package/dist/{index-1j8jcjpa.js → index-xpn05jxq.js} +4 -4
- package/dist/{index-s0gsmthp.js → index-ydjgz36f.js} +7 -7
- package/dist/{index-besxhcsh.js → index-zf9nydbd.js} +50 -39
- package/dist/index.js +53 -52
- package/dist/{logger-ewak5q1s.js → logger-wn328tfg.js} +1 -1
- package/dist/{message-index-bounded-630j53ps.js → message-index-bounded-hxjp56qk.js} +16 -16
- package/dist/{message-index-c84wm2g0.js → message-index-zs882h8e.js} +16 -16
- package/dist/{message-time-backfill-8kj57qe3.js → message-time-backfill-nb5hhnrt.js} +3 -3
- package/dist/migration-worker.js +11 -11
- package/dist/plugin/boot-quiet.d.ts.map +1 -1
- package/dist/plugin/dream-timer.d.ts.map +1 -1
- package/dist/plugin/messages-transform.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts +2 -0
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/{project-embedding-registry-vv59t7ah.js → project-embedding-registry-vy7sv9jt.js} +11 -11
- package/dist/raw-ordinal-warmup-worker.js +17 -15
- package/dist/{read-session-chunk-t3vjd0h0.js → read-session-chunk-t9r7r0sg.js} +13 -11
- package/dist/{read-session-raw-gf7eytnm.js → read-session-raw-gm6xj30v.js} +3 -3
- package/dist/recomp-orchestrator-gr36zvd2.js +60 -0
- package/dist/{safe-notification-target-q0cyrx3x.js → safe-notification-target-jdynm677.js} +2 -2
- package/dist/{search-kth2p6cc.js → search-qjen1pmz.js} +24 -24
- package/dist/{send-session-notification-3j6krd4w.js → send-session-notification-q8ngbap3.js} +6 -6
- package/dist/shared/history-owner.d.ts +12 -0
- package/dist/shared/history-owner.d.ts.map +1 -0
- package/dist/shared/off-thread-migration-clock.d.ts +8 -1
- package/dist/shared/off-thread-migration-clock.d.ts.map +1 -1
- package/dist/shared/processed-image-eligibility.d.ts +22 -0
- package/dist/shared/processed-image-eligibility.d.ts.map +1 -0
- package/dist/shared/recovery-reasoning-prefix.d.ts +9 -0
- package/dist/shared/recovery-reasoning-prefix.d.ts.map +1 -0
- package/dist/shared/redaction.d.ts.map +1 -1
- package/dist/shared/rpc-server.d.ts.map +1 -1
- package/dist/shared/sqlite.d.ts +3 -1
- package/dist/shared/sqlite.d.ts.map +1 -1
- package/dist/shared/tag-transcript.d.ts +9 -0
- package/dist/shared/tag-transcript.d.ts.map +1 -1
- package/dist/shared/user-facing-codes.d.ts +2 -2
- package/dist/{sqlite-d7edbk1s.js → sqlite-4pqyynrs.js} +3 -1
- package/dist/{storage-memory-af5zdz98.js → storage-memory-j3v3hc83.js} +2 -2
- package/dist/{storage-tags-dyj7mmbq.js → storage-tags-a513rkj3.js} +5 -5
- package/dist/tools/ctx-expand/search-archive.d.ts +4 -0
- package/dist/tools/ctx-expand/search-archive.d.ts.map +1 -0
- package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
- package/dist/{transform-postprocess-phase-bv3kb5s1.js → transform-postprocess-phase-yv463b7y.js} +30 -30
- package/dist/v2/auto-search-worker.js +10 -7
- package/dist/v2/{compaction-marker-candidates-6gqp5wrc.js → compaction-marker-candidates-a15w3mqh.js} +3 -3
- package/dist/v2/compaction-marker-candidates-worker.js +2 -2
- package/dist/v2/{context-p8f2shp1.js → context-wd82v9z6.js} +1133 -278
- package/dist/v2/{derive-budgets-enckmg7y.js → derive-budgets-0rmpmxjw.js} +3 -3
- package/dist/v2/embedding-backfill-vr7wdtrf.js +20 -0
- package/dist/v2/embedding-worker-process.js +6 -2
- package/dist/v2/embedding-worker.js +6 -5
- package/dist/v2/hidden-completion.d.ts.map +1 -1
- package/dist/v2/history-owner-2cr9py37.js +243 -0
- package/dist/v2/hooks/context.d.ts.map +1 -1
- package/dist/v2/hooks/payload.d.ts.map +1 -1
- package/dist/v2/hooks/store.d.ts +1 -0
- package/dist/v2/hooks/store.d.ts.map +1 -1
- package/dist/v2/{logger-pj02s7sr.js → logger-te6e1j72.js} +1 -1
- package/dist/v2/{message-index-bounded-yzxmf6vp.js → message-index-bounded-madg2kfr.js} +16 -16
- package/dist/v2/{message-index-3ws17x1g.js → message-index-yd94vt9n.js} +16 -16
- package/dist/v2/{message-time-backfill-5nf10c65.js → message-time-backfill-rz1pnpaj.js} +3 -3
- package/dist/v2/migration-worker.js +11 -11
- package/dist/v2/{project-embedding-registry-rsnf2263.js → project-embedding-registry-ja23aygk.js} +11 -11
- package/dist/v2/raw-ordinal-warmup-worker.js +17 -15
- package/dist/v2/{read-session-chunk-vtb0w2kd.js → read-session-chunk-7qs791f3.js} +13 -11
- package/dist/v2/{read-session-raw-gpcddemt.js → read-session-raw-h4azh85b.js} +3 -3
- package/dist/v2/recomp-orchestrator-ee91r9s6.js +59 -0
- package/dist/v2/{safe-notification-target-y3p1hce9.js → safe-notification-target-936374xx.js} +2 -2
- package/dist/v2/search-pn15rr52.js +46 -0
- package/dist/v2/{send-session-notification-5aj2j7vf.js → send-session-notification-6n7chhyp.js} +6 -6
- package/dist/v2/{server-09g9pkvx.js → server-08k4zkfk.js} +50 -39
- package/dist/v2/{server-ras2sxnc.js → server-44ryn9rb.js} +9 -6
- package/dist/v2/{server-158ehmk2.js → server-4easnf78.js} +19 -19
- package/dist/v2/{server-ww9nr8pe.js → server-4gz0xkrc.js} +5 -5
- package/dist/v2/{server-d6g4whc2.js → server-4qr18rfg.js} +3 -3
- package/dist/v2/{server-f9py7s7a.js → server-4rs8sm06.js} +5 -5
- package/dist/v2/{server-yezz0cp2.js → server-63ha7f0f.js} +3 -27
- package/dist/v2/{server-3t0q2cqx.js → server-7dv9wt9r.js} +1 -1
- package/dist/v2/{server-cw6521wn.js → server-7e087rvk.js} +2 -0
- package/dist/v2/{server-hb6xhh9q.js → server-988cqjme.js} +6 -3
- package/dist/v2/{server-keswwkvv.js → server-9a6bwc12.js} +4 -4
- package/dist/v2/{server-t4k4qexw.js → server-9e5r8y60.js} +5 -1
- package/dist/v2/{server-7ekna9zs.js → server-adfte03x.js} +2 -2
- package/dist/v2/{server-9zqewm6g.js → server-ak7w74j9.js} +4 -4
- package/dist/v2/{server-387vkhjq.js → server-bx59ezg6.js} +4 -3
- package/dist/v2/{server-676xw7at.js → server-ckrb5rm8.js} +1 -1
- package/dist/v2/{server-wrem2nmz.js → server-cxsr0ng6.js} +15 -3
- package/dist/v2/{server-t528t8qm.js → server-hn9fb3v0.js} +2 -2
- package/dist/v2/{server-qn23p4h7.js → server-j3dm74ey.js} +9 -9
- package/dist/v2/{server-yd01snxq.js → server-jjsf29aq.js} +4 -4
- package/dist/v2/server-knvkbfvh.js +25 -0
- package/dist/v2/{server-cm4hmxyk.js → server-n78avt2p.js} +1 -1
- package/dist/v2/{server-btgnsv7w.js → server-njnx39q2.js} +6 -3
- package/dist/v2/{server-6a9mxnb2.js → server-npm52h2q.js} +4 -3
- package/dist/v2/{server-vb7pbd9p.js → server-nveratm5.js} +1 -1
- package/dist/v2/{server-7skbfb81.js → server-q360kdb8.js} +121 -51
- package/dist/v2/{server-kzns2hbz.js → server-s6jqh8bj.js} +1 -1
- package/dist/v2/{server-6byqfbqf.js → server-shme41gj.js} +1 -1
- package/dist/v2/{server-0nnd4bry.js → server-wafzvyhg.js} +63 -19
- package/dist/v2/{server-fby0cxbq.js → server-xj4mewze.js} +304 -92
- package/dist/v2/{server-aa9w15cs.js → server-y5g32dhq.js} +88 -81
- package/dist/v2/{server-x2r63c0x.js → server-yak3sxya.js} +7 -7
- package/dist/v2/{server-4tn95znb.js → server-zrwaj29a.js} +2 -2
- package/dist/v2/server.js +9 -8
- package/dist/v2/{sqlite-d7edbk1s.js → sqlite-4pqyynrs.js} +3 -1
- package/dist/v2/{storage-memory-af5zdz98.js → storage-memory-j3v3hc83.js} +2 -2
- package/dist/v2/{storage-tags-d47bpaqa.js → storage-tags-spa92sgj.js} +5 -5
- package/dist/v2/store-reader.d.ts.map +1 -1
- package/dist/v2/{wrapup-orchestrator-cahk37n7.js → wrapup-orchestrator-5wxy1ggv.js} +38 -35
- package/dist/wrapup-orchestrator-gv08c6f9.js +47 -0
- package/package.json +3 -3
- package/src/config/compaction-accessor-guard.test.ts +3 -0
- package/src/features/magic-context/dreamer/cron.ts +8 -0
- package/src/shared/history-owner.test.ts +60 -0
- package/src/shared/history-owner.ts +43 -0
- package/src/shared/host-stall-profiler-node.ts +3 -1
- package/src/shared/host-stall-profiler.ts +3 -1
- package/src/shared/off-thread-migration-clock.test.ts +80 -10
- package/src/shared/off-thread-migration-clock.ts +37 -13
- package/src/shared/processed-image-eligibility.test.ts +68 -0
- package/src/shared/processed-image-eligibility.ts +41 -0
- package/src/shared/processed-image-position-review.json +20 -0
- package/src/shared/processed-image-position-review.test.ts +19 -0
- package/src/shared/recovery-reasoning-prefix.test.ts +34 -0
- package/src/shared/recovery-reasoning-prefix.ts +35 -0
- package/src/shared/redaction.test.ts +16 -0
- package/src/shared/redaction.ts +8 -1
- package/src/shared/root-async-context.probe.mjs +36 -0
- package/src/shared/root-async-context.test.ts +49 -0
- package/src/shared/rpc-server.ts +27 -23
- package/src/shared/sqlite-busy-budget-review.test.ts +291 -0
- package/src/shared/sqlite-foreground-wait.test.ts +253 -1
- package/src/shared/sqlite-writer-diagnostics.test.ts +31 -0
- package/src/shared/sqlite.ts +112 -30
- package/src/shared/tag-transcript.ts +118 -0
- package/src/shared/user-facing-codes.ts +2 -2
- package/dist/embedding-backfill-dtjmyktb.js +0 -21
- package/dist/recomp-orchestrator-1d08g57a.js +0 -60
- package/dist/v2/embedding-backfill-cg4rv90f.js +0 -20
- package/dist/v2/recomp-orchestrator-v64r4s4r.js +0 -59
- package/dist/v2/search-bpa4fxq1.js +0 -46
- package/dist/wrapup-orchestrator-mqp0v195.js +0 -47
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./index-pavzsdc6.js";
|
|
4
4
|
import {
|
|
5
5
|
sessionLog2
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-mvvephtj.js";
|
|
7
7
|
import {
|
|
8
8
|
UNKNOWN_FIT_RATIO,
|
|
9
9
|
resolveDecisionCalibration,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
TAG_SELECT_COLUMNS2,
|
|
24
24
|
getCandidateToolOwners2,
|
|
25
25
|
pickNearestPriorOwner2
|
|
26
|
-
} from "./index-
|
|
26
|
+
} from "./index-xpn05jxq.js";
|
|
27
27
|
import {
|
|
28
28
|
OMO_INTERNAL_INITIATOR_MARKER,
|
|
29
29
|
isSystemDirective,
|
|
@@ -40,18 +40,18 @@ import {
|
|
|
40
40
|
formatBlock,
|
|
41
41
|
compactTextForSummary,
|
|
42
42
|
mergeCommitHashes
|
|
43
|
-
} from "./index-
|
|
43
|
+
} from "./index-gjvjh960.js";
|
|
44
44
|
import {
|
|
45
45
|
prepareCachedStatement2
|
|
46
|
-
} from "./index-
|
|
46
|
+
} from "./index-wafzvyhg.js";
|
|
47
47
|
import {
|
|
48
48
|
stableStringify
|
|
49
|
-
} from "./index-
|
|
49
|
+
} from "./index-bd9cjab3.js";
|
|
50
50
|
import {
|
|
51
51
|
renderToolTemplate,
|
|
52
52
|
resolveModelConfigValue,
|
|
53
53
|
deriveDefaultProtectedTokens
|
|
54
|
-
} from "./index-
|
|
54
|
+
} from "./index-w28y7d0z.js";
|
|
55
55
|
import {
|
|
56
56
|
readRawSessionMessagesFromDb2,
|
|
57
57
|
readRawSessionMessagePageFromDb2,
|
|
@@ -68,25 +68,25 @@ import {
|
|
|
68
68
|
readRawSeedTailFromDb2,
|
|
69
69
|
readRawSessionBoundaryEndpointsFromDb2,
|
|
70
70
|
prewarmRawSessionOrdinalsForDb
|
|
71
|
-
} from "./index-
|
|
71
|
+
} from "./index-angx1s0k.js";
|
|
72
72
|
import {
|
|
73
73
|
openCodeDbExists,
|
|
74
74
|
withReadOnlySessionDb,
|
|
75
75
|
getRawSessionMessageCountFromDb,
|
|
76
76
|
getMessageTimesFromOpenCodeDb
|
|
77
|
-
} from "./index-
|
|
77
|
+
} from "./index-q76br5zn.js";
|
|
78
78
|
import {
|
|
79
79
|
getToolDefinitionMeasurementSignature,
|
|
80
80
|
getLargestMeasuredToolDefinitionTokens,
|
|
81
81
|
getMeasuredToolDefinitionTokens
|
|
82
|
-
} from "./index-
|
|
82
|
+
} from "./index-8kk7yh6m.js";
|
|
83
83
|
import {
|
|
84
84
|
canonicalModelIdentity,
|
|
85
85
|
piModelRefToCanonical
|
|
86
86
|
} from "./index-avwt563y.js";
|
|
87
87
|
import {
|
|
88
88
|
logSlowWriteTransaction
|
|
89
|
-
} from "./index-
|
|
89
|
+
} from "./index-150zz6fh.js";
|
|
90
90
|
|
|
91
91
|
// src/features/magic-context/dreamer/token-budget.ts
|
|
92
92
|
class DreamTokenBudgetExceeded extends Error {
|
|
@@ -1182,6 +1182,12 @@ function safeSlice(str, maxLen) {
|
|
|
1182
1182
|
function isEditTool(name) {
|
|
1183
1183
|
return name === "edit" || name === "write";
|
|
1184
1184
|
}
|
|
1185
|
+
function needsEditMarker(input) {
|
|
1186
|
+
return Object.keys(input).some((key) => {
|
|
1187
|
+
const value = input[key];
|
|
1188
|
+
return DIFF_KEYS.has(key) && typeof value === "string" && value.length > EDIT_REGION_HINT_LEN && !value.endsWith(TRUNCATION_SENTINEL);
|
|
1189
|
+
});
|
|
1190
|
+
}
|
|
1185
1191
|
function applyEditMarkerToInput(input) {
|
|
1186
1192
|
for (const key of Object.keys(input)) {
|
|
1187
1193
|
if (PATH_KEYS.has(key))
|
|
@@ -1946,8 +1952,25 @@ function clearCachedM0M1(db, sessionId) {
|
|
|
1946
1952
|
}
|
|
1947
1953
|
|
|
1948
1954
|
// src/features/magic-context/storage-replay-document.ts
|
|
1955
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
1949
1956
|
var CAS_RETRY_LIMIT = 5;
|
|
1950
1957
|
var MISSING_REPLAY_DOCUMENT_COLUMN = Symbol("missing replay document column");
|
|
1958
|
+
var replaySnapshots = new AsyncLocalStorage;
|
|
1959
|
+
async function withReplayEnvelopeSnapshot(db, sessionId, work) {
|
|
1960
|
+
const snapshot = { db, sessionId, active: true, loaded: false };
|
|
1961
|
+
return replaySnapshots.run(snapshot, async () => {
|
|
1962
|
+
try {
|
|
1963
|
+
return await work();
|
|
1964
|
+
} finally {
|
|
1965
|
+
snapshot.active = false;
|
|
1966
|
+
}
|
|
1967
|
+
});
|
|
1968
|
+
}
|
|
1969
|
+
function invalidateReplayEnvelopeSnapshot(db, sessionId) {
|
|
1970
|
+
const snapshot = replaySnapshots.getStore();
|
|
1971
|
+
if (snapshot?.db === db && snapshot.sessionId === sessionId)
|
|
1972
|
+
snapshot.loaded = false;
|
|
1973
|
+
}
|
|
1951
1974
|
function isRustMarkerAdmissionFenced(db, sessionId) {
|
|
1952
1975
|
const row = db.prepare("SELECT COALESCE(json_extract(NULLIF(trailing_blank_decisions, ''), '$.rustMarkerAdmissionFence'), 0) AS fenced FROM session_meta WHERE session_id=?").get(sessionId);
|
|
1953
1976
|
return row?.fenced === 1;
|
|
@@ -2070,16 +2093,30 @@ function readDecisionRows(db, sessionId, messageIds) {
|
|
|
2070
2093
|
return db.prepare(`SELECT message_id, decision FROM session_replay_decisions
|
|
2071
2094
|
WHERE session_id = ? AND message_id IN (SELECT value FROM json_each(?))`).all(sessionId, JSON.stringify(messageIds));
|
|
2072
2095
|
}
|
|
2073
|
-
function readRawReplayDocument(db, sessionId) {
|
|
2096
|
+
function readRawReplayDocument(db, sessionId, fresh = false) {
|
|
2097
|
+
const snapshot = replaySnapshots.getStore();
|
|
2098
|
+
const reusable = !fresh && snapshot?.active && snapshot.db === db && snapshot.sessionId === sessionId;
|
|
2099
|
+
if (reusable && snapshot.loaded)
|
|
2100
|
+
return snapshot.raw;
|
|
2074
2101
|
try {
|
|
2075
2102
|
const row = db.prepare("SELECT trailing_blank_decisions FROM session_meta WHERE session_id = ?").get(sessionId);
|
|
2076
2103
|
const raw = row?.trailing_blank_decisions;
|
|
2077
|
-
if (raw === null || raw === undefined || typeof raw === "string")
|
|
2104
|
+
if (raw === null || raw === undefined || typeof raw === "string") {
|
|
2105
|
+
if (reusable) {
|
|
2106
|
+
snapshot.raw = raw;
|
|
2107
|
+
snapshot.loaded = true;
|
|
2108
|
+
}
|
|
2078
2109
|
return raw;
|
|
2110
|
+
}
|
|
2079
2111
|
throw invalidReplayDocument("stored value is not text");
|
|
2080
2112
|
} catch (error) {
|
|
2081
|
-
if (isMissingReplayDocumentColumn(error))
|
|
2113
|
+
if (isMissingReplayDocumentColumn(error)) {
|
|
2114
|
+
if (reusable) {
|
|
2115
|
+
snapshot.raw = MISSING_REPLAY_DOCUMENT_COLUMN;
|
|
2116
|
+
snapshot.loaded = true;
|
|
2117
|
+
}
|
|
2082
2118
|
return MISSING_REPLAY_DOCUMENT_COLUMN;
|
|
2119
|
+
}
|
|
2083
2120
|
throw error;
|
|
2084
2121
|
}
|
|
2085
2122
|
}
|
|
@@ -2178,9 +2215,10 @@ function readAllTrailingBlankDecisions(db, sessionId, rawColumn) {
|
|
|
2178
2215
|
return decisions;
|
|
2179
2216
|
}
|
|
2180
2217
|
function updateReplayDocument(db, sessionId, mutate) {
|
|
2218
|
+
invalidateReplayEnvelopeSnapshot(db, sessionId);
|
|
2181
2219
|
let initial;
|
|
2182
2220
|
try {
|
|
2183
|
-
initial = readRawReplayDocument(db, sessionId);
|
|
2221
|
+
initial = readRawReplayDocument(db, sessionId, true);
|
|
2184
2222
|
} catch (error) {
|
|
2185
2223
|
if (error instanceof ReplayDocumentError)
|
|
2186
2224
|
return false;
|
|
@@ -2192,7 +2230,7 @@ function updateReplayDocument(db, sessionId, mutate) {
|
|
|
2192
2230
|
for (let attempt = 0;attempt < CAS_RETRY_LIMIT; attempt += 1) {
|
|
2193
2231
|
let raw;
|
|
2194
2232
|
try {
|
|
2195
|
-
raw = readRawReplayDocument(db, sessionId);
|
|
2233
|
+
raw = readRawReplayDocument(db, sessionId, true);
|
|
2196
2234
|
} catch (error) {
|
|
2197
2235
|
if (error instanceof ReplayDocumentError)
|
|
2198
2236
|
return false;
|
|
@@ -2247,7 +2285,7 @@ function updateTrailingBlankDecisions(db, sessionId, messageIds, decide) {
|
|
|
2247
2285
|
}
|
|
2248
2286
|
let initial;
|
|
2249
2287
|
try {
|
|
2250
|
-
initial = readRawReplayDocument(db, sessionId);
|
|
2288
|
+
initial = readRawReplayDocument(db, sessionId, true);
|
|
2251
2289
|
} catch (error) {
|
|
2252
2290
|
if (error instanceof ReplayDocumentError)
|
|
2253
2291
|
return false;
|
|
@@ -2259,7 +2297,7 @@ function updateTrailingBlankDecisions(db, sessionId, messageIds, decide) {
|
|
|
2259
2297
|
for (let attempt = 0;attempt < CAS_RETRY_LIMIT; attempt += 1) {
|
|
2260
2298
|
let columnDecisions;
|
|
2261
2299
|
try {
|
|
2262
|
-
const raw = readRawReplayDocument(db, sessionId);
|
|
2300
|
+
const raw = readRawReplayDocument(db, sessionId, true);
|
|
2263
2301
|
if (raw === MISSING_REPLAY_DOCUMENT_COLUMN)
|
|
2264
2302
|
return false;
|
|
2265
2303
|
columnDecisions = parseReplayDocument(raw).trailingBlank;
|
|
@@ -2314,6 +2352,7 @@ function updateTrailingBlankDecisions(db, sessionId, messageIds, decide) {
|
|
|
2314
2352
|
return false;
|
|
2315
2353
|
}
|
|
2316
2354
|
function writeReplayDocument(db, sessionId, doc) {
|
|
2355
|
+
invalidateReplayEnvelopeSnapshot(db, sessionId);
|
|
2317
2356
|
if (!hasReplayDecisionTable(db)) {
|
|
2318
2357
|
db.prepare("UPDATE session_meta SET trailing_blank_decisions = ? WHERE session_id = ?").run(serializeReplayDocument(doc), sessionId);
|
|
2319
2358
|
return;
|
|
@@ -3709,10 +3748,32 @@ function addStaleReduceStrippedIds(db, sessionId, ids) {
|
|
|
3709
3748
|
return false;
|
|
3710
3749
|
}
|
|
3711
3750
|
function getProcessedImageStrippedIds(db, sessionId) {
|
|
3751
|
+
return new Set(getProcessedImageMarkers(db, sessionId).keys());
|
|
3752
|
+
}
|
|
3753
|
+
function parseProcessedImageMarkers(raw) {
|
|
3754
|
+
if (!raw)
|
|
3755
|
+
return new Map;
|
|
3756
|
+
try {
|
|
3757
|
+
const parsed = JSON.parse(raw);
|
|
3758
|
+
const ids = Array.isArray(parsed) ? parsed : parsed?.ids;
|
|
3759
|
+
const textIds = new Set(Array.isArray(parsed?.textMarkerIds) ? parsed.textMarkerIds : []);
|
|
3760
|
+
return new Map((Array.isArray(ids) ? ids : []).filter((id) => typeof id === "string").map((id) => [id, textIds.has(id) ? "[image stripped]" : ""]));
|
|
3761
|
+
} catch {
|
|
3762
|
+
return new Map;
|
|
3763
|
+
}
|
|
3764
|
+
}
|
|
3765
|
+
function serializeProcessedImageMarkers(markers) {
|
|
3766
|
+
const ids = [...markers.keys()];
|
|
3767
|
+
if (ids.length === 0)
|
|
3768
|
+
return "";
|
|
3769
|
+
const textMarkerIds = ids.filter((id) => markers.get(id) === "[image stripped]");
|
|
3770
|
+
return JSON.stringify(textMarkerIds.length > 0 ? { ids, textMarkerIds } : ids);
|
|
3771
|
+
}
|
|
3772
|
+
function getProcessedImageMarkers(db, sessionId) {
|
|
3712
3773
|
const row = db.prepare("SELECT processed_image_stripped_ids FROM session_meta WHERE session_id = ?").get(sessionId);
|
|
3713
|
-
return
|
|
3774
|
+
return parseProcessedImageMarkers(row?.processed_image_stripped_ids);
|
|
3714
3775
|
}
|
|
3715
|
-
function addProcessedImageStrippedIds(db, sessionId, ids) {
|
|
3776
|
+
function addProcessedImageStrippedIds(db, sessionId, ids, marker = "") {
|
|
3716
3777
|
const add = [...ids];
|
|
3717
3778
|
if (add.length === 0)
|
|
3718
3779
|
return true;
|
|
@@ -3720,17 +3781,17 @@ function addProcessedImageStrippedIds(db, sessionId, ids) {
|
|
|
3720
3781
|
for (let attempt = 0;attempt < CAS_RETRY_LIMIT2; attempt += 1) {
|
|
3721
3782
|
const row = db.prepare("SELECT processed_image_stripped_ids FROM session_meta WHERE session_id = ?").get(sessionId);
|
|
3722
3783
|
const rawStored = row ? row.processed_image_stripped_ids ?? null : null;
|
|
3723
|
-
const current =
|
|
3784
|
+
const current = parseProcessedImageMarkers(rawStored);
|
|
3724
3785
|
let changed = false;
|
|
3725
3786
|
for (const id of add) {
|
|
3726
3787
|
if (!current.has(id)) {
|
|
3727
|
-
current.
|
|
3788
|
+
current.set(id, typeof marker === "string" ? marker : marker.get(id) ?? "");
|
|
3728
3789
|
changed = true;
|
|
3729
3790
|
}
|
|
3730
3791
|
}
|
|
3731
3792
|
if (!changed)
|
|
3732
3793
|
return true;
|
|
3733
|
-
const nextBlob =
|
|
3794
|
+
const nextBlob = serializeProcessedImageMarkers(current);
|
|
3734
3795
|
const result = db.prepare("UPDATE session_meta SET processed_image_stripped_ids = ? WHERE session_id = ? AND processed_image_stripped_ids IS ?").run(nextBlob, sessionId, rawStored);
|
|
3735
3796
|
if (result.changes > 0)
|
|
3736
3797
|
return true;
|
|
@@ -3784,7 +3845,8 @@ function loadPostprocessReplaySnapshot(db, sessionId) {
|
|
|
3784
3845
|
const thinkingBindingRecoveryTarget = row?.thinking_binding_recovery_target;
|
|
3785
3846
|
return {
|
|
3786
3847
|
staleReduceStrippedIds: new Set(parseStrippedBlob(row?.stale_reduce_stripped_ids)),
|
|
3787
|
-
processedImageStrippedIds: new Set(
|
|
3848
|
+
processedImageStrippedIds: new Set(parseProcessedImageMarkers(row?.processed_image_stripped_ids).keys()),
|
|
3849
|
+
processedImageMarkers: parseProcessedImageMarkers(row?.processed_image_stripped_ids),
|
|
3788
3850
|
strippedPlaceholderIds: new Set(placeholders.ids),
|
|
3789
3851
|
hiddenSeamPlaceholderIds: new Set(placeholders.hiddenSeamIds),
|
|
3790
3852
|
noteNudgeAnchors: parseJsonArray(row?.note_nudge_anchors, isValidNoteNudgeAnchor),
|
|
@@ -3828,15 +3890,22 @@ function getPendingPiCompactionMarkerState(db, sessionId) {
|
|
|
3828
3890
|
return parsed;
|
|
3829
3891
|
}
|
|
3830
3892
|
} catch {}
|
|
3831
|
-
db.prepare("UPDATE session_meta SET pending_pi_compaction_marker_state = NULL WHERE session_id = ? AND pending_pi_compaction_marker_state = ?").run(sessionId, raw);
|
|
3893
|
+
const cleared = db.prepare("UPDATE session_meta SET pending_pi_compaction_marker_state = NULL WHERE session_id = ? AND pending_pi_compaction_marker_state = ?").run(sessionId, raw);
|
|
3894
|
+
if (cleared.changes > 0)
|
|
3895
|
+
sessionLog2(sessionId, "Pi compaction-marker clear: reason=malformed-state");
|
|
3832
3896
|
return null;
|
|
3833
3897
|
}
|
|
3834
|
-
function clearPendingPiCompactionMarkerStateIf(db, sessionId, expected) {
|
|
3898
|
+
function clearPendingPiCompactionMarkerStateIf(db, sessionId, expected, reason = "explicit-clear") {
|
|
3835
3899
|
const expectedBlob = stableStringify(expected);
|
|
3836
3900
|
const result = db.prepare(`UPDATE session_meta SET pending_pi_compaction_marker_state = NULL
|
|
3837
3901
|
WHERE session_id = ? AND pending_pi_compaction_marker_state = ?`).run(sessionId, expectedBlob);
|
|
3902
|
+
if (result.changes > 0 && reason !== null)
|
|
3903
|
+
logPiCompactionMarkerClear(sessionId, expected, reason);
|
|
3838
3904
|
return result.changes > 0;
|
|
3839
3905
|
}
|
|
3906
|
+
function logPiCompactionMarkerClear(sessionId, marker, reason) {
|
|
3907
|
+
sessionLog2(sessionId, `Pi compaction-marker clear: reason=${reason} endMessageId=${marker.endMessageId} ordinal=${marker.ordinal} firstKeptEntryId=${marker.firstKeptEntryId ?? "<none>"}`);
|
|
3908
|
+
}
|
|
3840
3909
|
function getSessionsWithPendingMarker(db) {
|
|
3841
3910
|
const rows = db.prepare(`SELECT session_id FROM session_meta
|
|
3842
3911
|
WHERE pending_compaction_marker_state IS NOT NULL
|
|
@@ -4441,6 +4510,27 @@ function hasAnthropicReasoning(messages) {
|
|
|
4441
4510
|
});
|
|
4442
4511
|
}
|
|
4443
4512
|
|
|
4513
|
+
// src/shared/processed-image-eligibility.ts
|
|
4514
|
+
function createProcessedImageEligibility(messages, messageTagNumbers, options) {
|
|
4515
|
+
const ageTags = new Map;
|
|
4516
|
+
let nextTag;
|
|
4517
|
+
for (let index = messages.length - 1;index >= 0; index--) {
|
|
4518
|
+
const message = messages[index];
|
|
4519
|
+
const ownTag = messageTagNumbers.get(message);
|
|
4520
|
+
if (ownTag !== undefined && Number.isFinite(ownTag) && ownTag > 0)
|
|
4521
|
+
nextTag = ownTag;
|
|
4522
|
+
if (nextTag !== undefined)
|
|
4523
|
+
ageTags.set(message, nextTag);
|
|
4524
|
+
}
|
|
4525
|
+
return {
|
|
4526
|
+
ageTags,
|
|
4527
|
+
mayStrip: (message) => {
|
|
4528
|
+
const age = ageTags.get(message);
|
|
4529
|
+
return options.watermark > 0 && age !== undefined && age <= options.watermark && ((options.contextPercentage ?? 0) >= 95 || options.protectedCutoff == null || age < options.protectedCutoff);
|
|
4530
|
+
}
|
|
4531
|
+
};
|
|
4532
|
+
}
|
|
4533
|
+
|
|
4444
4534
|
// src/hooks/magic-context/strip-content.ts
|
|
4445
4535
|
var MARKER_ONLY_PATTERN = /^(?:(?:§\d+§|\[dropped(?: §\d+§)?\]|\[cleared\])\s*)+$/;
|
|
4446
4536
|
function isMarkerOnlyText(text) {
|
|
@@ -4990,59 +5080,142 @@ function stripReasoningFromMergedAssistants(messages, providerID, options) {
|
|
|
4990
5080
|
}
|
|
4991
5081
|
return stripped;
|
|
4992
5082
|
}
|
|
5083
|
+
var emptyImageParts = new WeakMap;
|
|
5084
|
+
function getEmptyImageParts(messages) {
|
|
5085
|
+
return emptyImageParts.get(messages) ?? new Map;
|
|
5086
|
+
}
|
|
5087
|
+
function imageOmissionBreaksStructure(messages, index, omitted) {
|
|
5088
|
+
let before = index - 1;
|
|
5089
|
+
let after = index + 1;
|
|
5090
|
+
while (omitted.has(before))
|
|
5091
|
+
before--;
|
|
5092
|
+
while (omitted.has(after))
|
|
5093
|
+
after++;
|
|
5094
|
+
const previous = messages[before];
|
|
5095
|
+
const next = messages[after];
|
|
5096
|
+
return previous !== undefined && next !== undefined && previous.info.role === next.info.role;
|
|
5097
|
+
}
|
|
4993
5098
|
function stripProcessedImages(messages, frozenIds, options) {
|
|
4994
|
-
const
|
|
5099
|
+
const omissions = new Map;
|
|
5100
|
+
emptyImageParts.set(messages, omissions);
|
|
5101
|
+
const { detect, messageTagNumbers } = options;
|
|
5102
|
+
const eligibility = createProcessedImageEligibility(messages, messageTagNumbers, options);
|
|
4995
5103
|
let stripped = 0;
|
|
4996
5104
|
const newlyStrippedIds = [];
|
|
4997
5105
|
const planned = [];
|
|
5106
|
+
const newMarkers = new Map;
|
|
4998
5107
|
let hasAssistantResponse = false;
|
|
4999
5108
|
for (let i = messages.length - 1;i >= 0; i--) {
|
|
5000
5109
|
const msg = messages[i];
|
|
5110
|
+
const answered = hasAssistantResponse;
|
|
5001
5111
|
if (msg.info.role === "assistant") {
|
|
5002
5112
|
hasAssistantResponse = true;
|
|
5003
|
-
continue;
|
|
5004
5113
|
}
|
|
5005
|
-
if (msg.info.role !== "user") {
|
|
5114
|
+
if (msg.info.role !== "user" && msg.info.role !== "assistant") {
|
|
5006
5115
|
continue;
|
|
5007
5116
|
}
|
|
5008
5117
|
const id = typeof msg.info.id === "string" ? msg.info.id : undefined;
|
|
5009
5118
|
const inFrozen = id !== undefined && frozenIds.has(id);
|
|
5010
|
-
const
|
|
5011
|
-
const isNewDetection = !inFrozen && detect && hasAssistantResponse && id !== undefined && maxTag <= watermark;
|
|
5119
|
+
const isNewDetection = !inFrozen && detect && answered && id !== undefined && eligibility.mayStrip(msg) && !options.protectedMessageIds?.has(id);
|
|
5012
5120
|
if (!inFrozen && !isNewDetection) {
|
|
5013
5121
|
continue;
|
|
5014
5122
|
}
|
|
5015
5123
|
let touchedThisMsg = false;
|
|
5016
5124
|
for (let j = 0;j < msg.parts.length; j++) {
|
|
5017
5125
|
const part = msg.parts[j];
|
|
5018
|
-
|
|
5019
|
-
|
|
5020
|
-
|
|
5021
|
-
|
|
5022
|
-
|
|
5023
|
-
|
|
5024
|
-
|
|
5025
|
-
|
|
5126
|
+
const tool = msg.info.role === "assistant" && isRecord(part) && part.type === "tool" && isRecord(part.state) && part.state.status === "completed";
|
|
5127
|
+
const images = tool && isRecord(part) && isRecord(part.state) && Array.isArray(part.state.attachments) ? part.state.attachments : msg.info.role === "user" ? [part] : [];
|
|
5128
|
+
if (images.some(isProcessedImagePart)) {
|
|
5129
|
+
planned.push({
|
|
5130
|
+
message: msg,
|
|
5131
|
+
partIndex: j,
|
|
5132
|
+
firstApplication: isNewDetection,
|
|
5133
|
+
tool
|
|
5134
|
+
});
|
|
5026
5135
|
touchedThisMsg = true;
|
|
5027
5136
|
}
|
|
5028
5137
|
}
|
|
5029
5138
|
if (touchedThisMsg && isNewDetection && id !== undefined) {
|
|
5030
5139
|
newlyStrippedIds.push(id);
|
|
5140
|
+
newMarkers.set(id, msg.info.role === "assistant" ? "[image stripped]" : options.replacementText ?? "");
|
|
5031
5141
|
}
|
|
5032
5142
|
}
|
|
5033
|
-
const
|
|
5143
|
+
const imageIndices = new Map;
|
|
5144
|
+
for (const { message, partIndex, tool } of planned) {
|
|
5145
|
+
if (tool)
|
|
5146
|
+
continue;
|
|
5147
|
+
const indices = imageIndices.get(message) ?? new Set;
|
|
5148
|
+
indices.add(partIndex);
|
|
5149
|
+
imageIndices.set(message, indices);
|
|
5150
|
+
}
|
|
5151
|
+
const emptiedRows = new Set;
|
|
5152
|
+
const newEmptyRows = [];
|
|
5153
|
+
for (let index = 0;index < messages.length; index++) {
|
|
5154
|
+
const message = messages[index];
|
|
5155
|
+
if (message.parts.every((part) => isRecord(part) && part.type === "text" && part.text === ""))
|
|
5156
|
+
emptiedRows.add(index);
|
|
5157
|
+
const id = message.info.id;
|
|
5158
|
+
const indices = imageIndices.get(message);
|
|
5159
|
+
if (!id || !indices)
|
|
5160
|
+
continue;
|
|
5161
|
+
const marker = options.frozenMarkers?.get(id) ?? newMarkers.get(id) ?? "";
|
|
5162
|
+
if (marker !== "" || !message.parts.every((part, partIndex) => indices.has(partIndex) || isRecord(part) && part.type === "text" && part.text === ""))
|
|
5163
|
+
continue;
|
|
5164
|
+
if (newMarkers.has(id))
|
|
5165
|
+
newEmptyRows.push({ index, id });
|
|
5166
|
+
else
|
|
5167
|
+
emptiedRows.add(index);
|
|
5168
|
+
}
|
|
5169
|
+
for (const { index, id } of newEmptyRows) {
|
|
5170
|
+
if (imageOmissionBreaksStructure(messages, index, emptiedRows))
|
|
5171
|
+
newMarkers.set(id, "[image stripped]");
|
|
5172
|
+
else
|
|
5173
|
+
emptiedRows.add(index);
|
|
5174
|
+
}
|
|
5175
|
+
const persisted = newlyStrippedIds.length === 0 || options.persistNewIds?.(newlyStrippedIds, newMarkers) !== false;
|
|
5034
5176
|
if (!persisted)
|
|
5035
5177
|
newlyStrippedIds.length = 0;
|
|
5036
|
-
for (const { message, partIndex, firstApplication } of planned) {
|
|
5178
|
+
for (const { message, partIndex, firstApplication, tool } of planned) {
|
|
5037
5179
|
if (firstApplication && !persisted)
|
|
5038
5180
|
continue;
|
|
5039
5181
|
if (firstApplication)
|
|
5040
5182
|
options.onFirstApplication?.(message, partIndex);
|
|
5041
|
-
|
|
5042
|
-
|
|
5183
|
+
const marker = tool ? "[image stripped]" : options.frozenMarkers?.get(message.info.id ?? "") ?? (firstApplication ? newMarkers.get(message.info.id ?? "") : "") ?? "";
|
|
5184
|
+
const original = message.parts[partIndex];
|
|
5185
|
+
if (tool && isRecord(original) && isRecord(original.state) && Array.isArray(original.state.attachments)) {
|
|
5186
|
+
const attachments = original.state.attachments;
|
|
5187
|
+
const count = attachments.filter(isProcessedImagePart).length;
|
|
5188
|
+
const output = typeof original.state.output === "string" ? original.state.output : "";
|
|
5189
|
+
message.parts[partIndex] = {
|
|
5190
|
+
...original,
|
|
5191
|
+
state: {
|
|
5192
|
+
...original.state,
|
|
5193
|
+
output: [output, ...Array(count).fill(marker)].filter(Boolean).join(`
|
|
5194
|
+
`),
|
|
5195
|
+
attachments: attachments.filter((part) => !isProcessedImagePart(part))
|
|
5196
|
+
}
|
|
5197
|
+
};
|
|
5198
|
+
stripped += count;
|
|
5199
|
+
} else {
|
|
5200
|
+
message.parts[partIndex] = { ...makeSentinel(original), text: marker };
|
|
5201
|
+
if (marker === "" && message.info.id) {
|
|
5202
|
+
const indices = omissions.get(message.info.id) ?? new Set;
|
|
5203
|
+
indices.add(partIndex);
|
|
5204
|
+
omissions.set(message.info.id, indices);
|
|
5205
|
+
}
|
|
5206
|
+
stripped++;
|
|
5207
|
+
}
|
|
5043
5208
|
}
|
|
5044
5209
|
return { stripped, newlyStrippedIds };
|
|
5045
5210
|
}
|
|
5211
|
+
function isProcessedImagePart(part) {
|
|
5212
|
+
if (isRecord(part) && part.type === "media" && isRecord(part.media)) {
|
|
5213
|
+
const { source, mediaType } = part.media;
|
|
5214
|
+
const inlineLength = isRecord(source) ? source.type === "base64" && typeof source.data === "string" ? source.data.length : source.type === "bytes" && source.data instanceof Uint8Array ? Math.ceil(source.data.byteLength / 3) * 4 : 0 : 0;
|
|
5215
|
+
return typeof mediaType === "string" && mediaType.startsWith("image/") && inlineLength > 0 && inlineLength + `data:${mediaType};base64,`.length > 200;
|
|
5216
|
+
}
|
|
5217
|
+
return isRecord(part) && part.type === "file" && typeof part.mime === "string" && part.mime.startsWith("image/") && typeof part.url === "string" && part.url.startsWith("data:") && part.url.length > 200;
|
|
5218
|
+
}
|
|
5046
5219
|
|
|
5047
5220
|
// src/hooks/magic-context/reasoning-budget.ts
|
|
5048
5221
|
function projectOpencodeReasoningBudgetCutoff(db, sessionId, messages, budget, watermark, proseRatio) {
|
|
@@ -5657,24 +5830,18 @@ function setToolContent(part, content) {
|
|
|
5657
5830
|
}
|
|
5658
5831
|
}
|
|
5659
5832
|
function clonePart(part) {
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
} catch {
|
|
5665
|
-
try {
|
|
5666
|
-
return JSON.parse(JSON.stringify(part));
|
|
5667
|
-
} catch {
|
|
5668
|
-
return part;
|
|
5669
|
-
}
|
|
5670
|
-
}
|
|
5833
|
+
return {
|
|
5834
|
+
...part,
|
|
5835
|
+
...isRecord(part.state) ? { state: { ...part.state } } : {}
|
|
5836
|
+
};
|
|
5671
5837
|
}
|
|
5672
5838
|
function clampCloneInPlace(occurrence, clamp) {
|
|
5673
|
-
const clone = clonePart(occurrence.part);
|
|
5674
|
-
clamp(clone);
|
|
5675
5839
|
const parts = occurrence.message.parts;
|
|
5676
5840
|
const index = parts.indexOf(servedPart(occurrence));
|
|
5677
5841
|
if (index >= 0) {
|
|
5842
|
+
const clone = clamp(occurrence.part);
|
|
5843
|
+
if (clone === servedPart(occurrence))
|
|
5844
|
+
return;
|
|
5678
5845
|
parts[index] = clone;
|
|
5679
5846
|
occurrence.served = clone;
|
|
5680
5847
|
}
|
|
@@ -5684,17 +5851,24 @@ function servedPart(occurrence) {
|
|
|
5684
5851
|
}
|
|
5685
5852
|
function skeletonRealToolPart(part, tagId, stripAttachments = false) {
|
|
5686
5853
|
if (!isRecord(part))
|
|
5687
|
-
return;
|
|
5854
|
+
return part;
|
|
5688
5855
|
const sentinel = `[dropped §${tagId}§]`;
|
|
5689
5856
|
if (part.type === "tool" && isRecord(part.state)) {
|
|
5690
|
-
part.state.output
|
|
5857
|
+
if (part.state.output === sentinel && !needsAttachmentStrip(part.state, stripAttachments))
|
|
5858
|
+
return part;
|
|
5859
|
+
const clone = clonePart(part);
|
|
5860
|
+
const state = clone.state;
|
|
5861
|
+
state.output = sentinel;
|
|
5691
5862
|
if (stripAttachments)
|
|
5692
|
-
|
|
5693
|
-
return;
|
|
5694
|
-
}
|
|
5695
|
-
if (part.type === "tool_result") {
|
|
5696
|
-
part.content = sentinel;
|
|
5863
|
+
state.attachments = [];
|
|
5864
|
+
return clone;
|
|
5697
5865
|
}
|
|
5866
|
+
if (part.type === "tool_result" && part.content !== sentinel)
|
|
5867
|
+
return { ...part, content: sentinel };
|
|
5868
|
+
return part;
|
|
5869
|
+
}
|
|
5870
|
+
function needsAttachmentStrip(state, strip) {
|
|
5871
|
+
return strip && (!Array.isArray(state.attachments) || state.attachments.length !== 0);
|
|
5698
5872
|
}
|
|
5699
5873
|
function readToolPartRawInput(part) {
|
|
5700
5874
|
if (!isRecord(part))
|
|
@@ -5707,51 +5881,62 @@ function readToolPartRawInput(part) {
|
|
|
5707
5881
|
return part.input;
|
|
5708
5882
|
return;
|
|
5709
5883
|
}
|
|
5884
|
+
function isDroppedInput(input, sentinel) {
|
|
5885
|
+
return isRecord(input) && Object.keys(input).length === 1 && Object.hasOwn(input, "dropped") && input.dropped === sentinel;
|
|
5886
|
+
}
|
|
5710
5887
|
function truncateToolPart(part, tagId) {
|
|
5711
5888
|
if (!isRecord(part))
|
|
5712
|
-
return;
|
|
5889
|
+
return part;
|
|
5713
5890
|
const sentinel = `[dropped §${tagId}§]`;
|
|
5714
5891
|
if (part.type === "tool" && isRecord(part.state)) {
|
|
5715
|
-
|
|
5892
|
+
if (part.state.output === sentinel && isDroppedInput(part.state.input, sentinel))
|
|
5893
|
+
return part;
|
|
5894
|
+
const clone = clonePart(part);
|
|
5895
|
+
const state = clone.state;
|
|
5716
5896
|
state.output = sentinel;
|
|
5717
5897
|
state.input = droppedInputMarker(tagId);
|
|
5718
|
-
return;
|
|
5898
|
+
return clone;
|
|
5719
5899
|
}
|
|
5720
5900
|
if (part.type === "tool_result") {
|
|
5721
|
-
part.content
|
|
5722
|
-
return;
|
|
5901
|
+
return part.content === sentinel ? part : { ...part, content: sentinel };
|
|
5723
5902
|
}
|
|
5724
5903
|
if (part.type === "tool-invocation") {
|
|
5725
|
-
part.args
|
|
5726
|
-
return;
|
|
5904
|
+
return isDroppedInput(part.args, sentinel) ? part : { ...part, args: droppedInputMarker(tagId) };
|
|
5727
5905
|
}
|
|
5728
5906
|
if (part.type === "tool_use") {
|
|
5729
|
-
part.input
|
|
5907
|
+
return isDroppedInput(part.input, sentinel) ? part : { ...part, input: droppedInputMarker(tagId) };
|
|
5730
5908
|
}
|
|
5909
|
+
return part;
|
|
5731
5910
|
}
|
|
5732
5911
|
function editMarkerToolPart(part, tagId, stripAttachments = false) {
|
|
5733
5912
|
if (!isRecord(part))
|
|
5734
|
-
return;
|
|
5913
|
+
return part;
|
|
5735
5914
|
const sentinel = `[dropped §${tagId}§]`;
|
|
5915
|
+
const input = readToolPartInput(part);
|
|
5916
|
+
const rewriteInput = input !== null && needsEditMarker(input);
|
|
5736
5917
|
if (part.type === "tool" && isRecord(part.state)) {
|
|
5737
|
-
part.state.output
|
|
5918
|
+
if (part.state.output === sentinel && !rewriteInput && !needsAttachmentStrip(part.state, stripAttachments))
|
|
5919
|
+
return part;
|
|
5920
|
+
const clone = clonePart(part);
|
|
5921
|
+
const state = clone.state;
|
|
5922
|
+
state.output = sentinel;
|
|
5738
5923
|
if (stripAttachments)
|
|
5739
|
-
|
|
5740
|
-
if (
|
|
5741
|
-
|
|
5742
|
-
|
|
5924
|
+
state.attachments = [];
|
|
5925
|
+
if (rewriteInput) {
|
|
5926
|
+
state.input = { ...input };
|
|
5927
|
+
applyEditMarkerToInput(state.input);
|
|
5928
|
+
}
|
|
5929
|
+
return clone;
|
|
5743
5930
|
}
|
|
5744
5931
|
if (part.type === "tool_result") {
|
|
5745
|
-
part.content
|
|
5746
|
-
return;
|
|
5747
|
-
}
|
|
5748
|
-
if (part.type === "tool-invocation" && isRecord(part.args)) {
|
|
5749
|
-
applyEditMarkerToInput(part.args);
|
|
5750
|
-
return;
|
|
5932
|
+
return part.content === sentinel ? part : { ...part, content: sentinel };
|
|
5751
5933
|
}
|
|
5752
|
-
if (
|
|
5753
|
-
|
|
5934
|
+
if (rewriteInput) {
|
|
5935
|
+
const markedInput = { ...input };
|
|
5936
|
+
applyEditMarkerToInput(markedInput);
|
|
5937
|
+
return { ...part, [part.type === "tool-invocation" ? "args" : "input"]: markedInput };
|
|
5754
5938
|
}
|
|
5939
|
+
return part;
|
|
5755
5940
|
}
|
|
5756
5941
|
function readToolPartInput(part) {
|
|
5757
5942
|
if (!isRecord(part))
|
|
@@ -5980,9 +6165,7 @@ function createToolDropTarget(compositeKey, thinkingParts, index, batch, tagId)
|
|
|
5980
6165
|
parts
|
|
5981
6166
|
});
|
|
5982
6167
|
const before = count(parts);
|
|
5983
|
-
const retained = skeleton ?
|
|
5984
|
-
for (const part of retained)
|
|
5985
|
-
skeletonRealToolPart(part, tagId);
|
|
6168
|
+
const retained = skeleton ? parts.map((part) => skeletonRealToolPart(part, tagId)) : [];
|
|
5986
6169
|
const after = count(retained);
|
|
5987
6170
|
return {
|
|
5988
6171
|
beforeTools: before.toolCall,
|
|
@@ -6030,6 +6213,10 @@ function createToolDropTarget(compositeKey, thinkingParts, index, batch, tagId)
|
|
|
6030
6213
|
return false;
|
|
6031
6214
|
return batch.wouldStrandConversationEnd(entry.occurrences);
|
|
6032
6215
|
},
|
|
6216
|
+
prepareDrop: () => {
|
|
6217
|
+
const entry = index.get(compositeKey);
|
|
6218
|
+
return !!entry && entry.occurrences.length > 0 && entry.hasResult;
|
|
6219
|
+
},
|
|
6033
6220
|
canDrop: () => {
|
|
6034
6221
|
const entry = index.get(compositeKey);
|
|
6035
6222
|
return !!entry && entry.occurrences.length > 0 && entry.hasResult && !entry.occurrences.some((occurrence) => toolPartHasUserAnswer(occurrence.part));
|
|
@@ -6292,6 +6479,21 @@ function visitRawSessionMessages2(sessionId, fromOrdinal, toOrdinal, visit, opti
|
|
|
6292
6479
|
after = last ? { timeCreated: last.createdAt ?? 0, id: last.id } : undefined;
|
|
6293
6480
|
}
|
|
6294
6481
|
}
|
|
6482
|
+
async function visitRawSessionMessagesAsync2(sessionId, fromOrdinal, toOrdinal, visit, options = {}) {
|
|
6483
|
+
const from = Math.max(1, Math.floor(fromOrdinal));
|
|
6484
|
+
const to = Math.floor(toOrdinal);
|
|
6485
|
+
if (to < from)
|
|
6486
|
+
return;
|
|
6487
|
+
const provider = sessionProviders.get(sessionId)?.provider;
|
|
6488
|
+
if (!provider?.iterateMessageRangeAsync) {
|
|
6489
|
+
visitRawSessionMessages2(sessionId, from, to, visit, options);
|
|
6490
|
+
return;
|
|
6491
|
+
}
|
|
6492
|
+
for await (const message of provider.iterateMessageRangeAsync(from, to)) {
|
|
6493
|
+
if (!visit(message))
|
|
6494
|
+
return;
|
|
6495
|
+
}
|
|
6496
|
+
}
|
|
6295
6497
|
function readRawSessionMessageRange2(sessionId, fromOrdinal, toOrdinal) {
|
|
6296
6498
|
const from = Math.max(1, Math.floor(fromOrdinal));
|
|
6297
6499
|
const to = Math.floor(toOrdinal);
|
|
@@ -6515,13 +6717,20 @@ function readRawSessionMessageOrdinalById2(sessionId, messageId) {
|
|
|
6515
6717
|
return null;
|
|
6516
6718
|
return withReadOnlySessionDb((db) => readRawSessionMessageOrdinalByIdFromDb2(db, sessionId, messageId));
|
|
6517
6719
|
}
|
|
6720
|
+
function readRawSessionMessageOrderPosition(sessionId, messageId) {
|
|
6721
|
+
const provider = sessionProviders.get(sessionId)?.provider;
|
|
6722
|
+
if (provider) {
|
|
6723
|
+
return provider.readMessageOrderById ? provider.readMessageOrderById(messageId) : provider.readMessageOrdinalById?.(messageId) ?? null;
|
|
6724
|
+
}
|
|
6725
|
+
return readRawSessionMessageOrdinalById2(sessionId, messageId);
|
|
6726
|
+
}
|
|
6518
6727
|
function compareRawSessionMessageOrder2(sessionId, leftId, rightId) {
|
|
6519
6728
|
const provider = sessionProviders.get(sessionId)?.provider;
|
|
6520
6729
|
if (provider) {
|
|
6521
|
-
if (!provider.readMessageOrdinalById)
|
|
6730
|
+
if (!provider.readMessageOrderById && !provider.readMessageOrdinalById)
|
|
6522
6731
|
return null;
|
|
6523
|
-
const left =
|
|
6524
|
-
const right =
|
|
6732
|
+
const left = readRawSessionMessageOrderPosition(sessionId, leftId);
|
|
6733
|
+
const right = readRawSessionMessageOrderPosition(sessionId, rightId);
|
|
6525
6734
|
return left === null || right === null ? null : left - right;
|
|
6526
6735
|
}
|
|
6527
6736
|
if (!openCodeDbExists())
|
|
@@ -6717,7 +6926,10 @@ function readSessionChunk2(sessionId, tokenBudget, offset = 1, eligibleEndOrdina
|
|
|
6717
6926
|
if (state?.input === undefined && state?.output !== undefined && typeof p.callID === "string") {
|
|
6718
6927
|
const call = calls.get(p.callID);
|
|
6719
6928
|
if (call) {
|
|
6720
|
-
const expansion = expandToolPart({
|
|
6929
|
+
const expansion = expandToolPart({
|
|
6930
|
+
...call,
|
|
6931
|
+
state: { ...call.state, output: state.output }
|
|
6932
|
+
}, options.expandTools);
|
|
6721
6933
|
if (expansion !== null) {
|
|
6722
6934
|
expandedParts.set(call, expansion);
|
|
6723
6935
|
expandedResults.add(part);
|
|
@@ -7000,4 +7212,4 @@ function readRawSessionSeedTail2(sessionId, boundaryId, onQuery) {
|
|
|
7000
7212
|
});
|
|
7001
7213
|
}
|
|
7002
7214
|
|
|
7003
|
-
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, 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, addProcessedImageStrippedIds, getPendingCompactionMarkerState, getCompactionMarkerHealth, loadPostprocessReplaySnapshot, setPendingCompactionMarkerState, replacePendingCompactionMarkerStateIf, clearPendingCompactionMarkerStateIf, getPendingPiCompactionMarkerState, clearPendingPiCompactionMarkerStateIf, 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, 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, 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 };
|
|
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 };
|