@retaw106/mmc-oc 0.0.0-stage → 1.2.2
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/historian.d.ts +4 -0
- package/dist/agents/historian.d.ts.map +1 -0
- package/dist/agents/language-directive.d.ts +26 -0
- package/dist/agents/language-directive.d.ts.map +1 -0
- package/dist/agents/magic-context-prompt.d.ts +5 -0
- package/dist/agents/magic-context-prompt.d.ts.map +1 -0
- package/dist/agents/memory-maintainer.d.ts +96 -0
- package/dist/agents/memory-maintainer.d.ts.map +1 -0
- package/dist/config/agent-disable.d.ts +29 -0
- package/dist/config/agent-disable.d.ts.map +1 -0
- package/dist/config/config-paths.d.ts +7 -0
- package/dist/config/config-paths.d.ts.map +1 -0
- package/dist/config/index.d.ts +69 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/live-run-config.d.ts +11 -0
- package/dist/config/live-run-config.d.ts.map +1 -0
- package/dist/config/live-snapshot.d.ts +32 -0
- package/dist/config/live-snapshot.d.ts.map +1 -0
- package/dist/config/migrate-experimental.d.ts +26 -0
- package/dist/config/migrate-experimental.d.ts.map +1 -0
- package/dist/config/profiles.d.ts +22 -0
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/project-security.d.ts +124 -0
- package/dist/config/project-security.d.ts.map +1 -0
- package/dist/config/prune-config-leaf.d.ts +26 -0
- package/dist/config/prune-config-leaf.d.ts.map +1 -0
- package/dist/config/raw-loader.d.ts +42 -0
- package/dist/config/raw-loader.d.ts.map +1 -0
- package/dist/config/removed-agent-config.d.ts +8 -0
- package/dist/config/removed-agent-config.d.ts.map +1 -0
- package/dist/config/schema/agent-overrides.d.ts +52 -0
- package/dist/config/schema/agent-overrides.d.ts.map +1 -0
- package/dist/config/schema/magic-context.d.ts +805 -0
- package/dist/config/schema/magic-context.d.ts.map +1 -0
- package/dist/config/variable.d.ts +48 -0
- package/dist/config/variable.d.ts.map +1 -0
- package/dist/context-a6px04s0.js +23932 -0
- package/dist/derive-budgets-fhk00zv8.js +18 -0
- package/dist/features/magic-context/compaction-marker.d.ts +211 -0
- package/dist/features/magic-context/compaction-marker.d.ts.map +1 -0
- package/dist/features/magic-context/compaction.d.ts +7 -0
- package/dist/features/magic-context/compaction.d.ts.map +1 -0
- package/dist/features/magic-context/compartment-events.d.ts +50 -0
- package/dist/features/magic-context/compartment-events.d.ts.map +1 -0
- package/dist/features/magic-context/compartment-lease.d.ts +28 -0
- package/dist/features/magic-context/compartment-lease.d.ts.map +1 -0
- package/dist/features/magic-context/compartment-storage.d.ts +178 -0
- package/dist/features/magic-context/compartment-storage.d.ts.map +1 -0
- package/dist/features/magic-context/compression-depth-storage.d.ts +14 -0
- package/dist/features/magic-context/compression-depth-storage.d.ts.map +1 -0
- package/dist/features/magic-context/context-authority.d.ts +15 -0
- package/dist/features/magic-context/context-authority.d.ts.map +1 -0
- package/dist/features/magic-context/fail-closed-block.d.ts +117 -0
- package/dist/features/magic-context/fail-closed-block.d.ts.map +1 -0
- package/dist/features/magic-context/index.d.ts +10 -0
- package/dist/features/magic-context/index.d.ts.map +1 -0
- package/dist/features/magic-context/literal-probes.d.ts +24 -0
- package/dist/features/magic-context/literal-probes.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/constants.d.ts +16 -0
- package/dist/features/magic-context/memory/constants.d.ts.map +1 -0
- package/dist/features/magic-context/memory/index.d.ts +11 -0
- package/dist/features/magic-context/memory/index.d.ts.map +1 -0
- package/dist/features/magic-context/memory/memory-diagnostics.d.ts +6 -0
- package/dist/features/magic-context/memory/memory-diagnostics.d.ts.map +1 -0
- package/dist/features/magic-context/memory/memory-selection.d.ts +12 -0
- package/dist/features/magic-context/memory/memory-selection.d.ts.map +1 -0
- package/dist/features/magic-context/memory/memory-visibility.d.ts +46 -0
- package/dist/features/magic-context/memory/memory-visibility.d.ts.map +1 -0
- package/dist/features/magic-context/memory/normalize-hash.d.ts +3 -0
- package/dist/features/magic-context/memory/normalize-hash.d.ts.map +1 -0
- package/dist/features/magic-context/memory/project-identity-cache.d.ts +7 -0
- package/dist/features/magic-context/memory/project-identity-cache.d.ts.map +1 -0
- package/dist/features/magic-context/memory/project-identity.d.ts +97 -0
- package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -0
- package/dist/features/magic-context/memory/promotion.d.ts +26 -0
- package/dist/features/magic-context/memory/promotion.d.ts.map +1 -0
- package/dist/features/magic-context/memory/relocate-memory.d.ts +58 -0
- package/dist/features/magic-context/memory/relocate-memory.d.ts.map +1 -0
- package/dist/features/magic-context/memory/storage-memory-fts.d.ts +11 -0
- package/dist/features/magic-context/memory/storage-memory-fts.d.ts.map +1 -0
- package/dist/features/magic-context/memory/storage-memory-verifications.d.ts +35 -0
- package/dist/features/magic-context/memory/storage-memory-verifications.d.ts.map +1 -0
- package/dist/features/magic-context/memory/storage-memory.d.ts +89 -0
- package/dist/features/magic-context/memory/storage-memory.d.ts.map +1 -0
- package/dist/features/magic-context/memory/types.d.ts +59 -0
- package/dist/features/magic-context/memory/types.d.ts.map +1 -0
- package/dist/features/magic-context/memory/verification-paths.d.ts +48 -0
- package/dist/features/magic-context/memory/verification-paths.d.ts.map +1 -0
- package/dist/features/magic-context/memory/visibility.d.ts +6 -0
- package/dist/features/magic-context/memory/visibility.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/apply.d.ts +65 -0
- package/dist/features/magic-context/memory-maintainer/apply.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/budget.d.ts +75 -0
- package/dist/features/magic-context/memory-maintainer/budget.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/coverage.d.ts +91 -0
- package/dist/features/magic-context/memory-maintainer/coverage.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/dream-state.d.ts +18 -0
- package/dist/features/magic-context/memory-maintainer/dream-state.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/launcher.d.ts +119 -0
- package/dist/features/magic-context/memory-maintainer/launcher.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/lease.d.ts +56 -0
- package/dist/features/magic-context/memory-maintainer/lease.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/manifest.d.ts +127 -0
- package/dist/features/magic-context/memory-maintainer/manifest.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/manual-commands.d.ts +46 -0
- package/dist/features/magic-context/memory-maintainer/manual-commands.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/oc2-adapter.d.ts +79 -0
- package/dist/features/magic-context/memory-maintainer/oc2-adapter.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/pause-report.d.ts +37 -0
- package/dist/features/magic-context/memory-maintainer/pause-report.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/pipeline.d.ts +199 -0
- package/dist/features/magic-context/memory-maintainer/pipeline.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/provider-output-failure.d.ts +15 -0
- package/dist/features/magic-context/memory-maintainer/provider-output-failure.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/schedule-storage.d.ts +76 -0
- package/dist/features/magic-context/memory-maintainer/schedule-storage.d.ts.map +1 -0
- package/dist/features/magic-context/memory-maintainer/schedule.d.ts +90 -0
- package/dist/features/magic-context/memory-maintainer/schedule.d.ts.map +1 -0
- package/dist/features/magic-context/merged-reasoning-decisions.d.ts +6 -0
- package/dist/features/magic-context/merged-reasoning-decisions.d.ts.map +1 -0
- package/dist/features/magic-context/message-fts-rowid-map.d.ts +50 -0
- package/dist/features/magic-context/message-fts-rowid-map.d.ts.map +1 -0
- 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-async.d.ts +33 -0
- package/dist/features/magic-context/message-index-async.d.ts.map +1 -0
- package/dist/features/magic-context/message-index-sweep.d.ts +11 -0
- package/dist/features/magic-context/message-index-sweep.d.ts.map +1 -0
- package/dist/features/magic-context/message-index.d.ts +88 -0
- package/dist/features/magic-context/message-index.d.ts.map +1 -0
- package/dist/features/magic-context/message-time-backfill.d.ts +19 -0
- package/dist/features/magic-context/message-time-backfill.d.ts.map +1 -0
- package/dist/features/magic-context/migration-v2-write-split.d.ts +62 -0
- package/dist/features/magic-context/migration-v2-write-split.d.ts.map +1 -0
- package/dist/features/magic-context/migrations.d.ts +73 -0
- package/dist/features/magic-context/migrations.d.ts.map +1 -0
- package/dist/features/magic-context/mock-database.d.ts +3 -0
- package/dist/features/magic-context/mock-database.d.ts.map +1 -0
- package/dist/features/magic-context/mural/storage-mural-cues.d.ts +65 -0
- package/dist/features/magic-context/mural/storage-mural-cues.d.ts.map +1 -0
- package/dist/features/magic-context/no-content-compartment.d.ts +12 -0
- package/dist/features/magic-context/no-content-compartment.d.ts.map +1 -0
- package/dist/features/magic-context/opencode2-relabel.d.ts +132 -0
- package/dist/features/magic-context/opencode2-relabel.d.ts.map +1 -0
- package/dist/features/magic-context/overflow-detection.d.ts +108 -0
- package/dist/features/magic-context/overflow-detection.d.ts.map +1 -0
- package/dist/features/magic-context/pi-content-decisions.d.ts +9 -0
- package/dist/features/magic-context/pi-content-decisions.d.ts.map +1 -0
- package/dist/features/magic-context/project-identity.d.ts +2 -0
- package/dist/features/magic-context/project-identity.d.ts.map +1 -0
- package/dist/features/magic-context/protection-window.d.ts +79 -0
- package/dist/features/magic-context/protection-window.d.ts.map +1 -0
- package/dist/features/magic-context/range-parser.d.ts +18 -0
- package/dist/features/magic-context/range-parser.d.ts.map +1 -0
- package/dist/features/magic-context/reclaim-protection.d.ts +13 -0
- package/dist/features/magic-context/reclaim-protection.d.ts.map +1 -0
- package/dist/features/magic-context/resolve-subagent-fallback.d.ts +42 -0
- package/dist/features/magic-context/resolve-subagent-fallback.d.ts.map +1 -0
- package/dist/features/magic-context/scheduler.d.ts +20 -0
- package/dist/features/magic-context/scheduler.d.ts.map +1 -0
- package/dist/features/magic-context/schema-fence-probe.d.ts +29 -0
- package/dist/features/magic-context/schema-fence-probe.d.ts.map +1 -0
- package/dist/features/magic-context/search.d.ts +118 -0
- package/dist/features/magic-context/search.d.ts.map +1 -0
- package/dist/features/magic-context/session-cache-ttl.d.ts +10 -0
- package/dist/features/magic-context/session-cache-ttl.d.ts.map +1 -0
- package/dist/features/magic-context/session-decision-calibration.d.ts +31 -0
- package/dist/features/magic-context/session-decision-calibration.d.ts.map +1 -0
- package/dist/features/magic-context/session-project-backfill.d.ts +37 -0
- package/dist/features/magic-context/session-project-backfill.d.ts.map +1 -0
- package/dist/features/magic-context/session-project-storage.d.ts +23 -0
- package/dist/features/magic-context/session-project-storage.d.ts.map +1 -0
- 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 +44 -0
- package/dist/features/magic-context/storage-clone.d.ts.map +1 -0
- package/dist/features/magic-context/storage-db.d.ts +183 -0
- package/dist/features/magic-context/storage-db.d.ts.map +1 -0
- package/dist/features/magic-context/storage-historian-runs.d.ts +79 -0
- package/dist/features/magic-context/storage-historian-runs.d.ts.map +1 -0
- package/dist/features/magic-context/storage-identity-merge.d.ts +26 -0
- package/dist/features/magic-context/storage-identity-merge.d.ts.map +1 -0
- package/dist/features/magic-context/storage-identity-rekey-map.d.ts +11 -0
- package/dist/features/magic-context/storage-identity-rekey-map.d.ts.map +1 -0
- package/dist/features/magic-context/storage-m0-mutation-log.d.ts +22 -0
- package/dist/features/magic-context/storage-m0-mutation-log.d.ts.map +1 -0
- package/dist/features/magic-context/storage-memory-mutation-log.d.ts +29 -0
- package/dist/features/magic-context/storage-memory-mutation-log.d.ts.map +1 -0
- package/dist/features/magic-context/storage-meta-persisted.d.ts +623 -0
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -0
- package/dist/features/magic-context/storage-meta-session.d.ts +14 -0
- package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -0
- package/dist/features/magic-context/storage-meta-shared.d.ts +102 -0
- package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -0
- package/dist/features/magic-context/storage-meta.d.ts +4 -0
- package/dist/features/magic-context/storage-meta.d.ts.map +1 -0
- package/dist/features/magic-context/storage-native-replay.d.ts +29 -0
- package/dist/features/magic-context/storage-native-replay.d.ts.map +1 -0
- package/dist/features/magic-context/storage-notes.d.ts +80 -0
- package/dist/features/magic-context/storage-notes.d.ts.map +1 -0
- package/dist/features/magic-context/storage-ops.d.ts +14 -0
- package/dist/features/magic-context/storage-ops.d.ts.map +1 -0
- package/dist/features/magic-context/storage-primers.d.ts +96 -0
- package/dist/features/magic-context/storage-primers.d.ts.map +1 -0
- package/dist/features/magic-context/storage-project-state.d.ts +19 -0
- package/dist/features/magic-context/storage-project-state.d.ts.map +1 -0
- 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 +72 -0
- package/dist/features/magic-context/storage-replay-document.d.ts.map +1 -0
- package/dist/features/magic-context/storage-schema-helpers.d.ts +31 -0
- package/dist/features/magic-context/storage-schema-helpers.d.ts.map +1 -0
- package/dist/features/magic-context/storage-session-tables.d.ts +18 -0
- package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -0
- package/dist/features/magic-context/storage-source.d.ts +5 -0
- package/dist/features/magic-context/storage-source.d.ts.map +1 -0
- package/dist/features/magic-context/storage-subagent-invocations.d.ts +62 -0
- package/dist/features/magic-context/storage-subagent-invocations.d.ts.map +1 -0
- package/dist/features/magic-context/storage-tags.d.ts +542 -0
- package/dist/features/magic-context/storage-tags.d.ts.map +1 -0
- package/dist/features/magic-context/storage-unavailable-reason.d.ts +17 -0
- package/dist/features/magic-context/storage-unavailable-reason.d.ts.map +1 -0
- package/dist/features/magic-context/storage-v22-backfill-failures.d.ts +26 -0
- package/dist/features/magic-context/storage-v22-backfill-failures.d.ts.map +1 -0
- package/dist/features/magic-context/storage.d.ts +23 -0
- package/dist/features/magic-context/storage.d.ts.map +1 -0
- package/dist/features/magic-context/store-generation-rebase.d.ts +188 -0
- package/dist/features/magic-context/store-generation-rebase.d.ts.map +1 -0
- package/dist/features/magic-context/subagent-token-capture.d.ts +35 -0
- package/dist/features/magic-context/subagent-token-capture.d.ts.map +1 -0
- 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/tagger.d.ts +119 -0
- package/dist/features/magic-context/tagger.d.ts.map +1 -0
- package/dist/features/magic-context/tool-definition-tokens.d.ts +90 -0
- package/dist/features/magic-context/tool-definition-tokens.d.ts.map +1 -0
- package/dist/features/magic-context/tool-owner-backfill.d.ts +93 -0
- package/dist/features/magic-context/tool-owner-backfill.d.ts.map +1 -0
- package/dist/features/magic-context/transform-decision-log.d.ts +110 -0
- package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -0
- package/dist/features/magic-context/types.d.ts +133 -0
- package/dist/features/magic-context/types.d.ts.map +1 -0
- package/dist/features/magic-context/window-report-ledger.d.ts +70 -0
- package/dist/features/magic-context/window-report-ledger.d.ts.map +1 -0
- package/dist/features/magic-context/work-metrics.d.ts +79 -0
- package/dist/features/magic-context/work-metrics.d.ts.map +1 -0
- package/dist/features/magic-context/workspaces.d.ts +28 -0
- package/dist/features/magic-context/workspaces.d.ts.map +1 -0
- package/dist/hooks/auto-update-checker/semver.d.ts +26 -0
- package/dist/hooks/auto-update-checker/semver.d.ts.map +1 -0
- package/dist/hooks/magic-context/apply-operations.d.ts +158 -0
- package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -0
- 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 +36 -0
- package/dist/hooks/magic-context/auto-search-hint.d.ts.map +1 -0
- package/dist/hooks/magic-context/auto-search-runner.d.ts +60 -0
- package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -0
- package/dist/hooks/magic-context/cache-busting-signals.d.ts +42 -0
- package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -0
- package/dist/hooks/magic-context/caveman-cleanup.d.ts +98 -0
- package/dist/hooks/magic-context/caveman-cleanup.d.ts.map +1 -0
- package/dist/hooks/magic-context/caveman.d.ts +90 -0
- package/dist/hooks/magic-context/caveman.d.ts.map +1 -0
- package/dist/hooks/magic-context/channel2-cycle.d.ts +16 -0
- package/dist/hooks/magic-context/channel2-cycle.d.ts.map +1 -0
- package/dist/hooks/magic-context/channel2-delivery.d.ts +32 -0
- package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -0
- package/dist/hooks/magic-context/child-session-spawn.d.ts +27 -0
- package/dist/hooks/magic-context/child-session-spawn.d.ts.map +1 -0
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts +154 -0
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -0
- package/dist/hooks/magic-context/compaction-off-transition.d.ts +97 -0
- package/dist/hooks/magic-context/compaction-off-transition.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-parser.d.ts +66 -0
- package/dist/hooks/magic-context/compartment-parser.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-prompt.d.ts +33 -0
- package/dist/hooks/magic-context/compartment-prompt.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-render-epoch.d.ts +27 -0
- package/dist/hooks/magic-context/compartment-render-epoch.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner-drop-queue.d.ts +29 -0
- package/dist/hooks/magic-context/compartment-runner-drop-queue.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts +43 -0
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +31 -0
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner-mapping.d.ts +25 -0
- package/dist/hooks/magic-context/compartment-runner-mapping.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts +29 -0
- package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner-recomp.d.ts +11 -0
- package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner-types.d.ts +295 -0
- package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner-validation.d.ts +83 -0
- package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-runner.d.ts +59 -0
- package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -0
- package/dist/hooks/magic-context/compartment-trigger.d.ts +77 -0
- package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -0
- package/dist/hooks/magic-context/ctx-reduce-availability.d.ts +170 -0
- package/dist/hooks/magic-context/ctx-reduce-availability.d.ts.map +1 -0
- package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +104 -0
- package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -0
- package/dist/hooks/magic-context/decay-curve.d.ts +84 -0
- package/dist/hooks/magic-context/decay-curve.d.ts.map +1 -0
- package/dist/hooks/magic-context/decay-render.d.ts +80 -0
- package/dist/hooks/magic-context/decay-render.d.ts.map +1 -0
- package/dist/hooks/magic-context/decision-calibration.d.ts +24 -0
- package/dist/hooks/magic-context/decision-calibration.d.ts.map +1 -0
- 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 +60 -0
- package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -0
- package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts +39 -0
- package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts.map +1 -0
- package/dist/hooks/magic-context/dropped-input-guard.d.ts +55 -0
- package/dist/hooks/magic-context/dropped-input-guard.d.ts.map +1 -0
- package/dist/hooks/magic-context/dropped-token-estimate.d.ts +20 -0
- package/dist/hooks/magic-context/dropped-token-estimate.d.ts.map +1 -0
- package/dist/hooks/magic-context/edit-marker.d.ts +11 -0
- package/dist/hooks/magic-context/edit-marker.d.ts.map +1 -0
- package/dist/hooks/magic-context/emergency-drop.d.ts +112 -0
- package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -0
- package/dist/hooks/magic-context/emergency-fail-closed.d.ts +14 -0
- package/dist/hooks/magic-context/emergency-fail-closed.d.ts.map +1 -0
- package/dist/hooks/magic-context/empty-task-output.d.ts +16 -0
- package/dist/hooks/magic-context/empty-task-output.d.ts.map +1 -0
- package/dist/hooks/magic-context/event-payloads.d.ts +73 -0
- package/dist/hooks/magic-context/event-payloads.d.ts.map +1 -0
- package/dist/hooks/magic-context/event-resolvers.d.ts +114 -0
- package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -0
- package/dist/hooks/magic-context/execute-flush.d.ts +3 -0
- package/dist/hooks/magic-context/execute-flush.d.ts.map +1 -0
- package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +56 -0
- package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -0
- package/dist/hooks/magic-context/fold-execution-gate.d.ts +2 -0
- package/dist/hooks/magic-context/fold-execution-gate.d.ts.map +1 -0
- package/dist/hooks/magic-context/format-bytes.d.ts +2 -0
- package/dist/hooks/magic-context/format-bytes.d.ts.map +1 -0
- package/dist/hooks/magic-context/heuristic-cleanup.d.ts +48 -0
- package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -0
- package/dist/hooks/magic-context/historian-no-fire-cause.d.ts +5 -0
- package/dist/hooks/magic-context/historian-no-fire-cause.d.ts.map +1 -0
- package/dist/hooks/magic-context/historian-prompt-fit.d.ts +112 -0
- package/dist/hooks/magic-context/historian-prompt-fit.d.ts.map +1 -0
- package/dist/hooks/magic-context/historian-prompt.generated.d.ts +2 -0
- package/dist/hooks/magic-context/historian-prompt.generated.d.ts.map +1 -0
- package/dist/hooks/magic-context/historian-publish-stage-logger.d.ts +3 -0
- package/dist/hooks/magic-context/historian-publish-stage-logger.d.ts.map +1 -0
- package/dist/hooks/magic-context/historian-state-file.d.ts +43 -0
- package/dist/hooks/magic-context/historian-state-file.d.ts.map +1 -0
- 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-handlers.d.ts +177 -0
- package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -0
- package/dist/hooks/magic-context/host-served-rows.d.ts +58 -0
- package/dist/hooks/magic-context/host-served-rows.d.ts.map +1 -0
- package/dist/hooks/magic-context/image-token-estimate.d.ts +15 -0
- package/dist/hooks/magic-context/image-token-estimate.d.ts.map +1 -0
- package/dist/hooks/magic-context/inject-compartments.d.ts +389 -0
- package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -0
- package/dist/hooks/magic-context/issue-135-wire-fixtures.d.ts +8 -0
- package/dist/hooks/magic-context/issue-135-wire-fixtures.d.ts.map +1 -0
- package/dist/hooks/magic-context/issue-423-fixture.d.ts +37 -0
- package/dist/hooks/magic-context/issue-423-fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/issue-424-fixture.d.ts +11 -0
- package/dist/hooks/magic-context/issue-424-fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/legacy-compartments.d.ts +20 -0
- package/dist/hooks/magic-context/legacy-compartments.d.ts.map +1 -0
- package/dist/hooks/magic-context/live-session-state.d.ts +68 -0
- package/dist/hooks/magic-context/live-session-state.d.ts.map +1 -0
- package/dist/hooks/magic-context/lkg-persist.d.ts +22 -0
- package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -0
- package/dist/hooks/magic-context/lkg-replay.d.ts +71 -0
- package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -0
- package/dist/hooks/magic-context/lkg-slot.d.ts +119 -0
- package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -0
- package/dist/hooks/magic-context/m0-token-breakdown.d.ts +44 -0
- package/dist/hooks/magic-context/m0-token-breakdown.d.ts.map +1 -0
- package/dist/hooks/magic-context/maintenance-authority.d.ts +2 -0
- package/dist/hooks/magic-context/maintenance-authority.d.ts.map +1 -0
- package/dist/hooks/magic-context/openai-compat-adjacency.d.ts +38 -0
- package/dist/hooks/magic-context/openai-compat-adjacency.d.ts.map +1 -0
- package/dist/hooks/magic-context/opencode-v1-store-fixture.d.ts +12 -0
- package/dist/hooks/magic-context/opencode-v1-store-fixture.d.ts.map +1 -0
- package/dist/hooks/magic-context/pass-outcome.d.ts +70 -0
- package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -0
- package/dist/hooks/magic-context/persist-filtered-noise.d.ts +5 -0
- package/dist/hooks/magic-context/persist-filtered-noise.d.ts.map +1 -0
- package/dist/hooks/magic-context/postprocess-read-cache.d.ts +8 -0
- package/dist/hooks/magic-context/postprocess-read-cache.d.ts.map +1 -0
- package/dist/hooks/magic-context/producer-window-guard.d.ts +63 -0
- package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -0
- package/dist/hooks/magic-context/producer-window-test-support.d.ts +14 -0
- package/dist/hooks/magic-context/producer-window-test-support.d.ts.map +1 -0
- package/dist/hooks/magic-context/protected-tail-boundary.d.ts +234 -0
- package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -0
- package/dist/hooks/magic-context/raw-fallback-context-limit.d.ts +10 -0
- package/dist/hooks/magic-context/raw-fallback-context-limit.d.ts.map +1 -0
- package/dist/hooks/magic-context/read-session-chunk.d.ts +271 -0
- package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -0
- package/dist/hooks/magic-context/read-session-db.d.ts +66 -0
- package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -0
- package/dist/hooks/magic-context/read-session-formatting.d.ts +65 -0
- package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -0
- package/dist/hooks/magic-context/read-session-raw.d.ts +164 -0
- package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -0
- package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts +82 -0
- package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -0
- 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 +93 -0
- package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -0
- package/dist/hooks/magic-context/reference-retrieval.d.ts +72 -0
- package/dist/hooks/magic-context/reference-retrieval.d.ts.map +1 -0
- package/dist/hooks/magic-context/reference-seeds.generated.d.ts +8 -0
- package/dist/hooks/magic-context/reference-seeds.generated.d.ts.map +1 -0
- package/dist/hooks/magic-context/send-session-notification.d.ts +43 -0
- package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -0
- package/dist/hooks/magic-context/sentinel.d.ts +146 -0
- package/dist/hooks/magic-context/sentinel.d.ts.map +1 -0
- package/dist/hooks/magic-context/storage-busy-refusal.d.ts +20 -0
- package/dist/hooks/magic-context/storage-busy-refusal.d.ts.map +1 -0
- package/dist/hooks/magic-context/strip-content.d.ts +216 -0
- package/dist/hooks/magic-context/strip-content.d.ts.map +1 -0
- package/dist/hooks/magic-context/strip-structural-noise.d.ts +15 -0
- package/dist/hooks/magic-context/strip-structural-noise.d.ts.map +1 -0
- package/dist/hooks/magic-context/stripped-command.d.ts +56 -0
- package/dist/hooks/magic-context/stripped-command.d.ts.map +1 -0
- package/dist/hooks/magic-context/supersession-reclaim.d.ts +58 -0
- package/dist/hooks/magic-context/supersession-reclaim.d.ts.map +1 -0
- package/dist/hooks/magic-context/system-injection-stripper.d.ts +2 -0
- package/dist/hooks/magic-context/system-injection-stripper.d.ts.map +1 -0
- package/dist/hooks/magic-context/system-prompt-hash.d.ts +129 -0
- package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -0
- package/dist/hooks/magic-context/tag-content-primitives.d.ts +31 -0
- package/dist/hooks/magic-context/tag-content-primitives.d.ts.map +1 -0
- package/dist/hooks/magic-context/tag-id-fallback.d.ts +11 -0
- package/dist/hooks/magic-context/tag-id-fallback.d.ts.map +1 -0
- package/dist/hooks/magic-context/tag-messages.d.ts +145 -0
- package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -0
- package/dist/hooks/magic-context/tag-part-guards.d.ts +23 -0
- package/dist/hooks/magic-context/tag-part-guards.d.ts.map +1 -0
- package/dist/hooks/magic-context/tail-hygiene-walk.d.ts +178 -0
- package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -0
- package/dist/hooks/magic-context/temporal-awareness.d.ts +73 -0
- package/dist/hooks/magic-context/temporal-awareness.d.ts.map +1 -0
- package/dist/hooks/magic-context/text-complete.d.ts +31 -0
- package/dist/hooks/magic-context/text-complete.d.ts.map +1 -0
- package/dist/hooks/magic-context/todo-view.d.ts +127 -0
- package/dist/hooks/magic-context/todo-view.d.ts.map +1 -0
- package/dist/hooks/magic-context/tokenizer-calibration.d.ts +92 -0
- package/dist/hooks/magic-context/tokenizer-calibration.d.ts.map +1 -0
- package/dist/hooks/magic-context/tool-drop-target.d.ts +144 -0
- package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -0
- package/dist/hooks/magic-context/tool-input-size.d.ts +21 -0
- package/dist/hooks/magic-context/tool-input-size.d.ts.map +1 -0
- package/dist/hooks/magic-context/tool-reclaim.d.ts +12 -0
- package/dist/hooks/magic-context/tool-reclaim.d.ts.map +1 -0
- package/dist/hooks/magic-context/tool-sweep-policy.d.ts +50 -0
- package/dist/hooks/magic-context/tool-sweep-policy.d.ts.map +1 -0
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts +133 -0
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -0
- package/dist/hooks/magic-context/transform-context-state.d.ts +28 -0
- package/dist/hooks/magic-context/transform-context-state.d.ts.map +1 -0
- package/dist/hooks/magic-context/transform-message-helpers.d.ts +32 -0
- package/dist/hooks/magic-context/transform-message-helpers.d.ts.map +1 -0
- package/dist/hooks/magic-context/transform-operations.d.ts +5 -0
- package/dist/hooks/magic-context/transform-operations.d.ts.map +1 -0
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +350 -0
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -0
- package/dist/hooks/magic-context/transform-stage-logger.d.ts +2 -0
- package/dist/hooks/magic-context/transform-stage-logger.d.ts.map +1 -0
- package/dist/hooks/magic-context/transform.d.ts +334 -0
- package/dist/hooks/magic-context/transform.d.ts.map +1 -0
- 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/wrapup-orchestrator.d.ts +14 -0
- package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -0
- package/dist/index-1vs6anwz.js +126 -0
- package/dist/index-3wagyrnj.js +670 -0
- package/dist/index-53g38ggt.js +40 -0
- package/dist/index-5pg0acf7.js +410 -0
- package/dist/index-977gxfz0.js +514 -0
- package/dist/index-by6h2pav.js +27883 -0
- package/dist/index-e1q8002h.js +16 -0
- package/dist/index-fg34g6a5.js +584 -0
- package/dist/index-jdxxq8cz.js +99 -0
- package/dist/index-me3zcj5t.js +69 -0
- package/dist/index-qbkzdkk0.js +496 -0
- package/dist/index-wgt4gamw.js +6388 -0
- package/dist/index-zx63j2e2.js +907 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/message-time-backfill-5ewk0axe.js +116 -0
- package/dist/model-resolution-5haaxnpt.js +6 -0
- package/dist/plugin/boot-deadline.d.ts +47 -0
- package/dist/plugin/boot-deadline.d.ts.map +1 -0
- package/dist/plugin/boot-quiet.d.ts +12 -0
- package/dist/plugin/boot-quiet.d.ts.map +1 -0
- package/dist/plugin/normalize-tool-arg-schemas.d.ts +7 -0
- package/dist/plugin/normalize-tool-arg-schemas.d.ts.map +1 -0
- package/dist/plugin/rpc-handlers.d.ts +52 -0
- package/dist/plugin/rpc-handlers.d.ts.map +1 -0
- package/dist/plugin/sidebar-snapshot-cache.d.ts +19 -0
- package/dist/plugin/sidebar-snapshot-cache.d.ts.map +1 -0
- package/dist/plugin/subagent-tool-policy.d.ts +9 -0
- package/dist/plugin/subagent-tool-policy.d.ts.map +1 -0
- package/dist/plugin/types.d.ts +3 -0
- package/dist/plugin/types.d.ts.map +1 -0
- package/dist/prompt-context-ffa5xcfx.js +76 -0
- package/dist/read-session-chunk-apjwrttc.js +56 -0
- package/dist/recomp-orchestrator-gyeevxaw.js +21 -0
- package/dist/rpc-notifications-4amf6mf4.js +14 -0
- package/dist/safe-notification-target-ph3xd1ve.js +9 -0
- package/dist/send-session-notification-y29y9fsr.js +18 -0
- package/dist/shared/announcement.d.ts +69 -0
- package/dist/shared/announcement.d.ts.map +1 -0
- package/dist/shared/assistant-message-extractor.d.ts +13 -0
- package/dist/shared/assistant-message-extractor.d.ts.map +1 -0
- package/dist/shared/auto-update-provenance.d.ts +9 -0
- package/dist/shared/auto-update-provenance.d.ts.map +1 -0
- package/dist/shared/bounded-session-map.d.ts +45 -0
- package/dist/shared/bounded-session-map.d.ts.map +1 -0
- package/dist/shared/builtin-commands.d.ts +24 -0
- package/dist/shared/builtin-commands.d.ts.map +1 -0
- package/dist/shared/cache-ttl-display.d.ts +25 -0
- package/dist/shared/cache-ttl-display.d.ts.map +1 -0
- package/dist/shared/cache-ttl-seed.d.ts +10 -0
- package/dist/shared/cache-ttl-seed.d.ts.map +1 -0
- package/dist/shared/child-session-teardown.d.ts +34 -0
- package/dist/shared/child-session-teardown.d.ts.map +1 -0
- package/dist/shared/commit-detection.d.ts +29 -0
- package/dist/shared/commit-detection.d.ts.map +1 -0
- package/dist/shared/config-diagnostics.d.ts +30 -0
- package/dist/shared/config-diagnostics.d.ts.map +1 -0
- package/dist/shared/conflict-detector.d.ts +139 -0
- package/dist/shared/conflict-detector.d.ts.map +1 -0
- package/dist/shared/conflict-fixer.d.ts +20 -0
- package/dist/shared/conflict-fixer.d.ts.map +1 -0
- package/dist/shared/context-limit-provenance.d.ts +3 -0
- package/dist/shared/context-limit-provenance.d.ts.map +1 -0
- package/dist/shared/data-path.d.ts +176 -0
- package/dist/shared/data-path.d.ts.map +1 -0
- package/dist/shared/error-message.d.ts +32 -0
- package/dist/shared/error-message.d.ts.map +1 -0
- package/dist/shared/escalation-bands.d.ts +9 -0
- package/dist/shared/escalation-bands.d.ts.map +1 -0
- package/dist/shared/format-bytes.d.ts +2 -0
- package/dist/shared/format-bytes.d.ts.map +1 -0
- package/dist/shared/format-threshold.d.ts +43 -0
- package/dist/shared/format-threshold.d.ts.map +1 -0
- package/dist/shared/harness-provider-map.d.ts +64 -0
- package/dist/shared/harness-provider-map.d.ts.map +1 -0
- package/dist/shared/harness.d.ts +55 -0
- package/dist/shared/harness.d.ts.map +1 -0
- package/dist/shared/hidden-variant-warnings.d.ts +5 -0
- package/dist/shared/hidden-variant-warnings.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/host-limitations.d.ts +14 -0
- package/dist/shared/host-limitations.d.ts.map +1 -0
- package/dist/shared/index.d.ts +8 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/internal-initiator-marker.d.ts +2 -0
- package/dist/shared/internal-initiator-marker.d.ts.map +1 -0
- package/dist/shared/jsonc-edit.d.ts +23 -0
- package/dist/shared/jsonc-edit.d.ts.map +1 -0
- package/dist/shared/jsonc-parser.d.ts +30 -0
- package/dist/shared/jsonc-parser.d.ts.map +1 -0
- package/dist/shared/keep-subagents.d.ts +7 -0
- package/dist/shared/keep-subagents.d.ts.map +1 -0
- package/dist/shared/logger.d.ts +18 -0
- package/dist/shared/logger.d.ts.map +1 -0
- package/dist/shared/model-cache-ttl.d.ts +9 -0
- package/dist/shared/model-cache-ttl.d.ts.map +1 -0
- package/dist/shared/model-resolution.d.ts +35 -0
- package/dist/shared/model-resolution.d.ts.map +1 -0
- package/dist/shared/model-suggestion-retry.d.ts +138 -0
- package/dist/shared/model-suggestion-retry.d.ts.map +1 -0
- package/dist/shared/models-dev-cache.d.ts +156 -0
- package/dist/shared/models-dev-cache.d.ts.map +1 -0
- package/dist/shared/normalize-sdk-response.d.ts +5 -0
- package/dist/shared/normalize-sdk-response.d.ts.map +1 -0
- package/dist/shared/opencode-config-dir-types.d.ts +14 -0
- package/dist/shared/opencode-config-dir-types.d.ts.map +1 -0
- package/dist/shared/opencode-config-dir.d.ts +57 -0
- package/dist/shared/opencode-config-dir.d.ts.map +1 -0
- package/dist/shared/opencode-db-path.d.ts +68 -0
- package/dist/shared/opencode-db-path.d.ts.map +1 -0
- package/dist/shared/pi-executable.d.ts +6 -0
- package/dist/shared/pi-executable.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-context.d.ts +31 -0
- package/dist/shared/prompt-context.d.ts.map +1 -0
- package/dist/shared/prompt-surface-a1-golden.d.ts +28 -0
- package/dist/shared/prompt-surface-a1-golden.d.ts.map +1 -0
- package/dist/shared/prompt-surface-runtime.d.ts +62 -0
- package/dist/shared/prompt-surface-runtime.d.ts.map +1 -0
- package/dist/shared/prompt-surface.d.ts +53 -0
- package/dist/shared/prompt-surface.d.ts.map +1 -0
- package/dist/shared/provider-response-completion.d.ts +12 -0
- package/dist/shared/provider-response-completion.d.ts.map +1 -0
- package/dist/shared/record-type-guard.d.ts +2 -0
- package/dist/shared/record-type-guard.d.ts.map +1 -0
- package/dist/shared/redaction.d.ts +7 -0
- package/dist/shared/redaction.d.ts.map +1 -0
- package/dist/shared/resolve-fallbacks.d.ts +48 -0
- package/dist/shared/resolve-fallbacks.d.ts.map +1 -0
- package/dist/shared/rpc-client.d.ts +28 -0
- package/dist/shared/rpc-client.d.ts.map +1 -0
- package/dist/shared/rpc-notifications.d.ts +74 -0
- package/dist/shared/rpc-notifications.d.ts.map +1 -0
- package/dist/shared/rpc-server.d.ts +52 -0
- package/dist/shared/rpc-server.d.ts.map +1 -0
- package/dist/shared/rpc-types.d.ts +385 -0
- package/dist/shared/rpc-types.d.ts.map +1 -0
- package/dist/shared/rpc-utils.d.ts +162 -0
- package/dist/shared/rpc-utils.d.ts.map +1 -0
- package/dist/shared/run-token-log.d.ts +13 -0
- package/dist/shared/run-token-log.d.ts.map +1 -0
- package/dist/shared/safe-notification-target.d.ts +23 -0
- package/dist/shared/safe-notification-target.d.ts.map +1 -0
- package/dist/shared/sqlite-context-pragmas.d.ts +12 -0
- package/dist/shared/sqlite-context-pragmas.d.ts.map +1 -0
- package/dist/shared/sqlite-helpers.d.ts +25 -0
- package/dist/shared/sqlite-helpers.d.ts.map +1 -0
- package/dist/shared/sqlite-write-locker-test-support.d.ts +7 -0
- package/dist/shared/sqlite-write-locker-test-support.d.ts.map +1 -0
- package/dist/shared/sqlite.d.ts +163 -0
- package/dist/shared/sqlite.d.ts.map +1 -0
- package/dist/shared/stable-json.d.ts +21 -0
- package/dist/shared/stable-json.d.ts.map +1 -0
- package/dist/shared/status-detail-text.d.ts +4 -0
- package/dist/shared/status-detail-text.d.ts.map +1 -0
- package/dist/shared/status-summary.d.ts +54 -0
- package/dist/shared/status-summary.d.ts.map +1 -0
- package/dist/shared/status-view-check.d.ts +130 -0
- package/dist/shared/status-view-check.d.ts.map +1 -0
- package/dist/shared/status-view.d.ts +230 -0
- package/dist/shared/status-view.d.ts.map +1 -0
- package/dist/shared/storage-permissions.d.ts +29 -0
- package/dist/shared/storage-permissions.d.ts.map +1 -0
- package/dist/shared/subagent-runner.d.ts +231 -0
- package/dist/shared/subagent-runner.d.ts.map +1 -0
- package/dist/shared/summarize-child-stderr.d.ts +2 -0
- package/dist/shared/summarize-child-stderr.d.ts.map +1 -0
- package/dist/shared/system-directive.d.ts +3 -0
- package/dist/shared/system-directive.d.ts.map +1 -0
- 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 +103 -0
- package/dist/shared/tag-transcript.d.ts.map +1 -0
- package/dist/shared/tail-hygiene-status.d.ts +24 -0
- package/dist/shared/tail-hygiene-status.d.ts.map +1 -0
- package/dist/shared/test-temp-dir.d.ts +46 -0
- package/dist/shared/test-temp-dir.d.ts.map +1 -0
- package/dist/shared/transcript.d.ts +251 -0
- package/dist/shared/transcript.d.ts.map +1 -0
- package/dist/shared/user-answer.d.ts +4 -0
- package/dist/shared/user-answer.d.ts.map +1 -0
- package/dist/shared/user-facing-codes.d.ts +135 -0
- package/dist/shared/user-facing-codes.d.ts.map +1 -0
- package/dist/shared/window-geometry.d.ts +121 -0
- package/dist/shared/window-geometry.d.ts.map +1 -0
- package/dist/shared/write-transaction-timing.d.ts +11 -0
- package/dist/shared/write-transaction-timing.d.ts.map +1 -0
- package/dist/shared/xml-unescape.d.ts +9 -0
- package/dist/shared/xml-unescape.d.ts.map +1 -0
- package/dist/tools/ctx-expand/constants.d.ts +3 -0
- package/dist/tools/ctx-expand/constants.d.ts.map +1 -0
- package/dist/tools/ctx-expand/index.d.ts +2 -0
- package/dist/tools/ctx-expand/index.d.ts.map +1 -0
- package/dist/tools/ctx-expand/mode.d.ts +35 -0
- package/dist/tools/ctx-expand/mode.d.ts.map +1 -0
- package/dist/tools/ctx-expand/render.d.ts +47 -0
- package/dist/tools/ctx-expand/render.d.ts.map +1 -0
- package/dist/tools/ctx-expand/tools.d.ts +10 -0
- package/dist/tools/ctx-expand/tools.d.ts.map +1 -0
- package/dist/tools/ctx-expand/types.d.ts +11 -0
- package/dist/tools/ctx-expand/types.d.ts.map +1 -0
- package/dist/tools/ctx-memory/constants.d.ts +3 -0
- package/dist/tools/ctx-memory/constants.d.ts.map +1 -0
- package/dist/tools/ctx-memory/index.d.ts +4 -0
- package/dist/tools/ctx-memory/index.d.ts.map +1 -0
- package/dist/tools/ctx-memory/tools.d.ts +5 -0
- package/dist/tools/ctx-memory/tools.d.ts.map +1 -0
- package/dist/tools/ctx-memory/types.d.ts +38 -0
- package/dist/tools/ctx-memory/types.d.ts.map +1 -0
- package/dist/tools/ctx-memory/verification-recording.d.ts +8 -0
- package/dist/tools/ctx-memory/verification-recording.d.ts.map +1 -0
- package/dist/tools/ctx-note/constants.d.ts +2 -0
- package/dist/tools/ctx-note/constants.d.ts.map +1 -0
- package/dist/tools/ctx-note/index.d.ts +4 -0
- package/dist/tools/ctx-note/index.d.ts.map +1 -0
- package/dist/tools/ctx-note/render.d.ts +67 -0
- package/dist/tools/ctx-note/render.d.ts.map +1 -0
- package/dist/tools/ctx-note/tools.d.ts +13 -0
- package/dist/tools/ctx-note/tools.d.ts.map +1 -0
- package/dist/tools/ctx-note/types.d.ts +14 -0
- package/dist/tools/ctx-note/types.d.ts.map +1 -0
- package/dist/tools/ctx-reduce/constants.d.ts +4 -0
- package/dist/tools/ctx-reduce/constants.d.ts.map +1 -0
- package/dist/tools/ctx-reduce/index.d.ts +4 -0
- package/dist/tools/ctx-reduce/index.d.ts.map +1 -0
- package/dist/tools/ctx-reduce/tools.d.ts +19 -0
- package/dist/tools/ctx-reduce/tools.d.ts.map +1 -0
- package/dist/tools/ctx-reduce/types.d.ts +5 -0
- package/dist/tools/ctx-reduce/types.d.ts.map +1 -0
- package/dist/tools/ctx-search/constants.d.ts +4 -0
- package/dist/tools/ctx-search/constants.d.ts.map +1 -0
- package/dist/tools/ctx-search/date-range.d.ts +9 -0
- package/dist/tools/ctx-search/date-range.d.ts.map +1 -0
- package/dist/tools/ctx-search/index.d.ts +4 -0
- package/dist/tools/ctx-search/index.d.ts.map +1 -0
- package/dist/tools/ctx-search/tools.d.ts +5 -0
- package/dist/tools/ctx-search/tools.d.ts.map +1 -0
- package/dist/tools/ctx-search/types.d.ts +34 -0
- package/dist/tools/ctx-search/types.d.ts.map +1 -0
- package/dist/tools/light-descriptions.d.ts +6 -0
- package/dist/tools/light-descriptions.d.ts.map +1 -0
- package/dist/tools/parameter-descriptions.d.ts +75 -0
- package/dist/tools/parameter-descriptions.d.ts.map +1 -0
- package/dist/tools/unwrap-imitated-reduced-args.d.ts +21 -0
- package/dist/tools/unwrap-imitated-reduced-args.d.ts.map +1 -0
- package/dist/v2/fold/boundary.d.ts +61 -0
- package/dist/v2/fold/boundary.d.ts.map +1 -0
- package/dist/v2/fold/host-media.d.ts +36 -0
- package/dist/v2/fold/host-media.d.ts.map +1 -0
- package/dist/v2/fold/markers.d.ts +7 -0
- package/dist/v2/fold/markers.d.ts.map +1 -0
- package/dist/v2/fold/owner.d.ts +40 -0
- package/dist/v2/fold/owner.d.ts.map +1 -0
- package/dist/v2/fold/restore.d.ts +31 -0
- package/dist/v2/fold/restore.d.ts.map +1 -0
- 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 +137 -0
- package/dist/v2/hidden-child-record.d.ts.map +1 -0
- package/dist/v2/hidden-completion.d.ts +57 -0
- package/dist/v2/hidden-completion.d.ts.map +1 -0
- package/dist/v2/hooks/channel2.d.ts +10 -0
- package/dist/v2/hooks/channel2.d.ts.map +1 -0
- package/dist/v2/hooks/commands.d.ts +29 -0
- package/dist/v2/hooks/commands.d.ts.map +1 -0
- package/dist/v2/hooks/context.d.ts +112 -0
- package/dist/v2/hooks/context.d.ts.map +1 -0
- package/dist/v2/hooks/deleted-session-tombstones.d.ts +10 -0
- package/dist/v2/hooks/deleted-session-tombstones.d.ts.map +1 -0
- 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 +76 -0
- package/dist/v2/hooks/hidden-child.d.ts.map +1 -0
- package/dist/v2/hooks/hidden-terminal-error.d.ts +8 -0
- package/dist/v2/hooks/hidden-terminal-error.d.ts.map +1 -0
- package/dist/v2/hooks/lkg-system.d.ts +11 -0
- package/dist/v2/hooks/lkg-system.d.ts.map +1 -0
- package/dist/v2/hooks/model-limit-cache.d.ts +19 -0
- package/dist/v2/hooks/model-limit-cache.d.ts.map +1 -0
- package/dist/v2/hooks/payload.d.ts +15 -0
- package/dist/v2/hooks/payload.d.ts.map +1 -0
- package/dist/v2/hooks/refusal.d.ts +15 -0
- package/dist/v2/hooks/refusal.d.ts.map +1 -0
- package/dist/v2/hooks/restore-rows.d.ts +29 -0
- package/dist/v2/hooks/restore-rows.d.ts.map +1 -0
- package/dist/v2/hooks/rpc-live-state.d.ts +9 -0
- package/dist/v2/hooks/rpc-live-state.d.ts.map +1 -0
- 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/session-project-backfill.d.ts +15 -0
- package/dist/v2/hooks/session-project-backfill.d.ts.map +1 -0
- package/dist/v2/hooks/storage-gate.d.ts +48 -0
- package/dist/v2/hooks/storage-gate.d.ts.map +1 -0
- package/dist/v2/hooks/storage-notice.d.ts +29 -0
- package/dist/v2/hooks/storage-notice.d.ts.map +1 -0
- package/dist/v2/hooks/store.d.ts +58 -0
- package/dist/v2/hooks/store.d.ts.map +1 -0
- package/dist/v2/hooks/tools.d.ts +8 -0
- package/dist/v2/hooks/tools.d.ts.map +1 -0
- package/dist/v2/hooks/types.d.ts +250 -0
- package/dist/v2/hooks/types.d.ts.map +1 -0
- package/dist/v2/hooks/usage-persist.d.ts +31 -0
- package/dist/v2/hooks/usage-persist.d.ts.map +1 -0
- package/dist/v2/hooks/usage-reading.d.ts +46 -0
- package/dist/v2/hooks/usage-reading.d.ts.map +1 -0
- package/dist/v2/server.d.ts +27 -0
- package/dist/v2/server.d.ts.map +1 -0
- package/dist/v2/server.js +76235 -0
- package/dist/v2/store-reader.d.ts +218 -0
- package/dist/v2/store-reader.d.ts.map +1 -0
- package/dist/web/api.d.ts +40 -0
- package/dist/web/api.d.ts.map +1 -0
- package/dist/web/context-store.d.ts +74 -0
- package/dist/web/context-store.d.ts.map +1 -0
- package/dist/web/fixtures.d.ts +53 -0
- package/dist/web/fixtures.d.ts.map +1 -0
- package/dist/web/host-opencode.d.ts +56 -0
- package/dist/web/host-opencode.d.ts.map +1 -0
- package/dist/web/host-pi.d.ts +116 -0
- package/dist/web/host-pi.d.ts.map +1 -0
- package/dist/web/main.d.ts +24 -0
- package/dist/web/main.d.ts.map +1 -0
- package/dist/web/main.js +6071 -0
- package/dist/web/memories.d.ts +67 -0
- package/dist/web/memories.d.ts.map +1 -0
- package/dist/web/server.d.ts +42 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/types.d.ts +52 -0
- package/dist/web/types.d.ts.map +1 -0
- package/dist/web/ui/favicon.svg +4 -0
- package/dist/web/ui/index.html +36 -0
- package/dist/web/ui/panel.css +8 -0
- package/dist/web/ui/panel.js +373 -0
- package/dist/web/views.d.ts +155 -0
- package/dist/web/views.d.ts.map +1 -0
- package/dist/web/writes.d.ts +86 -0
- package/dist/web/writes.d.ts.map +1 -0
- package/dist/wrapup-orchestrator-z9sqpqjf.js +420 -0
- package/index.js +1 -0
- package/package.json +84 -4
- package/src/agents/historian.ts +3 -0
- package/src/agents/language-directive.test.ts +129 -0
- package/src/agents/language-directive.ts +113 -0
- package/src/agents/magic-context-prompt.language.test.ts +37 -0
- package/src/agents/magic-context-prompt.test.ts +520 -0
- package/src/agents/magic-context-prompt.ts +196 -0
- package/src/agents/memory-maintainer.test.ts +249 -0
- package/src/agents/memory-maintainer.ts +374 -0
- package/src/config/agent-disable.ts +58 -0
- package/src/config/compaction-accessor-guard.test.ts +81 -0
- package/src/config/compaction-backcompat.test.ts +52 -0
- package/src/config/config-paths.ts +42 -0
- package/src/config/index.test.ts +1252 -0
- package/src/config/index.ts +762 -0
- package/src/config/latch-permanence-guard.test.ts +218 -0
- package/src/config/live-run-config.test.ts +139 -0
- package/src/config/live-run-config.ts +79 -0
- package/src/config/live-schema-drift.test.ts +67 -0
- package/src/config/live-snapshot.test.ts +86 -0
- package/src/config/live-snapshot.ts +187 -0
- package/src/config/migrate-experimental.ts +92 -0
- package/src/config/misplaced-agent-model.test.ts +55 -0
- package/src/config/profiles.ts +106 -0
- package/src/config/project-config-trust-boundary.test.ts +185 -0
- package/src/config/project-security.hostile-matrix.test.ts +281 -0
- package/src/config/project-security.test.ts +329 -0
- package/src/config/project-security.ts +940 -0
- package/src/config/protected-tokens.test.ts +229 -0
- package/src/config/prune-config-leaf.test.ts +78 -0
- package/src/config/prune-config-leaf.ts +67 -0
- package/src/config/raw-loader.test.ts +389 -0
- package/src/config/raw-loader.ts +435 -0
- package/src/config/removed-agent-config.ts +45 -0
- package/src/config/removed-agent-source-fence.test.ts +53 -0
- package/src/config/removed-config-keys.test.ts +106 -0
- package/src/config/schema/agent-overrides.ts +45 -0
- package/src/config/schema/magic-context.test.ts +434 -0
- package/src/config/schema/magic-context.ts +1019 -0
- package/src/config/variable.test.ts +324 -0
- package/src/config/variable.ts +192 -0
- package/src/shared/__fixtures__/window-overlay.v1.json +337 -0
- package/src/shared/announcement.test.ts +198 -0
- package/src/shared/announcement.ts +145 -0
- package/src/shared/assistant-message-extractor.test.ts +47 -0
- package/src/shared/assistant-message-extractor.ts +156 -0
- package/src/shared/auto-update-provenance.ts +42 -0
- package/src/shared/bounded-session-map.test.ts +97 -0
- package/src/shared/bounded-session-map.ts +84 -0
- package/src/shared/builtin-commands.ts +46 -0
- package/src/shared/cache-ttl-display.test.ts +84 -0
- package/src/shared/cache-ttl-display.ts +58 -0
- package/src/shared/cache-ttl-seed.ts +23 -0
- package/src/shared/child-session-teardown.test.ts +241 -0
- package/src/shared/child-session-teardown.ts +66 -0
- package/src/shared/commit-detection.test.ts +63 -0
- package/src/shared/commit-detection.ts +53 -0
- package/src/shared/config-diagnostics.test.ts +29 -0
- package/src/shared/config-diagnostics.ts +64 -0
- package/src/shared/conflict-detector.test.ts +780 -0
- package/src/shared/conflict-detector.ts +596 -0
- package/src/shared/conflict-fixer.test.ts +608 -0
- package/src/shared/conflict-fixer.ts +295 -0
- package/src/shared/context-limit-provenance.ts +6 -0
- package/src/shared/data-path.test.ts +352 -0
- package/src/shared/data-path.ts +310 -0
- package/src/shared/error-message.test.ts +94 -0
- package/src/shared/error-message.ts +115 -0
- package/src/shared/escalation-bands.test.ts +23 -0
- package/src/shared/escalation-bands.ts +18 -0
- package/src/shared/format-bytes.ts +5 -0
- package/src/shared/format-threshold.ts +54 -0
- package/src/shared/harness-provider-map.test.ts +176 -0
- package/src/shared/harness-provider-map.ts +130 -0
- package/src/shared/harness.ts +76 -0
- package/src/shared/hidden-variant-warnings.ts +21 -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/host-limitations.ts +43 -0
- package/src/shared/index.ts +7 -0
- package/src/shared/internal-initiator-marker.ts +1 -0
- package/src/shared/jsonc-edit.ts +387 -0
- package/src/shared/jsonc-parser.test.ts +46 -0
- package/src/shared/jsonc-parser.ts +283 -0
- package/src/shared/keep-subagents.test.ts +39 -0
- package/src/shared/keep-subagents.ts +28 -0
- package/src/shared/logger.test.ts +292 -0
- package/src/shared/logger.ts +248 -0
- package/src/shared/model-cache-ttl.test.ts +40 -0
- package/src/shared/model-cache-ttl.ts +58 -0
- package/src/shared/model-resolution.test.ts +132 -0
- package/src/shared/model-resolution.ts +158 -0
- package/src/shared/model-suggestion-retry.test.ts +698 -0
- package/src/shared/model-suggestion-retry.ts +838 -0
- package/src/shared/models-dev-cache.test.ts +720 -0
- package/src/shared/models-dev-cache.ts +661 -0
- package/src/shared/normalize-sdk-response.ts +40 -0
- package/src/shared/opencode-config-dir-types.ts +15 -0
- package/src/shared/opencode-config-dir.ts +111 -0
- package/src/shared/opencode-db-path.test.ts +389 -0
- package/src/shared/opencode-db-path.ts +396 -0
- package/src/shared/opencode-host-generation.test.ts +29 -0
- package/src/shared/pi-executable.ts +20 -0
- 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-context.ts +135 -0
- package/src/shared/prompt-surface-a1-golden.md +407 -0
- package/src/shared/prompt-surface-a1-golden.ts +41 -0
- package/src/shared/prompt-surface-runtime.test.ts +190 -0
- package/src/shared/prompt-surface-runtime.ts +263 -0
- package/src/shared/prompt-surface.test.ts +195 -0
- package/src/shared/prompt-surface.ts +162 -0
- package/src/shared/provider-response-completion.ts +23 -0
- package/src/shared/record-type-guard.ts +3 -0
- package/src/shared/redaction.test.ts +134 -0
- package/src/shared/redaction.ts +298 -0
- package/src/shared/resolve-fallbacks.test.ts +114 -0
- package/src/shared/resolve-fallbacks.ts +95 -0
- package/src/shared/rpc-async-probes.test.ts +320 -0
- package/src/shared/rpc-client.test.ts +576 -0
- package/src/shared/rpc-client.ts +218 -0
- package/src/shared/rpc-notifications.test.ts +151 -0
- package/src/shared/rpc-notifications.ts +222 -0
- package/src/shared/rpc-server.ts +431 -0
- package/src/shared/rpc-types.ts +386 -0
- package/src/shared/rpc-utils.test.ts +822 -0
- package/src/shared/rpc-utils.ts +1146 -0
- package/src/shared/run-token-log.test.ts +65 -0
- package/src/shared/run-token-log.ts +39 -0
- package/src/shared/safe-notification-target.test.ts +97 -0
- package/src/shared/safe-notification-target.ts +102 -0
- package/src/shared/session-messages-bounded.test.ts +112 -0
- package/src/shared/sqlite-acquisition-fence.test.ts +133 -0
- package/src/shared/sqlite-acquisition-routing.test.ts +145 -0
- package/src/shared/sqlite-bind-style.test.ts +80 -0
- package/src/shared/sqlite-context-pragmas.ts +24 -0
- package/src/shared/sqlite-helpers.ts +44 -0
- package/src/shared/sqlite-import-fence.test.ts +19 -0
- package/src/shared/sqlite-pass-scope.test.ts +154 -0
- package/src/shared/sqlite-transaction-mode-guard.test.ts +234 -0
- package/src/shared/sqlite-write-locker-test-support.ts +63 -0
- package/src/shared/sqlite.test.ts +58 -0
- package/src/shared/sqlite.ts +988 -0
- package/src/shared/stable-json.test.ts +87 -0
- package/src/shared/stable-json.ts +37 -0
- package/src/shared/status-detail-text.test.ts +194 -0
- package/src/shared/status-detail-text.ts +7 -0
- package/src/shared/status-summary.ts +189 -0
- package/src/shared/status-view-check.test.ts +252 -0
- package/src/shared/status-view-check.ts +519 -0
- package/src/shared/status-view.test.ts +395 -0
- package/src/shared/status-view.ts +794 -0
- package/src/shared/storage-busy.test.ts +73 -0
- package/src/shared/storage-permissions.test.ts +190 -0
- package/src/shared/storage-permissions.ts +212 -0
- package/src/shared/subagent-runner.ts +240 -0
- package/src/shared/summarize-child-stderr.test.ts +55 -0
- package/src/shared/summarize-child-stderr.ts +33 -0
- package/src/shared/system-directive.ts +9 -0
- package/src/shared/tag-owner-id.test.ts +33 -0
- package/src/shared/tag-owner-id.ts +29 -0
- package/src/shared/tag-transcript.test.ts +554 -0
- package/src/shared/tag-transcript.ts +1400 -0
- package/src/shared/tail-hygiene-status.ts +73 -0
- package/src/shared/test-temp-dir.test.ts +84 -0
- package/src/shared/test-temp-dir.ts +192 -0
- package/src/shared/transcript.ts +274 -0
- package/src/shared/user-answer.test.ts +12 -0
- package/src/shared/user-answer.ts +17 -0
- package/src/shared/user-facing-codes.test.ts +82 -0
- package/src/shared/user-facing-codes.ts +180 -0
- package/src/shared/window-geometry.test.ts +405 -0
- package/src/shared/window-geometry.ts +726 -0
- package/src/shared/windows-hidden-spawns.test.ts +133 -0
- package/src/shared/write-transaction-attribution.test.ts +214 -0
- package/src/shared/write-transaction-timing.ts +26 -0
- package/src/shared/xml-unescape.ts +19 -0
- package/README.md +0 -3
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { Database } from "../../../shared/sqlite";
|
|
2
|
+
/**
|
|
3
|
+
* Single-row pool probe for the maintenance launch gate. The semantics are
|
|
4
|
+
* the pipeline's pool waterline (`defaultLoadPool` → `getMemoriesByProject`):
|
|
5
|
+
* `status IN ('active', 'permanent')` with NO expiry filter — stranded
|
|
6
|
+
* expired rows belong to the maintainer's archive mandate, so a project
|
|
7
|
+
* holding only those must still be eligible, and a fully archived project
|
|
8
|
+
* must not (plan 10 gate-3 alignment finding; both hosts read through this
|
|
9
|
+
* one function).
|
|
10
|
+
*/
|
|
11
|
+
export declare function countMaintenancePool(db: Database, projectPath: string): number;
|
|
12
|
+
/**
|
|
13
|
+
* Storage attachment for the automatic memory-maintenance task (plan 10,
|
|
14
|
+
* P1/F2). Owns the `mmc-maint` schedule row in `task_schedule_state` and the
|
|
15
|
+
* task's run telemetry rows in `dream_runs`.
|
|
16
|
+
*/
|
|
17
|
+
/** The `task_schedule_state.task` value owned by the memory-maintenance task. */
|
|
18
|
+
export declare const MAINTENANCE_TASK = "mmc-maint";
|
|
19
|
+
/**
|
|
20
|
+
* The only schedule columns this module may write. `undefined` = not provided
|
|
21
|
+
* (keep the current value); explicit `null` = clear the column.
|
|
22
|
+
*/
|
|
23
|
+
export interface MaintenanceSchedulePatch {
|
|
24
|
+
lastRunAt?: number | null;
|
|
25
|
+
nextDueAt?: number | null;
|
|
26
|
+
lastStatus?: string | null;
|
|
27
|
+
lastError?: string | null;
|
|
28
|
+
retryCount?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface MaintenanceSchedule {
|
|
31
|
+
lastRunAt: number | null;
|
|
32
|
+
nextDueAt: number | null;
|
|
33
|
+
lastStatus: string | null;
|
|
34
|
+
lastError: string | null;
|
|
35
|
+
retryCount: number;
|
|
36
|
+
}
|
|
37
|
+
export interface MaintenanceRunInput {
|
|
38
|
+
projectPath: string;
|
|
39
|
+
startedAt: number;
|
|
40
|
+
finishedAt: number;
|
|
41
|
+
holderId: string;
|
|
42
|
+
/** JSON: per-stage entries incl. budget{budget,spent,finalizeFired,banked} (decision 16). */
|
|
43
|
+
tasksJson: string;
|
|
44
|
+
tasksSucceeded: number;
|
|
45
|
+
tasksFailed: number;
|
|
46
|
+
/** JSON: change counters + affected memory ids; NULL when nothing changed. */
|
|
47
|
+
memoryChangesJson: string | null;
|
|
48
|
+
parentSessionId: string | null;
|
|
49
|
+
}
|
|
50
|
+
export interface MaintenanceRunRecord extends MaintenanceRunInput {
|
|
51
|
+
id: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* D10 anti-borrowing red line (plan decision 14): this module writes ONLY the
|
|
55
|
+
* five semantically-matching columns declared in `MaintenanceSchedulePatch`.
|
|
56
|
+
* `schedule` stays NULL (never stuffed with JSON), and `last_checked_commit` /
|
|
57
|
+
* `last_broad_run_at` / `retrospective_watermark_ms` are upstream's
|
|
58
|
+
* historically borrowed columns whose semantics this task does not adopt —
|
|
59
|
+
* they are never read or written here.
|
|
60
|
+
*/
|
|
61
|
+
export declare function getMaintenanceSchedule(db: Database, projectPath: string): MaintenanceSchedule | null;
|
|
62
|
+
/**
|
|
63
|
+
* Upsert the `mmc-maint` schedule row. Columns absent from the patch keep
|
|
64
|
+
* their current value (a first insert leaves them NULL); only the five
|
|
65
|
+
* writable columns are ever touched — see the D10 red-line note above.
|
|
66
|
+
*/
|
|
67
|
+
export declare function writeMaintenanceSchedule(db: Database, projectPath: string, patch: MaintenanceSchedulePatch): void;
|
|
68
|
+
/**
|
|
69
|
+
* Insert one maintenance run telemetry row. `smart_notes_surfaced` /
|
|
70
|
+
* `smart_notes_pending` are dreamer-era counters the maintenance task never
|
|
71
|
+
* produces; decision 16 pins them to 0.
|
|
72
|
+
*/
|
|
73
|
+
export declare function insertMaintenanceRun(db: Database, run: MaintenanceRunInput): number;
|
|
74
|
+
/** Newest-first run telemetry for one project (matches the finished_at DESC index). */
|
|
75
|
+
export declare function getRecentMaintenanceRuns(db: Database, projectPath: string, limit: number): MaintenanceRunRecord[];
|
|
76
|
+
//# sourceMappingURL=schedule-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-storage.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory-maintainer/schedule-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAO9E;AAED;;;;GAIG;AAEH,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC7D,EAAE,EAAE,MAAM,CAAC;CACd;AAuBD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,GACpB,mBAAmB,GAAG,IAAI,CAgB5B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,wBAAwB,GAChC,IAAI,CA6BN;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAqBnF;AAED,uFAAuF;AACvF,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACd,oBAAoB,EAAE,CAuBxB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { Database } from "../../../shared/sqlite";
|
|
2
|
+
/**
|
|
3
|
+
* Trigger eligibility and backoff/cooldown accounting for the memory-
|
|
4
|
+
* maintenance task (plan 10 §4.2, decisions 5-10, P1/F3).
|
|
5
|
+
*
|
|
6
|
+
* `evaluateEligibility` is a pure function over cheap reads only (in-memory
|
|
7
|
+
* flags + one schedule row + one pool count + the coverage completion record);
|
|
8
|
+
* the P2 hook wiring assembles the input and never blocks a transform pass.
|
|
9
|
+
* `applyRunOutcome` persists the run result: the schedule row carries the
|
|
10
|
+
* retry/backoff state, the coverage key carries the completion record. Errors
|
|
11
|
+
* are never written as success (D4), and `next_due_at` is always lifted past
|
|
12
|
+
* the inter-run cooldown (decision 10).
|
|
13
|
+
*/
|
|
14
|
+
/** Coverage rounds are spaced ≥24h from the last full-pool completion (D3). */
|
|
15
|
+
export declare const DEFAULT_COVERAGE_INTERVAL_MS: number;
|
|
16
|
+
export interface MaintenanceCooldownConfig {
|
|
17
|
+
/** Minimum cooldown between two runs of the same project (decision 10; default 30min). */
|
|
18
|
+
interRunMs: number;
|
|
19
|
+
/** Failure backoff applied in order (decision 10; default [15m, 1h, 4h]). */
|
|
20
|
+
backoffScheduleMs: number[];
|
|
21
|
+
/** Upper bound for backoff delays (decision 10; default 24h). */
|
|
22
|
+
backoffCapMs: number;
|
|
23
|
+
/** Failed attempts before the task re-arms behind the cap (never permanently abandoned). */
|
|
24
|
+
maxRetries: number;
|
|
25
|
+
/** Coverage interval; defaults to DEFAULT_COVERAGE_INTERVAL_MS (24h). */
|
|
26
|
+
coverageIntervalMs?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface EligibilityInput {
|
|
29
|
+
nowMs: number;
|
|
30
|
+
projectActive: boolean;
|
|
31
|
+
/** A coverage round with `completedAt` exists (decision 8: absent → due immediately). */
|
|
32
|
+
hasCompletionRecord: boolean;
|
|
33
|
+
lastCompletedAt: number | null;
|
|
34
|
+
/** `task_schedule_state.next_due_at` (backoff / cooldown gate). */
|
|
35
|
+
nextDueAt: number | null;
|
|
36
|
+
poolCount: number;
|
|
37
|
+
runInFlight: boolean;
|
|
38
|
+
historianInFlight: boolean;
|
|
39
|
+
paused: boolean;
|
|
40
|
+
compactionEnabled: boolean;
|
|
41
|
+
/** Recursion guard (decision 6): a maintenance hidden child never re-triggers. */
|
|
42
|
+
isChildSession: boolean;
|
|
43
|
+
coverageIntervalMs?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface EligibilityVerdict {
|
|
46
|
+
eligible: boolean;
|
|
47
|
+
/** First failing clause, or "eligible". Stable, greppable identifiers. */
|
|
48
|
+
reason: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Eligibility (plan §4.2, decisions 5-8): project active ∧ now ≥
|
|
52
|
+
* next_eligible_at ∧ non-empty pool ∧ no run in flight ∧ historian avoidance ∧
|
|
53
|
+
* not paused ∧ compaction on ∧ not a child session. next_eligible_at: with a
|
|
54
|
+
* completion record = max(lastCompletedAt + coverageInterval, nextDueAt);
|
|
55
|
+
* without one = nextDueAt alone (first run is due immediately, but a backoff
|
|
56
|
+
* written by a previous failed run still gates).
|
|
57
|
+
*/
|
|
58
|
+
export declare function evaluateEligibility(input: EligibilityInput): EligibilityVerdict;
|
|
59
|
+
export type RunOutcome = "round_completed" | "budget_exhausted" | "zero_progress" | "circuit_broken" | "failure" | "partial";
|
|
60
|
+
export interface ApplyRunOutcomeOptions {
|
|
61
|
+
nowMs: number;
|
|
62
|
+
cooldowns: MaintenanceCooldownConfig;
|
|
63
|
+
/** Failure-family detail for `last_error`; never written for success outcomes. */
|
|
64
|
+
reason?: string | null;
|
|
65
|
+
/**
|
|
66
|
+
* D4 in-lock revalidation: invoked INSIDE the BEGIN IMMEDIATE transaction
|
|
67
|
+
* before any write. Return false (or throw) to abort the outcome write —
|
|
68
|
+
* the pipeline passes a lease holder+generation check so a stale holder
|
|
69
|
+
* cannot record an outcome after losing the lease.
|
|
70
|
+
*/
|
|
71
|
+
verifyOwnership?: () => boolean;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Persist one finished run (plan decisions 8/10/14):
|
|
75
|
+
* - round_completed → coverage `completedAt` recorded, retryCount reset,
|
|
76
|
+
* nextDue = completion + coverage interval;
|
|
77
|
+
* - partial (progress, round open, budget remaining) → nextDue = inter-run
|
|
78
|
+
* cooldown, retryCount untouched (no punitive backoff, plan §4.2);
|
|
79
|
+
* - failure / budget_exhausted / zero_progress / circuit_broken → the same
|
|
80
|
+
* backoff accounting: backoffSchedule[retryCount] while under maxRetries,
|
|
81
|
+
* then the cap cooldown with a re-arm (retryCount → 0, never abandoned);
|
|
82
|
+
* - zero_progress additionally terminates an unproductive round (the
|
|
83
|
+
* pipeline only assigns it when the round has banked nothing — see the
|
|
84
|
+
* pipeline outcome rules);
|
|
85
|
+
* - every nextDue is lifted past the inter-run cooldown.
|
|
86
|
+
*
|
|
87
|
+
* All writes land in one short BEGIN IMMEDIATE transaction.
|
|
88
|
+
*/
|
|
89
|
+
export declare function applyRunOutcome(db: Database, projectPath: string, outcome: RunOutcome, opts: ApplyRunOutcomeOptions): void;
|
|
90
|
+
//# sourceMappingURL=schedule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../../../src/features/magic-context/memory-maintainer/schedule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD;;;;;;;;;;;GAWG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,4BAA4B,QAAsB,CAAC;AAEhE,MAAM,WAAW,yBAAyB;IACtC,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,yFAAyF;IACzF,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,mEAAmE;IACnE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kFAAkF;IAClF,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB,CAmB/E;AAED,MAAM,MAAM,UAAU,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,SAAS,CAAC;AAShB,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,yBAAyB,CAAC;IACrC,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;CACnC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC3B,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,sBAAsB,GAC7B,IAAI,CA+DN"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const MERGED_REASONING_PARTS_PREFIX = "__merged_reasoning_parts_v1__:";
|
|
2
|
+
export type FrozenReasoningPart = string | number;
|
|
3
|
+
/** Stable host part ids are preferred; adapters without ids use the part index. */
|
|
4
|
+
export declare function decodeMergedReasoningParts(value: string): [string, FrozenReasoningPart[]] | null;
|
|
5
|
+
export declare function readFrozenMergedReasoningParts(ids: ReadonlySet<string>): Map<string, FrozenReasoningPart[]>;
|
|
6
|
+
//# sourceMappingURL=merged-reasoning-decisions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merged-reasoning-decisions.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/merged-reasoning-decisions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,mCAAmC,CAAC;AAC9E,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD,mFAAmF;AACnF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,GAAG,IAAI,CA2BhG;AAMD,wBAAgB,8BAA8B,CAC1C,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GACzB,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CA0BpC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Database } from "../../shared/sqlite";
|
|
2
|
+
export declare const MESSAGE_FTS_ROWID_MAP_BACKFILL_BATCH_SIZE = 100;
|
|
3
|
+
/**
|
|
4
|
+
* Load user/assistant message rows (joined through the rowid map) for an
|
|
5
|
+
* ordinal range — the canonical FTS chunk-load query for message search.
|
|
6
|
+
* (Lived in compartment-chunk-embedding.ts before the embedding stack was
|
|
7
|
+
* removed; the FTS5 path it serves is retained.)
|
|
8
|
+
*/
|
|
9
|
+
export declare const MESSAGE_FTS_CHUNK_LOAD_SQL = "SELECT map.message_ordinal AS messageOrdinal, fts.role, fts.content\n FROM message_fts_rowid_map AS map\n CROSS JOIN message_history_fts AS fts\n ON fts.rowid = map.fts_rowid\n WHERE map.session_id = ?\n AND map.message_ordinal BETWEEN ? AND ?\n AND fts.role IN ('user', 'assistant')\n ORDER BY map.message_ordinal ASC";
|
|
10
|
+
export interface MessageFtsRowidMapBackfillProgress {
|
|
11
|
+
processed: number;
|
|
12
|
+
watermarkRowid: number;
|
|
13
|
+
completed: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** Record the FTS row identity in the caller's message-index transaction. */
|
|
16
|
+
export declare function recordMessageFtsRowid(db: Database, sessionId: string, messageOrdinal: number, ftsRowid: number | bigint, messageTimeMs?: number | null): void;
|
|
17
|
+
/** Fill a missing indexed timestamp without changing the FTS row identity. */
|
|
18
|
+
export declare function recordIndexedMessageTime(db: Database, sessionId: string, messageOrdinal: number, messageTimeMs: number | null | undefined): void;
|
|
19
|
+
/**
|
|
20
|
+
* Map one bounded rowid-ascending FTS window and persist its watermark atomically.
|
|
21
|
+
* The rowid constraint is an FTS5 point/range access; it never filters an
|
|
22
|
+
* UNINDEXED identity column.
|
|
23
|
+
*/
|
|
24
|
+
export declare function backfillMessageFtsRowidMapBatch(db: Database, batchSize?: number): MessageFtsRowidMapBackfillProgress;
|
|
25
|
+
/** Drain legacy FTS rows in bounded turns so SQLite never owns the host loop. */
|
|
26
|
+
export declare function runMessageFtsRowidMapBackfill(db: Database): Promise<void>;
|
|
27
|
+
/** Coalesce OpenCode and Pi startup attempts sharing one in-process DB handle. */
|
|
28
|
+
export declare function startMessageFtsRowidMapBackfill(db: Database): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* A partially backfilled span is readable only when the ordinary source table
|
|
31
|
+
* proves every ordinal is known and every indexable source row already has a
|
|
32
|
+
* map entry. Legacy spans without complete source metadata wait for the global
|
|
33
|
+
* rowid backfill to finish.
|
|
34
|
+
*/
|
|
35
|
+
export declare function messageFtsOrdinalRangeIsMapped(db: Database, sessionId: string, startOrdinal: number, endOrdinal: number): boolean;
|
|
36
|
+
export declare function getMessageFtsRowidMapBackfillProgress(db: Database): MessageFtsRowidMapBackfillProgress;
|
|
37
|
+
/**
|
|
38
|
+
* Delete the FTS rows of whole sessions that the rowid map cannot reach yet.
|
|
39
|
+
*
|
|
40
|
+
* Whole-session clears delete FTS rows through `message_fts_rowid_map`. Rows
|
|
41
|
+
* written before the map existed get their map entry only when the bounded
|
|
42
|
+
* backfill reaches them, and the backfill walks rowids in ascending order, so
|
|
43
|
+
* every such unmapped row sits above its watermark. Until the backfill
|
|
44
|
+
* completes, a clear also sweeps that rowid range for the sessions; otherwise
|
|
45
|
+
* the rows outlive the clear, get mapped later, and surface in search as stale
|
|
46
|
+
* duplicates forever, even after the session is deleted. The rowid bound keeps
|
|
47
|
+
* the sweep to the part of the table the backfill has not reached.
|
|
48
|
+
*/
|
|
49
|
+
export declare function deleteUnmappedMessageFtsRows(db: Database, sessionIds: readonly string[]): void;
|
|
50
|
+
//# sourceMappingURL=message-fts-rowid-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-fts-rowid-map.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-fts-rowid-map.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,qBAAqB,CAAC;AAIpF,eAAO,MAAM,yCAAyC,MAAM,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,yUAOL,CAAC;AAgBnC,MAAM,WAAW,kCAAkC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACtB;AA4CD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,aAAa,GAAE,MAAM,GAAG,IAAW,GACpC,IAAI,CAYN;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACzC,IAAI,CAmBN;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC3C,EAAE,EAAE,QAAQ,EACZ,SAAS,SAA4C,GACtD,kCAAkC,CA6DpC;AAED,iFAAiF;AACjF,wBAAsB,6BAA6B,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/E;AAED,kFAAkF;AAClF,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC1C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACnB,OAAO,CAuCT;AAED,wBAAgB,qCAAqC,CACjD,EAAE,EAAE,QAAQ,GACb,kCAAkC,CAEpC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAS9F"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Database } from "../../shared/sqlite";
|
|
2
|
+
export declare const MESSAGE_FTS_SESSION_FILTER_SQL = "+message_history_fts.rowid IN (\n SELECT fts_rowid FROM message_fts_rowid_map WHERE session_id = ?1\n) AND ";
|
|
3
|
+
/**
|
|
4
|
+
* Use the sidecar only for sessions with every physical FTS row mapped. Legacy
|
|
5
|
+
* sessions retain the global MATCH query, including duplicate ordinals; no
|
|
6
|
+
* backfill, deduplication, or durable schema change happens during search.
|
|
7
|
+
*
|
|
8
|
+
* Coverage and the synchronous queries share a read transaction so another
|
|
9
|
+
* connection cannot add an unmapped row between the proof and the filtered read.
|
|
10
|
+
* Local writes and external commits invalidate the connection-local proof. Never
|
|
11
|
+
* retain a caller's uncommitted proof: total_changes does not advance on rollback.
|
|
12
|
+
*/
|
|
13
|
+
export declare function withMessageFtsSessionFilter<T>(db: Database, sessionId: string, read: (sessionFirst: boolean) => T): T;
|
|
14
|
+
//# sourceMappingURL=message-fts-session-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-fts-session-filter.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-fts-session-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,qBAAqB,CAAC;AAO/D,eAAO,MAAM,8BAA8B,mHAEpC,CAAC;AAsCR;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EACzC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,CAAC,GACnC,CAAC,CAyCH"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { RawMessage, RawMessageOrdinalAnchor } from "../../hooks/magic-context/read-session-raw";
|
|
2
|
+
import { type Database } from "../../shared/sqlite";
|
|
3
|
+
type FullReadMessages = ((sessionId: string) => RawMessage[]) & {
|
|
4
|
+
readPage?: (sessionId: string, afterOrdinal: number, limit: number, finalWatermark: number, after?: RawMessageOrdinalAnchor) => RawMessage[];
|
|
5
|
+
getCount?: (sessionId: string) => number;
|
|
6
|
+
};
|
|
7
|
+
export interface BoundedMessageReconciliationSource {
|
|
8
|
+
readPage(sessionId: string, afterOrdinal: number, limit: number, finalWatermark: number, after?: RawMessageOrdinalAnchor): RawMessage[];
|
|
9
|
+
getCount(sessionId: string): number;
|
|
10
|
+
}
|
|
11
|
+
export type MessageReconciliationSource = FullReadMessages | BoundedMessageReconciliationSource;
|
|
12
|
+
type ReadSingleMessage = (sessionId: string, messageId: string) => RawMessage | null;
|
|
13
|
+
type IncrementalMessageSource = ReadSingleMessage | RawMessage;
|
|
14
|
+
export declare function scheduleReconciliation(db: Database, sessionId: string, readMessages: MessageReconciliationSource): void;
|
|
15
|
+
export declare function scheduleIncrementalIndex(db: Database, sessionId: string, messageId: string, messageSource: IncrementalMessageSource): void;
|
|
16
|
+
export declare function scheduleClearAndReindex(db: Database, sessionId: string, readMessages: MessageReconciliationSource): void;
|
|
17
|
+
export interface MessageIndexQueueHeapStats {
|
|
18
|
+
queueLength: number;
|
|
19
|
+
reconciliationScheduled: number;
|
|
20
|
+
incrementalTimers: number;
|
|
21
|
+
pendingIncremental: number;
|
|
22
|
+
activeSessionLocks: number;
|
|
23
|
+
completedIncrementalKeys: number;
|
|
24
|
+
activeBufferMessages: number;
|
|
25
|
+
activeBufferBytes: number;
|
|
26
|
+
}
|
|
27
|
+
/** Live async-index holder counts used by the opt-in heap diagnostic RPC. */
|
|
28
|
+
export declare function getMessageIndexQueueHeapStats(): MessageIndexQueueHeapStats;
|
|
29
|
+
export declare function isSessionReconciled(sessionId: string): boolean;
|
|
30
|
+
export declare function clearSessionTracking(sessionId: string): void;
|
|
31
|
+
export declare function __resetMessageIndexAsyncForTests(): void;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=message-index-async.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-index-async.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index-async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,uBAAuB,EAC1B,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,KAAK,QAAQ,EAA8B,MAAM,qBAAqB,CAAC;AA+FhF,KAAK,gBAAgB,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC,GAAG;IAC5D,QAAQ,CAAC,EAAE,CACP,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,uBAAuB,KAC9B,UAAU,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C,CAAC;AAEF,MAAM,WAAW,kCAAkC;IAC/C,QAAQ,CACJ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,uBAAuB,GAChC,UAAU,EAAE,CAAC;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC;AAED,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG,kCAAkC,CAAC;AAChG,KAAK,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,CAAC;AACrF,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,UAAU,CAAC;AAwL/D,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,2BAA2B,GAC1C,IAAI,CAyBN;AAED,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,wBAAwB,GACxC,IAAI,CAuDN;AAED,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,2BAA2B,GAC1C,IAAI,CAwCN;AAED,MAAM,WAAW,0BAA0B;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,6EAA6E;AAC7E,wBAAgB,6BAA6B,IAAI,0BAA0B,CAoB1E;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAuB5D;AAED,wBAAgB,gCAAgC,IAAI,IAAI,CAYvD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Database } from "../../shared/sqlite";
|
|
2
|
+
import { type MessageHistoryOrphanSweepOptions, type MessageHistoryOrphanSweepResult } from "./message-index";
|
|
3
|
+
/**
|
|
4
|
+
* Scope wrapper for the background sweep. It lives beside `message-index` rather
|
|
5
|
+
* than inside it: importing the transform-pass scope helpers into
|
|
6
|
+
* `message-index.ts` itself changes the bundled module graph in a way that hits
|
|
7
|
+
* a Bun 1.4.2 packaging bug (a top-level `__promiseAll` init call is emitted
|
|
8
|
+
* without its definition, which crashes node hosts at import time).
|
|
9
|
+
*/
|
|
10
|
+
export declare function sweepOrphanedOpenCodeMessageIndexes(db: Database, openReadableOpenCodeDb: () => Database | null, options?: MessageHistoryOrphanSweepOptions): MessageHistoryOrphanSweepResult;
|
|
11
|
+
//# sourceMappingURL=message-index-sweep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-index-sweep.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index-sweep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EAEvC,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CAC/C,EAAE,EAAE,QAAQ,EACZ,sBAAsB,EAAE,MAAM,QAAQ,GAAG,IAAI,EAC7C,OAAO,GAAE,gCAAqC,GAC/C,+BAA+B,CAMjC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { RawMessage } from "../../hooks/magic-context/read-session-raw";
|
|
2
|
+
import type { Database } from "../../shared/sqlite";
|
|
3
|
+
export interface MessageHistoryOrphanSweepResult {
|
|
4
|
+
status: "swept" | "cooldown" | "source_unavailable" | "unavailable";
|
|
5
|
+
scanned: number;
|
|
6
|
+
deleted: number;
|
|
7
|
+
cursor: string;
|
|
8
|
+
}
|
|
9
|
+
export interface MessageHistoryOrphanSweepOptions {
|
|
10
|
+
batchSize?: number;
|
|
11
|
+
now?: number;
|
|
12
|
+
safetyAgeMs?: number;
|
|
13
|
+
cooldownMs?: number;
|
|
14
|
+
unavailableReprobeMs?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const MESSAGE_HISTORY_ORPHAN_SWEEP_BATCH_SIZE = 200;
|
|
17
|
+
export declare const MESSAGE_HISTORY_ORPHAN_SAFETY_AGE_MS: number;
|
|
18
|
+
export declare const MESSAGE_HISTORY_ORPHAN_SWEEP_COOLDOWN_MS: number;
|
|
19
|
+
export declare const MESSAGE_HISTORY_ORPHAN_UNAVAILABLE_REPROBE_MS: number;
|
|
20
|
+
/**
|
|
21
|
+
* Everything the search index keeps from one message. A caller that has to hold
|
|
22
|
+
* a whole session's worth of index input keeps these instead of the messages:
|
|
23
|
+
* the indexable text is a small fraction of a message's parts.
|
|
24
|
+
*/
|
|
25
|
+
export interface MessageIndexSource {
|
|
26
|
+
id: string;
|
|
27
|
+
ordinal: number;
|
|
28
|
+
role: string;
|
|
29
|
+
createdAt: number | null | undefined;
|
|
30
|
+
sourceVersion: string;
|
|
31
|
+
contentHash: string;
|
|
32
|
+
content: string;
|
|
33
|
+
}
|
|
34
|
+
export declare function toMessageIndexSource(message: RawMessage): MessageIndexSource;
|
|
35
|
+
export declare function getMessageIndexSourceIdentity(message: RawMessage): string;
|
|
36
|
+
export declare function isMessageIndexSourceCurrent(db: Database, sessionId: string, message: RawMessage): boolean;
|
|
37
|
+
export declare function getLastIndexedOrdinal(db: Database, sessionId: string): number;
|
|
38
|
+
/**
|
|
39
|
+
* The message id the index recorded at one ordinal position, or null when that
|
|
40
|
+
* position has no source row. `message_history_source` is written for every
|
|
41
|
+
* covered ordinal (indexable or not), so a contiguous covered range answers at
|
|
42
|
+
* each of its positions; used by reconciliation's misalignment detection.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getIndexedMessageIdAtOrdinal(db: Database, sessionId: string, ordinal: number): string | null;
|
|
45
|
+
/**
|
|
46
|
+
* Cheap IDF-lite denominator derived from the session's primary-keyed index
|
|
47
|
+
* tracker. Message ordinals are contiguous through the watermark, so the small
|
|
48
|
+
* approximation error from non-indexable rows is preferable to scanning the
|
|
49
|
+
* global FTS row store for an exact count.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getIndexedMessageCorpusSize(db: Database, sessionId: string, maxOrdinal: number | null): number;
|
|
52
|
+
export declare function getDirtyIndexFloor(db: Database, sessionId: string): number | null;
|
|
53
|
+
/**
|
|
54
|
+
* Persist the earliest ordinal that an incremental write could leave missing.
|
|
55
|
+
* Callers set this before the FTS transaction so a crash or write failure leaves
|
|
56
|
+
* a durable reconciliation floor instead of an uncovered watermark.
|
|
57
|
+
*/
|
|
58
|
+
export declare function markMessageIndexDirty(db: Database, sessionId: string, floorOrdinal: number): void;
|
|
59
|
+
export declare function getMessageIndexReconciliationStartOrdinal(db: Database, sessionId: string): number;
|
|
60
|
+
export declare function isMessageIndexReconciledThrough(db: Database, sessionId: string, finalWatermark: number): boolean;
|
|
61
|
+
export declare function deleteIndexedMessage(db: Database, sessionId: string, messageId: string): number;
|
|
62
|
+
/**
|
|
63
|
+
* Drop every indexed document, its rowid mapping, the progress watermark and the
|
|
64
|
+
* derived compression depth for one session. The caller must already hold a
|
|
65
|
+
* transaction; use `clearIndexedMessages` when it does not.
|
|
66
|
+
*/
|
|
67
|
+
export declare function clearIndexedMessagesInTransaction(db: Database, sessionId: string): void;
|
|
68
|
+
export declare function clearIndexedMessages(db: Database, sessionId: string): void;
|
|
69
|
+
export declare function getIndexableContent(role: string, parts: unknown[]): string;
|
|
70
|
+
export declare function indexSingleMessage(db: Database, sessionId: string, message: RawMessage): boolean;
|
|
71
|
+
export declare function indexMessagesAfterOrdinal(db: Database, sessionId: string, messages: RawMessage[], _lastIndexedOrdinal: number, finalWatermark?: number): number;
|
|
72
|
+
/**
|
|
73
|
+
* `indexMessagesAfterOrdinal` for input already reduced to index sources. The
|
|
74
|
+
* slice may be any contiguous part of the session: the watermark advances over
|
|
75
|
+
* the ordinals it covers and the first one it does not is left as the dirty
|
|
76
|
+
* floor, so consecutive slices, each in its own transaction, rebuild a session
|
|
77
|
+
* exactly as one call with every source would.
|
|
78
|
+
*/
|
|
79
|
+
export declare function indexSourcesAfterOrdinal(db: Database, sessionId: string, sources: readonly MessageIndexSource[], finalWatermark: number): number;
|
|
80
|
+
export declare function ensureMessagesIndexed(db: Database, sessionId: string, readMessages: (sessionId: string) => RawMessage[]): void;
|
|
81
|
+
/**
|
|
82
|
+
* Delete old OpenCode session state that no longer exists in OpenCode's
|
|
83
|
+
* authoritative session table. One bounded keyset page is processed per call;
|
|
84
|
+
* the cursor survives restarts and only resets after a complete pass. Pi rows
|
|
85
|
+
* need a separate sweep against Pi's session files and are excluded here.
|
|
86
|
+
*/
|
|
87
|
+
export declare function sweepOrphanedOpenCodeMessageIndexes(db: Database, openReadableOpenCodeDb: () => Database | null, options?: MessageHistoryOrphanSweepOptions): MessageHistoryOrphanSweepResult;
|
|
88
|
+
//# sourceMappingURL=message-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-index.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAE7E,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,qBAAqB,CAAC;AA8BpF,MAAM,WAAW,+BAA+B;IAC5C,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,oBAAoB,GAAG,aAAa,CAAC;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gCAAgC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAC3D,eAAO,MAAM,oCAAoC,QAAsB,CAAC;AACxE,eAAO,MAAM,wCAAwC,QAAiB,CAAC;AACvE,eAAO,MAAM,6CAA6C,QAAsB,CAAC;AAyQjF;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,kBAAkB,CAW5E;AAMD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CASzE;AAED,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,GACpB,OAAO,CAYT;AA8BD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG7E;AAeD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAMf;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,IAAI,GAC1B,MAAM,CAGR;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKjF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CASjG;AAuBD,wBAAgB,yCAAyC,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAIjG;AAED,wBAAgB,+BAA+B,CAC3C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACvB,OAAO,CAGT;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAU/F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOvF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAO1E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAsB1E;AAyFD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CA4ChG;AAED,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,UAAU,EAAE,EACtB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,GAAE,MAAwB,GACzC,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,kBAAkB,EAAE,EACtC,cAAc,EAAE,MAAM,GACvB,MAAM,CAER;AAqHD,wBAAgB,qBAAqB,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,UAAU,EAAE,GAClD,IAAI,CAmBN;AAwDD;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAC/C,EAAE,EAAE,QAAQ,EACZ,sBAAsB,EAAE,MAAM,QAAQ,GAAG,IAAI,EAC7C,OAAO,GAAE,gCAAqC,GAC/C,+BAA+B,CA+HjC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { RawMessage } from "../../hooks/magic-context/read-session-raw";
|
|
2
|
+
import type { Database } from "../../shared/sqlite";
|
|
3
|
+
export declare const MESSAGE_TIME_BACKFILL_BATCH_SIZE = 500;
|
|
4
|
+
export interface MessageTimeBackfillProgress {
|
|
5
|
+
processed: number;
|
|
6
|
+
cursorSessionId: string;
|
|
7
|
+
cursorOrdinal: number;
|
|
8
|
+
completed: boolean;
|
|
9
|
+
}
|
|
10
|
+
export type MessageTimeBackfillReader = ((sessionId: string) => RawMessage[]) & {
|
|
11
|
+
readPage?: (sessionId: string, afterOrdinal: number, limit: number, finalWatermark: number) => RawMessage[];
|
|
12
|
+
};
|
|
13
|
+
/** Fill one durable cursor window. Host reads happen before the atomic update/cursor commit. */
|
|
14
|
+
export declare function backfillMessageTimesBatch(db: Database, reader: MessageTimeBackfillReader, batchSize?: number): MessageTimeBackfillProgress;
|
|
15
|
+
/** Drain durable legacy rows in bounded turns, yielding between SQLite write windows. */
|
|
16
|
+
export declare function runMessageTimeBackfill(db: Database, reader: MessageTimeBackfillReader): Promise<void>;
|
|
17
|
+
export declare function startMessageTimeBackfill(db: Database, reader: MessageTimeBackfillReader): Promise<void>;
|
|
18
|
+
export declare function getMessageTimeBackfillProgress(db: Database): MessageTimeBackfillProgress;
|
|
19
|
+
//# sourceMappingURL=message-time-backfill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-time-backfill.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/message-time-backfill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAgBpD,MAAM,WAAW,2BAA2B;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC,GAAG;IAC5E,QAAQ,CAAC,EAAE,CACP,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,KACrB,UAAU,EAAE,CAAC;CACrB,CAAC;AAgEF,gGAAgG;AAChG,wBAAgB,yBAAyB,CACrC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,yBAAyB,EACjC,SAAS,SAAmC,GAC7C,2BAA2B,CA2D7B;AAED,yFAAyF;AACzF,wBAAsB,sBAAsB,CACxC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,yBAAyB,GAClC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,yBAAyB,GAClC,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,QAAQ,GAAG,2BAA2B,CAExF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { Database } from "../../shared/sqlite";
|
|
2
|
+
/**
|
|
3
|
+
* Migration v2 (upstream v94, renumbered): stop rewriting two multi-megabyte records on every pass.
|
|
4
|
+
*
|
|
5
|
+
* SQLite rewrites a whole record whenever its length changes. The LKG slot's
|
|
6
|
+
* `json_prefix` and the replay document in `session_meta.trailing_blank_decisions`
|
|
7
|
+
* both grow a little on every new message, so each pass rewrote megabytes of
|
|
8
|
+
* `context.db` (the LKG row and the whole `session_meta` record that carries the
|
|
9
|
+
* document). This migration moves the growing parts into rows that change
|
|
10
|
+
* independently:
|
|
11
|
+
*
|
|
12
|
+
* - the LKG prefix into fixed-position slices in `lkg_slot_chunks`, with the
|
|
13
|
+
* slice count, length and hash kept on the (now small) `lkg_slots` row;
|
|
14
|
+
* - each trailing-blank decision into its own `session_replay_decisions` row,
|
|
15
|
+
* leaving only the envelope (version and other namespaces) in the column.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Slices of each LKG prefix, in order; see lkg-prefix-chunks.ts. `hash` is the
|
|
19
|
+
* slice's SHA-256, which a save compares to decide whether the slice changed.
|
|
20
|
+
* It precedes `body` so reading it never walks the body's overflow pages.
|
|
21
|
+
*/
|
|
22
|
+
export declare const LKG_SLOT_CHUNKS_DDL = "\n CREATE TABLE IF NOT EXISTS lkg_slot_chunks (\n session_id TEXT NOT NULL,\n chunk INTEGER NOT NULL,\n hash TEXT NOT NULL,\n body TEXT NOT NULL,\n PRIMARY KEY (session_id, chunk)\n );\n";
|
|
23
|
+
/** One trailing-blank replay decision per assistant message. */
|
|
24
|
+
export declare const SESSION_REPLAY_DECISIONS_DDL = "\n CREATE TABLE IF NOT EXISTS session_replay_decisions (\n session_id TEXT NOT NULL,\n message_id TEXT NOT NULL,\n decision TEXT NOT NULL,\n PRIMARY KEY (session_id, message_id)\n ) WITHOUT ROWID;\n";
|
|
25
|
+
/** The `lkg_slots` layout from migration v2 on, without the prefix itself. */
|
|
26
|
+
export declare const LKG_SLOTS_DDL: string;
|
|
27
|
+
/**
|
|
28
|
+
* Rebuild `lkg_slots` without `json_prefix`, moving each prefix into slices.
|
|
29
|
+
*
|
|
30
|
+
* The LKG is a recovery cache: the next applied pass of a session recaptures
|
|
31
|
+
* its slot. It matters most right after this migration, because the restart
|
|
32
|
+
* that applies it also restarts the Rust module, and while the module reopens
|
|
33
|
+
* its own store the LKG slot is what a session replays. So slots captured in the
|
|
34
|
+
* last day, the sessions that can send a pass in that window, are moved, and
|
|
35
|
+
* older ones are dropped. Moving every slot would rewrite the whole cache (about
|
|
36
|
+
* 700 MB on a large store, 34 to 73 seconds under load) while holding the write
|
|
37
|
+
* lock every other process needs to start.
|
|
38
|
+
*
|
|
39
|
+
* The prefix is sliced in JavaScript, not with SQL substr, because the slice
|
|
40
|
+
* boundaries and the hash a load verifies must be computed exactly as
|
|
41
|
+
* saveLkgSlotToDb computes them.
|
|
42
|
+
*/
|
|
43
|
+
export declare function splitLkgSlotPrefixes(db: Database, now?: number): void;
|
|
44
|
+
/**
|
|
45
|
+
* Move every trailing-blank decision out of the replay document into
|
|
46
|
+
* `session_replay_decisions`.
|
|
47
|
+
*
|
|
48
|
+
* The version test replicates `parseReplayDocument`: a document is the v2
|
|
49
|
+
* envelope when it has a `version` key whose value is not itself a valid
|
|
50
|
+
* decision. A v1 document is the flat map, which may contain an assistant whose
|
|
51
|
+
* id is literally "version". Only documents that parse strictly are moved. A
|
|
52
|
+
* document that does not (malformed JSON, an invalid decision, an unknown
|
|
53
|
+
* envelope version) stays in the column untouched, so that session keeps exactly
|
|
54
|
+
* today's behaviour: lenient readers still see its valid entries and strict
|
|
55
|
+
* writers still refuse it.
|
|
56
|
+
*
|
|
57
|
+
* Afterwards a v2 column holds the envelope with an empty `trailingBlank`, and
|
|
58
|
+
* its other namespaces (`piNative`, `cacheTtlPolicy`) are unchanged. A v1
|
|
59
|
+
* column, which has no other namespaces, is emptied.
|
|
60
|
+
*/
|
|
61
|
+
export declare function splitReplayDecisions(db: Database): void;
|
|
62
|
+
//# sourceMappingURL=migration-v2-write-split.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-v2-write-split.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/migration-v2-write-split.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wOAQ/B,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,4BAA4B,6OAOxC,CAAC;AAsBF,8EAA8E;AAC9E,eAAO,MAAM,aAAa,QAA2B,CAAC;AAgBtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,SAAa,GAAG,IAAI,CAiDzE;AAkBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CA6DvD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { Database } from "../../shared/sqlite";
|
|
2
|
+
/** First version reserved for downstream migrations; upstream versions stay below it. */
|
|
3
|
+
export declare const FORK_MIGRATION_VERSION_FLOOR = 10000;
|
|
4
|
+
/**
|
|
5
|
+
* Versioned migration framework for magic-context's SQLite database.
|
|
6
|
+
*
|
|
7
|
+
* Each migration is a function that runs inside a transaction.
|
|
8
|
+
* Migrations are applied sequentially on startup — skipping any
|
|
9
|
+
* that have already run. This handles multi-version jumps cleanly
|
|
10
|
+
* (e.g. upgrading from 0.4 to 0.7 runs all intermediate migrations).
|
|
11
|
+
*
|
|
12
|
+
* To add a new migration:
|
|
13
|
+
* 1. Append a new entry to the MIGRATIONS array
|
|
14
|
+
* 2. The version number is the array index + 1
|
|
15
|
+
* 3. The migration runs in a transaction — if it throws, it rolls back
|
|
16
|
+
*/
|
|
17
|
+
interface Migration {
|
|
18
|
+
version: number;
|
|
19
|
+
description: string;
|
|
20
|
+
up: (db: Database) => void;
|
|
21
|
+
}
|
|
22
|
+
export declare class MigrationLockBusyError extends Error {
|
|
23
|
+
constructor(message: string);
|
|
24
|
+
}
|
|
25
|
+
export declare const MIGRATIONS: Migration[];
|
|
26
|
+
/**
|
|
27
|
+
* Highest version in the MIGRATIONS array. `LATEST_SUPPORTED_VERSION` in
|
|
28
|
+
* storage-db.ts (the schema-fence ceiling) MUST equal this — a stale ceiling
|
|
29
|
+
* makes the DB refuse to open after the new migration applies (a real bug the
|
|
30
|
+
* project hit during v2 work). A unit test asserts the two stay in lockstep.
|
|
31
|
+
*/
|
|
32
|
+
export declare const LATEST_MIGRATION_VERSION: number;
|
|
33
|
+
/**
|
|
34
|
+
* Detect the specific case where a sibling process already committed the
|
|
35
|
+
* same `schema_migrations` row we're about to insert. BEGIN IMMEDIATE now
|
|
36
|
+
* prevents this race for supported adapters by serializing before the version
|
|
37
|
+
* read. Keep this narrow guard as a secondary backstop for legacy or unusual
|
|
38
|
+
* transaction adapters that do not honor the requested begin mode.
|
|
39
|
+
*
|
|
40
|
+
* Important: only PRIMARY KEY conflicts on `schema_migrations` are
|
|
41
|
+
* swallowed. Any other failure (CREATE TABLE, ALTER TABLE, data heal,
|
|
42
|
+
* etc.) surfaces normally and fail-closes per contract.
|
|
43
|
+
*/
|
|
44
|
+
export declare function isSiblingMigrationConflict(db: Database, error: unknown, version: number): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Run all pending migrations sequentially.
|
|
47
|
+
* Each migration runs in its own transaction — if it fails, only that migration rolls back.
|
|
48
|
+
* Already-applied migrations are skipped.
|
|
49
|
+
*
|
|
50
|
+
* Migration application re-reads the upstream-lane version under BEGIN IMMEDIATE
|
|
51
|
+
* before choosing one migration. Concurrent starters therefore serialize before
|
|
52
|
+
* taking a read snapshot: one applies the migration and the waiter observes the
|
|
53
|
+
* advanced version instead of failing a deferred read-to-write lock upgrade.
|
|
54
|
+
*/
|
|
55
|
+
export declare function runMigrations(db: Database): void;
|
|
56
|
+
/**
|
|
57
|
+
* SQL fragment identifying rows whose project (or session's project) is under
|
|
58
|
+
* external authority management. Shared by the notes heal path to avoid
|
|
59
|
+
* touching rows the authority triggers would abort.
|
|
60
|
+
*/
|
|
61
|
+
export declare function managedAuthorityNoteRow(row: "OLD" | "NEW" | "notes"): string;
|
|
62
|
+
/**
|
|
63
|
+
* Run migrations without blocking the event loop while a sibling owns SQLite's
|
|
64
|
+
* write lock. Only failures from the lock/check phase are retried; migration
|
|
65
|
+
* body failures continue to fail closed immediately.
|
|
66
|
+
*/
|
|
67
|
+
export interface MigrationRetryOptions {
|
|
68
|
+
retryDelaysMs?: readonly number[];
|
|
69
|
+
sleep?: (delayMs: number) => Promise<void>;
|
|
70
|
+
}
|
|
71
|
+
export declare function runMigrationsWithRetry(db: Database, options?: MigrationRetryOptions): Promise<void>;
|
|
72
|
+
export {};
|
|
73
|
+
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/migrations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,yFAAyF;AACzF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD;;;;;;;;;;;;GAYG;AAEH,UAAU,SAAS;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC9B;AAID,qBAAa,sBAAuB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI9B;AAYD,eAAO,MAAM,UAAU,EAAE,SAAS,EA0BjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAGtC,CAAC;AAyBF;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAqBjG;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CA+GhD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAe5E;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED,wBAAsB,sBAAsB,CACxC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,qBAA0B,GACpC,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-database.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/mock-database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAE7C"}
|