@cleocode/core 2026.6.11 → 2026.6.13

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 (414) hide show
  1. package/dist/conduit/local-transport.d.ts +12 -0
  2. package/dist/conduit/local-transport.d.ts.map +1 -1
  3. package/dist/conduit/local-transport.js +53 -23
  4. package/dist/conduit/local-transport.js.map +1 -1
  5. package/dist/crypto/credentials.d.ts +37 -0
  6. package/dist/crypto/credentials.d.ts.map +1 -1
  7. package/dist/crypto/credentials.js +110 -0
  8. package/dist/crypto/credentials.js.map +1 -1
  9. package/dist/dispatch/contracts/derive-output-contract.d.ts +86 -0
  10. package/dist/dispatch/contracts/derive-output-contract.d.ts.map +1 -0
  11. package/dist/dispatch/contracts/derive-output-contract.js +347 -0
  12. package/dist/dispatch/contracts/derive-output-contract.js.map +1 -0
  13. package/dist/dispatch/contracts/ensures-schema.d.ts +77 -0
  14. package/dist/dispatch/contracts/ensures-schema.d.ts.map +1 -0
  15. package/dist/dispatch/contracts/ensures-schema.js +91 -0
  16. package/dist/dispatch/contracts/ensures-schema.js.map +1 -0
  17. package/dist/dispatch/contracts/output-contracts.d.ts +27 -5
  18. package/dist/dispatch/contracts/output-contracts.d.ts.map +1 -1
  19. package/dist/dispatch/contracts/output-contracts.js +29 -6
  20. package/dist/dispatch/contracts/output-contracts.js.map +1 -1
  21. package/dist/docs/export-document.js +2309 -1262
  22. package/dist/docs/export-document.js.map +3 -3
  23. package/dist/go/driver.d.ts +132 -7
  24. package/dist/go/driver.d.ts.map +1 -1
  25. package/dist/go/driver.js +135 -10
  26. package/dist/go/driver.js.map +1 -1
  27. package/dist/go/index.d.ts +1 -1
  28. package/dist/go/index.d.ts.map +1 -1
  29. package/dist/go/index.js +1 -1
  30. package/dist/go/index.js.map +1 -1
  31. package/dist/index.d.ts +1 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +5 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/internal.d.ts +13 -10
  36. package/dist/internal.d.ts.map +1 -1
  37. package/dist/internal.js +11 -11
  38. package/dist/internal.js.map +1 -1
  39. package/dist/lifecycle/engine-ops.d.ts.map +1 -1
  40. package/dist/lifecycle/engine-ops.js +7 -4
  41. package/dist/lifecycle/engine-ops.js.map +1 -1
  42. package/dist/lifecycle/ivtr-loop.d.ts +108 -183
  43. package/dist/lifecycle/ivtr-loop.d.ts.map +1 -1
  44. package/dist/lifecycle/ivtr-loop.js +207 -522
  45. package/dist/lifecycle/ivtr-loop.js.map +1 -1
  46. package/dist/llm/auxiliary-fallback.js +1 -1
  47. package/dist/llm/auxiliary-fallback.js.map +1 -1
  48. package/dist/llm/cli-ops.d.ts +14 -1
  49. package/dist/llm/cli-ops.d.ts.map +1 -1
  50. package/dist/llm/cli-ops.js +41 -12
  51. package/dist/llm/cli-ops.js.map +1 -1
  52. package/dist/llm/concrete-session.d.ts.map +1 -1
  53. package/dist/llm/concrete-session.js +4 -0
  54. package/dist/llm/concrete-session.js.map +1 -1
  55. package/dist/llm/credentials.d.ts +35 -0
  56. package/dist/llm/credentials.d.ts.map +1 -1
  57. package/dist/llm/credentials.js +49 -0
  58. package/dist/llm/credentials.js.map +1 -1
  59. package/dist/llm/index.d.ts +4 -0
  60. package/dist/llm/index.d.ts.map +1 -1
  61. package/dist/llm/index.js +4 -0
  62. package/dist/llm/index.js.map +1 -1
  63. package/dist/llm/pi/gondolin-loader.d.ts +241 -0
  64. package/dist/llm/pi/gondolin-loader.d.ts.map +1 -0
  65. package/dist/llm/pi/gondolin-loader.js +195 -0
  66. package/dist/llm/pi/gondolin-loader.js.map +1 -0
  67. package/dist/llm/pi/index.d.ts +28 -0
  68. package/dist/llm/pi/index.d.ts.map +1 -0
  69. package/dist/llm/pi/index.js +27 -0
  70. package/dist/llm/pi/index.js.map +1 -0
  71. package/dist/llm/pi/pi-agent-adapter.d.ts +135 -0
  72. package/dist/llm/pi/pi-agent-adapter.d.ts.map +1 -0
  73. package/dist/llm/pi/pi-agent-adapter.js +329 -0
  74. package/dist/llm/pi/pi-agent-adapter.js.map +1 -0
  75. package/dist/llm/pi/pi-errors.d.ts +161 -0
  76. package/dist/llm/pi/pi-errors.d.ts.map +1 -0
  77. package/dist/llm/pi/pi-errors.js +296 -0
  78. package/dist/llm/pi/pi-errors.js.map +1 -0
  79. package/dist/llm/pi/pi-execution-env.d.ts +286 -0
  80. package/dist/llm/pi/pi-execution-env.d.ts.map +1 -0
  81. package/dist/llm/pi/pi-execution-env.js +406 -0
  82. package/dist/llm/pi/pi-execution-env.js.map +1 -0
  83. package/dist/llm/pi/pi-gondolin-env.d.ts +227 -0
  84. package/dist/llm/pi/pi-gondolin-env.d.ts.map +1 -0
  85. package/dist/llm/pi/pi-gondolin-env.js +541 -0
  86. package/dist/llm/pi/pi-gondolin-env.js.map +1 -0
  87. package/dist/llm/pi/pi-session-storage.d.ts +154 -0
  88. package/dist/llm/pi/pi-session-storage.d.ts.map +1 -0
  89. package/dist/llm/pi/pi-session-storage.js +314 -0
  90. package/dist/llm/pi/pi-session-storage.js.map +1 -0
  91. package/dist/llm/pi/pi-stream-fn.d.ts +124 -0
  92. package/dist/llm/pi/pi-stream-fn.d.ts.map +1 -0
  93. package/dist/llm/pi/pi-stream-fn.js +504 -0
  94. package/dist/llm/pi/pi-stream-fn.js.map +1 -0
  95. package/dist/llm/pi/pi-tool-bridge.d.ts +99 -0
  96. package/dist/llm/pi/pi-tool-bridge.d.ts.map +1 -0
  97. package/dist/llm/pi/pi-tool-bridge.js +117 -0
  98. package/dist/llm/pi/pi-tool-bridge.js.map +1 -0
  99. package/dist/llm/pi/pi-types.d.ts +56 -0
  100. package/dist/llm/pi/pi-types.d.ts.map +1 -0
  101. package/dist/llm/pi/pi-types.js +16 -0
  102. package/dist/llm/pi/pi-types.js.map +1 -0
  103. package/dist/llm/pi/resolve-execution-env.d.ts +194 -0
  104. package/dist/llm/pi/resolve-execution-env.d.ts.map +1 -0
  105. package/dist/llm/pi/resolve-execution-env.js +132 -0
  106. package/dist/llm/pi/resolve-execution-env.js.map +1 -0
  107. package/dist/llm/plugin-facade.js +2253 -1151
  108. package/dist/llm/plugin-facade.js.map +3 -3
  109. package/dist/llm/role-executor.d.ts.map +1 -1
  110. package/dist/llm/role-executor.js +8 -5
  111. package/dist/llm/role-executor.js.map +1 -1
  112. package/dist/llm/role-resolver.d.ts +46 -14
  113. package/dist/llm/role-resolver.d.ts.map +1 -1
  114. package/dist/llm/role-resolver.js +178 -20
  115. package/dist/llm/role-resolver.js.map +1 -1
  116. package/dist/llm/sealed-credential.d.ts +125 -0
  117. package/dist/llm/sealed-credential.d.ts.map +1 -0
  118. package/dist/llm/sealed-credential.js +133 -0
  119. package/dist/llm/sealed-credential.js.map +1 -0
  120. package/dist/llm/session-factory.d.ts.map +1 -1
  121. package/dist/llm/session-factory.js +6 -2
  122. package/dist/llm/session-factory.js.map +1 -1
  123. package/dist/llm/system-key.d.ts +67 -0
  124. package/dist/llm/system-key.d.ts.map +1 -0
  125. package/dist/llm/system-key.js +87 -0
  126. package/dist/llm/system-key.js.map +1 -0
  127. package/dist/llm/system-of-use-registry.d.ts +119 -0
  128. package/dist/llm/system-of-use-registry.d.ts.map +1 -0
  129. package/dist/llm/system-of-use-registry.js +200 -0
  130. package/dist/llm/system-of-use-registry.js.map +1 -0
  131. package/dist/llm/system-resolver.d.ts +32 -10
  132. package/dist/llm/system-resolver.d.ts.map +1 -1
  133. package/dist/llm/system-resolver.js +70 -18
  134. package/dist/llm/system-resolver.js.map +1 -1
  135. package/dist/memory/brain-writer-thread.d.ts.map +1 -1
  136. package/dist/memory/brain-writer-thread.js +116 -11
  137. package/dist/memory/brain-writer-thread.js.map +1 -1
  138. package/dist/memory/claude-mem-migration.d.ts.map +1 -1
  139. package/dist/memory/claude-mem-migration.js +21 -0
  140. package/dist/memory/claude-mem-migration.js.map +1 -1
  141. package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
  142. package/dist/memory/graph-memory-bridge.js +32 -25
  143. package/dist/memory/graph-memory-bridge.js.map +1 -1
  144. package/dist/memory/llm-backend-resolver.js +23 -5
  145. package/dist/memory/llm-backend-resolver.js.map +1 -1
  146. package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
  147. package/dist/nexus/migrations/M-split-graph.js +60 -53
  148. package/dist/nexus/migrations/M-split-graph.js.map +1 -1
  149. package/dist/orchestrate/pivot.d.ts.map +1 -1
  150. package/dist/orchestrate/pivot.js +20 -2
  151. package/dist/orchestrate/pivot.js.map +1 -1
  152. package/dist/release/engine-ops.js +2 -2
  153. package/dist/release/engine-ops.js.map +1 -1
  154. package/dist/release/plan.d.ts +4 -6
  155. package/dist/release/plan.d.ts.map +1 -1
  156. package/dist/release/plan.js +10 -23
  157. package/dist/release/plan.js.map +1 -1
  158. package/dist/release/reconcile.d.ts +0 -2
  159. package/dist/release/reconcile.d.ts.map +1 -1
  160. package/dist/release/reconcile.js +43 -50
  161. package/dist/release/reconcile.js.map +1 -1
  162. package/dist/release/release-manifest.d.ts.map +1 -1
  163. package/dist/release/release-manifest.js +4 -1
  164. package/dist/release/release-manifest.js.map +1 -1
  165. package/dist/release/verify-provenance.js +20 -20
  166. package/dist/release/verify-provenance.js.map +1 -1
  167. package/dist/routing/capability-matrix.d.ts.map +1 -1
  168. package/dist/routing/capability-matrix.js +0 -57
  169. package/dist/routing/capability-matrix.js.map +1 -1
  170. package/dist/selfimprove/budget.d.ts +206 -0
  171. package/dist/selfimprove/budget.d.ts.map +1 -0
  172. package/dist/selfimprove/budget.js +203 -0
  173. package/dist/selfimprove/budget.js.map +1 -0
  174. package/dist/selfimprove/dhq-adapter.d.ts +105 -0
  175. package/dist/selfimprove/dhq-adapter.d.ts.map +1 -0
  176. package/dist/selfimprove/dhq-adapter.js +95 -0
  177. package/dist/selfimprove/dhq-adapter.js.map +1 -0
  178. package/dist/selfimprove/draft-pr.d.ts +129 -0
  179. package/dist/selfimprove/draft-pr.d.ts.map +1 -0
  180. package/dist/selfimprove/draft-pr.js +158 -0
  181. package/dist/selfimprove/draft-pr.js.map +1 -0
  182. package/dist/selfimprove/envelope-diff.d.ts +162 -0
  183. package/dist/selfimprove/envelope-diff.d.ts.map +1 -0
  184. package/dist/selfimprove/envelope-diff.js +321 -0
  185. package/dist/selfimprove/envelope-diff.js.map +1 -0
  186. package/dist/selfimprove/replay.d.ts +121 -0
  187. package/dist/selfimprove/replay.d.ts.map +1 -0
  188. package/dist/selfimprove/replay.js +109 -0
  189. package/dist/selfimprove/replay.js.map +1 -0
  190. package/dist/selfimprove/run-loop.d.ts +148 -0
  191. package/dist/selfimprove/run-loop.d.ts.map +1 -0
  192. package/dist/selfimprove/run-loop.js +240 -0
  193. package/dist/selfimprove/run-loop.js.map +1 -0
  194. package/dist/selfimprove/scenario.d.ts +145 -0
  195. package/dist/selfimprove/scenario.d.ts.map +1 -0
  196. package/dist/selfimprove/scenario.js +243 -0
  197. package/dist/selfimprove/scenario.js.map +1 -0
  198. package/dist/sentient/daemon-entry.js +5 -0
  199. package/dist/sentient/daemon-entry.js.map +1 -1
  200. package/dist/sentient/daemon.d.ts.map +1 -1
  201. package/dist/sentient/daemon.js +19 -0
  202. package/dist/sentient/daemon.js.map +1 -1
  203. package/dist/sentient/hygiene-scan.d.ts.map +1 -1
  204. package/dist/sentient/hygiene-scan.js +14 -6
  205. package/dist/sentient/hygiene-scan.js.map +1 -1
  206. package/dist/sessions/briefing.d.ts.map +1 -1
  207. package/dist/sessions/briefing.js +13 -9
  208. package/dist/sessions/briefing.js.map +1 -1
  209. package/dist/sessions/connection-session-handle.d.ts +161 -0
  210. package/dist/sessions/connection-session-handle.d.ts.map +1 -0
  211. package/dist/sessions/connection-session-handle.js +168 -0
  212. package/dist/sessions/connection-session-handle.js.map +1 -0
  213. package/dist/sessions/handoff.d.ts.map +1 -1
  214. package/dist/sessions/handoff.js +9 -0
  215. package/dist/sessions/handoff.js.map +1 -1
  216. package/dist/sessions/index.d.ts +4 -1
  217. package/dist/sessions/index.d.ts.map +1 -1
  218. package/dist/sessions/index.js +31 -1
  219. package/dist/sessions/index.js.map +1 -1
  220. package/dist/sessions/session-id.d.ts +34 -0
  221. package/dist/sessions/session-id.d.ts.map +1 -1
  222. package/dist/sessions/session-id.js +37 -0
  223. package/dist/sessions/session-id.js.map +1 -1
  224. package/dist/sessions/session-manifest-mirror.d.ts +115 -0
  225. package/dist/sessions/session-manifest-mirror.d.ts.map +1 -0
  226. package/dist/sessions/session-manifest-mirror.js +250 -0
  227. package/dist/sessions/session-manifest-mirror.js.map +1 -0
  228. package/dist/sessions/session-switch.d.ts.map +1 -1
  229. package/dist/sessions/session-switch.js +5 -2
  230. package/dist/sessions/session-switch.js.map +1 -1
  231. package/dist/store/converters.d.ts.map +1 -1
  232. package/dist/store/converters.js +2 -0
  233. package/dist/store/converters.js.map +1 -1
  234. package/dist/store/db-helpers.d.ts.map +1 -1
  235. package/dist/store/db-helpers.js +2 -0
  236. package/dist/store/db-helpers.js.map +1 -1
  237. package/dist/store/dual-scope-db.d.ts.map +1 -1
  238. package/dist/store/dual-scope-db.js +87 -47
  239. package/dist/store/dual-scope-db.js.map +1 -1
  240. package/dist/store/pi-session-store.d.ts +151 -0
  241. package/dist/store/pi-session-store.d.ts.map +1 -0
  242. package/dist/store/pi-session-store.js +166 -0
  243. package/dist/store/pi-session-store.js.map +1 -0
  244. package/dist/store/safety-data-accessor.d.ts +1 -0
  245. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  246. package/dist/store/safety-data-accessor.js +5 -0
  247. package/dist/store/safety-data-accessor.js.map +1 -1
  248. package/dist/store/schema/cleo-global/accounts.d.ts +357 -0
  249. package/dist/store/schema/cleo-global/accounts.d.ts.map +1 -0
  250. package/dist/store/schema/cleo-global/accounts.js +136 -0
  251. package/dist/store/schema/cleo-global/accounts.js.map +1 -0
  252. package/dist/store/schema/cleo-global/index.d.ts +2 -0
  253. package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
  254. package/dist/store/schema/cleo-global/index.js +2 -0
  255. package/dist/store/schema/cleo-global/index.js.map +1 -1
  256. package/dist/store/schema/cleo-global/session-manifest.d.ts +217 -0
  257. package/dist/store/schema/cleo-global/session-manifest.d.ts.map +1 -0
  258. package/dist/store/schema/cleo-global/session-manifest.js +99 -0
  259. package/dist/store/schema/cleo-global/session-manifest.js.map +1 -0
  260. package/dist/store/schema/cleo-project/tasks-core.d.ts +16 -0
  261. package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
  262. package/dist/store/schema/cleo-project/tasks-core.js +14 -0
  263. package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
  264. package/dist/store/schema/tasks.d.ts +16 -0
  265. package/dist/store/schema/tasks.d.ts.map +1 -1
  266. package/dist/store/schema/tasks.js +10 -0
  267. package/dist/store/schema/tasks.js.map +1 -1
  268. package/dist/store/selfimprove-dhq-schema.d.ts +284 -0
  269. package/dist/store/selfimprove-dhq-schema.d.ts.map +1 -0
  270. package/dist/store/selfimprove-dhq-schema.js +128 -0
  271. package/dist/store/selfimprove-dhq-schema.js.map +1 -0
  272. package/dist/store/selfimprove-dhq-store.d.ts +175 -0
  273. package/dist/store/selfimprove-dhq-store.d.ts.map +1 -0
  274. package/dist/store/selfimprove-dhq-store.js +182 -0
  275. package/dist/store/selfimprove-dhq-store.js.map +1 -0
  276. package/dist/store/session-store.d.ts +52 -13
  277. package/dist/store/session-store.d.ts.map +1 -1
  278. package/dist/store/session-store.js +71 -13
  279. package/dist/store/session-store.js.map +1 -1
  280. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  281. package/dist/store/sqlite-data-accessor.js +7 -0
  282. package/dist/store/sqlite-data-accessor.js.map +1 -1
  283. package/dist/store/tasks-schema.d.ts +4 -0
  284. package/dist/store/tasks-schema.d.ts.map +1 -1
  285. package/dist/store/tasks-schema.js +14 -0
  286. package/dist/store/tasks-schema.js.map +1 -1
  287. package/dist/store/umbrella-data-accessor.d.ts +1 -0
  288. package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
  289. package/dist/store/umbrella-data-accessor.js +5 -0
  290. package/dist/store/umbrella-data-accessor.js.map +1 -1
  291. package/dist/store/validation-schemas.d.ts +94 -62
  292. package/dist/store/validation-schemas.d.ts.map +1 -1
  293. package/dist/store/writer-lease-schema.d.ts +392 -0
  294. package/dist/store/writer-lease-schema.d.ts.map +1 -0
  295. package/dist/store/writer-lease-schema.js +142 -0
  296. package/dist/store/writer-lease-schema.js.map +1 -0
  297. package/dist/store/writer-lease.d.ts +368 -0
  298. package/dist/store/writer-lease.d.ts.map +1 -0
  299. package/dist/store/writer-lease.js +1002 -0
  300. package/dist/store/writer-lease.js.map +1 -0
  301. package/dist/task-tools/describe-schema.d.ts +4 -2
  302. package/dist/task-tools/describe-schema.d.ts.map +1 -1
  303. package/dist/task-tools/describe-schema.js +9 -3
  304. package/dist/task-tools/describe-schema.js.map +1 -1
  305. package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
  306. package/dist/tasks/backfill-child-projections.js +14 -9
  307. package/dist/tasks/backfill-child-projections.js.map +1 -1
  308. package/dist/tasks/complete.d.ts.map +1 -1
  309. package/dist/tasks/complete.js +7 -10
  310. package/dist/tasks/complete.js.map +1 -1
  311. package/dist/tasks/duplicate-detector.d.ts.map +1 -1
  312. package/dist/tasks/duplicate-detector.js +14 -7
  313. package/dist/tasks/duplicate-detector.js.map +1 -1
  314. package/dist/telemetry/index.d.ts.map +1 -1
  315. package/dist/telemetry/index.js +10 -4
  316. package/dist/telemetry/index.js.map +1 -1
  317. package/dist/tools/agent-registry.d.ts +250 -0
  318. package/dist/tools/agent-registry.d.ts.map +1 -0
  319. package/dist/tools/agent-registry.js +292 -0
  320. package/dist/tools/agent-registry.js.map +1 -0
  321. package/dist/tools/agent-tool-families.d.ts +107 -0
  322. package/dist/tools/agent-tool-families.d.ts.map +1 -0
  323. package/dist/tools/agent-tool-families.js +527 -0
  324. package/dist/tools/agent-tool-families.js.map +1 -0
  325. package/dist/tools/browser-driver.d.ts +183 -0
  326. package/dist/tools/browser-driver.d.ts.map +1 -0
  327. package/dist/tools/browser-driver.js +242 -0
  328. package/dist/tools/browser-driver.js.map +1 -0
  329. package/dist/tools/builtin-agent-tools.d.ts +36 -0
  330. package/dist/tools/builtin-agent-tools.d.ts.map +1 -0
  331. package/dist/tools/builtin-agent-tools.js +150 -0
  332. package/dist/tools/builtin-agent-tools.js.map +1 -0
  333. package/dist/tools/dispatch.d.ts +370 -0
  334. package/dist/tools/dispatch.d.ts.map +1 -0
  335. package/dist/tools/dispatch.js +505 -0
  336. package/dist/tools/dispatch.js.map +1 -0
  337. package/dist/tools/env-scrub.d.ts +93 -0
  338. package/dist/tools/env-scrub.d.ts.map +1 -0
  339. package/dist/tools/env-scrub.js +176 -0
  340. package/dist/tools/env-scrub.js.map +1 -0
  341. package/dist/tools/fs.d.ts +30 -0
  342. package/dist/tools/fs.d.ts.map +1 -1
  343. package/dist/tools/fs.js +55 -2
  344. package/dist/tools/fs.js.map +1 -1
  345. package/dist/tools/guard.d.ts +15 -0
  346. package/dist/tools/guard.d.ts.map +1 -1
  347. package/dist/tools/guard.js +49 -12
  348. package/dist/tools/guard.js.map +1 -1
  349. package/dist/tools/index.d.ts +10 -0
  350. package/dist/tools/index.d.ts.map +1 -1
  351. package/dist/tools/index.js +37 -0
  352. package/dist/tools/index.js.map +1 -1
  353. package/dist/tools/pty.d.ts +45 -0
  354. package/dist/tools/pty.d.ts.map +1 -0
  355. package/dist/tools/pty.js +166 -0
  356. package/dist/tools/pty.js.map +1 -0
  357. package/dist/tools/schema-gen.d.ts +57 -0
  358. package/dist/tools/schema-gen.d.ts.map +1 -0
  359. package/dist/tools/schema-gen.js +52 -0
  360. package/dist/tools/schema-gen.js.map +1 -0
  361. package/dist/tools/shell.d.ts +12 -0
  362. package/dist/tools/shell.d.ts.map +1 -1
  363. package/dist/tools/shell.js +14 -1
  364. package/dist/tools/shell.js.map +1 -1
  365. package/dist/tools/web-agent-tools.d.ts +72 -0
  366. package/dist/tools/web-agent-tools.d.ts.map +1 -0
  367. package/dist/tools/web-agent-tools.js +393 -0
  368. package/dist/tools/web-agent-tools.js.map +1 -0
  369. package/dist/tools/web-search-backends.d.ts +156 -0
  370. package/dist/tools/web-search-backends.d.ts.map +1 -0
  371. package/dist/tools/web-search-backends.js +290 -0
  372. package/dist/tools/web-search-backends.js.map +1 -0
  373. package/dist/validation/ops.d.ts +1 -15
  374. package/dist/validation/ops.d.ts.map +1 -1
  375. package/dist/validation/ops.js +0 -20
  376. package/dist/validation/ops.js.map +1 -1
  377. package/migrations/drizzle-cleo-global/20260607000000_t11891-writer-leases/migration.sql +55 -0
  378. package/migrations/drizzle-cleo-global/20260607010000_t11639-session-manifest/migration.sql +43 -0
  379. package/migrations/drizzle-cleo-global/20260608000000_t11899-pi-session-tree/migration.sql +52 -0
  380. package/migrations/drizzle-cleo-global/20260608010000_t11709-accounts-credential-pool/migration.sql +72 -0
  381. package/migrations/drizzle-cleo-global/20260608020000_t11889-selfimprove-dhq/migration.sql +64 -0
  382. package/migrations/drizzle-cleo-project/20260606000000_t11884-restore-prefixed-task-triggers/migration.sql +272 -0
  383. package/migrations/drizzle-cleo-project/20260606000000_t11884-restore-prefixed-task-triggers/revert.sql +29 -0
  384. package/migrations/drizzle-cleo-project/20260606000100_t11883-tasks-releases-version-unique/migration.sql +21 -0
  385. package/migrations/drizzle-cleo-project/20260606000100_t11883-tasks-releases-version-unique/revert.sql +4 -0
  386. package/migrations/drizzle-cleo-project/20260607000000_t11891-writer-leases/migration.sql +55 -0
  387. package/migrations/drizzle-cleo-project/20260607010000_t11639-session-parent/migration.sql +22 -0
  388. package/migrations/drizzle-cleo-project/20260608000000_t11899-pi-session-tree/migration.sql +52 -0
  389. package/migrations/drizzle-cleo-project/20260608020000_t11889-selfimprove-dhq/migration.sql +64 -0
  390. package/package.json +15 -13
  391. package/dist/lifecycle/chain-composition.d.ts +0 -30
  392. package/dist/lifecycle/chain-composition.d.ts.map +0 -1
  393. package/dist/lifecycle/chain-composition.js +0 -152
  394. package/dist/lifecycle/chain-composition.js.map +0 -1
  395. package/dist/lifecycle/chain-store.d.ts +0 -70
  396. package/dist/lifecycle/chain-store.d.ts.map +0 -1
  397. package/dist/lifecycle/chain-store.js +0 -246
  398. package/dist/lifecycle/chain-store.js.map +0 -1
  399. package/dist/lifecycle/default-chain.d.ts +0 -39
  400. package/dist/lifecycle/default-chain.d.ts.map +0 -1
  401. package/dist/lifecycle/default-chain.js +0 -176
  402. package/dist/lifecycle/default-chain.js.map +0 -1
  403. package/dist/lifecycle/tessera-engine.d.ts +0 -48
  404. package/dist/lifecycle/tessera-engine.d.ts.map +0 -1
  405. package/dist/lifecycle/tessera-engine.js +0 -249
  406. package/dist/lifecycle/tessera-engine.js.map +0 -1
  407. package/dist/release/provenance-fk.d.ts +0 -74
  408. package/dist/release/provenance-fk.d.ts.map +0 -1
  409. package/dist/release/provenance-fk.js +0 -122
  410. package/dist/release/provenance-fk.js.map +0 -1
  411. package/dist/validation/chain-validation.d.ts +0 -43
  412. package/dist/validation/chain-validation.d.ts.map +0 -1
  413. package/dist/validation/chain-validation.js +0 -146
  414. package/dist/validation/chain-validation.js.map +0 -1
@@ -657,13 +657,6 @@ const CAPABILITY_MATRIX = [
657
657
  mode: 'native',
658
658
  preferredChannel: 'either',
659
659
  },
660
- {
661
- domain: 'check',
662
- operation: 'chain.validate',
663
- gateway: 'query',
664
- mode: 'native',
665
- preferredChannel: 'either',
666
- },
667
660
  // Mutate operations
668
661
  {
669
662
  domain: 'check',
@@ -751,13 +744,6 @@ const CAPABILITY_MATRIX = [
751
744
  mode: 'native',
752
745
  preferredChannel: 'either',
753
746
  },
754
- {
755
- domain: 'orchestrate',
756
- operation: 'tessera.list',
757
- gateway: 'query',
758
- mode: 'native',
759
- preferredChannel: 'either',
760
- },
761
747
  // Mutate operations
762
748
  {
763
749
  domain: 'orchestrate',
@@ -801,13 +787,6 @@ const CAPABILITY_MATRIX = [
801
787
  mode: 'native',
802
788
  preferredChannel: 'either',
803
789
  },
804
- {
805
- domain: 'orchestrate',
806
- operation: 'tessera.instantiate',
807
- gateway: 'mutate',
808
- mode: 'native',
809
- preferredChannel: 'either',
810
- },
811
790
  // === Memory Domain (brain.db cognitive memory -- T5241) ===
812
791
  // Query operations
813
792
  {
@@ -1081,42 +1060,6 @@ const CAPABILITY_MATRIX = [
1081
1060
  mode: 'native',
1082
1061
  preferredChannel: 'either',
1083
1062
  },
1084
- // Chain sub-domain (T5405)
1085
- {
1086
- domain: 'pipeline',
1087
- operation: 'chain.show',
1088
- gateway: 'query',
1089
- mode: 'native',
1090
- preferredChannel: 'either',
1091
- },
1092
- {
1093
- domain: 'pipeline',
1094
- operation: 'chain.list',
1095
- gateway: 'query',
1096
- mode: 'native',
1097
- preferredChannel: 'either',
1098
- },
1099
- {
1100
- domain: 'pipeline',
1101
- operation: 'chain.add',
1102
- gateway: 'mutate',
1103
- mode: 'native',
1104
- preferredChannel: 'either',
1105
- },
1106
- {
1107
- domain: 'pipeline',
1108
- operation: 'chain.instantiate',
1109
- gateway: 'mutate',
1110
- mode: 'native',
1111
- preferredChannel: 'either',
1112
- },
1113
- {
1114
- domain: 'pipeline',
1115
- operation: 'chain.advance',
1116
- gateway: 'mutate',
1117
- mode: 'native',
1118
- preferredChannel: 'either',
1119
- },
1120
1063
  // Release sub-domain (T5615 consolidated)
1121
1064
  {
1122
1065
  domain: 'pipeline',
@@ -1 +1 @@
1
- {"version":3,"file":"capability-matrix.js","sourceRoot":"","sources":["../../src/routing/capability-matrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-matrix.js","sourceRoot":"","sources":["../../src/routing/capability-matrix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA6CH;;;;;;;;;;;;;GAaG;AACH,MAAM,iBAAiB,GAA0B;IAC/C,uBAAuB;IACvB,mBAAmB;IACnB,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IACjG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IACjG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IACjG;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IACjG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IACjG;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,oBAAoB;IACpB,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IACjG;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,4BAA4B;IAC5B;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD,0DAA0D;IAC1D;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,mBAAmB;QAC9B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IAED,yBAAyB;IACzB,mBAAmB;IACnB;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,oBAAoB;IACpB;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,mBAAmB;QAC9B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IAED,uBAAuB;IACvB,mBAAmB;IACnB;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IACjG;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IACjG;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;IAChG,oBAAoB;IACpB;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IAED,uBAAuB;IACvB,mBAAmB;IACnB;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,oBAAoB;IACpB;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,mBAAmB;QAC9B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IAED,6BAA6B;IAC7B,mBAAmB;IACnB;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,oBAAoB;IACpB;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IAED,6DAA6D;IAC7D,mBAAmB;IACnB;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,oBAAoB;IACpB;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IAED,0BAA0B;IAC1B,qCAAqC;IACrC;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,8BAA8B;IAC9B;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,2BAA2B;IAC3B;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,0CAA0C;IAC1C;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IAED,uBAAuB;IACvB,mBAAmB;IACnB;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,mBAAmB;QAC9B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,mBAAmB;IACnB;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,iDAAiD;IACjD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,wDAAwD;IACxD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,6DAA6D;IAC7D;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,sBAAsB;IACtB;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,wBAAwB;QACnC,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,mBAAmB;QAC9B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,6BAA6B;IAC7B;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IAED,uBAAuB;IACvB,mBAAmB;IACnB;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD,oBAAoB;IACpB;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IAED,wBAAwB;IACxB,mBAAmB;IACnB;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD,oBAAoB;IACpB;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,KAAK;KACxB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;KAC3B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,SAAiB,EACjB,OAAoB;IAEpB,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAClC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,CACzF,CAAC;IACF,OAAO,KAAK,EAAE,IAAI,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAoB;IACpF,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAoB;IACjF,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,IAAI,KAAK,KAAK,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,iBAAiB,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CACnF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAgC,EAAE,CAAC;IAEhD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,eAAe,EAAE,iBAAiB,CAAC,MAAM;QACzC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM;QACnE,GAAG,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;QAC7D,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM;QACnE,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Budget caps + circuit-breaker state machine for the self-improvement loop
3
+ * (T11889 · T11889-C).
4
+ *
5
+ * The loop is an AUTONOMOUS dogfooding engine — it boots a sandbox, replays a
6
+ * scenario, and on a regression it WRITES a leased DHQ row and opens a draft PR.
7
+ * Two guardrails bound that autonomy:
8
+ *
9
+ * 1. {@link SelfImproveBudget} — HARD, in-code caps (`maxTokens`, `maxUsd`,
10
+ * `maxPrs = 1`, `maxWorktrees = 1`). These are REAL, not advisory: the engine
11
+ * asks {@link CircuitBreaker.assertWithinBudget} BEFORE each costed step, so a
12
+ * cap is enforced as a PRE-FLIGHT check (never merely observed after the fact).
13
+ * `MemoryMax=32G` is NOT an in-code cap — a CORE function cannot portably
14
+ * self-confine to a cgroup (`systemd-run` is Linux-only) — it is an OPERATIONAL
15
+ * launch-wrapper documented on {@link MEMORY_MAX_LAUNCH_WRAPPER}; the in-process
16
+ * complement is the gondolin VM's own `memory` option.
17
+ * 2. {@link CircuitBreaker} — a one-way latch that HALTS the run (no further ops,
18
+ * no DHQ write, no PR) the moment any of these trip:
19
+ * - an architectural gate goes RED (`gateRed`);
20
+ * - the writer lease throws {@link "../store/writer-lease.js".LeaseUnavailableError}
21
+ * (a `require`-mode acquisition FAILURE — `leaseUnavailable`);
22
+ * - a budget cap would be exceeded (`budgetOverrun`);
23
+ * - a DB error escapes the leased section (`dbError`).
24
+ * It does NOT trip on "daemon OFF": the default lease mode is `local` (no
25
+ * daemon), so daemon-off is the NORMAL operating state — tripping on it would
26
+ * block EVERY write in the default config (P5 spec §B.7 correction).
27
+ *
28
+ * This module is PURE — no DB, no native handle, no `cleo` mutation, no I/O.
29
+ * Import-time side-effect-free.
30
+ *
31
+ * @module @cleocode/core/selfimprove/budget
32
+ * @epic T11889
33
+ * @task T11913
34
+ */
35
+ /**
36
+ * The reasons the circuit-breaker may latch OPEN. Each is a genuine
37
+ * halt-the-loop condition (P5 spec §B.7). Deliberately does NOT include a
38
+ * "daemon-off" reason — the default `local` lease mode runs daemon-less, so that
39
+ * is the normal state, not a fault.
40
+ */
41
+ export type CircuitBreakerReason =
42
+ /** An architectural gate (`cleo check arch --strict`) went RED. */
43
+ 'gateRed'
44
+ /** The writer lease threw `LeaseUnavailableError` (`require`-mode failure). */
45
+ | 'leaseUnavailable'
46
+ /** A budget cap (tokens/$/PRs/worktrees) would be exceeded. */
47
+ | 'budgetOverrun'
48
+ /** A DB error escaped the leased section. */
49
+ | 'dbError';
50
+ /**
51
+ * Hard, in-code budget caps for ONE self-improvement run.
52
+ *
53
+ * `maxPrs` and `maxWorktrees` are pinned to `1` by {@link DEFAULT_BUDGET}: the loop
54
+ * opens AT MOST one draft PR and boots AT MOST one sandbox per run. `maxTokens` /
55
+ * `maxUsd` bound model spend; the engine accumulates per-op cost and asks
56
+ * {@link CircuitBreaker.assertWithinBudget} before each costed step.
57
+ *
58
+ * `MemoryMax=32G` is intentionally ABSENT here — it is enforced at the launch
59
+ * boundary (see {@link MEMORY_MAX_LAUNCH_WRAPPER}), not by this object.
60
+ */
61
+ export interface SelfImproveBudget {
62
+ /** Maximum model tokens spent across the whole run. */
63
+ readonly maxTokens: number;
64
+ /** Maximum USD spent across the whole run. */
65
+ readonly maxUsd: number;
66
+ /** Maximum draft PRs opened in the run (pinned to `1`). */
67
+ readonly maxPrs: number;
68
+ /** Maximum sandbox envs booted in the run (pinned to `1`). */
69
+ readonly maxWorktrees: number;
70
+ }
71
+ /**
72
+ * The default budget for a self-improvement run. `maxPrs` / `maxWorktrees` are
73
+ * `1` by contract; `maxTokens` / `maxUsd` are conservative defaults overridable
74
+ * via {@link resolveBudget} (env) or an explicit partial.
75
+ */
76
+ export declare const DEFAULT_BUDGET: SelfImproveBudget;
77
+ /**
78
+ * The launch-boundary memory cap — an OPERATIONAL wrapper, NOT an in-code cap.
79
+ *
80
+ * A CORE function cannot portably self-confine to a cgroup (`systemd-run` is
81
+ * Linux-only; re-exec'ing under it from inside the engine is fragile), so the
82
+ * runbook / spawn wrapper that invokes `cleo selfimprove run` wraps it on Linux.
83
+ * On macOS the gondolin VM's own `memory` option bounds the guest. Exported as a
84
+ * documented constant so the spawn wrapper and the runbook share one SSoT string.
85
+ */
86
+ export declare const MEMORY_MAX_LAUNCH_WRAPPER: "systemd-run --user --scope -p MemoryMax=32G -p MemorySwapMax=0";
87
+ /**
88
+ * The mutable cost accumulator the engine threads through one run. Every costed
89
+ * step ADDS to this before asking the breaker whether the next step fits.
90
+ */
91
+ export interface BudgetSpend {
92
+ /** Tokens spent so far. */
93
+ tokens: number;
94
+ /** USD spent so far. */
95
+ usd: number;
96
+ /** Draft PRs opened so far. */
97
+ prs: number;
98
+ /** Sandbox envs booted so far. */
99
+ worktrees: number;
100
+ }
101
+ /** A fresh, zeroed {@link BudgetSpend}. */
102
+ export declare function emptySpend(): BudgetSpend;
103
+ /**
104
+ * The increment a single step would add to the spend. Each field defaults to `0`,
105
+ * so a step that only opens a PR passes `{ prs: 1 }`.
106
+ */
107
+ export interface BudgetCharge {
108
+ /** Tokens this step would consume. */
109
+ readonly tokens?: number;
110
+ /** USD this step would consume. */
111
+ readonly usd?: number;
112
+ /** Draft PRs this step would open. */
113
+ readonly prs?: number;
114
+ /** Sandbox envs this step would boot. */
115
+ readonly worktrees?: number;
116
+ }
117
+ /**
118
+ * Thrown by {@link CircuitBreaker.assertWithinBudget} when a step's charge would
119
+ * push the accumulated spend past a cap. Carries the offending dimension so the
120
+ * engine can trip the breaker with `reason: 'budgetOverrun'` and surface WHICH cap.
121
+ */
122
+ export declare class BudgetExceededError extends Error {
123
+ /** Stable machine-readable code. */
124
+ readonly code: "E_SELFIMPROVE_BUDGET_EXCEEDED";
125
+ /** Which cap was exceeded. */
126
+ readonly dimension: keyof SelfImproveBudget;
127
+ /**
128
+ * @param dimension - The exceeded cap dimension.
129
+ * @param attempted - The accumulated value the step would have reached.
130
+ * @param cap - The cap that bounds it.
131
+ */
132
+ constructor(dimension: keyof SelfImproveBudget, attempted: number, cap: number);
133
+ }
134
+ /** Snapshot of the circuit-breaker latch state. */
135
+ export interface CircuitBreakerState {
136
+ /** Whether the breaker has latched OPEN (the loop must halt). */
137
+ readonly open: boolean;
138
+ /** The reason the breaker tripped, or `null` while closed. */
139
+ readonly reason: CircuitBreakerReason | null;
140
+ /** A human-readable detail for the trip, or `null` while closed. */
141
+ readonly detail: string | null;
142
+ }
143
+ /**
144
+ * A one-way circuit-breaker latch + pre-flight budget gate for ONE run.
145
+ *
146
+ * Once {@link trip} is called the breaker stays OPEN for the run's lifetime —
147
+ * there is no reset (a run is single-use; the next run constructs a fresh
148
+ * breaker). {@link assertOpen} short-circuits B.4-B.5 to a no-op the moment the
149
+ * latch is set, and {@link assertWithinBudget} is the PRE-FLIGHT check the engine
150
+ * runs before each costed step.
151
+ *
152
+ * PURE — holds only in-memory counters; no I/O.
153
+ */
154
+ export declare class CircuitBreaker {
155
+ #private;
156
+ /**
157
+ * @param budget - The caps for this run (defaults to {@link DEFAULT_BUDGET}).
158
+ * @param spend - The starting spend (defaults to a zeroed accumulator).
159
+ */
160
+ constructor(budget?: SelfImproveBudget, spend?: BudgetSpend);
161
+ /** Whether the breaker has latched OPEN. */
162
+ get isOpen(): boolean;
163
+ /** The current latch state (open flag + reason + detail). */
164
+ get state(): CircuitBreakerState;
165
+ /** The accumulated spend so far (a live read of the internal counters). */
166
+ get spend(): Readonly<BudgetSpend>;
167
+ /**
168
+ * Latch the breaker OPEN. Idempotent: the FIRST trip wins — a later trip does
169
+ * not overwrite the original reason (the first fault is the relevant one).
170
+ *
171
+ * @param reason - The trip reason.
172
+ * @param detail - A human-readable detail for logs / the run report.
173
+ */
174
+ trip(reason: CircuitBreakerReason, detail: string): void;
175
+ /**
176
+ * Throw if the breaker is OPEN — the engine calls this at the top of each
177
+ * phase so a tripped breaker short-circuits the rest of the run.
178
+ *
179
+ * @throws {Error} `E_SELFIMPROVE_CIRCUIT_OPEN` when the breaker is latched.
180
+ */
181
+ assertClosed(): void;
182
+ /**
183
+ * PRE-FLIGHT budget check for a costed step. Computes the spend the step WOULD
184
+ * reach and — if any dimension would exceed its cap — TRIPS the breaker with
185
+ * `reason: 'budgetOverrun'` and throws {@link BudgetExceededError} BEFORE the
186
+ * step runs. On success it COMMITS the charge to the accumulator.
187
+ *
188
+ * @param charge - The increment the step would add.
189
+ * @throws {BudgetExceededError} When a cap would be exceeded (and trips the breaker).
190
+ */
191
+ chargeOrTrip(charge: BudgetCharge): void;
192
+ }
193
+ /**
194
+ * Resolve the effective {@link SelfImproveBudget}, layering env overrides over an
195
+ * explicit partial over {@link DEFAULT_BUDGET}. `maxPrs` / `maxWorktrees` are
196
+ * ALWAYS clamped to at most `1` regardless of override — the one-PR / one-sandbox
197
+ * ceiling is a hard invariant, not a tunable.
198
+ *
199
+ * Env overrides (numeric): `CLEO_SELFIMPROVE_MAX_TOKENS`, `CLEO_SELFIMPROVE_MAX_USD`.
200
+ *
201
+ * @param overrides - Optional explicit partial caps (test / caller injection).
202
+ * @param env - The environment to read overrides from (defaults to `process.env`).
203
+ * @returns The resolved, invariant-clamped budget.
204
+ */
205
+ export declare function resolveBudget(overrides?: Partial<SelfImproveBudget>, env?: NodeJS.ProcessEnv): SelfImproveBudget;
206
+ //# sourceMappingURL=budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/selfimprove/budget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Budget caps + circuit-breaker state machine for the self-improvement loop
3
+ * (T11889 · T11889-C).
4
+ *
5
+ * The loop is an AUTONOMOUS dogfooding engine — it boots a sandbox, replays a
6
+ * scenario, and on a regression it WRITES a leased DHQ row and opens a draft PR.
7
+ * Two guardrails bound that autonomy:
8
+ *
9
+ * 1. {@link SelfImproveBudget} — HARD, in-code caps (`maxTokens`, `maxUsd`,
10
+ * `maxPrs = 1`, `maxWorktrees = 1`). These are REAL, not advisory: the engine
11
+ * asks {@link CircuitBreaker.assertWithinBudget} BEFORE each costed step, so a
12
+ * cap is enforced as a PRE-FLIGHT check (never merely observed after the fact).
13
+ * `MemoryMax=32G` is NOT an in-code cap — a CORE function cannot portably
14
+ * self-confine to a cgroup (`systemd-run` is Linux-only) — it is an OPERATIONAL
15
+ * launch-wrapper documented on {@link MEMORY_MAX_LAUNCH_WRAPPER}; the in-process
16
+ * complement is the gondolin VM's own `memory` option.
17
+ * 2. {@link CircuitBreaker} — a one-way latch that HALTS the run (no further ops,
18
+ * no DHQ write, no PR) the moment any of these trip:
19
+ * - an architectural gate goes RED (`gateRed`);
20
+ * - the writer lease throws {@link "../store/writer-lease.js".LeaseUnavailableError}
21
+ * (a `require`-mode acquisition FAILURE — `leaseUnavailable`);
22
+ * - a budget cap would be exceeded (`budgetOverrun`);
23
+ * - a DB error escapes the leased section (`dbError`).
24
+ * It does NOT trip on "daemon OFF": the default lease mode is `local` (no
25
+ * daemon), so daemon-off is the NORMAL operating state — tripping on it would
26
+ * block EVERY write in the default config (P5 spec §B.7 correction).
27
+ *
28
+ * This module is PURE — no DB, no native handle, no `cleo` mutation, no I/O.
29
+ * Import-time side-effect-free.
30
+ *
31
+ * @module @cleocode/core/selfimprove/budget
32
+ * @epic T11889
33
+ * @task T11913
34
+ */
35
+ /**
36
+ * The default budget for a self-improvement run. `maxPrs` / `maxWorktrees` are
37
+ * `1` by contract; `maxTokens` / `maxUsd` are conservative defaults overridable
38
+ * via {@link resolveBudget} (env) or an explicit partial.
39
+ */
40
+ export const DEFAULT_BUDGET = {
41
+ maxTokens: 200_000,
42
+ maxUsd: 5,
43
+ maxPrs: 1,
44
+ maxWorktrees: 1,
45
+ };
46
+ /**
47
+ * The launch-boundary memory cap — an OPERATIONAL wrapper, NOT an in-code cap.
48
+ *
49
+ * A CORE function cannot portably self-confine to a cgroup (`systemd-run` is
50
+ * Linux-only; re-exec'ing under it from inside the engine is fragile), so the
51
+ * runbook / spawn wrapper that invokes `cleo selfimprove run` wraps it on Linux.
52
+ * On macOS the gondolin VM's own `memory` option bounds the guest. Exported as a
53
+ * documented constant so the spawn wrapper and the runbook share one SSoT string.
54
+ */
55
+ export const MEMORY_MAX_LAUNCH_WRAPPER = 'systemd-run --user --scope -p MemoryMax=32G -p MemorySwapMax=0';
56
+ /** A fresh, zeroed {@link BudgetSpend}. */
57
+ export function emptySpend() {
58
+ return { tokens: 0, usd: 0, prs: 0, worktrees: 0 };
59
+ }
60
+ /**
61
+ * Thrown by {@link CircuitBreaker.assertWithinBudget} when a step's charge would
62
+ * push the accumulated spend past a cap. Carries the offending dimension so the
63
+ * engine can trip the breaker with `reason: 'budgetOverrun'` and surface WHICH cap.
64
+ */
65
+ export class BudgetExceededError extends Error {
66
+ /** Stable machine-readable code. */
67
+ code = 'E_SELFIMPROVE_BUDGET_EXCEEDED';
68
+ /** Which cap was exceeded. */
69
+ dimension;
70
+ /**
71
+ * @param dimension - The exceeded cap dimension.
72
+ * @param attempted - The accumulated value the step would have reached.
73
+ * @param cap - The cap that bounds it.
74
+ */
75
+ constructor(dimension, attempted, cap) {
76
+ super(`self-improve budget exceeded: ${dimension} would reach ${attempted}, cap is ${cap}`);
77
+ this.name = 'BudgetExceededError';
78
+ this.dimension = dimension;
79
+ }
80
+ }
81
+ /**
82
+ * A one-way circuit-breaker latch + pre-flight budget gate for ONE run.
83
+ *
84
+ * Once {@link trip} is called the breaker stays OPEN for the run's lifetime —
85
+ * there is no reset (a run is single-use; the next run constructs a fresh
86
+ * breaker). {@link assertOpen} short-circuits B.4-B.5 to a no-op the moment the
87
+ * latch is set, and {@link assertWithinBudget} is the PRE-FLIGHT check the engine
88
+ * runs before each costed step.
89
+ *
90
+ * PURE — holds only in-memory counters; no I/O.
91
+ */
92
+ export class CircuitBreaker {
93
+ #budget;
94
+ #spend;
95
+ #open = false;
96
+ #reason = null;
97
+ #detail = null;
98
+ /**
99
+ * @param budget - The caps for this run (defaults to {@link DEFAULT_BUDGET}).
100
+ * @param spend - The starting spend (defaults to a zeroed accumulator).
101
+ */
102
+ constructor(budget = DEFAULT_BUDGET, spend = emptySpend()) {
103
+ this.#budget = budget;
104
+ this.#spend = spend;
105
+ }
106
+ /** Whether the breaker has latched OPEN. */
107
+ get isOpen() {
108
+ return this.#open;
109
+ }
110
+ /** The current latch state (open flag + reason + detail). */
111
+ get state() {
112
+ return { open: this.#open, reason: this.#reason, detail: this.#detail };
113
+ }
114
+ /** The accumulated spend so far (a live read of the internal counters). */
115
+ get spend() {
116
+ return { ...this.#spend };
117
+ }
118
+ /**
119
+ * Latch the breaker OPEN. Idempotent: the FIRST trip wins — a later trip does
120
+ * not overwrite the original reason (the first fault is the relevant one).
121
+ *
122
+ * @param reason - The trip reason.
123
+ * @param detail - A human-readable detail for logs / the run report.
124
+ */
125
+ trip(reason, detail) {
126
+ if (this.#open)
127
+ return;
128
+ this.#open = true;
129
+ this.#reason = reason;
130
+ this.#detail = detail;
131
+ }
132
+ /**
133
+ * Throw if the breaker is OPEN — the engine calls this at the top of each
134
+ * phase so a tripped breaker short-circuits the rest of the run.
135
+ *
136
+ * @throws {Error} `E_SELFIMPROVE_CIRCUIT_OPEN` when the breaker is latched.
137
+ */
138
+ assertClosed() {
139
+ if (this.#open) {
140
+ const err = new Error(`self-improve circuit-breaker OPEN (${this.#reason}): ${this.#detail}`);
141
+ err.code = 'E_SELFIMPROVE_CIRCUIT_OPEN';
142
+ throw err;
143
+ }
144
+ }
145
+ /**
146
+ * PRE-FLIGHT budget check for a costed step. Computes the spend the step WOULD
147
+ * reach and — if any dimension would exceed its cap — TRIPS the breaker with
148
+ * `reason: 'budgetOverrun'` and throws {@link BudgetExceededError} BEFORE the
149
+ * step runs. On success it COMMITS the charge to the accumulator.
150
+ *
151
+ * @param charge - The increment the step would add.
152
+ * @throws {BudgetExceededError} When a cap would be exceeded (and trips the breaker).
153
+ */
154
+ chargeOrTrip(charge) {
155
+ const next = {
156
+ tokens: this.#spend.tokens + (charge.tokens ?? 0),
157
+ usd: this.#spend.usd + (charge.usd ?? 0),
158
+ prs: this.#spend.prs + (charge.prs ?? 0),
159
+ worktrees: this.#spend.worktrees + (charge.worktrees ?? 0),
160
+ };
161
+ const checks = [
162
+ ['maxTokens', next.tokens, this.#budget.maxTokens],
163
+ ['maxUsd', next.usd, this.#budget.maxUsd],
164
+ ['maxPrs', next.prs, this.#budget.maxPrs],
165
+ ['maxWorktrees', next.worktrees, this.#budget.maxWorktrees],
166
+ ];
167
+ for (const [dimension, attempted, cap] of checks) {
168
+ if (attempted > cap) {
169
+ const err = new BudgetExceededError(dimension, attempted, cap);
170
+ this.trip('budgetOverrun', err.message);
171
+ throw err;
172
+ }
173
+ }
174
+ this.#spend.tokens = next.tokens;
175
+ this.#spend.usd = next.usd;
176
+ this.#spend.prs = next.prs;
177
+ this.#spend.worktrees = next.worktrees;
178
+ }
179
+ }
180
+ /**
181
+ * Resolve the effective {@link SelfImproveBudget}, layering env overrides over an
182
+ * explicit partial over {@link DEFAULT_BUDGET}. `maxPrs` / `maxWorktrees` are
183
+ * ALWAYS clamped to at most `1` regardless of override — the one-PR / one-sandbox
184
+ * ceiling is a hard invariant, not a tunable.
185
+ *
186
+ * Env overrides (numeric): `CLEO_SELFIMPROVE_MAX_TOKENS`, `CLEO_SELFIMPROVE_MAX_USD`.
187
+ *
188
+ * @param overrides - Optional explicit partial caps (test / caller injection).
189
+ * @param env - The environment to read overrides from (defaults to `process.env`).
190
+ * @returns The resolved, invariant-clamped budget.
191
+ */
192
+ export function resolveBudget(overrides = {}, env = process.env) {
193
+ const envTokens = Number(env.CLEO_SELFIMPROVE_MAX_TOKENS);
194
+ const envUsd = Number(env.CLEO_SELFIMPROVE_MAX_USD);
195
+ const maxTokens = overrides.maxTokens ??
196
+ (Number.isFinite(envTokens) && envTokens > 0 ? envTokens : DEFAULT_BUDGET.maxTokens);
197
+ const maxUsd = overrides.maxUsd ?? (Number.isFinite(envUsd) && envUsd > 0 ? envUsd : DEFAULT_BUDGET.maxUsd);
198
+ // The one-PR / one-sandbox ceiling is invariant — clamp to at most 1.
199
+ const maxPrs = Math.min(1, overrides.maxPrs ?? DEFAULT_BUDGET.maxPrs);
200
+ const maxWorktrees = Math.min(1, overrides.maxWorktrees ?? DEFAULT_BUDGET.maxWorktrees);
201
+ return { maxTokens, maxUsd, maxPrs, maxWorktrees };
202
+ }
203
+ //# sourceMappingURL=budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/selfimprove/budget.ts"],"names":[],"mappings":"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"}