@cortexkit/opencode-magic-context 0.44.4 → 0.45.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/hidden-agent-registrations.d.ts +3 -2
- package/dist/agents/hidden-agent-registrations.d.ts.map +1 -1
- package/dist/agents/magic-context-prompt.d.ts +1 -0
- package/dist/agents/magic-context-prompt.d.ts.map +1 -1
- package/dist/agents/permissions.d.ts +8 -28
- package/dist/agents/permissions.d.ts.map +1 -1
- package/dist/{announcement-n8hs7kjw.js → announcement-f75t58v9.js} +4 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/project-security.d.ts +48 -0
- package/dist/config/project-security.d.ts.map +1 -1
- package/dist/config/raw-loader.d.ts.map +1 -1
- package/dist/config/schema/magic-context.d.ts +10 -7
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/{conflict-warning-hook-hmpzxep6.js → conflict-warning-hook-5yrz2r24.js} +10 -6
- package/dist/{derive-budgets-ncwn1jk9.js → derive-budgets-a63zsm5c.js} +3 -3
- package/dist/embedding-worker.js +49 -0
- package/dist/emscripten-module-0g8f45e6.js +602 -0
- package/dist/emscripten-module-0pekdjxz.js +1532 -0
- package/dist/emscripten-module-e67xwsp3.js +503 -0
- package/dist/emscripten-module-pj1vyb44.js +4559 -0
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts +23 -3
- package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
- package/dist/features/magic-context/compartment-embedding.d.ts.map +1 -1
- package/dist/features/magic-context/compartment-storage.d.ts +14 -3
- package/dist/features/magic-context/compartment-storage.d.ts.map +1 -1
- package/dist/features/magic-context/context-store-uuid.d.ts +7 -0
- package/dist/features/magic-context/context-store-uuid.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/classify.d.ts +1 -3
- package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/cron.d.ts +5 -4
- package/dist/features/magic-context/dreamer/cron.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/docs-proposals.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/expire-memories.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/idle-schedule-prune.d.ts +24 -0
- package/dist/features/magic-context/dreamer/idle-schedule-prune.d.ts.map +1 -0
- package/dist/features/magic-context/dreamer/manual-summary.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/map-memories.d.ts +5 -5
- package/dist/features/magic-context/dreamer/module-apply.d.ts +4 -25
- package/dist/features/magic-context/dreamer/module-apply.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/retrospective-learnings.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +5 -1
- package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts +12 -5
- package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-executor.d.ts +6 -0
- package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-gates.d.ts +34 -0
- package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-prompts.d.ts +1 -1
- package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-registry.d.ts +7 -5
- package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts +10 -3
- package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/token-budget.d.ts +3 -0
- package/dist/features/magic-context/dreamer/token-budget.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/verify.d.ts +2 -2
- package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
- package/dist/features/magic-context/git-commits/git-log-reader.d.ts +11 -2
- package/dist/features/magic-context/git-commits/git-log-reader.d.ts.map +1 -1
- package/dist/features/magic-context/git-commits/indexer.d.ts.map +1 -1
- package/dist/features/magic-context/git-commits/search-git-commits.d.ts.map +1 -1
- package/dist/features/magic-context/git-commits/storage-git-commits.d.ts +2 -0
- package/dist/features/magic-context/git-commits/storage-git-commits.d.ts.map +1 -1
- package/dist/features/magic-context/legacy-authority-fixture.test-support.d.ts +6 -0
- package/dist/features/magic-context/legacy-authority-fixture.test-support.d.ts.map +1 -0
- package/dist/features/magic-context/lkg-prefix-chunks.d.ts +53 -0
- package/dist/features/magic-context/lkg-prefix-chunks.d.ts.map +1 -0
- package/dist/features/magic-context/memory/embedding-backfill.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-local.d.ts +8 -0
- package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-worker-client.d.ts +27 -0
- package/dist/features/magic-context/memory/embedding-worker-client.d.ts.map +1 -0
- package/dist/features/magic-context/memory/embedding-worker.d.ts +2 -0
- package/dist/features/magic-context/memory/embedding-worker.d.ts.map +1 -0
- package/dist/features/magic-context/memory/embedding-worker.fixture.d.ts +2 -0
- package/dist/features/magic-context/memory/embedding-worker.fixture.d.ts.map +1 -0
- package/dist/features/magic-context/memory/memory-selection.d.ts.map +1 -1
- package/dist/features/magic-context/memory/project-identity-cache.d.ts +4 -3
- package/dist/features/magic-context/memory/project-identity-cache.d.ts.map +1 -1
- package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
- package/dist/features/magic-context/memory/storage-memory-fts.d.ts.map +1 -1
- package/dist/features/magic-context/memory/visibility.d.ts +1 -1
- package/dist/features/magic-context/memory/visibility.d.ts.map +1 -1
- package/dist/features/magic-context/message-fts-rowid-map.d.ts +14 -1
- package/dist/features/magic-context/message-fts-rowid-map.d.ts.map +1 -1
- package/dist/features/magic-context/message-fts-session-filter.d.ts +14 -0
- package/dist/features/magic-context/message-fts-session-filter.d.ts.map +1 -0
- package/dist/features/magic-context/message-index.d.ts +1 -7
- package/dist/features/magic-context/message-index.d.ts.map +1 -1
- package/dist/features/magic-context/message-time-backfill.d.ts.map +1 -1
- package/dist/features/magic-context/migration-v94-write-split.d.ts +62 -0
- package/dist/features/magic-context/migration-v94-write-split.d.ts.map +1 -0
- package/dist/features/magic-context/migration-worker-client.d.ts +23 -0
- package/dist/features/magic-context/migration-worker-client.d.ts.map +1 -0
- package/dist/features/magic-context/migration-worker-protocol.d.ts +30 -0
- package/dist/features/magic-context/migration-worker-protocol.d.ts.map +1 -0
- package/dist/features/magic-context/migration-worker.d.ts +2 -0
- package/dist/features/magic-context/migration-worker.d.ts.map +1 -0
- package/dist/features/magic-context/migrations.d.ts +7 -0
- package/dist/features/magic-context/migrations.d.ts.map +1 -1
- package/dist/features/magic-context/mural/render-mural.d.ts +24 -2
- package/dist/features/magic-context/mural/render-mural.d.ts.map +1 -1
- package/dist/features/magic-context/mural/render-trigger.d.ts +1 -1
- package/dist/features/magic-context/mural/render-trigger.d.ts.map +1 -1
- package/dist/features/magic-context/overflow-detection.d.ts +18 -7
- package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts +2 -0
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/range-parser.d.ts +2 -3
- package/dist/features/magic-context/range-parser.d.ts.map +1 -1
- package/dist/features/magic-context/resolve-subagent-fallback.d.ts +2 -0
- package/dist/features/magic-context/resolve-subagent-fallback.d.ts.map +1 -1
- package/dist/features/magic-context/scheduler.d.ts +2 -0
- package/dist/features/magic-context/scheduler.d.ts.map +1 -1
- package/dist/features/magic-context/search.d.ts +7 -0
- package/dist/features/magic-context/search.d.ts.map +1 -1
- package/dist/features/magic-context/session-project-backfill.d.ts.map +1 -1
- package/dist/features/magic-context/session-project-storage.d.ts +10 -1
- package/dist/features/magic-context/session-project-storage.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts +1 -1
- package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/compiler.d.ts +4 -0
- package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts +2 -0
- package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts +10 -8
- package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/storage.d.ts +2 -2
- package/dist/features/magic-context/smart-notes/storage.d.ts.map +1 -1
- package/dist/features/magic-context/smart-notes/types.d.ts +7 -2
- package/dist/features/magic-context/smart-notes/types.d.ts.map +1 -1
- package/dist/features/magic-context/storage-caveman-rules.d.ts +21 -0
- package/dist/features/magic-context/storage-caveman-rules.d.ts.map +1 -0
- package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
- package/dist/features/magic-context/storage-compartment-history-version.d.ts +4 -0
- package/dist/features/magic-context/storage-compartment-history-version.d.ts.map +1 -0
- package/dist/features/magic-context/storage-db.d.ts +62 -2
- package/dist/features/magic-context/storage-db.d.ts.map +1 -1
- package/dist/features/magic-context/storage-identity-merge.d.ts +6 -0
- package/dist/features/magic-context/storage-identity-merge.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-persisted.d.ts +15 -0
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-session.d.ts +1 -1
- package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-shared.d.ts +1 -1
- package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
- package/dist/features/magic-context/storage-notes.d.ts +2 -2
- package/dist/features/magic-context/storage-notes.d.ts.map +1 -1
- package/dist/features/magic-context/storage-reasoning-removal.d.ts +30 -0
- package/dist/features/magic-context/storage-reasoning-removal.d.ts.map +1 -0
- package/dist/features/magic-context/storage-replay-document.d.ts +42 -5
- package/dist/features/magic-context/storage-replay-document.d.ts.map +1 -1
- package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
- package/dist/features/magic-context/storage-tags.d.ts +7 -1
- package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
- package/dist/features/magic-context/storage.d.ts +1 -1
- package/dist/features/magic-context/storage.d.ts.map +1 -1
- package/dist/features/magic-context/store-generation-rebase.d.ts.map +1 -1
- package/dist/features/magic-context/tag-input.d.ts +4 -0
- package/dist/features/magic-context/tag-input.d.ts.map +1 -0
- package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
- package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
- package/dist/features/magic-context/user-memory/storage-user-memory.d.ts.map +1 -1
- package/dist/ffi-3cx1cxpk.js +78 -0
- package/dist/ffi-7bqqe4cd.js +91 -0
- package/dist/ffi-7e6gryj5.js +91 -0
- package/dist/ffi-bpvkebwr.js +78 -0
- package/dist/hooks/magic-context/apply-operations.d.ts +9 -1
- package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-deadline.d.ts +10 -0
- package/dist/hooks/magic-context/auto-search-deadline.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-hint.d.ts +3 -0
- package/dist/hooks/magic-context/auto-search-hint.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-runner.d.ts +3 -0
- package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/caveman-cleanup.d.ts +8 -1
- package/dist/hooks/magic-context/caveman-cleanup.d.ts.map +1 -1
- package/dist/hooks/magic-context/caveman.d.ts +56 -1
- package/dist/hooks/magic-context/caveman.d.ts.map +1 -1
- package/dist/hooks/magic-context/child-session-spawn.d.ts +2 -0
- package/dist/hooks/magic-context/child-session-spawn.d.ts.map +1 -1
- package/dist/hooks/magic-context/command-handler.d.ts +1 -1
- package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts +1 -1
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-parser.d.ts +3 -3
- package/dist/hooks/magic-context/compartment-parser.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +0 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-partial-recomp.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 -0
- package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-validation.d.ts +6 -0
- package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
- package/dist/hooks/magic-context/degraded-pass-refusal.d.ts +35 -0
- package/dist/hooks/magic-context/degraded-pass-refusal.d.ts.map +1 -0
- package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -1
- package/dist/hooks/magic-context/dropped-input-guard.d.ts.map +1 -1
- package/dist/hooks/magic-context/embed-history-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/emergency-drop.d.ts +15 -0
- package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/execute-status.d.ts +1 -0
- package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
- package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +17 -0
- package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
- package/dist/hooks/magic-context/heuristic-cleanup.d.ts +2 -0
- package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
- package/dist/hooks/magic-context/historian-host-runner.d.ts +5 -0
- package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/historian-prompt-fit.d.ts +116 -0
- package/dist/hooks/magic-context/historian-prompt-fit.d.ts.map +1 -0
- package/dist/hooks/magic-context/historian-prompt.generated.d.ts +1 -1
- package/dist/hooks/magic-context/historian-prompt.generated.d.ts.map +1 -1
- package/dist/hooks/magic-context/history-boundary-repair.d.ts +44 -0
- package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -0
- package/dist/hooks/magic-context/hook.d.ts +4 -0
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/inject-compartments.d.ts +8 -0
- package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-persist.d.ts +12 -0
- package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
- package/dist/hooks/magic-context/lkg-replay-fit.d.ts +104 -0
- package/dist/hooks/magic-context/lkg-replay-fit.d.ts.map +1 -0
- package/dist/hooks/magic-context/lkg-replay.d.ts +64 -0
- package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-client.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-state-sync-timing.d.ts +1 -1
- package/dist/hooks/magic-context/module-state-sync-timing.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-state-sync.d.ts +6 -68
- package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-tool-backends.d.ts +1 -34
- package/dist/hooks/magic-context/module-tool-backends.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-transport.d.ts +1 -55
- package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
- package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
- package/dist/hooks/magic-context/note-nudger.d.ts +2 -0
- package/dist/hooks/magic-context/note-nudger.d.ts.map +1 -1
- package/dist/hooks/magic-context/pass-outcome.d.ts +59 -2
- package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -1
- package/dist/hooks/magic-context/producer-window-guard.d.ts +6 -0
- package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-chunk.d.ts +13 -2
- package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-formatting.d.ts +11 -0
- package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
- package/dist/hooks/magic-context/reasoning-removal.d.ts +60 -0
- package/dist/hooks/magic-context/reasoning-removal.d.ts.map +1 -0
- package/dist/hooks/magic-context/recomp-orchestrator.d.ts +1 -0
- package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
- package/dist/hooks/magic-context/reference-retrieval.d.ts +1 -1
- package/dist/hooks/magic-context/reference-retrieval.d.ts.map +1 -1
- package/dist/hooks/magic-context/reply-pages.d.ts +3 -0
- package/dist/hooks/magic-context/reply-pages.d.ts.map +1 -0
- package/dist/hooks/magic-context/rust-lkg-freeze-registry.d.ts +62 -0
- package/dist/hooks/magic-context/rust-lkg-freeze-registry.d.ts.map +1 -0
- package/dist/hooks/magic-context/rust-mode-transform.d.ts +17 -85
- package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
- package/dist/hooks/magic-context/sentinel.d.ts +35 -0
- package/dist/hooks/magic-context/sentinel.d.ts.map +1 -1
- package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts +28 -0
- package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts.map +1 -0
- package/dist/hooks/magic-context/single-store-refusal.d.ts +14 -0
- package/dist/hooks/magic-context/single-store-refusal.d.ts.map +1 -0
- package/dist/hooks/magic-context/storage-busy-refusal.d.ts +7 -0
- package/dist/hooks/magic-context/storage-busy-refusal.d.ts.map +1 -1
- package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
- package/dist/hooks/magic-context/stripped-command.d.ts +1 -1
- package/dist/hooks/magic-context/stripped-command.d.ts.map +1 -1
- package/dist/hooks/magic-context/system-injection-stripper.d.ts +7 -0
- package/dist/hooks/magic-context/system-injection-stripper.d.ts.map +1 -1
- package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
- package/dist/hooks/magic-context/tag-content-primitives.d.ts.map +1 -1
- package/dist/hooks/magic-context/tag-id-fallback.d.ts.map +1 -1
- package/dist/hooks/magic-context/tag-messages.d.ts +18 -1
- package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
- package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
- package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts +1 -0
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +37 -4
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts +12 -39
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/unmanaged-over-window.d.ts +36 -0
- package/dist/hooks/magic-context/unmanaged-over-window.d.ts.map +1 -0
- package/dist/hooks/magic-context/unresolved-history-boundary.d.ts +15 -0
- package/dist/hooks/magic-context/unresolved-history-boundary.d.ts.map +1 -0
- package/dist/hooks/magic-context/user-profile-render.d.ts +3 -0
- package/dist/hooks/magic-context/user-profile-render.d.ts.map +1 -0
- package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
- package/dist/{index-sqp1hz9v.js → index-16ny736w.js} +10190 -25296
- package/dist/{index-mrc0twf3.js → index-2aq21j41.js} +1201 -428
- package/dist/{index-32b096cc.js → index-2ntg5sd4.js} +6 -2
- package/dist/index-4krbw8z9.js +6034 -0
- package/dist/{index-33q7s9y2.js → index-75zjgwga.js} +61 -85
- package/dist/{index-zx7pmr39.js → index-8fgkmxmy.js} +28 -10
- package/dist/index-a4m2b1yv.js +530 -0
- package/dist/index-anq4nn6f.js +131 -0
- package/dist/index-avwt563y.js +62 -0
- package/dist/index-bmzf7zxv.js +445 -0
- package/dist/index-e44zzy84.js +10 -0
- package/dist/index-en1k8h8m.js +244 -0
- package/dist/{index-638hf49n.js → index-f85teqck.js} +15 -6
- package/dist/index-fr2z4qy8.js +7810 -0
- package/dist/{index-kwe03yde.js → index-fzbvakh0.js} +1 -1
- package/dist/{module-asyncify-2EFITU5U-rkqjhjxd.js → index-g20jdh0p.js} +114 -105
- package/dist/index-gd5qx1j9.js +398 -0
- package/dist/{index-3bygzk2d.js → index-hybnrwq0.js} +169 -4
- package/dist/{index-jqcbs2k1.js → index-mc22ayvf.js} +24 -5
- package/dist/index-q7yesyk9.js +9118 -0
- package/dist/index-remp7e2g.js +214 -0
- package/dist/{index-7k55qm8a.js → index-sfpzqvdz.js} +8 -8
- package/dist/{index-msqr3x6m.js → index-vvtfyw1z.js} +12 -75
- package/dist/index-w9jwmntv.js +202 -0
- package/dist/{index-kr5qehbd.js → index-x23gah8c.js} +1 -1
- package/dist/{index-jdxxq8cz.js → index-x8a7jmkh.js} +6 -1
- package/dist/{index-wprsye9w.js → index-xgt9k6c6.js} +23 -12
- package/dist/index-y8v6yerm.js +77 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7519 -8096
- package/dist/message-time-backfill-an311pmk.js +124 -0
- package/dist/migration-worker.js +53 -0
- package/dist/{model-resolution-dxatzjde.js → model-resolution-xhfmyyvy.js} +5 -1
- package/dist/module-ES6BEMUI-3cet1pyp.js +12 -0
- package/dist/module-asyncify-2EFITU5U-c2razzd9.js +6 -0
- package/dist/plugin/boot-deadline.d.ts.map +1 -1
- package/dist/plugin/conflict-warning-hook.d.ts.map +1 -1
- package/dist/plugin/dream-timer-module-client.d.ts +1 -11
- package/dist/plugin/dream-timer-module-client.d.ts.map +1 -1
- package/dist/plugin/dream-timer.d.ts.map +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +8 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/messages-transform.d.ts +20 -13
- package/dist/plugin/messages-transform.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/plugin/stale-build-notice.d.ts +16 -0
- package/dist/plugin/stale-build-notice.d.ts.map +1 -0
- package/dist/{read-session-chunk-339hg90t.js → read-session-chunk-8rxs0tc9.js} +24 -6
- package/dist/recomp-orchestrator-nzamtw29.js +39 -0
- package/dist/{rpc-notifications-4amf6mf4.js → rpc-notifications-3hed126v.js} +3 -1
- package/dist/{safe-notification-target-50gm9c58.js → safe-notification-target-43r8jsxw.js} +3 -3
- package/dist/send-session-notification-nqpv7cne.js +28 -0
- package/dist/shared/assistant-message-extractor.d.ts +4 -0
- package/dist/shared/assistant-message-extractor.d.ts.map +1 -1
- package/dist/shared/background-batch-drain.d.ts +8 -0
- package/dist/shared/background-batch-drain.d.ts.map +1 -0
- package/dist/{features/builtin-commands/commands.d.ts → shared/builtin-commands.d.ts} +1 -1
- package/dist/shared/builtin-commands.d.ts.map +1 -0
- package/dist/shared/embedding-activity.d.ts +13 -0
- package/dist/shared/embedding-activity.d.ts.map +1 -0
- package/dist/shared/historian-tool-expansions.d.ts +5 -0
- package/dist/shared/historian-tool-expansions.d.ts.map +1 -0
- package/dist/shared/historian-tool-template.d.ts +5 -0
- package/dist/shared/historian-tool-template.d.ts.map +1 -0
- package/dist/shared/historian-transient-error.d.ts +2 -0
- package/dist/shared/historian-transient-error.d.ts.map +1 -0
- package/dist/shared/jsonc-edit.d.ts.map +1 -1
- package/dist/shared/logger.d.ts +7 -0
- package/dist/shared/logger.d.ts.map +1 -1
- package/dist/shared/model-suggestion-retry.d.ts +2 -1
- package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
- package/dist/shared/models-dev-cache.d.ts.map +1 -1
- package/dist/shared/off-thread-migration-clock.d.ts +38 -0
- package/dist/shared/off-thread-migration-clock.d.ts.map +1 -0
- package/dist/shared/plugin-package-version.d.ts +14 -0
- package/dist/shared/plugin-package-version.d.ts.map +1 -0
- package/dist/shared/project-directory-key.d.ts +26 -0
- package/dist/shared/project-directory-key.d.ts.map +1 -0
- package/dist/shared/prompt-async-transport.d.ts +4 -0
- package/dist/shared/prompt-async-transport.d.ts.map +1 -1
- package/dist/shared/prompt-surface-runtime.d.ts +3 -3
- package/dist/shared/provider-response-completion.d.ts +12 -0
- package/dist/shared/provider-response-completion.d.ts.map +1 -0
- package/dist/shared/redaction.d.ts.map +1 -1
- package/dist/shared/rpc-client.d.ts +23 -2
- package/dist/shared/rpc-client.d.ts.map +1 -1
- package/dist/shared/rpc-types.d.ts +19 -0
- package/dist/shared/rpc-types.d.ts.map +1 -1
- package/dist/shared/rpc-utils.d.ts +34 -0
- package/dist/shared/rpc-utils.d.ts.map +1 -1
- package/dist/shared/sqlite.d.ts +13 -2
- package/dist/shared/sqlite.d.ts.map +1 -1
- package/dist/shared/stale-plugin-build.d.ts +21 -0
- package/dist/shared/stale-plugin-build.d.ts.map +1 -0
- package/dist/shared/status-summary.d.ts +29 -0
- package/dist/shared/status-summary.d.ts.map +1 -1
- package/dist/shared/status-view-check.d.ts +124 -0
- package/dist/shared/status-view-check.d.ts.map +1 -0
- package/dist/shared/status-view.d.ts +38 -2
- package/dist/shared/status-view.d.ts.map +1 -1
- package/dist/shared/tag-owner-id.d.ts +19 -0
- package/dist/shared/tag-owner-id.d.ts.map +1 -0
- package/dist/shared/tag-transcript.d.ts +2 -1
- package/dist/shared/tag-transcript.d.ts.map +1 -1
- package/dist/shared/test-temp-dir.d.ts +8 -2
- package/dist/shared/test-temp-dir.d.ts.map +1 -1
- package/dist/shared/user-facing-codes.d.ts +41 -6
- package/dist/shared/user-facing-codes.d.ts.map +1 -1
- package/dist/shared/xml-unescape.d.ts +9 -0
- package/dist/shared/xml-unescape.d.ts.map +1 -0
- package/dist/task-config-v81k8jvk.js +17 -0
- package/dist/tools/ctx-expand/constants.d.ts +1 -1
- package/dist/tools/ctx-expand/constants.d.ts.map +1 -1
- package/dist/tools/ctx-expand/mode.d.ts +4 -0
- package/dist/tools/ctx-expand/mode.d.ts.map +1 -1
- package/dist/tools/ctx-expand/render.d.ts +5 -1
- package/dist/tools/ctx-expand/render.d.ts.map +1 -1
- package/dist/tools/ctx-expand/tools.d.ts +2 -0
- package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
- package/dist/tools/ctx-expand/types.d.ts +1 -0
- package/dist/tools/ctx-expand/types.d.ts.map +1 -1
- package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
- package/dist/tools/ctx-note/render.d.ts +2 -0
- package/dist/tools/ctx-note/render.d.ts.map +1 -1
- package/dist/tools/ctx-note/tools.d.ts.map +1 -1
- package/dist/tools/ctx-reduce/constants.d.ts +1 -1
- package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
- package/dist/tools/ctx-search/constants.d.ts +1 -1
- package/dist/tools/ctx-search/constants.d.ts.map +1 -1
- package/dist/tools/light-descriptions.d.ts +3 -3
- package/dist/tools/light-descriptions.d.ts.map +1 -1
- package/dist/tools/parameter-descriptions.d.ts +14 -14
- package/dist/transform-postprocess-phase-414phndq.js +61 -0
- package/dist/tui/data/context-db.d.ts +34 -10
- package/dist/tui/data/context-db.d.ts.map +1 -1
- package/dist/tui/data/notification-socket.d.ts +6 -0
- package/dist/tui/data/notification-socket.d.ts.map +1 -1
- package/dist/tui/data/session-directory.d.ts +16 -0
- package/dist/tui/data/session-directory.d.ts.map +1 -0
- package/dist/tui-compiled/data/context-db.d.ts +34 -10
- package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
- package/dist/tui-compiled/data/notification-socket.d.ts +6 -0
- package/dist/tui-compiled/data/notification-socket.d.ts.map +1 -1
- package/dist/tui-compiled/data/session-directory.d.ts +16 -0
- package/dist/tui-compiled/data/session-directory.d.ts.map +1 -0
- package/dist/v2/derive-budgets-v0krf3t7.js +18 -0
- package/dist/v2/embedding-worker.js +47 -0
- package/dist/v2/emscripten-module-0g8f45e6.js +602 -0
- package/dist/v2/emscripten-module-0pekdjxz.js +1532 -0
- package/dist/v2/emscripten-module-e67xwsp3.js +503 -0
- package/dist/v2/emscripten-module-pj1vyb44.js +4559 -0
- package/dist/v2/ffi-3cx1cxpk.js +78 -0
- package/dist/v2/ffi-7bqqe4cd.js +91 -0
- package/dist/v2/ffi-7e6gryj5.js +91 -0
- package/dist/v2/ffi-bpvkebwr.js +78 -0
- package/dist/v2/fold/boundary.d.ts.map +1 -1
- package/dist/v2/fork-inheritance.d.ts +101 -0
- package/dist/v2/fork-inheritance.d.ts.map +1 -0
- package/dist/v2/hidden-child-cleanup.d.ts +11 -0
- package/dist/v2/hidden-child-cleanup.d.ts.map +1 -0
- package/dist/v2/hidden-child-native.d.ts +29 -0
- package/dist/v2/hidden-child-native.d.ts.map +1 -0
- package/dist/v2/hidden-child-record.d.ts +135 -0
- package/dist/v2/hidden-child-record.d.ts.map +1 -0
- package/dist/v2/hidden-completion.d.ts +12 -97
- package/dist/v2/hidden-completion.d.ts.map +1 -1
- package/dist/v2/hooks/context.d.ts +20 -8
- package/dist/v2/hooks/context.d.ts.map +1 -1
- package/dist/v2/hooks/dream-manual.d.ts.map +1 -1
- package/dist/v2/hooks/dream-trigger.d.ts +5 -0
- package/dist/v2/hooks/dream-trigger.d.ts.map +1 -1
- package/dist/v2/hooks/generate.d.ts +10 -0
- package/dist/v2/hooks/generate.d.ts.map +1 -0
- package/dist/v2/hooks/hidden-child.d.ts +33 -2
- package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
- package/dist/v2/hooks/payload.d.ts +3 -0
- package/dist/v2/hooks/payload.d.ts.map +1 -1
- package/dist/v2/hooks/session-api-gate.d.ts +4 -0
- package/dist/v2/hooks/session-api-gate.d.ts.map +1 -0
- package/dist/v2/hooks/storage-gate.d.ts +3 -1
- package/dist/v2/hooks/storage-gate.d.ts.map +1 -1
- package/dist/v2/hooks/tools.d.ts.map +1 -1
- package/dist/v2/hooks/types.d.ts +10 -0
- package/dist/v2/hooks/types.d.ts.map +1 -1
- package/dist/v2/hooks/update-check.d.ts.map +1 -1
- package/dist/v2/hooks/usage-persist.d.ts.map +1 -1
- package/dist/v2/hooks/usage-reading.d.ts +4 -0
- package/dist/v2/hooks/usage-reading.d.ts.map +1 -1
- package/dist/v2/index-6e4mwffh.js +5662 -0
- package/dist/v2/index-en1k8h8m.js +244 -0
- package/dist/{message-time-backfill-q374fxc5.js → v2/message-time-backfill-0n93vrd7.js} +19 -5
- package/dist/v2/migration-worker.js +52 -0
- package/dist/v2/model-resolution-xhfmyyvy.js +16 -0
- package/dist/v2/module-ES6BEMUI-3cet1pyp.js +12 -0
- package/dist/v2/module-asyncify-2EFITU5U-c2razzd9.js +6 -0
- package/dist/v2/prompt-context-5y5ms8f9.js +6 -0
- package/dist/v2/read-session-chunk-hjza38hr.js +83 -0
- package/dist/v2/recomp-orchestrator-1aq7h44c.js +36 -0
- package/dist/v2/retrospective-raw-provider.d.ts +21 -0
- package/dist/v2/retrospective-raw-provider.d.ts.map +1 -0
- package/dist/v2/rpc-notifications-3hed126v.js +16 -0
- package/dist/v2/safe-notification-target-wtj0bbc2.js +9 -0
- package/dist/{send-session-notification-04hvd54c.js → v2/send-session-notification-mq9frrtm.js} +10 -5
- package/dist/v2/server-0jqw05sa.js +803 -0
- package/dist/v2/server-5317ykaf.js +40 -0
- package/dist/v2/server-a4m2b1yv.js +530 -0
- package/dist/v2/server-avwt563y.js +62 -0
- package/dist/v2/server-c4g2y1z8.js +28824 -0
- package/dist/v2/server-ckpc8pxy.js +662 -0
- package/dist/v2/server-e36nf2p1.js +7702 -0
- package/dist/v2/server-e44zzy84.js +10 -0
- package/dist/v2/server-fgmxwrgy.js +16 -0
- package/dist/v2/server-fmsr7v69.js +75 -0
- package/dist/v2/server-g20jdh0p.js +1273 -0
- package/dist/{index-qm36k34q.js → v2/server-hfjfbg59.js} +796 -737
- package/dist/v2/server-n96ag4rk.js +633 -0
- package/dist/v2/server-qdjnb2z1.js +181 -0
- package/dist/v2/server-qpg6wf72.js +187 -0
- package/dist/v2/server-r7cmye3k.js +131 -0
- package/dist/v2/server-remp7e2g.js +214 -0
- package/dist/v2/server-rhdgxp1t.js +398 -0
- package/dist/v2/server-sfpzqvdz.js +137 -0
- package/dist/v2/server-syahy8j8.js +50 -0
- package/dist/v2/server-v5xgft5v.js +9116 -0
- package/dist/v2/server-w99cyt6a.js +361 -0
- package/dist/v2/server-x8a7jmkh.js +104 -0
- package/dist/v2/server-y8v6yerm.js +77 -0
- package/dist/v2/server-z19x7eqz.js +423 -0
- package/dist/v2/server.d.ts.map +1 -1
- package/dist/v2/server.js +8796 -107376
- package/dist/v2/store-reader.d.ts +50 -0
- package/dist/v2/store-reader.d.ts.map +1 -1
- package/dist/v2/task-config-tbndqyny.js +17 -0
- package/dist/v2/transformers-node-wasm.js +26768 -0
- package/dist/v2/transformers-web.js +25670 -0
- package/dist/v2/transformers.node-hj754h7s.js +29997 -0
- package/dist/v2/tui/index.d.ts +10 -1
- package/dist/v2/tui/index.d.ts.map +1 -1
- package/dist/v2/tui/sidebar-mount.d.ts +6 -0
- package/dist/v2/tui/sidebar-mount.d.ts.map +1 -1
- package/dist/v2/tui/status-dialog-mount.d.ts +7 -4
- package/dist/v2/tui/status-dialog-mount.d.ts.map +1 -1
- package/dist/v2/tui/types.d.ts +12 -0
- package/dist/v2/tui/types.d.ts.map +1 -1
- package/dist/v2/wrapup-orchestrator-tbyx78dz.js +425 -0
- package/dist/wrapup-orchestrator-h28bqsy6.js +26 -0
- package/package.json +8 -8
- package/src/agents/hidden-agent-registrations.ts +24 -16
- package/src/agents/magic-context-prompt.test.ts +41 -0
- package/src/agents/magic-context-prompt.ts +8 -5
- package/src/agents/permissions.test.ts +31 -49
- package/src/agents/permissions.ts +8 -28
- package/src/config/index.test.ts +60 -20
- package/src/config/index.ts +53 -1
- package/src/config/live-run-config.test.ts +5 -5
- package/src/config/live-snapshot.test.ts +4 -4
- package/src/config/migrate-config-location.test.ts +3 -10
- package/src/config/project-config-trust-boundary.test.ts +207 -0
- package/src/config/project-security.hostile-matrix.test.ts +4 -4
- package/src/config/project-security.ts +218 -1
- package/src/config/protected-tokens.test.ts +14 -9
- package/src/config/raw-loader.test.ts +31 -3
- package/src/config/raw-loader.ts +8 -3
- package/src/config/schema/magic-context.ts +20 -3
- package/src/config/variable.test.ts +3 -2
- package/src/features/magic-context/dreamer/cron.ts +30 -9
- package/src/features/magic-context/dreamer/task-registry.ts +7 -5
- package/src/shared/announcement.test.ts +2 -1
- package/src/shared/assistant-message-extractor.test.ts +27 -1
- package/src/shared/assistant-message-extractor.ts +27 -0
- package/src/shared/background-batch-drain.test.ts +38 -0
- package/src/shared/background-batch-drain.ts +29 -0
- package/src/shared/builtin-commands.ts +50 -0
- package/src/shared/console-diagnostics-fence.test.ts +145 -0
- package/src/shared/data-path.test.ts +6 -5
- package/src/shared/embedding-activity.test.ts +21 -0
- package/src/shared/embedding-activity.ts +36 -0
- package/src/shared/historian-tool-defaults.json +13 -0
- package/src/shared/historian-tool-expansions.ts +18 -0
- package/src/shared/historian-tool-template.ts +248 -0
- package/src/shared/historian-transient-error.test.ts +36 -0
- package/src/shared/historian-transient-error.ts +22 -0
- package/src/shared/jsonc-edit.ts +20 -1
- package/src/shared/logger.test.ts +3 -2
- package/src/shared/logger.ts +40 -1
- package/src/shared/model-suggestion-retry.test.ts +46 -0
- package/src/shared/model-suggestion-retry.ts +16 -1
- package/src/shared/models-dev-cache.test.ts +74 -2
- package/src/shared/models-dev-cache.ts +5 -1
- package/src/shared/off-thread-migration-clock.test.ts +55 -0
- package/src/shared/off-thread-migration-clock.ts +124 -0
- package/src/shared/opencode-db-path.test.ts +3 -2
- package/src/shared/plugin-package-version.ts +52 -0
- package/src/shared/project-directory-key.test.ts +111 -0
- package/src/shared/project-directory-key.ts +54 -0
- package/src/shared/prompt-async-transport.test.ts +249 -72
- package/src/shared/prompt-async-transport.ts +131 -24
- package/src/shared/prompt-surface-a1-golden.md +41 -25
- package/src/shared/prompt-surface-runtime.test.ts +3 -3
- package/src/shared/provider-response-completion.ts +23 -0
- package/src/shared/redaction.test.ts +51 -1
- package/src/shared/redaction.ts +33 -0
- package/src/shared/rpc-async-probes.test.ts +32 -2
- package/src/shared/rpc-client.test.ts +3 -2
- package/src/shared/rpc-client.ts +76 -18
- package/src/shared/rpc-types.ts +15 -0
- package/src/shared/rpc-utils.test.ts +164 -10
- package/src/shared/rpc-utils.ts +144 -15
- package/src/shared/sqlite-acquisition-routing.test.ts +46 -3
- package/src/shared/sqlite-pass-scope.test.ts +3 -2
- package/src/shared/sqlite-transaction-mode-guard.test.ts +4 -0
- package/src/shared/sqlite-writer-diagnostics.test.ts +134 -0
- package/src/shared/sqlite.ts +225 -41
- package/src/shared/stale-plugin-build.test.ts +129 -0
- package/src/shared/stale-plugin-build.ts +151 -0
- package/src/shared/status-summary.ts +40 -13
- package/src/shared/status-view-check.test.ts +253 -0
- package/src/shared/status-view-check.ts +536 -0
- package/src/shared/status-view.test.ts +6 -1
- package/src/shared/status-view.ts +176 -4
- package/src/shared/storage-busy.test.ts +3 -2
- package/src/shared/tag-owner-id.test.ts +33 -0
- package/src/shared/tag-owner-id.ts +29 -0
- package/src/shared/tag-transcript.ts +13 -2
- package/src/shared/test-temp-dir-policy.test.ts +33 -0
- package/src/shared/test-temp-dir.test.ts +27 -0
- package/src/shared/test-temp-dir.ts +36 -12
- package/src/shared/tui-config.test.ts +6 -5
- package/src/shared/tui-preferences.test.ts +3 -2
- package/src/shared/user-facing-codes.ts +52 -6
- package/src/shared/window-geometry.test.ts +3 -2
- package/src/shared/write-transaction-attribution.test.ts +11 -7
- package/src/shared/write-transaction-hold-clock.test.ts +160 -0
- package/src/shared/xml-unescape.ts +19 -0
- package/src/tui/data/context-db.test.ts +92 -4
- package/src/tui/data/context-db.ts +184 -18
- package/src/tui/data/notification-socket.test.ts +49 -2
- package/src/tui/data/notification-socket.ts +47 -9
- package/src/tui/data/session-directory.ts +19 -0
- package/src/tui/dialogs/status-dialog-render.test.ts +284 -0
- package/src/tui/dialogs/status-dialog.tsx +41 -38
- package/src/tui/index.tsx +30 -18
- package/src/tui/slots/sidebar-content.tsx +9 -2
- package/src/tui-compiled/data/context-db.ts +184 -18
- package/src/tui-compiled/data/notification-socket.ts +47 -9
- package/src/tui-compiled/data/session-directory.ts +19 -0
- package/src/tui-compiled/dialogs/status-dialog.tsx +38 -29
- package/src/tui-compiled/index.tsx +29 -16
- package/src/tui-compiled/slots/sidebar-content.tsx +3 -2
- package/src/v2/tui/host-contract.test.ts +9 -10
- package/src/v2/tui/index.ts +78 -23
- package/src/v2/tui/load-compiled-sidebar.d.mts +5 -1
- package/src/v2/tui/load-compiled-status-dialog.d.mts +3 -2
- package/src/v2/tui/session-directory.test.ts +53 -0
- package/src/v2/tui/sidebar-mount.ts +19 -1
- package/src/v2/tui/status-dialog-mount.ts +10 -7
- package/src/v2/tui/types.ts +10 -0
- package/dist/features/builtin-commands/commands.d.ts.map +0 -1
- package/dist/features/builtin-commands/types.d.ts +0 -3
- package/dist/features/builtin-commands/types.d.ts.map +0 -1
- package/dist/features/magic-context/context-authority.d.ts +0 -272
- package/dist/features/magic-context/context-authority.d.ts.map +0 -1
- package/dist/features/magic-context/memory/mirror-reembed.d.ts +0 -22
- package/dist/features/magic-context/memory/mirror-reembed.d.ts.map +0 -1
- package/dist/hooks/magic-context/historian-state-file.d.ts +0 -43
- package/dist/hooks/magic-context/historian-state-file.d.ts.map +0 -1
- package/dist/index-4an2p8qa.js +0 -1056
- package/dist/index-rn7gafjr.js +0 -8
- package/dist/index-v6t0tg85.js +0 -13
- package/dist/plugin/memory-id-translation.d.ts +0 -109
- package/dist/plugin/memory-id-translation.d.ts.map +0 -1
- package/dist/plugin/rust-note-backend.d.ts +0 -84
- package/dist/plugin/rust-note-backend.d.ts.map +0 -1
- package/dist/recomp-orchestrator-0ers6smx.js +0 -22
- package/dist/task-config-2bm68628.js +0 -9
- package/dist/transform-postprocess-phase-ttdkrm6r.js +0 -36
- package/dist/v2/host-service.d.ts +0 -66
- package/dist/v2/host-service.d.ts.map +0 -1
- package/dist/wrapup-orchestrator-x0jvvrqn.js +0 -19
- /package/dist/{index-s70wtd8k.js → index-q6hef7fh.js} +0 -0
|
@@ -11,6 +11,7 @@ import { For, Show, createEffect, createMemo, createSignal, on, onCleanup } from
|
|
|
11
11
|
import packageJson from "../../../package.json";
|
|
12
12
|
import { badgeTextColor } from "../badge-contrast";
|
|
13
13
|
import { loadSidebarSnapshot } from "../data/context-db";
|
|
14
|
+
import { directoryForSession } from "../data/session-directory";
|
|
14
15
|
import { formatThresholdPercent } from "../../shared/format-threshold";
|
|
15
16
|
import { renderUserFacingFailure } from "../../shared/user-facing-codes";
|
|
16
17
|
import { compactionOffSidebarRows, nativeCompactionContextLabel } from "../compaction-off";
|
|
@@ -563,7 +564,7 @@ const SidebarContent = props => {
|
|
|
563
564
|
const sid = props.sessionID();
|
|
564
565
|
if (!sid) return;
|
|
565
566
|
const sequence = ++snapshotRequestSequence;
|
|
566
|
-
const directory = props.api.state.path.directory ?? "";
|
|
567
|
+
const directory = directoryForSession(props.api.state.session?.get?.(sid)?.directory, props.api.state.path.directory ?? "");
|
|
567
568
|
void loadSidebarSnapshot(sid, directory).then(data => {
|
|
568
569
|
// Guard against a session switch while this load was in flight:
|
|
569
570
|
// painting session A's snapshot into the now-active session B shows
|
|
@@ -623,7 +624,7 @@ const SidebarContent = props => {
|
|
|
623
624
|
return;
|
|
624
625
|
}
|
|
625
626
|
const sequence = ++snapshotRequestSequence;
|
|
626
|
-
const directory = props.api.state.path.directory ?? "";
|
|
627
|
+
const directory = directoryForSession(props.api.state.session?.get?.(sid)?.directory, props.api.state.path.directory ?? "");
|
|
627
628
|
void loadSidebarSnapshot(sid, directory).then(data => {
|
|
628
629
|
if (!recompActive || recompSessionId !== sid || props.sessionID() !== sid || sequence !== snapshotRequestSequence) return;
|
|
629
630
|
const phase = data?.recompProgress?.phase;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { afterEach, expect, test } from "bun:test";
|
|
2
|
-
import {
|
|
1
|
+
import { afterEach, expect, spyOn, test } from "bun:test";
|
|
2
|
+
import { rmSync } from "node:fs";
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { resolve } from "node:path";
|
|
5
5
|
import { Host } from "@opencode/plugin/host";
|
|
6
|
+
import * as logger from "../../shared/logger";
|
|
7
|
+
import { createTestTempDirFromPath } from "../../shared/test-temp-dir";
|
|
6
8
|
import { setupWithJsx } from "./index";
|
|
7
9
|
import type { V2SidebarState, V2SlotClaim, V2TuiContext } from "./types";
|
|
8
10
|
|
|
@@ -177,11 +179,8 @@ test("GA 2.0.5 keeps the sidebar when the app-slot keymap registration also fail
|
|
|
177
179
|
throw new Error("Keymap.Provider is missing");
|
|
178
180
|
},
|
|
179
181
|
});
|
|
180
|
-
|
|
181
|
-
const
|
|
182
|
-
console.warn = (...args: unknown[]) => {
|
|
183
|
-
warnings.push(args.map(String).join(" "));
|
|
184
|
-
};
|
|
182
|
+
// The gap is recorded in the plugin log; the TUI host drops console output.
|
|
183
|
+
const logged = spyOn(logger, "log");
|
|
185
184
|
try {
|
|
186
185
|
const cleanup = await setupWithJsx(fixture.context, (type, props) => ({ type, props }));
|
|
187
186
|
expect(fixture.claims.map((claim) => claim.append)).toEqual(["sidebar.content", "app"]);
|
|
@@ -191,11 +190,11 @@ test("GA 2.0.5 keeps the sidebar when the app-slot keymap registration also fail
|
|
|
191
190
|
appClaim.render({});
|
|
192
191
|
expect(fixture.layers).toHaveLength(0);
|
|
193
192
|
expect(
|
|
194
|
-
|
|
193
|
+
logged.mock.calls.filter(([line]) => line.includes("keymap.layer is unavailable")),
|
|
195
194
|
).toHaveLength(1);
|
|
196
195
|
cleanup();
|
|
197
196
|
} finally {
|
|
198
|
-
|
|
197
|
+
logged.mockRestore();
|
|
199
198
|
}
|
|
200
199
|
});
|
|
201
200
|
|
|
@@ -225,7 +224,7 @@ test("OpenCode 1.18.30 TUI loader projection executes unchanged sidebar registra
|
|
|
225
224
|
expect(plugin.server).toBeUndefined();
|
|
226
225
|
expect(typeof plugin.setup).toBe("function");
|
|
227
226
|
|
|
228
|
-
const directory =
|
|
227
|
+
const directory = createTestTempDirFromPath(resolve(tmpdir(), "mc-v1-tui-union-"));
|
|
229
228
|
temporary.push(directory);
|
|
230
229
|
const fixture = v1Api(directory);
|
|
231
230
|
const previousCompactionOverride = process.env.OPENCODE_DISABLE_AUTOCOMPACT;
|
package/src/v2/tui/index.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { jsx } from "@opentui/solid/jsx-runtime";
|
|
2
2
|
import { COMPACTION_ENABLED_PATH } from "../../config/agent-disable";
|
|
3
3
|
import { flushLogger, log } from "../../shared/logger";
|
|
4
|
+
import { pluginPackageVersion } from "../../shared/plugin-package-version";
|
|
4
5
|
import type { SidebarSnapshot, StatusDetail } from "../../shared/rpc-types";
|
|
6
|
+
import { buildUnavailableStatusView } from "../../shared/status-view";
|
|
7
|
+
import { statusVersionNotice } from "../../shared/status-view-check";
|
|
5
8
|
import { compactionOffSidebarRows, nativeCompactionContextLabel } from "../../tui/compaction-off";
|
|
6
9
|
import {
|
|
7
10
|
type CommandRpcResult,
|
|
@@ -15,14 +18,16 @@ import {
|
|
|
15
18
|
requestFlush,
|
|
16
19
|
requestRecomp,
|
|
17
20
|
requestWrapup,
|
|
21
|
+
type StatusDetailResult,
|
|
18
22
|
} from "../../tui/data/context-db";
|
|
19
23
|
import {
|
|
20
24
|
type SocketNotification,
|
|
21
25
|
startNotificationSocket,
|
|
22
26
|
stopNotificationSocket,
|
|
23
27
|
} from "../../tui/data/notification-socket";
|
|
28
|
+
import { directoryForSession } from "../../tui/data/session-directory";
|
|
24
29
|
import { eventSessionID } from "./events";
|
|
25
|
-
import { mountV1Sidebar, type V1SidebarMount } from "./sidebar-mount";
|
|
30
|
+
import { mountV1Sidebar, sessionDirectory, type V1SidebarMount } from "./sidebar-mount";
|
|
26
31
|
import { mountV1StatusDialog, type V1StatusDialogMount } from "./status-dialog-mount";
|
|
27
32
|
import type { V2KeymapLayer, V2SidebarState, V2TuiContext } from "./types";
|
|
28
33
|
|
|
@@ -83,7 +88,24 @@ export function sidebarText(snapshot: SidebarSnapshot | undefined): string {
|
|
|
83
88
|
*
|
|
84
89
|
* Exported for test access.
|
|
85
90
|
*/
|
|
86
|
-
export function statusText(
|
|
91
|
+
export function statusText(
|
|
92
|
+
detail: Pick<
|
|
93
|
+
StatusDetail,
|
|
94
|
+
| "contextLimit"
|
|
95
|
+
| "usagePercentage"
|
|
96
|
+
| "inputTokens"
|
|
97
|
+
| "compaction_enabled"
|
|
98
|
+
| "historianRunning"
|
|
99
|
+
| "compartmentCount"
|
|
100
|
+
| "memoryBlockCount"
|
|
101
|
+
| "memoryCount"
|
|
102
|
+
| "pendingOpsCount"
|
|
103
|
+
| "configGeneration"
|
|
104
|
+
| "configAdoptedAt"
|
|
105
|
+
| "configReloadFailure"
|
|
106
|
+
| "lastTransformError"
|
|
107
|
+
>,
|
|
108
|
+
): string {
|
|
87
109
|
const context =
|
|
88
110
|
detail.contextLimit > 0
|
|
89
111
|
? `${detail.usagePercentage.toFixed(1)}% (${compactTokens(detail.inputTokens)}/${compactTokens(detail.contextLimit)} tokens)`
|
|
@@ -114,6 +136,35 @@ export function statusText(detail: StatusDetail): string {
|
|
|
114
136
|
].join("\n");
|
|
115
137
|
}
|
|
116
138
|
|
|
139
|
+
/**
|
|
140
|
+
* Plain-text status for one checked result: the status lines above, or the
|
|
141
|
+
* "status unavailable" view as text when there is no usable snapshot. A
|
|
142
|
+
* server/UI version difference is named first in both cases.
|
|
143
|
+
*
|
|
144
|
+
* Exported for test access.
|
|
145
|
+
*/
|
|
146
|
+
export function statusTextFor(status: StatusDetailResult): string {
|
|
147
|
+
if (status.state === "unavailable") {
|
|
148
|
+
const view = buildUnavailableStatusView(status.reason, status.versions, {
|
|
149
|
+
version: pluginPackageVersion() ?? "unknown",
|
|
150
|
+
});
|
|
151
|
+
return [
|
|
152
|
+
`${view.headline.left.text}: ${view.headline.right.text}`,
|
|
153
|
+
...view.sections.flatMap((section) =>
|
|
154
|
+
section.rows.map((row) => `${row.label}: ${row.value}`),
|
|
155
|
+
),
|
|
156
|
+
...view.warnings.map((warning) => warning.text),
|
|
157
|
+
].join("\n");
|
|
158
|
+
}
|
|
159
|
+
const notice = statusVersionNotice(status.versions);
|
|
160
|
+
const text = statusText({
|
|
161
|
+
...status.source,
|
|
162
|
+
historianRunning: status.extras.historianRunning,
|
|
163
|
+
lastTransformError: status.extras.lastTransformError,
|
|
164
|
+
});
|
|
165
|
+
return notice ? `${notice}\n${text}` : text;
|
|
166
|
+
}
|
|
167
|
+
|
|
117
168
|
function currentSessionID(context: V2TuiContext): string | null {
|
|
118
169
|
const route = context.ui.router.current();
|
|
119
170
|
return route.type === "session" && route.sessionID ? route.sessionID : null;
|
|
@@ -129,6 +180,11 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
129
180
|
{ initial: { snapshots: {} } },
|
|
130
181
|
);
|
|
131
182
|
|
|
183
|
+
// The TUI can show a session from another directory than the one it
|
|
184
|
+
// started in; session-scoped calls go to that session's own server.
|
|
185
|
+
const directoryOf = (sessionID: string): string =>
|
|
186
|
+
directoryForSession(sessionDirectory(context, sessionID), directory);
|
|
187
|
+
|
|
132
188
|
const refresh = async (sessionID: string, force = false): Promise<void> => {
|
|
133
189
|
if (!sessionID || inflight.has(sessionID)) return;
|
|
134
190
|
const now = Date.now();
|
|
@@ -136,7 +192,7 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
136
192
|
refreshedAt.set(sessionID, now);
|
|
137
193
|
inflight.add(sessionID);
|
|
138
194
|
try {
|
|
139
|
-
const snapshot = await loadSidebarSnapshot(sessionID,
|
|
195
|
+
const snapshot = await loadSidebarSnapshot(sessionID, directoryOf(sessionID));
|
|
140
196
|
updateSidebar((draft) => {
|
|
141
197
|
draft.snapshots[sessionID] = snapshot;
|
|
142
198
|
});
|
|
@@ -151,31 +207,26 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
151
207
|
context.ui.toast.show({ message: "No active session", variant: "warning" });
|
|
152
208
|
return false;
|
|
153
209
|
}
|
|
154
|
-
const result = await loadStatusDetail(target,
|
|
210
|
+
const result = await loadStatusDetail(target, directoryOf(target));
|
|
155
211
|
if (currentSessionID(context) !== target) return false;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
message: "Magic Context status is unavailable",
|
|
159
|
-
variant: "warning",
|
|
160
|
-
});
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
212
|
+
// A result without a usable snapshot still opens the dialog, which then
|
|
213
|
+
// names why the status is unavailable.
|
|
163
214
|
const mounted = statusDialog;
|
|
164
215
|
if (mounted) {
|
|
165
216
|
try {
|
|
166
|
-
mounted.show(result
|
|
217
|
+
mounted.show(result);
|
|
167
218
|
return true;
|
|
168
219
|
} catch (error) {
|
|
169
220
|
// A component that throws while opening would leave the host
|
|
170
221
|
// with a dead dialog surface. Degrade to the text dialog for the
|
|
171
222
|
// rest of this TUI session and say so once.
|
|
172
223
|
statusDialog = null;
|
|
173
|
-
|
|
224
|
+
log("[magic-context] v2 status dialog failed; using text", error);
|
|
174
225
|
}
|
|
175
226
|
}
|
|
176
227
|
await context.ui.dialog.alert({
|
|
177
228
|
title: "Magic Context status",
|
|
178
|
-
message:
|
|
229
|
+
message: statusTextFor(result),
|
|
179
230
|
});
|
|
180
231
|
return true;
|
|
181
232
|
};
|
|
@@ -185,7 +236,7 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
185
236
|
context.ui.toast.show({ message: "No active session", variant: "warning" });
|
|
186
237
|
return false;
|
|
187
238
|
}
|
|
188
|
-
const count = await getCompartmentCount(target,
|
|
239
|
+
const count = await getCompartmentCount(target, directoryOf(target));
|
|
189
240
|
if (currentSessionID(context) !== target) return false;
|
|
190
241
|
if (!count.ok) {
|
|
191
242
|
context.ui.toast.show({ message: "Unable to load recomp details", variant: "error" });
|
|
@@ -202,7 +253,7 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
202
253
|
label: { confirm: "Run recomp", cancel: "Cancel" },
|
|
203
254
|
});
|
|
204
255
|
if (!confirmed) return true;
|
|
205
|
-
const requested = await requestRecomp(target);
|
|
256
|
+
const requested = await requestRecomp(target, directoryOf(target));
|
|
206
257
|
context.ui.toast.show({
|
|
207
258
|
message: requested
|
|
208
259
|
? "Recomp requested; historian will start shortly"
|
|
@@ -252,7 +303,7 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
252
303
|
// the rest of this TUI session and say so once.
|
|
253
304
|
mountedSidebar = null;
|
|
254
305
|
mounted.dispose();
|
|
255
|
-
|
|
306
|
+
log("[magic-context] v2 sidebar component failed; using text", error);
|
|
256
307
|
}
|
|
257
308
|
}
|
|
258
309
|
void refresh(input.sessionID);
|
|
@@ -411,8 +462,8 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
411
462
|
// The accepted layer is the only place that knows which slash commands
|
|
412
463
|
// this host actually got, so report them from it. Anything missing here
|
|
413
464
|
// is missing from the host's command palette too. It goes to the
|
|
414
|
-
// diagnostic log
|
|
415
|
-
//
|
|
465
|
+
// diagnostic log because a TUI host owns the screen and drops plugin
|
|
466
|
+
// console output.
|
|
416
467
|
const registered = `registered slash commands: ${buildKeymapLayer()
|
|
417
468
|
.commands.map((command) => command.slash.name)
|
|
418
469
|
.join(" ")}`;
|
|
@@ -421,7 +472,6 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
421
472
|
// killed before the next buffer flush would otherwise leave no record
|
|
422
473
|
// of which commands this host received.
|
|
423
474
|
flushLogger();
|
|
424
|
-
console.info(`[magic-context] ${registered}`);
|
|
425
475
|
return true;
|
|
426
476
|
} catch (error) {
|
|
427
477
|
if (!(error instanceof Error) || error.message !== "Keymap.Provider is missing")
|
|
@@ -438,11 +488,11 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
438
488
|
try {
|
|
439
489
|
registered = registerKeymapLayer();
|
|
440
490
|
} catch (error) {
|
|
441
|
-
|
|
491
|
+
log("[magic-context] keymap.layer registration failed", error);
|
|
442
492
|
}
|
|
443
493
|
if (!registered && !keymapGapLogged) {
|
|
444
494
|
keymapGapLogged = true;
|
|
445
|
-
|
|
495
|
+
log(
|
|
446
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",
|
|
447
497
|
);
|
|
448
498
|
}
|
|
@@ -501,9 +551,14 @@ export async function setupWithJsx(context: V2TuiContext, jsx: JsxFactory): Prom
|
|
|
501
551
|
|
|
502
552
|
startNotificationSocket({
|
|
503
553
|
getSessionId: () => currentSessionID(context),
|
|
554
|
+
// Follow the shown session's own server, whose commands push its dialogs.
|
|
555
|
+
getSessionDirectory: () => {
|
|
556
|
+
const sessionID = currentSessionID(context);
|
|
557
|
+
return sessionID ? directoryOf(sessionID) : null;
|
|
558
|
+
},
|
|
504
559
|
onNotification: handleNotification,
|
|
505
560
|
});
|
|
506
|
-
|
|
561
|
+
log("[magic-context] @cortexkit/opencode-magic-context v2 TUI setup");
|
|
507
562
|
|
|
508
563
|
return () => {
|
|
509
564
|
unregisterSlot();
|
|
@@ -28,7 +28,11 @@ export interface V1Event {
|
|
|
28
28
|
|
|
29
29
|
/** The slice of OpenCode 1's `TuiPluginApi` the sidebar component actually uses. */
|
|
30
30
|
export interface V1SidebarApi {
|
|
31
|
-
readonly state: {
|
|
31
|
+
readonly state: {
|
|
32
|
+
readonly path: { readonly directory: string };
|
|
33
|
+
/** The shown session's own directory, so the sidebar asks that directory's server. */
|
|
34
|
+
readonly session: { get(sessionID: string): { readonly directory?: string } | undefined };
|
|
35
|
+
};
|
|
32
36
|
readonly renderer: { requestRender(): void };
|
|
33
37
|
readonly event: { on(type: string, handler: (event: V1Event) => void): () => void };
|
|
34
38
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Typed view of load-compiled-status-dialog.mjs; see that file for why it is untyped JS. */
|
|
2
|
-
import type {
|
|
2
|
+
import type { StatusDetailResult } from "../../tui/data/context-db";
|
|
3
3
|
import type { V1Theme } from "./load-compiled-sidebar.d.mts";
|
|
4
4
|
|
|
5
5
|
/** The slice of OpenCode 1's `TuiPluginApi` the status dialog component reads. */
|
|
@@ -10,7 +10,8 @@ export interface V1StatusDialogApi {
|
|
|
10
10
|
export interface CompiledStatusDialog {
|
|
11
11
|
StatusDialog(props: {
|
|
12
12
|
readonly api: V1StatusDialogApi;
|
|
13
|
-
|
|
13
|
+
/** Checked status result from `loadStatusDetail`, never a raw RPC reply. */
|
|
14
|
+
readonly status: StatusDetailResult;
|
|
14
15
|
}): unknown;
|
|
15
16
|
}
|
|
16
17
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { expect, test } from "bun:test";
|
|
2
|
+
import { directoryForSession } from "../../tui/data/session-directory";
|
|
3
|
+
import { sessionDirectory } from "./sidebar-mount";
|
|
4
|
+
import type { V2TuiContext } from "./types";
|
|
5
|
+
|
|
6
|
+
function contextWithSessions(
|
|
7
|
+
sessions: Record<string, string> | undefined,
|
|
8
|
+
throws = false,
|
|
9
|
+
): V2TuiContext {
|
|
10
|
+
return {
|
|
11
|
+
renderer: { requestRender() {} },
|
|
12
|
+
data: {
|
|
13
|
+
listen: () => () => {},
|
|
14
|
+
location: { default: () => ({ directory: "/home/user" }) },
|
|
15
|
+
...(sessions === undefined
|
|
16
|
+
? {}
|
|
17
|
+
: {
|
|
18
|
+
session: {
|
|
19
|
+
get: (sessionID: string) => {
|
|
20
|
+
if (throws) throw new Error("session store not ready");
|
|
21
|
+
const directory = sessions[sessionID];
|
|
22
|
+
return directory ? { location: { directory } } : undefined;
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
}),
|
|
26
|
+
},
|
|
27
|
+
} as unknown as V2TuiContext;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
test("OpenCode 2 session calls use the session's own directory", () => {
|
|
31
|
+
const context = contextWithSessions({ ses_project: "/home/user/Pictures/project" });
|
|
32
|
+
expect(directoryForSession(sessionDirectory(context, "ses_project"), "/home/user")).toBe(
|
|
33
|
+
"/home/user/Pictures/project",
|
|
34
|
+
);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
test("an unknown session, a host without session data, or a failing lookup use the startup directory", () => {
|
|
38
|
+
expect(
|
|
39
|
+
directoryForSession(sessionDirectory(contextWithSessions({}), "ses_x"), "/home/user"),
|
|
40
|
+
).toBe("/home/user");
|
|
41
|
+
expect(
|
|
42
|
+
directoryForSession(
|
|
43
|
+
sessionDirectory(contextWithSessions(undefined), "ses_x"),
|
|
44
|
+
"/home/user",
|
|
45
|
+
),
|
|
46
|
+
).toBe("/home/user");
|
|
47
|
+
expect(
|
|
48
|
+
directoryForSession(
|
|
49
|
+
sessionDirectory(contextWithSessions({ ses_x: "/p" }, true), "ses_x"),
|
|
50
|
+
"/home/user",
|
|
51
|
+
),
|
|
52
|
+
).toBe("/home/user");
|
|
53
|
+
});
|
|
@@ -82,9 +82,27 @@ export function isMissingOpenTuiRuntime(error: unknown): boolean {
|
|
|
82
82
|
);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
/**
|
|
86
|
+
* The directory of the Magic Context server that owns `sessionID` on this host,
|
|
87
|
+
* or undefined while the host has not loaded the session (the caller then uses
|
|
88
|
+
* its startup directory). See `directoryForSession`.
|
|
89
|
+
*/
|
|
90
|
+
export function sessionDirectory(context: V2TuiContext, sessionID: string): string | undefined {
|
|
91
|
+
try {
|
|
92
|
+
return context.data.session?.get(sessionID)?.location?.directory;
|
|
93
|
+
} catch {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
85
98
|
function createV1Api(context: V2TuiContext, directory: string): V1SidebarApi {
|
|
86
99
|
return {
|
|
87
|
-
state: {
|
|
100
|
+
state: {
|
|
101
|
+
path: { directory },
|
|
102
|
+
session: {
|
|
103
|
+
get: (sessionID) => ({ directory: sessionDirectory(context, sessionID) }),
|
|
104
|
+
},
|
|
105
|
+
},
|
|
88
106
|
renderer: { requestRender: () => context.renderer.requestRender() },
|
|
89
107
|
event: {
|
|
90
108
|
// OpenCode 1's event names ("message.updated", "session.updated",
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
* of this package.
|
|
11
11
|
*
|
|
12
12
|
* Unlike the sidebar, this component fetches nothing: the caller passes the
|
|
13
|
-
* status
|
|
13
|
+
* checked status result it already loaded over RPC, so no second data layer is
|
|
14
14
|
* initialised here.
|
|
15
15
|
*/
|
|
16
|
-
import type {
|
|
16
|
+
import type { StatusDetailResult } from "../../tui/data/context-db";
|
|
17
17
|
import {
|
|
18
18
|
type CompiledStatusDialog,
|
|
19
19
|
loadCompiledStatusDialog,
|
|
@@ -22,8 +22,11 @@ import { flattenTheme, isMissingOpenTuiRuntime } from "./sidebar-mount";
|
|
|
22
22
|
import type { V2TuiContext } from "./types";
|
|
23
23
|
|
|
24
24
|
export interface V1StatusDialogMount {
|
|
25
|
-
/**
|
|
26
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Replaces the host's dialog surface with the status view for one checked
|
|
27
|
+
* result: the status itself, or the view naming why it is unavailable.
|
|
28
|
+
*/
|
|
29
|
+
show(status: StatusDetailResult): void;
|
|
27
30
|
}
|
|
28
31
|
|
|
29
32
|
/**
|
|
@@ -44,7 +47,7 @@ export async function mountV1StatusDialog(
|
|
|
44
47
|
return null;
|
|
45
48
|
}
|
|
46
49
|
return {
|
|
47
|
-
show: (
|
|
50
|
+
show: (status) => {
|
|
48
51
|
context.ui.dialog.show?.(() =>
|
|
49
52
|
compiled.StatusDialog({
|
|
50
53
|
// Read through getters so a theme change repaints: the
|
|
@@ -61,8 +64,8 @@ export async function mountV1StatusDialog(
|
|
|
61
64
|
},
|
|
62
65
|
};
|
|
63
66
|
},
|
|
64
|
-
get
|
|
65
|
-
return
|
|
67
|
+
get status() {
|
|
68
|
+
return status;
|
|
66
69
|
},
|
|
67
70
|
}),
|
|
68
71
|
);
|
package/src/v2/tui/types.ts
CHANGED
|
@@ -57,6 +57,16 @@ export interface V2TuiContext {
|
|
|
57
57
|
readonly data: {
|
|
58
58
|
readonly listen: (handler: (event: { details: unknown }) => void) => () => void;
|
|
59
59
|
readonly location: { default(): V2TuiLocation };
|
|
60
|
+
/**
|
|
61
|
+
* `Context.data.session` on GA 2.0.x. `location.directory` is the
|
|
62
|
+
* directory whose Magic Context server owns the session. Optional so a
|
|
63
|
+
* host without it falls back to the startup directory.
|
|
64
|
+
*/
|
|
65
|
+
readonly session?: {
|
|
66
|
+
get(
|
|
67
|
+
sessionID: string,
|
|
68
|
+
): { readonly location?: { readonly directory?: string } } | undefined;
|
|
69
|
+
};
|
|
60
70
|
};
|
|
61
71
|
readonly keymap: {
|
|
62
72
|
readonly layer: (
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/features/builtin-commands/commands.ts"],"names":[],"mappings":"AAIA,wBAAgB,8BAA8B,CAAC,iBAAiB,UAAO;;;;;;;;;;;;;;;;;;;;;;;;;EAqCtE;AAED,MAAM,MAAM,8BAA8B,GAAG,MAAM,UAAU,CACzD,OAAO,8BAA8B,CACxC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/builtin-commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC"}
|