@cortexkit/opencode-magic-context 0.32.0 → 0.32.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.
Files changed (191) hide show
  1. package/README.md +3 -3
  2. package/dist/config/index.d.ts.map +1 -1
  3. package/dist/config/project-security.d.ts +3 -0
  4. package/dist/config/project-security.d.ts.map +1 -1
  5. package/dist/config/schema/magic-context.d.ts +82 -2
  6. package/dist/config/schema/magic-context.d.ts.map +1 -1
  7. package/dist/config/transform-mode.d.ts +15 -0
  8. package/dist/config/transform-mode.d.ts.map +1 -0
  9. package/dist/features/magic-context/compartment-embedding.d.ts.map +1 -1
  10. package/dist/features/magic-context/dreamer/cron.d.ts +2 -2
  11. package/dist/features/magic-context/dreamer/cron.d.ts.map +1 -1
  12. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  13. package/dist/features/magic-context/git-commits/indexer.d.ts.map +1 -1
  14. package/dist/features/magic-context/memory/embedding-identity.d.ts.map +1 -1
  15. package/dist/features/magic-context/memory/embedding-provider.d.ts +6 -0
  16. package/dist/features/magic-context/memory/embedding-provider.d.ts.map +1 -1
  17. package/dist/features/magic-context/memory/embedding-synapse.d.ts +98 -0
  18. package/dist/features/magic-context/memory/embedding-synapse.d.ts.map +1 -0
  19. package/dist/features/magic-context/memory/embedding.d.ts +1 -1
  20. package/dist/features/magic-context/memory/embedding.d.ts.map +1 -1
  21. package/dist/features/magic-context/message-index-async.d.ts +4 -1
  22. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  23. package/dist/features/magic-context/message-index.d.ts +7 -4
  24. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  25. package/dist/features/magic-context/migrations.d.ts +21 -16
  26. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  27. package/dist/features/magic-context/plugin-messages.d.ts.map +1 -1
  28. package/dist/features/magic-context/project-embedding-registry.d.ts +27 -0
  29. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  30. package/dist/features/magic-context/search-measurement.d.ts +14 -0
  31. package/dist/features/magic-context/search-measurement.d.ts.map +1 -0
  32. package/dist/features/magic-context/search.d.ts +11 -1
  33. package/dist/features/magic-context/search.d.ts.map +1 -1
  34. package/dist/features/magic-context/session-project-backfill.d.ts +6 -3
  35. package/dist/features/magic-context/session-project-backfill.d.ts.map +1 -1
  36. package/dist/features/magic-context/session-project-storage.d.ts.map +1 -1
  37. package/dist/features/magic-context/smart-notes/capabilities.d.ts.map +1 -1
  38. package/dist/features/magic-context/smart-notes/compiler.d.ts +3 -1
  39. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  40. package/dist/features/magic-context/smart-notes/runner.d.ts +1 -0
  41. package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
  42. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts +8 -1
  43. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts.map +1 -1
  44. package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts +10 -0
  45. package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts.map +1 -1
  46. package/dist/features/magic-context/smart-notes/storage.d.ts +16 -1
  47. package/dist/features/magic-context/smart-notes/storage.d.ts.map +1 -1
  48. package/dist/features/magic-context/storage-clone.d.ts +4 -0
  49. package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
  50. package/dist/features/magic-context/storage-db.d.ts +7 -1
  51. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  52. package/dist/features/magic-context/storage-embedding-measurements.d.ts +60 -0
  53. package/dist/features/magic-context/storage-embedding-measurements.d.ts.map +1 -0
  54. package/dist/features/magic-context/storage-meta-persisted.d.ts +10 -5
  55. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  56. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  57. package/dist/features/magic-context/storage-schema-helpers.d.ts +3 -4
  58. package/dist/features/magic-context/storage-schema-helpers.d.ts.map +1 -1
  59. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  60. package/dist/features/magic-context/storage.d.ts +1 -0
  61. package/dist/features/magic-context/storage.d.ts.map +1 -1
  62. package/dist/features/magic-context/tool-owner-backfill.d.ts +2 -0
  63. package/dist/features/magic-context/tool-owner-backfill.d.ts.map +1 -1
  64. package/dist/features/magic-context/transform-decision-log.d.ts +1 -1
  65. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  66. package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
  67. package/dist/hooks/magic-context/auto-search-runner.d.ts +7 -1
  68. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  69. package/dist/hooks/magic-context/channel2-delivery.d.ts +2 -0
  70. package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -1
  71. package/dist/hooks/magic-context/command-handler.d.ts +5 -0
  72. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  73. package/dist/hooks/magic-context/compaction-marker-manager.d.ts +4 -0
  74. package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
  75. package/dist/hooks/magic-context/compartment-render-epoch.d.ts +12 -0
  76. package/dist/hooks/magic-context/compartment-render-epoch.d.ts.map +1 -0
  77. package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
  78. package/dist/hooks/magic-context/decay-render.d.ts.map +1 -1
  79. package/dist/hooks/magic-context/emergency-drop.d.ts +1 -0
  80. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -1
  81. package/dist/hooks/magic-context/emergency-fail-closed.d.ts +7 -0
  82. package/dist/hooks/magic-context/emergency-fail-closed.d.ts.map +1 -0
  83. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  84. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +29 -0
  85. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -0
  86. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +1 -0
  87. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  88. package/dist/hooks/magic-context/historian-prompt.generated.d.ts +1 -1
  89. package/dist/hooks/magic-context/historian-prompt.generated.d.ts.map +1 -1
  90. package/dist/hooks/magic-context/hook-handlers.d.ts +6 -0
  91. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  92. package/dist/hooks/magic-context/hook.d.ts +19 -3
  93. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  94. package/dist/hooks/magic-context/index.d.ts +1 -1
  95. package/dist/hooks/magic-context/index.d.ts.map +1 -1
  96. package/dist/hooks/magic-context/inject-compartments.d.ts +1 -0
  97. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  98. package/dist/hooks/magic-context/lkg-replay.d.ts +51 -0
  99. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -0
  100. package/dist/hooks/magic-context/lkg-slot.d.ts +25 -0
  101. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -0
  102. package/dist/hooks/magic-context/module-state-sync.d.ts +169 -0
  103. package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -0
  104. package/dist/hooks/magic-context/module-wire.d.ts +73 -0
  105. package/dist/hooks/magic-context/module-wire.d.ts.map +1 -0
  106. package/dist/hooks/magic-context/pass-outcome.d.ts +15 -0
  107. package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -0
  108. package/dist/hooks/magic-context/read-session-chunk.d.ts +17 -1
  109. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  110. package/dist/hooks/magic-context/read-session-raw.d.ts +30 -2
  111. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  112. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  113. package/dist/hooks/magic-context/rust-mode-transform.d.ts +64 -0
  114. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -0
  115. package/dist/hooks/magic-context/shadow-sender.d.ts +84 -49
  116. package/dist/hooks/magic-context/shadow-sender.d.ts.map +1 -1
  117. package/dist/hooks/magic-context/tag-messages.d.ts +2 -0
  118. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  119. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +56 -0
  120. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  121. package/dist/hooks/magic-context/transform.d.ts +9 -0
  122. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +17355 -10510
  125. package/dist/plugin/boot-quiet.d.ts +12 -0
  126. package/dist/plugin/boot-quiet.d.ts.map +1 -0
  127. package/dist/plugin/dream-timer.d.ts +6 -2
  128. package/dist/plugin/dream-timer.d.ts.map +1 -1
  129. package/dist/plugin/embedding-bootstrap-helpers.d.ts.map +1 -1
  130. package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
  131. package/dist/plugin/embedding-routing.d.ts +32 -0
  132. package/dist/plugin/embedding-routing.d.ts.map +1 -0
  133. package/dist/plugin/hooks/create-session-hooks.d.ts +54 -2
  134. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  135. package/dist/plugin/messages-transform.d.ts +4 -3
  136. package/dist/plugin/messages-transform.d.ts.map +1 -1
  137. package/dist/plugin/rpc-handlers.d.ts +19 -2
  138. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  139. package/dist/plugin/rust-tool-backends.d.ts +10 -0
  140. package/dist/plugin/rust-tool-backends.d.ts.map +1 -0
  141. package/dist/plugin/tool-registry.d.ts +2 -0
  142. package/dist/plugin/tool-registry.d.ts.map +1 -1
  143. package/dist/shared/models-dev-cache.d.ts +5 -0
  144. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  145. package/dist/shared/rpc-client.d.ts +3 -1
  146. package/dist/shared/rpc-client.d.ts.map +1 -1
  147. package/dist/shared/rpc-notifications.d.ts +11 -6
  148. package/dist/shared/rpc-notifications.d.ts.map +1 -1
  149. package/dist/shared/rpc-server.d.ts +2 -2
  150. package/dist/shared/rpc-server.d.ts.map +1 -1
  151. package/dist/shared/rpc-types.d.ts +3 -0
  152. package/dist/shared/rpc-types.d.ts.map +1 -1
  153. package/dist/shared/sqlite.d.ts.map +1 -1
  154. package/dist/shared/tui-config.d.ts +5 -3
  155. package/dist/shared/tui-config.d.ts.map +1 -1
  156. package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
  157. package/dist/tools/ctx-memory/types.d.ts +2 -0
  158. package/dist/tools/ctx-memory/types.d.ts.map +1 -1
  159. package/dist/tools/ctx-reduce/tools.d.ts +2 -0
  160. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -1
  161. package/dist/tui/data/context-db.d.ts +9 -2
  162. package/dist/tui/data/context-db.d.ts.map +1 -1
  163. package/dist/tui/data/notification-socket.d.ts +4 -5
  164. package/dist/tui/data/notification-socket.d.ts.map +1 -1
  165. package/dist/tui-compiled/data/context-db.d.ts +9 -2
  166. package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
  167. package/dist/tui-compiled/data/notification-socket.d.ts +4 -5
  168. package/dist/tui-compiled/data/notification-socket.d.ts.map +1 -1
  169. package/package.json +2 -1
  170. package/src/shared/models-dev-cache.test.ts +5 -0
  171. package/src/shared/models-dev-cache.ts +44 -6
  172. package/src/shared/opencode-compaction-detector.test.ts +11 -2
  173. package/src/shared/rpc-client.test.ts +213 -9
  174. package/src/shared/rpc-client.ts +48 -39
  175. package/src/shared/rpc-notifications.test.ts +26 -5
  176. package/src/shared/rpc-notifications.ts +44 -35
  177. package/src/shared/rpc-server.ts +69 -33
  178. package/src/shared/rpc-types.ts +3 -0
  179. package/src/shared/sqlite.ts +22 -3
  180. package/src/shared/tui-config.test.ts +4 -12
  181. package/src/shared/tui-config.ts +6 -6
  182. package/src/tui/data/context-db.test.ts +113 -0
  183. package/src/tui/data/context-db.ts +26 -19
  184. package/src/tui/data/notification-socket.test.ts +277 -11
  185. package/src/tui/data/notification-socket.ts +257 -86
  186. package/src/tui/index.tsx +42 -25
  187. package/src/tui/slots/sidebar-content.tsx +62 -24
  188. package/src/tui-compiled/data/context-db.ts +26 -19
  189. package/src/tui-compiled/data/notification-socket.ts +257 -86
  190. package/src/tui-compiled/index.tsx +83 -30
  191. package/src/tui-compiled/slots/sidebar-content.tsx +45 -23
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Background maintenance waits after the first plugin construction so a
3
+ * sibling process can finish its startup reads and migrations before writers
4
+ * begin. This is intentionally fixed rather than user-configurable.
5
+ */
6
+ export declare const BOOT_QUIET_MS = 120000;
7
+ export declare function beginBootQuietPeriod(now?: number): void;
8
+ export declare function bootQuietRemainingMs(now?: number): number;
9
+ export declare function scheduleAfterBootQuiet(task: () => void, additionalDelayMs?: number): ReturnType<typeof setTimeout>;
10
+ /** Test seam for deterministic fake-timer coverage. */
11
+ export declare function setBootQuietPeriodForTests(startAtMs: number | null): void;
12
+ //# sourceMappingURL=boot-quiet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-quiet.d.ts","sourceRoot":"","sources":["../../src/plugin/boot-quiet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa,SAAU,CAAC;AAIrC,wBAAgB,oBAAoB,CAAC,GAAG,SAAa,GAAG,IAAI,CAE3D;AAED,wBAAgB,oBAAoB,CAAC,GAAG,SAAa,GAAG,MAAM,CAE7D;AAED,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,MAAM,IAAI,EAChB,iBAAiB,SAAI,GACtB,UAAU,CAAC,OAAO,UAAU,CAAC,CAI/B;AAED,uDAAuD;AACvD,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEzE"}
@@ -20,6 +20,10 @@ interface ProjectRegistration {
20
20
  since_days: number;
21
21
  max_commits: number;
22
22
  };
23
+ memoryEnabled?: boolean;
24
+ embeddingConfig?: {
25
+ provider?: string;
26
+ };
23
27
  ensureRegistered: (directory: string, db: Database) => Promise<void>;
24
28
  /**
25
29
  * Per-registration retrospective raw-source provider factory. Each harness
@@ -42,8 +46,8 @@ interface ProjectRegistration {
42
46
  * timer. The timer itself is a singleton (we only need one setInterval per
43
47
  * process), but every registered project gets its per-directory work — git
44
48
  * commit indexing, dream schedule check, dream queue processing — on each
45
- * tick. The first registration also kicks off an immediate startup tick so
46
- * fresh installs and restarts don't wait 15 minutes for first-time indexing.
49
+ * tick. The first registration schedules a quiet-period startup pass so
50
+ * fresh installs do not create a writer burst during concurrent boot.
47
51
  *
48
52
  * Returns a cleanup that removes this project's registration. The timer
49
53
  * itself stops only when the last project unregisters.
@@ -1 +1 @@
1
- {"version":3,"file":"dream-timer.d.ts","sourceRoot":"","sources":["../../src/plugin/dream-timer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AASpE,OAAO,EAEH,KAAK,wBAAwB,EAChC,MAAM,8DAA8D,CAAC;AA6BtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAGpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7C;;;;;GAKG;AACH,UAAU,mBAAmB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,CACvB,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,KACtB,wBAAwB,GAAG,IAAI,CAAC;IACrC;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,CACvB,SAAS,EAAE,MAAM,KAChB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,kBAAkB,GAAG,IAAI,CAAC;CACvE;AA+CD;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CACzC,IAAI,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAyDnC"}
1
+ {"version":3,"file":"dream-timer.d.ts","sourceRoot":"","sources":["../../src/plugin/dream-timer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AASpE,OAAO,EAEH,KAAK,wBAAwB,EAChC,MAAM,8DAA8D,CAAC;AA6BtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAGpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAS7C;;;;;GAKG;AACH,UAAU,mBAAmB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,CACvB,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,KACtB,wBAAwB,GAAG,IAAI,CAAC;IACrC;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,CACvB,SAAS,EAAE,MAAM,KAChB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,kBAAkB,GAAG,IAAI,CAAC;CACvE;AAkDD;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CACzC,IAAI,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAqEnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-bootstrap-helpers.d.ts","sourceRoot":"","sources":["../../src/plugin/embedding-bootstrap-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAOtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,WAAW,GACjB,IAAI,GACJ,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,iBAAiB,GACjB,sBAAsB,CAAC;AAE7B,MAAM,WAAW,2BAA2B,CAAC,OAAO,SAAS;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE;IACvF,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE;QACL,UAAU,EAAE,WAAW,CAAC;QACxB,aAAa,EAAE,WAAW,CAAC;KAC9B,CAAC;IACF,oBAAoB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9F,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,wBAAwB,aAgBnC,CAAC;AAmBH,eAAO,MAAM,kCAAkC,aAAmD,CAAC;AAsBnG,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,2BAA2B,CAAC;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GACtE,OAAO,CAoCT;AAED,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,2BAA2B,CAAC;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GACtE,MAAM,CAkBR;AAED,wBAAgB,oBAAoB,CAChC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,2BAA2B,CAAC;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GACtE,IAAI,CAiBN;AAED,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,2BAA2B,CAAC;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GACtE,OAAO,CAsBT;AAED,wBAAgB,wCAAwC,IAAI,IAAI,CAE/D"}
1
+ {"version":3,"file":"embedding-bootstrap-helpers.d.ts","sourceRoot":"","sources":["../../src/plugin/embedding-bootstrap-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAOtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,WAAW,GACjB,IAAI,GACJ,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,iBAAiB,GACjB,sBAAsB,CAAC;AAE7B,MAAM,WAAW,2BAA2B,CAAC,OAAO,SAAS;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE;IACvF,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE;QACL,UAAU,EAAE,WAAW,CAAC;QACxB,aAAa,EAAE,WAAW,CAAC;KAC9B,CAAC;IACF,oBAAoB,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9F,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,wBAAwB,aAoBnC,CAAC;AAmBH,eAAO,MAAM,kCAAkC,aAM7C,CAAC;AAwBH,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,2BAA2B,CAAC;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GACtE,OAAO,CAoCT;AAED,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,2BAA2B,CAAC;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GACtE,MAAM,CAkBR;AAED,wBAAgB,oBAAoB,CAChC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,2BAA2B,CAAC;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GACtE,IAAI,CAiBN;AAED,wBAAgB,mBAAmB,CAC/B,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,2BAA2B,CAAC;IAAE,SAAS,EAAE,eAAe,CAAA;CAAE,CAAC,GACtE,OAAO,CAsBT;AAED,wBAAgB,wCAAwC,IAAI,IAAI,CAE/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-bootstrap.d.ts","sourceRoot":"","sources":["../../src/plugin/embedding-bootstrap.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,wBAAsB,4CAA4C,CAC9D,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAef"}
1
+ {"version":3,"file":"embedding-bootstrap.d.ts","sourceRoot":"","sources":["../../src/plugin/embedding-bootstrap.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,wBAAsB,4CAA4C,CAC9D,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -0,0 +1,32 @@
1
+ import type { EmbeddingConfig, MagicContextConfig } from "../config/schema/magic-context";
2
+ export interface ResolvedSynapseEmbeddingConfig {
3
+ provider: "synapse";
4
+ model: string;
5
+ max_input_tokens: 8192;
6
+ synapse_connection_file: string;
7
+ synapse_fingerprint: string;
8
+ synapse_table_epoch: number;
9
+ synapse_dims?: number;
10
+ synapse_recommended_batch?: number;
11
+ synapse_provenance?: unknown;
12
+ }
13
+ export interface ResolvedEmbeddingRouting {
14
+ /** Provider config for the authoritative lane. */
15
+ primary: EmbeddingConfig | ResolvedSynapseEmbeddingConfig;
16
+ /** Separate Synapse config for the developer mirror, when armed. */
17
+ shadow: ResolvedSynapseEmbeddingConfig | null;
18
+ /** Human-readable warnings produced while selecting a lane. */
19
+ warnings: string[];
20
+ }
21
+ /**
22
+ * Resolve daemon availability before registration so a fallback vector can never
23
+ * be written under a Synapse identity. The registry receives only the selected
24
+ * lane's provider fields, not the raw routing controls.
25
+ */
26
+ export declare function resolveEmbeddingRouting(args: {
27
+ config: MagicContextConfig;
28
+ projectRoot: string;
29
+ session?: string;
30
+ }): Promise<ResolvedEmbeddingRouting>;
31
+ export declare function getResolvedSynapseProviderIdentity(config: ResolvedSynapseEmbeddingConfig): string;
32
+ //# sourceMappingURL=embedding-routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-routing.d.ts","sourceRoot":"","sources":["../../src/plugin/embedding-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EAEf,kBAAkB,EACrB,MAAM,gCAAgC,CAAC;AAUxC,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,IAAI,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAQD,MAAM,WAAW,wBAAwB;IACrC,kDAAkD;IAClD,OAAO,EAAE,eAAe,GAAG,8BAA8B,CAAC;IAC1D,oEAAoE;IACpE,MAAM,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC9C,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AA8GD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAChD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA4EpC;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,8BAA8B,GAAG,MAAM,CAEjG"}
@@ -1,5 +1,6 @@
1
1
  import type { MagicContextPluginConfig } from "../../config";
2
2
  import type { LiveSessionState } from "../../hooks/magic-context/live-session-state";
3
+ import type { RustModeModuleClient } from "../../hooks/magic-context/rust-mode-transform";
3
4
  import type { PluginContext } from "../types";
4
5
  /**
5
6
  * Map the full plugin config down to the per-session hook config. Pure and
@@ -23,6 +24,7 @@ export declare function buildMagicContextHookConfig(pluginConfig: MagicContextPl
23
24
  subtask?: boolean;
24
25
  }>;
25
26
  enabled: boolean;
27
+ transform_mode: "ts" | "rust";
26
28
  auto_update?: boolean;
27
29
  language?: string;
28
30
  historian?: import("../../config/schema").HistorianConfig;
@@ -63,6 +65,8 @@ export declare function buildMagicContextHookConfig(pluginConfig: MagicContextPl
63
65
  min_chars: number;
64
66
  };
65
67
  embedding: import("../../config/schema").EmbeddingConfig;
68
+ subc?: import("../../config/schema").SubcConfig;
69
+ shadow_embedding?: import("../../config/schema").ShadowEmbeddingConfig;
66
70
  memory: {
67
71
  enabled: boolean;
68
72
  injection_budget_tokens: number;
@@ -88,8 +92,9 @@ export declare function createSessionHooks(args: {
88
92
  ctx: PluginContext;
89
93
  pluginConfig: MagicContextPluginConfig;
90
94
  liveSessionState: LiveSessionState;
95
+ rustModeModuleClient?: RustModeModuleClient;
91
96
  }): {
92
- magicContext: {
97
+ magicContext: ({
93
98
  "experimental.chat.messages.transform": (_input: Record<string, never>, output: {
94
99
  messages: unknown[];
95
100
  }) => Promise<void>;
@@ -122,6 +127,53 @@ export declare function createSessionHooks(args: {
122
127
  }) => Promise<void>;
123
128
  "command.execute.before": (input: unknown, output: unknown) => Promise<unknown>;
124
129
  "tool.execute.after": (input: unknown, output?: unknown) => Promise<void>;
125
- } | null;
130
+ } & {
131
+ rustToolBackends?: import("../rust-tool-backends").RustToolBackends;
132
+ }) | null;
133
+ rustToolBackends: import("../rust-tool-backends").RustToolBackends | undefined;
126
134
  };
135
+ export declare function createSessionHooksAsync(args: {
136
+ ctx: PluginContext;
137
+ pluginConfig: MagicContextPluginConfig;
138
+ liveSessionState: LiveSessionState;
139
+ rustModeModuleClient?: RustModeModuleClient;
140
+ }): Promise<{
141
+ magicContext: ({
142
+ "experimental.chat.messages.transform": (_input: Record<string, never>, output: {
143
+ messages: unknown[];
144
+ }) => Promise<void>;
145
+ "experimental.chat.system.transform": (input: {
146
+ sessionID?: string;
147
+ }, output: {
148
+ system: string[];
149
+ }) => Promise<void>;
150
+ "experimental.text.complete": (_input: {
151
+ sessionID: string;
152
+ messageID: string;
153
+ partID: string;
154
+ }, output: {
155
+ text: string;
156
+ }) => Promise<void>;
157
+ "chat.message": (input: {
158
+ sessionID?: string;
159
+ variant?: string;
160
+ agent?: string;
161
+ model?: {
162
+ providerID?: string;
163
+ modelID?: string;
164
+ };
165
+ }) => Promise<void>;
166
+ event: (input: {
167
+ event: {
168
+ type: string;
169
+ properties?: unknown;
170
+ };
171
+ }) => Promise<void>;
172
+ "command.execute.before": (input: unknown, output: unknown) => Promise<unknown>;
173
+ "tool.execute.after": (input: unknown, output?: unknown) => Promise<void>;
174
+ } & {
175
+ rustToolBackends?: import("../rust-tool-backends").RustToolBackends;
176
+ }) | null;
177
+ rustToolBackends: import("../rust-tool-backends").RustToolBackends | undefined;
178
+ }>;
127
179
  //# sourceMappingURL=create-session-hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-session-hooks.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/create-session-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,wBAAwB;;;;;;;;;mBACxE,CAAC;aAA2B,CAAC;aAA2B,CAAC;eACjD,CAAC;;;;;;;;;;;;;eA8Cgja,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAjCnka;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;CACtC;;;;;;qBA2B+wL,CAAC;;;;;;;;;;;;qBAAxxD,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAA+trC,CAAC;;;;;;EADp0zC"}
1
+ {"version":3,"file":"create-session-hooks.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/create-session-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,wBAAwB;;;;;;;;;mBAAhD,CAAC;aAA2B,CAAC;aAS3D,CARC;eAA6B,CAAC;;;;;;;;;;;;;;eAuF0nb,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAzE7pb;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;qBAkEwyI,CAAC;;;;;;;;;;;;qBAAjvD,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAAk82C,CAAC;;;;;;;;;EArCvm8C;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAChD,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;qBA8BwyI,CAAC;;;;;;;;;;;;qBAAjvD,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAAk82C,CAAC;;;;;;;;;GADvm8C"}
@@ -30,8 +30,9 @@ type MessagesTransformOutput = {
30
30
  * observability.
31
31
  * 3. Return with messages unmodified for this pass.
32
32
  *
33
- * In both cases we NEVER rethrow — OpenCode's Effect pipeline turns thrown
34
- * errors into user-visible prompt failures. We accept degraded behavior
33
+ * Ordinary transform failures are not rethrown because OpenCode's Effect pipeline
34
+ * turns thrown errors into user-visible prompt failures. EmergencyFailClosedError
35
+ * is the intentional exception and is rethrown. We accept degraded behavior
35
36
  * (no injection / no drops this turn) rather than blocking the user.
36
37
  *
37
38
  * Correctness is preserved because all persistent state mutations inside
@@ -41,6 +42,6 @@ export declare function createMessagesTransformHandler(args: {
41
42
  magicContext: {
42
43
  "experimental.chat.messages.transform"?: (input: Record<string, never>, output: MessagesTransformOutput) => Promise<void>;
43
44
  } | null;
44
- }): (input: Record<string, never>, output: MessagesTransformOutput) => Promise<void>;
45
+ }): (input: Record<string, never>, output: MessagesTransformOutput) => Promise<MessageWithParts[]>;
45
46
  export {};
46
47
  //# sourceMappingURL=messages-transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages-transform.d.ts","sourceRoot":"","sources":["../../src/plugin/messages-transform.ts"],"names":[],"mappings":"AAWA,KAAK,gBAAgB,GAAG;IACpB,IAAI,EAAE,OAAO,kBAAkB,EAAE,OAAO,CAAC;IACzC,KAAK,EAAE,OAAO,kBAAkB,EAAE,IAAI,EAAE,CAAC;CAC5C,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACjD,YAAY,EAAE;QACV,sCAAsC,CAAC,EAAE,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC5B,MAAM,EAAE,uBAAuB,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB,GAAG,IAAI,CAAC;CACZ,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAoDnF"}
1
+ {"version":3,"file":"messages-transform.d.ts","sourceRoot":"","sources":["../../src/plugin/messages-transform.ts"],"names":[],"mappings":"AAmBA,KAAK,gBAAgB,GAAG;IACpB,IAAI,EAAE,OAAO,kBAAkB,EAAE,OAAO,CAAC;IACzC,KAAK,EAAE,OAAO,kBAAkB,EAAE,IAAI,EAAE,CAAC;CAC5C,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAMhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACjD,YAAY,EAAE;QACV,sCAAsC,CAAC,EAAE,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC5B,MAAM,EAAE,uBAAuB,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB,GAAG,IAAI,CAAC;CACZ,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,uBAAuB,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAuHjG"}
@@ -5,10 +5,26 @@
5
5
  import type { MagicContextConfig } from "../config/schema/magic-context";
6
6
  import { type ContextDatabase as Database } from "../features/magic-context/storage";
7
7
  import type { LiveSessionState } from "../hooks/magic-context/live-session-state";
8
+ import type { RustModeModuleClient } from "../hooks/magic-context/rust-mode-transform";
8
9
  import type { MagicContextRpcServer } from "../shared/rpc-server";
9
10
  import type { SidebarSnapshot, StatusDetail } from "../shared/rpc-types";
10
- export declare function buildSidebarSnapshot(db: Database, sessionId: string, directory: string, liveSessionState?: LiveSessionState, injectionBudgetTokens?: number, config?: Record<string, unknown>): SidebarSnapshot;
11
- export declare function buildStatusDetail(db: Database, sessionId: string, directory: string, modelKey?: string, config?: Record<string, unknown>, liveSessionState?: LiveSessionState, injectionBudgetTokens?: number): StatusDetail;
11
+ export interface RustSessionStatus {
12
+ usage?: {
13
+ current_total_input_tokens?: number;
14
+ context_limit_tokens?: number;
15
+ };
16
+ boundary_present?: boolean;
17
+ coverage_ordinal?: number | null;
18
+ compartment_count?: number;
19
+ pending_drop_count?: number;
20
+ wrapup_active?: boolean;
21
+ wrapup_rounds?: number | null;
22
+ }
23
+ export declare function buildSidebarSnapshot(db: Database, sessionId: string, directory: string, liveSessionState?: LiveSessionState, injectionBudgetTokens?: number, config?: Record<string, unknown>, moduleStatus?: RustSessionStatus): SidebarSnapshot;
24
+ /** Convert snapshot-build failures into a transport-failure envelope. A genuine
25
+ * zero snapshot remains a successful value so deleted sessions stay deleted. */
26
+ export declare function buildSidebarSnapshotRpcResponse(db: Database, sessionId: string, directory: string, liveSessionState?: LiveSessionState, injectionBudgetTokens?: number, config?: Record<string, unknown>, moduleStatus?: RustSessionStatus): Record<string, unknown>;
27
+ export declare function buildStatusDetail(db: Database, sessionId: string, directory: string, modelKey?: string, config?: Record<string, unknown>, liveSessionState?: LiveSessionState, injectionBudgetTokens?: number, moduleStatus?: RustSessionStatus): StatusDetail;
12
28
  /**
13
29
  * Register all RPC handlers on the server.
14
30
  */
@@ -17,5 +33,6 @@ export declare function registerRpcHandlers(rpcServer: MagicContextRpcServer, ar
17
33
  config: MagicContextConfig;
18
34
  client: unknown;
19
35
  liveSessionState: LiveSessionState;
36
+ rustModeModuleClient?: RustModeModuleClient;
20
37
  }): void;
21
38
  //# sourceMappingURL=rpc-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE,OAAO,EACH,KAAK,eAAe,IAAI,QAAQ,EAGnC,MAAM,mCAAmC,CAAC;AAc3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAoBlF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAe,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA0FtF,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAK9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,eAAe,CA+UjB;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,GAC/B,YAAY,CAyKd;AA4BD;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;CACtC,GACF,IAAI,CA4ON"}
1
+ {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE,OAAO,EACH,KAAK,eAAe,IAAI,QAAQ,EAGnC,MAAM,mCAAmC,CAAC;AAc3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAavF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAe,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUtF,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE;QAAE,0BAA0B,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAoHD,wBAAgB,oBAAoB,CAChC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAK9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,GACjC,eAAe,CAyTjB;AAED;gFACgF;AAChF,wBAAgB,+BAA+B,CAC3C,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,YAAY,CAAC,EAAE,iBAAiB,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,iBAAiB,GACjC,YAAY,CA0Kd;AA4BD;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C,GACF,IAAI,CAsPN"}
@@ -0,0 +1,10 @@
1
+ export interface RustToolBackends {
2
+ reduce?: (args: {
3
+ sessionId: string;
4
+ projectRoot: string;
5
+ drop: string;
6
+ commandId: string;
7
+ }) => Promise<unknown>;
8
+ memorySync?: (sessionId: string) => void;
9
+ }
10
+ //# sourceMappingURL=rust-tool-backends.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust-tool-backends.d.ts","sourceRoot":"","sources":["../../src/plugin/rust-tool-backends.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACrB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C"}
@@ -1,8 +1,10 @@
1
1
  import type { ToolDefinition } from "@opencode-ai/plugin";
2
2
  import type { MagicContextPluginConfig } from "../config";
3
+ import type { RustToolBackends } from "./rust-tool-backends";
3
4
  import type { PluginContext } from "./types";
4
5
  export declare function createToolRegistry(args: {
5
6
  ctx: PluginContext;
6
7
  pluginConfig: MagicContextPluginConfig;
8
+ rustToolBackends?: RustToolBackends;
7
9
  }): Record<string, ToolDefinition>;
8
10
  //# sourceMappingURL=tool-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/plugin/tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAiB1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;CAC1C,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAsFjC"}
1
+ {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/plugin/tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAmB1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACvC,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CA6FjC"}
@@ -103,6 +103,11 @@ export declare function resetAuthRewarmLatchForTest(): void;
103
103
  * own resolution path is used.
104
104
  */
105
105
  export declare function getSdkContextLimit(providerID: string, modelID: string): number | undefined;
106
+ /**
107
+ * Return only a provider-declared input cap. A combined context window is useful
108
+ * for scheduling but is not safe as a fail-closed prompt boundary.
109
+ */
110
+ export declare function getSdkInputLimit(providerID: string, modelID: string): number | undefined;
106
111
  /** Clear in-memory caches (for testing and the regression-recovery refetch). */
107
112
  export declare function clearModelsDevCache(): void;
108
113
  /** Inspection helpers (for logging / debugging). */
@@ -1 +1 @@
1
- {"version":3,"file":"models-dev-cache.d.ts","sourceRoot":"","sources":["../../src/shared/models-dev-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,UAAU,kBAAkB;IACxB,MAAM,EAAE;QACJ,SAAS,EAAE,MAAM,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE;gBAAE,SAAS,CAAC,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE,CAAC,CAAC;KAChE,CAAC;CACL;AASD,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,eAAO,MAAM,cAAc,UAAY,CAAC;AAExC;;kFAEkF;AAClF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,IAAI,MAAM,CAEtE;AA+HD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAC3C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,OAAO,CAAC,IAAI,CAAC,CAUf;AAKD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,+BAA+B,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/F;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AA+DD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI1F;AA6BD,gFAAgF;AAChF,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED,oDAAoD;AACpD,wBAAgB,sBAAsB,IAAI;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAMA"}
1
+ {"version":3,"file":"models-dev-cache.d.ts","sourceRoot":"","sources":["../../src/shared/models-dev-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,UAAU,kBAAkB;IACxB,MAAM,EAAE;QACJ,SAAS,EAAE,MAAM,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE;gBAAE,SAAS,CAAC,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE,CAAC,CAAC;KAChE,CAAC;CACL;AASD,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,eAAO,MAAM,cAAc,UAAY,CAAC;AAExC;;kFAEkF;AAClF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,IAAI,MAAM,CAEtE;AAoJD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAC3C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,OAAO,CAAC,IAAI,CAAC,CAUf;AAKD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,+BAA+B,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/F;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AA+DD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI1F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWxF;AA6BD,gFAAgF;AAChF,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED,oDAAoD;AACpD,wBAAgB,sBAAsB,IAAI;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAMA"}
@@ -1,6 +1,7 @@
1
1
  export declare class MagicContextRpcClient {
2
2
  private port;
3
3
  private token;
4
+ private instanceId;
4
5
  private portDir;
5
6
  private legacyPortFilePath;
6
7
  private healthChecked;
@@ -16,9 +17,10 @@ export declare class MagicContextRpcClient {
16
17
  resolveEndpoint(): Promise<{
17
18
  port: number;
18
19
  token: string | null;
20
+ instanceId: string | null;
19
21
  } | null>;
20
22
  private resolvePort;
21
- private readPortFile;
23
+ private readPortFiles;
22
24
  private healthCheck;
23
25
  private fetchWithTimeout;
24
26
  reset(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-client.ts"],"names":[],"mappings":"AAiBA,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;gBAElB,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKjD,iFAAiF;IAC3E,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,OAAO,CAAC,CAAC,CAAC;IAwDb,4CAA4C;IACtC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC;;;yEAGqE;IAC/D,eAAe,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;YAUjE,WAAW;IAmCzB,OAAO,CAAC,YAAY;YA4BN,WAAW;YAWX,gBAAgB;IAU9B,KAAK,IAAI,IAAI;CAKhB"}
1
+ {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-client.ts"],"names":[],"mappings":"AAiBA,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;gBAElB,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKjD,iFAAiF;IAC3E,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,OAAO,CAAC,CAAC,CAAC;IAwDb,4CAA4C;IACtC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC;;;yEAGqE;IAC/D,eAAe,IAAI,OAAO,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,GAAG,IAAI,CAAC;YAYK,WAAW;IAwBzB,OAAO,CAAC,aAAa;YA+BP,WAAW;YAoBX,gBAAgB;IAU9B,KAAK,IAAI,IAAI;CAMhB"}
@@ -21,6 +21,8 @@ export interface RpcNotification {
21
21
  export interface NotificationSink {
22
22
  /** The TUI's active session at connect time (its hello scope). */
23
23
  sessionId?: string;
24
+ /** Protocol 2 clients use strict session scoping; absent means legacy behavior. */
25
+ protocol?: number;
24
26
  /** Deliver one notification over this sink's live socket. */
25
27
  send: (notification: RpcNotification) => void;
26
28
  }
@@ -30,8 +32,11 @@ export declare function registerNotificationSink(sink: NotificationSink): () =>
30
32
  * also enqueues it so a TUI that is momentarily disconnected (reconnecting, or
31
33
  * not yet connected) still receives it on its next hello via the backlog drain.
32
34
  * At-least-once: a live push that the socket drops is re-delivered from the
33
- * queue on reconnect (pruned only when the client acks via `lastReceivedId`). */
35
+ * queue on reconnect (pruned only when the client acknowledges it). */
34
36
  export declare function pushNotification(type: string, payload: Record<string, unknown>, sessionId?: string): void;
37
+ export declare function acknowledgeNotifications(ids: readonly number[]): void;
38
+ /** Reset process-local state to simulate a fresh server module in protocol tests. */
39
+ export declare function __resetNotificationStateForTests(): void;
35
40
  export interface DrainNotificationsOptions {
36
41
  /**
37
42
  * Cursor for global notifications when a session-scoped client sends separate
@@ -53,8 +58,8 @@ export interface DrainNotificationsOptions {
53
58
  * behavior.
54
59
  *
55
60
  * Delivery is at-least-once (non-destructive return + prune-on-ack): a returned
56
- * notification stays queued until a later call acks it via the matching scope's
57
- * cursor, so a dropped WS socket re-delivers unhandled backlog on reconnect. */
61
+ * notification stays queued until an exact acknowledgement or a legacy cursor
62
+ * removes it, so a dropped WS socket re-delivers unhandled backlog on reconnect. */
58
63
  export declare function drainNotifications(lastReceivedId?: number, sessionId?: string, options?: DrainNotificationsOptions): RpcNotification[];
59
64
  /** Whether a TUI client is connected via a live notification socket.
60
65
  * Now exact socket liveness (a registered WS sink), not a poll-drain timestamp.
@@ -62,8 +67,8 @@ export declare function drainNotifications(lastReceivedId?: number, sessionId?:
62
67
  * Pass `sessionId` (preferred) to ask whether a TUI is connected FOR THAT
63
68
  * SESSION — this is what producers (`/ctx-status`, `/ctx-recomp`, the upgrade
64
69
  * reminder) must use to decide dialog-vs-message, so a TUI on a different
65
- * session in the same process does not misroute their delivery. A session-less
66
- * sink (legacy/global) counts for any session query. Omit `sessionId` only for
67
- * callers with no session context; they get "any sink connected". */
70
+ * session in the same process does not misroute their delivery. A modern
71
+ * session-less sink is global-only; a legacy sink retains broad compatibility.
72
+ * Omit `sessionId` only for callers with no session context. */
68
73
  export declare function isTuiConnected(sessionId?: string): boolean;
69
74
  //# sourceMappingURL=rpc-notifications.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-notifications.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-notifications.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,CAAC;CACjD;AAYD,iFAAiF;AACjF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAK3E;AAcD;;;;kFAIkF;AAClF,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,GACnB,IAAI,CAoCN;AAED,MAAM,WAAW,yBAAyB;IACtC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAMD;;;;;;;;;;;iFAWiF;AACjF,wBAAgB,kBAAkB,CAC9B,cAAc,SAAI,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,yBAA8B,GACxC,eAAe,EAAE,CAqDnB;AAED;;;;;;;;sEAQsE;AACtE,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAO1D"}
1
+ {"version":3,"file":"rpc-notifications.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-notifications.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,CAAC;CACjD;AAYD,iFAAiF;AACjF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAK3E;AAUD;;;;wEAIwE;AACxE,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,GACnB,IAAI,CA+BN;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAMrE;AAED,qFAAqF;AACrF,wBAAgB,gCAAgC,IAAI,IAAI,CAIvD;AAED,MAAM,WAAW,yBAAyB;IACtC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAMD;;;;;;;;;;;qFAWqF;AACrF,wBAAgB,kBAAkB,CAC9B,cAAc,SAAI,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,yBAA8B,GACxC,eAAe,EAAE,CAqDnB;AAED;;;;;;;;iEAQiE;AACjE,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAQ1D"}
@@ -33,8 +33,8 @@ export declare class MagicContextRpcServer {
33
33
  /** HTTP route handler (Bun fetch). Returns a Response, or undefined when the
34
34
  * request was upgraded to a WebSocket. */
35
35
  private handleFetch;
36
- /** WS message handler: hello (auth + sink registration + backlog drain) and
37
- * ack (cursor advance → queue prune). All other messages are ignored. */
36
+ /** WS message handler: hello (auth + sink registration + backlog delivery) and
37
+ * ack (exact removal or legacy cursor pruning). All other messages are ignored. */
38
38
  private handleWsMessage;
39
39
  }
40
40
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-server.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-server.ts"],"names":[],"mappings":"AAqBA,KAAK,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AA0CxF;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,oEAAoE;IACpE,OAAO,CAAC,OAAO,CAAsC;IAMrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAE7C,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKjD,sCAAsC;IACtC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjD,6DAA6D;IACvD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IA6F9B,6EAA6E;IAC7E,IAAI,IAAI,IAAI;IAuBZ,OAAO,CAAC,uBAAuB;IAgB/B;+CAC2C;YAC7B,WAAW;IAyDzB;8EAC0E;IAC1E,OAAO,CAAC,eAAe;CA+F1B"}
1
+ {"version":3,"file":"rpc-server.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-server.ts"],"names":[],"mappings":"AAsBA,KAAK,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AA8CxF;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,oEAAoE;IACpE,OAAO,CAAC,OAAO,CAAsC;IAMrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAE7C,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKjD,sCAAsC;IACtC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjD,6DAA6D;IACvD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IA6F9B,6EAA6E;IAC7E,IAAI,IAAI,IAAI;IAuBZ,OAAO,CAAC,uBAAuB;IAgB/B;+CAC2C;YAC7B,WAAW;IAyDzB;wFACoF;IACpF,OAAO,CAAC,eAAe;CA8H1B"}
@@ -66,6 +66,9 @@ export interface SidebarSnapshot {
66
66
  * scheduler and transform paths.
67
67
  */
68
68
  executeThreshold: number;
69
+ /** Rust module cache boundary state, when the session uses Rust authority mode. */
70
+ boundaryPresent?: boolean;
71
+ coverageOrdinal?: number | null;
69
72
  newWorkTokens?: number | null;
70
73
  totalInputTokens?: number | null;
71
74
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-types.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-types.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/shared/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAMH,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAyHhD,eAAO,MAAM,QAAQ,EAAE,OAAO,aAA4B,CAAC;AAE3D,+DAA+D;AAC/D,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/shared/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAMH,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AA4IhD,eAAO,MAAM,QAAQ,EAAE,OAAO,aAA4B,CAAC;AAE3D,+DAA+D;AAC/D,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC"}
@@ -8,8 +8,10 @@
8
8
  * through setup or doctor.
9
9
  */
10
10
  /**
11
- * Ensure tui.json has the magic-context TUI plugin entry.
12
- * Creates tui.json if it doesn't exist. Silently skips if already present.
11
+ * Ensure the selected TUI config has the magic-context plugin entry.
12
+ * Creates tui.jsonc if neither TUI config exists. Silently skips if already present.
13
13
  */
14
- export declare function ensureTuiPluginEntry(): boolean;
14
+ export declare function ensureTuiPluginEntry(options?: {
15
+ configDir?: string;
16
+ }): boolean;
15
17
  //# sourceMappingURL=tui-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-config.d.ts","sourceRoot":"","sources":["../../src/shared/tui-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyEH;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAqD9C"}
1
+ {"version":3,"file":"tui-config.d.ts","sourceRoot":"","sources":["../../src/shared/tui-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyEH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAqDlF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/tools/ctx-memory/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,qBAAqB,CAAC;AA0ChE,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,SAAS,CAAC;AAitBjB,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAI5F"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/tools/ctx-memory/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,qBAAqB,CAAC;AA2ChE,OAAO,EAKH,KAAK,iBAAiB,EACzB,MAAM,SAAS,CAAC;AA+tBjB,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAI5F"}
@@ -1,4 +1,5 @@
1
1
  import type { MemorySourceType } from "../../features/magic-context/memory";
2
+ import type { RustToolBackends } from "../../plugin/rust-tool-backends";
2
3
  import type { Database } from "../../shared/sqlite";
3
4
  export declare const CTX_MEMORY_ACTIONS: readonly ["write", "archive", "update", "merge"];
4
5
  export declare const CTX_MEMORY_DREAMER_ACTIONS: readonly ["write", "archive", "update", "merge", "list"];
@@ -35,5 +36,6 @@ export interface CtxMemoryToolDeps {
35
36
  embeddingEnabled?: boolean;
36
37
  allowedActions?: CtxMemoryAction[];
37
38
  sourceType?: MemorySourceType;
39
+ rustToolBackends?: RustToolBackends;
38
40
  }
39
41
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/ctx-memory/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAWpD,eAAO,MAAM,kBAAkB,kDAAmD,CAAC;AAEnF,eAAO,MAAM,0BAA0B,0DAA2C,CAAC;AAEnF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E;;;;;;;;;;OAUG;IACH,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/ctx-memory/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAWpD,eAAO,MAAM,kBAAkB,kDAAmD,CAAC;AAEnF,eAAO,MAAM,0BAA0B,0DAA2C,CAAC;AAEnF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E;;;;;;;;;;OAUG;IACH,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACvC"}
@@ -1,9 +1,11 @@
1
1
  import { type ToolDefinition } from "@opencode-ai/plugin";
2
+ import type { RustToolBackends } from "../../plugin/rust-tool-backends";
2
3
  import type { Database } from "../../shared/sqlite";
3
4
  export interface CtxReduceToolDeps {
4
5
  db: Database;
5
6
  protectedTags: number;
6
7
  getSessionTokens?: (sessionId: string) => number;
8
+ rustToolBackends?: RustToolBackends;
7
9
  }
8
10
  export declare function createCtxReduceTools(deps: CtxReduceToolDeps): Record<string, ToolDefinition>;
9
11
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/tools/ctx-reduce/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,qBAAqB,CAAC;AAUhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CACpD;AAuGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAI5F"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/tools/ctx-reduce/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,qBAAqB,CAAC;AAShE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACvC;AAyLD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAI5F"}
@@ -15,8 +15,15 @@ export declare function loadSidebarSnapshot(sessionId: string, directory: string
15
15
  export declare function loadStatusDetail(sessionId: string, directory: string, modelKey?: string): Promise<StatusDetail>;
16
16
  /** Fetch embedding coverage status for `/ctx-embed` via RPC. */
17
17
  export declare function loadEmbedDetail(sessionId: string, directory: string): Promise<EmbedDetail>;
18
- /** Get compartment count via RPC. */
19
- export declare function getCompartmentCount(sessionId: string): Promise<number>;
18
+ export type CompartmentCountResult = {
19
+ ok: true;
20
+ count: number;
21
+ } | {
22
+ ok: false;
23
+ error: string;
24
+ };
25
+ /** Get compartment count without making transport failure look like a real zero. */
26
+ export declare function getCompartmentCount(sessionId: string): Promise<CompartmentCountResult>;
20
27
  /** Send recomp request to server via RPC. */
21
28
  export declare function requestRecomp(sessionId: string): Promise<boolean>;
22
29
  /** Run `/ctx-session-upgrade` for the session (full recomp + once-per-project
@@ -1 +1 @@
1
- {"version":3,"file":"context-db.d.ts","sourceRoot":"","sources":["../../../src/tui/data/context-db.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzF,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAc3D,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;sCACsC;AACtC,wBAAgB,YAAY,IAAI,qBAAqB,GAAG,IAAI,CAE3D;AAED,+BAA+B;AAC/B,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AA2FD,sDAAsD;AACtD,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CA4B1B;AAED,wDAAwD;AACxD,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CA0CvB;AAYD,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAchG;AAED,qCAAqC;AACrC,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ5E;AAED,6CAA6C;AAC7C,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvE;AAED;mFACmF;AACnF,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxE;AAED;;iDAEiD;AACjD,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhF;AAED,gEAAgE;AAChE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ3D;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAkBrE;AAED,wEAAwE;AACxE,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAQtD"}
1
+ {"version":3,"file":"context-db.d.ts","sourceRoot":"","sources":["../../../src/tui/data/context-db.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzF,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAc3D,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;sCACsC;AACtC,wBAAgB,YAAY,IAAI,qBAAqB,GAAG,IAAI,CAE3D;AAED,+BAA+B;AAC/B,wBAAgB,QAAQ,IAAI,IAAI,CAM/B;AAuFD,sDAAsD;AACtD,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CA8B1B;AAED,wDAAwD;AACxD,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CA0CvB;AAYD,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAchG;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG,oFAAoF;AACpF,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAe5F;AAED,6CAA6C;AAC7C,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvE;AAED;mFACmF;AACnF,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQxE;AAED;;iDAEiD;AACjD,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhF;AAED,gEAAgE;AAChE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ3D;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAkBrE;AAED,wEAAwE;AACxE,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAQtD"}
@@ -26,14 +26,13 @@ export interface SocketNotification {
26
26
  interface NotificationSocketOptions {
27
27
  /** Current active session id (re-read cheaply to follow session switches). */
28
28
  getSessionId: () => string | null;
29
- /** Handle one delivered notification. Returns true if it was consumed (so its
30
- * id can advance the ack cursor). Async because dialog handlers await. */
29
+ /** Handle one delivered notification. Returns true only after it is fully
30
+ * consumed and can be acknowledged. Async because dialog handlers await. */
31
31
  onNotification: (notification: SocketNotification) => boolean | Promise<boolean>;
32
32
  }
33
- /** Open the persistent notification socket. Idempotent: a second call while open
34
- * is a no-op. Reconnects on its own after any drop. */
33
+ /** Open the persistent notification socket. Reconnects on its own after a drop. */
35
34
  export declare function startNotificationSocket(options: NotificationSocketOptions): void;
36
- /** Close the socket and stop reconnecting. Call on TUI dispose. */
35
+ /** Close the socket and release all state owned by this TUI initialization. */
37
36
  export declare function stopNotificationSocket(): void;
38
37
  export declare function _resetNotificationSocketStateForTesting(): void;
39
38
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"notification-socket.d.ts","sourceRoot":"","sources":["../../../src/tui/data/notification-socket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,yBAAyB;IAC/B,8EAA8E;IAC9E,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC;+EAC2E;IAC3E,cAAc,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpF;AAkCD;wDACwD;AACxD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAQhF;AAED,mEAAmE;AACnE,wBAAgB,sBAAsB,IAAI,IAAI,CAkB7C;AA6KD,wBAAgB,uCAAuC,IAAI,IAAI,CAM9D"}
1
+ {"version":3,"file":"notification-socket.d.ts","sourceRoot":"","sources":["../../../src/tui/data/notification-socket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,yBAAyB;IAC/B,8EAA8E;IAC9E,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC;iFAC6E;IAC7E,cAAc,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpF;AA6CD,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAOhF;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,IAAI,IAAI,CA+B7C;AAyUD,wBAAgB,uCAAuC,IAAI,IAAI,CAE9D"}