@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,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence-boundary strip for assistant completions (`experimental.text.complete`).
|
|
3
|
+
*
|
|
4
|
+
* 1. **Leading well-formed runs** — `^(§N§\s*)+` removes canonical mimicked prefixes
|
|
5
|
+
* at the start so persisted text stays clean; the transform layer re-injects the
|
|
6
|
+
* authoritative `§N§ ` from DB tag state on the next pass.
|
|
7
|
+
*
|
|
8
|
+
* 2. **Global complete pairs** — `/§\d+§/g` removes whole cargo-cult `§N§` tokens
|
|
9
|
+
* mid-text without leaving digit residue (unlike stripping `§` alone).
|
|
10
|
+
*
|
|
11
|
+
* 3. **Global malformed hybrids** — `§N">§…` shapes from compartment/XML confusion.
|
|
12
|
+
*
|
|
13
|
+
* 4. **Stray `§`** — any remaining section signs after pair removal.
|
|
14
|
+
*
|
|
15
|
+
* Transform-layer `stripTagPrefix` intentionally does NOT strip bare leading digits;
|
|
16
|
+
* only this persistence path performs global MC-notation cleanup.
|
|
17
|
+
*
|
|
18
|
+
* Cost: legitimate lone `§` (e.g. `§5.1` section refs) becomes `5.1` after step 4.
|
|
19
|
+
* Models adapt to alternatives (`Section 5.1`, `[5.1]`).
|
|
20
|
+
*
|
|
21
|
+
* Does not affect user message text (hook is assistant-only) or transform-injected
|
|
22
|
+
* sentinels like `[dropped §N§]`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createTextCompleteHandler(): (_input: {
|
|
25
|
+
sessionID: string;
|
|
26
|
+
messageID: string;
|
|
27
|
+
partID: string;
|
|
28
|
+
}, output: {
|
|
29
|
+
text: string;
|
|
30
|
+
}) => Promise<void>;
|
|
31
|
+
//# sourceMappingURL=text-complete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-complete.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/text-complete.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,wBAAgB,yBAAyB,KAEjC,QAAQ;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAEhE,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KACzB,OAAO,CAAC,IAAI,CAAC,CAGnB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Todo state synthesis — synthetic todowrite injection.
|
|
3
|
+
*
|
|
4
|
+
* Instead of inventing a custom `<current-todos>` block (which agents would
|
|
5
|
+
* need to learn to parse), we synthesize a realistic `todowrite` tool part
|
|
6
|
+
* and inject it into the latest assistant message on cache-busting passes.
|
|
7
|
+
* The agent reads it through their existing todowrite-tracking mental model:
|
|
8
|
+
* the wire shape is identical to OpenCode's stored todowrite tool parts
|
|
9
|
+
* (`{type: "tool", callID, tool: "todowrite", state: {input, output, ...}}`).
|
|
10
|
+
*
|
|
11
|
+
* Cache safety:
|
|
12
|
+
* - Snapshot capture (in hook-handlers.ts on tool.execute.after) writes DB
|
|
13
|
+
* only — no message mutation.
|
|
14
|
+
* - Injection happens in transform-postprocess-phase.ts AFTER tagging and
|
|
15
|
+
* AFTER applyPendingOperations, so the synthetic part never gets tagged
|
|
16
|
+
* and is invisible to mmc_reduce and heuristic cleanup.
|
|
17
|
+
* - The synthetic callID is deterministic (sha256(stateJson)) so a stable
|
|
18
|
+
* snapshot produces a stable wire shape across passes; on defer passes we
|
|
19
|
+
* re-inject the same part at the same anchor, idempotent via callID match.
|
|
20
|
+
*
|
|
21
|
+
* Wire shape verified against:
|
|
22
|
+
* - OpenCode source: ~/Work/OSS/opencode/packages/opencode/src/tool/todo.ts
|
|
23
|
+
* - Production OpenCode DB sample: part where data LIKE '%"tool":"todowrite"%'
|
|
24
|
+
*/
|
|
25
|
+
export declare const TODO_STATUS_PENDING = "pending";
|
|
26
|
+
export declare const TODO_STATUS_IN_PROGRESS = "in_progress";
|
|
27
|
+
export declare const TODO_STATUS_COMPLETED = "completed";
|
|
28
|
+
export declare const TODO_STATUS_CANCELLED = "cancelled";
|
|
29
|
+
export declare const TODO_PRIORITY_HIGH = "high";
|
|
30
|
+
export declare const TODO_PRIORITY_MEDIUM = "medium";
|
|
31
|
+
export declare const TODO_PRIORITY_LOW = "low";
|
|
32
|
+
export declare const TODO_STATUSES: readonly ["pending", "in_progress", "completed", "cancelled"];
|
|
33
|
+
export declare const TODO_PRIORITIES: readonly ["high", "medium", "low"];
|
|
34
|
+
export type TodoStatus = (typeof TODO_STATUSES)[number];
|
|
35
|
+
export type TodoPriority = (typeof TODO_PRIORITIES)[number];
|
|
36
|
+
export interface TodoItem {
|
|
37
|
+
content: string;
|
|
38
|
+
status: TodoStatus;
|
|
39
|
+
priority: TodoPriority;
|
|
40
|
+
}
|
|
41
|
+
export declare const TERMINAL_STATUSES: Set<"completed" | "pending" | "in_progress" | "cancelled">;
|
|
42
|
+
/**
|
|
43
|
+
* The set of statuses real OpenCode `todowrite` excludes when computing the
|
|
44
|
+
* tool-part `title` (e.g. "3 todos"). OpenCode counts only `completed` as
|
|
45
|
+
* "done"; cancelled todos still appear in the title's active count.
|
|
46
|
+
*
|
|
47
|
+
* Source: ~/Work/OSS/opencode/packages/opencode/src/tool/todo.ts:47-52.
|
|
48
|
+
*/
|
|
49
|
+
export declare const TITLE_DONE_STATUSES: Set<"completed" | "pending" | "in_progress" | "cancelled">;
|
|
50
|
+
/**
|
|
51
|
+
* Normalize a `todowrite` args.todos array into a stable JSON string.
|
|
52
|
+
* Returns `null` if the input is not a valid todo array.
|
|
53
|
+
*
|
|
54
|
+
* Some Pi users disable Magic Context's built-in `todowrite` and install a
|
|
55
|
+
* third-party tool with the same name. Capture stays interoperable when that
|
|
56
|
+
* tool emits Magic Context's exact todo shape, but it must fail closed for any
|
|
57
|
+
* other status or priority values so bad state never reaches synthetic replay.
|
|
58
|
+
*
|
|
59
|
+
* Used by the snapshot capture path (`hook-handlers.ts`) to produce a
|
|
60
|
+
* deterministic representation that survives JSON round-tripping with
|
|
61
|
+
* stable field order.
|
|
62
|
+
*/
|
|
63
|
+
export declare function normalizeTodoStateJson(todos: unknown): string | null;
|
|
64
|
+
/**
|
|
65
|
+
* A synthetic OpenCode tool part matching the wire shape of a real
|
|
66
|
+
* `todowrite` tool result.
|
|
67
|
+
*
|
|
68
|
+
* NOTE — deliberate field omissions vs OpenCode `ToolPart`:
|
|
69
|
+
* - `id`, `sessionID`, `messageID`: OpenCode generates these from
|
|
70
|
+
* `Identifier.ascending(...)` for parts that originate from real tool
|
|
71
|
+
* calls and persist to the OpenCode DB. The synthetic part is
|
|
72
|
+
* transform-only (never persisted to OpenCode's DB), so these fields
|
|
73
|
+
* would be meaningless. The OpenCode wire serializer
|
|
74
|
+
* (`MessageV2.toModelMessagesEffect`) only reads `part.state.*`,
|
|
75
|
+
* `part.callID`, `part.tool`, and `part.metadata` — none of the
|
|
76
|
+
* omitted fields participate in wire serialization. Verified against
|
|
77
|
+
* ~/Work/OSS/opencode/packages/opencode/src/session/message-v2.ts:851-884.
|
|
78
|
+
*/
|
|
79
|
+
export interface SyntheticTodoPart {
|
|
80
|
+
type: "tool";
|
|
81
|
+
callID: string;
|
|
82
|
+
tool: "todowrite";
|
|
83
|
+
state: {
|
|
84
|
+
status: "completed";
|
|
85
|
+
input: {
|
|
86
|
+
todos: TodoItem[];
|
|
87
|
+
};
|
|
88
|
+
output: string;
|
|
89
|
+
title: string;
|
|
90
|
+
metadata: {
|
|
91
|
+
todos: TodoItem[];
|
|
92
|
+
truncated: false;
|
|
93
|
+
};
|
|
94
|
+
time: {
|
|
95
|
+
start: number;
|
|
96
|
+
end: number;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
/** Marker so other plugin code can detect synthetic parts and skip them. */
|
|
100
|
+
syntheticTodoMarker: true;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Build a synthetic todowrite tool part from a normalized state JSON.
|
|
104
|
+
* Returns `null` if the state is empty or all todos are terminal — in
|
|
105
|
+
* those cases the agent doesn't need a reminder.
|
|
106
|
+
*/
|
|
107
|
+
export declare function buildSyntheticTodoPart(stateJson: string): SyntheticTodoPart | null;
|
|
108
|
+
/**
|
|
109
|
+
* Compute a deterministic call_id from the snapshot JSON. Stable for stable
|
|
110
|
+
* state; identical state across passes produces identical callID, which
|
|
111
|
+
* gives byte-identical wire shape on both cache-busting and defer passes.
|
|
112
|
+
*
|
|
113
|
+
* Format chosen to clearly distinguish from real provider-generated IDs:
|
|
114
|
+
* - Anthropic: `toolu_<24 base62 chars>`
|
|
115
|
+
* - OpenAI: `call_<random>`
|
|
116
|
+
* - Synthetic: `mc_synthetic_todo_<16 hex chars>`
|
|
117
|
+
*
|
|
118
|
+
* Providers do not validate callID format — they only require matching IDs
|
|
119
|
+
* between tool_use and tool_result.
|
|
120
|
+
*/
|
|
121
|
+
export declare function computeSyntheticCallId(stateJson: string): string;
|
|
122
|
+
/**
|
|
123
|
+
* Detect whether a part is a synthetic todo part this module produced.
|
|
124
|
+
* Used to skip synthetic parts during tagging and other tool-walk passes.
|
|
125
|
+
*/
|
|
126
|
+
export declare function isSyntheticTodoPart(part: unknown): boolean;
|
|
127
|
+
//# sourceMappingURL=todo-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"todo-view.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/todo-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,qBAAqB,cAAc,CAAC;AACjD,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,eAAO,MAAM,aAAa,+DAKhB,CAAC;AAEX,eAAO,MAAM,eAAe,oCAIlB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAQ5D,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;CAC1B;AAKD,eAAO,MAAM,iBAAiB,4DAG5B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,4DAA+C,CAAC;AAIhF;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAcpE;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE;QACH,MAAM,EAAE,WAAW,CAAC;QACpB,KAAK,EAAE;YAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;SAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE;YAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAAC,SAAS,EAAE,KAAK,CAAA;SAAE,CAAC;QAClD,IAAI,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KACxC,CAAC;IACF,4EAA4E;IAC5E,mBAAmB,EAAE,IAAI,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAkClF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAmB1D"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-model tokenizer calibration ratios.
|
|
3
|
+
*
|
|
4
|
+
* ai-tokenizer's `claude` / `o200k_base` / `cl100k_base` / `p50k_base` encodings
|
|
5
|
+
* approximate provider tokenizers but drift from the API's actual count by
|
|
6
|
+
* model-specific amounts. Empirically measured ratios from
|
|
7
|
+
* `scripts/calibrate-tokenizer/` (sweep against real production system prompt
|
|
8
|
+
* + 39 MCP-style tools + minimal conversation, comparing local count vs each
|
|
9
|
+
* provider's own usage.input_tokens).
|
|
10
|
+
*
|
|
11
|
+
* `system_ratio = api_tokens / local_raw_tokens` for plain-text system prompts
|
|
12
|
+
* `tools_ratio = api_tokens / local_raw_tokens` for the tools array
|
|
13
|
+
*
|
|
14
|
+
* Multiplying the local count by these ratios yields the API's count.
|
|
15
|
+
*
|
|
16
|
+
* Pattern matching: longest prefix wins. Unknown models fall back to 1.0 / 1.0
|
|
17
|
+
* (no calibration). Re-run the harness when adding new models or after a
|
|
18
|
+
* provider tokenizer change.
|
|
19
|
+
*/
|
|
20
|
+
export interface ModelCalibration {
|
|
21
|
+
systemRatio: number;
|
|
22
|
+
toolsRatio: number;
|
|
23
|
+
/** Table prefix the ratios were inherited from when the model itself is unmeasured. */
|
|
24
|
+
derivedFrom?: string;
|
|
25
|
+
/** A provider without measurements matched the model id against another provider's seeds. */
|
|
26
|
+
matchedByModelId?: boolean;
|
|
27
|
+
proseRatio: number;
|
|
28
|
+
}
|
|
29
|
+
/** Version of the static measurements and family-inheritance rules, independent of session usage samples. */
|
|
30
|
+
export declare const CALIBRATION_TABLE_REVISION = "2026-09-30-sol-tokenizer-seeds-v3";
|
|
31
|
+
export declare const UNKNOWN_FIT_RATIO: number;
|
|
32
|
+
/** Whether the resolver found a measured or family-inherited seed, including neutral measurements. */
|
|
33
|
+
export declare function hasModelCalibration(providerId: string | undefined, modelId: string | undefined): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Look up calibration ratios for a given `providerID/modelID` key. Performs
|
|
36
|
+
* longest-prefix match (case-insensitive), then same-family inheritance.
|
|
37
|
+
* Unknown models retain neutral decision ratios; fit callers must instead use UNKNOWN_FIT_RATIO.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveModelCalibration(providerId: string | undefined, modelId: string | undefined): ModelCalibration;
|
|
40
|
+
/**
|
|
41
|
+
* Apply calibration to local raw counts and absorb the residual into the
|
|
42
|
+
* unknown-drift buckets so all categories sum to exactly inputTokens.
|
|
43
|
+
*
|
|
44
|
+
* Bucket policy by stability:
|
|
45
|
+
* 1. **Calibrated** (System, Tool Defs) — local count × measured per-model
|
|
46
|
+
* ratio. We have empirically derived ratios from `scripts/calibrate-tokenizer/`,
|
|
47
|
+
* so these match the API to within ~5%.
|
|
48
|
+
* 2. **Calibrated prose** (Compartments, Facts, Memories, Profile) —
|
|
49
|
+
* local count × measured prose ratio (1.0 when unmeasured). Display-only:
|
|
50
|
+
* transform budgets and served bytes continue to use raw local counts.
|
|
51
|
+
* 3. **Residual absorbers** (Conversation, Tool Calls) — proportionally
|
|
52
|
+
* scaled to absorb whatever's left after (1) and (2). These have the
|
|
53
|
+
* most genuine drift (mixed user/assistant text + tool I/O) and the
|
|
54
|
+
* least fixed structure, so attributing the unknown remainder here is
|
|
55
|
+
* the most honest mapping.
|
|
56
|
+
*
|
|
57
|
+
* Behavior at the edges:
|
|
58
|
+
* - inputTokens === 0 → returns all zeros.
|
|
59
|
+
* - residual local sum === 0 (no conversation or tool calls yet) →
|
|
60
|
+
* conversation absorbs the full remainder so the bar still adds up.
|
|
61
|
+
* - non-residual buckets together exceed inputTokens (rare clamp case) →
|
|
62
|
+
* residuals = 0; calibrated system/tools + prose are scaled down proportionally so
|
|
63
|
+
* the sum never exceeds inputTokens.
|
|
64
|
+
* - rounding: residual ±1 token from rounding lands in the larger residual
|
|
65
|
+
* bucket so exact equality is preserved.
|
|
66
|
+
*/
|
|
67
|
+
export interface CalibratedBuckets {
|
|
68
|
+
systemTokens: number;
|
|
69
|
+
toolDefinitionTokens: number;
|
|
70
|
+
compartmentTokens: number;
|
|
71
|
+
factTokens: number;
|
|
72
|
+
memoryTokens: number;
|
|
73
|
+
conversationTokens: number;
|
|
74
|
+
toolCallTokens: number;
|
|
75
|
+
}
|
|
76
|
+
export interface CalibrationInput {
|
|
77
|
+
inputTokens: number;
|
|
78
|
+
/** Local raw count (ai-tokenizer) for the system prompt. */
|
|
79
|
+
systemLocal: number;
|
|
80
|
+
/** Local raw count (ai-tokenizer) for the tool definitions. */
|
|
81
|
+
toolDefsLocal: number;
|
|
82
|
+
/** Raw first-message (m0) prose counts, calibrated for display only; budgets remain local. */
|
|
83
|
+
compartmentsLocal: number;
|
|
84
|
+
factsLocal: number;
|
|
85
|
+
memoriesLocal: number;
|
|
86
|
+
/** Residual absorbers — proportionally scaled to absorb the remainder. */
|
|
87
|
+
conversationLocal: number;
|
|
88
|
+
toolCallsLocal: number;
|
|
89
|
+
calibration: ModelCalibration;
|
|
90
|
+
}
|
|
91
|
+
export declare function calibrateBuckets(input: CalibrationInput): CalibratedBuckets;
|
|
92
|
+
//# sourceMappingURL=tokenizer-calibration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer-calibration.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/tokenizer-calibration.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACtB;AAaD,6GAA6G;AAC7G,eAAO,MAAM,0BAA0B,sCAAsC,CAAC;AAE9E,eAAO,MAAM,iBAAiB,QAO7B,CAAC;AAEF,sGAAsG;AACtG,wBAAgB,mBAAmB,CAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACnC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,gBAAgB,CA0ClB;AAwHD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,8FAA8F;IAC9F,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,gBAAgB,CAAC;CACjC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CA8H3E"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { MessageLike, ThinkingLikePart } from "./tag-messages";
|
|
2
|
+
export type ToolDropResult = "removed" | "truncated" | "absent" | "incomplete";
|
|
3
|
+
interface ToolCallObservation {
|
|
4
|
+
callId: string;
|
|
5
|
+
kind: "invocation" | "result";
|
|
6
|
+
}
|
|
7
|
+
export interface IndexedOccurrence {
|
|
8
|
+
message: MessageLike;
|
|
9
|
+
part: unknown;
|
|
10
|
+
kind: "invocation" | "result";
|
|
11
|
+
/**
|
|
12
|
+
* The rewritten clone currently standing in for `part` in the message's
|
|
13
|
+
* parts array, when a clamp swapped one in this pass. `part` itself stays
|
|
14
|
+
* the untouched host object, so a later rewrite in the same pass (a legacy
|
|
15
|
+
* skeleton converted on a HARD fold) still starts from the real input and
|
|
16
|
+
* knows which array entry to replace or remove.
|
|
17
|
+
*/
|
|
18
|
+
served?: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface ToolCallIndexEntry {
|
|
21
|
+
occurrences: IndexedOccurrence[];
|
|
22
|
+
hasResult: boolean;
|
|
23
|
+
}
|
|
24
|
+
export type ToolCallIndex = Map<string, ToolCallIndexEntry>;
|
|
25
|
+
export declare function hasMeaningfulPart(part: unknown): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* True when a tool part carries a COMPLETED result — i.e. the arc is closed and
|
|
28
|
+
* OpenCode will not read its input again. This is the selection gate that keeps
|
|
29
|
+
* open arcs (an invocation with no result yet) out of every drop/clamp selector.
|
|
30
|
+
*
|
|
31
|
+
* OpenCode's single-part `{ type: "tool" }` representation is classified as a
|
|
32
|
+
* "result" observation by its TYPE even while the call is still pending/running
|
|
33
|
+
* (no output written yet). The arc is closed in either of two arms: a completed
|
|
34
|
+
* result (`state.output` is a string) OR an errored call (`state.status ===
|
|
35
|
+
* "error"`, carrying `state.error`). OpenCode serializes an errored part as an
|
|
36
|
+
* `output-error` block built from `state.error` and never reads its input again
|
|
37
|
+
* (opencode message-v2.ts error arm), so it is just as safe to reclaim as a
|
|
38
|
+
* completed one — excluding it would leak bulky inputs (e.g. a failed write with
|
|
39
|
+
* a large content arg). Pending/running parts have neither an output nor an
|
|
40
|
+
* error status and stay excluded. Anthropic's separate `tool_result` part only
|
|
41
|
+
* exists after the call finished, so it always counts. Invocation-shaped parts
|
|
42
|
+
* (`tool-invocation` / `tool_use`) never carry a result and are excluded here.
|
|
43
|
+
*/
|
|
44
|
+
export declare function partHasCompletedResult(part: unknown): boolean;
|
|
45
|
+
export declare function extractToolCallObservation(part: unknown): ToolCallObservation | null;
|
|
46
|
+
/**
|
|
47
|
+
* The two arrays a pre-adoption pass could serve, offered to a variant
|
|
48
|
+
* resolver before either one is applied. `legacy` is what the original
|
|
49
|
+
* session-wide sweep would serve (every row left without a meaningful part is
|
|
50
|
+
* removed, including rows this pass never touched); `scoped` is what the
|
|
51
|
+
* narrow sweep would serve (only the tool-drop owners this pass emptied).
|
|
52
|
+
*/
|
|
53
|
+
export interface ToolSweepCandidates {
|
|
54
|
+
legacy: MessageLike[];
|
|
55
|
+
scoped: MessageLike[];
|
|
56
|
+
}
|
|
57
|
+
/** Choose the sweep variant for this pass; `true` selects the scoped sweep. */
|
|
58
|
+
export type ToolSweepVariantResolver = (candidates: ToolSweepCandidates) => boolean;
|
|
59
|
+
export declare class ToolMutationBatch {
|
|
60
|
+
private readonly scopedSweep;
|
|
61
|
+
private readonly servedMessages?;
|
|
62
|
+
private partsToRemove;
|
|
63
|
+
private affectedMessages;
|
|
64
|
+
private messages;
|
|
65
|
+
private resolvedScopedSweep;
|
|
66
|
+
/**
|
|
67
|
+
* `servedMessages` is the array that actually goes to the provider when it
|
|
68
|
+
* is not the array being tagged (see `pruneServedRows`). Leave it undefined
|
|
69
|
+
* whenever tagging and serving share one array.
|
|
70
|
+
*/
|
|
71
|
+
constructor(messages: MessageLike[], scopedSweep?: boolean | ToolSweepVariantResolver, servedMessages?: MessageLike[] | undefined);
|
|
72
|
+
markForRemoval(occurrence: IndexedOccurrence): void;
|
|
73
|
+
/**
|
|
74
|
+
* Would removing `occurrences` (on top of everything already marked in this
|
|
75
|
+
* batch) leave the provider request ending on an assistant turn?
|
|
76
|
+
*
|
|
77
|
+
* The request ends with the newest message that has any content (a blank
|
|
78
|
+
* pending assistant shell after it does not count). When that message is an
|
|
79
|
+
* assistant, its tool results are what the provider sees as the closing user
|
|
80
|
+
* turn, so at least one must survive. Any other role must keep some content,
|
|
81
|
+
* or the sweep removes it and an earlier assistant becomes the end. Models
|
|
82
|
+
* without assistant prefill support reject an assistant-terminated request.
|
|
83
|
+
*/
|
|
84
|
+
wouldStrandConversationEnd(occurrences: readonly IndexedOccurrence[]): boolean;
|
|
85
|
+
finalize(): void;
|
|
86
|
+
/** Ask the resolver once per batch so every finalize in a pass sweeps alike. */
|
|
87
|
+
private resolveScopedSweep;
|
|
88
|
+
/**
|
|
89
|
+
* The array being tagged is not always the array that reaches the provider:
|
|
90
|
+
* on a pass that trims a compaction prefix, tagging runs over the pre-trim
|
|
91
|
+
* copy so persisted drops still find rows the trim removed. Splicing only
|
|
92
|
+
* that copy left the served array holding a message whose parts had all
|
|
93
|
+
* been removed, and the next pass — which sweeps the served array directly
|
|
94
|
+
* — removed it, so two passes over the same history served different
|
|
95
|
+
* arrays. Remove the same rows from both.
|
|
96
|
+
*/
|
|
97
|
+
private pruneServedRows;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Build a TagTarget for a single tool composite key
|
|
101
|
+
* (`<ownerMsgId>\x00<callId>`).
|
|
102
|
+
*
|
|
103
|
+
* v3.3.1 Layer C: pre-fix this took a bare `callId`. Two assistant turns
|
|
104
|
+
* reusing the same callId produced two TagTargets that both pointed at
|
|
105
|
+
* the same `index.get(callId)` entry — last-write-wins on `targets.set`
|
|
106
|
+
* silently merged them into one drop target, and a queued drop on the
|
|
107
|
+
* older tag would mutate the newer turn's content. Composite keys
|
|
108
|
+
* guarantee one TagTarget per (owner, callId) pair, so each turn's tag
|
|
109
|
+
* gets its own independent drop scope.
|
|
110
|
+
*
|
|
111
|
+
* The `index` map is keyed by composite key as well — see
|
|
112
|
+
* `tag-messages.ts` for the matching producer.
|
|
113
|
+
*/
|
|
114
|
+
export declare function createToolDropTarget(compositeKey: string, thinkingParts: ThinkingLikePart[], index: ToolCallIndex, batch: ToolMutationBatch, tagId: number): {
|
|
115
|
+
setContent: (content: string) => boolean;
|
|
116
|
+
drop: () => ToolDropResult;
|
|
117
|
+
truncate: () => ToolDropResult;
|
|
118
|
+
skeletonReal: () => ToolDropResult;
|
|
119
|
+
editMarker: () => ToolDropResult;
|
|
120
|
+
editMarkerStripped: () => ToolDropResult;
|
|
121
|
+
skeletonStripped: () => ToolDropResult;
|
|
122
|
+
hasAttachments: () => boolean;
|
|
123
|
+
inputStringBytes: () => number | null;
|
|
124
|
+
wouldStrandConversationEnd: () => boolean;
|
|
125
|
+
/**
|
|
126
|
+
* Non-mutating predicate: would drop()/truncate() actually remove bytes?
|
|
127
|
+
* False for an absent (compacted-away) or incomplete (invocation present,
|
|
128
|
+
* no result part) entry — both return early without reclaiming anything.
|
|
129
|
+
* The tiered emergency planner must filter on this, not on the mere
|
|
130
|
+
* presence of a drop() function: counting a no-reclaim tag as droppable
|
|
131
|
+
* makes the plan stop early and under-evict below the ceiling.
|
|
132
|
+
*/
|
|
133
|
+
canDrop: () => boolean;
|
|
134
|
+
requiresToolArcSkeleton: boolean;
|
|
135
|
+
readInput: () => Record<string, unknown> | null;
|
|
136
|
+
measureReclaim: (skeleton: boolean) => {
|
|
137
|
+
beforeTools: number;
|
|
138
|
+
afterTools: number;
|
|
139
|
+
beforeProse: number;
|
|
140
|
+
afterProse: number;
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
export {};
|
|
144
|
+
//# sourceMappingURL=tool-drop-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-drop-target.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/tool-drop-target.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/E,UAAU,mBAAmB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC9B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AA0M5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAUxD;AAkBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAO7D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAepF;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,+EAA+E;AAC/E,MAAM,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,OAAO,CAAC;AAEpF,qBAAa,iBAAiB;IAatB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAbpC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,mBAAmB,CAAsB;IAEjD;;;;OAIG;gBAEC,QAAQ,EAAE,WAAW,EAAE,EACN,WAAW,GAAE,OAAO,GAAG,wBAAgC,EACvD,cAAc,CAAC,EAAE,WAAW,EAAE,YAAA;IAKnD,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAKnD;;;;;;;;;;OAUG;IACH,0BAA0B,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,GAAG,OAAO;IAc9E,QAAQ,IAAI,IAAI;IA8BhB,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAe1B;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;CAO1B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,gBAAgB,EAAE,EACjC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,MAAM,GACd;IACC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,IAAI,EAAE,MAAM,cAAc,CAAC;IAC3B,QAAQ,EAAE,MAAM,cAAc,CAAC;IAC/B,YAAY,EAAE,MAAM,cAAc,CAAC;IACnC,UAAU,EAAE,MAAM,cAAc,CAAC;IACjC,kBAAkB,EAAE,MAAM,cAAc,CAAC;IACzC,gBAAgB,EAAE,MAAM,cAAc,CAAC;IACvC,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,gBAAgB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACtC,0BAA0B,EAAE,MAAM,OAAO,CAAC;IAC1C;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,uBAAuB,EAAE,OAAO,CAAC;IACjC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChD,cAAc,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK;QACnC,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL,CA8LA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Size rule for a dropped tool call inside the newest-call window.
|
|
3
|
+
*
|
|
4
|
+
* A dropped call's arguments are either served exactly as the host gave them
|
|
5
|
+
* or the whole call is removed. Every synthetic value ever placed in the
|
|
6
|
+
* argument position (5-character clamps ending in `...[truncated]`, then the
|
|
7
|
+
* `{"dropped": "[dropped §N§]"}` marker) was copied back by models into new
|
|
8
|
+
* calls, which either ran with garbage arguments or looped on the refusal.
|
|
9
|
+
* Small inputs therefore keep their real arguments; large ones are removed.
|
|
10
|
+
*
|
|
11
|
+
* The size is the total UTF-8 byte length of every string value, recursively
|
|
12
|
+
* through objects and arrays. Keys, numbers, booleans and nulls do not count.
|
|
13
|
+
* It is defined on string leaves so the OpenCode, Pi and Rust lanes compute the
|
|
14
|
+
* same number from the same input regardless of how each serializes JSON; the
|
|
15
|
+
* shared fixture `tests/fixtures/tool-input-string-bytes.json` pins it.
|
|
16
|
+
*/
|
|
17
|
+
export declare const SKELETON_REAL_INPUT_MAX_BYTES = 1024;
|
|
18
|
+
export declare function toolInputStringBytes(value: unknown): number;
|
|
19
|
+
/** True when a dropped call with this input keeps its real arguments. */
|
|
20
|
+
export declare function isSmallToolInput(value: unknown): boolean;
|
|
21
|
+
//# sourceMappingURL=tool-input-size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-input-size.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/tool-input-size.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAIlD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAe3D;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAExD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ContextDatabase } from "../../features/magic-context/storage";
|
|
2
|
+
import type { PendingOp } from "../../features/magic-context/types";
|
|
3
|
+
import type { TagTarget } from "./tag-messages";
|
|
4
|
+
export declare function buildSyntheticToolReclaimOps(input: {
|
|
5
|
+
db: ContextDatabase;
|
|
6
|
+
sessionId: string;
|
|
7
|
+
targets: Map<number, TagTarget>;
|
|
8
|
+
watermark: number;
|
|
9
|
+
pendingOps?: readonly PendingOp[];
|
|
10
|
+
}): PendingOp[];
|
|
11
|
+
export declare function advanceToolReclaimWatermarkToCurrentMax(db: ContextDatabase, sessionId: string): number;
|
|
12
|
+
//# sourceMappingURL=tool-reclaim.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-reclaim.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/tool-reclaim.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,eAAe,EAGvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAChD,EAAE,EAAE,eAAe,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CACrC,GAAG,SAAS,EAAE,CAmCd;AAED,wBAAgB,uCAAuC,CACnD,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,GAClB,MAAM,CAIR"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Database } from "../../shared/sqlite";
|
|
2
|
+
import type { MessageLike } from "./tag-messages";
|
|
3
|
+
import type { ToolSweepCandidates, ToolSweepVariantResolver } from "./tool-drop-target";
|
|
4
|
+
export declare const TOOL_SWEEP_SCOPED_MARKER = "@tool-sweep-scoped";
|
|
5
|
+
/**
|
|
6
|
+
* Ledger entries that are session-wide control flags rather than message ids.
|
|
7
|
+
* The reasoning replay ledger is a plain set of strings, so every consumer that
|
|
8
|
+
* filters it by message identity (session clone, in particular) has to copy
|
|
9
|
+
* these through verbatim instead of discarding them as undecodable ids.
|
|
10
|
+
*/
|
|
11
|
+
export declare const RESERVED_LEDGER_CONTROL_ENTRIES: readonly string[];
|
|
12
|
+
export declare function isReservedLedgerControlEntry(entry: string): boolean;
|
|
13
|
+
/** Restore unrelated reasoning-only messages only when a cache-busting pass permits byte changes. */
|
|
14
|
+
export declare function useScopedToolSweep(db: Database, sessionId: string, canAdopt: boolean): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* What the durable last-served snapshot says about a pre-adoption pass:
|
|
17
|
+
*
|
|
18
|
+
* - `lkg_absent` nothing durable was recorded, so no bytes are known to have
|
|
19
|
+
* been served under either sweep.
|
|
20
|
+
* - `matched_old` the last served rows are reproduced by the legacy sweep.
|
|
21
|
+
* Also reported when both candidates reproduce them, because
|
|
22
|
+
* then the snapshot is no evidence for changing behavior.
|
|
23
|
+
* - `matched_scoped` only the scoped sweep reproduces the last served rows.
|
|
24
|
+
* - `matched_neither` neither candidate reproduces them (history moved since).
|
|
25
|
+
*/
|
|
26
|
+
export type ToolSweepLkgCondition = "lkg_absent" | "matched_old" | "matched_scoped" | "matched_neither";
|
|
27
|
+
export interface ToolSweepVariantDecision {
|
|
28
|
+
condition: ToolSweepLkgCondition;
|
|
29
|
+
/** True when this pass should serve — and therefore adopt — the scoped sweep. */
|
|
30
|
+
scoped: boolean;
|
|
31
|
+
legacyDivergence: number;
|
|
32
|
+
scopedDivergence: number;
|
|
33
|
+
lastServedRows: number;
|
|
34
|
+
}
|
|
35
|
+
export declare function classifyToolSweepCandidates(lastServed: readonly MessageLike[] | null, candidates: ToolSweepCandidates): ToolSweepVariantDecision;
|
|
36
|
+
/**
|
|
37
|
+
* Pick the sweep variant for a pass that may NOT change bytes and has not
|
|
38
|
+
* adopted the scoped sweep yet.
|
|
39
|
+
*
|
|
40
|
+
* A session upgraded from a build that only ever ran the legacy sweep may have
|
|
41
|
+
* been served either array, depending on which code path last priced it, so a
|
|
42
|
+
* fixed default is wrong for one of the two populations. Instead compare both
|
|
43
|
+
* candidates against the last array this session actually served and serve the
|
|
44
|
+
* one that reproduces it. Reproducing the scoped array is adoption evidence —
|
|
45
|
+
* it re-serves bytes the session already paid for — so the marker is written on
|
|
46
|
+
* that pass. Every outcome is logged under one stable key so the populations
|
|
47
|
+
* can be counted.
|
|
48
|
+
*/
|
|
49
|
+
export declare function createPreAdoptionToolSweepResolver(db: Database, sessionId: string): ToolSweepVariantResolver;
|
|
50
|
+
//# sourceMappingURL=tool-sweep-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-sweep-policy.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/tool-sweep-policy.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAIxF,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,EAAE,SAAS,MAAM,EAG5D,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAI9F;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAC3B,YAAY,GACZ,aAAa,GACb,gBAAgB,GAChB,iBAAiB,CAAC;AAExB,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,qBAAqB,CAAC;IACjC,iFAAiF;IACjF,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAiDD,wBAAgB,2BAA2B,CACvC,UAAU,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,EACzC,UAAU,EAAE,mBAAmB,GAChC,wBAAwB,CA+B1B;AAaD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,GAClB,wBAAwB,CAoB1B"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { type ContextDatabase } from "../../features/magic-context/storage";
|
|
2
|
+
import type { ContextUsage } from "../../features/magic-context/types";
|
|
3
|
+
import type { PluginContext } from "../../plugin/types";
|
|
4
|
+
import type { ModelInput } from "../../shared/model-resolution";
|
|
5
|
+
import type { HiddenCompartmentRunnerDeps, HiddenCompletionExecutor } from "./compartment-runner-types";
|
|
6
|
+
import { type PreparedCompartmentInjection } from "./inject-compartments";
|
|
7
|
+
import { type ProtectedTailBoundarySnapshot } from "./protected-tail-boundary";
|
|
8
|
+
import type { MessageLike } from "./transform-operations";
|
|
9
|
+
/**
|
|
10
|
+
* A transform blocks the user's turn before provider dispatch, so it may join a historian for at
|
|
11
|
+
* most one minute. The historian keeps running after this foreground budget and can publish for a
|
|
12
|
+
* later pass; the provider-sized historian timeout must never become a silent TUI wait.
|
|
13
|
+
*/
|
|
14
|
+
export declare const HISTORIAN_INLINE_JOIN_BUDGET_MS = 60000;
|
|
15
|
+
export declare function resolveHistorianInlineJoinBudget(configuredTimeoutMs?: number): number;
|
|
16
|
+
export declare function historianJoinFailClosedMessage(input: {
|
|
17
|
+
timedOut: boolean;
|
|
18
|
+
budgetMs: number | null;
|
|
19
|
+
finalWireEstimate?: {
|
|
20
|
+
tokens: number;
|
|
21
|
+
trusted: boolean;
|
|
22
|
+
};
|
|
23
|
+
contextLimitTokens: number;
|
|
24
|
+
lastHistorianError?: string | null;
|
|
25
|
+
}): string | null;
|
|
26
|
+
interface RunCompartmentPhaseArgs {
|
|
27
|
+
hiddenCompletionExecutor?: HiddenCompletionExecutor;
|
|
28
|
+
compactionMarkerStrategy?: HiddenCompartmentRunnerDeps["compactionMarkerStrategy"];
|
|
29
|
+
canRunCompartments: boolean;
|
|
30
|
+
fullFeatureMode: boolean;
|
|
31
|
+
/** Compaction-off mode (issue #266): no historian start, no 95% block,
|
|
32
|
+
* no boundary resolution — the phase degrades to a stale-flag cleanup. */
|
|
33
|
+
compactionOff?: boolean;
|
|
34
|
+
/** False when historian.disable=true, blocking historian-backed child agents. */
|
|
35
|
+
historianRunnable?: boolean;
|
|
36
|
+
sessionMeta: {
|
|
37
|
+
compartmentInProgress: boolean;
|
|
38
|
+
};
|
|
39
|
+
contextUsage: {
|
|
40
|
+
percentage: number;
|
|
41
|
+
};
|
|
42
|
+
boundaryContextLimit: number;
|
|
43
|
+
boundaryExecuteThresholdPercentage: number;
|
|
44
|
+
boundaryUsage: ContextUsage;
|
|
45
|
+
boundaryUsageSource: "live" | "persisted" | "provisional-zero" | "manual-none";
|
|
46
|
+
client?: PluginContext["client"];
|
|
47
|
+
db: ContextDatabase;
|
|
48
|
+
sessionId: string;
|
|
49
|
+
resolvedSessionId: string;
|
|
50
|
+
historianChunkTokens: number;
|
|
51
|
+
historyBudgetTokens?: number;
|
|
52
|
+
historianTimeoutMs?: number;
|
|
53
|
+
historianModel?: ModelInput;
|
|
54
|
+
historianContextLimit?: number;
|
|
55
|
+
historianMaxOutputTokens?: number;
|
|
56
|
+
fallbackModels?: readonly ModelInput[];
|
|
57
|
+
compartmentDirectory: string;
|
|
58
|
+
messages: MessageLike[];
|
|
59
|
+
pendingCompartmentInjection: PreparedCompartmentInjection | null;
|
|
60
|
+
fallbackModelId?: string;
|
|
61
|
+
ensureProjectRegistered?: (directory: string, db: ContextDatabase) => Promise<void>;
|
|
62
|
+
projectPath?: string;
|
|
63
|
+
injectionBudgetTokens?: number;
|
|
64
|
+
getNotificationParams?: () => import("./send-session-notification").NotificationParams;
|
|
65
|
+
/** True when this pass is already safe for background compression to run. */
|
|
66
|
+
safeForBackgroundCompression?: boolean;
|
|
67
|
+
deferredHistoryRefreshSessions: Set<string>;
|
|
68
|
+
/** Compatibility-only input retained for older callers; urgent pressure always joins before refusal. */
|
|
69
|
+
skipAwaitForThisPass?: boolean;
|
|
70
|
+
/** When true, inject wall-clock dates on compartments in <session-history>. */
|
|
71
|
+
experimentalTemporalAwareness?: boolean;
|
|
72
|
+
/** When true, run a second editor pass after historian to clean U: lines. */
|
|
73
|
+
historianTwoPass?: boolean;
|
|
74
|
+
historianExpandTools?: Record<string, string | false>;
|
|
75
|
+
/** Cross-session memory feature gate (`memory.enabled`). Issue #44. */
|
|
76
|
+
memoryEnabled?: boolean;
|
|
77
|
+
/** Auto-promotion gate (`memory.auto_promote`). Issue #44. */
|
|
78
|
+
autoPromote?: boolean;
|
|
79
|
+
/** Forwarded to compartment runner — see CompartmentRunnerDeps.onCompartmentStatePublished. */
|
|
80
|
+
onCompartmentStatePublished?: (sessionId: string) => void;
|
|
81
|
+
/**
|
|
82
|
+
* Boundary snapshot already resolved by THIS pass's trigger decision
|
|
83
|
+
* (transform-located trigger). When present and runnable, the phase uses it
|
|
84
|
+
* instead of re-resolving — one boundary resolution per pass, and the
|
|
85
|
+
* historian starts from exactly the snapshot the fire decision saw. The
|
|
86
|
+
* ≥80% emergency re-scale fallback below still re-resolves when this
|
|
87
|
+
* snapshot has no runnable window.
|
|
88
|
+
*/
|
|
89
|
+
preResolvedBoundarySnapshot?: ProtectedTailBoundarySnapshot;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Prime the raw-message cache for the WHOLE compartment phase, then run it.
|
|
93
|
+
*
|
|
94
|
+
* The phase's boundary resolution (`getRawHistoryEligibility` +
|
|
95
|
+
* `resolveOpenCodeProtectedTailBoundary`) AND the historian runner's
|
|
96
|
+
* `readSessionChunk` all read raw OpenCode history. On a large session an
|
|
97
|
+
* un-primed read is O(session) (multi-second each) and runs on the transform
|
|
98
|
+
* thread — OpenCode awaits `messages.transform` before the LLM call, so a
|
|
99
|
+
* historian-FIRE pass froze ~9.6s at "Thinking". The compartment TRIGGER primes
|
|
100
|
+
* its own scope (`withRawSessionMessageCache` inside `getUnsummarizedTailInfo`),
|
|
101
|
+
* but that scope ends when the trigger returns, so the phase read un-primed.
|
|
102
|
+
*
|
|
103
|
+
* Prime from the TAIL-ONLY DB read (`primeTailRawMessageCache`), NOT the
|
|
104
|
+
* in-memory `args.messages` tail: `extractInMemoryMessageViews` aliases the live
|
|
105
|
+
* `parts` objects, which the transform MUTATES between the trigger and this phase
|
|
106
|
+
* (§N§ prefixes, `[dropped]` sentinels, stripped reasoning). The historian must
|
|
107
|
+
* read RAW content; the DB read is unmutated and O(tail).
|
|
108
|
+
*
|
|
109
|
+
* Scope/await correctness: every raw read happens in the phase's SYNCHRONOUS
|
|
110
|
+
* prefix — `runCompartmentPhaseImpl` is `async` but reaches its first `await`
|
|
111
|
+
* only on the ≥95% blocking path (`awaitCompartmentRun`), and the runner's
|
|
112
|
+
* `readSessionChunk` runs in the runner's own synchronous prefix (before its
|
|
113
|
+
* first `await` at `client.session.get`). `withRawSessionMessageCache`'s
|
|
114
|
+
* try/finally clears the cache the moment the wrapped fn RETURNS its promise
|
|
115
|
+
* (i.e. after the synchronous body suspends at the first await), so the cache
|
|
116
|
+
* covers all raw reads; the only post-await work (`prepareCompartmentInjection`)
|
|
117
|
+
* reads context.db, never raw history. Priming once under `resolvedSessionId`
|
|
118
|
+
* covers the runner too — it reads under `args.sessionId`, which equals
|
|
119
|
+
* `resolvedSessionId` (transform.ts).
|
|
120
|
+
*/
|
|
121
|
+
export declare function runCompartmentPhase(args: RunCompartmentPhaseArgs): ReturnType<typeof runCompartmentPhaseImpl>;
|
|
122
|
+
declare function runCompartmentPhaseImpl(args: RunCompartmentPhaseArgs): Promise<{
|
|
123
|
+
pendingCompartmentInjection: PreparedCompartmentInjection | null;
|
|
124
|
+
awaitedCompartmentRun: boolean;
|
|
125
|
+
compartmentInProgress: boolean;
|
|
126
|
+
published: boolean;
|
|
127
|
+
justAwaitedPublication: boolean;
|
|
128
|
+
rebuiltHistoryThisPass: boolean;
|
|
129
|
+
historianJoinTimedOut: boolean;
|
|
130
|
+
historianJoinBudgetMs: number | null;
|
|
131
|
+
}>;
|
|
132
|
+
export {};
|
|
133
|
+
//# sourceMappingURL=transform-compartment-phase.d.ts.map
|