@cleocode/core 2026.3.74 → 2026.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/README.md +1 -1
  2. package/dist/agents/agent-schema.d.ts.map +1 -1
  3. package/dist/agents/retry.js +26 -21
  4. package/dist/agents/retry.js.map +1 -1
  5. package/dist/cant/approval.d.ts +110 -0
  6. package/dist/cant/approval.d.ts.map +1 -0
  7. package/dist/cant/approval.js +185 -0
  8. package/dist/cant/approval.js.map +1 -0
  9. package/dist/cant/context-builder.d.ts +79 -0
  10. package/dist/cant/context-builder.d.ts.map +1 -0
  11. package/dist/cant/context-builder.js +117 -0
  12. package/dist/cant/context-builder.js.map +1 -0
  13. package/dist/cant/discretion.d.ts +95 -0
  14. package/dist/cant/discretion.d.ts.map +1 -0
  15. package/dist/cant/discretion.js +116 -0
  16. package/dist/cant/discretion.js.map +1 -0
  17. package/dist/cant/index.d.ts +25 -0
  18. package/dist/cant/index.d.ts.map +1 -0
  19. package/dist/cant/index.js +23 -0
  20. package/dist/cant/index.js.map +1 -0
  21. package/dist/cant/parallel-runner.d.ts +38 -0
  22. package/dist/cant/parallel-runner.d.ts.map +1 -0
  23. package/dist/cant/parallel-runner.js +173 -0
  24. package/dist/cant/parallel-runner.js.map +1 -0
  25. package/dist/cant/types.d.ts +127 -0
  26. package/dist/cant/types.d.ts.map +1 -0
  27. package/dist/cant/types.js +11 -0
  28. package/dist/cant/types.js.map +1 -0
  29. package/dist/cant/workflow-executor.d.ts +105 -0
  30. package/dist/cant/workflow-executor.d.ts.map +1 -0
  31. package/dist/cant/workflow-executor.js +440 -0
  32. package/dist/cant/workflow-executor.js.map +1 -0
  33. package/dist/cleo.js +21 -1
  34. package/dist/cleo.js.map +1 -1
  35. package/dist/code/index.d.ts +10 -0
  36. package/dist/code/index.d.ts.map +1 -0
  37. package/dist/code/outline.d.ts +51 -0
  38. package/dist/code/outline.d.ts.map +1 -0
  39. package/dist/code/parser.d.ts +30 -0
  40. package/dist/code/parser.d.ts.map +1 -0
  41. package/dist/code/search.d.ts +42 -0
  42. package/dist/code/search.d.ts.map +1 -0
  43. package/dist/code/unfold.d.ts +44 -0
  44. package/dist/code/unfold.d.ts.map +1 -0
  45. package/dist/conduit/conduit-client.d.ts +35 -0
  46. package/dist/conduit/conduit-client.d.ts.map +1 -0
  47. package/dist/conduit/conduit-client.js +94 -0
  48. package/dist/conduit/conduit-client.js.map +1 -0
  49. package/dist/conduit/factory.d.ts +15 -0
  50. package/dist/conduit/factory.d.ts.map +1 -0
  51. package/dist/conduit/factory.js +35 -0
  52. package/dist/conduit/factory.js.map +1 -0
  53. package/dist/conduit/http-transport.d.ts +44 -0
  54. package/dist/conduit/http-transport.d.ts.map +1 -0
  55. package/dist/conduit/http-transport.js +165 -0
  56. package/dist/conduit/http-transport.js.map +1 -0
  57. package/dist/conduit/index.d.ts +15 -0
  58. package/dist/conduit/index.d.ts.map +1 -0
  59. package/dist/conduit/index.js +12 -0
  60. package/dist/conduit/index.js.map +1 -0
  61. package/dist/conduit/local-transport.d.ts +91 -0
  62. package/dist/conduit/local-transport.d.ts.map +1 -0
  63. package/dist/conduit/sse-transport.d.ts +68 -0
  64. package/dist/conduit/sse-transport.d.ts.map +1 -0
  65. package/dist/config.js +4 -3
  66. package/dist/config.js.map +1 -1
  67. package/dist/crypto/credentials.d.ts +40 -0
  68. package/dist/crypto/credentials.d.ts.map +1 -0
  69. package/dist/crypto/credentials.js +144 -0
  70. package/dist/crypto/credentials.js.map +1 -0
  71. package/dist/engine-result.d.ts +1 -1
  72. package/dist/engine-result.d.ts.map +1 -1
  73. package/dist/error-catalog.d.ts +1 -1
  74. package/dist/error-catalog.d.ts.map +1 -1
  75. package/dist/error-registry.d.ts +1 -1
  76. package/dist/error-registry.d.ts.map +1 -1
  77. package/dist/errors.d.ts +1 -1
  78. package/dist/errors.d.ts.map +1 -1
  79. package/dist/hooks/handlers/agent-hooks.d.ts.map +1 -1
  80. package/dist/hooks/handlers/agent-hooks.js +106 -0
  81. package/dist/hooks/handlers/agent-hooks.js.map +1 -0
  82. package/dist/hooks/handlers/context-hooks.d.ts.map +1 -1
  83. package/dist/hooks/handlers/context-hooks.js +111 -0
  84. package/dist/hooks/handlers/context-hooks.js.map +1 -0
  85. package/dist/hooks/handlers/error-hooks.d.ts +14 -5
  86. package/dist/hooks/handlers/error-hooks.d.ts.map +1 -1
  87. package/dist/hooks/handlers/error-hooks.js +15 -6
  88. package/dist/hooks/handlers/error-hooks.js.map +1 -1
  89. package/dist/hooks/handlers/file-hooks.d.ts.map +1 -1
  90. package/dist/hooks/handlers/file-hooks.js +35 -11
  91. package/dist/hooks/handlers/file-hooks.js.map +1 -1
  92. package/dist/hooks/handlers/handler-helpers.d.ts +41 -0
  93. package/dist/hooks/handlers/handler-helpers.d.ts.map +1 -0
  94. package/dist/hooks/handlers/handler-helpers.js +61 -0
  95. package/dist/hooks/handlers/handler-helpers.js.map +1 -0
  96. package/dist/hooks/handlers/index.js +10 -1
  97. package/dist/hooks/handlers/index.js.map +1 -1
  98. package/dist/hooks/handlers/mcp-hooks.d.ts.map +1 -1
  99. package/dist/hooks/handlers/mcp-hooks.js +88 -21
  100. package/dist/hooks/handlers/mcp-hooks.js.map +1 -1
  101. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
  102. package/dist/hooks/handlers/session-hooks.js +5 -10
  103. package/dist/hooks/handlers/session-hooks.js.map +1 -1
  104. package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
  105. package/dist/hooks/handlers/task-hooks.js +5 -10
  106. package/dist/hooks/handlers/task-hooks.js.map +1 -1
  107. package/dist/hooks/handlers/work-capture-hooks.d.ts.map +1 -1
  108. package/dist/hooks/handlers/work-capture-hooks.js +165 -0
  109. package/dist/hooks/handlers/work-capture-hooks.js.map +1 -0
  110. package/dist/hooks/payload-schemas.js +83 -26
  111. package/dist/hooks/payload-schemas.js.map +1 -1
  112. package/dist/hooks/provider-hooks.js +37 -5
  113. package/dist/hooks/provider-hooks.js.map +1 -1
  114. package/dist/hooks/registry.js +76 -23
  115. package/dist/hooks/registry.js.map +1 -1
  116. package/dist/hooks/types.js +17 -13
  117. package/dist/hooks/types.js.map +1 -1
  118. package/dist/index.d.ts +4 -1
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +6452 -3371
  121. package/dist/index.js.map +4 -4
  122. package/dist/init.d.ts.map +1 -1
  123. package/dist/init.js +12 -0
  124. package/dist/init.js.map +1 -1
  125. package/dist/internal.d.ts +11 -1
  126. package/dist/internal.d.ts.map +1 -1
  127. package/dist/internal.js +10 -0
  128. package/dist/internal.js.map +1 -1
  129. package/dist/lib/index.d.ts +1 -0
  130. package/dist/lib/index.d.ts.map +1 -1
  131. package/dist/lib/tree-sitter-languages.d.ts +29 -0
  132. package/dist/lib/tree-sitter-languages.d.ts.map +1 -0
  133. package/dist/memory/brain-links.d.ts.map +1 -1
  134. package/dist/memory/brain-maintenance.d.ts +13 -0
  135. package/dist/memory/brain-maintenance.d.ts.map +1 -1
  136. package/dist/memory/brain-retrieval.d.ts +3 -0
  137. package/dist/memory/brain-retrieval.d.ts.map +1 -1
  138. package/dist/memory/brain-retrieval.js +5 -0
  139. package/dist/memory/brain-retrieval.js.map +1 -1
  140. package/dist/memory/decisions.d.ts.map +1 -1
  141. package/dist/mvi-helpers.d.ts +52 -0
  142. package/dist/mvi-helpers.d.ts.map +1 -0
  143. package/dist/mvi-helpers.js +74 -0
  144. package/dist/mvi-helpers.js.map +1 -0
  145. package/dist/nexus/index.js +2 -0
  146. package/dist/nexus/index.js.map +1 -1
  147. package/dist/nexus/workspace.d.ts.map +1 -1
  148. package/dist/nexus/workspace.js +355 -0
  149. package/dist/nexus/workspace.js.map +1 -0
  150. package/dist/orchestration/hierarchy.d.ts +32 -0
  151. package/dist/orchestration/hierarchy.d.ts.map +1 -0
  152. package/dist/orchestration/index.d.ts +1 -0
  153. package/dist/orchestration/index.d.ts.map +1 -1
  154. package/dist/output.d.ts +2 -2
  155. package/dist/output.d.ts.map +1 -1
  156. package/dist/output.js +40 -8
  157. package/dist/output.js.map +1 -1
  158. package/dist/pagination.d.ts +1 -1
  159. package/dist/pagination.d.ts.map +1 -1
  160. package/dist/sessions/find.d.ts +3 -0
  161. package/dist/sessions/find.d.ts.map +1 -1
  162. package/dist/sessions/find.js +3 -1
  163. package/dist/sessions/find.js.map +1 -1
  164. package/dist/sessions/index.d.ts.map +1 -1
  165. package/dist/sessions/index.js +11 -4
  166. package/dist/sessions/index.js.map +1 -1
  167. package/dist/sessions/snapshot.js +213 -0
  168. package/dist/sessions/snapshot.js.map +1 -0
  169. package/dist/store/agent-registry-accessor.d.ts +31 -0
  170. package/dist/store/agent-registry-accessor.d.ts.map +1 -0
  171. package/dist/store/agent-registry-accessor.js +169 -0
  172. package/dist/store/agent-registry-accessor.js.map +1 -0
  173. package/dist/store/converters.d.ts.map +1 -1
  174. package/dist/store/converters.js +2 -0
  175. package/dist/store/converters.js.map +1 -1
  176. package/dist/store/cross-db-cleanup.d.ts +34 -0
  177. package/dist/store/cross-db-cleanup.d.ts.map +1 -1
  178. package/dist/store/db-helpers.d.ts.map +1 -1
  179. package/dist/store/db-helpers.js +1 -0
  180. package/dist/store/db-helpers.js.map +1 -1
  181. package/dist/store/json.js +2 -2
  182. package/dist/store/safety-data-accessor.d.ts +7 -0
  183. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  184. package/dist/store/safety-data-accessor.js +14 -0
  185. package/dist/store/safety-data-accessor.js.map +1 -1
  186. package/dist/store/signaldock-sqlite.d.ts +48 -0
  187. package/dist/store/signaldock-sqlite.d.ts.map +1 -0
  188. package/dist/store/signaldock-sqlite.js +178 -0
  189. package/dist/store/signaldock-sqlite.js.map +1 -0
  190. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  191. package/dist/store/sqlite-data-accessor.js +50 -0
  192. package/dist/store/sqlite-data-accessor.js.map +1 -1
  193. package/dist/store/sqlite.d.ts.map +1 -1
  194. package/dist/store/sqlite.js +30 -1
  195. package/dist/store/sqlite.js.map +1 -1
  196. package/dist/store/task-store.d.ts.map +1 -1
  197. package/dist/store/task-store.js +2 -0
  198. package/dist/store/task-store.js.map +1 -1
  199. package/dist/store/tasks-schema.d.ts +16 -0
  200. package/dist/store/tasks-schema.d.ts.map +1 -1
  201. package/dist/store/tasks-schema.js +33 -0
  202. package/dist/store/tasks-schema.js.map +1 -1
  203. package/dist/store/validation-schemas.d.ts +32 -0
  204. package/dist/store/validation-schemas.d.ts.map +1 -1
  205. package/dist/system/health.d.ts +1 -1
  206. package/dist/system/health.d.ts.map +1 -1
  207. package/dist/system/health.js +35 -0
  208. package/dist/system/health.js.map +1 -1
  209. package/dist/task-work/index.d.ts.map +1 -1
  210. package/dist/task-work/index.js +8 -4
  211. package/dist/task-work/index.js.map +1 -1
  212. package/dist/tasks/complete.js +5 -2
  213. package/dist/tasks/complete.js.map +1 -1
  214. package/dist/tasks/find.d.ts +3 -0
  215. package/dist/tasks/find.d.ts.map +1 -1
  216. package/dist/tasks/find.js +7 -1
  217. package/dist/tasks/find.js.map +1 -1
  218. package/dist/tasks/list.d.ts +5 -2
  219. package/dist/tasks/list.d.ts.map +1 -1
  220. package/dist/tasks/list.js +9 -2
  221. package/dist/tasks/list.js.map +1 -1
  222. package/dist/tasks/show.d.ts +3 -0
  223. package/dist/tasks/show.d.ts.map +1 -1
  224. package/dist/tasks/show.js +2 -0
  225. package/dist/tasks/show.js.map +1 -1
  226. package/dist/upgrade.d.ts.map +1 -1
  227. package/dist/upgrade.js +15 -0
  228. package/dist/upgrade.js.map +1 -1
  229. package/migrations/drizzle-tasks/20260324000000_assignee-column/migration.sql +6 -0
  230. package/migrations/drizzle-tasks/20260324000000_assignee-column/snapshot.json +9 -0
  231. package/migrations/drizzle-tasks/20260327000000_agent-credentials/migration.sql +23 -0
  232. package/package.json +17 -7
  233. package/src/__tests__/cli-parity.test.js +11 -1
  234. package/src/__tests__/cli-parity.test.js.map +1 -1
  235. package/src/__tests__/cli-parity.test.ts +17 -1
  236. package/src/__tests__/human-output.test.js +11 -1
  237. package/src/__tests__/human-output.test.js.map +1 -1
  238. package/src/__tests__/human-output.test.ts +18 -1
  239. package/src/__tests__/injection-chain.test.js +3 -2
  240. package/src/__tests__/injection-chain.test.js.map +1 -1
  241. package/src/__tests__/injection-mvi-tiers.test.d.ts +2 -2
  242. package/src/__tests__/injection-mvi-tiers.test.js +15 -15
  243. package/src/__tests__/injection-mvi-tiers.test.js.map +1 -1
  244. package/src/__tests__/lafs-conformance.test.d.ts +1 -1
  245. package/src/__tests__/lafs-conformance.test.js +2 -2
  246. package/src/__tests__/sharing.test.js +19 -0
  247. package/src/__tests__/sharing.test.js.map +1 -1
  248. package/src/agents/__tests__/agent-registry.test.d.ts +12 -0
  249. package/src/agents/__tests__/agent-registry.test.d.ts.map +1 -0
  250. package/src/agents/__tests__/agent-registry.test.js +262 -0
  251. package/src/agents/__tests__/agent-registry.test.js.map +1 -0
  252. package/src/agents/__tests__/execution-learning.test.d.ts +14 -0
  253. package/src/agents/__tests__/execution-learning.test.d.ts.map +1 -0
  254. package/src/agents/__tests__/execution-learning.test.js +533 -0
  255. package/src/agents/__tests__/execution-learning.test.js.map +1 -0
  256. package/src/agents/__tests__/health-monitor.test.d.ts +10 -0
  257. package/src/agents/__tests__/health-monitor.test.d.ts.map +1 -0
  258. package/src/agents/__tests__/health-monitor.test.js +259 -0
  259. package/src/agents/__tests__/health-monitor.test.js.map +1 -0
  260. package/src/agents/__tests__/registry.test.js +27 -2
  261. package/src/agents/__tests__/registry.test.js.map +1 -1
  262. package/src/agents/agent-schema.ts +2 -5
  263. package/src/cant/__tests__/cant-agent-parse.test.ts +94 -0
  264. package/src/cant/approval.ts +218 -0
  265. package/src/cant/context-builder.ts +135 -0
  266. package/src/cant/discretion.ts +149 -0
  267. package/src/cant/index.ts +58 -0
  268. package/src/cant/parallel-runner.ts +205 -0
  269. package/src/cant/types.ts +158 -0
  270. package/src/cant/workflow-executor.ts +618 -0
  271. package/src/code/index.ts +10 -0
  272. package/src/code/outline.ts +214 -0
  273. package/src/code/parser.ts +299 -0
  274. package/src/code/search.ts +173 -0
  275. package/src/code/unfold.ts +204 -0
  276. package/src/conduit/__tests__/dual-api-e2e.test.ts +212 -0
  277. package/src/conduit/__tests__/local-credential-flow.test.ts +230 -0
  278. package/src/conduit/__tests__/local-transport.test.ts +320 -0
  279. package/src/conduit/__tests__/sse-transport.test.ts +344 -0
  280. package/src/conduit/conduit-client.ts +123 -0
  281. package/src/conduit/factory.ts +49 -0
  282. package/src/conduit/http-transport.ts +201 -0
  283. package/src/conduit/index.ts +15 -0
  284. package/src/conduit/local-transport.ts +309 -0
  285. package/src/conduit/sse-transport.ts +382 -0
  286. package/src/crypto/credentials.ts +166 -0
  287. package/src/engine-result.ts +1 -1
  288. package/src/error-catalog.ts +1 -1
  289. package/src/error-registry.ts +1 -1
  290. package/src/errors.ts +1 -1
  291. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.d.ts +13 -0
  292. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.d.ts.map +1 -0
  293. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js +501 -0
  294. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js.map +1 -0
  295. package/src/hooks/handlers/agent-hooks.ts +1 -30
  296. package/src/hooks/handlers/context-hooks.ts +1 -30
  297. package/src/hooks/handlers/error-hooks.ts +14 -5
  298. package/src/hooks/handlers/file-hooks.ts +1 -6
  299. package/src/hooks/handlers/handler-helpers.ts +62 -0
  300. package/src/hooks/handlers/mcp-hooks.ts +2 -14
  301. package/src/hooks/handlers/session-hooks.ts +1 -6
  302. package/src/hooks/handlers/task-hooks.ts +1 -6
  303. package/src/hooks/handlers/work-capture-hooks.ts +1 -10
  304. package/src/index.ts +12 -1
  305. package/src/init.ts +12 -0
  306. package/src/intelligence/__tests__/adaptive-validation.test.d.ts +11 -0
  307. package/src/intelligence/__tests__/adaptive-validation.test.d.ts.map +1 -0
  308. package/src/intelligence/__tests__/adaptive-validation.test.js +517 -0
  309. package/src/intelligence/__tests__/adaptive-validation.test.js.map +1 -0
  310. package/src/intelligence/__tests__/impact.test.d.ts +1 -0
  311. package/src/intelligence/__tests__/impact.test.d.ts.map +1 -1
  312. package/src/intelligence/__tests__/impact.test.js +132 -1
  313. package/src/intelligence/__tests__/impact.test.js.map +1 -1
  314. package/src/internal.ts +22 -0
  315. package/src/lib/__tests__/retry.test.d.ts +7 -0
  316. package/src/lib/__tests__/retry.test.d.ts.map +1 -0
  317. package/src/lib/__tests__/retry.test.js +225 -0
  318. package/src/lib/__tests__/retry.test.js.map +1 -0
  319. package/src/lib/index.ts +8 -0
  320. package/src/lib/tree-sitter-languages.ts +88 -0
  321. package/src/lifecycle/__tests__/chain-store.test.js +6 -0
  322. package/src/lifecycle/__tests__/chain-store.test.js.map +1 -1
  323. package/src/lifecycle/__tests__/tessera-engine.test.js +52 -0
  324. package/src/lifecycle/__tests__/tessera-engine.test.js.map +1 -1
  325. package/src/memory/__tests__/brain-automation.test.d.ts +11 -0
  326. package/src/memory/__tests__/brain-automation.test.d.ts.map +1 -0
  327. package/src/memory/__tests__/brain-automation.test.js +730 -0
  328. package/src/memory/__tests__/brain-automation.test.js.map +1 -0
  329. package/src/memory/__tests__/brain-links.test.ts +14 -0
  330. package/src/memory/__tests__/brain-retrieval.test.ts +10 -0
  331. package/src/memory/__tests__/session-memory.test.ts +17 -0
  332. package/src/memory/brain-links.ts +17 -0
  333. package/src/memory/brain-maintenance.ts +33 -1
  334. package/src/memory/brain-retrieval.ts +27 -2
  335. package/src/memory/decisions.ts +18 -2
  336. package/src/mvi-helpers.ts +81 -0
  337. package/src/nexus/workspace.ts +19 -7
  338. package/src/orchestration/hierarchy.ts +202 -0
  339. package/src/orchestration/index.ts +1 -0
  340. package/src/output.ts +43 -10
  341. package/src/pagination.ts +1 -1
  342. package/src/sessions/__tests__/session-edge-cases.test.js +20 -1
  343. package/src/sessions/__tests__/session-edge-cases.test.js.map +1 -1
  344. package/src/sessions/__tests__/session-find.test.js +1 -1
  345. package/src/sessions/__tests__/session-find.test.js.map +1 -1
  346. package/src/sessions/__tests__/session-find.test.ts +1 -1
  347. package/src/sessions/find.ts +6 -1
  348. package/src/sessions/index.ts +9 -0
  349. package/src/store/__tests__/migration-safety.test.js +3 -0
  350. package/src/store/__tests__/migration-safety.test.js.map +1 -1
  351. package/src/store/__tests__/session-store.test.js +128 -1
  352. package/src/store/__tests__/session-store.test.js.map +1 -1
  353. package/src/store/__tests__/task-store.test.js +18 -1
  354. package/src/store/__tests__/task-store.test.js.map +1 -1
  355. package/src/store/__tests__/test-db-helper.d.ts.map +1 -1
  356. package/src/store/__tests__/test-db-helper.js +12 -0
  357. package/src/store/__tests__/test-db-helper.js.map +1 -1
  358. package/src/store/agent-registry-accessor.ts +375 -0
  359. package/src/store/converters.ts +2 -0
  360. package/src/store/cross-db-cleanup.ts +175 -1
  361. package/src/store/db-helpers.ts +1 -0
  362. package/src/store/safety-data-accessor.ts +23 -0
  363. package/src/store/signaldock-sqlite.ts +429 -0
  364. package/src/store/sqlite-data-accessor.ts +72 -0
  365. package/src/store/sqlite.ts +4 -1
  366. package/src/store/task-store.ts +9 -1
  367. package/src/store/tasks-schema.ts +7 -0
  368. package/src/system/__tests__/health.test.ts +2 -2
  369. package/src/system/health.ts +54 -2
  370. package/src/task-work/index.ts +5 -0
  371. package/src/tasks/__tests__/add.test.js +19 -1
  372. package/src/tasks/__tests__/add.test.js.map +1 -1
  373. package/src/tasks/__tests__/assignee.test.d.ts +14 -0
  374. package/src/tasks/__tests__/assignee.test.d.ts.map +1 -0
  375. package/src/tasks/__tests__/assignee.test.js +125 -0
  376. package/src/tasks/__tests__/assignee.test.js.map +1 -0
  377. package/src/tasks/__tests__/assignee.test.ts +162 -0
  378. package/src/tasks/__tests__/complete-unblocks.test.js +13 -1
  379. package/src/tasks/__tests__/complete-unblocks.test.js.map +1 -1
  380. package/src/tasks/__tests__/complete.test.js +28 -7
  381. package/src/tasks/__tests__/complete.test.js.map +1 -1
  382. package/src/tasks/__tests__/epic-enforcement.test.d.ts +15 -0
  383. package/src/tasks/__tests__/epic-enforcement.test.d.ts.map +1 -0
  384. package/src/tasks/__tests__/epic-enforcement.test.js +669 -0
  385. package/src/tasks/__tests__/epic-enforcement.test.js.map +1 -0
  386. package/src/tasks/__tests__/hierarchy-policy.test.js +5 -0
  387. package/src/tasks/__tests__/hierarchy-policy.test.js.map +1 -1
  388. package/src/tasks/__tests__/minimal-test.test.d.ts +2 -0
  389. package/src/tasks/__tests__/minimal-test.test.d.ts.map +1 -0
  390. package/src/tasks/__tests__/minimal-test.test.js +25 -0
  391. package/src/tasks/__tests__/minimal-test.test.js.map +1 -0
  392. package/src/tasks/__tests__/pipeline-stage.test.d.ts +14 -0
  393. package/src/tasks/__tests__/pipeline-stage.test.d.ts.map +1 -0
  394. package/src/tasks/__tests__/pipeline-stage.test.js +277 -0
  395. package/src/tasks/__tests__/pipeline-stage.test.js.map +1 -0
  396. package/src/tasks/__tests__/update.test.js +43 -6
  397. package/src/tasks/__tests__/update.test.js.map +1 -1
  398. package/src/tasks/find.ts +11 -1
  399. package/src/tasks/list.ts +14 -3
  400. package/src/tasks/show.ts +6 -0
  401. package/src/upgrade.ts +16 -0
  402. package/dist/tasks/reparent.d.ts +0 -38
  403. package/dist/tasks/reparent.d.ts.map +0 -1
  404. package/dist/ui/injection-legacy.d.ts +0 -26
  405. package/dist/ui/injection-legacy.d.ts.map +0 -1
  406. package/dist/ui/injection-legacy.js +0 -42
  407. package/dist/ui/injection-legacy.js.map +0 -1
  408. package/src/signaldock/__tests__/claude-code-transport.test.d.ts +0 -7
  409. package/src/signaldock/__tests__/claude-code-transport.test.d.ts.map +0 -1
  410. package/src/signaldock/__tests__/claude-code-transport.test.js +0 -147
  411. package/src/signaldock/__tests__/claude-code-transport.test.js.map +0 -1
  412. package/src/signaldock/__tests__/claude-code-transport.test.ts +0 -180
  413. package/src/signaldock/__tests__/factory.test.d.ts +0 -7
  414. package/src/signaldock/__tests__/factory.test.d.ts.map +0 -1
  415. package/src/signaldock/__tests__/factory.test.js +0 -55
  416. package/src/signaldock/__tests__/factory.test.js.map +0 -1
  417. package/src/signaldock/__tests__/factory.test.ts +0 -61
  418. package/src/signaldock/__tests__/signaldock-transport.test.d.ts +0 -9
  419. package/src/signaldock/__tests__/signaldock-transport.test.d.ts.map +0 -1
  420. package/src/signaldock/__tests__/signaldock-transport.test.js +0 -321
  421. package/src/signaldock/__tests__/signaldock-transport.test.js.map +0 -1
  422. package/src/signaldock/__tests__/signaldock-transport.test.ts +0 -421
  423. package/src/signaldock/claude-code-transport.ts +0 -137
  424. package/src/signaldock/factory.ts +0 -39
  425. package/src/signaldock/index.ts +0 -28
  426. package/src/signaldock/signaldock-transport.ts +0 -194
  427. package/src/signaldock/transport.ts +0 -78
  428. package/src/signaldock/types.ts +0 -100
@@ -0,0 +1,52 @@
1
+ /**
2
+ * MVI _next directive helpers for progressive disclosure.
3
+ *
4
+ * When CLEO returns results in minimal MVI mode, `_next` provides a map of
5
+ * available follow-up operations the agent can take. This enables progressive
6
+ * disclosure: agents get lean results and can drill deeper only when needed.
7
+ *
8
+ * @example
9
+ * ```json
10
+ * {"id": "T042", "title": "Fix auth", "status": "active",
11
+ * "_next": {"full": "cleo show T042", "children": "cleo find --parent T042"}}
12
+ * ```
13
+ *
14
+ * @task T-MVI-06
15
+ */
16
+ /** Map of follow-up operation names to CLI command strings. */
17
+ export type NextDirectives = Record<string, string>;
18
+ /**
19
+ * Build `_next` directives for a full task detail result (tasks.show).
20
+ *
21
+ * @param taskId - The task ID to generate directives for
22
+ * @returns A map of available follow-up operations
23
+ */
24
+ export declare function taskShowNext(taskId: string): NextDirectives;
25
+ /**
26
+ * Build `_next` directives for a task in a list or find result.
27
+ *
28
+ * @param taskId - The task ID to generate directives for
29
+ * @returns A map of available follow-up operations
30
+ */
31
+ export declare function taskListItemNext(taskId: string): NextDirectives;
32
+ /**
33
+ * Build `_next` directives for a session in a list or find result.
34
+ *
35
+ * @param sessionId - The session ID to generate directives for
36
+ * @returns A map of available follow-up operations
37
+ */
38
+ export declare function sessionListItemNext(sessionId: string): NextDirectives;
39
+ /**
40
+ * Build `_next` directives for a session start result.
41
+ *
42
+ * @returns A map of available follow-up operations after starting a session
43
+ */
44
+ export declare function sessionStartNext(): NextDirectives;
45
+ /**
46
+ * Build `_next` directives for a memory search (find) hit.
47
+ *
48
+ * @param entryId - The brain entry ID to generate directives for
49
+ * @returns A map of available follow-up operations
50
+ */
51
+ export declare function memoryFindHitNext(entryId: string): NextDirectives;
52
+ //# sourceMappingURL=mvi-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mvi-helpers.d.ts","sourceRoot":"","sources":["../src/mvi-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAM3D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAI/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAKrE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAKjD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAIjE"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * MVI _next directive helpers for progressive disclosure.
3
+ *
4
+ * When CLEO returns results in minimal MVI mode, `_next` provides a map of
5
+ * available follow-up operations the agent can take. This enables progressive
6
+ * disclosure: agents get lean results and can drill deeper only when needed.
7
+ *
8
+ * @example
9
+ * ```json
10
+ * {"id": "T042", "title": "Fix auth", "status": "active",
11
+ * "_next": {"full": "cleo show T042", "children": "cleo find --parent T042"}}
12
+ * ```
13
+ *
14
+ * @task T-MVI-06
15
+ */
16
+ /**
17
+ * Build `_next` directives for a full task detail result (tasks.show).
18
+ *
19
+ * @param taskId - The task ID to generate directives for
20
+ * @returns A map of available follow-up operations
21
+ */
22
+ export function taskShowNext(taskId) {
23
+ return {
24
+ full: `cleo show ${taskId} --mvi full`,
25
+ children: `cleo find --parent ${taskId}`,
26
+ deps: `cleo deps ${taskId}`,
27
+ };
28
+ }
29
+ /**
30
+ * Build `_next` directives for a task in a list or find result.
31
+ *
32
+ * @param taskId - The task ID to generate directives for
33
+ * @returns A map of available follow-up operations
34
+ */
35
+ export function taskListItemNext(taskId) {
36
+ return {
37
+ show: `cleo show ${taskId}`,
38
+ };
39
+ }
40
+ /**
41
+ * Build `_next` directives for a session in a list or find result.
42
+ *
43
+ * @param sessionId - The session ID to generate directives for
44
+ * @returns A map of available follow-up operations
45
+ */
46
+ export function sessionListItemNext(sessionId) {
47
+ return {
48
+ show: `cleo session show ${sessionId}`,
49
+ serialize: `cleo session serialize ${sessionId}`,
50
+ };
51
+ }
52
+ /**
53
+ * Build `_next` directives for a session start result.
54
+ *
55
+ * @returns A map of available follow-up operations after starting a session
56
+ */
57
+ export function sessionStartNext() {
58
+ return {
59
+ current: 'cleo current',
60
+ stop: 'cleo session end',
61
+ };
62
+ }
63
+ /**
64
+ * Build `_next` directives for a memory search (find) hit.
65
+ *
66
+ * @param entryId - The brain entry ID to generate directives for
67
+ * @returns A map of available follow-up operations
68
+ */
69
+ export function memoryFindHitNext(entryId) {
70
+ return {
71
+ fetch: `cleo memory fetch ${entryId}`,
72
+ };
73
+ }
74
+ //# sourceMappingURL=mvi-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mvi-helpers.js","sourceRoot":"","sources":["../src/mvi-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO;QACL,IAAI,EAAE,aAAa,MAAM,aAAa;QACtC,QAAQ,EAAE,sBAAsB,MAAM,EAAE;QACxC,IAAI,EAAE,aAAa,MAAM,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO;QACL,IAAI,EAAE,aAAa,MAAM,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO;QACL,IAAI,EAAE,qBAAqB,SAAS,EAAE;QACtC,SAAS,EAAE,0BAA0B,SAAS,EAAE;KACjD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,kBAAkB;KACzB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO;QACL,KAAK,EAAE,qBAAqB,OAAO,EAAE;KACtC,CAAC;AACJ,CAAC"}
@@ -35,4 +35,6 @@ export {
35
35
  getSharingStatus, syncGitignore, } from './sharing/index.js';
36
36
  // Transfer - cross-project task transfer
37
37
  export { executeTransfer, previewTransfer } from './transfer.js';
38
+ // Workspace - cross-project orchestration (ORCH-PLAN Phase B)
39
+ export { parseDirective, routeDirective, workspaceAgents, workspaceStatus, } from './workspace.js';
38
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nexus/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8CAA8C;AAC9C,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAEhB,YAAY;AAGZ,aAAa;AACb,oBAAoB,EAIpB,SAAS,EAET,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,sDAAsD;AACtD,OAAO,EAEL,eAAe,EACf,eAAe,EAIf,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,yCAAyC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,0CAA0C;AAC1C,OAAO,EACL,UAAU,EACV,OAAO,EACP,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,aAAa;AAEb,aAAa;AACb,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,wCAAwC;AACxC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EAGnB,UAAU,EACV,kBAAkB,EAClB,WAAW;AACX,aAAa;AACb,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,iDAAiD;AACjD,OAAO,EACL,gBAAgB;AAChB,eAAe;AACf,YAAY,EAMZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,eAAe;AACf,aAAa;AACb,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,sDAAsD;AACtD,OAAO;AACL,aAAa;AACb,gBAAgB,EAGhB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,yCAAyC;AACzC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nexus/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8CAA8C;AAC9C,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAEhB,YAAY;AAGZ,aAAa;AACb,oBAAoB,EAIpB,SAAS,EAET,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,sDAAsD;AACtD,OAAO,EAEL,eAAe,EACf,eAAe,EAIf,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,yCAAyC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,0CAA0C;AAC1C,OAAO,EACL,UAAU,EACV,OAAO,EACP,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,aAAa;AAEb,aAAa;AACb,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,wCAAwC;AACxC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EAGnB,UAAU,EACV,kBAAkB,EAClB,WAAW;AACX,aAAa;AACb,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,iDAAiD;AACjD,OAAO,EACL,gBAAgB;AAChB,eAAe;AACf,YAAY,EAMZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,eAAe;AACf,aAAa;AACb,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,sDAAsD;AACtD,OAAO;AACL,aAAa;AACb,gBAAgB,EAGhB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,yCAAyC;AACzC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAqBjE,8DAA8D;AAC9D,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/nexus/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAW1D,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,yBAAyB;IACzB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,yCAAyC;AACzC,MAAM,WAAW,uBAAuB;IACtC,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAqED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI,CAmC9E;AAYD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAoBvF;AA4JD;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,CA+ChE;AAMD;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAwBjE"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/nexus/workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAW1D,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,yBAAyB;IACzB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,yCAAyC;AACzC,MAAM,WAAW,uBAAuB;IACtC,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AA+ED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI,CAmC9E;AAYD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAoBvF;AA8JD;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,CA+ChE;AAMD;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAwBjE"}
@@ -0,0 +1,355 @@
1
+ /**
2
+ * NEXUS Workspace — Cross-project orchestration operations.
3
+ *
4
+ * Implements ORCH-PLAN Phase B:
5
+ * - B.2: nexus.route(directiveEvent) — dispatch Conduit directives to the correct project
6
+ * - B.3: nexus.workspace.status() — aggregated cross-project task view
7
+ * - B.4: nexus.workspace.agents() — cross-project agent registry view
8
+ *
9
+ * Security: project-level ACL enforced on all routing operations (HIGH-02).
10
+ * Rate limiting: per-agent throttling on route operations (MEDIUM-05).
11
+ * Audit: all routing operations logged (LOW-06).
12
+ *
13
+ * @module nexus/workspace
14
+ */
15
+ import { ExitCode } from '@cleocode/contracts';
16
+ import { CleoError } from '../errors.js';
17
+ import { getAccessor } from '../store/data-accessor.js';
18
+ import { nexusList } from './registry.js';
19
+ // ============================================================================
20
+ // Rate limiting (MEDIUM-05)
21
+ // ============================================================================
22
+ const RATE_LIMIT_WINDOW_MS = 60_000;
23
+ const RATE_LIMIT_MAX_OPS = 100;
24
+ /** Per-agent operation counters for rate limiting. */
25
+ const rateLimitCounters = new Map();
26
+ /** Check if an agent is rate-limited. Throws if exceeded. */
27
+ function checkRateLimit(agentId) {
28
+ const now = Date.now();
29
+ const entry = rateLimitCounters.get(agentId);
30
+ if (!entry || now - entry.windowStart > RATE_LIMIT_WINDOW_MS) {
31
+ rateLimitCounters.set(agentId, { count: 1, windowStart: now });
32
+ return;
33
+ }
34
+ entry.count++;
35
+ if (entry.count > RATE_LIMIT_MAX_OPS) {
36
+ throw new CleoError(ExitCode.GENERAL_ERROR, `Agent '${agentId}' exceeded rate limit: ${RATE_LIMIT_MAX_OPS} routing ops per ${RATE_LIMIT_WINDOW_MS / 1000}s`);
37
+ }
38
+ }
39
+ // ============================================================================
40
+ // ACL (HIGH-02)
41
+ // ============================================================================
42
+ /** Default ACL: denies every agent unless the project explicitly authorizes them. */
43
+ const DEFAULT_ACL = { authorizedAgents: [] };
44
+ /**
45
+ * Load ACL for a project. Reads from .cleo/config.json authorizedAgents field.
46
+ * Falls back to deny-all if not configured.
47
+ */
48
+ async function loadProjectACL(projectPath) {
49
+ try {
50
+ const { loadConfig } = await import('../config.js');
51
+ const config = await loadConfig(projectPath);
52
+ const agents = config?.authorizedAgents;
53
+ if (Array.isArray(agents) && agents.length > 0) {
54
+ return { authorizedAgents: agents };
55
+ }
56
+ }
57
+ catch {
58
+ await logAclFailure(projectPath);
59
+ }
60
+ return DEFAULT_ACL;
61
+ }
62
+ async function logAclFailure(projectPath) {
63
+ try {
64
+ const { getLogger } = await import('../logger.js');
65
+ const log = getLogger('nexus.acl');
66
+ log.warn({ projectPath }, 'Failed to load ACL configuration, defaulting to deny-all');
67
+ }
68
+ catch {
69
+ // best-effort logging
70
+ }
71
+ }
72
+ /** Check if an agent is authorized to mutate a project. */
73
+ function isAuthorized(acl, agentId) {
74
+ if (acl.authorizedAgents.includes('*'))
75
+ return true;
76
+ return acl.authorizedAgents.includes(agentId);
77
+ }
78
+ // ============================================================================
79
+ // B.2: nexus.route() — Directive routing
80
+ // ============================================================================
81
+ /** Task reference pattern: T followed by digits (T001, T42, T1234). */
82
+ const TASK_REF_PATTERN = /\bT(\d+)\b/g;
83
+ /**
84
+ * Parse a Conduit message into a structured directive.
85
+ *
86
+ * Extracts directive verbs (/claim, /done, /blocked) and task references
87
+ * from the message content and metadata.
88
+ */
89
+ export function parseDirective(message) {
90
+ const content = message.content;
91
+ // Extract directive verb (first /word in content)
92
+ const verbMatch = content.match(/^\/(\w+)/);
93
+ if (!verbMatch)
94
+ return null;
95
+ const verb = verbMatch[1];
96
+ // Extract task refs from content
97
+ const taskRefs = [];
98
+ const pattern = new RegExp(TASK_REF_PATTERN.source, 'g');
99
+ for (const m of content.matchAll(pattern)) {
100
+ taskRefs.push(`T${m[1]}`);
101
+ }
102
+ // Also check metadata.taskRefs from SignalDock extraction (Phase A.5)
103
+ const metaRefs = message.metadata?.taskRefs;
104
+ if (Array.isArray(metaRefs)) {
105
+ for (const ref of metaRefs) {
106
+ if (typeof ref === 'string' && !taskRefs.includes(ref)) {
107
+ taskRefs.push(ref);
108
+ }
109
+ }
110
+ }
111
+ if (taskRefs.length === 0)
112
+ return null;
113
+ return {
114
+ verb,
115
+ taskRefs,
116
+ agentId: message.from,
117
+ messageId: message.id,
118
+ timestamp: message.timestamp,
119
+ };
120
+ }
121
+ /** Map directive verbs to CLEO task operations. */
122
+ const VERB_TO_OPERATION = {
123
+ claim: 'tasks.start',
124
+ done: 'tasks.complete',
125
+ complete: 'tasks.complete',
126
+ blocked: 'tasks.update', // Update status to blocked
127
+ start: 'tasks.start',
128
+ stop: 'tasks.stop',
129
+ };
130
+ /**
131
+ * Route a Conduit directive to the correct project's CLEO instance.
132
+ *
133
+ * Resolves which project owns the referenced task, checks ACL,
134
+ * and dispatches the appropriate CLEO operation.
135
+ *
136
+ * @param directive - Parsed directive from a Conduit message
137
+ * @returns Array of route results (one per task reference)
138
+ */
139
+ export async function routeDirective(directive) {
140
+ // Rate limit check (MEDIUM-05)
141
+ checkRateLimit(directive.agentId);
142
+ const results = [];
143
+ const operation = VERB_TO_OPERATION[directive.verb];
144
+ if (!operation) {
145
+ // Unknown verb — not routable, just skip
146
+ return results;
147
+ }
148
+ const projects = await nexusList();
149
+ for (const taskRef of directive.taskRefs) {
150
+ const result = await routeSingleTask(taskRef, directive, operation, projects);
151
+ results.push(result);
152
+ }
153
+ return results;
154
+ }
155
+ /** Route a single task reference to its project and execute the operation. */
156
+ async function routeSingleTask(taskId, directive, operation, projects) {
157
+ // Find which project owns this task
158
+ let targetProject = null;
159
+ let targetAccessor = null;
160
+ for (const project of projects) {
161
+ try {
162
+ const acc = await getAccessor(project.path);
163
+ const { tasks } = await acc.queryTasks({});
164
+ const task = tasks.find((t) => t.id === taskId);
165
+ if (task) {
166
+ targetProject = project;
167
+ targetAccessor = acc;
168
+ break;
169
+ }
170
+ }
171
+ catch { }
172
+ }
173
+ if (!targetProject || !targetAccessor) {
174
+ return {
175
+ success: false,
176
+ project: 'unknown',
177
+ projectPath: '',
178
+ taskId,
179
+ operation,
180
+ error: `Task ${taskId} not found in any registered project`,
181
+ };
182
+ }
183
+ // ACL check (HIGH-02)
184
+ const acl = await loadProjectACL(targetProject.path);
185
+ if (!isAuthorized(acl, directive.agentId)) {
186
+ // E-FIND-004: audit ACL denials and redact projectPath
187
+ await logRouteAudit(directive, targetProject.name, taskId, operation, false);
188
+ return {
189
+ success: false,
190
+ project: targetProject.name,
191
+ projectPath: '',
192
+ taskId,
193
+ operation,
194
+ error: `Agent '${directive.agentId}' not authorized to mutate project '${targetProject.name}'`,
195
+ };
196
+ }
197
+ // Execute the operation
198
+ try {
199
+ await executeOperation(operation, taskId, targetProject.path, targetAccessor, directive);
200
+ // Audit log (LOW-06)
201
+ await logRouteAudit(directive, targetProject.name, taskId, operation, true);
202
+ return {
203
+ success: true,
204
+ project: targetProject.name,
205
+ projectPath: targetProject.path,
206
+ taskId,
207
+ operation,
208
+ };
209
+ }
210
+ catch (err) {
211
+ const errorMsg = err instanceof Error ? err.message : String(err);
212
+ // Audit log for failures too
213
+ await logRouteAudit(directive, targetProject.name, taskId, operation, false, errorMsg);
214
+ return {
215
+ success: false,
216
+ project: targetProject.name,
217
+ projectPath: targetProject.path,
218
+ taskId,
219
+ operation,
220
+ error: errorMsg,
221
+ };
222
+ }
223
+ }
224
+ /** Execute a CLEO operation on a project's task. */
225
+ async function executeOperation(operation, taskId, projectPath, accessor, directive) {
226
+ switch (operation) {
227
+ case 'tasks.start': {
228
+ const { startTask } = await import('../task-work/index.js');
229
+ await startTask(taskId, projectPath, accessor);
230
+ break;
231
+ }
232
+ case 'tasks.complete': {
233
+ const { completeTask } = await import('../tasks/complete.js');
234
+ await completeTask({ taskId, notes: `Completed via Conduit directive from ${directive.agentId}` }, projectPath, accessor);
235
+ break;
236
+ }
237
+ case 'tasks.stop': {
238
+ const { stopTask } = await import('../task-work/index.js');
239
+ await stopTask(projectPath, accessor);
240
+ break;
241
+ }
242
+ case 'tasks.update': {
243
+ const { updateTask } = await import('../tasks/update.js');
244
+ await updateTask({ taskId, notes: `Marked blocked via Conduit directive from ${directive.agentId}` }, projectPath, accessor);
245
+ break;
246
+ }
247
+ }
248
+ }
249
+ /** Log a routing operation to the audit trail. */
250
+ async function logRouteAudit(directive, projectName, taskId, operation, success, error) {
251
+ try {
252
+ const { getLogger } = await import('../logger.js');
253
+ const log = getLogger('nexus.route');
254
+ const level = success ? 'info' : 'warn';
255
+ log[level]({
256
+ directive: directive.verb,
257
+ agentId: directive.agentId,
258
+ messageId: directive.messageId,
259
+ project: projectName,
260
+ taskId,
261
+ operation,
262
+ success,
263
+ error,
264
+ }, `Conduit directive routed: ${directive.verb} ${taskId} → ${projectName} (${success ? 'OK' : 'FAILED'})`);
265
+ }
266
+ catch {
267
+ // Audit logging is best-effort
268
+ }
269
+ }
270
+ // ============================================================================
271
+ // B.3: nexus.workspace.status() — Aggregated view
272
+ // ============================================================================
273
+ /**
274
+ * Get aggregated task status across all registered projects.
275
+ *
276
+ * Returns per-project task counts and workspace-wide totals.
277
+ * Respects project permissions — only includes readable projects.
278
+ */
279
+ export async function workspaceStatus() {
280
+ const projects = await nexusList();
281
+ const summaries = [];
282
+ const totals = { pending: 0, active: 0, done: 0, total: 0 };
283
+ for (const project of projects) {
284
+ try {
285
+ const acc = await getAccessor(project.path);
286
+ const { tasks } = await acc.queryTasks({});
287
+ const counts = {
288
+ pending: tasks.filter((t) => t.status === 'pending').length,
289
+ active: tasks.filter((t) => t.status === 'active').length,
290
+ done: tasks.filter((t) => t.status === 'done').length,
291
+ total: tasks.length,
292
+ };
293
+ summaries.push({
294
+ name: project.name,
295
+ path: project.path,
296
+ counts,
297
+ health: project.healthStatus,
298
+ lastSync: project.lastSync,
299
+ });
300
+ totals.pending += counts.pending;
301
+ totals.active += counts.active;
302
+ totals.done += counts.done;
303
+ totals.total += counts.total;
304
+ }
305
+ catch {
306
+ // Skip unreachable projects
307
+ summaries.push({
308
+ name: project.name,
309
+ path: project.path,
310
+ counts: { pending: 0, active: 0, done: 0, total: 0 },
311
+ health: 'unreachable',
312
+ lastSync: project.lastSync,
313
+ });
314
+ }
315
+ }
316
+ return {
317
+ projectCount: projects.length,
318
+ projects: summaries,
319
+ totals,
320
+ computedAt: new Date().toISOString(),
321
+ };
322
+ }
323
+ // ============================================================================
324
+ // B.4: nexus.workspace.agents() — Cross-project agent view
325
+ // ============================================================================
326
+ /**
327
+ * Get all agents registered across all projects.
328
+ *
329
+ * Queries each project's agent_instances table and returns a unified list.
330
+ */
331
+ export async function workspaceAgents() {
332
+ const projects = await nexusList();
333
+ const agents = [];
334
+ for (const project of projects) {
335
+ try {
336
+ const acc = await getAccessor(project.path);
337
+ const instances = await acc.listAgentInstances();
338
+ for (const inst of instances) {
339
+ agents.push({
340
+ agentId: inst.id,
341
+ agentType: inst.agentType,
342
+ status: inst.status,
343
+ project: project.name,
344
+ taskId: inst.taskId ?? null,
345
+ lastHeartbeat: inst.lastHeartbeat,
346
+ });
347
+ }
348
+ }
349
+ catch {
350
+ // Skip projects without agent support
351
+ }
352
+ }
353
+ return agents;
354
+ }
355
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/nexus/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * OrchestrationHierarchyImpl — Concrete implementation of the 5-level hierarchy.
3
+ *
4
+ * Loads the agent matrix from agent-matrix.json (if available) or uses
5
+ * the built-in default matrix. Provides escalation chain resolution,
6
+ * authority checks, and project scoping.
7
+ *
8
+ * @see docs/specs/CLEO-ORCH-PLAN.md
9
+ * @task T217
10
+ */
11
+ import type { AgentHierarchy, AgentHierarchyEntry, EscalationChain, OrchestrationHierarchyAPI } from '@cleocode/contracts';
12
+ import { OrchestrationLevel } from '@cleocode/contracts';
13
+ /** Concrete implementation of OrchestrationHierarchyAPI. */
14
+ export declare class OrchestrationHierarchyImpl implements OrchestrationHierarchyAPI {
15
+ private hierarchy;
16
+ constructor(hierarchy?: AgentHierarchy);
17
+ /** Get the full hierarchy. */
18
+ getHierarchy(): AgentHierarchy;
19
+ /** Get a single agent's hierarchy entry. */
20
+ getAgent(agentId: string): AgentHierarchyEntry | null;
21
+ /** Get all agents at a specific level. */
22
+ getAgentsAtLevel(level: OrchestrationLevel): AgentHierarchyEntry[];
23
+ /** Get the escalation chain for an agent (nearest authority first). */
24
+ getEscalationChain(agentId: string): EscalationChain;
25
+ /** Get all agents directly managed by a specific agent. */
26
+ getDirectReports(agentId: string): AgentHierarchyEntry[];
27
+ /** Check if agent A has authority over agent B (A is in B's escalation chain). */
28
+ hasAuthority(agentIdA: string, agentIdB: string): boolean;
29
+ /** Get all agents scoped to a project. */
30
+ getProjectAgents(projectId: string): AgentHierarchyEntry[];
31
+ }
32
+ //# sourceMappingURL=hierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../../src/orchestration/hierarchy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA4HzD,4DAA4D;AAC5D,qBAAa,0BAA2B,YAAW,yBAAyB;IAC1E,OAAO,CAAC,SAAS,CAAiB;gBAEtB,SAAS,CAAC,EAAE,cAAc;IAItC,8BAA8B;IAC9B,YAAY,IAAI,cAAc;IAI9B,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAIrD,0CAA0C;IAC1C,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,EAAE;IAIlE,uEAAuE;IACvE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe;IAgBpD,2DAA2D;IAC3D,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,EAAE;IASxD,kFAAkF;IAClF,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKzD,0CAA0C;IAC1C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE;CAG3D"}
@@ -9,6 +9,7 @@ export type { CircularDependency, DependencyAnalysis, MissingDependency } from '
9
9
  export { analyzeDependencies, buildDependencyGraph, detectCircularDependencies, findMissingDependencies, } from './analyze.js';
10
10
  export type { ContextEstimation } from './context.js';
11
11
  export { countManifestEntries, estimateContext } from './context.js';
12
+ export { OrchestrationHierarchyImpl } from './hierarchy.js';
12
13
  export type { EpicStatus, OverallStatus, ProgressMetrics, StartupSummary, StatusCounts, } from './status.js';
13
14
  export { computeEpicStatus, computeOverallStatus, computeProgress, computeStartupSummary, countByStatus, } from './status.js';
14
15
  /** Orchestrator session state. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"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"}
package/dist/output.d.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * @task T4672
14
14
  */
15
15
  import type { LafsEnvelope, LafsError, LafsSuccess } from '@cleocode/contracts';
16
- import type { LAFSPage, Warning } from '@cleocode/lafs-protocol';
16
+ import type { LAFSPage, Warning } from '@cleocode/lafs';
17
17
  import { CleoError } from './errors.js';
18
18
  export type { LafsEnvelope, LafsError, LafsSuccess };
19
19
  /**
@@ -36,7 +36,7 @@ export interface FormatOptions {
36
36
  page?: LAFSPage;
37
37
  extensions?: Record<string, unknown>;
38
38
  /** MVI level to embed in the envelope _meta. Defaults to 'standard'. @task T4957 */
39
- mvi?: import('@cleocode/lafs-protocol').MVILevel;
39
+ mvi?: import('@cleocode/lafs').MVILevel;
40
40
  }
41
41
  /**
42
42
  * Format a successful result as a full LAFS-conformant envelope.
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAY,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAWrD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAElD;AAeD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oFAAoF;IACpF,GAAG,CAAC,EAAE,OAAO,yBAAyB,EAAE,QAAQ,CAAC;CAClD;AAkCD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,GAAG,aAAa,GACvC,MAAM,CAkBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CASxE;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM,CAK7D"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAY,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAWrD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAElD;AAeD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oFAAoF;IACpF,GAAG,CAAC,EAAE,OAAO,gBAAgB,EAAE,QAAQ,CAAC;CACzC;AAkCD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,GAAG,aAAa,GACvC,MAAM,CAmDR;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CASxE;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM,CAK7D"}