@cortexkit/opencode-magic-context 0.38.0 → 0.39.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 (188) hide show
  1. package/README.md +37 -4
  2. package/dist/{announcement-6c1g4es4.js → announcement-5eg4t64s.js} +6 -6
  3. package/dist/config/index.d.ts.map +1 -1
  4. package/dist/config/project-security.d.ts +11 -6
  5. package/dist/config/project-security.d.ts.map +1 -1
  6. package/dist/config/raw-loader.d.ts +42 -0
  7. package/dist/config/raw-loader.d.ts.map +1 -0
  8. package/dist/config/schema/magic-context.d.ts +586 -551
  9. package/dist/config/schema/magic-context.d.ts.map +1 -1
  10. package/dist/{conflict-warning-hook-an4fxhwf.js → conflict-warning-hook-f406ggbw.js} +5 -5
  11. package/dist/{derive-budgets-da4yg3tz.js → derive-budgets-xk8cy5e6.js} +5 -5
  12. package/dist/{emscripten-module-ap8t3st0.js → emscripten-module-49k43zfy.js} +1 -1
  13. package/dist/{emscripten-module-682pfzaa.js → emscripten-module-ex4v0x4z.js} +1 -1
  14. package/dist/{emscripten-module-r5h7aghp.js → emscripten-module-jfs3d1dq.js} +1 -1
  15. package/dist/{emscripten-module-bkktz927.js → emscripten-module-ss4g4spn.js} +1 -1
  16. package/dist/features/magic-context/dreamer/classify.d.ts +3 -2
  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 +9 -2
  19. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts +4 -2
  21. package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts.map +1 -1
  22. package/dist/features/magic-context/dreamer/map-memories.d.ts +21 -5
  23. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  24. package/dist/features/magic-context/dreamer/refresh-primers.d.ts +3 -2
  25. package/dist/features/magic-context/dreamer/refresh-primers.d.ts.map +1 -1
  26. package/dist/features/magic-context/dreamer/retrospective-orphan-sweep.d.ts +17 -6
  27. package/dist/features/magic-context/dreamer/retrospective-orphan-sweep.d.ts.map +1 -1
  28. package/dist/features/magic-context/dreamer/task-config.d.ts +2 -1
  29. package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -1
  30. package/dist/features/magic-context/dreamer/task-executor.d.ts +0 -1
  31. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  32. package/dist/features/magic-context/dreamer/task-scheduler.d.ts +3 -2
  33. package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
  34. package/dist/features/magic-context/dreamer/verify-prompt.d.ts +5 -2
  35. package/dist/features/magic-context/dreamer/verify-prompt.d.ts.map +1 -1
  36. package/dist/features/magic-context/dreamer/verify.d.ts +6 -3
  37. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  38. package/dist/features/magic-context/memory/storage-memory.d.ts.map +1 -1
  39. package/dist/features/magic-context/memory/types.d.ts +16 -0
  40. package/dist/features/magic-context/memory/types.d.ts.map +1 -1
  41. package/dist/features/magic-context/message-index.d.ts +3 -2
  42. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  43. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  44. package/dist/features/magic-context/mural/compress-cues.d.ts +3 -2
  45. package/dist/features/magic-context/mural/compress-cues.d.ts.map +1 -1
  46. package/dist/features/magic-context/smart-notes/compiler.d.ts +3 -2
  47. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  48. package/dist/features/magic-context/smart-notes/condition-compiler.d.ts +2 -0
  49. package/dist/features/magic-context/smart-notes/condition-compiler.d.ts.map +1 -1
  50. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts.map +1 -1
  51. package/dist/features/magic-context/storage-db.d.ts +1 -1
  52. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  53. package/dist/features/magic-context/storage-embedding-measurements.d.ts +1 -1
  54. package/dist/features/magic-context/storage-embedding-measurements.d.ts.map +1 -1
  55. package/dist/features/magic-context/storage-meta-persisted.d.ts +7 -2
  56. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  57. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  58. package/dist/features/magic-context/storage-meta-shared.d.ts +1 -0
  59. package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
  60. package/dist/features/magic-context/storage-meta.d.ts +1 -1
  61. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  62. package/dist/features/magic-context/storage-session-tables.d.ts +18 -0
  63. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -0
  64. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  65. package/dist/features/magic-context/storage.d.ts +1 -1
  66. package/dist/features/magic-context/storage.d.ts.map +1 -1
  67. package/dist/features/magic-context/tool-definition-tokens.d.ts +10 -0
  68. package/dist/features/magic-context/tool-definition-tokens.d.ts.map +1 -1
  69. package/dist/features/magic-context/transform-decision-log.d.ts +33 -0
  70. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  71. package/dist/features/magic-context/user-memory/review-user-memories.d.ts +3 -2
  72. package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
  73. package/dist/{ffi-d8pnn3mn.js → ffi-bbm9vkfa.js} +1 -1
  74. package/dist/{ffi-04jzypzk.js → ffi-kb5r0x1j.js} +1 -1
  75. package/dist/{ffi-t8b862vx.js → ffi-qnrt0y78.js} +1 -1
  76. package/dist/{ffi-9wvt2wwz.js → ffi-yx2hpf4p.js} +1 -1
  77. package/dist/hooks/magic-context/channel2-delivery.d.ts +3 -1
  78. package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -1
  79. package/dist/hooks/magic-context/command-handler.d.ts +4 -0
  80. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  81. package/dist/hooks/magic-context/compartment-runner-historian.d.ts +4 -1
  82. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  83. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
  84. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  85. package/dist/hooks/magic-context/compartment-runner-types.d.ts +4 -1
  86. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  87. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +14 -2
  88. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -1
  89. package/dist/hooks/magic-context/emergency-fail-closed.d.ts +7 -0
  90. package/dist/hooks/magic-context/emergency-fail-closed.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/empty-task-output.d.ts +16 -0
  92. package/dist/hooks/magic-context/empty-task-output.d.ts.map +1 -0
  93. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  94. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  95. package/dist/hooks/magic-context/inject-compartments.d.ts +18 -1
  96. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  97. package/dist/hooks/magic-context/lkg-persist.d.ts +14 -0
  98. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -0
  99. package/dist/hooks/magic-context/lkg-slot.d.ts +13 -0
  100. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
  101. package/dist/hooks/magic-context/module-state-sync.d.ts +1 -0
  102. package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
  103. package/dist/hooks/magic-context/module-transport.d.ts +12 -0
  104. package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
  105. package/dist/hooks/magic-context/raw-fallback-context-limit.d.ts.map +1 -1
  106. package/dist/hooks/magic-context/recomp-orchestrator.d.ts +4 -1
  107. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  108. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  109. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts +12 -0
  110. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
  111. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +3 -1
  112. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  113. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +8 -0
  114. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  115. package/dist/hooks/magic-context/transform.d.ts +9 -1
  116. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  117. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
  118. package/dist/{index-cae89eas.js → index-1h9t9xb5.js} +2 -2
  119. package/dist/{index-wckvcay0.js → index-1yh8g550.js} +8 -6
  120. package/dist/{index-cgyfn1s2.js → index-2wchnyk6.js} +4 -2
  121. package/dist/{index-2y0ybv5x.js → index-3dkzzh0t.js} +15 -17
  122. package/dist/{index-4cz5nfxf.js → index-btj2qhmc.js} +5 -5
  123. package/dist/index-ehpzdy0v.js +126 -0
  124. package/dist/{index-mmvhrqqb.js → index-k2ts0wk1.js} +6435 -4339
  125. package/dist/{index-9zhhvr4w.js → index-mg1yx1ph.js} +1 -1
  126. package/dist/{index-ayd60xnw.js → index-rgdqj8nj.js} +3 -3
  127. package/dist/{index-ygcng9t8.js → index-rpgg35ms.js} +50 -50
  128. package/dist/index-rw0qrkvq.js +560 -0
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +27158 -24736
  131. package/dist/model-resolution-r9jbcz86.js +15 -0
  132. package/dist/{module-ES6BEMUI-atfbtnbp.js → module-ES6BEMUI-1yjdz59c.js} +4 -4
  133. package/dist/{module-asyncify-2EFITU5U-7xckhw8w.js → module-asyncify-2EFITU5U-fdkx4fhy.js} +1 -1
  134. package/dist/plugin/dream-timer.d.ts +8 -0
  135. package/dist/plugin/dream-timer.d.ts.map +1 -1
  136. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  137. package/dist/plugin/messages-transform.d.ts +14 -6
  138. package/dist/plugin/messages-transform.d.ts.map +1 -1
  139. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  140. package/dist/{prompt-context-jpe2dstn.js → prompt-context-29qkb28f.js} +1 -1
  141. package/dist/{recomp-orchestrator-jsde4ygw.js → recomp-orchestrator-2pncxee7.js} +15 -16
  142. package/dist/{rpc-notifications-4d22ybn5.js → rpc-notifications-1ffm755w.js} +6 -6
  143. package/dist/{safe-notification-target-b693f9x3.js → safe-notification-target-tepzc2xa.js} +3 -3
  144. package/dist/{send-session-notification-dxske5zm.js → send-session-notification-6v5b72b4.js} +7 -7
  145. package/dist/shared/harness-provider-map.d.ts +6 -0
  146. package/dist/shared/harness-provider-map.d.ts.map +1 -1
  147. package/dist/shared/jsonc-edit.d.ts +6 -1
  148. package/dist/shared/jsonc-edit.d.ts.map +1 -1
  149. package/dist/shared/model-resolution.d.ts +53 -0
  150. package/dist/shared/model-resolution.d.ts.map +1 -0
  151. package/dist/shared/model-suggestion-retry.d.ts +4 -1
  152. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  153. package/dist/shared/resolve-fallbacks.d.ts +5 -1
  154. package/dist/shared/resolve-fallbacks.d.ts.map +1 -1
  155. package/dist/shared/status-detail-text.d.ts +4 -0
  156. package/dist/shared/status-detail-text.d.ts.map +1 -0
  157. package/dist/shared/subagent-runner.d.ts +2 -1
  158. package/dist/shared/subagent-runner.d.ts.map +1 -1
  159. package/dist/{storage-meta-session-mk4gsnke.js → storage-meta-session-yvtbaw7c.js} +8 -8
  160. package/dist/{task-config-gbp7r23g.js → task-config-a1qmj9bx.js} +8 -8
  161. package/package.json +4 -2
  162. package/src/config/index.test.ts +73 -17
  163. package/src/config/index.ts +38 -23
  164. package/src/config/project-security.hostile-matrix.test.ts +471 -0
  165. package/src/config/project-security.test.ts +26 -5
  166. package/src/config/project-security.ts +141 -22
  167. package/src/config/raw-loader.test.ts +424 -0
  168. package/src/config/raw-loader.ts +490 -0
  169. package/src/config/schema/magic-context.test.ts +145 -2
  170. package/src/config/schema/magic-context.ts +256 -52
  171. package/src/shared/harness-provider-map.test.ts +36 -0
  172. package/src/shared/harness-provider-map.ts +8 -0
  173. package/src/shared/jsonc-edit.ts +74 -1
  174. package/src/shared/model-resolution.test.ts +170 -0
  175. package/src/shared/model-resolution.ts +227 -0
  176. package/src/shared/model-suggestion-retry.test.ts +27 -0
  177. package/src/shared/model-suggestion-retry.ts +19 -10
  178. package/src/shared/resolve-fallbacks.test.ts +13 -1
  179. package/src/shared/resolve-fallbacks.ts +19 -4
  180. package/src/shared/status-detail-text.test.ts +80 -0
  181. package/src/shared/status-detail-text.ts +56 -0
  182. package/src/shared/subagent-runner.ts +3 -1
  183. package/src/tui/index.tsx +1 -1
  184. package/src/tui/tui-compiled-runtime-imports.test.ts +3 -0
  185. package/src/tui-compiled/index.tsx +1 -1
  186. package/dist/index-crke4z5j.js +0 -3022
  187. package/dist/index-td9depx5.js +0 -46
  188. package/dist/resolve-fallbacks-5n5tvge1.js +0 -11
@@ -0,0 +1,15 @@
1
+ import {
2
+ normalizeModelEntry,
3
+ resolveDreamerTaskModel,
4
+ resolveFallbackEntries,
5
+ resolveHistorianModel,
6
+ resolveOpenCodeAgentOverrides
7
+ } from "./index-ehpzdy0v.js";
8
+ import"./index-1yh8g550.js";
9
+ export {
10
+ normalizeModelEntry,
11
+ resolveDreamerTaskModel,
12
+ resolveFallbackEntries,
13
+ resolveHistorianModel,
14
+ resolveOpenCodeAgentOverrides
15
+ };
@@ -5,10 +5,10 @@ import {
5
5
  applyModuleEvalRuntimeOptions
6
6
  } from "./index-dynqfgx1.js";
7
7
  import"./index-9xexf8s7.js";
8
- import"./index-wckvcay0.js";
8
+ import"./index-1yh8g550.js";
9
9
  export {
10
- applyModuleEvalRuntimeOptions,
11
- applyBaseRuntimeOptions,
10
+ QuickJSModuleCallbacks,
12
11
  QuickJSWASMModule,
13
- QuickJSModuleCallbacks
12
+ applyBaseRuntimeOptions,
13
+ applyModuleEvalRuntimeOptions
14
14
  };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./index-ss632za9.js";
4
4
  import"./index-dynqfgx1.js";
5
5
  import"./index-9xexf8s7.js";
6
- import"./index-wckvcay0.js";
6
+ import"./index-1yh8g550.js";
7
7
  export {
8
8
  QuickJSAsyncWASMModule
9
9
  };
@@ -3,6 +3,7 @@ import type { ClassifyModuleClient } from "../features/magic-context/dreamer/cla
3
3
  import { type RetrospectiveRawProvider } from "../features/magic-context/dreamer/retrospective-raw-provider";
4
4
  import type { DreamTaskName, DreamTaskProgress } from "../features/magic-context/dreamer/task-registry";
5
5
  import type { RawMessageProvider } from "../hooks/magic-context/read-session-chunk";
6
+ import type { ModelHarness } from "../shared/model-resolution";
6
7
  import type { Database } from "../shared/sqlite";
7
8
  import type { PluginContext } from "./types";
8
9
  /**
@@ -14,6 +15,8 @@ import type { PluginContext } from "./types";
14
15
  interface ProjectRegistration {
15
16
  directory: string;
16
17
  projectIdentity: string;
18
+ /** The runtime selecting models for this registration. */
19
+ harness: ModelHarness;
17
20
  client: PluginContext["client"];
18
21
  dreamerConfig?: DreamerConfig;
19
22
  language?: string;
@@ -24,6 +27,11 @@ interface ProjectRegistration {
24
27
  };
25
28
  memoryEnabled?: boolean;
26
29
  memoryInjectionBudgetTokens?: number;
30
+ historianChildSweep?: {
31
+ timeoutMs: number;
32
+ fallbackModelCount: number;
33
+ keepSubagents: boolean;
34
+ };
27
35
  mural?: {
28
36
  enabled: boolean;
29
37
  model?: string;
@@ -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;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AASvF,OAAO,EAEH,KAAK,wBAAwB,EAChC,MAAM,8DAA8D,CAAC;AAOtE,OAAO,KAAK,EACR,aAAa,EACb,iBAAiB,EACpB,MAAM,iDAAiD,CAAC;AA4BzD,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,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,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;IACpE,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,EAAE,aAAa,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAChG,YAAY,CAAC,EAAE,oBAAoB,GAAG;QAClC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;YACrB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;SAChC,KAAK,OAAO,CAAC;YAAE,SAAS,EAAE;gBAAE,KAAK,CAAC,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;KAChF,CAAC;CACL;AAkDD;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CACzC,IAAI,EAAE,mBAAmB,GAC1B,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAoEnC"}
1
+ {"version":3,"file":"dream-timer.d.ts","sourceRoot":"","sources":["../../src/plugin/dream-timer.ts"],"names":[],"mappings":"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"}
@@ -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,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,wBAAwB;;;;;;;;;mBAE3C,CAAC;aAA2B,CAAC;aACtD,CAAC;eAA6B,CAAC;;;;;;;;;;;;;;;;;;;;;;;2BAyF+llB,CAAC;;;;eAA6iB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA7E1rmB;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;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;;;;qBAqE+wJ,CAAC;iBAA2B,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;;;;;;;;qBAArxE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAAyx8D,CAAC;;;;;;;;;EAvC97hE;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;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;;;;qBA+B+wJ,CAAC;iBAA2B,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;;;;;;;;qBAArxE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAAyx8D,CAAC;;;;;;;;;GAD97hE"}
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,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,wBAAwB;;;;;;;;;mBAEP,CAAC;aACtD,CAAC;aAA2B,CAAC;eAM/C,CALC;;;;;;;;;;;;;;;;;;;;;;;2BAwFwizB,CAAC;;;;eAA6iB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA7E3l0B;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;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;;;;qBAqE+wJ,CAAC;iBAA2B,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;;;;;;;;qBAAzqE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAA8ogE,CAAC;;;;;;;;;EAvC/5lE;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;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;;;;;;;;;qBA+B+wJ,CAAC;iBAA2B,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;;;;;;;;qBAAzqE,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAA8ogE,CAAC;;;;;;;;;GAD/5lE"}
@@ -1,4 +1,10 @@
1
1
  import { type FailClosedController } from "../features/magic-context/fail-closed-block";
2
+ export declare const ASSISTANT_TERMINAL_RETRY_MESSAGE = "The conversation ends with a completed assistant response and cannot be resubmitted as-is \u2014 send a new message to continue.";
3
+ export declare class AssistantTerminalRetryError extends Error {
4
+ readonly code = "ASSISTANT_TERMINAL_RETRY";
5
+ readonly recoverable = true;
6
+ constructor();
7
+ }
2
8
  type MessageWithParts = {
3
9
  info: import("@opencode-ai/sdk").Message;
4
10
  parts: import("@opencode-ai/sdk").Part[];
@@ -17,9 +23,10 @@ type MagicContextTransformHooks = {
17
23
  *
18
24
  * Error handling is tiered:
19
25
  *
20
- * - **FailClosedBlockingError / EmergencyFailClosedError / RawFallbackContextLimitError**:
21
- * Intentional loud aborts. Rethrown so the TUI surfaces the message and the turn does not
22
- * silently fall through to native compaction or a provider-rejected raw prompt.
26
+ * - **FailClosedBlockingError / EmergencyFailClosedError / RawFallbackContextLimitError /
27
+ * AssistantTerminalRetryError**: Intentional loud aborts. Rethrown so the TUI surfaces the
28
+ * message and the turn does not silently fall through to native compaction or a
29
+ * provider-rejected raw prompt.
23
30
  *
24
31
  * - **SQLITE_BUSY**: Transient, expected from concurrent plugin processes
25
32
  * (second OpenCode instance, long dreamer/historian child session, slow
@@ -40,10 +47,11 @@ type MagicContextTransformHooks = {
40
47
  *
41
48
  * Ordinary transform failures are not rethrown because OpenCode's Effect pipeline
42
49
  * turns thrown errors into user-visible prompt failures. FailClosedBlockingError,
43
- * EmergencyFailClosedError, and RawFallbackContextLimitError are intentional exceptions.
50
+ * EmergencyFailClosedError, RawFallbackContextLimitError, and AssistantTerminalRetryError
51
+ * are intentional exceptions.
44
52
  * We accept degraded behavior (no injection / no drops this turn) rather than
45
- * blocking the user for ordinary bugs — but deterministic inoperability must
46
- * block loudly when fail_closed_blocking is on.
53
+ * blocking the user for ordinary bugs — but deterministic inoperability and an unsafe
54
+ * assistant-terminal retry must block loudly.
47
55
  *
48
56
  * Correctness is preserved because all persistent state mutations inside
49
57
  * the inner transform are idempotent across passes.
@@ -1 +1 @@
1
- {"version":3,"file":"messages-transform.d.ts","sourceRoot":"","sources":["../../src/plugin/messages-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,oBAAoB,EAI5B,MAAM,6CAA6C,CAAC;AAqBrD,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,KAAK,0BAA0B,GAAG;IAC9B,sCAAsC,CAAC,EAAE,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC5B,MAAM,EAAE,uBAAuB,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,IAAI,CAAC;AAiCT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACjD,YAAY,EAAE,0BAA0B,CAAC;IACzC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,0BAA0B,CAAC;IACnD,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,uBAAuB,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAgMjG"}
1
+ {"version":3,"file":"messages-transform.d.ts","sourceRoot":"","sources":["../../src/plugin/messages-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,oBAAoB,EAI5B,MAAM,6CAA6C,CAAC;AAqBrD,eAAO,MAAM,gCAAgC,qIACoF,CAAC;AAElI,qBAAa,2BAA4B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,QAAQ,CAAC,WAAW,QAAQ;;CAM/B;AAED,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,KAAK,0BAA0B,GAAG;IAC9B,sCAAsC,CAAC,EAAE,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC5B,MAAM,EAAE,uBAAuB,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,IAAI,CAAC;AAwGT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACjD,YAAY,EAAE,0BAA0B,CAAC;IACzC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,0BAA0B,CAAC;IACnD,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,uBAAuB,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsMjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAWzE,OAAO,EACH,KAAK,eAAe,IAAI,QAAQ,EAGnC,MAAM,mCAAmC,CAAC;AAmB3C,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;AACtF,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,+BAA+B,CAAC;AAUvC,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE;QAAE,0BAA0B,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,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,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AA2GD,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,EAChC,iBAAiB,UAAO,GACzB,eAAe,CAsWjB;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,EAChC,iBAAiB,UAAO,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;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,EAChC,iBAAiB,UAAO,GACzB,YAAY,CAiOd;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,CA2PN"}
1
+ {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAWzE,OAAO,EACH,KAAK,eAAe,IAAI,QAAQ,EAGnC,MAAM,mCAAmC,CAAC;AAmB3C,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;AACtF,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,+BAA+B,CAAC;AAUvC,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE;QAAE,0BAA0B,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,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,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AA2GD,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,EAChC,iBAAiB,UAAO,GACzB,eAAe,CAsWjB;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,EAChC,iBAAiB,UAAO,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;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,EAChC,iBAAiB,UAAO,GACzB,YAAY,CAiOd;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,CA6PN"}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolvePromptContext
3
3
  } from "./index-szf8w1p5.js";
4
- import"./index-wckvcay0.js";
4
+ import"./index-1yh8g550.js";
5
5
  export {
6
6
  resolvePromptContext
7
7
  };
@@ -9,27 +9,26 @@ import {
9
9
  setRecompNote,
10
10
  setRecompStarting,
11
11
  setRecompTerminal
12
- } from "./index-mmvhrqqb.js";
13
- import"./index-9zhhvr4w.js";
14
- import"./index-td9depx5.js";
15
- import"./index-4cz5nfxf.js";
16
- import"./index-crke4z5j.js";
17
- import"./index-cgyfn1s2.js";
12
+ } from "./index-k2ts0wk1.js";
13
+ import"./index-mg1yx1ph.js";
14
+ import"./index-btj2qhmc.js";
15
+ import"./index-rw0qrkvq.js";
16
+ import"./index-2wchnyk6.js";
18
17
  import"./index-sw8gnq34.js";
19
18
  import"./index-8mtsfhyg.js";
20
19
  import"./index-d62ypazr.js";
21
20
  import"./index-8pqfcghm.js";
22
21
  import"./index-mmrhhk9a.js";
23
- import"./index-wckvcay0.js";
22
+ import"./index-1yh8g550.js";
24
23
  export {
25
- setRecompTerminal,
26
- setRecompStarting,
27
- setRecompNote,
28
- runManagedUpgrade,
29
- runManagedRecomp,
30
- isRecompSkip,
31
- isRecompFailure,
32
- isRecompComplete,
24
+ contextualizeUpgradeReason,
33
25
  extractRecompReason,
34
- contextualizeUpgradeReason
26
+ isRecompComplete,
27
+ isRecompFailure,
28
+ isRecompSkip,
29
+ runManagedRecomp,
30
+ runManagedUpgrade,
31
+ setRecompNote,
32
+ setRecompStarting,
33
+ setRecompTerminal
35
34
  };
@@ -6,12 +6,12 @@ import {
6
6
  pushNotification,
7
7
  registerNotificationSink
8
8
  } from "./index-d62ypazr.js";
9
- import"./index-wckvcay0.js";
9
+ import"./index-1yh8g550.js";
10
10
  export {
11
- registerNotificationSink,
12
- pushNotification,
13
- isTuiConnected,
14
- drainNotifications,
11
+ __resetNotificationStateForTests,
15
12
  acknowledgeNotifications,
16
- __resetNotificationStateForTests
13
+ drainNotifications,
14
+ isTuiConnected,
15
+ pushNotification,
16
+ registerNotificationSink
17
17
  };
@@ -4,8 +4,8 @@ import {
4
4
  } from "./index-pck9vadr.js";
5
5
  import"./index-8pqfcghm.js";
6
6
  import"./index-mmrhhk9a.js";
7
- import"./index-wckvcay0.js";
7
+ import"./index-1yh8g550.js";
8
8
  export {
9
- waitForSafeNotificationTarget,
10
- isDefaultSessionTitle
9
+ isDefaultSessionTitle,
10
+ waitForSafeNotificationTarget
11
11
  };
@@ -5,16 +5,16 @@ import {
5
5
  flushIgnoredMessages,
6
6
  sendIgnoredMessage,
7
7
  sendUserPrompt
8
- } from "./index-4cz5nfxf.js";
8
+ } from "./index-btj2qhmc.js";
9
9
  import"./index-sw8gnq34.js";
10
10
  import"./index-8pqfcghm.js";
11
11
  import"./index-mmrhhk9a.js";
12
- import"./index-wckvcay0.js";
12
+ import"./index-1yh8g550.js";
13
13
  export {
14
- sendUserPrompt,
15
- sendIgnoredMessage,
16
- flushIgnoredMessages,
17
- clearIgnoredMessages,
14
+ MAX_QUEUED_IGNORED_NOTIFICATIONS,
18
15
  __ignoredNotificationTest,
19
- MAX_QUEUED_IGNORED_NOTIFICATIONS
16
+ clearIgnoredMessages,
17
+ flushIgnoredMessages,
18
+ sendIgnoredMessage,
19
+ sendUserPrompt
20
20
  };
@@ -16,6 +16,12 @@
16
16
  * their exported functions remain distinct deliberately. A future OMP catalog
17
17
  * rename must not silently change plain-Pi behavior (or vice versa).
18
18
  *
19
+ * The OpenCode Zen gateway is the one place the two harnesses diverge: OpenCode
20
+ * and plain Pi both name it `opencode`, while OMP exposes the same gateway as
21
+ * `opencode-zen`. Only the OMP map carries that pair; plain Pi keeps `opencode`
22
+ * as an identity. `opencode-go` is a distinct gateway (the "go" variant at
23
+ * opencode.ai/zen/go) and stays unmapped on both harnesses.
24
+ *
19
25
  * The mapping is intentionally not a one-to-one provider identity. Both
20
26
  * harnesses also expose plain `openai` and `google` providers for direct API
21
27
  * keys, while the canonical prefix does not record whether a subscription or
@@ -1 +1 @@
1
- {"version":3,"file":"harness-provider-map.d.ts","sourceRoot":"","sources":["../../src/shared/harness-provider-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAoCH;+EAC+E;AAC/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;mFAEmF;AACnF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAUzD;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD"}
1
+ {"version":3,"file":"harness-provider-map.d.ts","sourceRoot":"","sources":["../../src/shared/harness-provider-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAsCH;+EAC+E;AAC/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;mFAEmF;AACnF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAUzD;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -1,10 +1,15 @@
1
- import { type JSONPath } from "jsonc-parser";
1
+ import { type JSONPath } from "jsonc-parser/lib/esm/main.js";
2
2
  /**
3
3
  * Replace one JSONC value without reserializing the rest of the document. New
4
4
  * paths use jsonc-parser's structural edit so the original document remains
5
5
  * untouched outside the inserted property.
6
6
  */
7
7
  export declare function setJsoncValue(text: string, path: JSONPath, value: unknown): string;
8
+ /**
9
+ * Delete an object property without reserializing sibling fields. Comments are
10
+ * retained as JSONC trivia so key migrations do not erase a user's notes.
11
+ */
12
+ export declare function removeJsoncValue(text: string, path: JSONPath): string;
8
13
  /**
9
14
  * Remove matching array entries while retaining the exact bytes for survivor
10
15
  * comments and surrounding JSONC regions.
@@ -1 +1 @@
1
- {"version":3,"file":"jsonc-edit.d.ts","sourceRoot":"","sources":["../../src/shared/jsonc-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,QAAQ,EAKhB,MAAM,cAAc,CAAC;AAoOtB;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CASlF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAiBpC;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAY9F"}
1
+ {"version":3,"file":"jsonc-edit.d.ts","sourceRoot":"","sources":["../../src/shared/jsonc-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,QAAQ,EAKhB,MAAM,8BAA8B,CAAC;AA2OtC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CASlF;AAwDD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAiBpC;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAY9F"}
@@ -0,0 +1,53 @@
1
+ export type ModelHarness = "opencode" | "pi";
2
+ export interface ResolvedModelEntry {
3
+ /** Canonical provider/model reference used for identity and model selection. */
4
+ model: string;
5
+ /** OpenCode variant or Pi thinking level, selected for the active entry only. */
6
+ qualifier?: string;
7
+ }
8
+ export type ModelInput = string | ResolvedModelEntry;
9
+ /**
10
+ * Collapses the string and object spellings of a harness model entry into the
11
+ * same model identity. Qualifiers stay separate because they alter an attempt,
12
+ * not the configured model identity.
13
+ */
14
+ export declare function normalizeModelEntry(entry: unknown, harness: ModelHarness): ResolvedModelEntry | undefined;
15
+ /**
16
+ * Resolves a configured fallback list in declaration order. Attempts are
17
+ * deduplicated by model plus qualifier: the same model with distinct
18
+ * qualifiers remains two intentional attempts.
19
+ */
20
+ export declare function resolveFallbackEntries(value: unknown, harness: ModelHarness): ResolvedModelEntry[];
21
+ export interface ResolvedHistorianModel {
22
+ primary?: ResolvedModelEntry;
23
+ fallbacks: ResolvedModelEntry[];
24
+ }
25
+ /**
26
+ * Resolve historian model attempts from exactly one harness block. Flat keys
27
+ * and the other harness are deliberately never consulted after cutover.
28
+ */
29
+ export declare function resolveHistorianModel(config: unknown, harness: ModelHarness): ResolvedHistorianModel;
30
+ export interface ResolvedDreamerTaskModel {
31
+ primary?: ResolvedModelEntry;
32
+ fallbacks: ResolvedModelEntry[];
33
+ schedule?: string;
34
+ timeoutMinutes?: number;
35
+ promotionThreshold?: number;
36
+ }
37
+ /**
38
+ * Resolve a dreamer task from one harness subtree. Model selection is task →
39
+ * harness default, except compress-cues inserts its harness-independent mural
40
+ * string between those two rungs. Scheduling remains at dreamer.tasks.<task>.
41
+ */
42
+ export declare function resolveDreamerTaskModel(args: {
43
+ config: unknown;
44
+ harness: ModelHarness;
45
+ task: string;
46
+ muralModel?: unknown;
47
+ }): ResolvedDreamerTaskModel;
48
+ /**
49
+ * Keep non-model agent settings at their original level while replacing only
50
+ * OpenCode's model-resolution fields with the executing harness's primary.
51
+ */
52
+ export declare function resolveOpenCodeAgentOverrides(agent: unknown): Record<string, unknown>;
53
+ //# sourceMappingURL=model-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../../src/shared/model-resolution.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IAC/B,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,kBAAkB,CAAC;AAoBrD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,YAAY,GACtB,kBAAkB,GAAG,SAAS,CAehC;AAWD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,YAAY,GACtB,kBAAkB,EAAE,CAUtB;AAaD,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,YAAY,GACtB,sBAAsB,CAaxB;AAED,MAAM,WAAW,wBAAwB;IACrC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,wBAAwB,CA0D3B;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBrF"}
@@ -1,10 +1,13 @@
1
1
  import type { createOpencodeClient } from "@opencode-ai/sdk";
2
+ import type { ModelInput } from "./model-resolution";
2
3
  type Client = ReturnType<typeof createOpencodeClient>;
3
4
  export type PromptBody = {
4
5
  model?: {
5
6
  providerID: string;
6
7
  modelID: string;
7
8
  };
9
+ /** OpenCode variant; Pi's facade also uses it as the active thinking level. */
10
+ variant?: string;
8
11
  [key: string]: unknown;
9
12
  };
10
13
  export type PromptArgs = {
@@ -49,7 +52,7 @@ export interface PromptRetryOptions {
49
52
  * - On all-failed, the LAST error is thrown (matches legacy behavior when
50
53
  * `fallbackModels` is empty).
51
54
  */
52
- fallbackModels?: readonly string[];
55
+ fallbackModels?: readonly ModelInput[];
53
56
  /**
54
57
  * Identifier for structured logging (e.g. "dreamer:consolidate",
55
58
  * "historian", "compressor", "sidekick"). Helps correlate fallback
@@ -1 +1 @@
1
- {"version":3,"file":"model-suggestion-retry.d.ts","sourceRoot":"","sources":["../../src/shared/model-suggestion-retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAM7D,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAOtD,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAWF,MAAM,WAAW,iBAAiB;IAC9B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAE,SAAQ,kBAAkB;IACxF;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF;;;OAGG;IACH,cAAc,EAAE,CACZ,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,iBAAiB,KACzB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B,CAAC,OAAO,EAAE,UAAU;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACtB;AAiBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CA4C/E;AAuKD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kCAAkC,CACpD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,kBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CAqFf;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAsB,kCAAkC,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,EAClF,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,GAC1D,OAAO,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAqG1D"}
1
+ {"version":3,"file":"model-suggestion-retry.d.ts","sourceRoot":"","sources":["../../src/shared/model-suggestion-retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAOtD,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAWF,MAAM,WAAW,iBAAiB;IAC9B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAE,SAAQ,kBAAkB;IACxF;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF;;;OAGG;IACH,cAAc,EAAE,CACZ,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,iBAAiB,KACzB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B,CAAC,OAAO,EAAE,UAAU;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACtB;AAiBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CA4C/E;AAuKD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kCAAkC,CACpD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,kBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CAwFf;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAsB,kCAAkC,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,EAClF,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,GAC1D,OAAO,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAwG1D"}
@@ -1,3 +1,4 @@
1
+ import type { ModelInput, ResolvedModelEntry } from "./model-resolution";
1
2
  /**
2
3
  * Resolve the fallback model list to attempt for a hidden-agent (historian /
3
4
  * dreamer / sidekick) call when its configured primary fails.
@@ -35,10 +36,13 @@ export declare function parseProviderModel(spec: string): {
35
36
  * unparseable (the session falls back to its default model). Spread into a
36
37
  * `client.session.prompt` body.
37
38
  */
38
- export declare function modelBodyField(spec: string | undefined): {
39
+ export declare function modelBodyField(spec: ModelInput | undefined): {
39
40
  model?: {
40
41
  providerID: string;
41
42
  modelID: string;
42
43
  };
44
+ variant?: string;
43
45
  };
46
+ /** Convert legacy string call sites and resolved entries into one active attempt shape. */
47
+ export declare function toModelEntry(spec: ModelInput | undefined): ResolvedModelEntry | undefined;
44
48
  //# sourceMappingURL=resolve-fallbacks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-fallbacks.d.ts","sourceRoot":"","sources":["../../src/shared/resolve-fallbacks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAChC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,GACtD,MAAM,EAAE,CAGV;AA2BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO/F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG;IACtD,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD,CAIA"}
1
+ {"version":3,"file":"resolve-fallbacks.d.ts","sourceRoot":"","sources":["../../src/shared/resolve-fallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAChC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,GACtD,MAAM,EAAE,CAGV;AA2BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO/F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG;IAC1D,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAOA;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAMzF"}
@@ -0,0 +1,4 @@
1
+ import type { StatusDetail } from "./rpc-types";
2
+ /** Render the same StatusDetail payload that powers the TUI dialog for chat-only clients. */
3
+ export declare function formatStatusDetailMarkdown(detail: StatusDetail): string;
4
+ //# sourceMappingURL=status-detail-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-detail-text.d.ts","sourceRoot":"","sources":["../../src/shared/status-detail-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAahD,6FAA6F;AAC7F,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAyCvE"}
@@ -28,6 +28,7 @@
28
28
  * OpenCode keeps its existing direct `client.session.*` calls untouched —
29
29
  * the runner contract is purely additive on the OpenCode side.
30
30
  */
31
+ import type { ModelInput } from "./model-resolution";
31
32
  /**
32
33
  * Configuration for one subagent invocation.
33
34
  *
@@ -62,7 +63,7 @@ export interface SubagentRunOptions {
62
63
  systemPrompt: string;
63
64
  userMessage: string;
64
65
  model?: string | undefined;
65
- fallbackModels?: readonly string[];
66
+ fallbackModels?: readonly ModelInput[];
66
67
  timeoutMs?: number | undefined;
67
68
  cwd?: string | undefined;
68
69
  signal?: AbortSignal | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-runner.d.ts","sourceRoot":"","sources":["../../src/shared/subagent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-runner.d.ts","sourceRoot":"","sources":["../../src/shared/subagent-runner.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,17 @@ import {
5
5
  markSessionCleanupPending,
6
6
  retryPendingSessionCleanups,
7
7
  updateSessionMeta
8
- } from "./index-crke4z5j.js";
9
- import"./index-cgyfn1s2.js";
8
+ } from "./index-rw0qrkvq.js";
9
+ import"./index-2wchnyk6.js";
10
10
  import"./index-sw8gnq34.js";
11
11
  import"./index-8pqfcghm.js";
12
12
  import"./index-mmrhhk9a.js";
13
- import"./index-wckvcay0.js";
13
+ import"./index-1yh8g550.js";
14
14
  export {
15
- updateSessionMeta,
16
- retryPendingSessionCleanups,
17
- markSessionCleanupPending,
18
- getOrCreateSessionMeta,
15
+ advanceToolReclaimWatermark,
19
16
  clearSession,
20
- advanceToolReclaimWatermark
17
+ getOrCreateSessionMeta,
18
+ markSessionCleanupPending,
19
+ retryPendingSessionCleanups,
20
+ updateSessionMeta
21
21
  };
@@ -5,14 +5,14 @@ import {
5
5
  summarizeDreamSchedule,
6
6
  userMemoryCollectionEnabled,
7
7
  userMemoryPromotionThreshold
8
- } from "./index-2y0ybv5x.js";
9
- import"./index-td9depx5.js";
10
- import"./index-wckvcay0.js";
8
+ } from "./index-3dkzzh0t.js";
9
+ import"./index-ehpzdy0v.js";
10
+ import"./index-1yh8g550.js";
11
11
  export {
12
- userMemoryPromotionThreshold,
13
- userMemoryCollectionEnabled,
14
- summarizeDreamSchedule,
15
- enabledDreamTasks,
12
+ buildDreamTaskRuntimeConfigs,
16
13
  dreamTaskScheduled,
17
- buildDreamTaskRuntimeConfigs
14
+ enabledDreamTasks,
15
+ summarizeDreamSchedule,
16
+ userMemoryCollectionEnabled,
17
+ userMemoryPromotionThreshold
18
18
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexkit/opencode-magic-context",
3
- "version": "0.38.0",
3
+ "version": "0.39.0",
4
4
  "type": "module",
5
5
  "description": "OpenCode plugin for Magic Context — cross-session memory and context management",
6
6
  "main": "dist/index.js",
@@ -39,7 +39,9 @@
39
39
  "build:tui": "bun scripts/build-tui.ts",
40
40
  "check:tui-compiled": "bun run build:tui && git diff --exit-code -- src/tui-compiled && test -z \"$(git status --porcelain -- src/tui-compiled)\"",
41
41
  "typecheck": "tsc -p ../retina-local-fs/tsconfig.build.json && tsc --noEmit && tsc -p tsconfig.scripts.json",
42
- "test": "bun test",
42
+ "test": "bun install --frozen-lockfile && bun test --parallel --timeout 30000",
43
+ "test:serial": "bun install --frozen-lockfile && bun test --timeout 30000",
44
+ "test:parallel:probe": "bun scripts/verify-parallel-db-isolation.ts",
43
45
  "lint": "biome check .",
44
46
  "lint:fix": "biome check --write .",
45
47
  "format": "biome format --write .",