@cleocode/core 2026.8.1 → 2026.8.3

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 (323) hide show
  1. package/dist/bootstrap.d.ts.map +1 -1
  2. package/dist/bootstrap.js +57 -27
  3. package/dist/bootstrap.js.map +1 -1
  4. package/dist/check/pr-gate.d.ts.map +1 -1
  5. package/dist/check/pr-gate.js +9 -0
  6. package/dist/check/pr-gate.js.map +1 -1
  7. package/dist/db/index.d.ts +13 -0
  8. package/dist/db/index.d.ts.map +1 -1
  9. package/dist/db/index.js +13 -0
  10. package/dist/db/index.js.map +1 -1
  11. package/dist/docs/display-alias.js +1 -1
  12. package/dist/docs/display-alias.js.map +1 -1
  13. package/dist/docs/export-document.js +499 -380
  14. package/dist/docs/export-document.js.map +3 -3
  15. package/dist/docs/numbering.js +1 -1
  16. package/dist/docs/numbering.js.map +1 -1
  17. package/dist/docs/supersede.js +1 -1
  18. package/dist/docs/supersede.js.map +1 -1
  19. package/dist/hooks/registry.d.ts +2 -2
  20. package/dist/hooks/registry.d.ts.map +1 -1
  21. package/dist/hooks/registry.js +5 -0
  22. package/dist/hooks/registry.js.map +1 -1
  23. package/dist/hooks/types.d.ts +59 -0
  24. package/dist/hooks/types.d.ts.map +1 -1
  25. package/dist/init/scaffold-workflows.d.ts +12 -0
  26. package/dist/init/scaffold-workflows.d.ts.map +1 -1
  27. package/dist/init/scaffold-workflows.js +16 -0
  28. package/dist/init/scaffold-workflows.js.map +1 -1
  29. package/dist/init/upgrade-workflows.d.ts.map +1 -1
  30. package/dist/init/upgrade-workflows.js +16 -0
  31. package/dist/init/upgrade-workflows.js.map +1 -1
  32. package/dist/init.d.ts.map +1 -1
  33. package/dist/init.js +16 -1
  34. package/dist/init.js.map +1 -1
  35. package/dist/injection.d.ts.map +1 -1
  36. package/dist/injection.js +44 -3
  37. package/dist/injection.js.map +1 -1
  38. package/dist/internal.d.ts +1 -0
  39. package/dist/internal.d.ts.map +1 -1
  40. package/dist/internal.js +2 -0
  41. package/dist/internal.js.map +1 -1
  42. package/dist/lifecycle/index.js +1 -1
  43. package/dist/lifecycle/index.js.map +1 -1
  44. package/dist/llm/credentials.d.ts +16 -1
  45. package/dist/llm/credentials.d.ts.map +1 -1
  46. package/dist/llm/credentials.js.map +1 -1
  47. package/dist/llm/cross-provider-selector.d.ts +25 -0
  48. package/dist/llm/cross-provider-selector.d.ts.map +1 -1
  49. package/dist/llm/cross-provider-selector.js +76 -3
  50. package/dist/llm/cross-provider-selector.js.map +1 -1
  51. package/dist/llm/local-inference-probe.d.ts +101 -0
  52. package/dist/llm/local-inference-probe.d.ts.map +1 -0
  53. package/dist/llm/local-inference-probe.js +174 -0
  54. package/dist/llm/local-inference-probe.js.map +1 -0
  55. package/dist/llm/plugin-facade.js +429 -115
  56. package/dist/llm/plugin-facade.js.map +3 -3
  57. package/dist/llm/role-executor.d.ts.map +1 -1
  58. package/dist/llm/role-executor.js +95 -9
  59. package/dist/llm/role-executor.js.map +1 -1
  60. package/dist/llm/role-resolver.d.ts +10 -0
  61. package/dist/llm/role-resolver.d.ts.map +1 -1
  62. package/dist/llm/role-resolver.js +92 -1
  63. package/dist/llm/role-resolver.js.map +1 -1
  64. package/dist/llm/system-resolver.d.ts.map +1 -1
  65. package/dist/llm/system-resolver.js +2 -0
  66. package/dist/llm/system-resolver.js.map +1 -1
  67. package/dist/memory/brain-backfill.js +3 -3
  68. package/dist/memory/brain-backfill.js.map +1 -1
  69. package/dist/memory/brain-consolidator.js +2 -2
  70. package/dist/memory/brain-consolidator.js.map +1 -1
  71. package/dist/memory/brain-doctor.js +1 -1
  72. package/dist/memory/brain-doctor.js.map +1 -1
  73. package/dist/memory/brain-health-dashboard.js +1 -1
  74. package/dist/memory/brain-health-dashboard.js.map +1 -1
  75. package/dist/memory/brain-lifecycle.js +10 -10
  76. package/dist/memory/brain-lifecycle.js.map +1 -1
  77. package/dist/memory/brain-maintenance.js +1 -1
  78. package/dist/memory/brain-maintenance.js.map +1 -1
  79. package/dist/memory/brain-page-nodes.js +4 -4
  80. package/dist/memory/brain-page-nodes.js.map +1 -1
  81. package/dist/memory/brain-reasoning.js +1 -1
  82. package/dist/memory/brain-reasoning.js.map +1 -1
  83. package/dist/memory/brain-search.d.ts +109 -0
  84. package/dist/memory/brain-search.d.ts.map +1 -1
  85. package/dist/memory/brain-search.js +150 -38
  86. package/dist/memory/brain-search.js.map +1 -1
  87. package/dist/memory/brain-similarity.js +1 -1
  88. package/dist/memory/brain-similarity.js.map +1 -1
  89. package/dist/memory/brain-stdp.js +6 -6
  90. package/dist/memory/brain-stdp.js.map +1 -1
  91. package/dist/memory/brain-stub-prune.d.ts +109 -0
  92. package/dist/memory/brain-stub-prune.d.ts.map +1 -0
  93. package/dist/memory/brain-stub-prune.js +155 -0
  94. package/dist/memory/brain-stub-prune.js.map +1 -0
  95. package/dist/memory/brain-sweep-executor.js +1 -1
  96. package/dist/memory/brain-sweep-executor.js.map +1 -1
  97. package/dist/memory/brain-writer-handlers.js +2 -2
  98. package/dist/memory/brain-writer-handlers.js.map +1 -1
  99. package/dist/memory/claude-mem-migration.d.ts.map +1 -1
  100. package/dist/memory/claude-mem-migration.js +2 -2
  101. package/dist/memory/claude-mem-migration.js.map +1 -1
  102. package/dist/memory/engine-compat.d.ts.map +1 -1
  103. package/dist/memory/engine-compat.js +65 -7
  104. package/dist/memory/engine-compat.js.map +1 -1
  105. package/dist/memory/extraction-gate.js +3 -3
  106. package/dist/memory/extraction-gate.js.map +1 -1
  107. package/dist/memory/graph-memory-bridge.js +9 -9
  108. package/dist/memory/graph-memory-bridge.js.map +1 -1
  109. package/dist/memory/graph-queries.js +4 -4
  110. package/dist/memory/graph-queries.js.map +1 -1
  111. package/dist/memory/llm-extraction.js +1 -1
  112. package/dist/memory/llm-extraction.js.map +1 -1
  113. package/dist/memory/memory-bridge.js +1 -1
  114. package/dist/memory/memory-bridge.js.map +1 -1
  115. package/dist/memory/nexus-plasticity.js +1 -1
  116. package/dist/memory/nexus-plasticity.js.map +1 -1
  117. package/dist/memory/observer-reflector.js +1 -1
  118. package/dist/memory/observer-reflector.js.map +1 -1
  119. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  120. package/dist/memory/pipeline-manifest-sqlite.js +13 -3
  121. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  122. package/dist/memory/quality-feedback.js +4 -4
  123. package/dist/memory/quality-feedback.js.map +1 -1
  124. package/dist/memory/retrieval/increment-citation-counts.js +1 -1
  125. package/dist/memory/retrieval/increment-citation-counts.js.map +1 -1
  126. package/dist/memory/retrieval/log-retrieval.js +1 -1
  127. package/dist/memory/retrieval/log-retrieval.js.map +1 -1
  128. package/dist/memory/retrieval/observe.js +1 -1
  129. package/dist/memory/retrieval/observe.js.map +1 -1
  130. package/dist/memory/retrieval/search.js +1 -1
  131. package/dist/memory/retrieval/search.js.map +1 -1
  132. package/dist/memory/retrieval/timeline.js +1 -1
  133. package/dist/memory/retrieval/timeline.js.map +1 -1
  134. package/dist/memory/sleep-consolidation.js +4 -4
  135. package/dist/memory/sleep-consolidation.js.map +1 -1
  136. package/dist/memory/temporal-supersession.js +5 -5
  137. package/dist/memory/temporal-supersession.js.map +1 -1
  138. package/dist/memory/transcript-extractor.js +1 -1
  139. package/dist/memory/transcript-extractor.js.map +1 -1
  140. package/dist/memory/transcript-ingestor.js +1 -1
  141. package/dist/memory/transcript-ingestor.js.map +1 -1
  142. package/dist/memory/transcript-scanner.js +1 -1
  143. package/dist/memory/transcript-scanner.js.map +1 -1
  144. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  145. package/dist/nexus/analyze-orchestrator.js +28 -0
  146. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  147. package/dist/nexus/context.d.ts.map +1 -1
  148. package/dist/nexus/context.js +3 -3
  149. package/dist/nexus/context.js.map +1 -1
  150. package/dist/nexus/impact.d.ts.map +1 -1
  151. package/dist/nexus/impact.js +3 -3
  152. package/dist/nexus/impact.js.map +1 -1
  153. package/dist/nexus/living-brain.js +7 -7
  154. package/dist/nexus/living-brain.js.map +1 -1
  155. package/dist/nexus/symbol-miss.d.ts +132 -0
  156. package/dist/nexus/symbol-miss.d.ts.map +1 -0
  157. package/dist/nexus/symbol-miss.js +168 -0
  158. package/dist/nexus/symbol-miss.js.map +1 -0
  159. package/dist/nexus/tasks-bridge.js +4 -4
  160. package/dist/nexus/tasks-bridge.js.map +1 -1
  161. package/dist/orchestrate/spawn-ops.d.ts +21 -1
  162. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  163. package/dist/orchestrate/spawn-ops.js +39 -2
  164. package/dist/orchestrate/spawn-ops.js.map +1 -1
  165. package/dist/orchestrate/worker-verify.d.ts.map +1 -1
  166. package/dist/orchestrate/worker-verify.js +22 -0
  167. package/dist/orchestrate/worker-verify.js.map +1 -1
  168. package/dist/release/changesets-aggregator.d.ts.map +1 -1
  169. package/dist/release/changesets-aggregator.js +15 -1
  170. package/dist/release/changesets-aggregator.js.map +1 -1
  171. package/dist/release/open.d.ts +29 -2
  172. package/dist/release/open.d.ts.map +1 -1
  173. package/dist/release/open.js +48 -11
  174. package/dist/release/open.js.map +1 -1
  175. package/dist/release/reconcile.d.ts.map +1 -1
  176. package/dist/release/reconcile.js +5 -1
  177. package/dist/release/reconcile.js.map +1 -1
  178. package/dist/resources/governor.d.ts +12 -2
  179. package/dist/resources/governor.d.ts.map +1 -1
  180. package/dist/resources/governor.js +12 -3
  181. package/dist/resources/governor.js.map +1 -1
  182. package/dist/sagas/migrate-containment.d.ts.map +1 -1
  183. package/dist/sagas/migrate-containment.js +4 -2
  184. package/dist/sagas/migrate-containment.js.map +1 -1
  185. package/dist/scaffold/ensure-dirs.d.ts.map +1 -1
  186. package/dist/scaffold/ensure-dirs.js +15 -3
  187. package/dist/scaffold/ensure-dirs.js.map +1 -1
  188. package/dist/scaffold/project-detection.d.ts.map +1 -1
  189. package/dist/scaffold/project-detection.js +2 -1
  190. package/dist/scaffold/project-detection.js.map +1 -1
  191. package/dist/selfimprove/draft-pr.d.ts +14 -1
  192. package/dist/selfimprove/draft-pr.d.ts.map +1 -1
  193. package/dist/selfimprove/draft-pr.js.map +1 -1
  194. package/dist/selfimprove/fix-gen.d.ts +0 -21
  195. package/dist/selfimprove/fix-gen.d.ts.map +1 -1
  196. package/dist/selfimprove/fix-gen.js +509 -173
  197. package/dist/selfimprove/fix-gen.js.map +3 -3
  198. package/dist/selfimprove/run-loop.d.ts.map +1 -1
  199. package/dist/selfimprove/run-loop.js +50 -19
  200. package/dist/selfimprove/run-loop.js.map +1 -1
  201. package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +114 -4
  202. package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +3 -3
  203. package/dist/sentient/dream-cycle.d.ts +20 -19
  204. package/dist/sentient/dream-cycle.d.ts.map +1 -1
  205. package/dist/sentient/dream-cycle.js +323 -12
  206. package/dist/sentient/dream-cycle.js.map +1 -1
  207. package/dist/sentient/dream-watermark.d.ts +134 -0
  208. package/dist/sentient/dream-watermark.d.ts.map +1 -0
  209. package/dist/sentient/dream-watermark.js +156 -0
  210. package/dist/sentient/dream-watermark.js.map +1 -0
  211. package/dist/sentient/hygiene-scan.js +1 -1
  212. package/dist/sentient/hygiene-scan.js.map +1 -1
  213. package/dist/sentient/propose-tick.js +3 -3
  214. package/dist/sentient/propose-tick.js.map +1 -1
  215. package/dist/sentient/stage-drift-tick.js +1 -1
  216. package/dist/sentient/stage-drift-tick.js.map +1 -1
  217. package/dist/sentient/state.d.ts +17 -0
  218. package/dist/sentient/state.d.ts.map +1 -1
  219. package/dist/sentient/state.js +22 -3
  220. package/dist/sentient/state.js.map +1 -1
  221. package/dist/sentient/tick.d.ts.map +1 -1
  222. package/dist/sentient/tick.js +79 -2
  223. package/dist/sentient/tick.js.map +1 -1
  224. package/dist/sequence/index.js +1 -1
  225. package/dist/sequence/index.js.map +1 -1
  226. package/dist/sessions/index.d.ts.map +1 -1
  227. package/dist/sessions/index.js +5 -1
  228. package/dist/sessions/index.js.map +1 -1
  229. package/dist/sessions/snapshot.d.ts.map +1 -1
  230. package/dist/sessions/snapshot.js +6 -3
  231. package/dist/sessions/snapshot.js.map +1 -1
  232. package/dist/store/agent-registry-store.d.ts.map +1 -1
  233. package/dist/store/agent-registry-store.js +71 -28
  234. package/dist/store/agent-registry-store.js.map +1 -1
  235. package/dist/store/attachment-store.js +3 -3
  236. package/dist/store/attachment-store.js.map +1 -1
  237. package/dist/store/checkpoint-git-dir.d.ts +95 -0
  238. package/dist/store/checkpoint-git-dir.d.ts.map +1 -0
  239. package/dist/store/checkpoint-git-dir.js +111 -0
  240. package/dist/store/checkpoint-git-dir.js.map +1 -0
  241. package/dist/store/conduit-sqlite.d.ts +21 -1
  242. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  243. package/dist/store/conduit-sqlite.js +42 -56
  244. package/dist/store/conduit-sqlite.js.map +1 -1
  245. package/dist/store/dual-scope-db.d.ts +39 -0
  246. package/dist/store/dual-scope-db.d.ts.map +1 -1
  247. package/dist/store/dual-scope-db.js +26 -8
  248. package/dist/store/dual-scope-db.js.map +1 -1
  249. package/dist/store/git-checkpoint.d.ts.map +1 -1
  250. package/dist/store/git-checkpoint.js +6 -5
  251. package/dist/store/git-checkpoint.js.map +1 -1
  252. package/dist/store/memory-sqlite.d.ts +57 -3
  253. package/dist/store/memory-sqlite.d.ts.map +1 -1
  254. package/dist/store/memory-sqlite.js +70 -89
  255. package/dist/store/memory-sqlite.js.map +1 -1
  256. package/dist/store/nexus-sqlite.d.ts +42 -0
  257. package/dist/store/nexus-sqlite.d.ts.map +1 -1
  258. package/dist/store/nexus-sqlite.js +79 -115
  259. package/dist/store/nexus-sqlite.js.map +1 -1
  260. package/dist/store/ports/domain-binding.d.ts +233 -0
  261. package/dist/store/ports/domain-binding.d.ts.map +1 -0
  262. package/dist/store/ports/domain-binding.js +500 -0
  263. package/dist/store/ports/domain-binding.js.map +1 -0
  264. package/dist/store/ports/fk-integrity.d.ts +155 -0
  265. package/dist/store/ports/fk-integrity.d.ts.map +1 -0
  266. package/dist/store/ports/fk-integrity.js +182 -0
  267. package/dist/store/ports/fk-integrity.js.map +1 -0
  268. package/dist/store/role-accessors-impl.js +2 -2
  269. package/dist/store/role-accessors-impl.js.map +1 -1
  270. package/dist/store/skills-db.d.ts +19 -0
  271. package/dist/store/skills-db.d.ts.map +1 -1
  272. package/dist/store/skills-db.js +80 -72
  273. package/dist/store/skills-db.js.map +1 -1
  274. package/dist/store/sqlite-backup.js +2 -2
  275. package/dist/store/sqlite-backup.js.map +1 -1
  276. package/dist/store/sqlite-data-accessor.js +1 -1
  277. package/dist/store/sqlite-data-accessor.js.map +1 -1
  278. package/dist/store/sqlite.d.ts +72 -10
  279. package/dist/store/sqlite.d.ts.map +1 -1
  280. package/dist/store/sqlite.js +173 -160
  281. package/dist/store/sqlite.js.map +1 -1
  282. package/dist/store/tasks-sqlite.js +2 -2
  283. package/dist/store/tasks-sqlite.js.map +1 -1
  284. package/dist/system/health.d.ts +0 -4
  285. package/dist/system/health.d.ts.map +1 -1
  286. package/dist/system/health.js +60 -3
  287. package/dist/system/health.js.map +1 -1
  288. package/dist/tasks/add.d.ts.map +1 -1
  289. package/dist/tasks/add.js +40 -4
  290. package/dist/tasks/add.js.map +1 -1
  291. package/dist/tasks/collection.d.ts +51 -0
  292. package/dist/tasks/collection.d.ts.map +1 -0
  293. package/dist/tasks/collection.js +81 -0
  294. package/dist/tasks/collection.js.map +1 -0
  295. package/dist/tasks/complete.d.ts.map +1 -1
  296. package/dist/tasks/complete.js +8 -3
  297. package/dist/tasks/complete.js.map +1 -1
  298. package/dist/tasks/evidence.d.ts.map +1 -1
  299. package/dist/tasks/evidence.js +17 -0
  300. package/dist/tasks/evidence.js.map +1 -1
  301. package/dist/tasks/find.d.ts +50 -0
  302. package/dist/tasks/find.d.ts.map +1 -1
  303. package/dist/tasks/find.js +63 -2
  304. package/dist/tasks/find.js.map +1 -1
  305. package/dist/tasks/tool-resolver.d.ts +1 -1
  306. package/dist/tasks/tool-resolver.d.ts.map +1 -1
  307. package/dist/tasks/tool-resolver.js +83 -0
  308. package/dist/tasks/tool-resolver.js.map +1 -1
  309. package/dist/tasks/tool-semaphore.d.ts +82 -12
  310. package/dist/tasks/tool-semaphore.d.ts.map +1 -1
  311. package/dist/tasks/tool-semaphore.js +79 -17
  312. package/dist/tasks/tool-semaphore.js.map +1 -1
  313. package/dist/upgrade.js +2 -2
  314. package/dist/upgrade.js.map +1 -1
  315. package/dist/validation/doctor/checks.d.ts +23 -1
  316. package/dist/validation/doctor/checks.d.ts.map +1 -1
  317. package/dist/validation/doctor/checks.js +79 -19
  318. package/dist/validation/doctor/checks.js.map +1 -1
  319. package/dist/worktree/list.js +1 -1
  320. package/dist/worktree/list.js.map +1 -1
  321. package/package.json +23 -13
  322. package/templates/CLEO-INJECTION.md +40 -25
  323. package/templates/workflows/release-prepare.yml.tmpl +73 -16
@@ -50,6 +50,7 @@
50
50
  import { randomUUID } from 'node:crypto';
51
51
  import { z } from 'zod';
52
52
  import { IMPLICIT_FALLBACK_MODEL, resolveAnthropicForRole } from '../llm/role-resolver.js';
53
+ import { adaptiveClusterMinSize, nextWatermark, resolveLookbackMs, selectUnconsolidated, } from './dream-watermark.js';
53
54
  // ---------------------------------------------------------------------------
54
55
  // Constants
55
56
  // ---------------------------------------------------------------------------
@@ -73,6 +74,17 @@ export const DREAM_CLUSTER_MIN_SIZE = 5;
73
74
  * Prevents runaway LLM cost on large observation sets.
74
75
  */
75
76
  export const DREAM_MAX_CLUSTERS = 10;
77
+ /**
78
+ * Upper bound on the provider-liveness probe issued while resolving a dream
79
+ * client (T12082).
80
+ *
81
+ * A provider with a dead credential does not fail fast — the transport retries
82
+ * with backoff, so an unbounded probe blocks the entire consolidation pass
83
+ * behind a chain that will never succeed. Background work must degrade, not
84
+ * hang: a provider that cannot answer a 16-token ping in this window is not
85
+ * usable for consolidation regardless of what it eventually returns.
86
+ */
87
+ export const DREAM_PROBE_TIMEOUT_MS = 20_000;
76
88
  /**
77
89
  * Jaccard similarity threshold above which two observations are placed in
78
90
  * the same cluster. Value in [0, 1]. Higher = tighter clusters.
@@ -129,7 +141,7 @@ async function defaultCollectObservations(projectRoot, lookbackMs) {
129
141
  try {
130
142
  const { getBrainDb, getBrainNativeDb } = await import('../store/memory-sqlite.js');
131
143
  await getBrainDb(projectRoot);
132
- const db = getBrainNativeDb();
144
+ const db = getBrainNativeDb(projectRoot);
133
145
  if (!db)
134
146
  return [];
135
147
  const cutoff = new Date(Date.now() - lookbackMs).toISOString().replace('T', ' ').slice(0, 19);
@@ -297,10 +309,125 @@ Extract durable knowledge from these observations. Return empty array if nothing
297
309
  * @returns `{ client, model }` or `null` when no usable credential exists.
298
310
  */
299
311
  async function resolveDreamLlm(projectRoot) {
300
- const llm = await resolveAnthropicForRole('consolidation', { projectRoot });
301
- if (!llm)
312
+ // Preferred: a real Anthropic client, which supports the structured-output
313
+ // `messages.parse` path.
314
+ const anthropic = await resolveAnthropicForRole('consolidation', { projectRoot });
315
+ if (anthropic)
316
+ return { client: anthropic.client, model: anthropic.model };
317
+ // T12081: fall back to ANY resolvable provider via `executeForRole`.
318
+ //
319
+ // `resolveAnthropicForRole` returns null for every non-anthropic provider, so
320
+ // a project whose `consolidation` role resolves to openai, gemini or a local
321
+ // Ollama endpoint could not run the dream cycle at all — it reported "no
322
+ // usable Anthropic client" and skipped. A provider-specific chokepoint inside
323
+ // an otherwise provider-agnostic system, and the reason the dream cycle was
324
+ // dead on a machine that had working LOCAL inference available the whole time.
325
+ //
326
+ // `executeForRole` is the existing provider-agnostic path (resolve → unseal →
327
+ // ModelRunner.buildTransportFromCredential → complete). Wrapping it in the
328
+ // `messages.create` shape lets the plain-call extractor run unchanged: it
329
+ // already asks for `{content: [{type:'text', text}]}`, which is what this
330
+ // returns.
331
+ try {
332
+ const { executeForRole } = await import('../llm/role-executor.js');
333
+ // Bounded: a provider whose credential is dead answers with retries, not
334
+ // with an error. Left unbounded this probe stalls the whole consolidation
335
+ // pass behind a chain that is never going to succeed — observed here as a
336
+ // dream cycle that ran for over ten minutes without reaching step one.
337
+ // A ping that cannot answer in DREAM_PROBE_TIMEOUT_MS is not a usable
338
+ // provider for background work, whatever it eventually returns.
339
+ const probe = await executeForRole('consolidation', 'ping', 'ping', {
340
+ projectRoot,
341
+ maxTokens: 16,
342
+ signal: AbortSignal.timeout(DREAM_PROBE_TIMEOUT_MS),
343
+ });
344
+ // A null probe means the resolved provider has no usable credential. Do NOT
345
+ // return here — the local tier below is the whole point of having one.
346
+ if (probe) {
347
+ const client = {
348
+ messages: {
349
+ create: async (body) => {
350
+ const userContent = body.messages
351
+ .filter((m) => m.role === 'user')
352
+ .map((m) => m.content)
353
+ .join('\n\n');
354
+ const result = await executeForRole('consolidation', body.system ?? '', userContent, {
355
+ projectRoot,
356
+ });
357
+ return { content: [{ type: 'text', text: result?.content ?? '' }] };
358
+ },
359
+ },
360
+ };
361
+ return { client, model: probe.model };
362
+ }
363
+ }
364
+ catch {
365
+ // fall through to the local tier
366
+ }
367
+ // T12082: last tier — a reachable LOCAL inference server.
368
+ //
369
+ // The auxiliary fallback chain exists so background work does not fail
370
+ // silently when the primary provider is unavailable, but its default chain
371
+ // (anthropic → openrouter → groq) is entirely cloud. When every cloud
372
+ // credential is unusable the chain is exhausted and consolidation simply
373
+ // stops — which is what happened here while an Ollama server sat running with
374
+ // models loaded, one HTTP request away.
375
+ //
376
+ // A consolidation pass is exactly the workload that should degrade to a small
377
+ // local model rather than stop: not latency-critical, not user-facing, and a
378
+ // shallow synthesis is worth more than none. Detection is a 300 ms loopback
379
+ // probe, so this costs nothing when no server is present.
380
+ try {
381
+ const { detectLocalInference } = await import('../llm/local-inference-probe.js');
382
+ const local = await detectLocalInference();
383
+ const model = local?.models[0];
384
+ if (!local || model === undefined)
385
+ return null;
386
+ const { ModelRunner } = await import('../llm/model-runner.js');
387
+ const transport = ModelRunner.buildTransportFromCredential('openai', {
388
+ provider: 'openai',
389
+ label: `${local.name}-autodetected`,
390
+ // Local servers accept any bearer value; the field is required by the
391
+ // transport contract, not by the endpoint.
392
+ token: 'local',
393
+ authType: 'api_key',
394
+ expiresAt: null,
395
+ refreshToken: null,
396
+ extraHeaders: {},
397
+ // The compat form: this shim speaks `chat_completions`.
398
+ baseUrl: local.openAiBaseUrl,
399
+ awsProfile: null,
400
+ }, 'chat_completions');
401
+ const client = {
402
+ messages: {
403
+ create: async (body) => {
404
+ const response = await transport.complete({
405
+ model,
406
+ maxTokens: body.max_tokens,
407
+ ...(body.system !== undefined ? { system: body.system } : {}),
408
+ messages: body.messages.map((m) => ({
409
+ role: m.role,
410
+ content: m.content,
411
+ })),
412
+ });
413
+ return {
414
+ content: [
415
+ {
416
+ type: 'text',
417
+ text: Array.isArray(response.content)
418
+ ? response.content.map((c) => c.text ?? '').join('')
419
+ : String(response.content ?? ''),
420
+ },
421
+ ],
422
+ };
423
+ },
424
+ },
425
+ };
426
+ return { client, model };
427
+ }
428
+ catch {
302
429
  return null;
303
- return { client: llm.client, model: llm.model };
430
+ }
304
431
  }
305
432
  /**
306
433
  * Build the `zodOutputFormat` helper (lazy dynamic import matching llm-extraction.ts).
@@ -383,7 +510,11 @@ async function synthesiseCluster(client, model, cluster) {
383
510
  const userPrompt = buildDreamUserPrompt(cluster);
384
511
  try {
385
512
  const format = await buildZodFormat(DreamSynthesisResponseSchema);
386
- if (format) {
513
+ // T12081: the provider-agnostic shim implements `create` only. Guard on
514
+ // `parse` rather than letting an undefined call throw into the catch-all,
515
+ // which would silently yield zero memories for every non-anthropic provider.
516
+ const hasParse = typeof client.messages.parse === 'function';
517
+ if (format && hasParse) {
387
518
  const messages = client.messages;
388
519
  const response = await messages.parse({
389
520
  model,
@@ -469,6 +600,85 @@ async function resolveDefaultVerifyAndStore() {
469
600
  // ---------------------------------------------------------------------------
470
601
  // Public API
471
602
  // ---------------------------------------------------------------------------
603
+ /**
604
+ * Why anthropic was excluded from provider selection, when it was.
605
+ *
606
+ * T12078: the interesting case is `skipped-consent`. CLEO deliberately will not
607
+ * import another tool's credential without opt-in, so the `claude-code` seeder
608
+ * refuses to read `~/.claude/.credentials.json` until
609
+ * `auth.claudeCodeConsentGiven` is set. That is correct security design — but
610
+ * it is invisible at the point of failure, and its symptom is identical to
611
+ * "you have no credentials": the stored anthropic entries simply age out (here:
612
+ * 2026-05-18 and 2026-07-12), refresh fails, the selector drops anthropic, and
613
+ * every LLM-dependent feature dies quietly while a perfectly valid token sits
614
+ * in a file CLEO has chosen not to read.
615
+ *
616
+ * Naming the consent flag turns a multi-hour investigation into one command.
617
+ *
618
+ * @returns a remedy sentence; never throws.
619
+ *
620
+ * @task T12078
621
+ */
622
+ async function describeAnthropicExclusion() {
623
+ try {
624
+ const { getCredentialPool } = await import('../llm/credential-pool.js');
625
+ const pool = getCredentialPool();
626
+ // Seeder status is populated by a seed pass; in a fresh process it is empty
627
+ // until one runs. A non-forced seed honours the 60s cache, so this is cheap
628
+ // and idempotent on the error path.
629
+ await pool.seed().catch(() => undefined);
630
+ const status = await pool.getSeederStatus();
631
+ // 'claude-code' below is a credential SEEDER id, not a model literal — the
632
+ // chokepoint rule's pattern cannot tell the two apart, hence the opt-out.
633
+ const claudeCode = status.find((s) => s.sourceId === 'claude-code'); // llm-resolve-allowed: seeder id, not a model
634
+ if (claudeCode?.lastResult === 'skipped-consent') {
635
+ return ('Anthropic was excluded because its stored credentials are expired and the ' +
636
+ 'claude-code seeder is gated on consent (lastResult=skipped-consent), so the ' +
637
+ 'valid token in ~/.claude/.credentials.json is never imported. Fix with ' +
638
+ 'EITHER `cleo config set auth.claudeCodeConsentGiven true` (authorise CLEO to ' +
639
+ 'read Claude Code credentials) OR `cleo login anthropic`.');
640
+ }
641
+ return ('Either configure llm.roles.consolidation for anthropic, or restore an ' +
642
+ 'anthropic credential (`cleo login anthropic`) so the cross-provider ' +
643
+ 'selector stops excluding it.');
644
+ }
645
+ catch {
646
+ return 'Run `cleo login anthropic` to restore an anthropic credential.';
647
+ }
648
+ }
649
+ /**
650
+ * One-line explanation of why {@link resolveDreamLlm} produced no client.
651
+ *
652
+ * Distinguishes "the role resolved to a provider this path cannot use" from
653
+ * "no credential at all", because the remedies are different: the first needs
654
+ * a role/config change or a provider-agnostic runner, the second needs a
655
+ * login.
656
+ *
657
+ * Never throws — diagnostics must not break the caller's error path.
658
+ *
659
+ * @param projectRoot - project root used for resolution.
660
+ * @returns a human-readable reason, always non-empty.
661
+ *
662
+ * @task T12078
663
+ */
664
+ async function describeDreamLlmResolution(projectRoot) {
665
+ try {
666
+ const { resolveLLMForRole } = await import('../llm/role-resolver.js');
667
+ const llm = await resolveLLMForRole('consolidation', { projectRoot });
668
+ if (llm.provider !== 'anthropic') {
669
+ const why = await describeAnthropicExclusion();
670
+ return (`The 'consolidation' role resolved to provider '${llm.provider}' (model ` +
671
+ `'${llm.model}'), but this path requires anthropic. ${why}`);
672
+ }
673
+ if (!llm.sealedCredential) {
674
+ return 'Resolved provider anthropic, but no usable credential — run `cleo login anthropic`.';
675
+ }
676
+ return 'Resolved provider anthropic with a credential, but no client was constructed.';
677
+ }
678
+ catch (err) {
679
+ return `LLM resolution failed: ${err instanceof Error ? err.message : String(err)}`;
680
+ }
681
+ }
472
682
  /**
473
683
  * Run one full dream cycle.
474
684
  *
@@ -488,6 +698,62 @@ async function resolveDefaultVerifyAndStore() {
488
698
  *
489
699
  * @task T1680
490
700
  */
701
+ /**
702
+ * Read the consolidation watermark from sentient state (T12088).
703
+ *
704
+ * Never throws — an unreadable state file yields `null`, which means "no
705
+ * watermark", i.e. fall back to the nominal lookback. Degrading to the previous
706
+ * fixed-window behaviour is correct; refusing to consolidate would not be.
707
+ *
708
+ * @param statePath - path to the sentient state file.
709
+ * @param options - dream options (test seam: `dreamWatermark`).
710
+ * @returns ISO timestamp already consolidated, or `null`.
711
+ *
712
+ * @task T12088
713
+ */
714
+ async function readDreamWatermark(statePath, options) {
715
+ if (options.dreamWatermark !== undefined)
716
+ return options.dreamWatermark;
717
+ try {
718
+ const { readSentientState } = await import('./state.js');
719
+ const state = (await readSentientState(statePath));
720
+ return state.dreamWatermark ?? null;
721
+ }
722
+ catch {
723
+ return null;
724
+ }
725
+ }
726
+ /**
727
+ * Persist the consolidation watermark into sentient state (T12088).
728
+ *
729
+ * A `null` watermark (empty batch) is a no-op: an empty pass must not advance
730
+ * progress past material it never read.
731
+ *
732
+ * Never throws — losing a watermark write costs one redundant pass, whereas
733
+ * throwing here would discard a completed consolidation.
734
+ *
735
+ * @param statePath - path to the sentient state file.
736
+ * @param watermark - newest processed `createdAt`, or `null`.
737
+ * @param options - dream options (test seam: `onWatermarkWrite`).
738
+ *
739
+ * @task T12088
740
+ */
741
+ async function writeDreamWatermark(statePath, watermark, options) {
742
+ if (watermark === null)
743
+ return;
744
+ if (options.onWatermarkWrite) {
745
+ options.onWatermarkWrite(watermark);
746
+ return;
747
+ }
748
+ try {
749
+ const { readSentientState, writeSentientState } = await import('./state.js');
750
+ const state = await readSentientState(statePath);
751
+ await writeSentientState(statePath, { ...state, dreamWatermark: watermark });
752
+ }
753
+ catch {
754
+ // Non-fatal: the next pass simply re-reads this window.
755
+ }
756
+ }
491
757
  export async function runDreamCycle(options) {
492
758
  const { projectRoot, statePath } = options;
493
759
  const runId = randomUUID().slice(0, 8);
@@ -536,24 +802,61 @@ export async function runDreamCycle(options) {
536
802
  model = resolved?.model ?? DREAM_DEFAULT_MODEL;
537
803
  }
538
804
  if (!client) {
805
+ // T12078: report WHY, not a guess.
806
+ //
807
+ // This message used to assert "No LLM API key found (checked
808
+ // ANTHROPIC_API_KEY, ~/.claude/.credentials.json, ~/.cleo/config.json)".
809
+ // That was frequently false, and its falseness hid a real outage: on this
810
+ // machine a VALID Anthropic OAuth token sat in
811
+ // `~/.claude/.credentials.json` while the dream cycle reported no key at
812
+ // all. The actual chain was:
813
+ //
814
+ // • CLEO's own credential store held two Anthropic OAuth entries, both
815
+ // long expired (2026-05-18, 2026-07-12), whose refresh failed;
816
+ // • `cross-provider-selector` therefore EXCLUDED anthropic and resolved
817
+ // the `consolidation` role to openai/gpt-5.5-pro;
818
+ // • `resolveAnthropicForRole` returns null for any non-anthropic
819
+ // provider, so this path saw `client === null`.
820
+ //
821
+ // Three different causes — no credential, an expired one, or a role
822
+ // resolved to a provider this Anthropic-only path cannot use — all
823
+ // collapsed into one message that named only the first. Naming the
824
+ // resolved provider is what makes the difference visible.
825
+ const resolvedProvider = await describeDreamLlmResolution(projectRoot);
539
826
  return {
540
827
  kind: 'no-api-key',
541
- detail: 'No LLM API key found (checked ANTHROPIC_API_KEY, ~/.claude/.credentials.json, ~/.cleo/config.json) — dream cycle skipped',
828
+ detail: `Dream cycle skipped — no usable Anthropic client. ${resolvedProvider}`,
542
829
  };
543
830
  }
544
- // Step 3: collect observations.
545
- const lookbackMs = options.lookbackMs ?? DREAM_LOOKBACK_MS;
831
+ // Step 3: collect observations — INCREMENTALLY (T12088).
832
+ //
833
+ // The window was previously a fixed `now - 24h` with no record of what had
834
+ // already been consolidated, so every run re-clustered and re-sent the same
835
+ // material (measured: 25 → 28 → 30 → 36 → 37 across consecutive runs), while
836
+ // anything that aged past 24 h was consolidated NEVER rather than later.
837
+ //
838
+ // The watermark WIDENS the window when the daemon has been off and never
839
+ // narrows it below the nominal lookback — clustering still needs context.
840
+ const nominalLookbackMs = options.lookbackMs ?? DREAM_LOOKBACK_MS;
841
+ const watermark = await readDreamWatermark(statePath, options);
842
+ const lookbackMs = resolveLookbackMs(watermark, nominalLookbackMs);
546
843
  const collect = options.collectObservations ?? defaultCollectObservations;
547
- let observations;
844
+ let collected;
548
845
  try {
549
- observations = await collect(projectRoot, lookbackMs);
846
+ collected = await collect(projectRoot, lookbackMs);
550
847
  }
551
848
  catch (err) {
552
849
  const message = err instanceof Error ? err.message : String(err);
553
850
  digest.warnings.push(`collection error: ${message}`);
554
- observations = [];
851
+ collected = [];
555
852
  }
853
+ // Synthesis targets only what is genuinely new; the wider set above still
854
+ // informed clustering context.
855
+ const observations = selectUnconsolidated(collected, watermark);
556
856
  digest.observationsCollected = observations.length;
857
+ if (collected.length !== observations.length) {
858
+ digest.warnings.push(`incremental: ${collected.length - observations.length} observation(s) already consolidated (watermark ${watermark ?? 'none'})`);
859
+ }
557
860
  if (observations.length === 0) {
558
861
  return {
559
862
  kind: 'no-observations',
@@ -571,7 +874,11 @@ export async function runDreamCycle(options) {
571
874
  };
572
875
  }
573
876
  // Step 5 + 6: synthesise eligible clusters, store memories.
574
- const clusterMinSize = options.clusterMinSize ?? DREAM_CLUSTER_MIN_SIZE;
877
+ //
878
+ // T12088: the minimum scales with the corpus. A fixed 5 meant a freshly
879
+ // dropped-in CLEO — which never has 5 similar observations — completed with
880
+ // `memoriesStored: 0` indefinitely, i.e. it could not begin learning at all.
881
+ const clusterMinSize = options.clusterMinSize ?? adaptiveClusterMinSize(observations.length);
575
882
  const maxClusters = options.maxClusters ?? DREAM_MAX_CLUSTERS;
576
883
  const minImportance = options.minImportance ?? DREAM_MIN_IMPORTANCE;
577
884
  const eligibleClusters = clusters
@@ -630,6 +937,10 @@ export async function runDreamCycle(options) {
630
937
  const message = err instanceof Error ? err.message : String(err);
631
938
  digest.warnings.push(`digest observation write error: ${message}`);
632
939
  }
940
+ // T12088: advance the watermark so the NEXT pass starts where this one ended.
941
+ // Written only on the completed path — a pass that errored out must be able to
942
+ // re-read the same material rather than skip it.
943
+ await writeDreamWatermark(statePath, nextWatermark(observations), options);
633
944
  return {
634
945
  kind: 'completed',
635
946
  detail: `dream cycle completed: ${digest.memoriesStored} memories stored/merged ` +
@@ -1 +1 @@
1
- {"version":3,"file":"dream-cycle.js","sourceRoot":"","sources":["../../src/sentient/dream-cycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dream-cycle.js","sourceRoot":"","sources":["../../src/sentient/dream-cycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Incremental + adaptive consolidation policy for the dream cycle (T12088).
3
+ *
4
+ * ## What was fixed
5
+ *
6
+ * The collector was a fixed window with no memory of its own progress:
7
+ *
8
+ * ```sql
9
+ * WHERE created_at >= (now - 24h) ORDER BY created_at ASC LIMIT 2000
10
+ * ```
11
+ *
12
+ * Three consequences, all observed live on 2026-08-06:
13
+ *
14
+ * 1. **Every run redid the previous run's work.** Consecutive cycles collected
15
+ * 25 → 28 → 30 → 36 → 37 observations — the same material re-clustered and
16
+ * re-sent to the LLM each time. Dedup at the storage gate hid it, so the
17
+ * waste was invisible while consuming the entire LLM budget of every pass.
18
+ *
19
+ * 2. **Anything older than the window was consolidated NEVER.** Not "later" —
20
+ * never. The sentient loop was dead for three months; every observation from
21
+ * that period aged out of the 24 h window unread and became permanently
22
+ * invisible to consolidation. A memory system whose intake silently expires
23
+ * is not an "ever-growing memory".
24
+ *
25
+ * 3. **A fixed `clusterMinSize: 5` meant a new project could not learn.** A
26
+ * freshly dropped-in CLEO has a handful of observations, never 5 similar
27
+ * ones, so the cycle completed with `memoriesStored: 0` indefinitely. The
28
+ * goal is that CLEO learns "like an infant to expert"; the threshold was set
29
+ * for the expert end and blocked the infant end entirely.
30
+ *
31
+ * ## The policy
32
+ *
33
+ * - **Watermark.** Consolidation records the newest `createdAt` it processed.
34
+ * The next run starts there, so work is never repeated.
35
+ * - **The watermark widens, never narrows.** When it is older than the nominal
36
+ * lookback (daemon was off), the window reaches back to it instead of
37
+ * clamping to `now - 24h`. A gap is caught up, not dropped.
38
+ * - **First run has no watermark**, so it uses the nominal lookback — existing
39
+ * behaviour, unchanged.
40
+ * - **Adaptive minimum cluster size** scales with how much the project has
41
+ * actually observed, so a young project consolidates pairs while a mature one
42
+ * still demands real repetition before promoting a memory.
43
+ *
44
+ * @task T12088
45
+ */
46
+ /** Nominal lookback when no watermark exists yet (24 h). */
47
+ export declare const DEFAULT_NOMINAL_LOOKBACK_MS: number;
48
+ /**
49
+ * Hard ceiling on how far back a catch-up pass will reach (30 days).
50
+ *
51
+ * Without a bound, a watermark from months ago would pull an entire corpus into
52
+ * one pass and spend the whole LLM budget on the first tick after a long
53
+ * outage. Older material belongs to an explicit backfill, not a background tick.
54
+ */
55
+ export declare const MAX_CATCHUP_LOOKBACK_MS: number;
56
+ /** Smallest cluster the adaptive policy will ever synthesise. */
57
+ export declare const MIN_ADAPTIVE_CLUSTER_SIZE = 2;
58
+ /** Largest cluster minimum the adaptive policy will ever demand. */
59
+ export declare const MAX_ADAPTIVE_CLUSTER_SIZE = 5;
60
+ /**
61
+ * Observations per unit of required cluster size.
62
+ *
63
+ * At 20 observations the minimum is 2 (a young project can pair things up); by
64
+ * 50 it reaches the mature default of 5, where a memory must be backed by real
65
+ * repetition.
66
+ */
67
+ export declare const ADAPTIVE_CLUSTER_DIVISOR = 10;
68
+ /**
69
+ * Resolve the effective lookback for this pass.
70
+ *
71
+ * @param watermark - ISO timestamp of the newest observation already
72
+ * consolidated, or `null` on a first run.
73
+ * @param nominalMs - the configured window (default 24 h).
74
+ * @param nowMs - current time in ms (injected for determinism in tests).
75
+ * @returns the lookback to use, always ≥ `nominalMs` and ≤
76
+ * {@link MAX_CATCHUP_LOOKBACK_MS}.
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * // Daemon off for 5 days → widen to 5 days rather than losing 4 of them.
81
+ * resolveLookbackMs('2026-08-01T00:00:00Z', DAY, Date.parse('2026-08-06T00:00:00Z'));
82
+ * // → 5 * DAY
83
+ * ```
84
+ *
85
+ * @task T12088
86
+ */
87
+ export declare function resolveLookbackMs(watermark: string | null, nominalMs?: number, nowMs?: number): number;
88
+ /**
89
+ * Minimum cluster size appropriate to the size of the observation corpus.
90
+ *
91
+ * @param totalObservations - how many observations exist in the window.
92
+ * @returns a value in `[MIN_ADAPTIVE_CLUSTER_SIZE, MAX_ADAPTIVE_CLUSTER_SIZE]`.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * adaptiveClusterMinSize(6); // → 2 (a young project can still learn)
97
+ * adaptiveClusterMinSize(30); // → 3
98
+ * adaptiveClusterMinSize(500); // → 5 (mature: demand real repetition)
99
+ * ```
100
+ *
101
+ * @task T12088
102
+ */
103
+ export declare function adaptiveClusterMinSize(totalObservations: number): number;
104
+ /**
105
+ * Drop observations at or before the watermark.
106
+ *
107
+ * Applied AFTER collection so the widened window still supplies clustering
108
+ * context, while synthesis effort concentrates on what is genuinely new. The
109
+ * comparison is on the ISO `createdAt` string, which sorts lexicographically
110
+ * for a fixed format — the same ordering the collector's `ORDER BY` relies on.
111
+ *
112
+ * @param observations - collected observations, any order.
113
+ * @param watermark - ISO timestamp already consolidated, or `null`.
114
+ * @returns observations strictly newer than the watermark.
115
+ *
116
+ * @task T12088
117
+ */
118
+ export declare function selectUnconsolidated<T extends {
119
+ createdAt: string;
120
+ }>(observations: readonly T[], watermark: string | null): T[];
121
+ /**
122
+ * The newest `createdAt` in a batch — the watermark to persist after a pass.
123
+ *
124
+ * @param observations - observations processed in this pass.
125
+ * @returns the max ISO timestamp, or `null` for an empty batch, leaving any
126
+ * existing watermark untouched so a no-op pass cannot advance progress past
127
+ * material it never read.
128
+ *
129
+ * @task T12088
130
+ */
131
+ export declare function nextWatermark(observations: readonly {
132
+ createdAt: string;
133
+ }[]): string | null;
134
+ //# sourceMappingURL=dream-watermark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dream-watermark.d.ts","sourceRoot":"","sources":["../../src/sentient/dream-watermark.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,QAAsB,CAAC;AAE/D;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,QAA2B,CAAC;AAEhE,iEAAiE;AACjE,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,SAAS,GAAE,MAAoC,EAC/C,KAAK,GAAE,MAAmB,GACzB,MAAM,CAUR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAClE,YAAY,EAAE,SAAS,CAAC,EAAE,EAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,CAAC,EAAE,CAGL;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAM3F"}