@cortexkit/opencode-magic-context 0.44.0 → 0.44.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 (237) hide show
  1. package/README.md +6 -0
  2. package/dist/agents/dreamer.d.ts +4 -6
  3. package/dist/agents/dreamer.d.ts.map +1 -1
  4. package/dist/agents/magic-context-prompt.d.ts +2 -0
  5. package/dist/agents/magic-context-prompt.d.ts.map +1 -1
  6. package/dist/{announcement-1a8bvswd.js → announcement-n8hs7kjw.js} +2 -2
  7. package/dist/config/live-child-output-cap.d.ts +18 -0
  8. package/dist/config/live-child-output-cap.d.ts.map +1 -0
  9. package/dist/config/schema/magic-context.d.ts +64 -11
  10. package/dist/config/schema/magic-context.d.ts.map +1 -1
  11. package/dist/{conflict-warning-hook-48f7np9d.js → conflict-warning-hook-1msyvb51.js} +6 -6
  12. package/dist/{derive-budgets-8kgevxmx.js → derive-budgets-gd2270s0.js} +3 -3
  13. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  14. package/dist/features/magic-context/compartment-chunk-embedding.d.ts +11 -0
  15. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  16. package/dist/features/magic-context/compartment-storage.d.ts.map +1 -1
  17. package/dist/features/magic-context/dreamer/docs-proposals.d.ts +2 -0
  18. package/dist/features/magic-context/dreamer/docs-proposals.d.ts.map +1 -1
  19. package/dist/features/magic-context/dreamer/manual-summary.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/map-memories-prompt.d.ts +1 -1
  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 +5 -0
  23. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  24. package/dist/features/magic-context/dreamer/open-opencode-db.d.ts +2 -0
  25. package/dist/features/magic-context/dreamer/open-opencode-db.d.ts.map +1 -1
  26. package/dist/features/magic-context/dreamer/primer-seed.d.ts +11 -5
  27. package/dist/features/magic-context/dreamer/primer-seed.d.ts.map +1 -1
  28. package/dist/features/magic-context/dreamer/refresh-primers.d.ts +7 -2
  29. package/dist/features/magic-context/dreamer/refresh-primers.d.ts.map +1 -1
  30. package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts +2 -2
  31. package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts.map +1 -1
  32. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +8 -1
  33. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
  34. package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -1
  35. package/dist/features/magic-context/dreamer/task-executor.d.ts +5 -0
  36. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  37. package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
  38. package/dist/features/magic-context/dreamer/task-prompts.d.ts +18 -2
  39. package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
  40. package/dist/features/magic-context/dreamer/task-registry.d.ts +12 -0
  41. package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
  42. package/dist/features/magic-context/dreamer/task-scheduler.d.ts +3 -1
  43. package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
  44. package/dist/features/magic-context/dreamer/token-budget.d.ts +33 -0
  45. package/dist/features/magic-context/dreamer/token-budget.d.ts.map +1 -0
  46. package/dist/features/magic-context/dreamer/verify-diff.d.ts +15 -0
  47. package/dist/features/magic-context/dreamer/verify-diff.d.ts.map +1 -0
  48. package/dist/features/magic-context/dreamer/verify-gate.d.ts.map +1 -1
  49. package/dist/features/magic-context/dreamer/verify-prompt.d.ts +5 -2
  50. package/dist/features/magic-context/dreamer/verify-prompt.d.ts.map +1 -1
  51. package/dist/features/magic-context/dreamer/verify-read-cap.d.ts +4 -0
  52. package/dist/features/magic-context/dreamer/verify-read-cap.d.ts.map +1 -0
  53. package/dist/features/magic-context/dreamer/verify.d.ts +5 -0
  54. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  55. package/dist/features/magic-context/git-commits/git-log-reader.d.ts.map +1 -1
  56. package/dist/features/magic-context/memory/project-identity-cache.d.ts +6 -0
  57. package/dist/features/magic-context/memory/project-identity-cache.d.ts.map +1 -0
  58. package/dist/features/magic-context/memory/project-identity.d.ts +15 -22
  59. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  60. package/dist/features/magic-context/memory/storage-memory-fts.d.ts +1 -0
  61. package/dist/features/magic-context/memory/storage-memory-fts.d.ts.map +1 -1
  62. package/dist/features/magic-context/memory/verification-paths.d.ts +1 -0
  63. package/dist/features/magic-context/memory/verification-paths.d.ts.map +1 -1
  64. package/dist/features/magic-context/mural/mural-font.generated.d.ts.map +1 -1
  65. package/dist/features/magic-context/project-embedding-registry.d.ts +5 -0
  66. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  67. package/dist/features/magic-context/search.d.ts.map +1 -1
  68. package/dist/features/magic-context/session-activity.d.ts +10 -0
  69. package/dist/features/magic-context/session-activity.d.ts.map +1 -0
  70. package/dist/features/magic-context/session-cache-ttl.d.ts +10 -0
  71. package/dist/features/magic-context/session-cache-ttl.d.ts.map +1 -0
  72. package/dist/features/magic-context/session-project-backfill.d.ts +4 -1
  73. package/dist/features/magic-context/session-project-backfill.d.ts.map +1 -1
  74. package/dist/features/magic-context/smart-notes/compiler.d.ts +5 -0
  75. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  76. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts +1 -0
  77. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts.map +1 -1
  78. package/dist/features/magic-context/smart-notes/storage.d.ts +1 -1
  79. package/dist/features/magic-context/smart-notes/storage.d.ts.map +1 -1
  80. package/dist/features/magic-context/smart-notes/types.d.ts +2 -0
  81. package/dist/features/magic-context/smart-notes/types.d.ts.map +1 -1
  82. package/dist/features/magic-context/storage-db.d.ts +2 -1
  83. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  84. package/dist/features/magic-context/storage-identity-merge.d.ts +4 -1
  85. package/dist/features/magic-context/storage-identity-merge.d.ts.map +1 -1
  86. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  87. package/dist/features/magic-context/v22-deferred-backfill.d.ts.map +1 -1
  88. package/dist/hooks/auto-update-checker/checker.d.ts.map +1 -1
  89. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  90. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  92. package/dist/hooks/magic-context/compartment-runner.d.ts +1 -0
  93. package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
  94. package/dist/hooks/magic-context/dropped-input-guard.d.ts.map +1 -1
  95. package/dist/hooks/magic-context/embed-session-state.d.ts +3 -0
  96. package/dist/hooks/magic-context/embed-session-state.d.ts.map +1 -1
  97. package/dist/hooks/magic-context/event-handler.d.ts +1 -0
  98. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  99. package/dist/hooks/magic-context/event-payloads.d.ts +1 -0
  100. package/dist/hooks/magic-context/event-payloads.d.ts.map +1 -1
  101. package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
  102. package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
  103. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  104. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  105. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  106. package/dist/hooks/magic-context/lkg-replay.d.ts +6 -4
  107. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  108. package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
  109. package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
  110. package/dist/hooks/magic-context/opencode-v1-store-fixture.d.ts +12 -0
  111. package/dist/hooks/magic-context/opencode-v1-store-fixture.d.ts.map +1 -0
  112. package/dist/hooks/magic-context/read-session-chunk.d.ts +16 -0
  113. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  114. package/dist/hooks/magic-context/read-session-db.d.ts +5 -1
  115. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  116. package/dist/hooks/magic-context/read-session-raw.d.ts +10 -0
  117. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  118. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  119. package/dist/hooks/magic-context/storage-busy-refusal.d.ts +7 -0
  120. package/dist/hooks/magic-context/storage-busy-refusal.d.ts.map +1 -0
  121. package/dist/hooks/magic-context/strip-content.d.ts +1 -0
  122. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  123. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  124. package/dist/hooks/magic-context/transform.d.ts +1 -0
  125. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  126. package/dist/{index-5f4qsnaq.js → index-18tjha8g.js} +2 -2
  127. package/dist/{index-4b30nf6z.js → index-32b096cc.js} +1 -1
  128. package/dist/{index-tjq5jztd.js → index-3bygzk2d.js} +1 -1
  129. package/dist/{index-cj5qe2nw.js → index-3x9caerx.js} +8 -6
  130. package/dist/index-40s1xz22.js +125 -0
  131. package/dist/{index-pye48m79.js → index-egkfvhms.js} +130 -42
  132. package/dist/{index-2zf5fv89.js → index-esxfcz5z.js} +171 -12
  133. package/dist/index-gtzcmv90.js +7260 -0
  134. package/dist/{index-6w9p73jz.js → index-jqcbs2k1.js} +10 -0
  135. package/dist/{index-v6wsttqt.js → index-kr5qehbd.js} +1 -1
  136. package/dist/{index-dx0xnd4q.js → index-kwe03yde.js} +1 -1
  137. package/dist/{index-c906f3ff.js → index-r9vkp4n9.js} +4 -4
  138. package/dist/{index-6z9g64js.js → index-s70wtd8k.js} +4 -1
  139. package/dist/{index-01ft0h3p.js → index-stb5fg12.js} +2 -2
  140. package/dist/{index-rdey8znw.js → index-ttdn47aq.js} +35260 -32540
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js +15123 -23504
  143. package/dist/{message-time-backfill-rm9wmcem.js → message-time-backfill-q374fxc5.js} +3 -3
  144. package/dist/plugin/dream-timer.d.ts.map +1 -1
  145. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  146. package/dist/plugin/messages-transform.d.ts +10 -9
  147. package/dist/plugin/messages-transform.d.ts.map +1 -1
  148. package/dist/plugin/rpc-handlers.d.ts +1 -0
  149. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  150. package/dist/{read-session-chunk-ktz5zt70.js → read-session-chunk-wmvgnd24.js} +6 -4
  151. package/dist/{recomp-orchestrator-ahekzt0s.js → recomp-orchestrator-rk40ff15.js} +10 -9
  152. package/dist/{safe-notification-target-6w0esgd6.js → safe-notification-target-50gm9c58.js} +3 -3
  153. package/dist/{send-session-notification-w7xbnrsm.js → send-session-notification-6xsrcxnp.js} +5 -5
  154. package/dist/shared/cache-ttl-display.d.ts +3 -1
  155. package/dist/shared/cache-ttl-display.d.ts.map +1 -1
  156. package/dist/shared/harness.d.ts +11 -0
  157. package/dist/shared/harness.d.ts.map +1 -1
  158. package/dist/shared/model-cache-ttl.d.ts +9 -0
  159. package/dist/shared/model-cache-ttl.d.ts.map +1 -0
  160. package/dist/shared/model-suggestion-retry.d.ts +1 -1
  161. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  162. package/dist/shared/prompt-async-transport.d.ts +7 -7
  163. package/dist/shared/prompt-async-transport.d.ts.map +1 -1
  164. package/dist/shared/rpc-server.d.ts.map +1 -1
  165. package/dist/shared/rpc-types.d.ts +1 -1
  166. package/dist/shared/rpc-types.d.ts.map +1 -1
  167. package/dist/shared/rpc-utils.d.ts +21 -0
  168. package/dist/shared/rpc-utils.d.ts.map +1 -1
  169. package/dist/shared/sqlite-write-locker-test-support.d.ts.map +1 -1
  170. package/dist/shared/sqlite.d.ts +12 -0
  171. package/dist/shared/sqlite.d.ts.map +1 -1
  172. package/dist/shared/status-view.d.ts +1 -1
  173. package/dist/shared/status-view.d.ts.map +1 -1
  174. package/dist/shared/subagent-runner.d.ts +3 -1
  175. package/dist/shared/subagent-runner.d.ts.map +1 -1
  176. package/dist/shared/user-facing-codes.d.ts +5 -0
  177. package/dist/shared/user-facing-codes.d.ts.map +1 -1
  178. package/dist/{task-config-mgf5nsh3.js → task-config-2bm68628.js} +1 -1
  179. package/dist/tools/ctx-expand/render.d.ts.map +1 -1
  180. package/dist/transform-postprocess-phase-t7xgdhdf.js +36 -0
  181. package/dist/v2/hidden-completion.d.ts +2 -0
  182. package/dist/v2/hidden-completion.d.ts.map +1 -1
  183. package/dist/v2/hooks/context.d.ts.map +1 -1
  184. package/dist/v2/hooks/hidden-child.d.ts +1 -0
  185. package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
  186. package/dist/v2/hooks/lkg-system.d.ts +11 -0
  187. package/dist/v2/hooks/lkg-system.d.ts.map +1 -0
  188. package/dist/v2/hooks/session-project-backfill.d.ts +1 -1
  189. package/dist/v2/hooks/session-project-backfill.d.ts.map +1 -1
  190. package/dist/v2/hooks/storage-gate.d.ts +11 -5
  191. package/dist/v2/hooks/storage-gate.d.ts.map +1 -1
  192. package/dist/v2/host-service.d.ts +2 -1
  193. package/dist/v2/host-service.d.ts.map +1 -1
  194. package/dist/v2/server.js +95347 -93236
  195. package/dist/v2/store-reader.d.ts +2 -0
  196. package/dist/v2/store-reader.d.ts.map +1 -1
  197. package/dist/wrapup-orchestrator-h8tr10c6.js +19 -0
  198. package/package.json +1 -1
  199. package/src/agents/dreamer.ts +4 -6
  200. package/src/agents/hidden-agent-registrations.ts +3 -3
  201. package/src/agents/magic-context-prompt.test.ts +125 -0
  202. package/src/agents/magic-context-prompt.ts +12 -7
  203. package/src/agents/permissions.test.ts +3 -4
  204. package/src/config/latch-permanence-guard.test.ts +9 -0
  205. package/src/config/live-child-output-cap.test.ts +101 -0
  206. package/src/config/live-child-output-cap.ts +74 -0
  207. package/src/config/live-run-config.test.ts +24 -11
  208. package/src/config/schema/magic-context.test.ts +16 -1
  209. package/src/config/schema/magic-context.ts +27 -10
  210. package/src/features/magic-context/dreamer/task-registry.ts +13 -0
  211. package/src/shared/cache-ttl-display.ts +14 -20
  212. package/src/shared/harness.ts +14 -0
  213. package/src/shared/logger.test.ts +1 -0
  214. package/src/shared/model-cache-ttl.test.ts +40 -0
  215. package/src/shared/model-cache-ttl.ts +58 -0
  216. package/src/shared/model-suggestion-retry.ts +9 -2
  217. package/src/shared/prompt-async-transport.test.ts +254 -1
  218. package/src/shared/prompt-async-transport.ts +153 -44
  219. package/src/shared/prompt-surface-a1-golden.md +13 -13
  220. package/src/shared/rpc-async-probes.test.ts +230 -0
  221. package/src/shared/rpc-server.ts +6 -4
  222. package/src/shared/rpc-types.ts +1 -1
  223. package/src/shared/rpc-utils.test.ts +27 -1
  224. package/src/shared/rpc-utils.ts +161 -9
  225. package/src/shared/sqlite-acquisition-fence.test.ts +132 -0
  226. package/src/shared/sqlite-acquisition-routing.test.ts +94 -0
  227. package/src/shared/sqlite-pass-scope.test.ts +182 -0
  228. package/src/shared/sqlite-transaction-mode-guard.test.ts +42 -10
  229. package/src/shared/sqlite-write-locker-test-support.ts +1 -0
  230. package/src/shared/sqlite.ts +142 -56
  231. package/src/shared/status-view.ts +1 -1
  232. package/src/shared/storage-busy.test.ts +95 -0
  233. package/src/shared/subagent-runner.ts +4 -0
  234. package/src/shared/user-facing-codes.ts +6 -0
  235. package/src/shared/windows-hidden-spawns.test.ts +132 -0
  236. package/src/shared/write-transaction-attribution.test.ts +1 -0
  237. package/dist/wrapup-orchestrator-9srk0kjf.js +0 -18
@@ -17,6 +17,15 @@ var CANONICAL_DREAM_TASKS = [
17
17
  "promote-primers",
18
18
  "refresh-primers"
19
19
  ];
20
+ var DREAM_TOOL_LOOP_TOKEN_BUDGETS = {
21
+ "map-memories": 1500000,
22
+ verify: 1700000,
23
+ "verify-broad": 1700000,
24
+ curate: 1500000,
25
+ retrospective: 300000,
26
+ "maintain-docs": 1600000,
27
+ "refresh-primers": 350000
28
+ };
20
29
  var DREAM_TASK_CAPABILITIES = {
21
30
  "map-memories": {
22
31
  requiresTools: true,
@@ -157,6 +166,7 @@ function buildDreamTaskRuntimeConfigs2(dreamer, harness, language, muralModel) {
157
166
  thinkingLevel: harness === "pi" ? resolved.primary?.qualifier : undefined,
158
167
  language,
159
168
  timeoutMinutes: resolved.timeoutMinutes ?? 20,
169
+ tokenBudget: task in DREAM_TOOL_LOOP_TOKEN_BUDGETS ? dreamer?.tasks?.[task]?.token_budget ?? DREAM_TOOL_LOOP_TOKEN_BUDGETS[task] : undefined,
160
170
  promotionThreshold: resolved.promotionThreshold,
161
171
  docsMaxTokens: task === "maintain-docs" ? dreamer?.tasks?.["maintain-docs"]?.max_tokens ?? 12000 : undefined,
162
172
  retrospectiveRecencyDays: task === "retrospective" ? dreamer?.tasks?.retrospective?.recency_days ?? 30 : undefined
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  log
3
- } from "./index-tjq5jztd.js";
3
+ } from "./index-3bygzk2d.js";
4
4
 
5
5
  // src/shared/write-transaction-timing.ts
6
6
  var SLOW_WRITE_TRANSACTION_THRESHOLD_MS = 1000;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  log
3
- } from "./index-tjq5jztd.js";
3
+ } from "./index-3bygzk2d.js";
4
4
 
5
5
  // src/shared/safe-notification-target.ts
6
6
  var DEFAULT_TITLE_RE = /^(New session - |Child session - )\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  sessionLog
3
- } from "./index-tjq5jztd.js";
3
+ } from "./index-3bygzk2d.js";
4
4
  import {
5
5
  isDefaultSessionTitle2
6
- } from "./index-dx0xnd4q.js";
6
+ } from "./index-kwe03yde.js";
7
7
  import {
8
8
  shouldHoldIgnoredNotification
9
- } from "./index-pye48m79.js";
9
+ } from "./index-egkfvhms.js";
10
10
 
11
11
  // src/shared/error-message.ts
12
12
  function getErrorMessage(error) {
@@ -186,7 +186,7 @@ async function sendIgnoredMessageNow(client, sessionId, text, params, forcePersi
186
186
  holdIgnoredNotification({ client, sessionId, text, params, forcePersist }, "during target checks");
187
187
  return "queued";
188
188
  }
189
- const { waitForSafeNotificationTarget } = await import("./safe-notification-target-6w0esgd6.js");
189
+ const { waitForSafeNotificationTarget } = await import("./safe-notification-target-50gm9c58.js");
190
190
  if (await waitForSafeNotificationTarget(client, sessionId) === "skip") {
191
191
  sessionLog(sessionId, "notification skipped (session not titled yet)");
192
192
  return "skipped";
@@ -11,6 +11,9 @@ function setHarness(value) {
11
11
  function getHarness() {
12
12
  return currentHarness;
13
13
  }
14
+ function harnessOwnsOpenCodeStore(harness = currentHarness) {
15
+ return harness === "opencode" || harness === "opencode2";
16
+ }
14
17
 
15
18
  // src/shared/data-path.ts
16
19
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
@@ -109,4 +112,4 @@ function getLegacyOpenCodeMagicContextStorageDir() {
109
112
  return path.join(getOpenCodeStorageDir(), "plugin", "magic-context");
110
113
  }
111
114
 
112
- export { setHarness, getHarness, getDataDir, getMagicContextLogPath, ensureCortexKitArtifactGitignore, getProjectMagicContextHistorianDir, getOpenCodeStorageDir, getMagicContextStorageResolution, getMagicContextStorageDir, getLegacyOpenCodeMagicContextStorageDir };
115
+ export { setHarness, getHarness, harnessOwnsOpenCodeStore, getDataDir, getMagicContextLogPath, ensureCortexKitArtifactGitignore, getProjectMagicContextHistorianDir, getOpenCodeStorageDir, getMagicContextStorageResolution, getMagicContextStorageDir, getLegacyOpenCodeMagicContextStorageDir };
@@ -2,10 +2,10 @@ import {
2
2
  getHarness,
3
3
  getDataDir,
4
4
  getMagicContextStorageDir
5
- } from "./index-6z9g64js.js";
5
+ } from "./index-s70wtd8k.js";
6
6
  import {
7
7
  sessionLog
8
- } from "./index-tjq5jztd.js";
8
+ } from "./index-3bygzk2d.js";
9
9
  import {
10
10
  localBudget,
11
11
  calibrationForModelKey