@retaw106/mmc-oc 0.0.0-stage → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1018) hide show
  1. package/dist/agents/historian.d.ts +4 -0
  2. package/dist/agents/historian.d.ts.map +1 -0
  3. package/dist/agents/language-directive.d.ts +26 -0
  4. package/dist/agents/language-directive.d.ts.map +1 -0
  5. package/dist/agents/magic-context-prompt.d.ts +5 -0
  6. package/dist/agents/magic-context-prompt.d.ts.map +1 -0
  7. package/dist/agents/memory-maintainer.d.ts +96 -0
  8. package/dist/agents/memory-maintainer.d.ts.map +1 -0
  9. package/dist/config/agent-disable.d.ts +29 -0
  10. package/dist/config/agent-disable.d.ts.map +1 -0
  11. package/dist/config/config-paths.d.ts +7 -0
  12. package/dist/config/config-paths.d.ts.map +1 -0
  13. package/dist/config/index.d.ts +69 -0
  14. package/dist/config/index.d.ts.map +1 -0
  15. package/dist/config/live-run-config.d.ts +11 -0
  16. package/dist/config/live-run-config.d.ts.map +1 -0
  17. package/dist/config/live-snapshot.d.ts +32 -0
  18. package/dist/config/live-snapshot.d.ts.map +1 -0
  19. package/dist/config/migrate-experimental.d.ts +26 -0
  20. package/dist/config/migrate-experimental.d.ts.map +1 -0
  21. package/dist/config/profiles.d.ts +22 -0
  22. package/dist/config/profiles.d.ts.map +1 -0
  23. package/dist/config/project-security.d.ts +124 -0
  24. package/dist/config/project-security.d.ts.map +1 -0
  25. package/dist/config/prune-config-leaf.d.ts +26 -0
  26. package/dist/config/prune-config-leaf.d.ts.map +1 -0
  27. package/dist/config/raw-loader.d.ts +42 -0
  28. package/dist/config/raw-loader.d.ts.map +1 -0
  29. package/dist/config/removed-agent-config.d.ts +8 -0
  30. package/dist/config/removed-agent-config.d.ts.map +1 -0
  31. package/dist/config/schema/agent-overrides.d.ts +52 -0
  32. package/dist/config/schema/agent-overrides.d.ts.map +1 -0
  33. package/dist/config/schema/magic-context.d.ts +805 -0
  34. package/dist/config/schema/magic-context.d.ts.map +1 -0
  35. package/dist/config/variable.d.ts +48 -0
  36. package/dist/config/variable.d.ts.map +1 -0
  37. package/dist/context-a6px04s0.js +23932 -0
  38. package/dist/derive-budgets-fhk00zv8.js +18 -0
  39. package/dist/features/magic-context/compaction-marker.d.ts +211 -0
  40. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -0
  41. package/dist/features/magic-context/compaction.d.ts +7 -0
  42. package/dist/features/magic-context/compaction.d.ts.map +1 -0
  43. package/dist/features/magic-context/compartment-events.d.ts +50 -0
  44. package/dist/features/magic-context/compartment-events.d.ts.map +1 -0
  45. package/dist/features/magic-context/compartment-lease.d.ts +28 -0
  46. package/dist/features/magic-context/compartment-lease.d.ts.map +1 -0
  47. package/dist/features/magic-context/compartment-storage.d.ts +178 -0
  48. package/dist/features/magic-context/compartment-storage.d.ts.map +1 -0
  49. package/dist/features/magic-context/compression-depth-storage.d.ts +14 -0
  50. package/dist/features/magic-context/compression-depth-storage.d.ts.map +1 -0
  51. package/dist/features/magic-context/context-authority.d.ts +15 -0
  52. package/dist/features/magic-context/context-authority.d.ts.map +1 -0
  53. package/dist/features/magic-context/fail-closed-block.d.ts +117 -0
  54. package/dist/features/magic-context/fail-closed-block.d.ts.map +1 -0
  55. package/dist/features/magic-context/index.d.ts +10 -0
  56. package/dist/features/magic-context/index.d.ts.map +1 -0
  57. package/dist/features/magic-context/literal-probes.d.ts +24 -0
  58. package/dist/features/magic-context/literal-probes.d.ts.map +1 -0
  59. package/dist/features/magic-context/lkg-prefix-chunks.d.ts +53 -0
  60. package/dist/features/magic-context/lkg-prefix-chunks.d.ts.map +1 -0
  61. package/dist/features/magic-context/memory/constants.d.ts +16 -0
  62. package/dist/features/magic-context/memory/constants.d.ts.map +1 -0
  63. package/dist/features/magic-context/memory/index.d.ts +11 -0
  64. package/dist/features/magic-context/memory/index.d.ts.map +1 -0
  65. package/dist/features/magic-context/memory/memory-diagnostics.d.ts +6 -0
  66. package/dist/features/magic-context/memory/memory-diagnostics.d.ts.map +1 -0
  67. package/dist/features/magic-context/memory/memory-selection.d.ts +12 -0
  68. package/dist/features/magic-context/memory/memory-selection.d.ts.map +1 -0
  69. package/dist/features/magic-context/memory/memory-visibility.d.ts +46 -0
  70. package/dist/features/magic-context/memory/memory-visibility.d.ts.map +1 -0
  71. package/dist/features/magic-context/memory/normalize-hash.d.ts +3 -0
  72. package/dist/features/magic-context/memory/normalize-hash.d.ts.map +1 -0
  73. package/dist/features/magic-context/memory/project-identity-cache.d.ts +7 -0
  74. package/dist/features/magic-context/memory/project-identity-cache.d.ts.map +1 -0
  75. package/dist/features/magic-context/memory/project-identity.d.ts +97 -0
  76. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -0
  77. package/dist/features/magic-context/memory/promotion.d.ts +26 -0
  78. package/dist/features/magic-context/memory/promotion.d.ts.map +1 -0
  79. package/dist/features/magic-context/memory/relocate-memory.d.ts +58 -0
  80. package/dist/features/magic-context/memory/relocate-memory.d.ts.map +1 -0
  81. package/dist/features/magic-context/memory/storage-memory-fts.d.ts +11 -0
  82. package/dist/features/magic-context/memory/storage-memory-fts.d.ts.map +1 -0
  83. package/dist/features/magic-context/memory/storage-memory-verifications.d.ts +35 -0
  84. package/dist/features/magic-context/memory/storage-memory-verifications.d.ts.map +1 -0
  85. package/dist/features/magic-context/memory/storage-memory.d.ts +89 -0
  86. package/dist/features/magic-context/memory/storage-memory.d.ts.map +1 -0
  87. package/dist/features/magic-context/memory/types.d.ts +59 -0
  88. package/dist/features/magic-context/memory/types.d.ts.map +1 -0
  89. package/dist/features/magic-context/memory/verification-paths.d.ts +48 -0
  90. package/dist/features/magic-context/memory/verification-paths.d.ts.map +1 -0
  91. package/dist/features/magic-context/memory/visibility.d.ts +6 -0
  92. package/dist/features/magic-context/memory/visibility.d.ts.map +1 -0
  93. package/dist/features/magic-context/memory-maintainer/apply.d.ts +65 -0
  94. package/dist/features/magic-context/memory-maintainer/apply.d.ts.map +1 -0
  95. package/dist/features/magic-context/memory-maintainer/budget.d.ts +75 -0
  96. package/dist/features/magic-context/memory-maintainer/budget.d.ts.map +1 -0
  97. package/dist/features/magic-context/memory-maintainer/coverage.d.ts +91 -0
  98. package/dist/features/magic-context/memory-maintainer/coverage.d.ts.map +1 -0
  99. package/dist/features/magic-context/memory-maintainer/dream-state.d.ts +18 -0
  100. package/dist/features/magic-context/memory-maintainer/dream-state.d.ts.map +1 -0
  101. package/dist/features/magic-context/memory-maintainer/launcher.d.ts +119 -0
  102. package/dist/features/magic-context/memory-maintainer/launcher.d.ts.map +1 -0
  103. package/dist/features/magic-context/memory-maintainer/lease.d.ts +56 -0
  104. package/dist/features/magic-context/memory-maintainer/lease.d.ts.map +1 -0
  105. package/dist/features/magic-context/memory-maintainer/manifest.d.ts +127 -0
  106. package/dist/features/magic-context/memory-maintainer/manifest.d.ts.map +1 -0
  107. package/dist/features/magic-context/memory-maintainer/manual-commands.d.ts +46 -0
  108. package/dist/features/magic-context/memory-maintainer/manual-commands.d.ts.map +1 -0
  109. package/dist/features/magic-context/memory-maintainer/oc2-adapter.d.ts +79 -0
  110. package/dist/features/magic-context/memory-maintainer/oc2-adapter.d.ts.map +1 -0
  111. package/dist/features/magic-context/memory-maintainer/pause-report.d.ts +37 -0
  112. package/dist/features/magic-context/memory-maintainer/pause-report.d.ts.map +1 -0
  113. package/dist/features/magic-context/memory-maintainer/pipeline.d.ts +199 -0
  114. package/dist/features/magic-context/memory-maintainer/pipeline.d.ts.map +1 -0
  115. package/dist/features/magic-context/memory-maintainer/provider-output-failure.d.ts +15 -0
  116. package/dist/features/magic-context/memory-maintainer/provider-output-failure.d.ts.map +1 -0
  117. package/dist/features/magic-context/memory-maintainer/schedule-storage.d.ts +76 -0
  118. package/dist/features/magic-context/memory-maintainer/schedule-storage.d.ts.map +1 -0
  119. package/dist/features/magic-context/memory-maintainer/schedule.d.ts +90 -0
  120. package/dist/features/magic-context/memory-maintainer/schedule.d.ts.map +1 -0
  121. package/dist/features/magic-context/merged-reasoning-decisions.d.ts +6 -0
  122. package/dist/features/magic-context/merged-reasoning-decisions.d.ts.map +1 -0
  123. package/dist/features/magic-context/message-fts-rowid-map.d.ts +50 -0
  124. package/dist/features/magic-context/message-fts-rowid-map.d.ts.map +1 -0
  125. package/dist/features/magic-context/message-fts-session-filter.d.ts +14 -0
  126. package/dist/features/magic-context/message-fts-session-filter.d.ts.map +1 -0
  127. package/dist/features/magic-context/message-index-async.d.ts +33 -0
  128. package/dist/features/magic-context/message-index-async.d.ts.map +1 -0
  129. package/dist/features/magic-context/message-index-sweep.d.ts +11 -0
  130. package/dist/features/magic-context/message-index-sweep.d.ts.map +1 -0
  131. package/dist/features/magic-context/message-index.d.ts +88 -0
  132. package/dist/features/magic-context/message-index.d.ts.map +1 -0
  133. package/dist/features/magic-context/message-time-backfill.d.ts +19 -0
  134. package/dist/features/magic-context/message-time-backfill.d.ts.map +1 -0
  135. package/dist/features/magic-context/migration-v2-write-split.d.ts +62 -0
  136. package/dist/features/magic-context/migration-v2-write-split.d.ts.map +1 -0
  137. package/dist/features/magic-context/migrations.d.ts +73 -0
  138. package/dist/features/magic-context/migrations.d.ts.map +1 -0
  139. package/dist/features/magic-context/mock-database.d.ts +3 -0
  140. package/dist/features/magic-context/mock-database.d.ts.map +1 -0
  141. package/dist/features/magic-context/mural/storage-mural-cues.d.ts +65 -0
  142. package/dist/features/magic-context/mural/storage-mural-cues.d.ts.map +1 -0
  143. package/dist/features/magic-context/no-content-compartment.d.ts +12 -0
  144. package/dist/features/magic-context/no-content-compartment.d.ts.map +1 -0
  145. package/dist/features/magic-context/opencode2-relabel.d.ts +132 -0
  146. package/dist/features/magic-context/opencode2-relabel.d.ts.map +1 -0
  147. package/dist/features/magic-context/overflow-detection.d.ts +108 -0
  148. package/dist/features/magic-context/overflow-detection.d.ts.map +1 -0
  149. package/dist/features/magic-context/pi-content-decisions.d.ts +9 -0
  150. package/dist/features/magic-context/pi-content-decisions.d.ts.map +1 -0
  151. package/dist/features/magic-context/project-identity.d.ts +2 -0
  152. package/dist/features/magic-context/project-identity.d.ts.map +1 -0
  153. package/dist/features/magic-context/protection-window.d.ts +79 -0
  154. package/dist/features/magic-context/protection-window.d.ts.map +1 -0
  155. package/dist/features/magic-context/range-parser.d.ts +18 -0
  156. package/dist/features/magic-context/range-parser.d.ts.map +1 -0
  157. package/dist/features/magic-context/reclaim-protection.d.ts +13 -0
  158. package/dist/features/magic-context/reclaim-protection.d.ts.map +1 -0
  159. package/dist/features/magic-context/resolve-subagent-fallback.d.ts +42 -0
  160. package/dist/features/magic-context/resolve-subagent-fallback.d.ts.map +1 -0
  161. package/dist/features/magic-context/scheduler.d.ts +20 -0
  162. package/dist/features/magic-context/scheduler.d.ts.map +1 -0
  163. package/dist/features/magic-context/schema-fence-probe.d.ts +29 -0
  164. package/dist/features/magic-context/schema-fence-probe.d.ts.map +1 -0
  165. package/dist/features/magic-context/search.d.ts +118 -0
  166. package/dist/features/magic-context/search.d.ts.map +1 -0
  167. package/dist/features/magic-context/session-cache-ttl.d.ts +10 -0
  168. package/dist/features/magic-context/session-cache-ttl.d.ts.map +1 -0
  169. package/dist/features/magic-context/session-decision-calibration.d.ts +31 -0
  170. package/dist/features/magic-context/session-decision-calibration.d.ts.map +1 -0
  171. package/dist/features/magic-context/session-project-backfill.d.ts +37 -0
  172. package/dist/features/magic-context/session-project-backfill.d.ts.map +1 -0
  173. package/dist/features/magic-context/session-project-storage.d.ts +23 -0
  174. package/dist/features/magic-context/session-project-storage.d.ts.map +1 -0
  175. package/dist/features/magic-context/storage-caveman-rules.d.ts +21 -0
  176. package/dist/features/magic-context/storage-caveman-rules.d.ts.map +1 -0
  177. package/dist/features/magic-context/storage-clone.d.ts +44 -0
  178. package/dist/features/magic-context/storage-clone.d.ts.map +1 -0
  179. package/dist/features/magic-context/storage-db.d.ts +183 -0
  180. package/dist/features/magic-context/storage-db.d.ts.map +1 -0
  181. package/dist/features/magic-context/storage-historian-runs.d.ts +79 -0
  182. package/dist/features/magic-context/storage-historian-runs.d.ts.map +1 -0
  183. package/dist/features/magic-context/storage-identity-merge.d.ts +26 -0
  184. package/dist/features/magic-context/storage-identity-merge.d.ts.map +1 -0
  185. package/dist/features/magic-context/storage-identity-rekey-map.d.ts +11 -0
  186. package/dist/features/magic-context/storage-identity-rekey-map.d.ts.map +1 -0
  187. package/dist/features/magic-context/storage-m0-mutation-log.d.ts +22 -0
  188. package/dist/features/magic-context/storage-m0-mutation-log.d.ts.map +1 -0
  189. package/dist/features/magic-context/storage-memory-mutation-log.d.ts +29 -0
  190. package/dist/features/magic-context/storage-memory-mutation-log.d.ts.map +1 -0
  191. package/dist/features/magic-context/storage-meta-persisted.d.ts +623 -0
  192. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -0
  193. package/dist/features/magic-context/storage-meta-session.d.ts +14 -0
  194. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -0
  195. package/dist/features/magic-context/storage-meta-shared.d.ts +102 -0
  196. package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -0
  197. package/dist/features/magic-context/storage-meta.d.ts +4 -0
  198. package/dist/features/magic-context/storage-meta.d.ts.map +1 -0
  199. package/dist/features/magic-context/storage-native-replay.d.ts +29 -0
  200. package/dist/features/magic-context/storage-native-replay.d.ts.map +1 -0
  201. package/dist/features/magic-context/storage-notes.d.ts +80 -0
  202. package/dist/features/magic-context/storage-notes.d.ts.map +1 -0
  203. package/dist/features/magic-context/storage-ops.d.ts +14 -0
  204. package/dist/features/magic-context/storage-ops.d.ts.map +1 -0
  205. package/dist/features/magic-context/storage-primers.d.ts +96 -0
  206. package/dist/features/magic-context/storage-primers.d.ts.map +1 -0
  207. package/dist/features/magic-context/storage-project-state.d.ts +19 -0
  208. package/dist/features/magic-context/storage-project-state.d.ts.map +1 -0
  209. package/dist/features/magic-context/storage-reasoning-removal.d.ts +30 -0
  210. package/dist/features/magic-context/storage-reasoning-removal.d.ts.map +1 -0
  211. package/dist/features/magic-context/storage-replay-document.d.ts +72 -0
  212. package/dist/features/magic-context/storage-replay-document.d.ts.map +1 -0
  213. package/dist/features/magic-context/storage-schema-helpers.d.ts +31 -0
  214. package/dist/features/magic-context/storage-schema-helpers.d.ts.map +1 -0
  215. package/dist/features/magic-context/storage-session-tables.d.ts +18 -0
  216. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -0
  217. package/dist/features/magic-context/storage-source.d.ts +5 -0
  218. package/dist/features/magic-context/storage-source.d.ts.map +1 -0
  219. package/dist/features/magic-context/storage-subagent-invocations.d.ts +62 -0
  220. package/dist/features/magic-context/storage-subagent-invocations.d.ts.map +1 -0
  221. package/dist/features/magic-context/storage-tags.d.ts +542 -0
  222. package/dist/features/magic-context/storage-tags.d.ts.map +1 -0
  223. package/dist/features/magic-context/storage-unavailable-reason.d.ts +17 -0
  224. package/dist/features/magic-context/storage-unavailable-reason.d.ts.map +1 -0
  225. package/dist/features/magic-context/storage-v22-backfill-failures.d.ts +26 -0
  226. package/dist/features/magic-context/storage-v22-backfill-failures.d.ts.map +1 -0
  227. package/dist/features/magic-context/storage.d.ts +23 -0
  228. package/dist/features/magic-context/storage.d.ts.map +1 -0
  229. package/dist/features/magic-context/store-generation-rebase.d.ts +188 -0
  230. package/dist/features/magic-context/store-generation-rebase.d.ts.map +1 -0
  231. package/dist/features/magic-context/subagent-token-capture.d.ts +35 -0
  232. package/dist/features/magic-context/subagent-token-capture.d.ts.map +1 -0
  233. package/dist/features/magic-context/tag-input.d.ts +4 -0
  234. package/dist/features/magic-context/tag-input.d.ts.map +1 -0
  235. package/dist/features/magic-context/tagger.d.ts +119 -0
  236. package/dist/features/magic-context/tagger.d.ts.map +1 -0
  237. package/dist/features/magic-context/tool-definition-tokens.d.ts +90 -0
  238. package/dist/features/magic-context/tool-definition-tokens.d.ts.map +1 -0
  239. package/dist/features/magic-context/tool-owner-backfill.d.ts +93 -0
  240. package/dist/features/magic-context/tool-owner-backfill.d.ts.map +1 -0
  241. package/dist/features/magic-context/transform-decision-log.d.ts +110 -0
  242. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -0
  243. package/dist/features/magic-context/types.d.ts +133 -0
  244. package/dist/features/magic-context/types.d.ts.map +1 -0
  245. package/dist/features/magic-context/window-report-ledger.d.ts +70 -0
  246. package/dist/features/magic-context/window-report-ledger.d.ts.map +1 -0
  247. package/dist/features/magic-context/work-metrics.d.ts +79 -0
  248. package/dist/features/magic-context/work-metrics.d.ts.map +1 -0
  249. package/dist/features/magic-context/workspaces.d.ts +28 -0
  250. package/dist/features/magic-context/workspaces.d.ts.map +1 -0
  251. package/dist/hooks/auto-update-checker/semver.d.ts +26 -0
  252. package/dist/hooks/auto-update-checker/semver.d.ts.map +1 -0
  253. package/dist/hooks/magic-context/apply-operations.d.ts +158 -0
  254. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -0
  255. package/dist/hooks/magic-context/auto-search-deadline.d.ts +10 -0
  256. package/dist/hooks/magic-context/auto-search-deadline.d.ts.map +1 -0
  257. package/dist/hooks/magic-context/auto-search-hint.d.ts +36 -0
  258. package/dist/hooks/magic-context/auto-search-hint.d.ts.map +1 -0
  259. package/dist/hooks/magic-context/auto-search-runner.d.ts +60 -0
  260. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -0
  261. package/dist/hooks/magic-context/cache-busting-signals.d.ts +42 -0
  262. package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -0
  263. package/dist/hooks/magic-context/caveman-cleanup.d.ts +98 -0
  264. package/dist/hooks/magic-context/caveman-cleanup.d.ts.map +1 -0
  265. package/dist/hooks/magic-context/caveman.d.ts +90 -0
  266. package/dist/hooks/magic-context/caveman.d.ts.map +1 -0
  267. package/dist/hooks/magic-context/channel2-cycle.d.ts +16 -0
  268. package/dist/hooks/magic-context/channel2-cycle.d.ts.map +1 -0
  269. package/dist/hooks/magic-context/channel2-delivery.d.ts +32 -0
  270. package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -0
  271. package/dist/hooks/magic-context/child-session-spawn.d.ts +27 -0
  272. package/dist/hooks/magic-context/child-session-spawn.d.ts.map +1 -0
  273. package/dist/hooks/magic-context/compaction-marker-manager.d.ts +154 -0
  274. package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -0
  275. package/dist/hooks/magic-context/compaction-off-transition.d.ts +97 -0
  276. package/dist/hooks/magic-context/compaction-off-transition.d.ts.map +1 -0
  277. package/dist/hooks/magic-context/compartment-parser.d.ts +66 -0
  278. package/dist/hooks/magic-context/compartment-parser.d.ts.map +1 -0
  279. package/dist/hooks/magic-context/compartment-prompt.d.ts +33 -0
  280. package/dist/hooks/magic-context/compartment-prompt.d.ts.map +1 -0
  281. package/dist/hooks/magic-context/compartment-render-epoch.d.ts +27 -0
  282. package/dist/hooks/magic-context/compartment-render-epoch.d.ts.map +1 -0
  283. package/dist/hooks/magic-context/compartment-runner-drop-queue.d.ts +29 -0
  284. package/dist/hooks/magic-context/compartment-runner-drop-queue.d.ts.map +1 -0
  285. package/dist/hooks/magic-context/compartment-runner-historian.d.ts +43 -0
  286. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -0
  287. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +31 -0
  288. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -0
  289. package/dist/hooks/magic-context/compartment-runner-mapping.d.ts +25 -0
  290. package/dist/hooks/magic-context/compartment-runner-mapping.d.ts.map +1 -0
  291. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts +29 -0
  292. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -0
  293. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts +11 -0
  294. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -0
  295. package/dist/hooks/magic-context/compartment-runner-types.d.ts +295 -0
  296. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -0
  297. package/dist/hooks/magic-context/compartment-runner-validation.d.ts +83 -0
  298. package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -0
  299. package/dist/hooks/magic-context/compartment-runner.d.ts +59 -0
  300. package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -0
  301. package/dist/hooks/magic-context/compartment-trigger.d.ts +77 -0
  302. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -0
  303. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts +170 -0
  304. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts.map +1 -0
  305. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +104 -0
  306. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -0
  307. package/dist/hooks/magic-context/decay-curve.d.ts +84 -0
  308. package/dist/hooks/magic-context/decay-curve.d.ts.map +1 -0
  309. package/dist/hooks/magic-context/decay-render.d.ts +80 -0
  310. package/dist/hooks/magic-context/decay-render.d.ts.map +1 -0
  311. package/dist/hooks/magic-context/decision-calibration.d.ts +24 -0
  312. package/dist/hooks/magic-context/decision-calibration.d.ts.map +1 -0
  313. package/dist/hooks/magic-context/degraded-pass-refusal.d.ts +35 -0
  314. package/dist/hooks/magic-context/degraded-pass-refusal.d.ts.map +1 -0
  315. package/dist/hooks/magic-context/derive-budgets.d.ts +60 -0
  316. package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -0
  317. package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts +39 -0
  318. package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts.map +1 -0
  319. package/dist/hooks/magic-context/dropped-input-guard.d.ts +55 -0
  320. package/dist/hooks/magic-context/dropped-input-guard.d.ts.map +1 -0
  321. package/dist/hooks/magic-context/dropped-token-estimate.d.ts +20 -0
  322. package/dist/hooks/magic-context/dropped-token-estimate.d.ts.map +1 -0
  323. package/dist/hooks/magic-context/edit-marker.d.ts +11 -0
  324. package/dist/hooks/magic-context/edit-marker.d.ts.map +1 -0
  325. package/dist/hooks/magic-context/emergency-drop.d.ts +112 -0
  326. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -0
  327. package/dist/hooks/magic-context/emergency-fail-closed.d.ts +14 -0
  328. package/dist/hooks/magic-context/emergency-fail-closed.d.ts.map +1 -0
  329. package/dist/hooks/magic-context/empty-task-output.d.ts +16 -0
  330. package/dist/hooks/magic-context/empty-task-output.d.ts.map +1 -0
  331. package/dist/hooks/magic-context/event-payloads.d.ts +73 -0
  332. package/dist/hooks/magic-context/event-payloads.d.ts.map +1 -0
  333. package/dist/hooks/magic-context/event-resolvers.d.ts +114 -0
  334. package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -0
  335. package/dist/hooks/magic-context/execute-flush.d.ts +3 -0
  336. package/dist/hooks/magic-context/execute-flush.d.ts.map +1 -0
  337. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +56 -0
  338. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -0
  339. package/dist/hooks/magic-context/fold-execution-gate.d.ts +2 -0
  340. package/dist/hooks/magic-context/fold-execution-gate.d.ts.map +1 -0
  341. package/dist/hooks/magic-context/format-bytes.d.ts +2 -0
  342. package/dist/hooks/magic-context/format-bytes.d.ts.map +1 -0
  343. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +48 -0
  344. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -0
  345. package/dist/hooks/magic-context/historian-no-fire-cause.d.ts +5 -0
  346. package/dist/hooks/magic-context/historian-no-fire-cause.d.ts.map +1 -0
  347. package/dist/hooks/magic-context/historian-prompt-fit.d.ts +112 -0
  348. package/dist/hooks/magic-context/historian-prompt-fit.d.ts.map +1 -0
  349. package/dist/hooks/magic-context/historian-prompt.generated.d.ts +2 -0
  350. package/dist/hooks/magic-context/historian-prompt.generated.d.ts.map +1 -0
  351. package/dist/hooks/magic-context/historian-publish-stage-logger.d.ts +3 -0
  352. package/dist/hooks/magic-context/historian-publish-stage-logger.d.ts.map +1 -0
  353. package/dist/hooks/magic-context/historian-state-file.d.ts +43 -0
  354. package/dist/hooks/magic-context/historian-state-file.d.ts.map +1 -0
  355. package/dist/hooks/magic-context/history-boundary-repair.d.ts +44 -0
  356. package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -0
  357. package/dist/hooks/magic-context/hook-handlers.d.ts +177 -0
  358. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -0
  359. package/dist/hooks/magic-context/host-served-rows.d.ts +58 -0
  360. package/dist/hooks/magic-context/host-served-rows.d.ts.map +1 -0
  361. package/dist/hooks/magic-context/image-token-estimate.d.ts +15 -0
  362. package/dist/hooks/magic-context/image-token-estimate.d.ts.map +1 -0
  363. package/dist/hooks/magic-context/inject-compartments.d.ts +389 -0
  364. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -0
  365. package/dist/hooks/magic-context/issue-135-wire-fixtures.d.ts +8 -0
  366. package/dist/hooks/magic-context/issue-135-wire-fixtures.d.ts.map +1 -0
  367. package/dist/hooks/magic-context/issue-423-fixture.d.ts +37 -0
  368. package/dist/hooks/magic-context/issue-423-fixture.d.ts.map +1 -0
  369. package/dist/hooks/magic-context/issue-424-fixture.d.ts +11 -0
  370. package/dist/hooks/magic-context/issue-424-fixture.d.ts.map +1 -0
  371. package/dist/hooks/magic-context/legacy-compartments.d.ts +20 -0
  372. package/dist/hooks/magic-context/legacy-compartments.d.ts.map +1 -0
  373. package/dist/hooks/magic-context/live-session-state.d.ts +68 -0
  374. package/dist/hooks/magic-context/live-session-state.d.ts.map +1 -0
  375. package/dist/hooks/magic-context/lkg-persist.d.ts +22 -0
  376. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -0
  377. package/dist/hooks/magic-context/lkg-replay.d.ts +71 -0
  378. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -0
  379. package/dist/hooks/magic-context/lkg-slot.d.ts +119 -0
  380. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -0
  381. package/dist/hooks/magic-context/m0-token-breakdown.d.ts +44 -0
  382. package/dist/hooks/magic-context/m0-token-breakdown.d.ts.map +1 -0
  383. package/dist/hooks/magic-context/maintenance-authority.d.ts +2 -0
  384. package/dist/hooks/magic-context/maintenance-authority.d.ts.map +1 -0
  385. package/dist/hooks/magic-context/openai-compat-adjacency.d.ts +38 -0
  386. package/dist/hooks/magic-context/openai-compat-adjacency.d.ts.map +1 -0
  387. package/dist/hooks/magic-context/opencode-v1-store-fixture.d.ts +12 -0
  388. package/dist/hooks/magic-context/opencode-v1-store-fixture.d.ts.map +1 -0
  389. package/dist/hooks/magic-context/pass-outcome.d.ts +70 -0
  390. package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -0
  391. package/dist/hooks/magic-context/persist-filtered-noise.d.ts +5 -0
  392. package/dist/hooks/magic-context/persist-filtered-noise.d.ts.map +1 -0
  393. package/dist/hooks/magic-context/postprocess-read-cache.d.ts +8 -0
  394. package/dist/hooks/magic-context/postprocess-read-cache.d.ts.map +1 -0
  395. package/dist/hooks/magic-context/producer-window-guard.d.ts +63 -0
  396. package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -0
  397. package/dist/hooks/magic-context/producer-window-test-support.d.ts +14 -0
  398. package/dist/hooks/magic-context/producer-window-test-support.d.ts.map +1 -0
  399. package/dist/hooks/magic-context/protected-tail-boundary.d.ts +234 -0
  400. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -0
  401. package/dist/hooks/magic-context/raw-fallback-context-limit.d.ts +10 -0
  402. package/dist/hooks/magic-context/raw-fallback-context-limit.d.ts.map +1 -0
  403. package/dist/hooks/magic-context/read-session-chunk.d.ts +271 -0
  404. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -0
  405. package/dist/hooks/magic-context/read-session-db.d.ts +66 -0
  406. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -0
  407. package/dist/hooks/magic-context/read-session-formatting.d.ts +65 -0
  408. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -0
  409. package/dist/hooks/magic-context/read-session-raw.d.ts +164 -0
  410. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -0
  411. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts +82 -0
  412. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -0
  413. package/dist/hooks/magic-context/reasoning-removal.d.ts +60 -0
  414. package/dist/hooks/magic-context/reasoning-removal.d.ts.map +1 -0
  415. package/dist/hooks/magic-context/recomp-orchestrator.d.ts +93 -0
  416. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -0
  417. package/dist/hooks/magic-context/reference-retrieval.d.ts +72 -0
  418. package/dist/hooks/magic-context/reference-retrieval.d.ts.map +1 -0
  419. package/dist/hooks/magic-context/reference-seeds.generated.d.ts +8 -0
  420. package/dist/hooks/magic-context/reference-seeds.generated.d.ts.map +1 -0
  421. package/dist/hooks/magic-context/send-session-notification.d.ts +43 -0
  422. package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -0
  423. package/dist/hooks/magic-context/sentinel.d.ts +146 -0
  424. package/dist/hooks/magic-context/sentinel.d.ts.map +1 -0
  425. package/dist/hooks/magic-context/storage-busy-refusal.d.ts +20 -0
  426. package/dist/hooks/magic-context/storage-busy-refusal.d.ts.map +1 -0
  427. package/dist/hooks/magic-context/strip-content.d.ts +216 -0
  428. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -0
  429. package/dist/hooks/magic-context/strip-structural-noise.d.ts +15 -0
  430. package/dist/hooks/magic-context/strip-structural-noise.d.ts.map +1 -0
  431. package/dist/hooks/magic-context/stripped-command.d.ts +56 -0
  432. package/dist/hooks/magic-context/stripped-command.d.ts.map +1 -0
  433. package/dist/hooks/magic-context/supersession-reclaim.d.ts +58 -0
  434. package/dist/hooks/magic-context/supersession-reclaim.d.ts.map +1 -0
  435. package/dist/hooks/magic-context/system-injection-stripper.d.ts +2 -0
  436. package/dist/hooks/magic-context/system-injection-stripper.d.ts.map +1 -0
  437. package/dist/hooks/magic-context/system-prompt-hash.d.ts +129 -0
  438. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -0
  439. package/dist/hooks/magic-context/tag-content-primitives.d.ts +31 -0
  440. package/dist/hooks/magic-context/tag-content-primitives.d.ts.map +1 -0
  441. package/dist/hooks/magic-context/tag-id-fallback.d.ts +11 -0
  442. package/dist/hooks/magic-context/tag-id-fallback.d.ts.map +1 -0
  443. package/dist/hooks/magic-context/tag-messages.d.ts +145 -0
  444. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -0
  445. package/dist/hooks/magic-context/tag-part-guards.d.ts +23 -0
  446. package/dist/hooks/magic-context/tag-part-guards.d.ts.map +1 -0
  447. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts +178 -0
  448. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -0
  449. package/dist/hooks/magic-context/temporal-awareness.d.ts +73 -0
  450. package/dist/hooks/magic-context/temporal-awareness.d.ts.map +1 -0
  451. package/dist/hooks/magic-context/text-complete.d.ts +31 -0
  452. package/dist/hooks/magic-context/text-complete.d.ts.map +1 -0
  453. package/dist/hooks/magic-context/todo-view.d.ts +127 -0
  454. package/dist/hooks/magic-context/todo-view.d.ts.map +1 -0
  455. package/dist/hooks/magic-context/tokenizer-calibration.d.ts +92 -0
  456. package/dist/hooks/magic-context/tokenizer-calibration.d.ts.map +1 -0
  457. package/dist/hooks/magic-context/tool-drop-target.d.ts +144 -0
  458. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -0
  459. package/dist/hooks/magic-context/tool-input-size.d.ts +21 -0
  460. package/dist/hooks/magic-context/tool-input-size.d.ts.map +1 -0
  461. package/dist/hooks/magic-context/tool-reclaim.d.ts +12 -0
  462. package/dist/hooks/magic-context/tool-reclaim.d.ts.map +1 -0
  463. package/dist/hooks/magic-context/tool-sweep-policy.d.ts +50 -0
  464. package/dist/hooks/magic-context/tool-sweep-policy.d.ts.map +1 -0
  465. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +133 -0
  466. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -0
  467. package/dist/hooks/magic-context/transform-context-state.d.ts +28 -0
  468. package/dist/hooks/magic-context/transform-context-state.d.ts.map +1 -0
  469. package/dist/hooks/magic-context/transform-message-helpers.d.ts +32 -0
  470. package/dist/hooks/magic-context/transform-message-helpers.d.ts.map +1 -0
  471. package/dist/hooks/magic-context/transform-operations.d.ts +5 -0
  472. package/dist/hooks/magic-context/transform-operations.d.ts.map +1 -0
  473. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +350 -0
  474. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -0
  475. package/dist/hooks/magic-context/transform-stage-logger.d.ts +2 -0
  476. package/dist/hooks/magic-context/transform-stage-logger.d.ts.map +1 -0
  477. package/dist/hooks/magic-context/transform.d.ts +334 -0
  478. package/dist/hooks/magic-context/transform.d.ts.map +1 -0
  479. package/dist/hooks/magic-context/unmanaged-over-window.d.ts +36 -0
  480. package/dist/hooks/magic-context/unmanaged-over-window.d.ts.map +1 -0
  481. package/dist/hooks/magic-context/unresolved-history-boundary.d.ts +15 -0
  482. package/dist/hooks/magic-context/unresolved-history-boundary.d.ts.map +1 -0
  483. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts +14 -0
  484. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -0
  485. package/dist/index-1vs6anwz.js +126 -0
  486. package/dist/index-3wagyrnj.js +670 -0
  487. package/dist/index-53g38ggt.js +40 -0
  488. package/dist/index-5pg0acf7.js +410 -0
  489. package/dist/index-977gxfz0.js +514 -0
  490. package/dist/index-by6h2pav.js +27883 -0
  491. package/dist/index-e1q8002h.js +16 -0
  492. package/dist/index-fg34g6a5.js +584 -0
  493. package/dist/index-jdxxq8cz.js +99 -0
  494. package/dist/index-me3zcj5t.js +69 -0
  495. package/dist/index-qbkzdkk0.js +496 -0
  496. package/dist/index-wgt4gamw.js +6388 -0
  497. package/dist/index-zx63j2e2.js +907 -0
  498. package/dist/index.d.ts +7 -0
  499. package/dist/index.d.ts.map +1 -0
  500. package/dist/index.js +37 -0
  501. package/dist/message-time-backfill-5ewk0axe.js +116 -0
  502. package/dist/model-resolution-5haaxnpt.js +6 -0
  503. package/dist/plugin/boot-deadline.d.ts +47 -0
  504. package/dist/plugin/boot-deadline.d.ts.map +1 -0
  505. package/dist/plugin/boot-quiet.d.ts +12 -0
  506. package/dist/plugin/boot-quiet.d.ts.map +1 -0
  507. package/dist/plugin/normalize-tool-arg-schemas.d.ts +7 -0
  508. package/dist/plugin/normalize-tool-arg-schemas.d.ts.map +1 -0
  509. package/dist/plugin/rpc-handlers.d.ts +52 -0
  510. package/dist/plugin/rpc-handlers.d.ts.map +1 -0
  511. package/dist/plugin/sidebar-snapshot-cache.d.ts +19 -0
  512. package/dist/plugin/sidebar-snapshot-cache.d.ts.map +1 -0
  513. package/dist/plugin/subagent-tool-policy.d.ts +9 -0
  514. package/dist/plugin/subagent-tool-policy.d.ts.map +1 -0
  515. package/dist/plugin/types.d.ts +3 -0
  516. package/dist/plugin/types.d.ts.map +1 -0
  517. package/dist/prompt-context-ffa5xcfx.js +76 -0
  518. package/dist/read-session-chunk-apjwrttc.js +56 -0
  519. package/dist/recomp-orchestrator-gyeevxaw.js +21 -0
  520. package/dist/rpc-notifications-4amf6mf4.js +14 -0
  521. package/dist/safe-notification-target-ph3xd1ve.js +9 -0
  522. package/dist/send-session-notification-y29y9fsr.js +18 -0
  523. package/dist/shared/announcement.d.ts +69 -0
  524. package/dist/shared/announcement.d.ts.map +1 -0
  525. package/dist/shared/assistant-message-extractor.d.ts +13 -0
  526. package/dist/shared/assistant-message-extractor.d.ts.map +1 -0
  527. package/dist/shared/auto-update-provenance.d.ts +9 -0
  528. package/dist/shared/auto-update-provenance.d.ts.map +1 -0
  529. package/dist/shared/bounded-session-map.d.ts +45 -0
  530. package/dist/shared/bounded-session-map.d.ts.map +1 -0
  531. package/dist/shared/builtin-commands.d.ts +24 -0
  532. package/dist/shared/builtin-commands.d.ts.map +1 -0
  533. package/dist/shared/cache-ttl-display.d.ts +25 -0
  534. package/dist/shared/cache-ttl-display.d.ts.map +1 -0
  535. package/dist/shared/cache-ttl-seed.d.ts +10 -0
  536. package/dist/shared/cache-ttl-seed.d.ts.map +1 -0
  537. package/dist/shared/child-session-teardown.d.ts +34 -0
  538. package/dist/shared/child-session-teardown.d.ts.map +1 -0
  539. package/dist/shared/commit-detection.d.ts +29 -0
  540. package/dist/shared/commit-detection.d.ts.map +1 -0
  541. package/dist/shared/config-diagnostics.d.ts +30 -0
  542. package/dist/shared/config-diagnostics.d.ts.map +1 -0
  543. package/dist/shared/conflict-detector.d.ts +139 -0
  544. package/dist/shared/conflict-detector.d.ts.map +1 -0
  545. package/dist/shared/conflict-fixer.d.ts +20 -0
  546. package/dist/shared/conflict-fixer.d.ts.map +1 -0
  547. package/dist/shared/context-limit-provenance.d.ts +3 -0
  548. package/dist/shared/context-limit-provenance.d.ts.map +1 -0
  549. package/dist/shared/data-path.d.ts +176 -0
  550. package/dist/shared/data-path.d.ts.map +1 -0
  551. package/dist/shared/error-message.d.ts +32 -0
  552. package/dist/shared/error-message.d.ts.map +1 -0
  553. package/dist/shared/escalation-bands.d.ts +9 -0
  554. package/dist/shared/escalation-bands.d.ts.map +1 -0
  555. package/dist/shared/format-bytes.d.ts +2 -0
  556. package/dist/shared/format-bytes.d.ts.map +1 -0
  557. package/dist/shared/format-threshold.d.ts +43 -0
  558. package/dist/shared/format-threshold.d.ts.map +1 -0
  559. package/dist/shared/harness-provider-map.d.ts +64 -0
  560. package/dist/shared/harness-provider-map.d.ts.map +1 -0
  561. package/dist/shared/harness.d.ts +55 -0
  562. package/dist/shared/harness.d.ts.map +1 -0
  563. package/dist/shared/hidden-variant-warnings.d.ts +5 -0
  564. package/dist/shared/hidden-variant-warnings.d.ts.map +1 -0
  565. package/dist/shared/historian-tool-expansions.d.ts +5 -0
  566. package/dist/shared/historian-tool-expansions.d.ts.map +1 -0
  567. package/dist/shared/historian-tool-template.d.ts +5 -0
  568. package/dist/shared/historian-tool-template.d.ts.map +1 -0
  569. package/dist/shared/historian-transient-error.d.ts +2 -0
  570. package/dist/shared/historian-transient-error.d.ts.map +1 -0
  571. package/dist/shared/host-limitations.d.ts +14 -0
  572. package/dist/shared/host-limitations.d.ts.map +1 -0
  573. package/dist/shared/index.d.ts +8 -0
  574. package/dist/shared/index.d.ts.map +1 -0
  575. package/dist/shared/internal-initiator-marker.d.ts +2 -0
  576. package/dist/shared/internal-initiator-marker.d.ts.map +1 -0
  577. package/dist/shared/jsonc-edit.d.ts +23 -0
  578. package/dist/shared/jsonc-edit.d.ts.map +1 -0
  579. package/dist/shared/jsonc-parser.d.ts +30 -0
  580. package/dist/shared/jsonc-parser.d.ts.map +1 -0
  581. package/dist/shared/keep-subagents.d.ts +7 -0
  582. package/dist/shared/keep-subagents.d.ts.map +1 -0
  583. package/dist/shared/logger.d.ts +18 -0
  584. package/dist/shared/logger.d.ts.map +1 -0
  585. package/dist/shared/model-cache-ttl.d.ts +9 -0
  586. package/dist/shared/model-cache-ttl.d.ts.map +1 -0
  587. package/dist/shared/model-resolution.d.ts +35 -0
  588. package/dist/shared/model-resolution.d.ts.map +1 -0
  589. package/dist/shared/model-suggestion-retry.d.ts +138 -0
  590. package/dist/shared/model-suggestion-retry.d.ts.map +1 -0
  591. package/dist/shared/models-dev-cache.d.ts +156 -0
  592. package/dist/shared/models-dev-cache.d.ts.map +1 -0
  593. package/dist/shared/normalize-sdk-response.d.ts +5 -0
  594. package/dist/shared/normalize-sdk-response.d.ts.map +1 -0
  595. package/dist/shared/opencode-config-dir-types.d.ts +14 -0
  596. package/dist/shared/opencode-config-dir-types.d.ts.map +1 -0
  597. package/dist/shared/opencode-config-dir.d.ts +57 -0
  598. package/dist/shared/opencode-config-dir.d.ts.map +1 -0
  599. package/dist/shared/opencode-db-path.d.ts +68 -0
  600. package/dist/shared/opencode-db-path.d.ts.map +1 -0
  601. package/dist/shared/pi-executable.d.ts +6 -0
  602. package/dist/shared/pi-executable.d.ts.map +1 -0
  603. package/dist/shared/plugin-package-version.d.ts +14 -0
  604. package/dist/shared/plugin-package-version.d.ts.map +1 -0
  605. package/dist/shared/project-directory-key.d.ts +26 -0
  606. package/dist/shared/project-directory-key.d.ts.map +1 -0
  607. package/dist/shared/prompt-context.d.ts +31 -0
  608. package/dist/shared/prompt-context.d.ts.map +1 -0
  609. package/dist/shared/prompt-surface-a1-golden.d.ts +28 -0
  610. package/dist/shared/prompt-surface-a1-golden.d.ts.map +1 -0
  611. package/dist/shared/prompt-surface-runtime.d.ts +62 -0
  612. package/dist/shared/prompt-surface-runtime.d.ts.map +1 -0
  613. package/dist/shared/prompt-surface.d.ts +53 -0
  614. package/dist/shared/prompt-surface.d.ts.map +1 -0
  615. package/dist/shared/provider-response-completion.d.ts +12 -0
  616. package/dist/shared/provider-response-completion.d.ts.map +1 -0
  617. package/dist/shared/record-type-guard.d.ts +2 -0
  618. package/dist/shared/record-type-guard.d.ts.map +1 -0
  619. package/dist/shared/redaction.d.ts +7 -0
  620. package/dist/shared/redaction.d.ts.map +1 -0
  621. package/dist/shared/resolve-fallbacks.d.ts +48 -0
  622. package/dist/shared/resolve-fallbacks.d.ts.map +1 -0
  623. package/dist/shared/rpc-client.d.ts +28 -0
  624. package/dist/shared/rpc-client.d.ts.map +1 -0
  625. package/dist/shared/rpc-notifications.d.ts +74 -0
  626. package/dist/shared/rpc-notifications.d.ts.map +1 -0
  627. package/dist/shared/rpc-server.d.ts +52 -0
  628. package/dist/shared/rpc-server.d.ts.map +1 -0
  629. package/dist/shared/rpc-types.d.ts +385 -0
  630. package/dist/shared/rpc-types.d.ts.map +1 -0
  631. package/dist/shared/rpc-utils.d.ts +162 -0
  632. package/dist/shared/rpc-utils.d.ts.map +1 -0
  633. package/dist/shared/run-token-log.d.ts +13 -0
  634. package/dist/shared/run-token-log.d.ts.map +1 -0
  635. package/dist/shared/safe-notification-target.d.ts +23 -0
  636. package/dist/shared/safe-notification-target.d.ts.map +1 -0
  637. package/dist/shared/sqlite-context-pragmas.d.ts +12 -0
  638. package/dist/shared/sqlite-context-pragmas.d.ts.map +1 -0
  639. package/dist/shared/sqlite-helpers.d.ts +25 -0
  640. package/dist/shared/sqlite-helpers.d.ts.map +1 -0
  641. package/dist/shared/sqlite-write-locker-test-support.d.ts +7 -0
  642. package/dist/shared/sqlite-write-locker-test-support.d.ts.map +1 -0
  643. package/dist/shared/sqlite.d.ts +163 -0
  644. package/dist/shared/sqlite.d.ts.map +1 -0
  645. package/dist/shared/stable-json.d.ts +21 -0
  646. package/dist/shared/stable-json.d.ts.map +1 -0
  647. package/dist/shared/status-detail-text.d.ts +4 -0
  648. package/dist/shared/status-detail-text.d.ts.map +1 -0
  649. package/dist/shared/status-summary.d.ts +54 -0
  650. package/dist/shared/status-summary.d.ts.map +1 -0
  651. package/dist/shared/status-view-check.d.ts +130 -0
  652. package/dist/shared/status-view-check.d.ts.map +1 -0
  653. package/dist/shared/status-view.d.ts +230 -0
  654. package/dist/shared/status-view.d.ts.map +1 -0
  655. package/dist/shared/storage-permissions.d.ts +29 -0
  656. package/dist/shared/storage-permissions.d.ts.map +1 -0
  657. package/dist/shared/subagent-runner.d.ts +231 -0
  658. package/dist/shared/subagent-runner.d.ts.map +1 -0
  659. package/dist/shared/summarize-child-stderr.d.ts +2 -0
  660. package/dist/shared/summarize-child-stderr.d.ts.map +1 -0
  661. package/dist/shared/system-directive.d.ts +3 -0
  662. package/dist/shared/system-directive.d.ts.map +1 -0
  663. package/dist/shared/tag-owner-id.d.ts +19 -0
  664. package/dist/shared/tag-owner-id.d.ts.map +1 -0
  665. package/dist/shared/tag-transcript.d.ts +103 -0
  666. package/dist/shared/tag-transcript.d.ts.map +1 -0
  667. package/dist/shared/tail-hygiene-status.d.ts +24 -0
  668. package/dist/shared/tail-hygiene-status.d.ts.map +1 -0
  669. package/dist/shared/test-temp-dir.d.ts +46 -0
  670. package/dist/shared/test-temp-dir.d.ts.map +1 -0
  671. package/dist/shared/transcript.d.ts +251 -0
  672. package/dist/shared/transcript.d.ts.map +1 -0
  673. package/dist/shared/user-answer.d.ts +4 -0
  674. package/dist/shared/user-answer.d.ts.map +1 -0
  675. package/dist/shared/user-facing-codes.d.ts +135 -0
  676. package/dist/shared/user-facing-codes.d.ts.map +1 -0
  677. package/dist/shared/window-geometry.d.ts +121 -0
  678. package/dist/shared/window-geometry.d.ts.map +1 -0
  679. package/dist/shared/write-transaction-timing.d.ts +11 -0
  680. package/dist/shared/write-transaction-timing.d.ts.map +1 -0
  681. package/dist/shared/xml-unescape.d.ts +9 -0
  682. package/dist/shared/xml-unescape.d.ts.map +1 -0
  683. package/dist/tools/ctx-expand/constants.d.ts +3 -0
  684. package/dist/tools/ctx-expand/constants.d.ts.map +1 -0
  685. package/dist/tools/ctx-expand/index.d.ts +2 -0
  686. package/dist/tools/ctx-expand/index.d.ts.map +1 -0
  687. package/dist/tools/ctx-expand/mode.d.ts +35 -0
  688. package/dist/tools/ctx-expand/mode.d.ts.map +1 -0
  689. package/dist/tools/ctx-expand/render.d.ts +47 -0
  690. package/dist/tools/ctx-expand/render.d.ts.map +1 -0
  691. package/dist/tools/ctx-expand/tools.d.ts +10 -0
  692. package/dist/tools/ctx-expand/tools.d.ts.map +1 -0
  693. package/dist/tools/ctx-expand/types.d.ts +11 -0
  694. package/dist/tools/ctx-expand/types.d.ts.map +1 -0
  695. package/dist/tools/ctx-memory/constants.d.ts +3 -0
  696. package/dist/tools/ctx-memory/constants.d.ts.map +1 -0
  697. package/dist/tools/ctx-memory/index.d.ts +4 -0
  698. package/dist/tools/ctx-memory/index.d.ts.map +1 -0
  699. package/dist/tools/ctx-memory/tools.d.ts +5 -0
  700. package/dist/tools/ctx-memory/tools.d.ts.map +1 -0
  701. package/dist/tools/ctx-memory/types.d.ts +38 -0
  702. package/dist/tools/ctx-memory/types.d.ts.map +1 -0
  703. package/dist/tools/ctx-memory/verification-recording.d.ts +8 -0
  704. package/dist/tools/ctx-memory/verification-recording.d.ts.map +1 -0
  705. package/dist/tools/ctx-note/constants.d.ts +2 -0
  706. package/dist/tools/ctx-note/constants.d.ts.map +1 -0
  707. package/dist/tools/ctx-note/index.d.ts +4 -0
  708. package/dist/tools/ctx-note/index.d.ts.map +1 -0
  709. package/dist/tools/ctx-note/render.d.ts +67 -0
  710. package/dist/tools/ctx-note/render.d.ts.map +1 -0
  711. package/dist/tools/ctx-note/tools.d.ts +13 -0
  712. package/dist/tools/ctx-note/tools.d.ts.map +1 -0
  713. package/dist/tools/ctx-note/types.d.ts +14 -0
  714. package/dist/tools/ctx-note/types.d.ts.map +1 -0
  715. package/dist/tools/ctx-reduce/constants.d.ts +4 -0
  716. package/dist/tools/ctx-reduce/constants.d.ts.map +1 -0
  717. package/dist/tools/ctx-reduce/index.d.ts +4 -0
  718. package/dist/tools/ctx-reduce/index.d.ts.map +1 -0
  719. package/dist/tools/ctx-reduce/tools.d.ts +19 -0
  720. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -0
  721. package/dist/tools/ctx-reduce/types.d.ts +5 -0
  722. package/dist/tools/ctx-reduce/types.d.ts.map +1 -0
  723. package/dist/tools/ctx-search/constants.d.ts +4 -0
  724. package/dist/tools/ctx-search/constants.d.ts.map +1 -0
  725. package/dist/tools/ctx-search/date-range.d.ts +9 -0
  726. package/dist/tools/ctx-search/date-range.d.ts.map +1 -0
  727. package/dist/tools/ctx-search/index.d.ts +4 -0
  728. package/dist/tools/ctx-search/index.d.ts.map +1 -0
  729. package/dist/tools/ctx-search/tools.d.ts +5 -0
  730. package/dist/tools/ctx-search/tools.d.ts.map +1 -0
  731. package/dist/tools/ctx-search/types.d.ts +34 -0
  732. package/dist/tools/ctx-search/types.d.ts.map +1 -0
  733. package/dist/tools/light-descriptions.d.ts +6 -0
  734. package/dist/tools/light-descriptions.d.ts.map +1 -0
  735. package/dist/tools/parameter-descriptions.d.ts +75 -0
  736. package/dist/tools/parameter-descriptions.d.ts.map +1 -0
  737. package/dist/tools/unwrap-imitated-reduced-args.d.ts +21 -0
  738. package/dist/tools/unwrap-imitated-reduced-args.d.ts.map +1 -0
  739. package/dist/v2/fold/boundary.d.ts +61 -0
  740. package/dist/v2/fold/boundary.d.ts.map +1 -0
  741. package/dist/v2/fold/host-media.d.ts +36 -0
  742. package/dist/v2/fold/host-media.d.ts.map +1 -0
  743. package/dist/v2/fold/markers.d.ts +7 -0
  744. package/dist/v2/fold/markers.d.ts.map +1 -0
  745. package/dist/v2/fold/owner.d.ts +40 -0
  746. package/dist/v2/fold/owner.d.ts.map +1 -0
  747. package/dist/v2/fold/restore.d.ts +31 -0
  748. package/dist/v2/fold/restore.d.ts.map +1 -0
  749. package/dist/v2/fork-inheritance.d.ts +101 -0
  750. package/dist/v2/fork-inheritance.d.ts.map +1 -0
  751. package/dist/v2/hidden-child-cleanup.d.ts +11 -0
  752. package/dist/v2/hidden-child-cleanup.d.ts.map +1 -0
  753. package/dist/v2/hidden-child-native.d.ts +29 -0
  754. package/dist/v2/hidden-child-native.d.ts.map +1 -0
  755. package/dist/v2/hidden-child-record.d.ts +137 -0
  756. package/dist/v2/hidden-child-record.d.ts.map +1 -0
  757. package/dist/v2/hidden-completion.d.ts +57 -0
  758. package/dist/v2/hidden-completion.d.ts.map +1 -0
  759. package/dist/v2/hooks/channel2.d.ts +10 -0
  760. package/dist/v2/hooks/channel2.d.ts.map +1 -0
  761. package/dist/v2/hooks/commands.d.ts +29 -0
  762. package/dist/v2/hooks/commands.d.ts.map +1 -0
  763. package/dist/v2/hooks/context.d.ts +112 -0
  764. package/dist/v2/hooks/context.d.ts.map +1 -0
  765. package/dist/v2/hooks/deleted-session-tombstones.d.ts +10 -0
  766. package/dist/v2/hooks/deleted-session-tombstones.d.ts.map +1 -0
  767. package/dist/v2/hooks/generate.d.ts +10 -0
  768. package/dist/v2/hooks/generate.d.ts.map +1 -0
  769. package/dist/v2/hooks/hidden-child.d.ts +76 -0
  770. package/dist/v2/hooks/hidden-child.d.ts.map +1 -0
  771. package/dist/v2/hooks/hidden-terminal-error.d.ts +8 -0
  772. package/dist/v2/hooks/hidden-terminal-error.d.ts.map +1 -0
  773. package/dist/v2/hooks/lkg-system.d.ts +11 -0
  774. package/dist/v2/hooks/lkg-system.d.ts.map +1 -0
  775. package/dist/v2/hooks/model-limit-cache.d.ts +19 -0
  776. package/dist/v2/hooks/model-limit-cache.d.ts.map +1 -0
  777. package/dist/v2/hooks/payload.d.ts +15 -0
  778. package/dist/v2/hooks/payload.d.ts.map +1 -0
  779. package/dist/v2/hooks/refusal.d.ts +15 -0
  780. package/dist/v2/hooks/refusal.d.ts.map +1 -0
  781. package/dist/v2/hooks/restore-rows.d.ts +29 -0
  782. package/dist/v2/hooks/restore-rows.d.ts.map +1 -0
  783. package/dist/v2/hooks/rpc-live-state.d.ts +9 -0
  784. package/dist/v2/hooks/rpc-live-state.d.ts.map +1 -0
  785. package/dist/v2/hooks/session-api-gate.d.ts +4 -0
  786. package/dist/v2/hooks/session-api-gate.d.ts.map +1 -0
  787. package/dist/v2/hooks/session-project-backfill.d.ts +15 -0
  788. package/dist/v2/hooks/session-project-backfill.d.ts.map +1 -0
  789. package/dist/v2/hooks/storage-gate.d.ts +48 -0
  790. package/dist/v2/hooks/storage-gate.d.ts.map +1 -0
  791. package/dist/v2/hooks/storage-notice.d.ts +29 -0
  792. package/dist/v2/hooks/storage-notice.d.ts.map +1 -0
  793. package/dist/v2/hooks/store.d.ts +58 -0
  794. package/dist/v2/hooks/store.d.ts.map +1 -0
  795. package/dist/v2/hooks/tools.d.ts +8 -0
  796. package/dist/v2/hooks/tools.d.ts.map +1 -0
  797. package/dist/v2/hooks/types.d.ts +250 -0
  798. package/dist/v2/hooks/types.d.ts.map +1 -0
  799. package/dist/v2/hooks/usage-persist.d.ts +31 -0
  800. package/dist/v2/hooks/usage-persist.d.ts.map +1 -0
  801. package/dist/v2/hooks/usage-reading.d.ts +46 -0
  802. package/dist/v2/hooks/usage-reading.d.ts.map +1 -0
  803. package/dist/v2/server.d.ts +27 -0
  804. package/dist/v2/server.d.ts.map +1 -0
  805. package/dist/v2/server.js +76235 -0
  806. package/dist/v2/store-reader.d.ts +218 -0
  807. package/dist/v2/store-reader.d.ts.map +1 -0
  808. package/dist/web/api.d.ts +40 -0
  809. package/dist/web/api.d.ts.map +1 -0
  810. package/dist/web/context-store.d.ts +74 -0
  811. package/dist/web/context-store.d.ts.map +1 -0
  812. package/dist/web/fixtures.d.ts +53 -0
  813. package/dist/web/fixtures.d.ts.map +1 -0
  814. package/dist/web/host-opencode.d.ts +56 -0
  815. package/dist/web/host-opencode.d.ts.map +1 -0
  816. package/dist/web/host-pi.d.ts +116 -0
  817. package/dist/web/host-pi.d.ts.map +1 -0
  818. package/dist/web/main.d.ts +24 -0
  819. package/dist/web/main.d.ts.map +1 -0
  820. package/dist/web/main.js +6071 -0
  821. package/dist/web/memories.d.ts +67 -0
  822. package/dist/web/memories.d.ts.map +1 -0
  823. package/dist/web/server.d.ts +42 -0
  824. package/dist/web/server.d.ts.map +1 -0
  825. package/dist/web/types.d.ts +52 -0
  826. package/dist/web/types.d.ts.map +1 -0
  827. package/dist/web/ui/favicon.svg +4 -0
  828. package/dist/web/ui/index.html +36 -0
  829. package/dist/web/ui/panel.css +8 -0
  830. package/dist/web/ui/panel.js +373 -0
  831. package/dist/web/views.d.ts +155 -0
  832. package/dist/web/views.d.ts.map +1 -0
  833. package/dist/web/writes.d.ts +86 -0
  834. package/dist/web/writes.d.ts.map +1 -0
  835. package/dist/wrapup-orchestrator-z9sqpqjf.js +420 -0
  836. package/index.js +1 -0
  837. package/package.json +84 -4
  838. package/src/agents/historian.ts +3 -0
  839. package/src/agents/language-directive.test.ts +129 -0
  840. package/src/agents/language-directive.ts +113 -0
  841. package/src/agents/magic-context-prompt.language.test.ts +37 -0
  842. package/src/agents/magic-context-prompt.test.ts +520 -0
  843. package/src/agents/magic-context-prompt.ts +196 -0
  844. package/src/agents/memory-maintainer.test.ts +249 -0
  845. package/src/agents/memory-maintainer.ts +374 -0
  846. package/src/config/agent-disable.ts +58 -0
  847. package/src/config/compaction-accessor-guard.test.ts +81 -0
  848. package/src/config/compaction-backcompat.test.ts +52 -0
  849. package/src/config/config-paths.ts +42 -0
  850. package/src/config/index.test.ts +1252 -0
  851. package/src/config/index.ts +762 -0
  852. package/src/config/latch-permanence-guard.test.ts +218 -0
  853. package/src/config/live-run-config.test.ts +139 -0
  854. package/src/config/live-run-config.ts +79 -0
  855. package/src/config/live-schema-drift.test.ts +67 -0
  856. package/src/config/live-snapshot.test.ts +86 -0
  857. package/src/config/live-snapshot.ts +187 -0
  858. package/src/config/migrate-experimental.ts +92 -0
  859. package/src/config/misplaced-agent-model.test.ts +55 -0
  860. package/src/config/profiles.ts +106 -0
  861. package/src/config/project-config-trust-boundary.test.ts +185 -0
  862. package/src/config/project-security.hostile-matrix.test.ts +281 -0
  863. package/src/config/project-security.test.ts +329 -0
  864. package/src/config/project-security.ts +940 -0
  865. package/src/config/protected-tokens.test.ts +229 -0
  866. package/src/config/prune-config-leaf.test.ts +78 -0
  867. package/src/config/prune-config-leaf.ts +67 -0
  868. package/src/config/raw-loader.test.ts +389 -0
  869. package/src/config/raw-loader.ts +435 -0
  870. package/src/config/removed-agent-config.ts +45 -0
  871. package/src/config/removed-agent-source-fence.test.ts +53 -0
  872. package/src/config/removed-config-keys.test.ts +106 -0
  873. package/src/config/schema/agent-overrides.ts +45 -0
  874. package/src/config/schema/magic-context.test.ts +434 -0
  875. package/src/config/schema/magic-context.ts +1019 -0
  876. package/src/config/variable.test.ts +324 -0
  877. package/src/config/variable.ts +192 -0
  878. package/src/shared/__fixtures__/window-overlay.v1.json +337 -0
  879. package/src/shared/announcement.test.ts +198 -0
  880. package/src/shared/announcement.ts +145 -0
  881. package/src/shared/assistant-message-extractor.test.ts +47 -0
  882. package/src/shared/assistant-message-extractor.ts +156 -0
  883. package/src/shared/auto-update-provenance.ts +42 -0
  884. package/src/shared/bounded-session-map.test.ts +97 -0
  885. package/src/shared/bounded-session-map.ts +84 -0
  886. package/src/shared/builtin-commands.ts +46 -0
  887. package/src/shared/cache-ttl-display.test.ts +84 -0
  888. package/src/shared/cache-ttl-display.ts +58 -0
  889. package/src/shared/cache-ttl-seed.ts +23 -0
  890. package/src/shared/child-session-teardown.test.ts +241 -0
  891. package/src/shared/child-session-teardown.ts +66 -0
  892. package/src/shared/commit-detection.test.ts +63 -0
  893. package/src/shared/commit-detection.ts +53 -0
  894. package/src/shared/config-diagnostics.test.ts +29 -0
  895. package/src/shared/config-diagnostics.ts +64 -0
  896. package/src/shared/conflict-detector.test.ts +780 -0
  897. package/src/shared/conflict-detector.ts +596 -0
  898. package/src/shared/conflict-fixer.test.ts +608 -0
  899. package/src/shared/conflict-fixer.ts +295 -0
  900. package/src/shared/context-limit-provenance.ts +6 -0
  901. package/src/shared/data-path.test.ts +352 -0
  902. package/src/shared/data-path.ts +310 -0
  903. package/src/shared/error-message.test.ts +94 -0
  904. package/src/shared/error-message.ts +115 -0
  905. package/src/shared/escalation-bands.test.ts +23 -0
  906. package/src/shared/escalation-bands.ts +18 -0
  907. package/src/shared/format-bytes.ts +5 -0
  908. package/src/shared/format-threshold.ts +54 -0
  909. package/src/shared/harness-provider-map.test.ts +176 -0
  910. package/src/shared/harness-provider-map.ts +130 -0
  911. package/src/shared/harness.ts +76 -0
  912. package/src/shared/hidden-variant-warnings.ts +21 -0
  913. package/src/shared/historian-tool-defaults.json +13 -0
  914. package/src/shared/historian-tool-expansions.ts +18 -0
  915. package/src/shared/historian-tool-template.ts +248 -0
  916. package/src/shared/historian-transient-error.test.ts +36 -0
  917. package/src/shared/historian-transient-error.ts +22 -0
  918. package/src/shared/host-limitations.ts +43 -0
  919. package/src/shared/index.ts +7 -0
  920. package/src/shared/internal-initiator-marker.ts +1 -0
  921. package/src/shared/jsonc-edit.ts +387 -0
  922. package/src/shared/jsonc-parser.test.ts +46 -0
  923. package/src/shared/jsonc-parser.ts +283 -0
  924. package/src/shared/keep-subagents.test.ts +39 -0
  925. package/src/shared/keep-subagents.ts +28 -0
  926. package/src/shared/logger.test.ts +292 -0
  927. package/src/shared/logger.ts +248 -0
  928. package/src/shared/model-cache-ttl.test.ts +40 -0
  929. package/src/shared/model-cache-ttl.ts +58 -0
  930. package/src/shared/model-resolution.test.ts +132 -0
  931. package/src/shared/model-resolution.ts +158 -0
  932. package/src/shared/model-suggestion-retry.test.ts +698 -0
  933. package/src/shared/model-suggestion-retry.ts +838 -0
  934. package/src/shared/models-dev-cache.test.ts +720 -0
  935. package/src/shared/models-dev-cache.ts +661 -0
  936. package/src/shared/normalize-sdk-response.ts +40 -0
  937. package/src/shared/opencode-config-dir-types.ts +15 -0
  938. package/src/shared/opencode-config-dir.ts +111 -0
  939. package/src/shared/opencode-db-path.test.ts +389 -0
  940. package/src/shared/opencode-db-path.ts +396 -0
  941. package/src/shared/opencode-host-generation.test.ts +29 -0
  942. package/src/shared/pi-executable.ts +20 -0
  943. package/src/shared/plugin-package-version.ts +52 -0
  944. package/src/shared/project-directory-key.test.ts +111 -0
  945. package/src/shared/project-directory-key.ts +54 -0
  946. package/src/shared/prompt-context.ts +135 -0
  947. package/src/shared/prompt-surface-a1-golden.md +407 -0
  948. package/src/shared/prompt-surface-a1-golden.ts +41 -0
  949. package/src/shared/prompt-surface-runtime.test.ts +190 -0
  950. package/src/shared/prompt-surface-runtime.ts +263 -0
  951. package/src/shared/prompt-surface.test.ts +195 -0
  952. package/src/shared/prompt-surface.ts +162 -0
  953. package/src/shared/provider-response-completion.ts +23 -0
  954. package/src/shared/record-type-guard.ts +3 -0
  955. package/src/shared/redaction.test.ts +134 -0
  956. package/src/shared/redaction.ts +298 -0
  957. package/src/shared/resolve-fallbacks.test.ts +114 -0
  958. package/src/shared/resolve-fallbacks.ts +95 -0
  959. package/src/shared/rpc-async-probes.test.ts +320 -0
  960. package/src/shared/rpc-client.test.ts +576 -0
  961. package/src/shared/rpc-client.ts +218 -0
  962. package/src/shared/rpc-notifications.test.ts +151 -0
  963. package/src/shared/rpc-notifications.ts +222 -0
  964. package/src/shared/rpc-server.ts +431 -0
  965. package/src/shared/rpc-types.ts +386 -0
  966. package/src/shared/rpc-utils.test.ts +822 -0
  967. package/src/shared/rpc-utils.ts +1146 -0
  968. package/src/shared/run-token-log.test.ts +65 -0
  969. package/src/shared/run-token-log.ts +39 -0
  970. package/src/shared/safe-notification-target.test.ts +97 -0
  971. package/src/shared/safe-notification-target.ts +102 -0
  972. package/src/shared/session-messages-bounded.test.ts +112 -0
  973. package/src/shared/sqlite-acquisition-fence.test.ts +133 -0
  974. package/src/shared/sqlite-acquisition-routing.test.ts +145 -0
  975. package/src/shared/sqlite-bind-style.test.ts +80 -0
  976. package/src/shared/sqlite-context-pragmas.ts +24 -0
  977. package/src/shared/sqlite-helpers.ts +44 -0
  978. package/src/shared/sqlite-import-fence.test.ts +19 -0
  979. package/src/shared/sqlite-pass-scope.test.ts +154 -0
  980. package/src/shared/sqlite-transaction-mode-guard.test.ts +234 -0
  981. package/src/shared/sqlite-write-locker-test-support.ts +63 -0
  982. package/src/shared/sqlite.test.ts +58 -0
  983. package/src/shared/sqlite.ts +988 -0
  984. package/src/shared/stable-json.test.ts +87 -0
  985. package/src/shared/stable-json.ts +37 -0
  986. package/src/shared/status-detail-text.test.ts +194 -0
  987. package/src/shared/status-detail-text.ts +7 -0
  988. package/src/shared/status-summary.ts +189 -0
  989. package/src/shared/status-view-check.test.ts +252 -0
  990. package/src/shared/status-view-check.ts +519 -0
  991. package/src/shared/status-view.test.ts +395 -0
  992. package/src/shared/status-view.ts +794 -0
  993. package/src/shared/storage-busy.test.ts +73 -0
  994. package/src/shared/storage-permissions.test.ts +190 -0
  995. package/src/shared/storage-permissions.ts +212 -0
  996. package/src/shared/subagent-runner.ts +240 -0
  997. package/src/shared/summarize-child-stderr.test.ts +55 -0
  998. package/src/shared/summarize-child-stderr.ts +33 -0
  999. package/src/shared/system-directive.ts +9 -0
  1000. package/src/shared/tag-owner-id.test.ts +33 -0
  1001. package/src/shared/tag-owner-id.ts +29 -0
  1002. package/src/shared/tag-transcript.test.ts +554 -0
  1003. package/src/shared/tag-transcript.ts +1400 -0
  1004. package/src/shared/tail-hygiene-status.ts +73 -0
  1005. package/src/shared/test-temp-dir.test.ts +84 -0
  1006. package/src/shared/test-temp-dir.ts +192 -0
  1007. package/src/shared/transcript.ts +274 -0
  1008. package/src/shared/user-answer.test.ts +12 -0
  1009. package/src/shared/user-answer.ts +17 -0
  1010. package/src/shared/user-facing-codes.test.ts +82 -0
  1011. package/src/shared/user-facing-codes.ts +180 -0
  1012. package/src/shared/window-geometry.test.ts +405 -0
  1013. package/src/shared/window-geometry.ts +726 -0
  1014. package/src/shared/windows-hidden-spawns.test.ts +133 -0
  1015. package/src/shared/write-transaction-attribution.test.ts +214 -0
  1016. package/src/shared/write-transaction-timing.ts +26 -0
  1017. package/src/shared/xml-unescape.ts +19 -0
  1018. package/README.md +0 -3
@@ -0,0 +1,907 @@
1
+ import {
2
+ getHarness,
3
+ getDataDir,
4
+ getMagicContextStorageDir,
5
+ log,
6
+ sessionLog
7
+ } from "./index-qbkzdkk0.js";
8
+ import {
9
+ modelRefLookupOrder,
10
+ localBudget,
11
+ calibrationForModelKey
12
+ } from "./index-3wagyrnj.js";
13
+
14
+ // src/shared/models-dev-cache.ts
15
+ import { readFileSync as readFileSync2 } from "node:fs";
16
+ import { join as join3 } from "node:path";
17
+
18
+ // src/shared/storage-permissions.ts
19
+ import { randomBytes } from "node:crypto";
20
+ import {
21
+ chmodSync,
22
+ closeSync,
23
+ createWriteStream,
24
+ lstatSync,
25
+ mkdirSync,
26
+ openSync,
27
+ readdirSync,
28
+ readlinkSync,
29
+ readSync,
30
+ renameSync,
31
+ rmSync,
32
+ symlinkSync,
33
+ writeFileSync,
34
+ writeSync
35
+ } from "node:fs";
36
+ import { open as openAsync, writeFile as writeFileAsync } from "node:fs/promises";
37
+ import { dirname, join } from "node:path";
38
+ var enforcePrivateStoragePermissions = true;
39
+ function shouldEnforcePrivateStoragePermissions() {
40
+ return enforcePrivateStoragePermissions;
41
+ }
42
+ function ensureStorageDirectorySync(directory, forcePrivate = false, recursive = true) {
43
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
44
+ mkdirSync(directory, {
45
+ recursive,
46
+ ...privateMode ? { mode: 448 } : {}
47
+ });
48
+ }
49
+ function writeStorageFileSync(filePath, content, options = {}) {
50
+ const { forcePrivate = false, ...writeOptions } = options;
51
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
52
+ writeFileSync(filePath, content, {
53
+ ...writeOptions,
54
+ ...privateMode ? { mode: 384 } : {}
55
+ });
56
+ }
57
+ function writeStorageFileAtomicSync(filePath, content, forcePrivate = false) {
58
+ ensureStorageDirectorySync(dirname(filePath), forcePrivate);
59
+ const tempPath = `${filePath}.${process.pid}.${randomBytes(6).toString("hex")}.tmp`;
60
+ try {
61
+ writeStorageFileSync(tempPath, content, { flag: "wx", forcePrivate });
62
+ renameSync(tempPath, filePath);
63
+ } catch (error) {
64
+ rmSync(tempPath, { force: true });
65
+ throw error;
66
+ }
67
+ }
68
+ function copyStorageFileSync(sourcePath, destinationPath, forcePrivate = false) {
69
+ ensureStorageDirectorySync(dirname(destinationPath), forcePrivate);
70
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
71
+ const sourceFd = openSync(sourcePath, "r");
72
+ let destinationFd;
73
+ try {
74
+ destinationFd = openSync(destinationPath, "wx", privateMode ? 384 : 438);
75
+ const buffer = Buffer.allocUnsafe(1024 * 1024);
76
+ for (;; ) {
77
+ const bytesRead = readSync(sourceFd, buffer, 0, buffer.length, null);
78
+ if (bytesRead === 0)
79
+ break;
80
+ let offset = 0;
81
+ while (offset < bytesRead) {
82
+ offset += writeSync(destinationFd, buffer, offset, bytesRead - offset);
83
+ }
84
+ }
85
+ } catch (error) {
86
+ if (destinationFd !== undefined)
87
+ rmSync(destinationPath, { force: true });
88
+ throw error;
89
+ } finally {
90
+ closeSync(sourceFd);
91
+ if (destinationFd !== undefined)
92
+ closeSync(destinationFd);
93
+ }
94
+ }
95
+ async function writeStorageFileAsync(filePath, content, forcePrivate = false) {
96
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
97
+ ensureStorageDirectorySync(dirname(filePath), privateMode);
98
+ await writeFileAsync(filePath, content, privateMode ? { mode: 384 } : undefined);
99
+ }
100
+ function createStorageWriteStream(filePath, forcePrivate = false) {
101
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
102
+ return createWriteStream(filePath, privateMode ? { mode: 384 } : undefined);
103
+ }
104
+ function tightenStorageTreeSync(root) {
105
+ if (!shouldEnforcePrivateStoragePermissions() || process.platform === "win32") {
106
+ return { tightened: 0, failures: 0 };
107
+ }
108
+ let tightened = 0;
109
+ let failures = 0;
110
+ const visit = (entryPath) => {
111
+ let stat;
112
+ try {
113
+ stat = lstatSync(entryPath);
114
+ } catch {
115
+ failures++;
116
+ return;
117
+ }
118
+ if (stat.isSymbolicLink())
119
+ return;
120
+ const mode = stat.isDirectory() ? 448 : 384;
121
+ if ((stat.mode & 63) !== 0 || (stat.mode & 511) !== mode) {
122
+ try {
123
+ chmodSync(entryPath, mode);
124
+ tightened++;
125
+ } catch {
126
+ failures++;
127
+ }
128
+ }
129
+ if (!stat.isDirectory())
130
+ return;
131
+ let entries;
132
+ try {
133
+ entries = readdirSync(entryPath);
134
+ } catch {
135
+ failures++;
136
+ return;
137
+ }
138
+ for (const entry of entries)
139
+ visit(join(entryPath, entry));
140
+ };
141
+ visit(root);
142
+ return { tightened, failures };
143
+ }
144
+
145
+ // src/shared/window-geometry.ts
146
+ import { readFileSync } from "node:fs";
147
+ import { join as join2 } from "node:path";
148
+ var WINDOW_OVERLAY_SCHEMA = "fusiform-window-overlay/v1";
149
+ var PROMPT_WALL_MARGIN = 4096;
150
+ var PI_OUTPUT_FLOOR = 4096;
151
+ var OPENCODE_OUTPUT_CAP = 32000;
152
+ var MIN_PLAUSIBLE_CONTEXT_LIMIT = 1024;
153
+ var OUTPUT_RESERVE_CAP_RATIO = 0.25;
154
+ function catalogOutputReserve(window, output) {
155
+ return Math.min(output ?? 0, Math.floor(window * OUTPUT_RESERVE_CAP_RATIO));
156
+ }
157
+ var PROVIDER_GEOMETRY = {
158
+ anthropic: "shared_truncating",
159
+ xai: "shared_truncating",
160
+ google: "separate",
161
+ "google-antigravity": "separate"
162
+ };
163
+ var GRADES = new Set([
164
+ "provider_asserted_runtime",
165
+ "measured",
166
+ "provider_asserted_doc",
167
+ "catalog",
168
+ "unknown"
169
+ ]);
170
+ var UNITS = new Set(["provider", "estimate"]);
171
+ var BOUNDARIES = new Set(["Observed", "Asserted", "Corrected"]);
172
+ var UNKNOWN_REASONS = new Set([
173
+ "placeholder_output_equals_context",
174
+ "placeholder_zero",
175
+ "never_measured",
176
+ "not_single_valued_at_key",
177
+ "retracted"
178
+ ]);
179
+ var NUMERIC_FACT_KEYS = new Set([
180
+ "window.advertised",
181
+ "window.enforced",
182
+ "output.advertised",
183
+ "output.enforced",
184
+ "output.default"
185
+ ]);
186
+ var configuredOverlayPath;
187
+ var loadedOverlayPath;
188
+ var loadedOverlay;
189
+ var geometryClampLogSeen = new Set;
190
+ function isRecord(value) {
191
+ return typeof value === "object" && value !== null && !Array.isArray(value);
192
+ }
193
+ function isFinitePositive(value) {
194
+ return typeof value === "number" && Number.isFinite(value) && value > 0;
195
+ }
196
+ function scalarizeFact(value) {
197
+ if (value.kind === "stated")
198
+ return isFinitePositive(value.value) ? value.value : undefined;
199
+ if (value.kind === "bracket") {
200
+ return isFinitePositive(value.at_least) ? value.at_least : undefined;
201
+ }
202
+ return;
203
+ }
204
+ function parseFactValue(value) {
205
+ if (!isRecord(value) || typeof value.kind !== "string")
206
+ return;
207
+ if (value.kind === "stated") {
208
+ if ((typeof value.value !== "number" || !Number.isFinite(value.value)) && typeof value.value !== "string") {
209
+ return;
210
+ }
211
+ return { kind: "stated", value: value.value };
212
+ }
213
+ if (value.kind === "bracket") {
214
+ const atLeast = value.at_least;
215
+ const below = value.below;
216
+ if (atLeast === undefined && below === undefined)
217
+ return { kind: "bracket" };
218
+ if (atLeast !== undefined && !isFinitePositive(atLeast))
219
+ return;
220
+ if (below !== undefined && !isFinitePositive(below))
221
+ return;
222
+ if (isFinitePositive(atLeast) && isFinitePositive(below) && below <= atLeast) {
223
+ return;
224
+ }
225
+ return {
226
+ kind: "bracket",
227
+ ...isFinitePositive(atLeast) ? { at_least: atLeast } : {},
228
+ ...isFinitePositive(below) ? { below } : {}
229
+ };
230
+ }
231
+ if (value.kind === "unknown" && UNKNOWN_REASONS.has(value.why)) {
232
+ return { kind: "unknown", why: value.why };
233
+ }
234
+ return;
235
+ }
236
+ function parseFact(key, value) {
237
+ if (!isRecord(value))
238
+ return;
239
+ const parsedValue = parseFactValue(value.value);
240
+ if (!parsedValue || !GRADES.has(value.grade) || !UNITS.has(value.units) || !BOUNDARIES.has(value.boundary) || typeof value.source_ref !== "string" || value.source_ref.length === 0 || typeof value.observed_at !== "string" || value.observed_at.length === 0) {
241
+ return;
242
+ }
243
+ if (NUMERIC_FACT_KEYS.has(key) && parsedValue.kind === "stated" && !isFinitePositive(parsedValue.value)) {
244
+ return;
245
+ }
246
+ if (key === "geometry" && parsedValue.kind === "stated" && !["shared_upfront", "shared_truncating", "separate"].includes(String(parsedValue.value))) {
247
+ return;
248
+ }
249
+ return {
250
+ ...value,
251
+ value: parsedValue,
252
+ grade: value.grade,
253
+ units: value.units,
254
+ boundary: value.boundary,
255
+ source_ref: value.source_ref,
256
+ observed_at: value.observed_at
257
+ };
258
+ }
259
+ function parseWindowOverlay(value) {
260
+ if (!isRecord(value)) {
261
+ return { badCells: 0, refusal: "overlay root is not an object" };
262
+ }
263
+ if (value.schema !== WINDOW_OVERLAY_SCHEMA) {
264
+ return {
265
+ badCells: 0,
266
+ refusal: `unrecognized schema ${JSON.stringify(value.schema)}`
267
+ };
268
+ }
269
+ if (typeof value.generated_at !== "string" || !Array.isArray(value.minted_provider_ids) || !value.minted_provider_ids.every((id) => typeof id === "string" && id.length > 0) || !Array.isArray(value.cells)) {
270
+ return { badCells: 0, refusal: "invalid v1 envelope" };
271
+ }
272
+ const cells = [];
273
+ let badCells = 0;
274
+ for (const rawCell of value.cells) {
275
+ if (!isRecord(rawCell) || typeof rawCell.provider_id !== "string" || rawCell.provider_id.length === 0 || typeof rawCell.model_id !== "string" || rawCell.model_id.length === 0 || !isRecord(rawCell.facts)) {
276
+ badCells++;
277
+ continue;
278
+ }
279
+ const facts = {};
280
+ let valid = true;
281
+ for (const [key, rawFact] of Object.entries(rawCell.facts)) {
282
+ const fact = parseFact(key, rawFact);
283
+ if (!fact) {
284
+ valid = false;
285
+ break;
286
+ }
287
+ facts[key] = fact;
288
+ }
289
+ if (!valid) {
290
+ badCells++;
291
+ continue;
292
+ }
293
+ cells.push({
294
+ provider_id: rawCell.provider_id,
295
+ model_id: rawCell.model_id,
296
+ facts
297
+ });
298
+ }
299
+ return {
300
+ overlay: {
301
+ schema: WINDOW_OVERLAY_SCHEMA,
302
+ generated_at: value.generated_at,
303
+ minted_provider_ids: [...value.minted_provider_ids],
304
+ cells
305
+ },
306
+ badCells
307
+ };
308
+ }
309
+ function defaultWindowOverlayPath() {
310
+ return join2(getDataDir(), "fusiform", "window-overlay.json");
311
+ }
312
+ function readWindowOverlayFile(path, log = (message) => sessionLog("global", message)) {
313
+ let raw;
314
+ try {
315
+ raw = readFileSync(path, "utf8");
316
+ } catch (error) {
317
+ if (error.code === "ENOENT")
318
+ return;
319
+ log(`window-overlay: unable to read ${path}; overlay ignored`);
320
+ return;
321
+ }
322
+ let decoded;
323
+ try {
324
+ decoded = JSON.parse(raw);
325
+ } catch {
326
+ log(`window-overlay: invalid JSON in ${path}; overlay ignored`);
327
+ return;
328
+ }
329
+ const parsed = parseWindowOverlay(decoded);
330
+ if (parsed.refusal) {
331
+ log(`window-overlay: ${parsed.refusal} in ${path}; entire overlay ignored`);
332
+ return;
333
+ }
334
+ if (parsed.badCells > 0) {
335
+ log(`window-overlay: skipped ${parsed.badCells} invalid cell(s) from ${path}`);
336
+ }
337
+ return parsed.overlay;
338
+ }
339
+ function setWindowOverlayPath(path) {
340
+ if (configuredOverlayPath === path)
341
+ return;
342
+ reloadWindowOverlay(path);
343
+ }
344
+ function reloadWindowOverlay(path) {
345
+ configuredOverlayPath = path;
346
+ loadedOverlayPath = undefined;
347
+ loadedOverlay = undefined;
348
+ }
349
+ function getWindowOverlay() {
350
+ const path = configuredOverlayPath ?? defaultWindowOverlayPath();
351
+ if (loadedOverlayPath === path && loadedOverlay !== undefined) {
352
+ return loadedOverlay ?? undefined;
353
+ }
354
+ loadedOverlayPath = path;
355
+ loadedOverlay = readWindowOverlayFile(path) ?? null;
356
+ return loadedOverlay ?? undefined;
357
+ }
358
+ function resolveWindowOverlayFacts(providerID, modelID, overlay = getWindowOverlay()) {
359
+ if (!overlay)
360
+ return;
361
+ const modelRefs = modelRefLookupOrder(`${providerID}/${modelID}`);
362
+ const providerCandidates = new Set(modelRefs.map((ref) => ref.slice(0, ref.indexOf("/"))));
363
+ const modelCandidates = new Set([
364
+ modelID,
365
+ ...modelRefs.map((ref) => ref.slice(ref.indexOf("/") + 1))
366
+ ]);
367
+ const colon = modelID.lastIndexOf(":");
368
+ if (colon > 0)
369
+ modelCandidates.add(modelID.slice(0, colon));
370
+ const wildcardFacts = {};
371
+ const specificFacts = {};
372
+ for (const cell of overlay.cells) {
373
+ if (!providerCandidates.has(cell.provider_id))
374
+ continue;
375
+ if (cell.model_id === "*")
376
+ Object.assign(wildcardFacts, cell.facts);
377
+ else if (modelCandidates.has(cell.model_id))
378
+ Object.assign(specificFacts, cell.facts);
379
+ }
380
+ const facts = { ...wildcardFacts, ...specificFacts };
381
+ return Object.keys(facts).length > 0 ? { facts } : undefined;
382
+ }
383
+ function numericOverlayFact(overlay, key) {
384
+ const fact = overlay?.facts[key];
385
+ return fact ? scalarizeFact(fact.value) : undefined;
386
+ }
387
+ function overlayGeometry(overlay) {
388
+ const fact = overlay?.facts.geometry;
389
+ if (fact === undefined)
390
+ return;
391
+ if (fact.value.kind === "unknown")
392
+ return { kind: "unknown" };
393
+ if (fact.value.kind !== "stated")
394
+ return;
395
+ const value = fact.value.value;
396
+ return value === "shared_upfront" || value === "shared_truncating" || value === "separate" ? { kind: "stated", value } : undefined;
397
+ }
398
+ function placeholderFilteredOutput(output, context) {
399
+ if (!isFinitePositive(output))
400
+ return;
401
+ if (isFinitePositive(context) && output >= context)
402
+ return;
403
+ return output;
404
+ }
405
+ function mergePositive(overlayValue, providerValue) {
406
+ return isFinitePositive(providerValue) ? providerValue : overlayValue;
407
+ }
408
+ function logGeometryClampOnce(key, message, log) {
409
+ if (geometryClampLogSeen.has(key))
410
+ return;
411
+ geometryClampLogSeen.add(key);
412
+ (log ?? ((entry) => sessionLog("global", `window-geometry: ${entry}`)))(message);
413
+ }
414
+ function deriveWindowGeometry(providerID, modelID, catalogLimit, options = {}) {
415
+ if (!catalogLimit && !options.providerLimit)
416
+ return;
417
+ const providerLimit = options.providerLimit;
418
+ const catalogContext = isFinitePositive(catalogLimit?.context) ? catalogLimit.context : undefined;
419
+ const providerContext = isFinitePositive(providerLimit?.context) ? providerLimit.context : undefined;
420
+ const advertised = numericOverlayFact(options.overlay, "window.advertised");
421
+ const enforced = numericOverlayFact(options.overlay, "window.enforced");
422
+ let softContext = mergePositive(enforced ?? advertised ?? catalogContext, providerContext);
423
+ let hardContext = mergePositive(enforced ?? softContext, providerContext);
424
+ const contextCap = isFinitePositive(options.contextCap) ? options.contextCap : undefined;
425
+ const hasContextCap = contextCap !== undefined;
426
+ if (contextCap !== undefined) {
427
+ softContext = isFinitePositive(softContext) ? Math.min(softContext, contextCap) : contextCap;
428
+ hardContext = isFinitePositive(hardContext) ? Math.min(hardContext, contextCap) : contextCap;
429
+ }
430
+ const input = mergePositive(isFinitePositive(catalogLimit?.input) ? catalogLimit.input : undefined, providerLimit?.input);
431
+ if (!isFinitePositive(softContext) && !isFinitePositive(input))
432
+ return;
433
+ const catalogOutput = options.overlay === undefined && options.providerLimit === undefined ? isFinitePositive(catalogLimit?.output) ? catalogLimit.output : undefined : placeholderFilteredOutput(catalogLimit?.output, softContext);
434
+ const overlayOutput = placeholderFilteredOutput(numericOverlayFact(options.overlay, "output.enforced") ?? numericOverlayFact(options.overlay, "output.default") ?? numericOverlayFact(options.overlay, "output.advertised"), softContext);
435
+ const providerOutput = placeholderFilteredOutput(providerLimit?.output, softContext);
436
+ const output = providerOutput ?? overlayOutput ?? catalogOutput;
437
+ const geometryFact = overlayGeometry(options.overlay);
438
+ const geometry = geometryFact?.kind === "stated" ? geometryFact.value : geometryFact?.kind === "unknown" ? "shared_upfront" : PROVIDER_GEOMETRY[providerID] ?? "shared_upfront";
439
+ const geometryOverride = geometryFact?.kind === "stated" ? geometryFact.value : undefined;
440
+ const preCarvedInput = isFinitePositive(input) && (!isFinitePositive(softContext) || input < softContext);
441
+ const outputReserveOverride = typeof options.outputReserveOverride === "number" && Number.isFinite(options.outputReserveOverride) && options.outputReserveOverride >= 0 ? options.outputReserveOverride : undefined;
442
+ let derivationWindow = softContext ?? input;
443
+ let usableSoft;
444
+ let softReserve = 0;
445
+ let reserveSource = "none";
446
+ if (outputReserveOverride !== undefined) {
447
+ const reserveWindow = preCarvedInput ? input : softContext ?? input;
448
+ if (!isFinitePositive(reserveWindow))
449
+ return;
450
+ derivationWindow = reserveWindow;
451
+ softReserve = outputReserveOverride;
452
+ reserveSource = "output_config";
453
+ const floor = Math.max(MIN_PLAUSIBLE_CONTEXT_LIMIT, reserveWindow * 0.5);
454
+ const flooredReserve = Math.min(softReserve, Math.max(0, reserveWindow - floor));
455
+ if (flooredReserve < softReserve) {
456
+ logGeometryClampOnce(`soft-floor|${providerID}/${modelID}|${softReserve}|${flooredReserve}`, `output reserve clamped by the half-window floor for ${providerID}/${modelID}: reserve ${softReserve} → ${flooredReserve}`, options.log);
457
+ }
458
+ softReserve = flooredReserve;
459
+ usableSoft = Math.floor(reserveWindow - softReserve);
460
+ } else if (preCarvedInput) {
461
+ usableSoft = input;
462
+ if (isFinitePositive(softContext)) {
463
+ softReserve = Math.max(0, softContext - input);
464
+ reserveSource = "output_catalog";
465
+ }
466
+ } else if (isFinitePositive(softContext)) {
467
+ if (geometry === "separate" && (options.overlay === undefined || options.harness === "pi" || geometryOverride !== undefined)) {
468
+ softReserve = 0;
469
+ reserveSource = "none";
470
+ } else {
471
+ softReserve = output ?? 0;
472
+ reserveSource = output === undefined ? "none" : "output_catalog";
473
+ const cap = softContext * OUTPUT_RESERVE_CAP_RATIO;
474
+ softReserve = Math.min(softReserve, options.harness === "pi" || options.overlay === undefined ? cap : Math.min(cap, OPENCODE_OUTPUT_CAP));
475
+ }
476
+ const floor = Math.max(MIN_PLAUSIBLE_CONTEXT_LIMIT, softContext * 0.5);
477
+ const flooredReserve = Math.min(softReserve, Math.max(0, softContext - floor));
478
+ if (flooredReserve < softReserve) {
479
+ logGeometryClampOnce(`soft-floor|${providerID}/${modelID}|${softReserve}|${flooredReserve}`, `output reserve clamped by the half-window floor for ${providerID}/${modelID}: reserve ${softReserve} → ${flooredReserve} (catalog context/output pair is contradictory)`, options.log);
480
+ }
481
+ softReserve = flooredReserve;
482
+ usableSoft = Math.floor(softContext - softReserve);
483
+ } else {
484
+ usableSoft = input;
485
+ }
486
+ const hardWindow = hardContext ?? softContext ?? input;
487
+ if (!isFinitePositive(hardWindow))
488
+ return;
489
+ const windowSource = hasContextCap ? "detected" : providerContext !== undefined ? "provider" : enforced !== undefined || advertised !== undefined ? "overlay" : "catalog";
490
+ let usableHard;
491
+ if (geometry === "separate") {
492
+ usableHard = hardWindow;
493
+ } else if (geometry === "shared_truncating") {
494
+ usableHard = hardWindow - PROMPT_WALL_MARGIN;
495
+ } else if (options.harness === "pi" && providerID !== "openai-codex") {
496
+ usableHard = hardWindow - PI_OUTPUT_FLOOR;
497
+ } else if (options.harness === "pi") {
498
+ usableHard = hardWindow - (output ?? OPENCODE_OUTPUT_CAP);
499
+ } else {
500
+ const requestedOutput = Math.min(output ?? OPENCODE_OUTPUT_CAP, OPENCODE_OUTPUT_CAP);
501
+ usableHard = hardWindow - requestedOutput;
502
+ }
503
+ usableHard = Math.max(MIN_PLAUSIBLE_CONTEXT_LIMIT, Math.floor(usableHard));
504
+ if (usableHard < usableSoft) {
505
+ logGeometryClampOnce(`${providerID}/${modelID}|${usableSoft}|${usableHard}`, `usable hard limit clamped for ${providerID}/${modelID}: ${usableHard} → ${usableSoft} (overlay/provider inversion)`, options.log);
506
+ usableHard = usableSoft;
507
+ }
508
+ const resolvedWindow = derivationWindow ?? usableSoft;
509
+ return {
510
+ usableSoft,
511
+ usableHard,
512
+ geometry,
513
+ derivation: {
514
+ window: Math.floor(resolvedWindow),
515
+ reserve: Math.floor(Math.max(0, resolvedWindow - usableSoft)),
516
+ reserveSource,
517
+ geometry,
518
+ windowSource,
519
+ absoluteWall: Math.floor(hardWindow)
520
+ }
521
+ };
522
+ }
523
+ function hasTrustedAbsoluteWall(geometry) {
524
+ return geometry.derivation.windowSource !== "catalog";
525
+ }
526
+ function applyProvenInputFloor(geometry, provenInputTokens) {
527
+ if (!isFinitePositive(provenInputTokens) || provenInputTokens < MIN_PLAUSIBLE_CONTEXT_LIMIT || provenInputTokens <= geometry.usableSoft) {
528
+ return { geometry };
529
+ }
530
+ if (hasTrustedAbsoluteWall(geometry) && provenInputTokens > geometry.derivation.absoluteWall) {
531
+ return {
532
+ geometry,
533
+ refused: {
534
+ reading: provenInputTokens,
535
+ absoluteWall: geometry.derivation.absoluteWall
536
+ }
537
+ };
538
+ }
539
+ const trustedAbsoluteWall = hasTrustedAbsoluteWall(geometry);
540
+ const window = trustedAbsoluteWall ? geometry.derivation.window : Math.max(geometry.derivation.window, provenInputTokens);
541
+ return {
542
+ geometry: {
543
+ ...geometry,
544
+ usableSoft: provenInputTokens,
545
+ usableHard: trustedAbsoluteWall ? geometry.usableHard : Math.max(geometry.usableHard, provenInputTokens),
546
+ derivation: {
547
+ ...geometry.derivation,
548
+ window,
549
+ reserve: Math.max(0, window - provenInputTokens),
550
+ absoluteWall: trustedAbsoluteWall ? geometry.derivation.absoluteWall : Math.max(geometry.derivation.absoluteWall, provenInputTokens)
551
+ }
552
+ }
553
+ };
554
+ }
555
+
556
+ // src/shared/models-dev-cache.ts
557
+ var MIN_SANE_LIMIT = 20000;
558
+ var MAX_SANE_LIMIT = 3000000;
559
+ function isSaneLimit(limit) {
560
+ return typeof limit === "number" && limit >= MIN_SANE_LIMIT && limit <= MAX_SANE_LIMIT;
561
+ }
562
+ var SEPARATE_OUTPUT_QUOTA_PROVIDERS = new Set(["google", "google-antigravity"]);
563
+ var MIN_PLAUSIBLE_CONTEXT_LIMIT2 = 1024;
564
+ var OUTPUT_RESERVE_CAP_RATIO2 = 0.25;
565
+ var outputReserveConfig;
566
+ var reserveClampLogSeen = new Set;
567
+ var apiCache = null;
568
+ var apiLoadedAt = 0;
569
+ var persistSeedLoaded = false;
570
+ function persistFilePath() {
571
+ return join3(getMagicContextStorageDir(), `model-context-limits-${getHarness()}.json`);
572
+ }
573
+ function loadPersistedApiCacheOnce() {
574
+ if (persistSeedLoaded || apiCache !== null)
575
+ return;
576
+ persistSeedLoaded = true;
577
+ try {
578
+ const raw = readFileSync2(persistFilePath(), "utf-8");
579
+ const obj = JSON.parse(raw);
580
+ const map = new Map;
581
+ for (const [key, persisted] of Object.entries(obj)) {
582
+ const limit = typeof persisted === "number" ? persisted : persisted.limit;
583
+ const contextLimit = typeof persisted === "number" ? undefined : persisted.contextLimit;
584
+ const inputLimit = typeof persisted === "number" ? undefined : persisted.inputLimit;
585
+ const outputLimit = typeof persisted === "number" ? undefined : persisted.outputLimit;
586
+ const vision = typeof persisted === "number" ? false : persisted.vision === true;
587
+ if (isSaneLimit(contextLimit) || isSaneLimit(limit)) {
588
+ map.set(key, {
589
+ limit: isSaneLimit(limit) ? limit : undefined,
590
+ contextLimit: isSaneLimit(contextLimit) ? contextLimit : undefined,
591
+ inputLimit: isSaneLimit(inputLimit) ? inputLimit : undefined,
592
+ outputLimit: isFinitePositive2(outputLimit) ? outputLimit : undefined,
593
+ vision
594
+ });
595
+ }
596
+ }
597
+ if (map.size > 0) {
598
+ apiCache = map;
599
+ sessionLog("global", `models-dev-cache: seeded ${map.size} entries from persisted cache (cold start)`);
600
+ }
601
+ } catch {}
602
+ }
603
+ function persistApiCache() {
604
+ if (!apiCache)
605
+ return;
606
+ const obj = {};
607
+ for (const [key, value] of apiCache) {
608
+ if (isSaneLimit(value.limit)) {
609
+ obj[key] = {
610
+ limit: value.limit,
611
+ contextLimit: isSaneLimit(value.contextLimit) ? value.contextLimit : undefined,
612
+ inputLimit: isSaneLimit(value.inputLimit) ? value.inputLimit : undefined,
613
+ outputLimit: isFinitePositive2(value.outputLimit) ? value.outputLimit : undefined,
614
+ vision: value.vision === true
615
+ };
616
+ }
617
+ }
618
+ try {
619
+ const target = persistFilePath();
620
+ writeStorageFileAtomicSync(target, JSON.stringify(obj));
621
+ } catch {}
622
+ }
623
+ function isFinitePositive2(value) {
624
+ return typeof value === "number" && Number.isFinite(value) && value > 0;
625
+ }
626
+ function modelKeyLookupOrder(providerID, modelID) {
627
+ const candidates = [...modelRefLookupOrder(`${providerID}/${modelID}`), modelID];
628
+ const colon = modelID.lastIndexOf(":");
629
+ if (colon > 0) {
630
+ const bareModel = modelID.slice(0, colon);
631
+ candidates.push(...modelRefLookupOrder(`${providerID}/${bareModel}`), bareModel);
632
+ }
633
+ return [...new Set(candidates)];
634
+ }
635
+ function resolveOutputReserve(providerID, modelID, config = outputReserveConfig) {
636
+ if (typeof config === "number")
637
+ return Number.isFinite(config) && config >= 0 ? config : undefined;
638
+ if (!config)
639
+ return;
640
+ for (const candidate of modelKeyLookupOrder(providerID, modelID)) {
641
+ const value = config[candidate];
642
+ if (typeof value === "number" && Number.isFinite(value) && value >= 0)
643
+ return value;
644
+ }
645
+ return Number.isFinite(config.default) && config.default >= 0 ? config.default : undefined;
646
+ }
647
+ function logReserveClampOnce(key, message) {
648
+ if (reserveClampLogSeen.has(key))
649
+ return;
650
+ reserveClampLogSeen.add(key);
651
+ sessionLog("global", `models-dev-cache: ${message}`);
652
+ }
653
+ function setOutputReserveConfig(config) {
654
+ outputReserveConfig = config;
655
+ }
656
+ function resolveLimit(limit, providerID, modelID, reserveConfig = outputReserveConfig) {
657
+ if (!limit)
658
+ return;
659
+ const context = isFinitePositive2(limit.context) ? limit.context : undefined;
660
+ const input = isFinitePositive2(limit.input) ? limit.input : undefined;
661
+ if (input !== undefined && (context === undefined || input < context))
662
+ return input;
663
+ if (context === undefined)
664
+ return;
665
+ const configuredReserve = resolveOutputReserve(providerID, modelID, reserveConfig);
666
+ let reserve;
667
+ if (configuredReserve !== undefined) {
668
+ reserve = configuredReserve;
669
+ } else if (SEPARATE_OUTPUT_QUOTA_PROVIDERS.has(providerID)) {
670
+ reserve = 0;
671
+ } else {
672
+ const output = isFinitePositive2(limit.output) ? limit.output : 0;
673
+ const cap = context * OUTPUT_RESERVE_CAP_RATIO2;
674
+ reserve = Math.min(output, cap);
675
+ if (output > cap) {
676
+ logReserveClampOnce(`cap|${providerID}/${modelID}|${context}|${output}`, `output reserve capped at 25% for ${providerID}/${modelID}: ${output} → ${cap}`);
677
+ }
678
+ }
679
+ const floor = Math.max(MIN_PLAUSIBLE_CONTEXT_LIMIT2, context * 0.5);
680
+ const maxReserve = Math.max(0, context - floor);
681
+ if (reserve > maxReserve) {
682
+ logReserveClampOnce(`floor|${providerID}/${modelID}|${context}|${reserve}`, `output reserve clamped for ${providerID}/${modelID}: ${reserve} → ${maxReserve} (usable floor ${floor})`);
683
+ reserve = maxReserve;
684
+ }
685
+ return Math.floor(context - reserve);
686
+ }
687
+ function setCachedModelMetadata(cache, key, model) {
688
+ const contextLimit = model?.limit?.context;
689
+ const inputLimit = model?.limit?.input;
690
+ const outputLimit = model?.limit?.output;
691
+ const rawLimit = isSaneLimit(contextLimit) ? contextLimit : isSaneLimit(inputLimit) ? inputLimit : undefined;
692
+ if (rawLimit === undefined)
693
+ return;
694
+ const values = [model?.capabilities, model?.modalities, model?.input, model?.attachment];
695
+ const vision = values.some((value) => JSON.stringify(value ?? "").toLowerCase().includes("image") || JSON.stringify(value ?? "").toLowerCase().includes("vision"));
696
+ const value = {
697
+ limit: rawLimit,
698
+ contextLimit: isSaneLimit(contextLimit) ? contextLimit : undefined,
699
+ inputLimit: isSaneLimit(inputLimit) ? inputLimit : undefined,
700
+ outputLimit: isFinitePositive2(outputLimit) ? outputLimit : undefined,
701
+ vision
702
+ };
703
+ cache.set(key, value);
704
+ const modes = model?.experimental?.modes;
705
+ if (modes && typeof modes === "object") {
706
+ for (const mode of Object.keys(modes)) {
707
+ cache.set(`${key}-${mode}`, value);
708
+ }
709
+ }
710
+ }
711
+ async function refreshModelLimitsFromApi(client, options) {
712
+ const attempts = Math.max(1, (options?.retries ?? 0) + 1);
713
+ const delayMs = options?.retryDelayMs ?? 1000;
714
+ for (let attempt = 1;attempt <= attempts; attempt++) {
715
+ const ok = await refreshModelLimitsOnce(client);
716
+ if (ok)
717
+ return;
718
+ if (attempt < attempts) {
719
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
720
+ }
721
+ }
722
+ }
723
+ async function refreshModelLimitsOnce(client) {
724
+ try {
725
+ const result = await client.config.providers();
726
+ const data = result.data;
727
+ const providers = data?.providers;
728
+ if (!Array.isArray(providers) || providers.length === 0) {
729
+ sessionLog("global", "models-dev-cache: API refresh returned no providers payload (will retry if attempts remain)");
730
+ return false;
731
+ }
732
+ const map = new Map;
733
+ for (const entry of providers) {
734
+ const p = entry;
735
+ if (!p?.id || !p.models || typeof p.models !== "object")
736
+ continue;
737
+ for (const [modelId, model] of Object.entries(p.models)) {
738
+ setCachedModelMetadata(map, `${p.id}/${modelId}`, model);
739
+ }
740
+ }
741
+ const previousSize = apiCache?.size ?? null;
742
+ apiCache = map;
743
+ apiLoadedAt = Date.now();
744
+ persistApiCache();
745
+ if (previousSize === null) {
746
+ sessionLog("global", `models-dev-cache: API layer loaded ${map.size} model metadata entries`);
747
+ } else if (previousSize !== map.size) {
748
+ sessionLog("global", `models-dev-cache: API layer loaded ${map.size} model metadata entries (was ${previousSize})`);
749
+ }
750
+ return true;
751
+ } catch (error) {
752
+ sessionLog("global", "models-dev-cache: API refresh failed:", error instanceof Error ? error.message : String(error));
753
+ return false;
754
+ }
755
+ }
756
+ function getSdkWindowGeometry(providerID, modelID, detectedContextLimit, options) {
757
+ loadPersistedApiCacheOnce();
758
+ const metadata = lookupMetadataWithTagFallback(apiCache, providerID, modelID);
759
+ if (!metadata)
760
+ return;
761
+ const rawContext = metadata.contextLimit ?? metadata.limit;
762
+ const promptOnlyDetected = options?.detectedLimitProvenance === "prompt_only" && isFinitePositive2(detectedContextLimit) ? detectedContextLimit : undefined;
763
+ const result = deriveWindowGeometry(providerID, modelID, {
764
+ context: rawContext,
765
+ input: metadata.inputLimit,
766
+ output: metadata.outputLimit
767
+ }, {
768
+ overlay: resolveWindowOverlayFacts(providerID, modelID, getWindowOverlay()),
769
+ outputReserveOverride: resolveOutputReserve(providerID, modelID),
770
+ harness: options?.harness ?? "opencode",
771
+ contextCap: promptOnlyDetected === undefined && isFinitePositive2(detectedContextLimit) ? detectedContextLimit : undefined
772
+ });
773
+ if (!result || promptOnlyDetected === undefined)
774
+ return result;
775
+ const usableSoft = isFinitePositive2(metadata.inputLimit) ? Math.min(promptOnlyDetected, result.usableSoft) : promptOnlyDetected;
776
+ return {
777
+ ...result,
778
+ usableSoft,
779
+ usableHard: Math.max(usableSoft, Math.min(result.usableHard, promptOnlyDetected))
780
+ };
781
+ }
782
+ function getSdkContextLimit(providerID, modelID, detectedContextLimit, options) {
783
+ if (options?.reservation !== "none") {
784
+ return getSdkWindowGeometry(providerID, modelID, detectedContextLimit, {
785
+ detectedLimitProvenance: options?.detectedLimitProvenance
786
+ })?.usableSoft;
787
+ }
788
+ loadPersistedApiCacheOnce();
789
+ const metadata = lookupMetadataWithTagFallback(apiCache, providerID, modelID);
790
+ if (!metadata)
791
+ return;
792
+ const rawContext = metadata.contextLimit ?? metadata.limit;
793
+ const promptOnlyDetected = options?.detectedLimitProvenance === "prompt_only" && isFinitePositive2(detectedContextLimit) ? detectedContextLimit : undefined;
794
+ const context = promptOnlyDetected === undefined && isFinitePositive2(detectedContextLimit) && isFinitePositive2(rawContext) ? Math.min(rawContext, detectedContextLimit) : promptOnlyDetected === undefined && isFinitePositive2(detectedContextLimit) ? detectedContextLimit : rawContext;
795
+ const inputCandidates = [metadata.inputLimit, promptOnlyDetected].filter(isFinitePositive2);
796
+ const input = inputCandidates.length > 0 ? Math.min(...inputCandidates) : undefined;
797
+ return resolveLimit({
798
+ context,
799
+ input,
800
+ output: metadata.outputLimit
801
+ }, providerID, modelID, options?.reservation === "none" ? 0 : undefined);
802
+ }
803
+ function getSdkOutputLimit(providerID, modelID) {
804
+ loadPersistedApiCacheOnce();
805
+ return lookupMetadataWithTagFallback(apiCache, providerID, modelID)?.outputLimit;
806
+ }
807
+ function getSdkInputLimit(providerID, modelID) {
808
+ loadPersistedApiCacheOnce();
809
+ if (!apiCache)
810
+ return;
811
+ const direct = apiCache.get(`${providerID}/${modelID}`)?.inputLimit;
812
+ if (isSaneLimit(direct))
813
+ return direct;
814
+ const colon = modelID.indexOf(":");
815
+ if (colon > 0) {
816
+ const tagless = apiCache.get(`${providerID}/${modelID.slice(0, colon)}`)?.inputLimit;
817
+ if (isSaneLimit(tagless))
818
+ return tagless;
819
+ }
820
+ return;
821
+ }
822
+ function lookupMetadataWithTagFallback(cache, providerID, modelID) {
823
+ if (!cache)
824
+ return;
825
+ const exact = cache.get(`${providerID}/${modelID}`);
826
+ if (exact)
827
+ return exact;
828
+ const colonIdx = modelID.lastIndexOf(":");
829
+ if (colonIdx > 0) {
830
+ return cache.get(`${providerID}/${modelID.slice(0, colonIdx)}`);
831
+ }
832
+ return;
833
+ }
834
+ function getModelsDevCacheState() {
835
+ return {
836
+ apiLoaded: apiCache !== null,
837
+ apiCount: apiCache?.size ?? 0,
838
+ apiAgeMs: apiLoadedAt > 0 ? Date.now() - apiLoadedAt : -1
839
+ };
840
+ }
841
+
842
+ // src/hooks/magic-context/derive-budgets.ts
843
+ var TRIGGER_BUDGET_PERCENTAGE = 0.05;
844
+ var TRIGGER_BUDGET_MIN = 5000;
845
+ var TRIGGER_BUDGET_MAX = 50000;
846
+ var HISTORIAN_CHUNK_PERCENTAGE = 0.25;
847
+ var HISTORIAN_CHUNK_MIN = 8000;
848
+ var HISTORIAN_CHUNK_MAX = 50000;
849
+ var DEFAULT_HISTORIAN_CONTEXT_FALLBACK = 128000;
850
+ function deriveTriggerBudget2(mainContextLimit, executeThresholdPercentage) {
851
+ if (!Number.isFinite(mainContextLimit) || mainContextLimit <= 0) {
852
+ return TRIGGER_BUDGET_MIN;
853
+ }
854
+ const thresholdFraction = Math.max(0, executeThresholdPercentage) / 100;
855
+ const usable = mainContextLimit * thresholdFraction;
856
+ const derived = Math.round(usable * TRIGGER_BUDGET_PERCENTAGE);
857
+ return Math.max(TRIGGER_BUDGET_MIN, Math.min(TRIGGER_BUDGET_MAX, derived));
858
+ }
859
+ function deriveHistorianChunkTokens2(historianContextLimit) {
860
+ if (!Number.isFinite(historianContextLimit) || historianContextLimit <= 0) {
861
+ return HISTORIAN_CHUNK_MIN;
862
+ }
863
+ const derived = Math.round(historianContextLimit * HISTORIAN_CHUNK_PERCENTAGE);
864
+ return Math.max(HISTORIAN_CHUNK_MIN, Math.min(HISTORIAN_CHUNK_MAX, derived));
865
+ }
866
+ function resolveKnownHistorianContextLimit2(historianModelOverride) {
867
+ if (typeof historianModelOverride !== "string" || !historianModelOverride.includes("/")) {
868
+ return;
869
+ }
870
+ const [providerID, ...rest] = historianModelOverride.split("/");
871
+ const modelID = rest.join("/");
872
+ if (!providerID || !modelID)
873
+ return;
874
+ const limit = getSdkContextLimit(providerID, modelID, undefined, { reservation: "none" });
875
+ return typeof limit === "number" && limit > 0 ? limit : undefined;
876
+ }
877
+ function resolveHistorianProducerLimits2(modelKey) {
878
+ if (!modelKey?.includes("/"))
879
+ return {};
880
+ const [provider, ...parts] = modelKey.split("/");
881
+ const model = parts.join("/");
882
+ if (!provider || !model)
883
+ return {};
884
+ const input = getSdkInputLimit(provider, model);
885
+ const window = getSdkWindowGeometry(provider, model)?.derivation.window;
886
+ const context = window ?? (input === undefined ? resolveKnownHistorianContextLimit2(modelKey) : undefined);
887
+ return {
888
+ ...context !== undefined ? { context } : {},
889
+ ...input !== undefined ? { input } : {}
890
+ };
891
+ }
892
+ function resolveHistorianContextLimit2(historianModelOverride) {
893
+ if (typeof historianModelOverride === "string" && historianModelOverride.includes("/")) {
894
+ return resolveKnownHistorianContextLimit2(historianModelOverride) ?? DEFAULT_HISTORIAN_CONTEXT_FALLBACK;
895
+ }
896
+ if (typeof historianModelOverride === "string" && historianModelOverride.trim() !== "") {
897
+ log(`[magic-context] historian.model "${historianModelOverride}" lacks provider prefix ("provider/model-id"); using the default context limit for chunk-budget derivation.`);
898
+ }
899
+ return DEFAULT_HISTORIAN_CONTEXT_FALLBACK;
900
+ }
901
+ function producerSourceLocalBudget2(providerTokens, modelKey) {
902
+ const seed = calibrationForModelKey(modelKey);
903
+ const ratio = Math.max(seed.proseRatio, seed.toolsRatio);
904
+ return ratio === 1 ? providerTokens : localBudget(providerTokens, ratio);
905
+ }
906
+
907
+ export { shouldEnforcePrivateStoragePermissions, ensureStorageDirectorySync, writeStorageFileSync, writeStorageFileAtomicSync, copyStorageFileSync, writeStorageFileAsync, createStorageWriteStream, tightenStorageTreeSync, catalogOutputReserve, setWindowOverlayPath, hasTrustedAbsoluteWall, applyProvenInputFloor, isSaneLimit, setOutputReserveConfig, resolveLimit, refreshModelLimitsFromApi, getSdkWindowGeometry, getSdkContextLimit, getSdkOutputLimit, getModelsDevCacheState, deriveTriggerBudget2, deriveHistorianChunkTokens2, resolveKnownHistorianContextLimit2, resolveHistorianProducerLimits2, resolveHistorianContextLimit2, producerSourceLocalBudget2 };