@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
package/src/v2/tui/index.ts
CHANGED
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
import { createElement, spread } from "@opentui/solid";
|
|
2
2
|
import { COMPACTION_ENABLED_PATH } from "../../config/agent-disable";
|
|
3
|
-
import {
|
|
3
|
+
import { log } from "../../shared/logger";
|
|
4
4
|
import { pluginPackageVersion } from "../../shared/plugin-package-version";
|
|
5
5
|
import type { SidebarSnapshot, StatusDetail } from "../../shared/rpc-types";
|
|
6
6
|
import { buildUnavailableStatusView } from "../../shared/status-view";
|
|
7
7
|
import { statusVersionNotice } from "../../shared/status-view-check";
|
|
8
8
|
import { compactionOffSidebarRows, nativeCompactionContextLabel } from "../../tui/compaction-off";
|
|
9
9
|
import {
|
|
10
|
-
type CommandRpcResult,
|
|
11
10
|
closeRpc,
|
|
12
11
|
getCompartmentCount,
|
|
13
12
|
initRpcClient,
|
|
14
13
|
loadSidebarSnapshot,
|
|
15
14
|
loadStatusDetail,
|
|
16
|
-
requestDream,
|
|
17
|
-
requestEmbed,
|
|
18
|
-
requestFlush,
|
|
19
15
|
requestRecomp,
|
|
20
|
-
requestWrapup,
|
|
21
16
|
type StatusDetailResult,
|
|
22
17
|
} from "../../tui/data/context-db";
|
|
23
18
|
import {
|
|
@@ -29,7 +24,7 @@ import { directoryForSession } from "../../tui/data/session-directory";
|
|
|
29
24
|
import { eventSessionID } from "./events";
|
|
30
25
|
import { mountV1Sidebar, sessionDirectory, type V1SidebarMount } from "./sidebar-mount";
|
|
31
26
|
import { mountV1StatusDialog, type V1StatusDialogMount } from "./status-dialog-mount";
|
|
32
|
-
import type {
|
|
27
|
+
import type { V2SidebarState, V2TuiContext } from "./types";
|
|
33
28
|
|
|
34
29
|
const SIDEBAR_REFRESH_MS = 1_000;
|
|
35
30
|
const inflight = new Set<string>();
|
|
@@ -174,6 +169,9 @@ type JsxFactory = (type: string, props: Record<string, unknown>) => unknown;
|
|
|
174
169
|
|
|
175
170
|
export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Promise<() => void> {
|
|
176
171
|
const directory = context.location?.directory ?? context.data.location.default().directory;
|
|
172
|
+
// The server command registry is the single /ctx-* registration for OpenCode 2.
|
|
173
|
+
// This TUI handles its notifications; a keymap slash layer would duplicate the
|
|
174
|
+
// palette entries and would not be available to clients without a TUI.
|
|
177
175
|
initRpcClient(directory);
|
|
178
176
|
const [sidebar, updateSidebar] = context.storage.memory<V2SidebarState>(
|
|
179
177
|
"magic-context.sidebar.v2",
|
|
@@ -264,22 +262,6 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
264
262
|
return requested;
|
|
265
263
|
};
|
|
266
264
|
|
|
267
|
-
const showDream = async (task?: string) => {
|
|
268
|
-
const target = currentSessionID(context);
|
|
269
|
-
if (!target) {
|
|
270
|
-
context.ui.toast.show({ message: "No active session", variant: "warning" });
|
|
271
|
-
return false;
|
|
272
|
-
}
|
|
273
|
-
const started = await requestDream(target, task);
|
|
274
|
-
context.ui.toast.show({
|
|
275
|
-
message: started
|
|
276
|
-
? "Dream run started; the summary appears when it finishes"
|
|
277
|
-
: "Dream request failed",
|
|
278
|
-
variant: started ? "info" : "error",
|
|
279
|
-
});
|
|
280
|
-
return started;
|
|
281
|
-
};
|
|
282
|
-
|
|
283
265
|
// One sidebar: the OpenCode 1 component, mounted on the v2 slot through the
|
|
284
266
|
// host's own OpenTUI runtime. `mountV1Sidebar` returns null only when the
|
|
285
267
|
// host registers no runtime modules to load it through, which is the single
|
|
@@ -311,196 +293,6 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
311
293
|
},
|
|
312
294
|
});
|
|
313
295
|
|
|
314
|
-
// Every /ctx-* command this host can reach goes through the keymap layer:
|
|
315
|
-
// OpenCode 2 has no `command.execute.before` hook, so the server-side command
|
|
316
|
-
// handler the OpenCode 1 plugin uses never runs here. Each `run` calls the
|
|
317
|
-
// RPC handler that does the same server-side work and reports back through a
|
|
318
|
-
// dialog or toast, because this host has no ignored-message chat carrier.
|
|
319
|
-
const runCommandRpc = async (
|
|
320
|
-
title: string,
|
|
321
|
-
call: (sessionID: string) => Promise<CommandRpcResult>,
|
|
322
|
-
pending?: string,
|
|
323
|
-
): Promise<boolean> => {
|
|
324
|
-
const target = currentSessionID(context);
|
|
325
|
-
if (!target) {
|
|
326
|
-
context.ui.toast.show({ message: "No active session", variant: "warning" });
|
|
327
|
-
return false;
|
|
328
|
-
}
|
|
329
|
-
const result = await call(target);
|
|
330
|
-
if (!result.ok) {
|
|
331
|
-
context.ui.toast.show({
|
|
332
|
-
message: result.error ?? `${title} request failed`,
|
|
333
|
-
variant: "error",
|
|
334
|
-
});
|
|
335
|
-
return false;
|
|
336
|
-
}
|
|
337
|
-
// A started background run has no text yet; its outcome arrives later as a
|
|
338
|
-
// show-result-dialog notification.
|
|
339
|
-
if (result.started) {
|
|
340
|
-
context.ui.toast.show({ message: pending ?? `${title} started`, variant: "info" });
|
|
341
|
-
return true;
|
|
342
|
-
}
|
|
343
|
-
if (currentSessionID(context) !== target) return false;
|
|
344
|
-
await context.ui.dialog.alert({ title, message: result.message ?? "" });
|
|
345
|
-
return true;
|
|
346
|
-
};
|
|
347
|
-
|
|
348
|
-
// OpenCode 2 runs plugin setup() outside the TUI component tree, where
|
|
349
|
-
// context.keymap.layer() throws "Keymap.Provider is missing" (the provider is
|
|
350
|
-
// a Solid context). Try the direct call first (hosts that do run setup
|
|
351
|
-
// in-tree), then fall back to the app slot: its render executes inside the
|
|
352
|
-
// component tree, the same place the host's own built-in plugins register
|
|
353
|
-
// their layers.
|
|
354
|
-
const buildKeymapLayer = (): V2KeymapLayer => ({
|
|
355
|
-
mode: "global",
|
|
356
|
-
commands: [
|
|
357
|
-
{
|
|
358
|
-
id: "magic-context.status",
|
|
359
|
-
title: "Magic Context: Status",
|
|
360
|
-
group: "Magic Context",
|
|
361
|
-
palette: true,
|
|
362
|
-
slash: { name: "ctx-status" },
|
|
363
|
-
run: async () => {
|
|
364
|
-
await showStatus();
|
|
365
|
-
},
|
|
366
|
-
},
|
|
367
|
-
{
|
|
368
|
-
id: "magic-context.recomp",
|
|
369
|
-
title: "Magic Context: Recomp",
|
|
370
|
-
group: "Magic Context",
|
|
371
|
-
palette: true,
|
|
372
|
-
slash: { name: "ctx-recomp" },
|
|
373
|
-
run: async () => {
|
|
374
|
-
await showRecomp();
|
|
375
|
-
},
|
|
376
|
-
},
|
|
377
|
-
{
|
|
378
|
-
id: "magic-context.dream",
|
|
379
|
-
title: "Magic Context: Dream",
|
|
380
|
-
group: "Magic Context",
|
|
381
|
-
palette: true,
|
|
382
|
-
slash: { name: "ctx-dream", arguments: true },
|
|
383
|
-
run: async (input) => {
|
|
384
|
-
await showDream(input?.trim() || undefined);
|
|
385
|
-
},
|
|
386
|
-
},
|
|
387
|
-
{
|
|
388
|
-
id: "magic-context.flush",
|
|
389
|
-
title: "Magic Context: Flush",
|
|
390
|
-
group: "Magic Context",
|
|
391
|
-
palette: true,
|
|
392
|
-
slash: { name: "ctx-flush" },
|
|
393
|
-
run: async () => {
|
|
394
|
-
const flushed = await runCommandRpc("Flush", requestFlush);
|
|
395
|
-
if (flushed) void refresh(currentSessionID(context) ?? "", true);
|
|
396
|
-
},
|
|
397
|
-
},
|
|
398
|
-
{
|
|
399
|
-
id: "magic-context.embed",
|
|
400
|
-
title: "Magic Context: Embed",
|
|
401
|
-
group: "Magic Context",
|
|
402
|
-
palette: true,
|
|
403
|
-
slash: { name: "ctx-embed", arguments: true },
|
|
404
|
-
run: async (input) => {
|
|
405
|
-
const argument = input?.trim().toLowerCase() ?? "";
|
|
406
|
-
if (argument !== "" && argument !== "start" && argument !== "pause") {
|
|
407
|
-
context.ui.toast.show({
|
|
408
|
-
message:
|
|
409
|
-
"Usage: /ctx-embed (status), /ctx-embed start, or /ctx-embed pause",
|
|
410
|
-
variant: "warning",
|
|
411
|
-
});
|
|
412
|
-
return;
|
|
413
|
-
}
|
|
414
|
-
const action = argument === "" ? "status" : argument;
|
|
415
|
-
await runCommandRpc(
|
|
416
|
-
"Embed",
|
|
417
|
-
(sessionID) => requestEmbed(sessionID, action, directory),
|
|
418
|
-
"Embedding started; the summary appears when it finishes",
|
|
419
|
-
);
|
|
420
|
-
},
|
|
421
|
-
},
|
|
422
|
-
{
|
|
423
|
-
id: "magic-context.wrapup",
|
|
424
|
-
title: "Magic Context: Wrapup",
|
|
425
|
-
group: "Magic Context",
|
|
426
|
-
palette: true,
|
|
427
|
-
slash: { name: "ctx-wrapup", arguments: true },
|
|
428
|
-
run: async (input) => {
|
|
429
|
-
const argument = input?.trim() ?? "";
|
|
430
|
-
if (argument !== "" && !/^\d+$/.test(argument)) {
|
|
431
|
-
context.ui.toast.show({
|
|
432
|
-
message:
|
|
433
|
-
"Usage: /ctx-wrapup [messages_to_keep] where messages_to_keep is a positive integer",
|
|
434
|
-
variant: "warning",
|
|
435
|
-
});
|
|
436
|
-
return;
|
|
437
|
-
}
|
|
438
|
-
const messagesToKeep = argument === "" ? 20 : Number.parseInt(argument, 10);
|
|
439
|
-
if (messagesToKeep <= 0) {
|
|
440
|
-
context.ui.toast.show({
|
|
441
|
-
message: "messages_to_keep must be a positive integer",
|
|
442
|
-
variant: "warning",
|
|
443
|
-
});
|
|
444
|
-
return;
|
|
445
|
-
}
|
|
446
|
-
await runCommandRpc(
|
|
447
|
-
"Wrapup",
|
|
448
|
-
(sessionID) => requestWrapup(sessionID, messagesToKeep),
|
|
449
|
-
"Wrapup started; the summary appears when it finishes",
|
|
450
|
-
);
|
|
451
|
-
},
|
|
452
|
-
},
|
|
453
|
-
],
|
|
454
|
-
});
|
|
455
|
-
let keymapLayerRegistered = false;
|
|
456
|
-
let keymapGapLogged = false;
|
|
457
|
-
const registerKeymapLayer = (): boolean => {
|
|
458
|
-
if (keymapLayerRegistered) return true;
|
|
459
|
-
try {
|
|
460
|
-
context.keymap.layer(buildKeymapLayer);
|
|
461
|
-
keymapLayerRegistered = true;
|
|
462
|
-
// The accepted layer is the only place that knows which slash commands
|
|
463
|
-
// this host actually got, so report them from it. Anything missing here
|
|
464
|
-
// is missing from the host's command palette too. It goes to the
|
|
465
|
-
// diagnostic log because a TUI host owns the screen and drops plugin
|
|
466
|
-
// console output.
|
|
467
|
-
const registered = `registered slash commands: ${buildKeymapLayer()
|
|
468
|
-
.commands.map((command) => command.slash.name)
|
|
469
|
-
.join(" ")}`;
|
|
470
|
-
log(`[magic-context] ${registered}`);
|
|
471
|
-
// Startup lines are worth an immediate write: a TUI that exits or is
|
|
472
|
-
// killed before the next buffer flush would otherwise leave no record
|
|
473
|
-
// of which commands this host received.
|
|
474
|
-
flushLogger();
|
|
475
|
-
return true;
|
|
476
|
-
} catch (error) {
|
|
477
|
-
if (!(error instanceof Error) || error.message !== "Keymap.Provider is missing")
|
|
478
|
-
throw error;
|
|
479
|
-
return false;
|
|
480
|
-
}
|
|
481
|
-
};
|
|
482
|
-
let unregisterKeymapSlot: (() => void) | undefined;
|
|
483
|
-
if (!registerKeymapLayer()) {
|
|
484
|
-
unregisterKeymapSlot = context.ui.slot({
|
|
485
|
-
append: "app",
|
|
486
|
-
render: () => {
|
|
487
|
-
let registered = false;
|
|
488
|
-
try {
|
|
489
|
-
registered = registerKeymapLayer();
|
|
490
|
-
} catch (error) {
|
|
491
|
-
log("[magic-context] keymap.layer registration failed", error);
|
|
492
|
-
}
|
|
493
|
-
if (!registered && !keymapGapLogged) {
|
|
494
|
-
keymapGapLogged = true;
|
|
495
|
-
log(
|
|
496
|
-
"[magic-context] OpenCode 2 keymap.layer is unavailable; /ctx-status, /ctx-recomp, /ctx-dream, /ctx-flush, /ctx-embed and /ctx-wrapup were not registered",
|
|
497
|
-
);
|
|
498
|
-
}
|
|
499
|
-
return null;
|
|
500
|
-
},
|
|
501
|
-
});
|
|
502
|
-
}
|
|
503
|
-
|
|
504
296
|
// Only the text projection needs the sidebar snapshot store; the mounted
|
|
505
297
|
// component keeps its own snapshot and subscribes to the same event stream
|
|
506
298
|
// itself.
|
|
@@ -537,6 +329,7 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
537
329
|
if (notification.payload.action === "refresh-sidebar" && target) {
|
|
538
330
|
if (mountedSidebar) mountedSidebar.refresh();
|
|
539
331
|
else await refresh(target, true);
|
|
332
|
+
log(`[magic-context] sidebar refresh requested for session ${target}`);
|
|
540
333
|
return true;
|
|
541
334
|
}
|
|
542
335
|
if (notification.payload.action === "show-result-dialog") {
|
|
@@ -565,7 +358,6 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
565
358
|
mountedSidebar?.dispose();
|
|
566
359
|
mountedSidebar = null;
|
|
567
360
|
statusDialog = null;
|
|
568
|
-
unregisterKeymapSlot?.();
|
|
569
361
|
stopListening();
|
|
570
362
|
stopNotificationSocket();
|
|
571
363
|
closeRpc();
|
package/src/v2/tui/types.ts
CHANGED
|
@@ -119,23 +119,11 @@ export interface V2TuiContext {
|
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
/**
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
export type V2SlotClaim =
|
|
128
|
-
| {
|
|
129
|
-
readonly append: "sidebar.content";
|
|
130
|
-
readonly render: (input: { readonly sessionID: string }) => unknown;
|
|
131
|
-
}
|
|
132
|
-
| {
|
|
133
|
-
readonly append: "app";
|
|
134
|
-
readonly render: (input: Readonly<Record<string, never>>) => unknown;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
/** The layer object `context.keymap.layer()` accepts, derived from the context type. */
|
|
138
|
-
export type V2KeymapLayer = ReturnType<Parameters<V2TuiContext["keymap"]["layer"]>[0]>;
|
|
122
|
+
/** The sidebar slot used by the OpenCode 2 TUI. */
|
|
123
|
+
export type V2SlotClaim = {
|
|
124
|
+
readonly append: "sidebar.content";
|
|
125
|
+
readonly render: (input: { readonly sessionID: string }) => unknown;
|
|
126
|
+
};
|
|
139
127
|
|
|
140
128
|
export interface V2SidebarState {
|
|
141
129
|
snapshots: Record<string, SidebarSnapshot | undefined>;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
export interface FakeSubcRoute {
|
|
2
|
-
target: Record<string, unknown>;
|
|
3
|
-
identity: Record<string, unknown>;
|
|
4
|
-
consumerIdentity: unknown;
|
|
5
|
-
}
|
|
6
|
-
export interface FakeSubcCall {
|
|
7
|
-
route: FakeSubcRoute;
|
|
8
|
-
method: string;
|
|
9
|
-
params: unknown;
|
|
10
|
-
}
|
|
11
|
-
/** `result` is sent as `{"result": ...}`; `error` as an Error frame; `hang` never answers. */
|
|
12
|
-
export type FakeSubcReply = {
|
|
13
|
-
result: unknown;
|
|
14
|
-
} | {
|
|
15
|
-
error: {
|
|
16
|
-
code: string;
|
|
17
|
-
message: string;
|
|
18
|
-
};
|
|
19
|
-
} | {
|
|
20
|
-
hang: true;
|
|
21
|
-
};
|
|
22
|
-
export interface FakeSubcDaemon {
|
|
23
|
-
readonly connectionFile: string;
|
|
24
|
-
readonly port: number;
|
|
25
|
-
/** Every route.open, in arrival order. */
|
|
26
|
-
readonly routeOpens: FakeSubcRoute[];
|
|
27
|
-
/** Every data-plane request, in arrival order. */
|
|
28
|
-
readonly calls: FakeSubcCall[];
|
|
29
|
-
close(): Promise<void>;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Start the fake daemon and write its connection file (mode 0600, as the real
|
|
33
|
-
* client requires) at `connectionFile`.
|
|
34
|
-
*/
|
|
35
|
-
export declare function startFakeSubcDaemon(connectionFile: string, respond: (call: FakeSubcCall) => FakeSubcReply | Promise<FakeSubcReply>): Promise<FakeSubcDaemon>;
|
|
36
|
-
/**
|
|
37
|
-
* The fleet as the checkout-claim check sees it: ALF maps sessions to agents,
|
|
38
|
-
* engram reports each agent's claim. Anything not listed answers as ALF and
|
|
39
|
-
* engram do for unknown subjects (`agent_id: null`, an unclaimed epoch-0 view).
|
|
40
|
-
*/
|
|
41
|
-
export declare function fakeFleetResponder(fleet: {
|
|
42
|
-
agents: Record<string, string>;
|
|
43
|
-
claims: Record<string, Record<string, unknown>>;
|
|
44
|
-
}): (call: FakeSubcCall) => FakeSubcReply;
|
|
45
|
-
//# sourceMappingURL=checkout-claim-fake-subc.test-support.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-claim-fake-subc.test-support.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/checkout-claim-fake-subc.test-support.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,8FAA8F;AAC9F,MAAM,MAAM,aAAa,GACnB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAErB,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAkDD;;;GAGG;AACH,wBAAsB,mBAAmB,CACrC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GACxE,OAAO,CAAC,cAAc,CAAC,CAkHzB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,aAAa,CAqBxC"}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
export declare const ALF_MODULE_ID = "prefrontal-core";
|
|
2
|
-
export declare const ALF_AGENT_FOR_HOST_SESSION_OP = "agent.for_host_session";
|
|
3
|
-
export declare const ENGRAM_MODULE_ID = "engram";
|
|
4
|
-
export declare const ENGRAM_AGENT_SYNC_SERVICE_ID = "agent-sync";
|
|
5
|
-
export declare const ENGRAM_CLAIM_READ_OP = "claim.read";
|
|
6
|
-
/** How long an admitted verdict (checked or not) is reused for a session. */
|
|
7
|
-
export declare const CHECKOUT_CLAIM_TTL_MS = 60000;
|
|
8
|
-
/**
|
|
9
|
-
* How long a refusal is reused. Short, so that a turn retried after the agent
|
|
10
|
-
* moves back to this machine goes through without waiting out the full TTL,
|
|
11
|
-
* while the several passes of one refused turn still share one check.
|
|
12
|
-
*/
|
|
13
|
-
export declare const CHECKOUT_CLAIM_REFUSAL_RECHECK_MS = 5000;
|
|
14
|
-
/** The whole check (connect, both queries) must finish within this budget. */
|
|
15
|
-
export declare const CHECKOUT_CLAIM_CHECK_TIMEOUT_MS = 1500;
|
|
16
|
-
export declare const CHECKOUT_CLAIM_REFUSAL_CODE = "checkout_claim_held_elsewhere";
|
|
17
|
-
/** ALF's harness names for host sessions. OMP runs the Pi plugin and its sessions are Pi's. */
|
|
18
|
-
export type CheckoutClaimHarness = "opencode" | "pi";
|
|
19
|
-
export type CheckoutClaimOutcome = {
|
|
20
|
-
verdict: "admit";
|
|
21
|
-
reason: "no_agent" | "held_here" | "unclaimed" | "not_held_elsewhere";
|
|
22
|
-
agentId: string | null;
|
|
23
|
-
epoch?: number;
|
|
24
|
-
} | {
|
|
25
|
-
verdict: "admit_unchecked";
|
|
26
|
-
reason: "not_configured" | "error" | "timeout" | "invalid_reply";
|
|
27
|
-
stage: "connect" | "agent" | "claim";
|
|
28
|
-
agentId?: string;
|
|
29
|
-
code?: string;
|
|
30
|
-
detail: string;
|
|
31
|
-
} | {
|
|
32
|
-
verdict: "refuse";
|
|
33
|
-
agentId: string;
|
|
34
|
-
holder: string | null;
|
|
35
|
-
epoch: number | null;
|
|
36
|
-
};
|
|
37
|
-
/** One connected client for a single check. Each query resolves to the module's reply body. */
|
|
38
|
-
export interface CheckoutClaimConnection {
|
|
39
|
-
agentForHostSession(params: {
|
|
40
|
-
harness: CheckoutClaimHarness;
|
|
41
|
-
session: string;
|
|
42
|
-
}, timeoutMs: number): Promise<unknown>;
|
|
43
|
-
claimRead(params: {
|
|
44
|
-
subject: string;
|
|
45
|
-
}, timeoutMs: number): Promise<unknown>;
|
|
46
|
-
close(): void;
|
|
47
|
-
}
|
|
48
|
-
/** Opens a connection for one check, or returns null when subc is not configured on this machine. */
|
|
49
|
-
export type CheckoutClaimConnector = (args: {
|
|
50
|
-
harness: CheckoutClaimHarness;
|
|
51
|
-
sessionId: string;
|
|
52
|
-
projectRoot: string;
|
|
53
|
-
timeoutMs: number;
|
|
54
|
-
}) => Promise<CheckoutClaimConnection | null>;
|
|
55
|
-
export declare function renderCheckoutClaimRefusal(holder: string | null, epoch: number | null): string;
|
|
56
|
-
/** The turn is refused because another machine holds the session's agent. */
|
|
57
|
-
export declare class CheckoutClaimRefusalError extends Error {
|
|
58
|
-
readonly code = "checkout_claim_held_elsewhere";
|
|
59
|
-
readonly userFacingCode: "MC-C16";
|
|
60
|
-
readonly agentId: string;
|
|
61
|
-
readonly holder: string | null;
|
|
62
|
-
readonly epoch: number | null;
|
|
63
|
-
constructor(args: {
|
|
64
|
-
agentId: string;
|
|
65
|
-
holder: string | null;
|
|
66
|
-
epoch: number | null;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
/** Matches the refusal across bundled copies of this module, which do not share the class. */
|
|
70
|
-
export declare function isCheckoutClaimRefusalError(error: unknown): error is CheckoutClaimRefusalError;
|
|
71
|
-
type ParsedAgent = {
|
|
72
|
-
ok: true;
|
|
73
|
-
agentId: string | null;
|
|
74
|
-
} | {
|
|
75
|
-
ok: false;
|
|
76
|
-
detail: string;
|
|
77
|
-
};
|
|
78
|
-
export declare function parseAgentForHostSessionReply(reply: unknown): ParsedAgent;
|
|
79
|
-
type ParsedClaim = {
|
|
80
|
-
ok: true;
|
|
81
|
-
heldElsewhere: boolean;
|
|
82
|
-
heldHere: boolean;
|
|
83
|
-
epoch: number;
|
|
84
|
-
holder: string | null;
|
|
85
|
-
} | {
|
|
86
|
-
ok: false;
|
|
87
|
-
detail: string;
|
|
88
|
-
};
|
|
89
|
-
export declare function parseClaimReadReply(reply: unknown): ParsedClaim;
|
|
90
|
-
/**
|
|
91
|
-
* Run one check end to end within `timeoutMs`. Never throws: every way the
|
|
92
|
-
* check can fail to finish is an `admit_unchecked` outcome.
|
|
93
|
-
*/
|
|
94
|
-
export declare function readCheckoutClaim(args: {
|
|
95
|
-
connector: CheckoutClaimConnector;
|
|
96
|
-
harness: CheckoutClaimHarness;
|
|
97
|
-
sessionId: string;
|
|
98
|
-
projectRoot: string;
|
|
99
|
-
timeoutMs: number;
|
|
100
|
-
now?: () => number;
|
|
101
|
-
}): Promise<CheckoutClaimOutcome>;
|
|
102
|
-
/**
|
|
103
|
-
* The production connector: a fresh subc client per check, authenticated as a
|
|
104
|
-
* direct caller (both queries admit direct callers), closed when the check ends.
|
|
105
|
-
*/
|
|
106
|
-
export declare function subcCheckoutClaimConnector(connectionFile: () => string): CheckoutClaimConnector;
|
|
107
|
-
export interface CheckoutClaimGateOptions {
|
|
108
|
-
harness: CheckoutClaimHarness;
|
|
109
|
-
connector: CheckoutClaimConnector;
|
|
110
|
-
/** Runs one check; tests substitute it to drive the cache with fixed outcomes. */
|
|
111
|
-
read?: typeof readCheckoutClaim;
|
|
112
|
-
ttlMs?: number;
|
|
113
|
-
refusalRecheckMs?: number;
|
|
114
|
-
timeoutMs?: number;
|
|
115
|
-
now?: () => number;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Per-process gate over {@link readCheckoutClaim}: caches each session's
|
|
119
|
-
* verdict, shares one in-flight check per session, and turns a refusal into
|
|
120
|
-
* {@link CheckoutClaimRefusalError}.
|
|
121
|
-
*/
|
|
122
|
-
export declare class CheckoutClaimGate {
|
|
123
|
-
readonly harness: CheckoutClaimHarness;
|
|
124
|
-
private readonly connector;
|
|
125
|
-
private readonly read;
|
|
126
|
-
private readonly ttlMs;
|
|
127
|
-
private readonly refusalRecheckMs;
|
|
128
|
-
private readonly timeoutMs;
|
|
129
|
-
private readonly now;
|
|
130
|
-
private readonly cache;
|
|
131
|
-
private readonly inFlight;
|
|
132
|
-
constructor(options: CheckoutClaimGateOptions);
|
|
133
|
-
/** The session's verdict, from the cache while it is fresh. */
|
|
134
|
-
check(sessionId: string, projectRoot: string): Promise<CheckoutClaimOutcome>;
|
|
135
|
-
/** The refusal to raise for this session, or null when it is admitted. */
|
|
136
|
-
refusal(sessionId: string, projectRoot: string): Promise<CheckoutClaimRefusalError | null>;
|
|
137
|
-
/** Throws {@link CheckoutClaimRefusalError} when another machine holds the session's agent. */
|
|
138
|
-
enforce(sessionId: string, projectRoot: string): Promise<void>;
|
|
139
|
-
/** Drop a session's cached verdict so its next pass checks again. */
|
|
140
|
-
forget(sessionId: string): void;
|
|
141
|
-
private runCheck;
|
|
142
|
-
}
|
|
143
|
-
/** The gate production hosts use: subc's connection file, ALF and engram over it. */
|
|
144
|
-
export declare function createSubcCheckoutClaimGate(harness: CheckoutClaimHarness, connectionFile: () => string): CheckoutClaimGate;
|
|
145
|
-
/**
|
|
146
|
-
* The session an OpenCode 1 bus event belongs to, or undefined for events that
|
|
147
|
-
* name none. Session lifecycle events carry it as `info.id`; message events as
|
|
148
|
-
* `info.sessionID`; part events as `part.sessionID`; the rest as `sessionID`.
|
|
149
|
-
*/
|
|
150
|
-
export declare function openCodeEventSessionId(event: {
|
|
151
|
-
type?: unknown;
|
|
152
|
-
properties?: unknown;
|
|
153
|
-
}): string | undefined;
|
|
154
|
-
export {};
|
|
155
|
-
//# sourceMappingURL=checkout-claim.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-claim.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/checkout-claim.ts"],"names":[],"mappings":"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"}
|