@cortexkit/opencode-magic-context 0.33.1 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/config/agent-disable.d.ts +22 -0
  2. package/dist/config/agent-disable.d.ts.map +1 -1
  3. package/dist/config/index.d.ts.map +1 -1
  4. package/dist/config/project-security.d.ts +7 -0
  5. package/dist/config/project-security.d.ts.map +1 -1
  6. package/dist/config/schema/magic-context.d.ts +82 -2
  7. package/dist/config/schema/magic-context.d.ts.map +1 -1
  8. package/dist/config/transform-mode.d.ts +2 -0
  9. package/dist/config/transform-mode.d.ts.map +1 -1
  10. package/dist/{conflict-warning-hook-n48c783v.js → conflict-warning-hook-fvpfvt0w.js} +1 -1
  11. package/dist/{derive-budgets-e9j09sjr.js → derive-budgets-9crp0cvd.js} +1 -1
  12. package/dist/features/builtin-commands/commands.d.ts +1 -1
  13. package/dist/features/builtin-commands/commands.d.ts.map +1 -1
  14. package/dist/features/magic-context/compaction-marker.d.ts +57 -0
  15. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  16. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  17. package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
  18. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  19. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/refresh-primers.d.ts.map +1 -1
  21. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  22. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  23. package/dist/features/magic-context/fail-closed-block.d.ts +10 -0
  24. package/dist/features/magic-context/fail-closed-block.d.ts.map +1 -1
  25. package/dist/features/magic-context/git-commits/storage-git-commit-embeddings.d.ts.map +1 -1
  26. package/dist/features/magic-context/git-commits/storage-git-commits.d.ts.map +1 -1
  27. package/dist/features/magic-context/memory/embedding-identity.d.ts.map +1 -1
  28. package/dist/features/magic-context/memory/embedding-local.d.ts +7 -1
  29. package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
  30. package/dist/features/magic-context/memory/embedding.d.ts.map +1 -1
  31. package/dist/features/magic-context/memory/memory-migration.d.ts.map +1 -1
  32. package/dist/features/magic-context/memory/project-identity.d.ts +2 -6
  33. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  34. package/dist/features/magic-context/memory/storage-memory-embeddings.d.ts.map +1 -1
  35. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  36. package/dist/features/magic-context/mural/compress-cues.d.ts.map +1 -1
  37. package/dist/features/magic-context/mural/render-mural.d.ts.map +1 -1
  38. package/dist/features/magic-context/overflow-detection.d.ts +8 -1
  39. package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
  40. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  41. package/dist/features/magic-context/scheduler.d.ts.map +1 -1
  42. package/dist/features/magic-context/schema-fence-probe.d.ts +28 -0
  43. package/dist/features/magic-context/schema-fence-probe.d.ts.map +1 -0
  44. package/dist/features/magic-context/sidekick/agent.d.ts.map +1 -1
  45. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  46. package/dist/features/magic-context/storage-db.d.ts +35 -1
  47. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  48. package/dist/features/magic-context/storage-meta-persisted.d.ts +38 -4
  49. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  50. package/dist/features/magic-context/storage-meta.d.ts +1 -1
  51. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  52. package/dist/features/magic-context/storage.d.ts +1 -1
  53. package/dist/features/magic-context/storage.d.ts.map +1 -1
  54. package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
  55. package/dist/hooks/magic-context/boundary-execution.d.ts +1 -1
  56. package/dist/hooks/magic-context/boundary-execution.d.ts.map +1 -1
  57. package/dist/hooks/magic-context/cache-busting-signals.d.ts +1 -0
  58. package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -1
  59. package/dist/hooks/magic-context/child-session-spawn.d.ts +26 -0
  60. package/dist/hooks/magic-context/child-session-spawn.d.ts.map +1 -0
  61. package/dist/hooks/magic-context/command-handler.d.ts +2 -0
  62. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  63. package/dist/hooks/magic-context/compaction-off-transition.d.ts +96 -0
  64. package/dist/hooks/magic-context/compaction-off-transition.d.ts.map +1 -0
  65. package/dist/hooks/magic-context/compartment-runner-historian.d.ts +2 -0
  66. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  67. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  68. package/dist/hooks/magic-context/compartment-runner-mapping.d.ts.map +1 -1
  69. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
  70. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  71. package/dist/hooks/magic-context/compartment-trigger.d.ts +12 -5
  72. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  73. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts +47 -1
  74. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts.map +1 -1
  75. package/dist/hooks/magic-context/emergency-drop.d.ts +2 -2
  76. package/dist/hooks/magic-context/event-handler.d.ts +7 -0
  77. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  78. package/dist/hooks/magic-context/event-resolvers.d.ts +13 -21
  79. package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
  80. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +2 -0
  81. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  82. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +1 -1
  83. package/dist/hooks/magic-context/hook-handlers.d.ts +1 -0
  84. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  85. package/dist/hooks/magic-context/hook.d.ts +11 -1
  86. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  87. package/dist/hooks/magic-context/inject-compartments.d.ts +9 -0
  88. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  89. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
  90. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  92. package/dist/hooks/magic-context/rust-mode-transform.d.ts +3 -0
  93. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  94. package/dist/hooks/magic-context/send-session-notification.d.ts +20 -1
  95. package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
  96. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +3 -0
  97. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  98. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +30 -0
  99. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  100. package/dist/hooks/magic-context/transform.d.ts +27 -0
  101. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  102. package/dist/{index-ey1bc14z.js → index-b563sga5.js} +7 -264
  103. package/dist/{index-y1c9tcm3.js → index-cn960ffd.js} +101 -20
  104. package/dist/{index-xyaekybw.js → index-dtas91s5.js} +6 -4
  105. package/dist/index-fcyvznch.js +279 -0
  106. package/dist/{index-63dq2g4d.js → index-ry8rh8cv.js} +138 -24
  107. package/dist/{index-c2gahrks.js → index-s0mdn690.js} +1599 -892
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +1292 -623
  110. package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
  111. package/dist/plugin/hooks/create-session-hooks.d.ts +11 -0
  112. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  113. package/dist/plugin/messages-transform.d.ts +10 -0
  114. package/dist/plugin/messages-transform.d.ts.map +1 -1
  115. package/dist/plugin/rpc-handlers.d.ts +3 -7
  116. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  117. package/dist/plugin/tool-registry.d.ts +8 -0
  118. package/dist/plugin/tool-registry.d.ts.map +1 -1
  119. package/dist/{recomp-orchestrator-2yb2hfh2.js → recomp-orchestrator-8e82vmvb.js} +6 -4
  120. package/dist/send-session-notification-6njqewzk.js +20 -0
  121. package/dist/shared/conflict-detector.d.ts +38 -1
  122. package/dist/shared/conflict-detector.d.ts.map +1 -1
  123. package/dist/shared/conflict-fixer.d.ts +18 -1
  124. package/dist/shared/conflict-fixer.d.ts.map +1 -1
  125. package/dist/shared/context-limit-provenance.d.ts +3 -0
  126. package/dist/shared/context-limit-provenance.d.ts.map +1 -0
  127. package/dist/shared/escalation-bands.d.ts +9 -0
  128. package/dist/shared/escalation-bands.d.ts.map +1 -0
  129. package/dist/shared/format-threshold.d.ts +1 -1
  130. package/dist/shared/models-dev-cache.d.ts +29 -3
  131. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  132. package/dist/shared/rpc-server.d.ts.map +1 -1
  133. package/dist/shared/rpc-types.d.ts +46 -1
  134. package/dist/shared/rpc-types.d.ts.map +1 -1
  135. package/dist/shared/storage-permissions.d.ts +5 -0
  136. package/dist/shared/storage-permissions.d.ts.map +1 -0
  137. package/dist/{storage-meta-session-td6bwtky.js → storage-meta-session-xt41zbw4.js} +2 -1
  138. package/dist/tui/compaction-off.d.ts +13 -0
  139. package/dist/tui/compaction-off.d.ts.map +1 -0
  140. package/dist/tui/data/context-db.d.ts.map +1 -1
  141. package/dist/tui-compiled/compaction-off.d.ts +13 -0
  142. package/dist/tui-compiled/compaction-off.d.ts.map +1 -0
  143. package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
  144. package/package.json +7 -2
  145. package/src/agents/dreamer.ts +68 -0
  146. package/src/agents/hidden-agent-registrations.ts +331 -0
  147. package/src/agents/historian.ts +3 -0
  148. package/src/agents/language-directive.test.ts +138 -0
  149. package/src/agents/language-directive.ts +121 -0
  150. package/src/agents/magic-context-prompt.language.test.ts +35 -0
  151. package/src/agents/magic-context-prompt.test.ts +292 -0
  152. package/src/agents/magic-context-prompt.ts +182 -0
  153. package/src/agents/permissions.test.ts +252 -0
  154. package/src/agents/permissions.ts +186 -0
  155. package/src/agents/sidekick.ts +1 -0
  156. package/src/agents/smart-note-compiler.ts +1 -0
  157. package/src/config/agent-disable.ts +106 -0
  158. package/src/config/compaction-accessor-guard.test.ts +82 -0
  159. package/src/config/compaction-backcompat.test.ts +52 -0
  160. package/src/config/index.test.ts +904 -0
  161. package/src/config/index.ts +601 -0
  162. package/src/config/migrate-config-location.test.ts +332 -0
  163. package/src/config/migrate-config-location.ts +635 -0
  164. package/src/config/migrate-dreamer-v2.test.ts +287 -0
  165. package/src/config/migrate-dreamer-v2.ts +336 -0
  166. package/src/config/migrate-experimental.ts +159 -0
  167. package/src/config/project-security.test.ts +366 -0
  168. package/src/config/project-security.ts +588 -0
  169. package/src/config/prune-config-leaf.test.ts +78 -0
  170. package/src/config/prune-config-leaf.ts +68 -0
  171. package/src/config/removed-config-keys.test.ts +116 -0
  172. package/src/config/schema/agent-overrides.ts +45 -0
  173. package/src/config/schema/magic-context.test.ts +358 -0
  174. package/src/config/schema/magic-context.ts +1002 -0
  175. package/src/config/transform-mode.test.ts +62 -0
  176. package/src/config/transform-mode.ts +34 -0
  177. package/src/config/variable.test.ts +323 -0
  178. package/src/config/variable.ts +192 -0
  179. package/src/features/magic-context/defaults.ts +1 -0
  180. package/src/features/magic-context/dreamer/cron.ts +243 -0
  181. package/src/features/magic-context/dreamer/task-registry.ts +104 -0
  182. package/src/shared/conflict-detector.test.ts +121 -0
  183. package/src/shared/conflict-detector.ts +50 -3
  184. package/src/shared/conflict-fixer.test.ts +309 -0
  185. package/src/shared/conflict-fixer.ts +82 -5
  186. package/src/shared/context-limit-provenance.ts +6 -0
  187. package/src/shared/escalation-bands.test.ts +23 -0
  188. package/src/shared/escalation-bands.ts +18 -0
  189. package/src/shared/format-threshold.ts +1 -1
  190. package/src/shared/models-dev-cache.test.ts +171 -0
  191. package/src/shared/models-dev-cache.ts +195 -38
  192. package/src/shared/rpc-server.ts +27 -18
  193. package/src/shared/rpc-types.ts +46 -1
  194. package/src/shared/storage-permissions.ts +20 -0
  195. package/src/tui/compaction-off.test.ts +56 -0
  196. package/src/tui/compaction-off.ts +29 -0
  197. package/src/tui/data/context-db.ts +6 -0
  198. package/src/tui/index.tsx +113 -65
  199. package/src/tui/slots/sidebar-content.tsx +139 -83
  200. package/src/tui-compiled/compaction-off.ts +29 -0
  201. package/src/tui-compiled/data/context-db.ts +6 -0
  202. package/src/tui-compiled/index.tsx +558 -455
  203. package/src/tui-compiled/slots/sidebar-content.tsx +237 -161
  204. package/dist/send-session-notification-tghq9gnh.js +0 -11
  205. /package/dist/{index-v7fmc1s2.js → index-ygcng9t8.js} +0 -0
@@ -0,0 +1,26 @@
1
+ import { type ChildSpawnFenceFailure } from "../../features/magic-context/schema-fence-probe";
2
+ import type { Database } from "../../shared/sqlite";
3
+ import { type NotificationParams } from "./send-session-notification";
4
+ export declare const STALE_PLUGIN_RESTART_NOTICE = "Magic Context: plugin build is older than its database \u2014 restart OpenCode";
5
+ interface ChildSessionClient {
6
+ session: {
7
+ create(input: never): unknown | Promise<unknown>;
8
+ };
9
+ }
10
+ interface ChildSessionSpawnArgs {
11
+ client: ChildSessionClient;
12
+ db: Database | null;
13
+ parentSessionId?: string;
14
+ title: string;
15
+ directory?: string;
16
+ notificationParams?: NotificationParams;
17
+ /** Test seam for the one-shot, N-consecutive failure surface. */
18
+ onFenceLatched?: (failure: ChildSpawnFenceFailure) => void | Promise<void>;
19
+ }
20
+ /**
21
+ * Shared OpenCode child-session choke point. Every historian/recomp, dreamer,
22
+ * and sidekick child must pass this probe before asking OpenCode to create it.
23
+ */
24
+ export declare function createChildSessionWithFence(args: ChildSessionSpawnArgs): Promise<unknown | null>;
25
+ export {};
26
+ //# sourceMappingURL=child-session-spawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-session-spawn.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/child-session-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,sBAAsB,EAE9B,MAAM,iDAAiD,CAAC;AAIzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,6BAA6B,CAAC;AAE1F,eAAO,MAAM,2BAA2B,mFACuC,CAAC;AAEhF,UAAU,kBAAkB;IACxB,OAAO,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CACjE;AAED,UAAU,qBAAqB;IAC3B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iEAAiE;IACjE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E;AAwCD;;;GAGG;AACH,wBAAsB,2BAA2B,CAC7C,IAAI,EAAE,qBAAqB,GAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAuBzB"}
@@ -48,6 +48,8 @@ export type ManualDreamSummary = ManualRunResult;
48
48
  export declare function createMagicContextCommandHandler(deps: {
49
49
  db: Database;
50
50
  protectedTags: number;
51
+ /** Boot-resolved mode; command paths must not re-read configuration. */
52
+ compactionOff?: boolean;
51
53
  executeThresholdPercentage?: number | {
52
54
  default: number;
53
55
  [modelKey: string]: number;
@@ -1 +1 @@
1
- {"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/command-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/command-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Compaction-off mode transitions (issue #266, slice S3).
3
+ *
4
+ * The mode is boot-resolved and process-stable, so a transition is only ever
5
+ * observed on a session's first transform pass after a restart that changed
6
+ * the resolved value. Each session reconciles its durable per-session mode
7
+ * record (`session_meta.compaction_mode_record`: NULL = no record, settled
8
+ * "on"/"off", or durable pending-delivery/cleanup variants) against the
9
+ * resolved mode:
10
+ *
11
+ * - NULL resolves to "on" (every pre-feature session ran with compaction
12
+ * enabled), so `no record + configured-off` IS the off-transition — the
13
+ * upgrade path that guarantees marker cleanup reaches legacy sessions.
14
+ * - `no record + on` → write "on", no transition work.
15
+ * - `no record | on → off` → exactly ONE off-transition per session:
16
+ * delete MC-owned compaction-marker lineages (canonical + supported
17
+ * legacy), clear the marker bookkeeping that references those rows,
18
+ * clear the emergency-recovery latch, clear any persisted Channel-2
19
+ * pending/claimed intent, clear pre-existing pending_ops, invalidate
20
+ * the cached m[0]/m[1] baseline (so the off-mode render never replays
21
+ * an on-mode `<session-history>`), then write "off".
22
+ * - `off → on` → exactly ONE on-transition: invalidate the cached
23
+ * m[0]/m[1] baseline (so the dormant compartments' session-history
24
+ * re-renders before raw-tail trimming resumes), write the historian
25
+ * catch-up signal (compartmentInProgress, conditioned on the historian
26
+ * being runnable) and offer the `/ctx-wrapup` suggestion out of band.
27
+ *
28
+ * Crash safety: every cleanup operation is idempotent. A transition that
29
+ * emits a notice stages a durable `*_notice_pending` record before returning
30
+ * to the caller for delivery; a restart therefore retries that notice rather
31
+ * than inferring it from already-cleared state. Duplicate delivery after a
32
+ * crash remains the accepted at-least-once cost.
33
+ *
34
+ * Notices are delivered OUT OF BAND by the caller (the boot-warning /
35
+ * command-output surface) — never into the message array, never through the
36
+ * nudge machinery. A transition pass's message-array output is
37
+ * indistinguishable from a steady-state pass of the resolved mode.
38
+ */
39
+ import { type McOwnedMarkerCleanupResult } from "../../features/magic-context/compaction-marker";
40
+ import { type CompactionModeRecord } from "../../features/magic-context/storage-meta-persisted";
41
+ /**
42
+ * Flip-off unfold notice. Delivered out of band on the transition pass that
43
+ * actually cleared something. The one-cycle warning wording is contractual
44
+ * (spec #266): removing MC's markers exposes the history hidden solely by
45
+ * MC, and on a long session that expansion can exceed the model window once
46
+ * before native compaction reacts. Docs quote this same constant.
47
+ */
48
+ export declare const COMPACTION_OFF_FLIP_NOTICE: string;
49
+ /**
50
+ * Flip-back suggestion, emitted out of band exactly once per off→on
51
+ * transition and only when the historian is runnable (never advertising an
52
+ * unavailable command). The gap accumulated while off is digested by the
53
+ * normal chunked historian paths; /ctx-wrapup makes it explicit.
54
+ */
55
+ export declare const COMPACTION_ON_WRAPUP_SUGGESTION: string;
56
+ export interface CompactionModeTransitionResult {
57
+ /**
58
+ * The settled record value the caller commits AFTER emitting `notice`.
59
+ * `*_notice_pending` is staged durably by this reconciler before it returns;
60
+ * null means either the stored mode already matches or a durable cleanup
61
+ * retry remains pending.
62
+ */
63
+ recordToWrite: CompactionModeRecord | null;
64
+ /** Out-of-band notice text; null when the transition emits nothing. */
65
+ notice: string | null;
66
+ /**
67
+ * True when the cached m[0]/m[1] baseline was invalidated. The caller
68
+ * must drop the pass-local session-meta cached bytes too, so this pass's
69
+ * injection re-materializes instead of replaying the pre-flip baseline.
70
+ */
71
+ invalidatedM0Baseline: boolean;
72
+ /** True when the historian catch-up signal (compartmentInProgress) was written. */
73
+ historianCatchUpSignaled: boolean;
74
+ /** True when a stale compartmentInProgress flag was cleared (off mode). */
75
+ clearedCompartmentInProgress: boolean;
76
+ /** True when the off-transition cleared at least one durable MC state item. */
77
+ clearedSomething: boolean;
78
+ /** Marker-row cleanup detail (off-transition only; zeros otherwise). */
79
+ markerCleanup: McOwnedMarkerCleanupResult;
80
+ }
81
+ export declare function reconcileCompactionMode(args: {
82
+ db: import("../../shared/sqlite").Database;
83
+ sessionId: string;
84
+ /** Boot-resolved mode for this process. */
85
+ compactionOff: boolean;
86
+ /** False when historian.disable=true; conditions the on-transition signal. */
87
+ historianRunnable: boolean;
88
+ /** Pass-local session meta (drives the stale compartmentInProgress clear). */
89
+ compartmentInProgress: boolean;
90
+ }): CompactionModeTransitionResult;
91
+ /**
92
+ * Commit the mode record AFTER transition work + notice emission. Kept
93
+ * separate so the caller controls the at-least-once notice ordering.
94
+ */
95
+ export declare function commitCompactionModeRecord(db: import("../../shared/sqlite").Database, sessionId: string, record: CompactionModeRecord): void;
96
+ //# sourceMappingURL=compaction-off-transition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction-off-transition.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compaction-off-transition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EAEH,KAAK,0BAA0B,EAElC,MAAM,gDAAgD,CAAC;AAMxD,OAAO,EACH,KAAK,oBAAoB,EAY5B,MAAM,qDAAqD,CAAC;AAM7D;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,QAM3B,CAAC;AAEb;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,QAIhC,CAAC;AAEb,MAAM,WAAW,8BAA8B;IAC3C;;;;;OAKG;IACH,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3C,uEAAuE;IACvE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;OAIG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mFAAmF;IACnF,wBAAwB,EAAE,OAAO,CAAC;IAClC,2EAA2E;IAC3E,4BAA4B,EAAE,OAAO,CAAC;IACtC,+EAA+E;IAC/E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,aAAa,EAAE,0BAA0B,CAAC;CAC7C;AA2CD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC1C,EAAE,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,8EAA8E;IAC9E,iBAAiB,EAAE,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,qBAAqB,EAAE,OAAO,CAAC;CAClC,GAAG,8BAA8B,CAoLjC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACtC,EAAE,EAAE,OAAO,qBAAqB,EAAE,QAAQ,EAC1C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,oBAAoB,GAC7B,IAAI,CAEN"}
@@ -1,8 +1,10 @@
1
1
  import type { SubagentKind } from "../../features/magic-context/storage-subagent-invocations";
2
2
  import type { PluginContext } from "../../plugin/types";
3
+ import type { Database } from "../../shared/sqlite";
3
4
  import type { HistorianProgressCallbacks, StoredCompartmentRange, ValidatedHistorianPassResult } from "./compartment-runner-types";
4
5
  export declare function runValidatedHistorianPass(args: {
5
6
  client: PluginContext["client"];
7
+ db: Database;
6
8
  parentSessionId: string;
7
9
  sessionDirectory: string;
8
10
  prompt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-historian.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-historian.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAE9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUxD,OAAO,KAAK,EACR,0BAA0B,EAE1B,sBAAsB,EACtB,4BAA4B,EAC/B,MAAM,4BAA4B,CAAC;AAuBpC,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IAClD,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrD;2DACmD;QACnD,cAAc,CAAC,EAAE,aAAa,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClE,CAAC;IACF,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC;;yEAEqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAuFxC"}
1
+ {"version":3,"file":"compartment-runner-historian.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-historian.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAK9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAaxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,KAAK,EACR,0BAA0B,EAE1B,sBAAsB,EACtB,4BAA4B,EAC/B,MAAM,4BAA4B,CAAC;AAmEpC,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IAClD,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,EAAE,EAAE,QAAQ,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrD;2DACmD;QACnD,cAAc,CAAC,EAAE,aAAa,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClE,CAAC;IACF,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC;;yEAEqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAuFxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-incremental.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-incremental.ts"],"names":[],"mappings":"AAYA,OAAO,EACH,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,GAC/B,MAAM,wBAAwB,CAAC;AA2ChC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAmCxE,+DAA+D;AAC/D,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA20BpF"}
1
+ {"version":3,"file":"compartment-runner-incremental.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-incremental.ts"],"names":[],"mappings":"AAYA,OAAO,EACH,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,GAC/B,MAAM,wBAAwB,CAAC;AA2ChC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAmCxE,+DAA+D;AAC/D,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA40BpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-mapping.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,gFAAgF;AAChF,KAAK,gBAAgB,GAAG,IAAI,CACxB,iBAAiB,EACjB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,YAAY,GAAG,aAAa,CAC3D,CAAC;AAaF,wBAAgB,4BAA4B,CACxC,YAAY,EAAE,KAAK,CACf;IACI,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACnB,GAAG,gBAAgB,CACvB,EACD,KAAK,EAAE;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD,EACD,cAAc,EAAE,MAAM,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,oBAAoB,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAwBnF"}
1
+ {"version":3,"file":"compartment-runner-mapping.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,gFAAgF;AAChF,KAAK,gBAAgB,GAAG,IAAI,CACxB,iBAAiB,EACjB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,YAAY,GAAG,aAAa,CAC3D,CAAC;AAaF,wBAAgB,4BAA4B,CACxC,YAAY,EAAE,KAAK,CACf;IACI,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACnB,GAAG,gBAAgB,CACvB,EACD,KAAK,EAAE;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD,EACD,cAAc,EAAE,MAAM,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,oBAAoB,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAwBnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-partial-recomp.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-partial-recomp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,WAAW,EAEd,MAAM,kDAAkD,CAAC;AAuB1D,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAW9F,MAAM,WAAW,kBAAkB;IAC/B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAChC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,gBAAgB,EAAE,WAAW,EAAE,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,WAAW,EAAE,EAC3B,KAAK,EAAE,kBAAkB,GAC1B,mBAAmB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA2CzC;AAuBD,wBAAsB,4BAA4B,CAC9C,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAqZjB"}
1
+ {"version":3,"file":"compartment-runner-partial-recomp.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-partial-recomp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,WAAW,EAEd,MAAM,kDAAkD,CAAC;AAuB1D,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAW9F,MAAM,WAAW,kBAAkB;IAC/B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAChC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,gBAAgB,EAAE,WAAW,EAAE,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,WAAW,EAAE,EAC3B,KAAK,EAAE,kBAAkB,GAC1B,mBAAmB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA2CzC;AAuBD,wBAAsB,4BAA4B,CAC9C,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAsZjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-runner-recomp.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-recomp.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAMpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAmD9F,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACjB;IACC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD,GAAG,IAAI,CAgDP;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4f/F"}
1
+ {"version":3,"file":"compartment-runner-recomp.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-runner-recomp.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAMpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAmD9F,wBAAgB,kCAAkC,CAC9C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACjB;IACC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD,GAAG,IAAI,CAgDP;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6f/F"}
@@ -3,13 +3,11 @@ import type { Database } from "../../shared/sqlite";
3
3
  import { type ProtectedTailBoundarySnapshot } from "./protected-tail-boundary";
4
4
  import { type InMemoryMessageView, type RawMessage } from "./read-session-raw";
5
5
  declare const POST_DROP_TARGET_RATIO = 0.75;
6
- declare const FORCE_COMPARTMENT_PERCENTAGE = 80;
7
6
  declare const BLOCK_UNTIL_DONE_PERCENTAGE = 95;
8
- declare const FORCE_MATERIALIZE_PERCENTAGE = 85;
9
- export { BLOCK_UNTIL_DONE_PERCENTAGE, FORCE_COMPARTMENT_PERCENTAGE, FORCE_MATERIALIZE_PERCENTAGE, POST_DROP_TARGET_RATIO, };
7
+ export { BLOCK_UNTIL_DONE_PERCENTAGE, POST_DROP_TARGET_RATIO };
10
8
  export interface CompartmentTriggerResult {
11
9
  shouldFire: boolean;
12
- reason?: "projected_headroom" | "force_80" | "commit_clusters" | "tail_size";
10
+ reason?: "projected_headroom" | "force_band" | "commit_clusters" | "tail_size";
13
11
  /**
14
12
  * The protected-tail boundary snapshot the decision was computed from.
15
13
  * Present whenever the tail inspection ran. Callers that start the
@@ -32,6 +30,15 @@ export interface InMemoryTailSource {
32
30
  messages: RawMessage[];
33
31
  absoluteMessageCount: number;
34
32
  }
33
+ /**
34
+ * Wire capability for projecting reclaimable reasoning bytes. OpenCode derives
35
+ * this from the provider's empty-sentinel support; Pi overrides it because its
36
+ * serializers safely omit cleared thinking for every provider.
37
+ */
38
+ export interface ReasoningProjectionCapability {
39
+ providerID?: string;
40
+ canClearReasoning?: boolean;
41
+ }
35
42
  /**
36
43
  * Deferred tail conversion for callers that have already tagged the live wire.
37
44
  * The trigger's cheap gate can use the caller-provided tag floor without building
@@ -64,5 +71,5 @@ export declare function getProactiveCompartmentTriggerPercentage(executeThreshol
64
71
  export declare function checkCompartmentTrigger(db: Database, sessionId: string, sessionMeta: SessionMeta, usage: ContextUsage, _previousPercentage: number, executeThresholdPercentage: number, triggerBudget: number, clearReasoningAge?: number, commitClusterTrigger?: {
65
72
  enabled: boolean;
66
73
  min_clusters: number;
67
- }, preloadedActiveTags?: readonly TagEntry[], contextLimit?: number, inMemoryTail?: InMemoryTailSource | LazyInMemoryTailSource, taggerFloorOverride?: number): CompartmentTriggerResult;
74
+ }, preloadedActiveTags?: readonly TagEntry[], contextLimit?: number, inMemoryTail?: InMemoryTailSource | LazyInMemoryTailSource, taggerFloorOverride?: number, reasoningProjection?: ReasoningProjectionCapability): CompartmentTriggerResult;
68
75
  //# sourceMappingURL=compartment-trigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compartment-trigger.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-trigger.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAIH,KAAK,6BAA6B,EAErC,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAI5B,QAAA,MAAM,sBAAsB,OAAO,CAAC;AAKpC,QAAA,MAAM,4BAA4B,KAAK,CAAC;AACxC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AACvC,QAAA,MAAM,4BAA4B,KAAK,CAAC;AAGxC,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,GACzB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAC7E;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAyE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACzC,kBAAkB,GAAG,SAAS,CAchC;AAED,wBAAgB,wCAAwC,CACpD,0BAA0B,EAAE,MAAM,GACnC,MAAM,CAER;AA4MD,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,0BAA0B,EAAE,MAAM,EAClC,aAAa,EAAE,MAAM,EACrB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,oBAAoB,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACjE,mBAAmB,CAAC,EAAE,SAAS,QAAQ,EAAE,EACzC,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,kBAAkB,GAAG,sBAAsB,EAC1D,mBAAmB,CAAC,EAAE,MAAM,GAC7B,wBAAwB,CAyU1B"}
1
+ {"version":3,"file":"compartment-trigger.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/compartment-trigger.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAIH,KAAK,6BAA6B,EAErC,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAK5B,QAAA,MAAM,sBAAsB,OAAO,CAAC;AAKpC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AAGvC,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,CAAC;AAE/D,MAAM,WAAW,wBAAwB;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,oBAAoB,GAAG,YAAY,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAC/E;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAyE1E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CACpC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACzC,kBAAkB,GAAG,SAAS,CAchC;AAED,wBAAgB,wCAAwC,CACpD,0BAA0B,EAAE,MAAM,GACnC,MAAM,CAER;AAiND,wBAAgB,uBAAuB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,0BAA0B,EAAE,MAAM,EAClC,aAAa,EAAE,MAAM,EACrB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,oBAAoB,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACjE,mBAAmB,CAAC,EAAE,SAAS,QAAQ,EAAE,EACzC,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,kBAAkB,GAAG,sBAAsB,EAC1D,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,6BAA6B,GACpD,wBAAwB,CAoV1B"}
@@ -1,3 +1,4 @@
1
+ import type { PluginContext } from "../../plugin/types";
1
2
  /**
2
3
  * Whether a given tool is actually CALLABLE in a session's tool set.
3
4
  *
@@ -15,6 +16,13 @@
15
16
  * first-message map is fixed at session spawn, so the verdict is deterministic
16
17
  * across passes and restarts.
17
18
  *
19
+ * The ctx_reduce verdict intentionally remains frozen even when OpenCode's live
20
+ * permission rules deny the tool. Its value gates guidance and the system-prompt
21
+ * hash; changing it mid-session would invalidate the provider prefix for a
22
+ * permission change that is otherwise not part of the prompt. Todowrite's
23
+ * synthetic pair has a separate live permission check at cache-busting
24
+ * boundaries, so this asymmetry is deliberate and load-bearing.
25
+ *
18
26
  * Fail-open: no tools map (normal sessions), no wildcard-deny, or an
19
27
  * unreadable OpenCode DB all resolve to "available" — current behavior.
20
28
  */
@@ -29,11 +37,28 @@ export interface ToolAvailabilityVerdict {
29
37
  frozen: boolean;
30
38
  }
31
39
  /**
32
- * Historical alias. ctx_reduce was the first consumer of this resolver; the
40
+ * Set whether `ctx_reduce` is registered process-globally. Called once at
41
+ * plugin boot from the tool registry resolution. When false, every
42
+ * `resolveCtxReduceAvailability*` call returns a frozen `callable: false`
43
+ * verdict without consulting the per-session tools map or the OpenCode DB.
44
+ */
45
+ export declare function setCtxReduceRegisteredGlobally(registered: boolean): void;
46
+ /** Test-only reset so the availability suite's default-true baseline is
47
+ * unaffected by a prior test that flipped the override. Production code
48
+ * never needs to re-enable mid-process (boot-resolved, process-stable). */
49
+ export declare function resetCtxReduceRegisteredGloballyForTest(): void;
50
+ /** Historical alias. ctx_reduce was the first consumer of this resolver; the
33
51
  * verdict shape is identical for every tool, so the name is kept so existing
34
52
  * ctx_reduce call sites stay untouched.
35
53
  */
36
54
  export type CtxReduceAvailabilityVerdict = ToolAvailabilityVerdict;
55
+ type PermissionAction = "ask" | "allow" | "deny";
56
+ /** The small rule shape used by OpenCode's Permission.disabled evaluator. */
57
+ export interface PermissionRule {
58
+ permission: string;
59
+ pattern: string;
60
+ action: PermissionAction;
61
+ }
37
62
  /**
38
63
  * Resolve from the in-memory transform message array (preferred — free).
39
64
  * Caches the verdict on first resolution.
@@ -61,6 +86,26 @@ export declare function resolveCtxReduceAvailabilityFromMessages(sessionId: stri
61
86
  }>): CtxReduceAvailabilityVerdict;
62
87
  export declare function resolveCtxReduceAvailability(sessionId: string): CtxReduceAvailabilityVerdict;
63
88
  export declare function clearCtxReduceAvailability(sessionId: string): void;
89
+ /**
90
+ * Apply OpenCode's Permission.disabled rule: the last matching permission
91
+ * rule wins, and only a deny of the whole permission pattern disables it.
92
+ * Keeping this evaluator pure makes the findLast behavior testable without a
93
+ * live OpenCode server.
94
+ */
95
+ export declare function permissionDisabled(toolName: string, rules: readonly PermissionRule[]): boolean;
96
+ /**
97
+ * Read OpenCode's merged agent permissions plus the session overlay and apply
98
+ * the same last-rule evaluator OpenCode uses. The SDK declarations in older
99
+ * plugin peer versions do not expose the newer permission fields, so the
100
+ * response is intentionally narrowed at this boundary.
101
+ */
102
+ export declare function resolveToolPermissionDenied(client: PluginContext["client"], sessionId: string, toolName: string, activeAgent?: string): Promise<boolean>;
103
+ export declare function todowritePermissionDenied(client: PluginContext["client"], sessionId: string, activeAgent?: string): Promise<boolean>;
104
+ /** Cached live verdict used by defer passes; undefined means no bust has read it yet. */
105
+ export declare function cachedToolPermissionDenied(sessionId: string, toolName: string): boolean | undefined;
106
+ export declare function clearToolPermissionDenied(sessionId: string, toolName?: string): void;
107
+ export declare function hasLoggedCtxReducePermissionDeny(sessionId: string): boolean;
108
+ export declare function markCtxReducePermissionDenyLogged(sessionId: string): void;
64
109
  export declare function resolveTodowriteAvailabilityFromMessages(sessionId: string, messages: ReadonlyArray<{
65
110
  info?: {
66
111
  role?: string;
@@ -69,4 +114,5 @@ export declare function resolveTodowriteAvailabilityFromMessages(sessionId: stri
69
114
  }>): ToolAvailabilityVerdict;
70
115
  export declare function resolveTodowriteAvailability(sessionId: string): ToolAvailabilityVerdict;
71
116
  export declare function clearTodowriteAvailability(sessionId: string): void;
117
+ export {};
72
118
  //# sourceMappingURL=ctx-reduce-availability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ctx-reduce-availability.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/ctx-reduce-availability.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,gFAAgF;AAChF,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;8EAI0E;IAC1E,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG,uBAAuB,CAAC;AA4BnE;;;GAGG;AACH,wBAAgB,mCAAmC,CAC/C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,GACvE,uBAAuB,CAkBzB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACjB,uBAAuB,CA6BzB;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE/E;AAID,wBAAgB,wCAAwC,CACpD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,GACvE,4BAA4B,CAE9B;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,4BAA4B,CAE5F;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAElE;AAID,wBAAgB,wCAAwC,CACpD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,GACvE,uBAAuB,CAEzB;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,uBAAuB,CAEvF;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAElE"}
1
+ {"version":3,"file":"ctx-reduce-availability.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/ctx-reduce-availability.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export declare const TIER_RECENCY_RESERVE = 0.2;
5
5
  /**
6
6
  * Don't bust the cache for a trivial reclaim. If the computed reclaim is at or
7
7
  * below this, the pass is a no-op (combined with the watermark, this prevents
8
- * 85%-94.9% oscillation).
8
+ * force-band-to-94.9% oscillation).
9
9
  */
10
10
  export declare const EMERGENCY_REARM_MIN_TOKENS = 2000;
11
11
  export type Tier = 1 | 2 | 3;
@@ -53,7 +53,7 @@ export declare function estimateEmergencyDropReclaimTokens(tag: EmergencyDropTag
53
53
  * non-droppable tool tags). Only their token sum matters — it makes
54
54
  * `fixedFloor` the true irreducible prefix. Passing a narrower set (e.g.
55
55
  * tool-only) folds real conversation/reasoning tail into the "floor",
56
- * raising the target and systematically under-evicting at ≥85%.
56
+ * raising the target and systematically under-evicting at the derived force band.
57
57
  * - `tags`: the evictable candidates — active tool tags whose drop target
58
58
  * would actually reclaim bytes (caller pre-filters on `canDrop()` so no
59
59
  * phantom tag is counted as reclaimed).
@@ -11,6 +11,13 @@ interface ContextUsageEntry {
11
11
  export interface EventHandlerDeps {
12
12
  contextUsageMap: Map<string, ContextUsageEntry>;
13
13
  compactionHandler: ReturnType<typeof createCompactionHandler>;
14
+ /**
15
+ * Compaction-off mode (issue #266), boot-resolved. Overflow recovery is
16
+ * never armed in this mode (record the provider-reported limit only, so
17
+ * raw-usage math stays accurate) and Channel-2 delivery stays silent;
18
+ * the off-transition clears any persisted intent.
19
+ */
20
+ compactionOff?: boolean;
14
21
  onSessionCacheInvalidated?: (sessionId: string) => void;
15
22
  onRustWireInvalidated?: (sessionId: string) => void;
16
23
  onSessionDeleted?: (sessionId: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AA6BvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAKlE,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,oCAAoC,CAAC;AAyBpF,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,6BAA6B,CAAC;AAM1F,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,UAAU,iBAAiB;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAChD,iBAAiB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC9D,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,4BAA4B,CAAC,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxF,wBAAwB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;QACxF,SAAS,EAAE,cAAc,CAAC;QAC1B,sBAAsB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACvE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IAIf,EAAE,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC;IAC3C,sFAAsF;IACtF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,aAAa,CAAC,CAAC;IACjF,mKAAmK;IACnK,8BAA8B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAClE;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvC;AA0ID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,IACvC,OAAO;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CA8gBzF"}
1
+ {"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AA6BvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAKlE,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,oCAAoC,CAAC;AAyBpF,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,6BAA6B,CAAC;AAM1F,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,UAAU,iBAAiB;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAChD,iBAAiB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC9D;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,4BAA4B,CAAC,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxF,wBAAwB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;QACxF,SAAS,EAAE,cAAc,CAAC;QAC1B,sBAAsB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACvE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IAIf,EAAE,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC;IAC3C,sFAAsF;IACtF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,aAAa,CAAC,CAAC;IACjF,mKAAmK;IACnK,8BAA8B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAClE;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvC;AA0ID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,IACvC,OAAO;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAukBzF"}
@@ -1,25 +1,18 @@
1
1
  import type { ContextDatabase } from "../../features/magic-context/storage";
2
+ import { escalationBands, MAX_EXECUTE_THRESHOLD } from "../../shared/escalation-bands";
3
+ export { escalationBands, MAX_EXECUTE_THRESHOLD };
2
4
  export declare const DEFAULT_CONTEXT_LIMIT = 128000;
3
- export declare const MAX_EXECUTE_THRESHOLD = 80;
4
5
  type CacheTtlConfig = string | Record<string, string>;
5
6
  /**
6
- * Resolve the effective context limit for a (providerID, modelID) pair.
7
- *
8
- * Resolution order:
9
- * 1. Detected limit from a prior overflow error, when smaller than the
10
- * configured/cache limit. Providers report the REAL limit in the error
11
- * message, which is authoritative for the current deployment.
12
- * 2. OpenCode's models.dev cache (overlaid with user's
13
- * `provider.*.models.*.limit.context`).
14
- * 3. Conservative default (128k).
15
- *
16
- * The session context (db + sessionID) is optional — callers that operate
17
- * outside a specific session (e.g. warm-up, status-bar summaries) can omit it
18
- * and fall back to the global cache/default.
7
+ * Resolve the effective context limit for a provider/model pair. By default
8
+ * this returns the output-reserved safe input budget. `reservation: "none"`
9
+ * preserves the same catalog, detected-limit, and fallback resolution while
10
+ * exposing the unreserved window for native-usage display metrics only.
19
11
  */
20
12
  export declare function resolveContextLimit(providerID: string | undefined, modelID: string | undefined, ctx?: {
21
13
  db?: ContextDatabase;
22
14
  sessionID?: string;
15
+ reservation?: "default" | "none";
23
16
  }): number;
24
17
  /**
25
18
  * Like resolveContextLimit, but returns a limit ONLY when it is TRUSTED for the
@@ -58,25 +51,25 @@ export interface ExecuteThresholdOptions {
58
51
  * overrides the percentage-based threshold. */
59
52
  tokensConfig?: ExecuteThresholdTokensConfig;
60
53
  /** Required when `tokensConfig` is provided — used to convert tokens → percentage
61
- * and to clamp values above 80% × context_limit. */
54
+ * and to clamp values above 90% × context_limit. */
62
55
  contextLimit?: number;
63
56
  /** Session ID for warn logs when clamping. If absent, warns to global log. */
64
57
  sessionId?: string;
65
58
  }
66
59
  export type ExecuteThresholdMode = "percentage" | "tokens";
67
60
  export interface ExecuteThresholdDetail {
68
- /** Effective execute threshold as a percentage (0–80). Downstream math keys off this. */
61
+ /** Effective execute threshold as a percentage (0–90). Downstream math keys off this. */
69
62
  percentage: number;
70
63
  /** Which source was authoritative: tokens config (when matched + valid context) or percentage. */
71
64
  mode: ExecuteThresholdMode;
72
- /** When mode is "tokens", the absolute token value after clamping (≤ 80% × contextLimit). */
65
+ /** When mode is "tokens", the absolute token value after clamping (≤ 90% × contextLimit). */
73
66
  absoluteTokens?: number;
74
67
  /** The config key that matched, if any (for display/debugging). `"default"` when default fallback. */
75
68
  matchedKey?: string;
76
69
  /**
77
70
  * True when the user's configured value exceeded the safe cap and was reduced.
78
- * Tokens mode: configured tokens > 80% × contextLimit. Percentage mode:
79
- * configured percentage > MAX_EXECUTE_THRESHOLD (80). Display surfaces read this
71
+ * Tokens mode: configured tokens > 90% × contextLimit. Percentage mode:
72
+ * configured percentage > MAX_EXECUTE_THRESHOLD (90). Display surfaces read this
80
73
  * to tell the user their value was clamped instead of silently ignoring it (#241).
81
74
  * Only present (true) when a clamp actually happened; absent otherwise.
82
75
  */
@@ -84,7 +77,7 @@ export interface ExecuteThresholdDetail {
84
77
  /**
85
78
  * The raw configured value before clamping — a token count in tokens mode, a
86
79
  * percentage in percentage mode. Populated only alongside `clamped` so display
87
- * surfaces can show the math (e.g. "190,000 > 80% of 128,000").
80
+ * surfaces can show the math (e.g. "190,000 > 90% of 128,000").
88
81
  */
89
82
  configuredValue?: number;
90
83
  }
@@ -107,5 +100,4 @@ export declare function resolveSessionId(properties: {
107
100
  info?: unknown;
108
101
  sessionID?: string;
109
102
  } | undefined): string | undefined;
110
- export {};
111
103
  //# sourceMappingURL=event-resolvers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-resolvers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAQ5E,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAC7C,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,GAAG,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,eAAe,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,MAAM,CAqBR;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CACtC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,GAAG,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,eAAe,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,MAAM,GAAG,SAAS,CA6CpB;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAiB9F;AAED,KAAK,sBAAsB,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AACvF,KAAK,4BAA4B,GAC3B;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5D,SAAS,CAAC;AAEhB,MAAM,WAAW,uBAAuB;IACpC;oDACgD;IAChD,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAC5C;yDACqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACnC,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAC;IACnB,kGAAkG;IAClG,IAAI,EAAE,oBAAoB,CAAC;IAC3B,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sGAAsG;IACtG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AA8CD;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CACzC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAClC,sBAAsB,CA8GxB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAClC,MAAM,CAER;AA2BD,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,gBAAgB,CAC5B,UAAU,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAC/D,MAAM,GAAG,SAAS,CAmBpB"}
1
+ {"version":3,"file":"event-resolvers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-resolvers.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export interface MessageTokenEstimate {
3
3
  conversation: number;
4
4
  toolCall: number;
5
5
  }
6
+ /** Describe the final three post-transform messages without serializing content. */
7
+ export declare function describeFinalWireTail(messages: readonly MessageLike[]): string;
6
8
  /** Count the token-bearing fields in the message representation sent to OpenCode. */
7
9
  export declare function estimateMessageTokens(message: MessageLike): MessageTokenEstimate;
8
10
  export interface FinalWireTokenEstimateInput {
@@ -1 +1 @@
1
- {"version":3,"file":"final-wire-token-estimate.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/final-wire-token-estimate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,oBAAoB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAQD,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,oBAAoB,CA8DhF;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,2BAA2B,GACnC,sBAAsB,CAiCxB"}
1
+ {"version":3,"file":"final-wire-token-estimate.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/final-wire-token-estimate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,oBAAoB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAwBD,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAS9E;AAQD,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,oBAAoB,CA8DhF;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,2BAA2B,GACnC,sBAAsB,CAiCxB"}
@@ -5,7 +5,7 @@ import type { MessageLike, TagTarget } from "./tag-messages";
5
5
  export declare function applyHeuristicCleanup(sessionId: string, db: ContextDatabase, targets: Map<number, TagTarget>, messageTagNumbers: Map<MessageLike, number>, config: {
6
6
  protectedTags: number;
7
7
  /**
8
- * Tiered target-headroom emergency drop. Provided only on the ≥85%
8
+ * Tiered target-headroom emergency drop. Provided only on the the derived force band
9
9
  * force-materialize (cache-busting) pass; undefined on routine execute
10
10
  * passes (Phase 2 removed routine age-based tool drops entirely). When
11
11
  * present, the emergency drop runs before dedup/injection-strip.
@@ -157,6 +157,7 @@ export declare function createCommandExecuteBeforeHook(commandHandler: {
157
157
  export declare function createToolExecuteAfterHook(args: {
158
158
  db: Parameters<typeof getOrCreateSessionMeta>[0];
159
159
  channel1StateBySession: Map<string, Channel1State>;
160
+ client?: PluginContext["client"];
160
161
  transformMode?: "ts" | "rust";
161
162
  todoStateSet?: (input: {
162
163
  sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export interface MagicContextDeps {
19
19
  liveSessionState?: LiveSessionState;
20
20
  config: {
21
21
  protected_tags: number;
22
+ /** User-level setting that lets a session started exactly in the canonical home directory use it as the project. */
23
+ allow_home_project?: boolean;
22
24
  language?: string;
23
25
  smart_drops?: boolean;
24
26
  toast_duration_ms?: number;
@@ -70,6 +72,12 @@ export interface MagicContextDeps {
70
72
  min_chars: number;
71
73
  };
72
74
  transform_mode?: ResolvedTransformMode;
75
+ /** Compaction-off mode gate (issue #266). Resolved ONCE here at the
76
+ * session-hook construction boundary via isCompactionEnabled; the
77
+ * resolved boolean is threaded to the transform phases. */
78
+ compaction?: {
79
+ enabled?: boolean;
80
+ };
73
81
  experimental?: {
74
82
  mural?: {
75
83
  enabled: boolean;
@@ -103,7 +111,9 @@ export declare function createMagicContextHook(deps: MagicContextDeps): ({
103
111
  }) => Promise<void>;
104
112
  "chat.message": (input: {
105
113
  sessionID?: string;
106
- variant?: string;
114
+ variant? /** Compaction-off mode gate (issue #266). Resolved ONCE here at the
115
+ * session-hook construction boundary via isCompactionEnabled; the
116
+ * resolved boolean is threaded to the transform phases. */: string;
107
117
  agent?: string;
108
118
  model?: {
109
119
  providerID?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AA+BvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAYxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAIlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AA6BpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKlE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAUnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAS7D,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,iBAAiB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC9D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,MAAM,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,oHAAoH;QACpH,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,4BAA4B,CAAC,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxF,wBAAwB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;QACxF,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE3C,SAAS,CAAC,EAAE,eAAe,CAAC;QAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,MAAM,CAAC,EAAE;YACL,OAAO,EAAE,OAAO,CAAC;YACjB,uBAAuB,EAAE,MAAM,CAAC;YAChC;oFACwE;YACxE,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,kEAAkE;YAClE,WAAW,CAAC,EAAE;gBACV,OAAO,EAAE,OAAO,CAAC;gBACjB,eAAe,EAAE,MAAM,CAAC;gBACxB,gBAAgB,EAAE,MAAM,CAAC;aAC5B,CAAC;SACL,CAAC;QACF,SAAS,CAAC,EAAE;YACR,QAAQ,CAAC,EAAE,OAAO,GAAG,mBAAmB,GAAG,KAAK,GAAG,SAAS,CAAC;SAChE,CAAC;QACF,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,sBAAsB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;QACpE;;+EAEuE;QACvE,uBAAuB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,eAAe,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,wBAAwB,CAAC,EAAE;YACvB,OAAO,EAAE,OAAO,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,cAAc,CAAC,EAAE,qBAAqB,CAAC;QACvC;;oEAE4D;QAC5D,UAAU,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QACnC,YAAY,CAAC,EAAE;YACX,KAAK,CAAC,EAAE;gBAAE,OAAO,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAChD,CAAC;KACL,CAAC;IACF,oFAAoF;IACpF,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC;CAC/C;AAqCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB;;;;;;;;iBAhBmB,CAAC;;;;;;;;;;;;iBAlC3D,CAAC;eAIf,CAHP,CAAO;;oEAE4D;aAF5C,CAAC;aAAuB,CAAC;sBAAc,CAAC;mBACvD,CAAJ;;;mBAopCwB;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE;;;;uBA+BnD,gBAAgB;UAO1C;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC7C,IAAI,EAAE,gBAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAoBpD"}