@cortexkit/opencode-magic-context 0.49.19 → 0.49.21
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 +48 -9
- package/dist/chunk-embedding-write-worker.js +30 -23
- package/dist/{compaction-marker-candidates-n4krhat4.js → compaction-marker-candidates-31h86ph0.js} +3 -3
- package/dist/compaction-marker-candidates-worker.js +2 -2
- package/dist/compartment-chunk-embedding-he60aaa2.js +65 -0
- package/dist/config/project-security.d.ts.map +1 -1
- package/dist/config/schema/magic-context.d.ts +43 -9
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/{conflict-warning-hook-4pmz879v.js → conflict-warning-hook-2r32hyx6.js} +9 -8
- package/dist/{context-j31m2dv7.js → context-j7hp43a0.js} +576 -185
- package/dist/{derive-budgets-zn7yzd2d.js → derive-budgets-pqybnx09.js} +2 -2
- package/dist/embedding-backfill-dtke6tck.js +25 -0
- package/dist/embedding-worker-process.js +2 -2
- package/dist/embedding-worker.js +6 -6
- package/dist/features/magic-context/chunk-embedding-writer.d.ts.map +1 -1
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts +44 -1
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/docs-proposals.d.ts +1 -0
- package/dist/features/magic-context/dreamer/docs-proposals.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts +2 -0
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-identity.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-local.d.ts +1 -0
- package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-synapse.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-worker-client.d.ts +7 -1
- package/dist/features/magic-context/memory/embedding-worker-client.d.ts.map +1 -1
- package/dist/features/magic-context/memory/local-embedding-pooling.d.ts +22 -0
- package/dist/features/magic-context/memory/local-embedding-pooling.d.ts.map +1 -0
- package/dist/features/magic-context/message-index-async.d.ts +7 -2
- package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
- package/dist/features/magic-context/message-index.d.ts +2 -0
- package/dist/features/magic-context/message-index.d.ts.map +1 -1
- package/dist/features/magic-context/mural/compress-cues.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts +2 -0
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/search-rerank.d.ts +9 -2
- package/dist/features/magic-context/search-rerank.d.ts.map +1 -1
- package/dist/features/magic-context/search.d.ts +29 -0
- package/dist/features/magic-context/search.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
- package/dist/features/magic-context/storage-db.d.ts +2 -0
- package/dist/features/magic-context/storage-db.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-persisted.d.ts +2 -0
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
- package/dist/features/magic-context/subagent-token-capture.d.ts +20 -0
- package/dist/features/magic-context/subagent-token-capture.d.ts.map +1 -1
- package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
- package/dist/{history-owner-xp3pngv7.js → history-owner-36wp3mkb.js} +2 -2
- package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-embed-session.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-hint.d.ts +7 -1
- package/dist/hooks/magic-context/auto-search-hint.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-worker-client.d.ts +33 -6
- package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -1
- package/dist/hooks/magic-context/cache-busting-signals.d.ts +6 -2
- package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -1
- package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-types.d.ts +5 -0
- package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts +1 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
- package/dist/hooks/magic-context/diagnostic-log-state.d.ts +4 -0
- package/dist/hooks/magic-context/diagnostic-log-state.d.ts.map +1 -0
- package/dist/hooks/magic-context/execute-reclaim.d.ts +35 -0
- package/dist/hooks/magic-context/execute-reclaim.d.ts.map +1 -0
- package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts +1 -3
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/latest-assistant-turn.d.ts +8 -0
- package/dist/hooks/magic-context/latest-assistant-turn.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-recovery-fence.d.ts +5 -0
- package/dist/hooks/magic-context/lkg-recovery-fence.d.ts.map +1 -1
- package/dist/hooks/magic-context/nudge-evaluation-log.d.ts +3 -0
- package/dist/hooks/magic-context/nudge-evaluation-log.d.ts.map +1 -0
- package/dist/hooks/magic-context/pending-drop-eligibility.d.ts.map +1 -1
- package/dist/hooks/magic-context/protected-tail-boundary.d.ts +4 -0
- package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
- package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -1
- package/dist/hooks/magic-context/served-shape-repair.d.ts +19 -0
- package/dist/hooks/magic-context/served-shape-repair.d.ts.map +1 -0
- package/dist/hooks/magic-context/strip-content.d.ts +4 -2
- package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
- package/dist/hooks/magic-context/system-date-refresh.d.ts +5 -5
- package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
- package/dist/hooks/magic-context/system-prompt-sticky-date.d.ts +10 -0
- package/dist/hooks/magic-context/system-prompt-sticky-date.d.ts.map +1 -0
- package/dist/hooks/magic-context/tag-content-primitives.d.ts +1 -1
- package/dist/hooks/magic-context/tag-content-primitives.d.ts.map +1 -1
- package/dist/hooks/magic-context/tag-messages.d.ts +4 -1
- package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
- package/dist/hooks/magic-context/text-complete.d.ts +1 -1
- package/dist/hooks/magic-context/text-complete.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +21 -6
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts +2 -2
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/{index-3esx8tkf.js → index-11gzxvf4.js} +394 -125
- package/dist/{index-jn12fvvh.js → index-1gtfne2c.js} +3 -3
- package/dist/{index-jhghdnsm.js → index-1kbznkft.js} +521 -214
- package/dist/{index-3h4dp9wb.js → index-3svaejkh.js} +5 -5
- package/dist/{index-kee4kn5j.js → index-4pnsgvfk.js} +1 -1
- package/dist/{index-bjcnntmz.js → index-51rdvtkz.js} +501 -20
- package/dist/{v2/server-8cd2j99z.js → index-5kym00ag.js} +32 -13
- package/dist/{index-s74zqahq.js → index-66eby7hx.js} +4 -4
- package/dist/{index-63k48rv9.js → index-9q1g3c5q.js} +5 -5
- package/dist/{index-jrr131e0.js → index-a9zvn5fe.js} +29 -15
- package/dist/{index-c5pytzne.js → index-b88dwwrh.js} +1 -1
- package/dist/{index-nj7yykkx.js → index-c7phnbvk.js} +1 -1
- package/dist/index-cpjk5jd2.js +82 -0
- package/dist/{index-c1p88z1y.js → index-ffzhwfzy.js} +4 -4
- package/dist/{v2/server-beht37jy.js → index-gzy5w8ya.js} +194 -5
- package/dist/{index-j75v2476.js → index-h7tgn49j.js} +12 -15
- package/dist/{index-edmpdxcw.js → index-j32jj2t8.js} +5 -5
- package/dist/{index-ke416mdc.js → index-j76ah6d7.js} +2 -2
- package/dist/{index-s734jcsr.js → index-jfem3dgz.js} +9 -3
- package/dist/{index-n37sebck.js → index-jjvbk92s.js} +1 -1
- package/dist/{index-4911rn0b.js → index-jmq8kfe7.js} +6 -6
- package/dist/{index-rr2bb45z.js → index-kfyb3k6n.js} +2 -2
- package/dist/{index-2vxtcb95.js → index-kq5w68dp.js} +2 -2
- package/dist/{index-kq82mtg0.js → index-ksq50rg0.js} +3 -3
- package/dist/{index-b5vqckbw.js → index-m32esgmj.js} +314 -127
- package/dist/{index-9zcsy3hh.js → index-mnhcdfxg.js} +161 -13
- package/dist/{index-se4m2g6w.js → index-mnnkgq0q.js} +111 -19
- package/dist/{index-p5y3k4g7.js → index-nda0zgna.js} +2 -1
- package/dist/{index-wgypt3cs.js → index-nxrsns5x.js} +2466 -1290
- package/dist/{index-4s3t0nd0.js → index-qgh1qwjj.js} +2 -2
- package/dist/{index-y9f76s3f.js → index-rrv26qjz.js} +1 -1
- package/dist/{index-24fezq97.js → index-rxqr723x.js} +5 -5
- package/dist/{index-v10f1rjv.js → index-spwjbkc7.js} +1 -1
- package/dist/{index-dxmq29t1.js → index-syaazvy2.js} +182 -47
- package/dist/{index-k29z4aqh.js → index-t5pck3ss.js} +1 -1
- package/dist/{index-6x57ar45.js → index-wfybj1dw.js} +4 -6
- package/dist/{index-cf74k5ak.js → index-whcgcfrv.js} +9 -6
- package/dist/{index-a6mc0v4d.js → index-x6cbrv9h.js} +3 -3
- package/dist/{index-bp5083x2.js → index-x9k3mqrf.js} +1 -1
- package/dist/{index-rpxdjkm0.js → index-y76rhsnr.js} +319 -61
- package/dist/{index-ze7mvk54.js → index-zy67whjr.js} +95 -59
- package/dist/index.js +58 -54
- package/dist/{logger-jm3sqqzr.js → logger-94kew5wm.js} +1 -1
- package/dist/{message-fts-rowid-map-17s0dfn4.js → message-fts-rowid-map-e79b7b6x.js} +6 -5
- package/dist/{message-index-gtpqnj8w.js → message-index-4q8ek2fc.js} +17 -16
- package/dist/{message-index-bounded-zyc8h32y.js → message-index-bounded-rydsg9r5.js} +17 -16
- package/dist/{message-time-backfill-73mmm76q.js → message-time-backfill-4qva0b4f.js} +3 -3
- package/dist/migration-worker.js +13 -12
- package/dist/{model-resolution-nx97z3x7.js → model-resolution-280gmqvd.js} +1 -1
- package/dist/plugin/embedding-bootstrap.d.ts +4 -1
- package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +1 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts +8 -0
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/plugin/subagent-tool-policy.d.ts +9 -0
- package/dist/plugin/subagent-tool-policy.d.ts.map +1 -1
- package/dist/plugin/tool-registry.d.ts.map +1 -1
- package/dist/{project-embedding-registry-z74mhqkf.js → project-embedding-registry-hn529988.js} +16 -13
- package/dist/raw-ordinal-warmup-worker.js +136 -101
- package/dist/{read-session-chunk-jjb48bt9.js → read-session-chunk-t039f0m5.js} +12 -11
- package/dist/{read-session-raw-rsc8c7qy.js → read-session-raw-aw6jgvwg.js} +4 -3
- package/dist/recomp-orchestrator-hbm53jj5.js +62 -0
- package/dist/{safe-notification-target-1szv1k5k.js → safe-notification-target-mkr9yzvr.js} +2 -2
- package/dist/search-archive-weh164mh.js +26 -0
- package/dist/search-hea079d7.js +50 -0
- package/dist/{send-session-notification-6ve0e8p4.js → send-session-notification-gqzkz7da.js} +7 -6
- package/dist/shared/logger.d.ts.map +1 -1
- package/dist/shared/model-resolution.d.ts +2 -0
- package/dist/shared/model-resolution.d.ts.map +1 -1
- package/dist/shared/prompt-async-transport.d.ts +3 -0
- package/dist/shared/prompt-async-transport.d.ts.map +1 -1
- package/dist/shared/rpc-types.d.ts +7 -0
- package/dist/shared/rpc-types.d.ts.map +1 -1
- package/dist/shared/sqlite.d.ts +6 -1
- package/dist/shared/sqlite.d.ts.map +1 -1
- package/dist/shared/subagent-runner.d.ts +2 -0
- package/dist/shared/subagent-runner.d.ts.map +1 -1
- package/dist/shared/tag-transcript.d.ts +2 -0
- package/dist/shared/tag-transcript.d.ts.map +1 -1
- package/dist/shared/worker-shutdown.d.ts +68 -0
- package/dist/shared/worker-shutdown.d.ts.map +1 -0
- package/dist/shared/worker-shutdown.fixture.d.ts +2 -0
- package/dist/shared/worker-shutdown.fixture.d.ts.map +1 -0
- package/dist/{sqlite-zf72c52d.js → sqlite-zdgm52sv.js} +5 -1
- package/dist/{storage-memory-y3qmy00r.js → storage-memory-e6a7mb0k.js} +2 -2
- package/dist/{storage-tags-r7k9tjcv.js → storage-tags-a77q4v77.js} +5 -5
- package/dist/{task-config-x3qmayd2.js → task-config-t6bpyka7.js} +2 -2
- package/dist/tools/ctx-search/tools.d.ts.map +1 -1
- package/dist/tools/ctx-search/types.d.ts +1 -0
- package/dist/tools/ctx-search/types.d.ts.map +1 -1
- package/dist/{transform-postprocess-phase-jj99r7z2.js → transform-postprocess-phase-0b04tm1p.js} +35 -32
- package/dist/v2/auto-search-worker.js +48 -9
- package/dist/v2/chunk-embedding-write-worker.js +30 -23
- package/dist/v2/{compaction-marker-candidates-ebx3388k.js → compaction-marker-candidates-m4vmye3w.js} +3 -3
- package/dist/v2/compaction-marker-candidates-worker.js +2 -2
- package/dist/v2/compartment-chunk-embedding-8jjmcgeg.js +64 -0
- package/dist/v2/{context-y5yamxak.js → context-ea3x7smm.js} +1797 -810
- package/dist/v2/{derive-budgets-2zh4gm2c.js → derive-budgets-knf763tt.js} +3 -3
- package/dist/v2/embedding-backfill-5e74ae0m.js +24 -0
- package/dist/v2/embedding-worker-process.js +2 -2
- package/dist/v2/embedding-worker.js +6 -6
- package/dist/v2/hidden-child-record.d.ts +2 -0
- package/dist/v2/hidden-child-record.d.ts.map +1 -1
- package/dist/v2/hidden-completion.d.ts +2 -0
- package/dist/v2/hidden-completion.d.ts.map +1 -1
- package/dist/v2/hidden-model-activity.d.ts +7 -0
- package/dist/v2/hidden-model-activity.d.ts.map +1 -0
- package/dist/v2/{history-owner-42e16w0n.js → history-owner-ad0crnrn.js} +2 -2
- package/dist/v2/hooks/context.d.ts.map +1 -1
- package/dist/v2/hooks/copied-tag-notation.d.ts +1 -1
- package/dist/v2/hooks/copied-tag-notation.d.ts.map +1 -1
- package/dist/v2/hooks/dream-timer.d.ts +2 -0
- package/dist/v2/hooks/dream-timer.d.ts.map +1 -1
- package/dist/v2/hooks/embedding-lifecycle.d.ts +7 -0
- package/dist/v2/hooks/embedding-lifecycle.d.ts.map +1 -0
- package/dist/v2/hooks/generate.d.ts +36 -1
- package/dist/v2/hooks/generate.d.ts.map +1 -1
- package/dist/v2/hooks/lkg-system.d.ts +35 -4
- package/dist/v2/hooks/lkg-system.d.ts.map +1 -1
- package/dist/v2/hooks/payload.d.ts +16 -1
- package/dist/v2/hooks/payload.d.ts.map +1 -1
- package/dist/v2/hooks/store.d.ts +2 -0
- package/dist/v2/hooks/store.d.ts.map +1 -1
- package/dist/v2/hooks/tools.d.ts +2 -1
- package/dist/v2/hooks/tools.d.ts.map +1 -1
- package/dist/v2/hooks/transform-features.d.ts +2 -2
- package/dist/v2/hooks/transform-features.d.ts.map +1 -1
- package/dist/v2/{logger-7qt02bnb.js → logger-p34mjtja.js} +1 -1
- package/dist/v2/{message-fts-rowid-map-wfx67gfd.js → message-fts-rowid-map-n8fdg2ja.js} +6 -5
- package/dist/v2/{message-index-bounded-spd8r7pj.js → message-index-bounded-8rcd7qq9.js} +17 -16
- package/dist/v2/{message-index-8vz2pq76.js → message-index-qz9wdp82.js} +17 -16
- package/dist/v2/{message-time-backfill-04t0km1z.js → message-time-backfill-zvthw6xb.js} +3 -3
- package/dist/v2/migration-worker.js +13 -12
- package/dist/v2/{model-resolution-nx97z3x7.js → model-resolution-280gmqvd.js} +1 -1
- package/dist/v2/{project-embedding-registry-gnkj56xp.js → project-embedding-registry-v38q4xd5.js} +16 -13
- package/dist/v2/raw-ordinal-warmup-worker.js +136 -101
- package/dist/v2/{read-session-chunk-cwkxrmns.js → read-session-chunk-wazfyxcg.js} +12 -11
- package/dist/v2/{read-session-raw-yaegtjzh.js → read-session-raw-b70cpwzj.js} +4 -3
- package/dist/v2/recomp-orchestrator-b12zaptj.js +61 -0
- package/dist/v2/{safe-notification-target-qg7n2s77.js → safe-notification-target-khnzg57c.js} +2 -2
- package/dist/v2/search-archive-x64rtz1z.js +25 -0
- package/dist/v2/search-hza9x72a.js +49 -0
- package/dist/v2/{send-session-notification-3pxn658x.js → send-session-notification-8eqe259v.js} +7 -6
- package/dist/v2/{server-45q69hkq.js → server-132h8twc.js} +5 -5
- package/dist/v2/{server-h0410h0v.js → server-1bw1wcbp.js} +1 -1
- package/dist/v2/{server-271qxsf5.js → server-24g8r2d0.js} +2466 -1290
- package/dist/v2/{server-tbe1femw.js → server-29qp8nz4.js} +1 -1
- package/dist/v2/{server-gsxjv2q2.js → server-33nqbqkw.js} +182 -47
- package/dist/v2/{server-tgnbmwah.js → server-3mz2qh5a.js} +1 -1
- package/dist/v2/{server-n1prf1g6.js → server-3vhxy2k5.js} +2 -2
- package/dist/v2/{server-xj136kt8.js → server-4kjmrjn4.js} +9 -3
- package/dist/v2/{server-34kwfsr4.js → server-53eh1r8r.js} +2 -2
- package/dist/{index-8cd2j99z.js → v2/server-5kym00ag.js} +32 -13
- package/dist/v2/{server-46neh5fa.js → server-62g58aaz.js} +314 -127
- package/dist/v2/{server-f2xf5gcb.js → server-6495nmn9.js} +12 -15
- package/dist/v2/{server-a9xqj88f.js → server-6v3cdzsx.js} +4 -4
- package/dist/v2/{server-d04vrx0j.js → server-806rzhs6.js} +2 -2
- package/dist/v2/{server-qd11g795.js → server-92g7d776.js} +2 -1
- package/dist/v2/{server-nj659894.js → server-94wk1ey3.js} +14 -3
- package/dist/v2/{server-6tmj0s7j.js → server-ab1g0wn9.js} +4 -6
- package/dist/v2/{server-8by8qfec.js → server-ad18djzs.js} +95 -59
- package/dist/v2/{server-hy3d3vsx.js → server-bsgd4dk1.js} +2 -2
- package/dist/v2/server-cpjk5jd2.js +82 -0
- package/dist/v2/{server-g3qma5c0.js → server-d1dzgvwd.js} +2 -2
- package/dist/v2/{server-hm38q7r0.js → server-d48x3m4x.js} +5 -5
- package/dist/v2/{server-1wy7b9de.js → server-dtp8hcjh.js} +3 -3
- package/dist/v2/{server-27gq4mfz.js → server-fa7vtp40.js} +9 -6
- package/dist/v2/{server-6pmqg9m4.js → server-gyy4k6mf.js} +1 -1
- package/dist/{index-beht37jy.js → v2/server-gzy5w8ya.js} +194 -5
- package/dist/v2/{server-bmymkx73.js → server-j8h7bsca.js} +29 -15
- package/dist/v2/{server-n37sebck.js → server-jjvbk92s.js} +1 -1
- package/dist/v2/{server-da07v4xp.js → server-k3t06fxr.js} +1 -1
- package/dist/v2/{server-9hx7g5jp.js → server-m4bfaevz.js} +1197 -1049
- package/dist/v2/{server-2ar62dyx.js → server-ppcd1qxh.js} +191 -99
- package/dist/v2/{server-rmygf5pn.js → server-qjvk4a9t.js} +2 -2
- package/dist/v2/{server-zzkj2fch.js → server-qteg2kt9.js} +5 -5
- package/dist/v2/{server-pwv4ezb0.js → server-rqebawx1.js} +2 -2
- package/dist/v2/{server-h1v0pyxb.js → server-vr4szghm.js} +501 -20
- package/dist/v2/{server-xq7dfjke.js → server-wwaw5npa.js} +5 -5
- package/dist/v2/{server-6vdzn1td.js → server-zg5y109h.js} +323 -76
- package/dist/v2/server.js +8 -8
- package/dist/v2/{sqlite-zf72c52d.js → sqlite-zdgm52sv.js} +5 -1
- package/dist/v2/{storage-memory-y3qmy00r.js → storage-memory-e6a7mb0k.js} +2 -2
- package/dist/v2/{storage-tags-3wdb8zph.js → storage-tags-q71rnr9f.js} +5 -5
- package/dist/v2/store-reader.d.ts +10 -0
- package/dist/v2/store-reader.d.ts.map +1 -1
- package/dist/v2/{task-config-nvz8mapa.js → task-config-7md27rx8.js} +2 -2
- package/dist/v2/{wrapup-orchestrator-embdz8gj.js → wrapup-orchestrator-3ssd5yy1.js} +33 -32
- package/dist/wrapup-orchestrator-5vpcd1zx.js +49 -0
- package/package.json +2 -2
- package/src/config/index.test.ts +72 -6
- package/src/config/project-security.ts +15 -0
- package/src/config/rerank.test.ts +60 -0
- package/src/config/schema/magic-context.ts +57 -0
- package/src/shared/logger.test.ts +42 -1
- package/src/shared/logger.ts +11 -13
- package/src/shared/model-resolution.test.ts +67 -12
- package/src/shared/model-resolution.ts +43 -16
- package/src/shared/model-suggestion-retry.ts +2 -2
- package/src/shared/prompt-async-transport.ts +47 -3
- package/src/shared/rpc-types.ts +7 -0
- package/src/shared/sqlite-busy-budget-review.test.ts +6 -1
- package/src/shared/sqlite-turn-deadline.test.ts +270 -0
- package/src/shared/sqlite.ts +239 -9
- package/src/shared/subagent-runner.ts +2 -0
- package/src/shared/tag-transcript.ts +9 -1
- package/src/shared/worker-shutdown-fence.test.ts +87 -0
- package/src/shared/worker-shutdown.fixture.ts +25 -0
- package/src/shared/worker-shutdown.test.ts +127 -0
- package/src/shared/worker-shutdown.ts +160 -0
- package/dist/embedding-backfill-fmz50tsy.js +0 -24
- package/dist/recomp-orchestrator-999jj4bc.js +0 -61
- package/dist/search-archive-6vm0e2f5.js +0 -25
- package/dist/search-xsqk1bj4.js +0 -49
- package/dist/v2/embedding-backfill-7c7yr69y.js +0 -23
- package/dist/v2/recomp-orchestrator-f6m9jr7p.js +0 -60
- package/dist/v2/search-archive-wve3tq1k.js +0 -24
- package/dist/v2/search-hwg7jfbj.js +0 -48
- package/dist/wrapup-orchestrator-whhbjmaz.js +0 -48
|
@@ -6,21 +6,23 @@ import {
|
|
|
6
6
|
StaleRouteHandleError,
|
|
7
7
|
SubcClient,
|
|
8
8
|
isConsumerReconnectTransient
|
|
9
|
-
} from "./server-
|
|
9
|
+
} from "./server-ab1g0wn9.js";
|
|
10
10
|
import {
|
|
11
11
|
getHarness2
|
|
12
12
|
} from "./server-pavzsdc6.js";
|
|
13
13
|
import {
|
|
14
14
|
getDataDir,
|
|
15
15
|
log2
|
|
16
|
-
} from "./server-
|
|
16
|
+
} from "./server-6495nmn9.js";
|
|
17
17
|
import {
|
|
18
18
|
inRootAsyncContext2
|
|
19
|
-
} from "./server-
|
|
19
|
+
} from "./server-gzy5w8ya.js";
|
|
20
20
|
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
buildCanonicalChunkTextFromFts2,
|
|
22
|
+
loadCompartmentChunkEmbeddingsForSearch2,
|
|
23
|
+
peekCompartmentChunkSearchPool2,
|
|
24
|
+
warmCompartmentChunkSearchPool2
|
|
25
|
+
} from "./server-62g58aaz.js";
|
|
24
26
|
import {
|
|
25
27
|
recordEmbeddingMeasurement,
|
|
26
28
|
saveCommitEmbedding,
|
|
@@ -37,7 +39,7 @@ import {
|
|
|
37
39
|
enqueueShadowEmbeddingItems2,
|
|
38
40
|
getProjectEmbeddingSnapshot2,
|
|
39
41
|
embedItemsForProject2
|
|
40
|
-
} from "./server-
|
|
42
|
+
} from "./server-ad18djzs.js";
|
|
41
43
|
import {
|
|
42
44
|
getProjectEmbeddings2
|
|
43
45
|
} from "./server-4dhv7mqz.js";
|
|
@@ -46,13 +48,13 @@ import {
|
|
|
46
48
|
isEmbeddingEnabled,
|
|
47
49
|
embedText,
|
|
48
50
|
ensureMemoryEmbeddings2
|
|
49
|
-
} from "./server-
|
|
51
|
+
} from "./server-qteg2kt9.js";
|
|
50
52
|
import {
|
|
51
53
|
ModuleMemoryAuthorityError2,
|
|
52
54
|
getMemoriesByProject2,
|
|
53
55
|
getMemoriesByProjects2,
|
|
54
56
|
updateMemoryRetrievalCount2
|
|
55
|
-
} from "./server-
|
|
57
|
+
} from "./server-jjvbk92s.js";
|
|
56
58
|
import {
|
|
57
59
|
getNotes,
|
|
58
60
|
getActivePrimers,
|
|
@@ -61,27 +63,27 @@ import {
|
|
|
61
63
|
sanitizeFtsQuery,
|
|
62
64
|
searchMemoriesFTS,
|
|
63
65
|
searchMemoriesFTSUnion
|
|
64
|
-
} from "./server-
|
|
66
|
+
} from "./server-d48x3m4x.js";
|
|
65
67
|
import {
|
|
66
68
|
cleanSearchText,
|
|
67
69
|
keywordRelevance,
|
|
68
70
|
matchedSearchSnippet,
|
|
69
71
|
getIndexedMessageCorpusSize2
|
|
70
|
-
} from "./server-
|
|
72
|
+
} from "./server-ppcd1qxh.js";
|
|
71
73
|
import {
|
|
72
74
|
MESSAGE_FTS_SESSION_FILTER_SQL,
|
|
73
75
|
withMessageFtsSessionFilter
|
|
74
76
|
} from "./server-kaqs6h31.js";
|
|
75
77
|
import {
|
|
76
78
|
isRecord
|
|
77
|
-
} from "./server-
|
|
79
|
+
} from "./server-fa7vtp40.js";
|
|
78
80
|
import {
|
|
79
81
|
resolveWorkspaceShareCategories,
|
|
80
82
|
resolveWorkspaceIdentitySet,
|
|
81
83
|
expandWorkspaceIdentitySetWithAliases,
|
|
82
84
|
resolveStoredPathWorkspaceIdentity,
|
|
83
85
|
sourceNameForMemory
|
|
84
|
-
} from "./server-
|
|
86
|
+
} from "./server-wwaw5npa.js";
|
|
85
87
|
import {
|
|
86
88
|
isKnownAutocommit
|
|
87
89
|
} from "./server-8ajstryz.js";
|
|
@@ -1425,6 +1427,7 @@ function sha256(value) {
|
|
|
1425
1427
|
var RERANK_MODEL = "gte-reranker-modernbert-base-f32";
|
|
1426
1428
|
var RERANK_LANE_LIMIT = 25;
|
|
1427
1429
|
var DEADLINE_MS = 1500;
|
|
1430
|
+
var DOCUMENT_BYTES = 1024;
|
|
1428
1431
|
function isProseQuery(query) {
|
|
1429
1432
|
const text = query.trim();
|
|
1430
1433
|
if (!text || /[\n;]|^["'`]|["'`]$/.test(text))
|
|
@@ -1504,7 +1507,7 @@ function candidateText(location, title, body) {
|
|
|
1504
1507
|
${truncateUtf8(title.replaceAll(`
|
|
1505
1508
|
`, " "), 120)}
|
|
1506
1509
|
`;
|
|
1507
|
-
return header + truncateUtf8(body,
|
|
1510
|
+
return header + truncateUtf8(body, DOCUMENT_BYTES - Buffer.byteLength(header));
|
|
1508
1511
|
}
|
|
1509
1512
|
|
|
1510
1513
|
class RerankFailure extends Error {
|
|
@@ -1574,7 +1577,79 @@ async function connect(connectionFile) {
|
|
|
1574
1577
|
}
|
|
1575
1578
|
return bounded(connection);
|
|
1576
1579
|
}
|
|
1577
|
-
async function
|
|
1580
|
+
async function remoteScores(config, query, documents, signal) {
|
|
1581
|
+
const controller = new AbortController;
|
|
1582
|
+
let timer;
|
|
1583
|
+
let onAbort;
|
|
1584
|
+
try {
|
|
1585
|
+
const cancelled = new Promise((_, reject) => {
|
|
1586
|
+
const cancel = (reason) => {
|
|
1587
|
+
reject(new RerankFailure(reason));
|
|
1588
|
+
controller.abort();
|
|
1589
|
+
};
|
|
1590
|
+
onAbort = () => cancel("aborted");
|
|
1591
|
+
if (signal?.aborted)
|
|
1592
|
+
onAbort();
|
|
1593
|
+
else
|
|
1594
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
1595
|
+
timer = setTimeout(() => cancel("timeout"), Math.max(50, Math.min(15000, config.timeout_ms ?? DEADLINE_MS)));
|
|
1596
|
+
});
|
|
1597
|
+
const request = async () => {
|
|
1598
|
+
const tei = config.endpoint?.startsWith("tei+");
|
|
1599
|
+
const endpoint = (tei ? config.endpoint?.slice(4) : config.endpoint)?.replace(/\/+$/, "");
|
|
1600
|
+
if (!endpoint || !/^https?:\/\//.test(endpoint))
|
|
1601
|
+
throw new RerankFailure("invalid_endpoint");
|
|
1602
|
+
const response = await fetch(`${endpoint}/rerank`, {
|
|
1603
|
+
method: "POST",
|
|
1604
|
+
headers: {
|
|
1605
|
+
"Content-Type": "application/json",
|
|
1606
|
+
...config.api_key ? { Authorization: `Bearer ${config.api_key}` } : {}
|
|
1607
|
+
},
|
|
1608
|
+
body: JSON.stringify(tei ? { query, texts: documents } : {
|
|
1609
|
+
model: config.model,
|
|
1610
|
+
query,
|
|
1611
|
+
documents,
|
|
1612
|
+
top_n: documents.length
|
|
1613
|
+
}),
|
|
1614
|
+
signal: controller.signal,
|
|
1615
|
+
redirect: "error"
|
|
1616
|
+
});
|
|
1617
|
+
if (!response.ok)
|
|
1618
|
+
throw new RerankFailure(`http_${response.status}`);
|
|
1619
|
+
const body = await response.json();
|
|
1620
|
+
const rows = tei ? body : body?.results;
|
|
1621
|
+
if (!Array.isArray(rows) || rows.length !== documents.length)
|
|
1622
|
+
throw new RerankFailure("invalid_reply");
|
|
1623
|
+
const scores = new Array(documents.length);
|
|
1624
|
+
const seen = new Set;
|
|
1625
|
+
for (const row of rows) {
|
|
1626
|
+
const index = row?.index;
|
|
1627
|
+
const score = tei ? row?.score : row?.relevance_score;
|
|
1628
|
+
if (!Number.isInteger(index) || index < 0 || index >= documents.length || seen.has(index) || typeof score !== "number" || !Number.isFinite(score))
|
|
1629
|
+
throw new RerankFailure("invalid_reply");
|
|
1630
|
+
seen.add(index);
|
|
1631
|
+
scores[index] = score;
|
|
1632
|
+
}
|
|
1633
|
+
return scores;
|
|
1634
|
+
};
|
|
1635
|
+
return await Promise.race([cancelled, request()]);
|
|
1636
|
+
} finally {
|
|
1637
|
+
clearTimeout(timer);
|
|
1638
|
+
if (onAbort)
|
|
1639
|
+
signal?.removeEventListener("abort", onAbort);
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
function remoteRerankSkipped(reason, onSkipped) {
|
|
1643
|
+
const safe = /^(?:invalid_reply|invalid_endpoint|validation|timeout|aborted|candidate_validation|http_\d{3})$/.test(reason) ? reason : "remote_error";
|
|
1644
|
+
const line = `Reranking skipped: ${safe}`;
|
|
1645
|
+
logRerankFallback(safe);
|
|
1646
|
+
onSkipped?.(line);
|
|
1647
|
+
}
|
|
1648
|
+
async function prepareReranker(projectRoot, sessionId, connectionFile, injectedClient, config) {
|
|
1649
|
+
if (config?.provider === "off")
|
|
1650
|
+
return null;
|
|
1651
|
+
if (config?.provider === "remote")
|
|
1652
|
+
return { remote: config };
|
|
1578
1653
|
try {
|
|
1579
1654
|
if (injectedClient === null)
|
|
1580
1655
|
throw new RerankFailure("missing_synapse");
|
|
@@ -1591,36 +1666,43 @@ async function prepareReranker(projectRoot, sessionId, connectionFile, injectedC
|
|
|
1591
1666
|
return null;
|
|
1592
1667
|
}
|
|
1593
1668
|
}
|
|
1594
|
-
async function rerankSearchResults(session, query, baseline, pool, texts, limit) {
|
|
1669
|
+
async function rerankSearchResults(session, query, baseline, pool, texts, limit, signal, onSkipped) {
|
|
1595
1670
|
if (!pool.length)
|
|
1596
1671
|
return baseline;
|
|
1597
1672
|
try {
|
|
1598
|
-
if (pool.length > 20 || texts.length !== pool.length || texts.some((text) => Buffer.byteLength(text) >
|
|
1599
|
-
throw new RerankFailure("validation");
|
|
1600
|
-
const body = unwrap(await bounded(session.client.call("synapse", "rerank.score", {
|
|
1601
|
-
model: RERANK_MODEL,
|
|
1602
|
-
query,
|
|
1603
|
-
candidates: texts,
|
|
1604
|
-
required_fingerprint: session.lane.fingerprint,
|
|
1605
|
-
allow_equivalent: false,
|
|
1606
|
-
accept_declared: false,
|
|
1607
|
-
max_queue_ms: 100,
|
|
1608
|
-
deadline_ms: DEADLINE_MS
|
|
1609
|
-
}, {
|
|
1610
|
-
timeoutMs: DEADLINE_MS,
|
|
1611
|
-
targetKind: "management_surface",
|
|
1612
|
-
identity: session.identity
|
|
1613
|
-
})));
|
|
1614
|
-
if (body.fingerprint !== session.lane.fingerprint)
|
|
1615
|
-
throw new RerankFailure("fingerprint_mismatch");
|
|
1616
|
-
if (body.table_epoch !== session.lane.tableEpoch)
|
|
1617
|
-
throw new RerankFailure("epoch_mismatch");
|
|
1618
|
-
if (!Array.isArray(body.scores) || body.scores.length !== pool.length || body.scores.some((score) => typeof score !== "number" || !Number.isFinite(score)))
|
|
1673
|
+
if (pool.length > 20 || texts.length !== pool.length || texts.some((text) => Buffer.byteLength(text) > DOCUMENT_BYTES))
|
|
1619
1674
|
throw new RerankFailure("validation");
|
|
1620
|
-
|
|
1675
|
+
let scores;
|
|
1676
|
+
if ("remote" in session) {
|
|
1677
|
+
scores = await remoteScores(session.remote, query, texts, signal);
|
|
1678
|
+
} else {
|
|
1679
|
+
const body = unwrap(await bounded(session.client.call("synapse", "rerank.score", {
|
|
1680
|
+
model: RERANK_MODEL,
|
|
1681
|
+
query,
|
|
1682
|
+
candidates: texts,
|
|
1683
|
+
required_fingerprint: session.lane.fingerprint,
|
|
1684
|
+
allow_equivalent: false,
|
|
1685
|
+
max_queue_ms: 100,
|
|
1686
|
+
deadline_ms: DEADLINE_MS
|
|
1687
|
+
}, {
|
|
1688
|
+
timeoutMs: DEADLINE_MS,
|
|
1689
|
+
targetKind: "management_surface",
|
|
1690
|
+
identity: session.identity
|
|
1691
|
+
})));
|
|
1692
|
+
if (body.fingerprint !== session.lane.fingerprint)
|
|
1693
|
+
throw new RerankFailure("fingerprint_mismatch");
|
|
1694
|
+
if (body.table_epoch !== session.lane.tableEpoch)
|
|
1695
|
+
throw new RerankFailure("epoch_mismatch");
|
|
1696
|
+
if (!Array.isArray(body.scores) || body.scores.length !== pool.length || body.scores.some((score) => typeof score !== "number" || !Number.isFinite(score)))
|
|
1697
|
+
throw new RerankFailure("validation");
|
|
1698
|
+
scores = body.scores;
|
|
1699
|
+
}
|
|
1621
1700
|
return pool.map((hit, index) => ({ hit, index, score: scores[index] })).sort((a, b) => b.score - a.score || a.index - b.index).slice(0, limit).map((row) => row.hit);
|
|
1622
1701
|
} catch (error) {
|
|
1623
|
-
|
|
1702
|
+
if ("remote" in session)
|
|
1703
|
+
remoteRerankSkipped(error instanceof RerankFailure ? error.reason : "remote_error", onSkipped);
|
|
1704
|
+
else
|
|
1705
|
+
logRerankFallback(reasonOf(error));
|
|
1624
1706
|
return baseline;
|
|
1625
1707
|
}
|
|
1626
1708
|
}
|
|
@@ -1675,7 +1757,7 @@ Reason: ${row.reason}` : ""}`;
|
|
|
1675
1757
|
case "compartment": {
|
|
1676
1758
|
title = hit.title;
|
|
1677
1759
|
location = `compartment ${hit.compartmentId} ${hit.sessionId} @${hit.startOrdinal}-${hit.endOrdinal}`;
|
|
1678
|
-
body =
|
|
1760
|
+
body = buildCanonicalChunkTextFromFts2(db, hit.sessionId, hit.startOrdinal, hit.endOrdinal) ?? "";
|
|
1679
1761
|
break;
|
|
1680
1762
|
}
|
|
1681
1763
|
}
|
|
@@ -2614,10 +2696,42 @@ function searchNotes(args) {
|
|
|
2614
2696
|
}));
|
|
2615
2697
|
}
|
|
2616
2698
|
async function searchCompartmentChunks(args) {
|
|
2617
|
-
if (
|
|
2699
|
+
if (args.limit <= 0 || !args.modelId || args.modelId === "off") {
|
|
2700
|
+
if (args.timings)
|
|
2701
|
+
args.timings.chunkPool = "off";
|
|
2702
|
+
return [];
|
|
2703
|
+
}
|
|
2704
|
+
if (!args.queryEmbedding) {
|
|
2705
|
+
if (args.timings)
|
|
2706
|
+
args.timings.chunkPool = "no-vector";
|
|
2707
|
+
if (args.warmOnly)
|
|
2708
|
+
warmCompartmentChunkSearchPool2(args.db, args.sessionId, args.projectPath, args.modelId);
|
|
2618
2709
|
return [];
|
|
2710
|
+
}
|
|
2619
2711
|
const cutoff = args.maxOrdinal != null && args.maxOrdinal >= 0 ? args.maxOrdinal : null;
|
|
2620
|
-
|
|
2712
|
+
let rows;
|
|
2713
|
+
if (args.warmOnly) {
|
|
2714
|
+
const warm = peekCompartmentChunkSearchPool2(args.db, args.sessionId, args.projectPath, args.modelId, args.dateRange);
|
|
2715
|
+
if (warm === null) {
|
|
2716
|
+
if (args.timings)
|
|
2717
|
+
args.timings.chunkPool = "cold";
|
|
2718
|
+
warmCompartmentChunkSearchPool2(args.db, args.sessionId, args.projectPath, args.modelId);
|
|
2719
|
+
return [];
|
|
2720
|
+
}
|
|
2721
|
+
if (args.timings)
|
|
2722
|
+
args.timings.chunkPool = "warm";
|
|
2723
|
+
rows = warm;
|
|
2724
|
+
} else {
|
|
2725
|
+
try {
|
|
2726
|
+
rows = await loadCompartmentChunkEmbeddingsForSearch2(args.db, args.sessionId, args.projectPath, args.modelId, args.dateRange, args.signal);
|
|
2727
|
+
} catch (error) {
|
|
2728
|
+
if (args.signal?.aborted)
|
|
2729
|
+
return [];
|
|
2730
|
+
throw error;
|
|
2731
|
+
}
|
|
2732
|
+
if (args.timings)
|
|
2733
|
+
args.timings.chunkPool = "loaded";
|
|
2734
|
+
}
|
|
2621
2735
|
if (rows.length === 0)
|
|
2622
2736
|
return [];
|
|
2623
2737
|
const byCompartment = new Map;
|
|
@@ -2909,7 +3023,7 @@ async function unifiedSearch2(db, sessionId, projectPath, query, options = {}) {
|
|
|
2909
3023
|
return [];
|
|
2910
3024
|
}
|
|
2911
3025
|
const limit = normalizeLimit(options.limit);
|
|
2912
|
-
const reranker = options.explicitSearch && options.rerank !== false && isProseQuery(trimmedQuery) ? await prepareReranker(projectPath, sessionId, options.rerankConnectionFile, options.rerankClient) : null;
|
|
3026
|
+
const reranker = options.explicitSearch && options.rerank !== false && isProseQuery(trimmedQuery) ? await prepareReranker(projectPath, sessionId, options.rerankConnectionFile, options.rerankClient, options.rerankConfig) : null;
|
|
2913
3027
|
const lanes = reranker || options.captureRerankLanes ? emptySearchLanes() : undefined;
|
|
2914
3028
|
const dateRange = normalizeDateRange(options.from, options.to);
|
|
2915
3029
|
const tierLimit = Math.max(limit * 3, DEFAULT_UNIFIED_SEARCH_LIMIT);
|
|
@@ -2942,6 +3056,8 @@ async function unifiedSearch2(db, sessionId, projectPath, query, options = {}) {
|
|
|
2942
3056
|
if (options.signal?.aborted)
|
|
2943
3057
|
return [];
|
|
2944
3058
|
const messageProbes = options.explicitSearch ? extractLiteralProbes(trimmedQuery) : [];
|
|
3059
|
+
const timings = options.stepTimings;
|
|
3060
|
+
let stepStartedAt = performance.now();
|
|
2945
3061
|
let messageResults = [];
|
|
2946
3062
|
if (runMessages) {
|
|
2947
3063
|
const messageRequest = {
|
|
@@ -2968,8 +3084,13 @@ async function unifiedSearch2(db, sessionId, projectPath, query, options = {}) {
|
|
|
2968
3084
|
messageResults = outcome.results.filter((result) => result.messageId !== options.excludeMessageId);
|
|
2969
3085
|
if (lanes)
|
|
2970
3086
|
lanes.message_fts = (outcome.laneResults ?? outcome.results).slice(0, 25);
|
|
3087
|
+
if (timings)
|
|
3088
|
+
timings.messageMs = performance.now() - stepStartedAt;
|
|
2971
3089
|
}
|
|
3090
|
+
stepStartedAt = performance.now();
|
|
2972
3091
|
const capturedQuery = await queryEmbeddingPromise;
|
|
3092
|
+
if (timings && needsEmbedding)
|
|
3093
|
+
timings.vectorWaitMs = performance.now() - stepStartedAt;
|
|
2973
3094
|
if (options.signal?.aborted)
|
|
2974
3095
|
return [];
|
|
2975
3096
|
const embeddingSnapshot = getProjectEmbeddingSnapshot2(projectPath);
|
|
@@ -2979,6 +3100,9 @@ async function unifiedSearch2(db, sessionId, projectPath, query, options = {}) {
|
|
|
2979
3100
|
const workspace = resolveSearchWorkspaceContext(db, projectPath);
|
|
2980
3101
|
const embeddingModelId = queryContract?.modelId ?? options.embeddingModelIdOverride ?? embeddingSnapshot?.modelId;
|
|
2981
3102
|
const chunkModelId = queryContract?.chunkModelId ?? options.chunkModelIdOverride ?? embeddingSnapshot?.chunkModelId;
|
|
3103
|
+
stepStartedAt = performance.now();
|
|
3104
|
+
if (timings)
|
|
3105
|
+
timings.chunkPool = "off";
|
|
2982
3106
|
const compartmentResults = runCompartmentChunks ? await searchCompartmentChunks({
|
|
2983
3107
|
db,
|
|
2984
3108
|
sessionId,
|
|
@@ -2987,8 +3111,14 @@ async function unifiedSearch2(db, sessionId, projectPath, query, options = {}) {
|
|
|
2987
3111
|
limit: lanes ? Math.max(tierLimit, 25) : tierLimit,
|
|
2988
3112
|
maxOrdinal: options.maxMessageOrdinal,
|
|
2989
3113
|
modelId: chunkModelId && chunkModelId !== "off" ? chunkModelId : null,
|
|
2990
|
-
dateRange
|
|
3114
|
+
dateRange,
|
|
3115
|
+
warmOnly: options.chunkPoolWarmOnly,
|
|
3116
|
+
signal: options.signal,
|
|
3117
|
+
timings
|
|
2991
3118
|
}) : [];
|
|
3119
|
+
if (timings && runCompartmentChunks)
|
|
3120
|
+
timings.chunkMs = performance.now() - stepStartedAt;
|
|
3121
|
+
stepStartedAt = performance.now();
|
|
2992
3122
|
if (lanes)
|
|
2993
3123
|
lanes.chunk_vector = compartmentResults.slice(0, 25);
|
|
2994
3124
|
const messageLikeResults = mergeMessageAndCompartmentResults({
|
|
@@ -3044,6 +3174,8 @@ async function unifiedSearch2(db, sessionId, projectPath, query, options = {}) {
|
|
|
3044
3174
|
dateRange
|
|
3045
3175
|
})) : Promise.resolve([])
|
|
3046
3176
|
]);
|
|
3177
|
+
if (timings)
|
|
3178
|
+
timings.otherLanesMs = performance.now() - stepStartedAt;
|
|
3047
3179
|
if (options.diagnostics) {
|
|
3048
3180
|
options.diagnostics.suppressedVisibleMemoryIds = memoryOutcome.suppressedVisibleIds;
|
|
3049
3181
|
}
|
|
@@ -3061,11 +3193,14 @@ async function unifiedSearch2(db, sessionId, projectPath, query, options = {}) {
|
|
|
3061
3193
|
options.captureRerankLanes?.(lanes);
|
|
3062
3194
|
}
|
|
3063
3195
|
if (reranker && lanes) {
|
|
3064
|
-
const pool = fuseSearchLanes(lanes);
|
|
3196
|
+
const pool = fuseSearchLanes(lanes).slice(0, "remote" in reranker ? reranker.remote.top_n : 20);
|
|
3065
3197
|
try {
|
|
3066
|
-
results = await rerankSearchResults(reranker, trimmedQuery, results, pool, candidateTexts(db, sessionId, projectPath, pool), limit);
|
|
3198
|
+
results = await rerankSearchResults(reranker, trimmedQuery, results, pool, candidateTexts(db, sessionId, projectPath, pool), limit, options.signal, options.onRerankSkipped);
|
|
3067
3199
|
} catch {
|
|
3068
|
-
|
|
3200
|
+
if ("remote" in reranker)
|
|
3201
|
+
remoteRerankSkipped("candidate_validation", options.onRerankSkipped);
|
|
3202
|
+
else
|
|
3203
|
+
logRerankFallback("candidate_validation");
|
|
3069
3204
|
}
|
|
3070
3205
|
}
|
|
3071
3206
|
if (!options.measurementDisabled) {
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./server-pavzsdc6.js";
|
|
5
5
|
import {
|
|
6
6
|
log2
|
|
7
|
-
} from "./server-
|
|
7
|
+
} from "./server-6495nmn9.js";
|
|
8
8
|
import {
|
|
9
9
|
resolveOpenCodeDbPath,
|
|
10
10
|
assertOpenCodeStoreGeneration,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./server-2ra6pwf3.js";
|
|
16
16
|
import {
|
|
17
17
|
Database2
|
|
18
|
-
} from "./server-
|
|
18
|
+
} from "./server-gzy5w8ya.js";
|
|
19
19
|
import {
|
|
20
20
|
closeQuietly
|
|
21
21
|
} from "./server-8ajstryz.js";
|
|
@@ -3,12 +3,15 @@ import {
|
|
|
3
3
|
} from "./server-51779zs2.js";
|
|
4
4
|
import {
|
|
5
5
|
log2
|
|
6
|
-
} from "./server-
|
|
6
|
+
} from "./server-6495nmn9.js";
|
|
7
7
|
import {
|
|
8
8
|
inRootAsyncContext2,
|
|
9
9
|
getSqliteDatabasePath2,
|
|
10
10
|
releaseIndexOwner2
|
|
11
|
-
} from "./server-
|
|
11
|
+
} from "./server-gzy5w8ya.js";
|
|
12
|
+
import {
|
|
13
|
+
createWorkerShutdown
|
|
14
|
+
} from "./server-cpjk5jd2.js";
|
|
12
15
|
|
|
13
16
|
// src/hooks/magic-context/raw-ordinal-warmup.ts
|
|
14
17
|
import { Worker } from "node:worker_threads";
|
|
@@ -1127,6 +1130,7 @@ function readRawSessionBoundaryEndpointsFromDb2(db, sessionId, ids, blockIds = [
|
|
|
1127
1130
|
// src/hooks/magic-context/raw-ordinal-warmup.ts
|
|
1128
1131
|
var ACCEPT_TIMEOUT_MS = 2000;
|
|
1129
1132
|
var RESULT_TIMEOUT_MS = 10 * 60000;
|
|
1133
|
+
var WARMUP_CLOSE_DEADLINE_MS = 2000;
|
|
1130
1134
|
var FAILURE_BACKOFF_MS = 5 * 60000;
|
|
1131
1135
|
var inFlight = new Map;
|
|
1132
1136
|
var connectionIds = new WeakMap;
|
|
@@ -1155,6 +1159,7 @@ function runSessionWarmupWorker(input, options) {
|
|
|
1155
1159
|
return new Promise((resolve) => {
|
|
1156
1160
|
const openCancellation = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
|
|
1157
1161
|
let worker;
|
|
1162
|
+
let shutdown;
|
|
1158
1163
|
let deadline;
|
|
1159
1164
|
let settled = false;
|
|
1160
1165
|
const finish = (result) => {
|
|
@@ -1166,7 +1171,7 @@ function runSessionWarmupWorker(input, options) {
|
|
|
1166
1171
|
options.signal?.removeEventListener("abort", abort);
|
|
1167
1172
|
if (worker) {
|
|
1168
1173
|
activeWorkers.delete(worker);
|
|
1169
|
-
const stopped = worker.terminate();
|
|
1174
|
+
const stopped = shutdown?.close() ?? worker.terminate();
|
|
1170
1175
|
worker.unref();
|
|
1171
1176
|
stopped.finally(() => {
|
|
1172
1177
|
releaseIndexOwner2(input);
|
|
@@ -1192,6 +1197,7 @@ function runSessionWarmupWorker(input, options) {
|
|
|
1192
1197
|
worker = inRootAsyncContext2(() => new Worker(options.entry ?? defaultEntry(), {
|
|
1193
1198
|
workerData: { ...input, openCancellation: openCancellation.buffer }
|
|
1194
1199
|
}));
|
|
1200
|
+
shutdown = createWorkerShutdown(worker, "raw-ordinal-warmup", WARMUP_CLOSE_DEADLINE_MS);
|
|
1195
1201
|
} catch (error) {
|
|
1196
1202
|
finish({ failure: "start-failed", detail: String(error) });
|
|
1197
1203
|
return;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log2
|
|
3
|
-
} from "./server-
|
|
3
|
+
} from "./server-6495nmn9.js";
|
|
4
4
|
import {
|
|
5
5
|
getSdkWindowGeometry,
|
|
6
6
|
getSdkContextLimit,
|
|
7
7
|
getSdkInputLimit
|
|
8
|
-
} from "./server-
|
|
8
|
+
} from "./server-29qp8nz4.js";
|
|
9
9
|
import {
|
|
10
10
|
localBudget,
|
|
11
11
|
calibrationForModelKey
|
|
@@ -15,6 +15,9 @@ function resolveHarnessBlock(container, harness) {
|
|
|
15
15
|
const selected = harness === "omp" ? container?.omp ?? container?.pi : container?.[harness];
|
|
16
16
|
return asRecord(selected);
|
|
17
17
|
}
|
|
18
|
+
function sourceHarness(container, harness) {
|
|
19
|
+
return harness === "omp" && container?.omp == null ? "pi" : harness;
|
|
20
|
+
}
|
|
18
21
|
function normalizeModelEntry2(entry, harness) {
|
|
19
22
|
if (typeof entry === "string") {
|
|
20
23
|
const model = readString(entry);
|
|
@@ -61,13 +64,19 @@ function resolveHistorianModel2(config, harness) {
|
|
|
61
64
|
const block = resolveHarnessBlock(historian, harness);
|
|
62
65
|
if (!block)
|
|
63
66
|
return { fallbacks: [] };
|
|
67
|
+
const source = `historian.${sourceHarness(historian, harness)}`;
|
|
68
|
+
const primary = resolvePrimaryEntry({
|
|
69
|
+
entry: block.model,
|
|
70
|
+
defaultQualifier: block[harness === "opencode" ? "variant" : "thinking_level"],
|
|
71
|
+
harness
|
|
72
|
+
});
|
|
73
|
+
const fallbacks = resolveFallbackEntries2(block.fallback_models, harness);
|
|
64
74
|
return {
|
|
65
|
-
primary:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
})
|
|
70
|
-
fallbacks: resolveFallbackEntries2(block.fallback_models, harness)
|
|
75
|
+
primary: primary ? { ...primary, sourceConfigKey: `${source}.model` } : undefined,
|
|
76
|
+
fallbacks: fallbacks.map((entry) => ({
|
|
77
|
+
...entry,
|
|
78
|
+
sourceConfigKey: `${source}.fallback_models`
|
|
79
|
+
}))
|
|
71
80
|
};
|
|
72
81
|
}
|
|
73
82
|
function resolveDreamerTaskModel2(args) {
|
|
@@ -86,15 +95,25 @@ function resolveDreamerTaskModel2(args) {
|
|
|
86
95
|
const taskQualifier = taskBlock?.[args.harness === "opencode" ? "variant" : "thinking_level"];
|
|
87
96
|
const harnessQualifier = harnessBlock[args.harness === "opencode" ? "variant" : "thinking_level"] ?? normalizeModelEntry2(harnessBlock.model, args.harness)?.qualifier;
|
|
88
97
|
const taskHasModel = taskBlock !== undefined && hasOwn(taskBlock, "model");
|
|
98
|
+
const taskHasFallbacks = taskBlock !== undefined && hasOwn(taskBlock, "fallback_models");
|
|
89
99
|
const primarySource = taskHasModel ? taskBlock?.model : harnessBlock.model;
|
|
90
|
-
const fallbackSource =
|
|
100
|
+
const fallbackSource = taskHasFallbacks ? taskBlock?.fallback_models : harnessBlock.fallback_models;
|
|
101
|
+
const source = `dreamer.${sourceHarness(dreamer, args.harness)}`;
|
|
102
|
+
const primary = resolvePrimaryEntry({
|
|
103
|
+
entry: primarySource,
|
|
104
|
+
defaultQualifier: taskQualifier ?? harnessQualifier,
|
|
105
|
+
harness: args.harness
|
|
106
|
+
});
|
|
107
|
+
const fallbacks = resolveFallbackEntries2(fallbackSource, args.harness);
|
|
91
108
|
return {
|
|
92
|
-
primary:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
109
|
+
primary: primary ? {
|
|
110
|
+
...primary,
|
|
111
|
+
sourceConfigKey: taskHasModel ? `${source}.tasks.${args.task}.model` : `${source}.model`
|
|
112
|
+
} : undefined,
|
|
113
|
+
fallbacks: fallbacks.map((entry) => ({
|
|
114
|
+
...entry,
|
|
115
|
+
sourceConfigKey: taskHasFallbacks ? `${source}.tasks.${args.task}.fallback_models` : `${source}.fallback_models`
|
|
116
|
+
})),
|
|
98
117
|
schedule: readString(schedulingTask?.schedule),
|
|
99
118
|
timeoutMinutes: typeof taskBlock?.timeout_minutes === "number" ? taskBlock.timeout_minutes : undefined,
|
|
100
119
|
promotionThreshold: typeof schedulingTask?.promotion_threshold === "number" ? schedulingTask.promotion_threshold : undefined
|