@cortexkit/opencode-magic-context 0.46.1 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/magic-context-prompt.d.ts +1 -1
- package/dist/agents/magic-context-prompt.d.ts.map +1 -1
- package/dist/{announcement-y35wzg2r.js → announcement-fp14dw0n.js} +3 -2
- package/dist/auto-search-worker.js +112 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/live-run-config.d.ts.map +1 -1
- package/dist/config/migrate-config-location.d.ts.map +1 -1
- package/dist/config/mural-model-deprecation.d.ts +15 -0
- package/dist/config/mural-model-deprecation.d.ts.map +1 -0
- package/dist/config/project-security.d.ts +0 -3
- package/dist/config/project-security.d.ts.map +1 -1
- package/dist/config/schema/magic-context.d.ts +21 -9
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/{conflict-warning-hook-7fj2b9jw.js → conflict-warning-hook-w8cykrnf.js} +12 -9
- package/dist/{context-sh2m2vde.js → context-m0cy262m.js} +1785 -913
- package/dist/{derive-budgets-7nj7r1rv.js → derive-budgets-sg0xsq7s.js} +4 -3
- package/dist/embedding-activity-g1dhes6g.js +10 -0
- package/dist/embedding-backfill-9rcm1mfy.js +21 -0
- package/dist/embedding-cache-mgyr73ef.js +16 -0
- package/dist/embedding-worker.js +11 -9
- package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts +1 -0
- package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-config.d.ts +3 -3
- package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-registry.d.ts +1 -0
- package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
- package/dist/features/magic-context/message-index-async.d.ts +16 -3
- package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
- package/dist/features/magic-context/message-index-bounded.d.ts +17 -0
- package/dist/features/magic-context/message-index-bounded.d.ts.map +1 -0
- package/dist/features/magic-context/message-index.d.ts +7 -1
- package/dist/features/magic-context/message-index.d.ts.map +1 -1
- package/dist/features/magic-context/mural/render-trigger.d.ts +7 -4
- package/dist/features/magic-context/mural/render-trigger.d.ts.map +1 -1
- package/dist/features/magic-context/overflow-detection.d.ts +2 -0
- package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
- package/dist/features/magic-context/pi-content-decisions.d.ts +7 -1
- package/dist/features/magic-context/pi-content-decisions.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts +7 -0
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/search.d.ts +31 -0
- package/dist/features/magic-context/search.d.ts.map +1 -1
- package/dist/features/magic-context/session-activity.d.ts.map +1 -1
- package/dist/features/magic-context/session-project-storage.d.ts +8 -2
- package/dist/features/magic-context/session-project-storage.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/runner.d.ts +1 -0
- package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
- package/dist/features/magic-context/storage-db.d.ts.map +1 -1
- package/dist/features/magic-context/storage-historian-runs.d.ts +2 -5
- package/dist/features/magic-context/storage-historian-runs.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-persisted.d.ts +12 -0
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-session.d.ts +6 -0
- package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
- package/dist/features/magic-context/storage-tag-identity-revision.d.ts +30 -0
- package/dist/features/magic-context/storage-tag-identity-revision.d.ts.map +1 -0
- package/dist/features/magic-context/storage-tags.d.ts +148 -3
- package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
- package/dist/features/magic-context/storage.d.ts +1 -0
- package/dist/features/magic-context/storage.d.ts.map +1 -1
- package/dist/features/magic-context/subagent-token-capture.d.ts.map +1 -1
- package/dist/features/magic-context/transform-decision-log.d.ts +4 -2
- package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
- package/dist/harness-e4avh192.js +10 -0
- package/dist/hooks/magic-context/active-anthropic-turn.d.ts +10 -0
- package/dist/hooks/magic-context/active-anthropic-turn.d.ts.map +1 -0
- package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-blocking.fixture.d.ts +2 -0
- package/dist/hooks/magic-context/auto-search-blocking.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-deadline.d.ts +7 -0
- package/dist/hooks/magic-context/auto-search-deadline.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-host-review.fixture.d.ts +3 -0
- package/dist/hooks/magic-context/auto-search-host-review.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-lock-review.fixture.d.ts +2 -0
- package/dist/hooks/magic-context/auto-search-lock-review.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-long-lock-review.fixture.d.ts +2 -0
- package/dist/hooks/magic-context/auto-search-long-lock-review.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-omp-host-review.fixture.d.ts +4 -0
- package/dist/hooks/magic-context/auto-search-omp-host-review.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-omp-loader.fixture.d.ts +3 -0
- package/dist/hooks/magic-context/auto-search-omp-loader.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-runner.d.ts +1 -1
- package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-snapshot.fixture.d.ts +4 -0
- package/dist/hooks/magic-context/auto-search-snapshot.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-worker-client.d.ts +98 -0
- package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-worker.d.ts +2 -0
- package/dist/hooks/magic-context/auto-search-worker.d.ts.map +1 -0
- package/dist/hooks/magic-context/caveman-cleanup.d.ts.map +1 -1
- package/dist/hooks/magic-context/command-handler.d.ts +1 -0
- package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.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-types.d.ts +3 -5
- package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner.d.ts +2 -1
- package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts +3 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-handler.d.ts +1 -1
- package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
- package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
- package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +2 -0
- package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
- package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
- package/dist/hooks/magic-context/historian-drain-gate.d.ts +11 -0
- package/dist/hooks/magic-context/historian-drain-gate.d.ts.map +1 -0
- package/dist/hooks/magic-context/hook.d.ts +3 -2
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
- package/dist/hooks/magic-context/latest-assistant-turn.d.ts +25 -0
- package/dist/hooks/magic-context/latest-assistant-turn.d.ts.map +1 -0
- package/dist/hooks/magic-context/latest-thinking-recovery.d.ts +61 -0
- package/dist/hooks/magic-context/latest-thinking-recovery.d.ts.map +1 -0
- package/dist/hooks/magic-context/lkg-persist.d.ts +4 -3
- package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-replay.d.ts +13 -8
- package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-slot.d.ts +139 -2
- package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
- package/dist/hooks/magic-context/message-search-accepting-silent-worker.fixture.d.ts +2 -0
- package/dist/hooks/magic-context/message-search-accepting-silent-worker.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
- package/dist/hooks/magic-context/oc-stall-r2-warmup-worker.fixture.d.ts +2 -0
- package/dist/hooks/magic-context/oc-stall-r2-warmup-worker.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/oc-stall-search-review.fixture.d.ts +2 -0
- package/dist/hooks/magic-context/oc-stall-search-review.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/opencode-proven-floor.d.ts +6 -0
- package/dist/hooks/magic-context/opencode-proven-floor.d.ts.map +1 -0
- package/dist/hooks/magic-context/opencode1-to-model-messages.fixture.d.ts +63 -0
- package/dist/hooks/magic-context/opencode1-to-model-messages.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -1
- package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
- package/dist/hooks/magic-context/provider-visible-parts.d.ts +45 -0
- package/dist/hooks/magic-context/provider-visible-parts.d.ts.map +1 -0
- package/dist/hooks/magic-context/raw-ordinal-warmup-silent-worker.fixture.d.ts +2 -0
- package/dist/hooks/magic-context/raw-ordinal-warmup-silent-worker.fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/raw-ordinal-warmup-worker.d.ts +2 -0
- package/dist/hooks/magic-context/raw-ordinal-warmup-worker.d.ts.map +1 -0
- package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +87 -0
- package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -0
- package/dist/hooks/magic-context/read-session-chunk.d.ts +12 -0
- package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-formatting.d.ts +5 -0
- package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-raw.d.ts +83 -1
- package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
- package/dist/hooks/magic-context/reasoning-budget-status.d.ts +15 -0
- package/dist/hooks/magic-context/reasoning-budget-status.d.ts.map +1 -0
- package/dist/hooks/magic-context/reasoning-budget.d.ts +40 -0
- package/dist/hooks/magic-context/reasoning-budget.d.ts.map +1 -0
- package/dist/hooks/magic-context/reasoning-removal.d.ts +6 -6
- package/dist/hooks/magic-context/reasoning-removal.d.ts.map +1 -1
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/sentinel.d.ts +45 -1
- package/dist/hooks/magic-context/sentinel.d.ts.map +1 -1
- package/dist/hooks/magic-context/strip-content.d.ts +21 -5
- package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
- package/dist/hooks/magic-context/system-prompt-hash.d.ts +1 -0
- package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
- package/dist/hooks/magic-context/tag-messages.d.ts +21 -0
- package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
- package/dist/hooks/magic-context/tag-owner-warmup.d.ts +6 -0
- package/dist/hooks/magic-context/tag-owner-warmup.d.ts.map +1 -0
- package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
- package/dist/hooks/magic-context/token-count-exact.d.ts +35 -0
- package/dist/hooks/magic-context/token-count-exact.d.ts.map +1 -0
- package/dist/hooks/magic-context/tool-drop-target.d.ts +5 -0
- package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts +3 -28
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +28 -6
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts +11 -3
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
- package/dist/{index-hpecdzec.js → index-0an7742d.js} +6820 -6587
- package/dist/index-0qhce371.js +120 -0
- package/dist/{index-q6hef7fh.js → index-0sahzkwr.js} +6 -19
- package/dist/{index-k5bdx1bx.js → index-0w56v4fm.js} +3 -5
- package/dist/index-14cjxt20.js +819 -0
- package/dist/{v2/server-51dv1pr5.js → index-1qb0z7wa.js} +301 -27
- package/dist/index-2bvekkfy.js +11 -0
- package/dist/{index-sj29b3z2.js → index-2y0s2hep.js} +3 -3
- package/dist/index-4dhv7mqz.js +131 -0
- package/dist/{index-b35pxds2.js → index-58e3y90n.js} +1 -18
- package/dist/index-5zygecde.js +152 -0
- package/dist/{index-sjthx78w.js → index-692jzy0p.js} +16879 -22907
- package/dist/index-72nhv486.js +2307 -0
- package/dist/index-7jzrrxap.js +931 -0
- package/dist/index-7mx8v0pw.js +3591 -0
- package/dist/index-8ajstryz.js +18 -0
- package/dist/{index-sfpzqvdz.js → index-8cd2j99z.js} +2 -3
- package/dist/{index-hybnrwq0.js → index-8j7gqj40.js} +131 -128
- package/dist/index-bdckkfw6.js +3261 -0
- package/dist/{index-8x2v7gg9.js → index-bhvjj0ys.js} +158 -2455
- package/dist/index-c43kr12f.js +3030 -0
- package/dist/index-cb7emxgj.js +984 -0
- package/dist/index-d9vfe7xq.js +16 -0
- package/dist/{index-5gq3b2ya.js → index-db7zwa3v.js} +147 -209
- package/dist/index-dhwzyd54.js +1142 -0
- package/dist/{index-8da2zjhz.js → index-eeezr5zz.js} +9 -7
- package/dist/{index-pkbcrdqs.js → index-f0h6xwqm.js} +3412 -4552
- package/dist/index-fb3zxn06.js +13 -0
- package/dist/index-fbv1dn35.js +171 -0
- package/dist/index-fr0wbhdn.js +43 -0
- package/dist/{index-mc22ayvf.js → index-ghc9f0n7.js} +11 -9
- package/dist/{index-fzbvakh0.js → index-jcbd3znx.js} +3 -3
- package/dist/{index-5p8jdswx.js → index-k1xb52kd.js} +20 -13
- package/dist/index-k9nnwad5.js +3532 -0
- package/dist/{v2/server-fg34g6a5.js → index-kb9nn0a0.js} +309 -52
- package/dist/index-knh4y330.js +566 -0
- package/dist/{index-q4yp4b52.js → index-mfkzp7qj.js} +28 -28
- package/dist/{index-sgthv3f7.js → index-mmyh6d8f.js} +4 -4
- package/dist/index-pavzsdc6.js +17 -0
- package/dist/{index-0d3g3461.js → index-pdecwzrd.js} +19 -16
- package/dist/index-pg50n748.js +1060 -0
- package/dist/index-q2tqeqde.js +2106 -0
- package/dist/index-q7h7csab.js +3469 -0
- package/dist/index-qt1qqasc.js +22 -0
- package/dist/{index-majxda46.js → index-ty64eqcn.js} +28 -18
- package/dist/{index-7qw742ev.js → index-yq8n9qcb.js} +25 -44
- package/dist/{index-sfnj6h8h.js → index-z8e0psj8.js} +20 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1061 -260
- package/dist/logger-d3wex3dz.js +20 -0
- package/dist/message-index-bounded-7ezbgddp.js +124 -0
- package/dist/{v2/message-time-backfill-r6qkem1x.js → message-time-backfill-brbd63hv.js} +8 -6
- package/dist/migration-worker.js +25 -16
- package/dist/{model-resolution-xhfmyyvy.js → model-resolution-nx97z3x7.js} +1 -1
- package/dist/plugin/dream-timer.d.ts +1 -1
- package/dist/plugin/dream-timer.d.ts.map +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +3 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/host-stall-profiler-report.d.ts +2 -0
- package/dist/plugin/host-stall-profiler-report.d.ts.map +1 -0
- package/dist/plugin/host-stall-profiler.d.ts +3 -0
- package/dist/plugin/host-stall-profiler.d.ts.map +1 -0
- package/dist/plugin/messages-transform.d.ts +21 -19
- package/dist/plugin/messages-transform.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/plugin/tool-registry.d.ts.map +1 -1
- package/dist/project-embedding-registry-7qzptcw7.js +88 -0
- package/dist/raw-ordinal-warmup-worker.js +60 -0
- package/dist/{read-session-chunk-egz7r68d.js → read-session-chunk-6k83m4fj.js} +15 -9
- package/dist/read-session-raw-3g9qy1xa.js +58 -0
- package/dist/recomp-orchestrator-d3fp1cy0.js +57 -0
- package/dist/{v2/safe-notification-target-eb1n1vfb.js → safe-notification-target-5ffqq32m.js} +4 -2
- package/dist/search-epax1ecv.js +45 -0
- package/dist/{v2/send-session-notification-qs0j78v6.js → send-session-notification-erecz4y4.js} +10 -6
- package/dist/shared/auto-search-lifecycle.d.ts +7 -0
- package/dist/shared/auto-search-lifecycle.d.ts.map +1 -0
- package/dist/shared/conflict-detector.d.ts.map +1 -1
- package/dist/shared/historian-tool-expansions.d.ts +1 -1
- package/dist/shared/historian-tool-expansions.d.ts.map +1 -1
- package/dist/shared/historian-tool-template.d.ts +2 -2
- package/dist/shared/historian-tool-template.d.ts.map +1 -1
- package/dist/shared/host-stall-profiler-bun.d.ts +46 -0
- package/dist/shared/host-stall-profiler-bun.d.ts.map +1 -0
- package/dist/shared/host-stall-profiler-common.d.ts +58 -0
- package/dist/shared/host-stall-profiler-common.d.ts.map +1 -0
- package/dist/shared/host-stall-profiler-node.d.ts +36 -0
- package/dist/shared/host-stall-profiler-node.d.ts.map +1 -0
- package/dist/shared/host-stall-profiler-report.d.ts +68 -0
- package/dist/shared/host-stall-profiler-report.d.ts.map +1 -0
- package/dist/shared/host-stall-profiler.d.ts +5 -0
- package/dist/shared/host-stall-profiler.d.ts.map +1 -0
- package/dist/shared/model-resolution.d.ts +2 -3
- package/dist/shared/model-resolution.d.ts.map +1 -1
- package/dist/shared/sqlite.d.ts +46 -1
- package/dist/shared/sqlite.d.ts.map +1 -1
- package/dist/shared/stable-json.d.ts.map +1 -1
- package/dist/shared/status-view.d.ts.map +1 -1
- package/dist/shared/user-facing-codes.d.ts +0 -5
- package/dist/shared/user-facing-codes.d.ts.map +1 -1
- package/dist/shared/window-geometry.d.ts +4 -0
- package/dist/shared/window-geometry.d.ts.map +1 -1
- package/dist/sqlite-context-pragmas-mv9jqwjh.js +6 -0
- package/dist/sqlite-mhjkerzq.js +46 -0
- package/dist/storage-memory-07fx57k6.js +71 -0
- package/dist/storage-tags-d3b0v2ss.js +131 -0
- package/dist/{task-config-v81k8jvk.js → task-config-cgpg0nvh.js} +2 -2
- package/dist/tools/ctx-expand/render.d.ts.map +1 -1
- package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
- package/dist/tools/ctx-note/constants.d.ts +4 -0
- package/dist/tools/ctx-note/constants.d.ts.map +1 -1
- package/dist/tools/ctx-note/tools.d.ts +1 -0
- package/dist/tools/ctx-note/tools.d.ts.map +1 -1
- package/dist/tools/ctx-search/tools.d.ts.map +1 -1
- package/dist/tools/parameter-descriptions.d.ts +2 -2
- package/dist/tools/parameter-descriptions.d.ts.map +1 -1
- package/dist/{transform-postprocess-phase-bqhz6vdr.js → transform-postprocess-phase-spcy2qre.js} +35 -17
- package/dist/transformers-node-wasm.js +18415 -18415
- package/dist/v2/auto-search-worker.js +112 -0
- package/dist/v2/{context-zecmzk5s.js → context-sf98kstd.js} +8378 -8530
- package/dist/v2/{derive-budgets-kdgp4s3r.js → derive-budgets-3vc0y84t.js} +4 -3
- package/dist/v2/embedding-activity-g1dhes6g.js +10 -0
- package/dist/v2/embedding-backfill-vn8g1nh1.js +21 -0
- package/dist/v2/embedding-cache-mgyr73ef.js +16 -0
- package/dist/v2/embedding-worker.js +12 -9
- package/dist/v2/fold/host-media.d.ts +4 -0
- package/dist/v2/fold/host-media.d.ts.map +1 -1
- package/dist/v2/fold/memory-cache.d.ts +70 -0
- package/dist/v2/fold/memory-cache.d.ts.map +1 -0
- package/dist/v2/fold/native-codec.d.ts +10 -0
- package/dist/v2/fold/native-codec.d.ts.map +1 -0
- package/dist/v2/fold/native-replay.d.ts +58 -0
- package/dist/v2/fold/native-replay.d.ts.map +1 -0
- package/dist/v2/fold/policy.d.ts +24 -0
- package/dist/v2/fold/policy.d.ts.map +1 -0
- package/dist/v2/harness-e4avh192.js +10 -0
- package/dist/v2/hidden-completion.d.ts.map +1 -1
- package/dist/v2/hooks/context.d.ts +2 -2
- package/dist/v2/hooks/context.d.ts.map +1 -1
- package/dist/v2/hooks/dream-manual.d.ts +1 -1
- package/dist/v2/hooks/dream-manual.d.ts.map +1 -1
- package/dist/v2/hooks/dream-timer.d.ts.map +1 -1
- package/dist/v2/hooks/dream-trigger.d.ts +1 -2
- package/dist/v2/hooks/dream-trigger.d.ts.map +1 -1
- package/dist/v2/hooks/payload.d.ts.map +1 -1
- package/dist/v2/hooks/tools.d.ts.map +1 -1
- package/dist/v2/hooks/types.d.ts +6 -0
- package/dist/v2/hooks/types.d.ts.map +1 -1
- package/dist/v2/logger-mxd0ym09.js +19 -0
- package/dist/v2/message-index-bounded-dy3s2k1e.js +123 -0
- package/dist/{message-time-backfill-68gj6t3e.js → v2/message-time-backfill-gtx1pwk1.js} +7 -7
- package/dist/v2/migration-worker.js +24 -15
- package/dist/v2/{model-resolution-xhfmyyvy.js → model-resolution-nx97z3x7.js} +1 -1
- package/dist/v2/project-embedding-registry-1tgba5dv.js +86 -0
- package/dist/v2/raw-ordinal-warmup-worker.js +60 -0
- package/dist/v2/{read-session-chunk-8vjp6581.js → read-session-chunk-rh4khdkv.js} +14 -8
- package/dist/v2/read-session-raw-bsbmf0vj.js +57 -0
- package/dist/v2/recomp-orchestrator-az61rfcg.js +57 -0
- package/dist/{safe-notification-target-43r8jsxw.js → v2/safe-notification-target-73ax1p5v.js} +3 -3
- package/dist/v2/search-nzkwrc6n.js +45 -0
- package/dist/{send-session-notification-dyw42dtr.js → v2/send-session-notification-6km439kn.js} +9 -7
- package/dist/{index-5eqk6z3s.js → v2/server-1r6pmz4f.js} +301 -27
- package/dist/v2/server-2bvekkfy.js +11 -0
- package/dist/v2/server-2fbhp79z.js +3205 -0
- package/dist/v2/{server-ajzeteqw.js → server-2ra6pwf3.js} +1 -18
- package/dist/v2/server-4dhv7mqz.js +131 -0
- package/dist/v2/{server-xa4xe3rv.js → server-4k748ke6.js} +11 -1053
- package/dist/v2/{server-vs5gpnd4.js → server-52awr2mw.js} +81 -145
- package/dist/v2/{server-1qbnzc80.js → server-5m3dt5r1.js} +136 -148
- package/dist/v2/server-686jg6eb.js +3508 -0
- package/dist/v2/server-7jzrrxap.js +931 -0
- package/dist/v2/server-7wwc2nga.js +3023 -0
- package/dist/v2/server-8ajstryz.js +18 -0
- package/dist/v2/{server-sfpzqvdz.js → server-8cd2j99z.js} +2 -3
- package/dist/v2/server-8pyt7hev.js +3408 -0
- package/dist/v2/server-8tqanswc.js +984 -0
- package/dist/v2/{server-14vq4kpm.js → server-aan4q8mx.js} +3 -3
- package/dist/v2/server-d9vfe7xq.js +16 -0
- package/dist/v2/server-e0vdaae2.js +3591 -0
- package/dist/v2/server-ezhze64f.js +1048 -0
- package/dist/v2/server-fb3zxn06.js +13 -0
- package/dist/v2/server-fr0wbhdn.js +43 -0
- package/dist/v2/server-g5r0n3b6.js +1137 -0
- package/dist/v2/server-gjcr4w98.js +154 -0
- package/dist/v2/server-k228xhjg.js +171 -0
- package/dist/v2/{server-jc7y02q0.js → server-k8x2rbxc.js} +5119 -10948
- package/dist/{index-fg34g6a5.js → v2/server-kb9nn0a0.js} +309 -52
- package/dist/v2/{server-g0fjrkta.js → server-mfkzp7qj.js} +28 -28
- package/dist/v2/server-pavzsdc6.js +17 -0
- package/dist/v2/server-psqc7e9n.js +2106 -0
- package/dist/v2/server-qt1qqasc.js +22 -0
- package/dist/v2/server-qye6ykf7.js +120 -0
- package/dist/v2/{server-qdjnb2z1.js → server-r5p3b1wy.js} +11 -9
- package/dist/v2/server-sggvvzhb.js +759 -0
- package/dist/v2/{server-y8maxeft.js → server-v06jcv0w.js} +16 -13
- package/dist/v2/server-vqpf3167.js +1048 -0
- package/dist/v2/{server-c5gz8wph.js → server-x2g40a71.js} +2048 -2059
- package/dist/v2/{server-wvjvfhck.js → server-xdfwt6kh.js} +20 -16
- package/dist/v2/{server-mcfawjgc.js → server-xxm59eww.js} +25 -44
- package/dist/v2/server-yczc713m.js +564 -0
- package/dist/v2/{server-3n4q9xme.js → server-z2037m6z.js} +4 -4
- package/dist/v2/{server-e29d7p7c.js → server-zm570tr2.js} +166 -160
- package/dist/v2/{server-6r257mf5.js → server-zxhgvsf9.js} +3 -3
- package/dist/v2/server.js +16 -14
- package/dist/v2/sqlite-context-pragmas-mv9jqwjh.js +6 -0
- package/dist/v2/sqlite-mhjkerzq.js +46 -0
- package/dist/v2/storage-memory-07fx57k6.js +71 -0
- package/dist/v2/storage-tags-w4tv77sn.js +130 -0
- package/dist/v2/store-reader.d.ts +16 -0
- package/dist/v2/store-reader.d.ts.map +1 -1
- package/dist/v2/{task-config-tbndqyny.js → task-config-x0hq3qfd.js} +2 -2
- package/dist/v2/transformers-node-wasm.js +18415 -18415
- package/dist/v2/tui/index.d.ts.map +1 -1
- package/dist/v2/tui/types.d.ts +1 -10
- package/dist/v2/tui/types.d.ts.map +1 -1
- package/dist/v2/{wrapup-orchestrator-0snhvwcv.js → wrapup-orchestrator-mz7efs7w.js} +51 -27
- package/dist/wrapup-orchestrator-amzta1t4.js +44 -0
- package/package.json +4 -3
- package/src/agents/magic-context-prompt.ts +27 -2
- package/src/agents/smart-notes-enabled.test.ts +294 -0
- package/src/agents/smart-notes-on.golden.json +70 -0
- package/src/config/index.test.ts +67 -1
- package/src/config/index.ts +8 -0
- package/src/config/latch-permanence-guard.test.ts +4 -0
- package/src/config/live-run-config.test.ts +37 -1
- package/src/config/live-run-config.ts +28 -0
- package/src/config/migrate-config-location.ts +10 -3
- package/src/config/mural-model-deprecation.ts +24 -0
- package/src/config/project-security.hostile-matrix.test.ts +4 -44
- package/src/config/project-security.test.ts +9 -14
- package/src/config/project-security.ts +13 -55
- package/src/config/schema/magic-context.test.ts +6 -5
- package/src/config/schema/magic-context.ts +34 -16
- package/src/features/magic-context/dreamer/task-registry.ts +6 -0
- package/src/shared/auto-search-lifecycle.ts +27 -0
- package/src/shared/conflict-detector.test.ts +56 -0
- package/src/shared/conflict-detector.ts +16 -5
- package/src/shared/historian-tool-defaults.json +6 -6
- package/src/shared/historian-tool-expansions.ts +65 -8
- package/src/shared/historian-tool-preview-defaults.json +13 -0
- package/src/shared/historian-tool-template.ts +48 -14
- package/src/shared/host-stall-profiler-bun.ts +358 -0
- package/src/shared/host-stall-profiler-common.ts +159 -0
- package/src/shared/host-stall-profiler-node.test.ts +234 -0
- package/src/shared/host-stall-profiler-node.ts +274 -0
- package/src/shared/host-stall-profiler-report.ts +248 -0
- package/src/shared/host-stall-profiler.ts +57 -0
- package/src/shared/model-resolution.test.ts +54 -17
- package/src/shared/model-resolution.ts +6 -17
- package/src/shared/sqlite-640-review-r2.test.ts +136 -0
- package/src/shared/sqlite-640-review.test.ts +183 -0
- package/src/shared/sqlite-acquisition-routing.test.ts +18 -0
- package/src/shared/sqlite.test.ts +52 -0
- package/src/shared/sqlite.ts +423 -37
- package/src/shared/stable-json-linear.test.ts +109 -0
- package/src/shared/stable-json.ts +37 -7
- package/src/shared/status-view.test.ts +6 -1
- package/src/shared/status-view.ts +15 -1
- package/src/shared/tag-transcript.ts +6 -0
- package/src/shared/user-facing-codes.ts +2 -6
- package/src/shared/window-geometry.ts +10 -0
- package/src/shared/write-transaction-attribution.test.ts +2 -2
- package/src/v2/tui/host-contract.test.ts +41 -67
- package/src/v2/tui/index.ts +6 -214
- package/src/v2/tui/types.ts +5 -17
- package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts +0 -45
- package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts.map +0 -1
- package/dist/features/magic-context/checkout-claim.d.ts +0 -155
- package/dist/features/magic-context/checkout-claim.d.ts.map +0 -1
- package/dist/index-3h0ybwah.js +0 -6540
- package/dist/index-r5hmbx3t.js +0 -7773
- package/dist/recomp-orchestrator-y15j0rb9.js +0 -39
- package/dist/v2/recomp-orchestrator-8ejxvrzz.js +0 -39
- package/dist/v2/server-frbm99q5.js +0 -7698
- package/dist/v2/server-qp5hx1ad.js +0 -6366
- package/dist/wrapup-orchestrator-39amhv9s.js +0 -26
- /package/dist/{index-en1k8h8m.js → index-2pp04pmg.js} +0 -0
- /package/dist/v2/{index-en1k8h8m.js → index-2pp04pmg.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v2/tui/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI5E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v2/tui/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI5E,OAAO,EAOH,KAAK,kBAAkB,EAC1B,MAAM,2BAA2B,CAAC;AAUnC,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,SAAS,CAAC;AAY5D;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAyBzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACtB,MAAM,EAAE,IAAI,CACR,YAAY,EACV,cAAc,GACd,iBAAiB,GACjB,aAAa,GACb,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,qBAAqB,GACrB,oBAAoB,CACzB,GACF,MAAM,CA6BR;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAoBhE;AAOD,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;AAE5E,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAqM9F;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAStE;;;;;AAED,wBAAuD"}
|
package/dist/v2/tui/types.d.ts
CHANGED
|
@@ -138,22 +138,13 @@ export interface V2TuiContext {
|
|
|
138
138
|
};
|
|
139
139
|
};
|
|
140
140
|
}
|
|
141
|
-
/**
|
|
142
|
-
* A slot claim's `render` runs inside the host's component tree; `app` is the
|
|
143
|
-
* always-mounted root slot, which is where `keymap.layer()` can be called from
|
|
144
|
-
* when plugin `setup()` runs outside the keymap provider (see index.ts).
|
|
145
|
-
*/
|
|
141
|
+
/** The sidebar slot used by the OpenCode 2 TUI. */
|
|
146
142
|
export type V2SlotClaim = {
|
|
147
143
|
readonly append: "sidebar.content";
|
|
148
144
|
readonly render: (input: {
|
|
149
145
|
readonly sessionID: string;
|
|
150
146
|
}) => unknown;
|
|
151
|
-
} | {
|
|
152
|
-
readonly append: "app";
|
|
153
|
-
readonly render: (input: Readonly<Record<string, never>>) => unknown;
|
|
154
147
|
};
|
|
155
|
-
/** The layer object `context.keymap.layer()` accepts, derived from the context type. */
|
|
156
|
-
export type V2KeymapLayer = ReturnType<Parameters<V2TuiContext["keymap"]["layer"]>[0]>;
|
|
157
148
|
export interface V2SidebarState {
|
|
158
149
|
snapshots: Record<string, SidebarSnapshot | undefined>;
|
|
159
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/v2/tui/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/v2/tui/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import"./server-pavzsdc6.js";
|
|
1
2
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./server-
|
|
4
|
-
import"./server-
|
|
3
|
+
sessionLog2
|
|
4
|
+
} from "./server-5m3dt5r1.js";
|
|
5
|
+
import"./server-8pyt7hev.js";
|
|
5
6
|
import {
|
|
6
7
|
COMPARTMENT_LEASE_RENEWAL_MS,
|
|
7
8
|
acquireCompartmentLease,
|
|
@@ -24,28 +25,47 @@ import {
|
|
|
24
25
|
registerActiveCompartmentRun,
|
|
25
26
|
setRecompStarting2,
|
|
26
27
|
setRecompTerminal2
|
|
27
|
-
} from "./server-
|
|
28
|
-
import"./server-
|
|
29
|
-
import"./server-
|
|
30
|
-
import"./server-
|
|
31
|
-
import"./server-
|
|
28
|
+
} from "./server-k8x2rbxc.js";
|
|
29
|
+
import"./server-1r6pmz4f.js";
|
|
30
|
+
import"./server-4k748ke6.js";
|
|
31
|
+
import"./server-kb9nn0a0.js";
|
|
32
|
+
import"./server-k228xhjg.js";
|
|
33
|
+
import"./server-ezhze64f.js";
|
|
34
|
+
import"./server-sggvvzhb.js";
|
|
35
|
+
import"./server-52awr2mw.js";
|
|
32
36
|
import"./server-1zx87sdm.js";
|
|
33
|
-
import"./server-
|
|
34
|
-
import"./server-
|
|
35
|
-
import"./server-
|
|
36
|
-
import"./server-
|
|
37
|
-
import"./server-
|
|
37
|
+
import"./server-686jg6eb.js";
|
|
38
|
+
import"./server-mfkzp7qj.js";
|
|
39
|
+
import"./server-g5r0n3b6.js";
|
|
40
|
+
import"./server-2ra6pwf3.js";
|
|
41
|
+
import"./server-xdfwt6kh.js";
|
|
42
|
+
import {
|
|
43
|
+
prepareRawSessionOrdinals2
|
|
44
|
+
} from "./server-2fbhp79z.js";
|
|
45
|
+
import"./server-qye6ykf7.js";
|
|
46
|
+
import"./server-fr0wbhdn.js";
|
|
47
|
+
import"./server-e0vdaae2.js";
|
|
48
|
+
import"./server-yczc713m.js";
|
|
49
|
+
import"./server-zm570tr2.js";
|
|
50
|
+
import"./server-fb3zxn06.js";
|
|
51
|
+
import"./server-7wwc2nga.js";
|
|
52
|
+
import"./server-8tqanswc.js";
|
|
38
53
|
import {
|
|
39
54
|
pushNotification2
|
|
40
55
|
} from "./server-x8a7jmkh.js";
|
|
56
|
+
import"./server-qt1qqasc.js";
|
|
57
|
+
import"./server-4dhv7mqz.js";
|
|
58
|
+
import"./server-vqpf3167.js";
|
|
59
|
+
import"./server-gjcr4w98.js";
|
|
60
|
+
import"./server-7jzrrxap.js";
|
|
61
|
+
import"./server-x2g40a71.js";
|
|
62
|
+
import"./server-v06jcv0w.js";
|
|
63
|
+
import"./server-z2037m6z.js";
|
|
64
|
+
import"./server-zxhgvsf9.js";
|
|
41
65
|
import {
|
|
42
66
|
sendStatusNotification2
|
|
43
|
-
} from "./server-
|
|
44
|
-
import"./server-
|
|
45
|
-
import"./server-y8maxeft.js";
|
|
46
|
-
import"./server-3n4q9xme.js";
|
|
47
|
-
import"./server-6r257mf5.js";
|
|
48
|
-
import"./server-14vq4kpm.js";
|
|
67
|
+
} from "./server-xxm59eww.js";
|
|
68
|
+
import"./server-aan4q8mx.js";
|
|
49
69
|
|
|
50
70
|
// src/hooks/magic-context/wrapup-orchestrator.ts
|
|
51
71
|
import * as crypto from "node:crypto";
|
|
@@ -137,7 +157,7 @@ async function acquireCompartmentLeaseForWrapup(ctx, sessionId, renewWrapupMarke
|
|
|
137
157
|
const remainingMs = () => Math.max(0, waitStartedAt + maxWaitMs - Date.now());
|
|
138
158
|
for (;; ) {
|
|
139
159
|
if (remainingMs() <= 0) {
|
|
140
|
-
|
|
160
|
+
sessionLog2(sessionId, "wrapup: timed out waiting for the compartment-state lease");
|
|
141
161
|
return { ok: false, reason: "timeout" };
|
|
142
162
|
}
|
|
143
163
|
const active = getActiveCompartmentRun(sessionId);
|
|
@@ -148,7 +168,7 @@ async function acquireCompartmentLeaseForWrapup(ctx, sessionId, renewWrapupMarke
|
|
|
148
168
|
emitWrapupProgress(ctx, sessionId, { note: "Waiting for the active historian run…" });
|
|
149
169
|
const outcome = await waitForActiveRunWithin(active.promise, remainingMs());
|
|
150
170
|
if (outcome === "timeout") {
|
|
151
|
-
|
|
171
|
+
sessionLog2(sessionId, "wrapup: timed out waiting for the active historian run");
|
|
152
172
|
return { ok: false, reason: "timeout" };
|
|
153
173
|
}
|
|
154
174
|
continue;
|
|
@@ -171,10 +191,10 @@ async function runOneWrapupIteration(args) {
|
|
|
171
191
|
const renewal = setInterval(() => {
|
|
172
192
|
try {
|
|
173
193
|
if (!renewCompartmentLease(ctx.db, sessionId, leaseHolderId)) {
|
|
174
|
-
|
|
194
|
+
sessionLog2(sessionId, "wrapup: compartment lease renewal failed");
|
|
175
195
|
}
|
|
176
196
|
} catch (err) {
|
|
177
|
-
|
|
197
|
+
sessionLog2(sessionId, `wrapup: compartment lease renewal threw; continuing (${err instanceof Error ? err.message : String(err)})`);
|
|
178
198
|
}
|
|
179
199
|
}, COMPARTMENT_LEASE_RENEWAL_MS);
|
|
180
200
|
const runCompartmentAgentForWrapup = ctx.runCompartmentAgentForWrapup ?? runCompartmentAgent;
|
|
@@ -220,13 +240,17 @@ async function runOneWrapupIteration(args) {
|
|
|
220
240
|
return { ran: true };
|
|
221
241
|
} finally {
|
|
222
242
|
clearInterval(renewal);
|
|
223
|
-
releaseCompartmentLeaseBestEffort(ctx.db, sessionId, leaseHolderId,
|
|
243
|
+
releaseCompartmentLeaseBestEffort(ctx.db, sessionId, leaseHolderId, sessionLog2);
|
|
224
244
|
}
|
|
225
245
|
}
|
|
226
246
|
async function runManagedWrapup(ctx, sessionId, options) {
|
|
227
247
|
const messagesToKeep = Math.max(1, Math.floor(options.messagesToKeep));
|
|
228
248
|
setRecompStarting2(ctx.liveSessionState, sessionId, "Estimating wrapup…", "wrapup");
|
|
229
249
|
try {
|
|
250
|
+
if (!await prepareRawSessionOrdinals2(sessionId)) {
|
|
251
|
+
setRecompTerminal2(ctx.liveSessionState, sessionId, "failed", "Session ordinals are warming; retry wrapup shortly.");
|
|
252
|
+
return "Wrapup deferred while session ordinals warm in the background. Retry shortly.";
|
|
253
|
+
}
|
|
230
254
|
return await runStartedWrapup(ctx, sessionId, messagesToKeep);
|
|
231
255
|
} catch (error) {
|
|
232
256
|
const reason = error instanceof Error ? error.message : String(error);
|
|
@@ -279,7 +303,7 @@ ${message}`;
|
|
|
279
303
|
if (ownershipLost)
|
|
280
304
|
return;
|
|
281
305
|
ownershipLost = true;
|
|
282
|
-
|
|
306
|
+
sessionLog2(sessionId, "wrapup: durable marker ownership lost; aborting loop");
|
|
283
307
|
};
|
|
284
308
|
const renewWrapupMarker = (updates) => {
|
|
285
309
|
const updated = updateWrapupInProgress(ctx.db, sessionId, wrapupHolderId, updates);
|
|
@@ -296,7 +320,7 @@ ${message}`;
|
|
|
296
320
|
chunkIndex
|
|
297
321
|
});
|
|
298
322
|
} catch (err) {
|
|
299
|
-
|
|
323
|
+
sessionLog2(sessionId, `wrapup: marker renewal threw; continuing (${err instanceof Error ? err.message : String(err)})`);
|
|
300
324
|
}
|
|
301
325
|
}, 60000);
|
|
302
326
|
markerRenewal.unref?.();
|
|
@@ -352,7 +376,7 @@ ${message}`;
|
|
|
352
376
|
if (lastEnd + 1 >= plan.targetEligibleEndOrdinal)
|
|
353
377
|
break;
|
|
354
378
|
chunkIndex += 1;
|
|
355
|
-
|
|
379
|
+
sessionLog2(sessionId, `wrapup chunk ${chunkIndex}: ${describeBoundaryDiagnostics(plan.snapshot)}`);
|
|
356
380
|
emitWrapupProgress(ctx, sessionId, {
|
|
357
381
|
processedMessages: Math.max(0, lastEnd),
|
|
358
382
|
totalMessages: Math.max(0, plan.targetEligibleEndOrdinal - 1),
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
runManagedWrapup2
|
|
3
|
+
} from "./index-k1xb52kd.js";
|
|
4
|
+
import"./index-mmyh6d8f.js";
|
|
5
|
+
import"./index-692jzy0p.js";
|
|
6
|
+
import"./index-cb7emxgj.js";
|
|
7
|
+
import"./index-14cjxt20.js";
|
|
8
|
+
import"./index-5zygecde.js";
|
|
9
|
+
import"./index-7jzrrxap.js";
|
|
10
|
+
import"./index-c43kr12f.js";
|
|
11
|
+
import"./index-pg50n748.js";
|
|
12
|
+
import"./index-4dhv7mqz.js";
|
|
13
|
+
import"./index-sd3egckz.js";
|
|
14
|
+
import"./index-yq8n9qcb.js";
|
|
15
|
+
import"./index-qt1qqasc.js";
|
|
16
|
+
import"./index-pdecwzrd.js";
|
|
17
|
+
import"./index-jcbd3znx.js";
|
|
18
|
+
import"./index-bhvjj0ys.js";
|
|
19
|
+
import"./index-72nhv486.js";
|
|
20
|
+
import"./index-q7h7csab.js";
|
|
21
|
+
import"./index-fb3zxn06.js";
|
|
22
|
+
import"./index-7mx8v0pw.js";
|
|
23
|
+
import"./index-fr0wbhdn.js";
|
|
24
|
+
import"./index-knh4y330.js";
|
|
25
|
+
import"./index-fbv1dn35.js";
|
|
26
|
+
import"./index-bdckkfw6.js";
|
|
27
|
+
import"./index-k9nnwad5.js";
|
|
28
|
+
import"./index-ty64eqcn.js";
|
|
29
|
+
import"./index-dhwzyd54.js";
|
|
30
|
+
import"./index-1zx87sdm.js";
|
|
31
|
+
import"./index-mfkzp7qj.js";
|
|
32
|
+
import"./index-0qhce371.js";
|
|
33
|
+
import"./index-db7zwa3v.js";
|
|
34
|
+
import"./index-58e3y90n.js";
|
|
35
|
+
import"./index-1qb0z7wa.js";
|
|
36
|
+
import"./index-2y0s2hep.js";
|
|
37
|
+
import"./index-kb9nn0a0.js";
|
|
38
|
+
import"./index-8j7gqj40.js";
|
|
39
|
+
import"./index-0sahzkwr.js";
|
|
40
|
+
import"./index-pavzsdc6.js";
|
|
41
|
+
import"./index-x8a7jmkh.js";
|
|
42
|
+
export {
|
|
43
|
+
runManagedWrapup2 as runManagedWrapup
|
|
44
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cortexkit/opencode-magic-context",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.48.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "OpenCode plugin for Magic Context — cross-session memory and context management",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"README.md"
|
|
38
38
|
],
|
|
39
39
|
"scripts": {
|
|
40
|
-
"build": "bun ../../scripts/check-bun.mjs && tsc -p ../retina-local-fs/tsconfig.build.json && bun run build:tui && bun ../../scripts/clean-dist-chunks.mjs dist index.js transformers-web.js transformers-node-wasm.js && bun build src/features/magic-context/memory/transformers-web-entry.ts --outfile dist/transformers-web.js --target browser --format esm --external onnxruntime-web && bun scripts/build-transformers-node-wasm.ts dist && bun build src/index.ts src/features/magic-context/memory/embedding-worker.ts src/features/magic-context/migration-worker.ts --outdir dist --entry-naming '[name].[ext]' --target node --format esm --splitting --external @opencode-ai/plugin --external onnxruntime-node --external onnxruntime-web --external sharp --external bun:sqlite --external node:sqlite && bun run build:v2 && tsc --emitDeclarationOnly",
|
|
41
|
-
"build:v2": "bun ../../scripts/clean-dist-chunks.mjs dist/v2 server.js embedding-worker.js migration-worker.js && bun build src/features/magic-context/memory/transformers-web-entry.ts --outfile dist/v2/transformers-web.js --target browser --format esm --external onnxruntime-web && bun scripts/build-transformers-node-wasm.ts dist/v2 && bun build src/v2/server.ts src/features/magic-context/memory/embedding-worker.ts src/features/magic-context/migration-worker.ts --outdir dist/v2 --entry-naming '[name].[ext]' --target node --format esm --splitting --external @opencode/plugin --external onnxruntime-node --external onnxruntime-web --external sharp --external bun:sqlite --external node:sqlite",
|
|
40
|
+
"build": "bun ../../scripts/check-bun.mjs && tsc -p ../retina-local-fs/tsconfig.build.json && bun run build:tui && bun ../../scripts/clean-dist-chunks.mjs dist index.js transformers-web.js transformers-node-wasm.js && bun build src/features/magic-context/memory/transformers-web-entry.ts --outfile dist/transformers-web.js --target browser --format esm --external onnxruntime-web && bun scripts/build-transformers-node-wasm.ts dist && bun build src/index.ts src/features/magic-context/memory/embedding-worker.ts src/features/magic-context/migration-worker.ts src/hooks/magic-context/auto-search-worker.ts src/hooks/magic-context/raw-ordinal-warmup-worker.ts --outdir dist --entry-naming '[name].[ext]' --target node --format esm --splitting --external @opencode-ai/plugin --external onnxruntime-node --external onnxruntime-web --external sharp --external bun:sqlite --external node:sqlite && bun run build:v2 && tsc --emitDeclarationOnly",
|
|
41
|
+
"build:v2": "bun ../../scripts/clean-dist-chunks.mjs dist/v2 server.js embedding-worker.js migration-worker.js && bun build src/features/magic-context/memory/transformers-web-entry.ts --outfile dist/v2/transformers-web.js --target browser --format esm --external onnxruntime-web && bun scripts/build-transformers-node-wasm.ts dist/v2 && bun build src/v2/server.ts src/features/magic-context/memory/embedding-worker.ts src/features/magic-context/migration-worker.ts src/hooks/magic-context/auto-search-worker.ts src/hooks/magic-context/raw-ordinal-warmup-worker.ts --outdir dist/v2 --entry-naming '[name].[ext]' --target node --format esm --splitting --external @opencode/plugin --external onnxruntime-node --external onnxruntime-web --external sharp --external bun:sqlite --external node:sqlite",
|
|
42
42
|
"build:tui": "bun scripts/build-tui.ts",
|
|
43
43
|
"check:tui-compiled": "git diff --exit-code -- src/tui-compiled && test -z \"$(git status --porcelain -- src/tui-compiled)\"",
|
|
44
44
|
"check:transformers-node-wasm": "bun scripts/verify-transformers-node-wasm.ts",
|
|
@@ -81,6 +81,7 @@
|
|
|
81
81
|
"@opencode/client": "2.0.22",
|
|
82
82
|
"effect": "4.0.0-rc.112",
|
|
83
83
|
"@ai-sdk/anthropic": "3.0.82",
|
|
84
|
+
"ai": "6.0.168",
|
|
84
85
|
"@huggingface/transformers": "^4.3.0",
|
|
85
86
|
"@ai-sdk/openai-compatible": "2.0.41",
|
|
86
87
|
"@biomejs/biome": "^2.5.1",
|
|
@@ -103,6 +103,26 @@ const TOOL_HISTORY_GUIDANCE_LIGHT = `Older work is filed off the desk into \`<se
|
|
|
103
103
|
|
|
104
104
|
const SMART_NOTE_GUIDANCE_LIGHT = `; a \`surface_condition\` leaves the note with an outside checker that returns it when the condition holds`;
|
|
105
105
|
|
|
106
|
+
/** Remove smart-note clauses and sections from user guidance when the capability is unavailable. */
|
|
107
|
+
function withoutSmartNoteGuidance(text: string): string {
|
|
108
|
+
let smartSectionLevel = 0;
|
|
109
|
+
return text
|
|
110
|
+
.replace(` ${SMART_NOTE_GUIDANCE}`, "")
|
|
111
|
+
.replace(SMART_NOTE_GUIDANCE_LIGHT, "")
|
|
112
|
+
.split("\n")
|
|
113
|
+
.filter((line) => {
|
|
114
|
+
const mentionsSmartNotes = /smart[-_ ]notes?|surface_condition|outside checker/i.test(
|
|
115
|
+
line,
|
|
116
|
+
);
|
|
117
|
+
const heading = /^\s*(#{1,6})\s/.exec(line);
|
|
118
|
+
if (heading && (!smartSectionLevel || heading[1].length <= smartSectionLevel)) {
|
|
119
|
+
smartSectionLevel = mentionsSmartNotes ? heading[1].length : 0;
|
|
120
|
+
}
|
|
121
|
+
return !smartSectionLevel && !mentionsSmartNotes;
|
|
122
|
+
})
|
|
123
|
+
.join("\n");
|
|
124
|
+
}
|
|
125
|
+
|
|
106
126
|
const TEMPORAL_AWARENESS_GUIDANCE_LIGHT = `, \`<!-- +Xm -->\` (time since your last reply)`;
|
|
107
127
|
|
|
108
128
|
const BASE_INTRO_LIGHT = (
|
|
@@ -169,7 +189,9 @@ export function buildMagicContextSection(
|
|
|
169
189
|
memoryEnabled = true,
|
|
170
190
|
preset: PromptSurfacePreset = "full",
|
|
171
191
|
primaryOverride?: string,
|
|
192
|
+
smartNotesEnabled = true,
|
|
172
193
|
): string {
|
|
194
|
+
dreamerEnabled = dreamerEnabled && smartNotesEnabled;
|
|
173
195
|
// Subagent sessions: minimal §N§ + ctx_reduce mechanics only. Bypasses the
|
|
174
196
|
// long-term-partner frame, memory/search/note guidance, and the reduction
|
|
175
197
|
// taxonomy — none of which apply to a bounded single-task child. Only
|
|
@@ -191,10 +213,13 @@ export function buildMagicContextSection(
|
|
|
191
213
|
const languageGuidance = languageDirective ? `\n\n${languageDirective}` : "";
|
|
192
214
|
|
|
193
215
|
if (primaryOverride !== undefined) {
|
|
194
|
-
// A user override owns
|
|
216
|
+
// A user override owns primary prose, except for unavailable smart-note clauses. Runtime clauses stay
|
|
195
217
|
// composer-owned so an override cannot suppress temporal guidance, the
|
|
196
218
|
// warning against overly compressed prose, or the language directive.
|
|
197
|
-
|
|
219
|
+
const primary = smartNotesEnabled
|
|
220
|
+
? primaryOverride
|
|
221
|
+
: withoutSmartNoteGuidance(primaryOverride);
|
|
222
|
+
return `${primary}${temporalOverrideGuidance}${cavemanWarning}${languageGuidance}`;
|
|
198
223
|
}
|
|
199
224
|
|
|
200
225
|
if (!ctxReduceCallable) {
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { afterEach, expect, test } from "bun:test";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { rmSync } from "node:fs";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import { join } from "node:path";
|
|
6
|
+
import { tool } from "@opencode-ai/plugin";
|
|
7
|
+
import { parsePluginConfig } from "../config";
|
|
8
|
+
import { sampleLiveConfig } from "../config/live-run-config";
|
|
9
|
+
import { stripUnsafeProjectConfigFields } from "../config/project-security";
|
|
10
|
+
import { evaluateSmartNotes } from "../features/magic-context/dreamer/evaluate-smart-notes";
|
|
11
|
+
import { writeTaskScheduleState } from "../features/magic-context/dreamer/storage-task-schedule";
|
|
12
|
+
import { buildDreamTaskRuntimeConfigs } from "../features/magic-context/dreamer/task-config";
|
|
13
|
+
import { resolveProjectIdentityForSession } from "../features/magic-context/memory/project-identity";
|
|
14
|
+
import { runDueCompiledSmartNoteChecks } from "../features/magic-context/smart-notes/runner";
|
|
15
|
+
import {
|
|
16
|
+
addNote,
|
|
17
|
+
closeDatabase,
|
|
18
|
+
getNotes,
|
|
19
|
+
markNoteReady,
|
|
20
|
+
openDatabase,
|
|
21
|
+
} from "../features/magic-context/storage";
|
|
22
|
+
import { onNoteTrigger, peekNoteNudgeText } from "../hooks/magic-context/note-nudger";
|
|
23
|
+
import { buildSidebarSnapshot } from "../plugin/rpc-handlers";
|
|
24
|
+
import { createToolRegistry } from "../plugin/tool-registry";
|
|
25
|
+
import { createTestTempDirFromPath } from "../shared/test-temp-dir";
|
|
26
|
+
import { createCtxNoteTools } from "../tools/ctx-note/tools";
|
|
27
|
+
import { CTX_NOTE_LIGHT_DESCRIPTION } from "../tools/light-descriptions";
|
|
28
|
+
import { applyJsonSchemaParameterDescriptions } from "../tools/parameter-descriptions";
|
|
29
|
+
import { registerTools } from "../v2/hooks/tools";
|
|
30
|
+
import { buildMagicContextSection } from "./magic-context-prompt";
|
|
31
|
+
import golden from "./smart-notes-on.golden.json";
|
|
32
|
+
|
|
33
|
+
// Freeze the OpenCode/Pi note definitions and primary guidance from master before this switch existed:
|
|
34
|
+
// default-on must preserve sessions' cached prompts. Source copies came from git show at
|
|
35
|
+
// 8d8f44bdaaba450ae136e20dd2476b3b41294416; SHA-256 hashes JSON.stringify of rendered strings
|
|
36
|
+
// and { description, schema } tool surfaces, not expectations calculated by the gated implementation.
|
|
37
|
+
|
|
38
|
+
const digest = (value: unknown) => createHash("sha256").update(JSON.stringify(value)).digest("hex");
|
|
39
|
+
const expected = golden as Record<string, string>;
|
|
40
|
+
const oldXdg = process.env.XDG_DATA_HOME;
|
|
41
|
+
let dir: string | undefined;
|
|
42
|
+
afterEach(() => {
|
|
43
|
+
closeDatabase();
|
|
44
|
+
if (oldXdg === undefined) delete process.env.XDG_DATA_HOME;
|
|
45
|
+
else process.env.XDG_DATA_HOME = oldXdg;
|
|
46
|
+
if (dir) rmSync(dir, { recursive: true, force: true });
|
|
47
|
+
});
|
|
48
|
+
function fixture() {
|
|
49
|
+
dir = createTestTempDirFromPath(join(tmpdir(), "smart-notes-enabled-"));
|
|
50
|
+
process.env.XDG_DATA_HOME = dir;
|
|
51
|
+
return openDatabase();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
test("enabled guidance is byte-identical to master on every built-in primary variant", () => {
|
|
55
|
+
for (const preset of ["full", "light"] as const)
|
|
56
|
+
for (const reduce of [false, true])
|
|
57
|
+
for (const memory of [false, true])
|
|
58
|
+
for (const dreamer of [false, true])
|
|
59
|
+
for (const temporal of [false, true]) {
|
|
60
|
+
for (const enabled of [undefined, true]) {
|
|
61
|
+
const text = buildMagicContextSection(
|
|
62
|
+
null,
|
|
63
|
+
20,
|
|
64
|
+
reduce,
|
|
65
|
+
dreamer,
|
|
66
|
+
temporal,
|
|
67
|
+
false,
|
|
68
|
+
false,
|
|
69
|
+
undefined,
|
|
70
|
+
memory,
|
|
71
|
+
preset,
|
|
72
|
+
undefined,
|
|
73
|
+
enabled,
|
|
74
|
+
);
|
|
75
|
+
expect(digest(text)).toBe(
|
|
76
|
+
expected[
|
|
77
|
+
`guidance/${preset}/${reduce}/${memory}/${dreamer}/${temporal}`
|
|
78
|
+
],
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test("disabled guidance removes every smart-note clause on OpenCode 1 and 2", () => {
|
|
85
|
+
const override =
|
|
86
|
+
"Custom guidance\n### Smart notes\n#### Verification\nUse an external condition to park work.\n### Ordinary notes\nKeep intentions in ctx_note.";
|
|
87
|
+
const custom = buildMagicContextSection(
|
|
88
|
+
null,
|
|
89
|
+
20,
|
|
90
|
+
true,
|
|
91
|
+
true,
|
|
92
|
+
false,
|
|
93
|
+
false,
|
|
94
|
+
false,
|
|
95
|
+
undefined,
|
|
96
|
+
true,
|
|
97
|
+
"full",
|
|
98
|
+
override,
|
|
99
|
+
false,
|
|
100
|
+
);
|
|
101
|
+
expect(custom).not.toContain("external condition");
|
|
102
|
+
expect(custom).toContain("Keep intentions in ctx_note");
|
|
103
|
+
for (const preset of ["full", "light"] as const)
|
|
104
|
+
for (const reduce of [false, true])
|
|
105
|
+
for (const memory of [false, true]) {
|
|
106
|
+
const text = buildMagicContextSection(
|
|
107
|
+
null,
|
|
108
|
+
20,
|
|
109
|
+
reduce,
|
|
110
|
+
true,
|
|
111
|
+
true,
|
|
112
|
+
false,
|
|
113
|
+
false,
|
|
114
|
+
undefined,
|
|
115
|
+
memory,
|
|
116
|
+
preset,
|
|
117
|
+
undefined,
|
|
118
|
+
false,
|
|
119
|
+
);
|
|
120
|
+
expect(text).not.toMatch(/surface_condition|smart.note|outside checker/i);
|
|
121
|
+
expect(text).toContain("ctx_note");
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
test("startup capability is user-only, default on, and excluded from live reload", () => {
|
|
126
|
+
const boot = parsePluginConfig({});
|
|
127
|
+
expect(boot.smart_notes.enabled).toBe(true);
|
|
128
|
+
const off = parsePluginConfig({ smart_notes: { enabled: false } });
|
|
129
|
+
expect(off.smart_notes.enabled).toBe(false);
|
|
130
|
+
expect(sampleLiveConfig(boot, off).smart_notes.enabled).toBe(true);
|
|
131
|
+
const project = { smart_notes: { enabled: false, retina_handoff: true } };
|
|
132
|
+
const warnings = stripUnsafeProjectConfigFields(project);
|
|
133
|
+
expect(project.smart_notes).toEqual({ retina_handoff: true } as never);
|
|
134
|
+
expect(warnings.join(" ")).toContain("smart_notes.enabled");
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
test("disabled dreamer task and compiled sweep leave pending notes unchecked", async () => {
|
|
138
|
+
const db = fixture();
|
|
139
|
+
const project = "git:smart-notes-enabled";
|
|
140
|
+
addNote(db, "smart", {
|
|
141
|
+
projectPath: project,
|
|
142
|
+
sessionId: "ses-off",
|
|
143
|
+
content: "parked",
|
|
144
|
+
surfaceCondition: "repository condition",
|
|
145
|
+
});
|
|
146
|
+
const config = parsePluginConfig({ dreamer: {}, smart_notes: { enabled: false } });
|
|
147
|
+
expect(
|
|
148
|
+
buildDreamTaskRuntimeConfigs(config.dreamer, "opencode", undefined, false).map(
|
|
149
|
+
(t) => t.task,
|
|
150
|
+
),
|
|
151
|
+
).not.toContain("evaluate-smart-notes");
|
|
152
|
+
const result = await evaluateSmartNotes({
|
|
153
|
+
db,
|
|
154
|
+
projectIdentity: project,
|
|
155
|
+
smartNotesEnabled: false,
|
|
156
|
+
} as never);
|
|
157
|
+
expect(result).toEqual({ ran: false, pending: 1, surfaced: 0 });
|
|
158
|
+
expect(
|
|
159
|
+
await runDueCompiledSmartNoteChecks({
|
|
160
|
+
db,
|
|
161
|
+
projectIdentity: project,
|
|
162
|
+
projectRoot: dir!,
|
|
163
|
+
smartNotesEnabled: false,
|
|
164
|
+
}),
|
|
165
|
+
).toEqual({ ran: 0, surfaced: 0, failed: 0, networkFailed: 0 });
|
|
166
|
+
expect(getNotes(db, { projectPath: project })[0]?.lastCheckedAt).toBeNull();
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
test("OpenCode 1 and 2 disabled tool surfaces refuse cached conditions and retain ready/read/dismiss", async () => {
|
|
170
|
+
const db = fixture();
|
|
171
|
+
const config = parsePluginConfig({
|
|
172
|
+
smart_notes: { enabled: false },
|
|
173
|
+
dreamer: {},
|
|
174
|
+
memory: { enabled: false },
|
|
175
|
+
});
|
|
176
|
+
const registry = createToolRegistry({
|
|
177
|
+
ctx: { directory: dir! } as never,
|
|
178
|
+
pluginConfig: config,
|
|
179
|
+
});
|
|
180
|
+
const registered: Array<{
|
|
181
|
+
name: string;
|
|
182
|
+
description: string;
|
|
183
|
+
input: unknown;
|
|
184
|
+
execute: (input: unknown, call: unknown) => Promise<{ content: string }>;
|
|
185
|
+
}> = [];
|
|
186
|
+
await registerTools(
|
|
187
|
+
{
|
|
188
|
+
location: { directory: dir },
|
|
189
|
+
tool: {
|
|
190
|
+
transform: async (callback: (editor: unknown) => void) =>
|
|
191
|
+
callback({ add: (definition: never) => registered.push(definition) }),
|
|
192
|
+
},
|
|
193
|
+
} as never,
|
|
194
|
+
db,
|
|
195
|
+
config,
|
|
196
|
+
);
|
|
197
|
+
const v2 = registered.find((t) => t.name === "ctx_note")!;
|
|
198
|
+
expect(v2).toBeDefined();
|
|
199
|
+
expect(
|
|
200
|
+
JSON.stringify({
|
|
201
|
+
description: registry.ctx_note.description,
|
|
202
|
+
schema: tool.schema.toJSONSchema(tool.schema.object(registry.ctx_note.args)),
|
|
203
|
+
}),
|
|
204
|
+
).not.toMatch(/surface_condition|smart.note|outside checker/i);
|
|
205
|
+
expect(JSON.stringify({ description: v2.description, schema: v2.input })).not.toMatch(
|
|
206
|
+
/surface_condition|smart.note|outside checker/i,
|
|
207
|
+
);
|
|
208
|
+
const call = { sessionID: "ses-off", messageID: "msg-off", agent: "build", progress: () => {} };
|
|
209
|
+
expect(
|
|
210
|
+
await registry.ctx_note.execute(
|
|
211
|
+
{ content: "old", surface_condition: "cached" } as never,
|
|
212
|
+
{ ...call, directory: dir } as never,
|
|
213
|
+
),
|
|
214
|
+
).toContain("Smart notes are disabled");
|
|
215
|
+
expect(
|
|
216
|
+
(await v2.execute({ content: "old", surface_condition: "cached" }, call)).content,
|
|
217
|
+
).toContain("Smart notes are disabled");
|
|
218
|
+
expect(getNotes(db, {})).toHaveLength(0);
|
|
219
|
+
const local = createCtxNoteTools({
|
|
220
|
+
db,
|
|
221
|
+
smartNotesEnabled: false,
|
|
222
|
+
resolveProjectPath: () => "git:fixture",
|
|
223
|
+
}).ctx_note;
|
|
224
|
+
const ready = addNote(db, "smart", {
|
|
225
|
+
projectPath: "git:fixture",
|
|
226
|
+
content: "already fired",
|
|
227
|
+
surfaceCondition: "done",
|
|
228
|
+
});
|
|
229
|
+
const pending = addNote(db, "smart", {
|
|
230
|
+
projectPath: "git:fixture",
|
|
231
|
+
content: "still parked",
|
|
232
|
+
surfaceCondition: "later",
|
|
233
|
+
});
|
|
234
|
+
markNoteReady(db, ready.id, "already true");
|
|
235
|
+
onNoteTrigger(db, "ses-off", "historian_complete");
|
|
236
|
+
expect(peekNoteNudgeText(db, "ses-off", "u-1", "git:fixture")).toBeNull();
|
|
237
|
+
expect(peekNoteNudgeText(db, "ses-off", "u-2", "git:fixture")).toContain("already fired");
|
|
238
|
+
const ctx = { sessionID: "ses-off", directory: dir } as never;
|
|
239
|
+
expect(await local.execute({ action: "read" }, ctx)).toContain("already fired");
|
|
240
|
+
expect(await local.execute({ action: "read", note_ids: [pending.id] }, ctx)).toContain(
|
|
241
|
+
"still parked",
|
|
242
|
+
);
|
|
243
|
+
expect(
|
|
244
|
+
await local.execute({ action: "dismiss", note_ids: [ready.id, pending.id] }, ctx),
|
|
245
|
+
).toContain("Dismissed 2 of 2");
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
test("enabled ctx_note schema and description match master golden on both OpenCode versions", () => {
|
|
249
|
+
for (const preset of ["full", "light"] as const)
|
|
250
|
+
for (const enabled of [undefined, true]) {
|
|
251
|
+
const definition = createCtxNoteTools({
|
|
252
|
+
db: null as never,
|
|
253
|
+
smartNotesEnabled: enabled,
|
|
254
|
+
}).ctx_note;
|
|
255
|
+
const schema = tool.schema.toJSONSchema(tool.schema.object(definition.args));
|
|
256
|
+
applyJsonSchemaParameterDescriptions("ctx_note", schema, preset);
|
|
257
|
+
expect(
|
|
258
|
+
digest({
|
|
259
|
+
description:
|
|
260
|
+
preset === "light" ? CTX_NOTE_LIGHT_DESCRIPTION : definition.description,
|
|
261
|
+
schema,
|
|
262
|
+
}),
|
|
263
|
+
).toBe(expected[`opencode/${preset}`]);
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
test("disabled status omits parked task backlog and historical failure without deleting them", () => {
|
|
268
|
+
const db = fixture();
|
|
269
|
+
const projectPath = resolveProjectIdentityForSession(dir!)!;
|
|
270
|
+
writeTaskScheduleState(db, {
|
|
271
|
+
projectPath,
|
|
272
|
+
task: "evaluate-smart-notes",
|
|
273
|
+
schedule: "0 3 * * *",
|
|
274
|
+
lastRunAt: null,
|
|
275
|
+
nextDueAt: 1,
|
|
276
|
+
lastStatus: "failed",
|
|
277
|
+
lastError: "old evaluation failure",
|
|
278
|
+
retryCount: 2,
|
|
279
|
+
});
|
|
280
|
+
const on = buildSidebarSnapshot(db, "ses-status", dir!, undefined, undefined, {
|
|
281
|
+
smart_notes: { enabled: true },
|
|
282
|
+
});
|
|
283
|
+
expect(on.dreamerFailures?.map((state) => state.task)).toContain("evaluate-smart-notes");
|
|
284
|
+
const off = buildSidebarSnapshot(db, "ses-status", dir!, undefined, undefined, {
|
|
285
|
+
smart_notes: { enabled: false },
|
|
286
|
+
});
|
|
287
|
+
expect(off.dreamerBacklog).not.toHaveProperty("evaluate-smart-notes");
|
|
288
|
+
expect(off.dreamerFailures?.map((state) => state.task)).not.toContain("evaluate-smart-notes");
|
|
289
|
+
expect(
|
|
290
|
+
buildSidebarSnapshot(db, "ses-status", dir!, undefined, undefined, {
|
|
291
|
+
smart_notes: { enabled: true },
|
|
292
|
+
}).dreamerFailures?.map((state) => state.task),
|
|
293
|
+
).toContain("evaluate-smart-notes");
|
|
294
|
+
});
|