@cleocode/core 2026.9.8 → 2026.9.9
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.
- package/dist/audit/reconstruct.d.ts +13 -43
- package/dist/audit/reconstruct.d.ts.map +1 -1
- package/dist/audit/reconstruct.js +295 -290
- package/dist/audit/reconstruct.js.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +8 -2
- package/dist/bootstrap.js.map +1 -1
- package/dist/dispatch/mutate-projection.d.ts.map +1 -1
- package/dist/dispatch/mutate-projection.js +12 -0
- package/dist/dispatch/mutate-projection.js.map +1 -1
- package/dist/dispatch/mvi-projection.d.ts +29 -6
- package/dist/dispatch/mvi-projection.d.ts.map +1 -1
- package/dist/dispatch/mvi-projection.js +109 -139
- package/dist/dispatch/mvi-projection.js.map +1 -1
- package/dist/docs/docs-read-model.d.ts +3 -2
- package/dist/docs/docs-read-model.d.ts.map +1 -1
- package/dist/docs/docs-read-model.js +4 -3
- package/dist/docs/docs-read-model.js.map +1 -1
- package/dist/docs/export-document.js +5100 -2297
- package/dist/docs/export-document.js.map +3 -3
- package/dist/docs/projection.d.ts +67 -0
- package/dist/docs/projection.d.ts.map +1 -0
- package/dist/docs/projection.js +370 -0
- package/dist/docs/projection.js.map +1 -0
- package/dist/doctor/acceptance-drift.d.ts +6 -2
- package/dist/doctor/acceptance-drift.d.ts.map +1 -1
- package/dist/doctor/acceptance-drift.js +43 -5
- package/dist/doctor/acceptance-drift.js.map +1 -1
- package/dist/doctor/knowledge-summary.d.ts +41 -0
- package/dist/doctor/knowledge-summary.d.ts.map +1 -0
- package/dist/doctor/knowledge-summary.js +81 -0
- package/dist/doctor/knowledge-summary.js.map +1 -0
- package/dist/doctor/knowledge.d.ts +192 -0
- package/dist/doctor/knowledge.d.ts.map +1 -0
- package/dist/doctor/knowledge.js +1864 -0
- package/dist/doctor/knowledge.js.map +1 -0
- package/dist/git/work-tree.d.ts +64 -0
- package/dist/git/work-tree.d.ts.map +1 -0
- package/dist/git/work-tree.js +111 -0
- package/dist/git/work-tree.js.map +1 -0
- package/dist/hooks/handlers/task-hooks.d.ts +8 -5
- package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/task-hooks.js +15 -60
- package/dist/hooks/handlers/task-hooks.js.map +1 -1
- package/dist/identity/cleo-identity.d.ts +13 -0
- package/dist/identity/cleo-identity.d.ts.map +1 -1
- package/dist/identity/cleo-identity.js +20 -6
- package/dist/identity/cleo-identity.js.map +1 -1
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +29 -13
- package/dist/injection.js.map +1 -1
- package/dist/internal.d.ts +2 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
- package/dist/lifecycle/verification/satisfies-validator.js +124 -120
- package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
- package/dist/llm/plugin-facade.js +4018 -1726
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/brain-backfill.d.ts +27 -12
- package/dist/memory/brain-backfill.d.ts.map +1 -1
- package/dist/memory/brain-backfill.js +325 -134
- package/dist/memory/brain-backfill.js.map +1 -1
- package/dist/memory/brain-doctor.d.ts +21 -0
- package/dist/memory/brain-doctor.d.ts.map +1 -1
- package/dist/memory/brain-doctor.js +111 -53
- package/dist/memory/brain-doctor.js.map +1 -1
- package/dist/memory/brain-links.d.ts.map +1 -1
- package/dist/memory/brain-links.js +31 -4
- package/dist/memory/brain-links.js.map +1 -1
- package/dist/memory/brain-reasoning.d.ts.map +1 -1
- package/dist/memory/brain-reasoning.js +28 -2
- package/dist/memory/brain-reasoning.js.map +1 -1
- package/dist/memory/brain-reconciler.d.ts +14 -19
- package/dist/memory/brain-reconciler.d.ts.map +1 -1
- package/dist/memory/brain-reconciler.js +70 -97
- package/dist/memory/brain-reconciler.js.map +1 -1
- package/dist/memory/brain-search.d.ts +2 -0
- package/dist/memory/brain-search.d.ts.map +1 -1
- package/dist/memory/brain-search.js +59 -29
- package/dist/memory/brain-search.js.map +1 -1
- package/dist/memory/brain-similarity.d.ts.map +1 -1
- package/dist/memory/brain-similarity.js +5 -4
- package/dist/memory/brain-similarity.js.map +1 -1
- package/dist/memory/brain-stub-prune.d.ts +31 -9
- package/dist/memory/brain-stub-prune.d.ts.map +1 -1
- package/dist/memory/brain-stub-prune.js +65 -18
- package/dist/memory/brain-stub-prune.js.map +1 -1
- package/dist/memory/brain-writer-handlers.d.ts +10 -1
- package/dist/memory/brain-writer-handlers.d.ts.map +1 -1
- package/dist/memory/brain-writer-handlers.js +23 -3
- package/dist/memory/brain-writer-handlers.js.map +1 -1
- package/dist/memory/brain-writer-thread.d.ts +11 -1
- package/dist/memory/brain-writer-thread.d.ts.map +1 -1
- package/dist/memory/brain-writer-thread.js +87 -20
- package/dist/memory/brain-writer-thread.js.map +1 -1
- package/dist/memory/brain-writer-worker.js +8 -1
- package/dist/memory/brain-writer-worker.js.map +1 -1
- package/dist/memory/decision-cross-link.d.ts +39 -0
- package/dist/memory/decision-cross-link.d.ts.map +1 -1
- package/dist/memory/decision-cross-link.js +316 -0
- package/dist/memory/decision-cross-link.js.map +1 -1
- package/dist/memory/decisions.d.ts +4 -1
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +7 -24
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/dispatch-trace.d.ts +12 -5
- package/dist/memory/dispatch-trace.d.ts.map +1 -1
- package/dist/memory/dispatch-trace.js +17 -7
- package/dist/memory/dispatch-trace.js.map +1 -1
- package/dist/memory/eligibility.d.ts +51 -0
- package/dist/memory/eligibility.d.ts.map +1 -0
- package/dist/memory/eligibility.js +77 -0
- package/dist/memory/eligibility.js.map +1 -0
- package/dist/memory/engine-compat.d.ts +2 -0
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +10 -0
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/memory/extraction-gate.d.ts +21 -7
- package/dist/memory/extraction-gate.d.ts.map +1 -1
- package/dist/memory/extraction-gate.js +178 -216
- package/dist/memory/extraction-gate.js.map +1 -1
- package/dist/memory/graph-auto-populate.d.ts +38 -5
- package/dist/memory/graph-auto-populate.d.ts.map +1 -1
- package/dist/memory/graph-auto-populate.js +182 -60
- package/dist/memory/graph-auto-populate.js.map +1 -1
- package/dist/memory/graph-memory-bridge.d.ts +14 -1
- package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
- package/dist/memory/graph-memory-bridge.js +66 -28
- package/dist/memory/graph-memory-bridge.js.map +1 -1
- package/dist/memory/index.d.ts +1 -19
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +1 -50
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/learnings.d.ts.map +1 -1
- package/dist/memory/learnings.js +2 -23
- package/dist/memory/learnings.js.map +1 -1
- package/dist/memory/manifest-filter.d.ts +21 -0
- package/dist/memory/manifest-filter.d.ts.map +1 -0
- package/dist/memory/manifest-filter.js +51 -0
- package/dist/memory/manifest-filter.js.map +1 -0
- package/dist/memory/manifest-ingestion.d.ts +28 -30
- package/dist/memory/manifest-ingestion.d.ts.map +1 -1
- package/dist/memory/manifest-ingestion.js +104 -235
- package/dist/memory/manifest-ingestion.js.map +1 -1
- package/dist/memory/observer-reflector.d.ts +2 -0
- package/dist/memory/observer-reflector.d.ts.map +1 -1
- package/dist/memory/observer-reflector.js +6 -49
- package/dist/memory/observer-reflector.js.map +1 -1
- package/dist/memory/patterns.d.ts +10 -0
- package/dist/memory/patterns.d.ts.map +1 -1
- package/dist/memory/patterns.js +25 -33
- package/dist/memory/patterns.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +72 -9
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +508 -412
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.js +16 -15
- package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
- package/dist/memory/retrieval/fetch.d.ts +7 -0
- package/dist/memory/retrieval/fetch.d.ts.map +1 -1
- package/dist/memory/retrieval/fetch.js +14 -11
- package/dist/memory/retrieval/fetch.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts +7 -1
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +58 -4
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/memory/retrieval/search.d.ts +14 -1
- package/dist/memory/retrieval/search.d.ts.map +1 -1
- package/dist/memory/retrieval/search.js +133 -69
- package/dist/memory/retrieval/search.js.map +1 -1
- package/dist/memory/retrieval/telemetry.d.ts +31 -0
- package/dist/memory/retrieval/telemetry.d.ts.map +1 -0
- package/dist/memory/retrieval/telemetry.js +53 -0
- package/dist/memory/retrieval/telemetry.js.map +1 -0
- package/dist/nexus/analyze-orchestrator.d.ts +41 -9
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +257 -58
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/api-contracts.d.ts +2 -6
- package/dist/nexus/api-contracts.d.ts.map +1 -1
- package/dist/nexus/api-contracts.js +11 -2
- package/dist/nexus/api-contracts.js.map +1 -1
- package/dist/nexus/context.d.ts.map +1 -1
- package/dist/nexus/context.js +14 -37
- package/dist/nexus/context.js.map +1 -1
- package/dist/nexus/diff.d.ts.map +1 -1
- package/dist/nexus/diff.js +2 -1
- package/dist/nexus/diff.js.map +1 -1
- package/dist/nexus/identity.d.ts +29 -3
- package/dist/nexus/identity.d.ts.map +1 -1
- package/dist/nexus/identity.js +63 -12
- package/dist/nexus/identity.js.map +1 -1
- package/dist/nexus/impact.d.ts +21 -19
- package/dist/nexus/impact.d.ts.map +1 -1
- package/dist/nexus/impact.js +96 -192
- package/dist/nexus/impact.js.map +1 -1
- package/dist/nexus/knowledge.d.ts +80 -0
- package/dist/nexus/knowledge.d.ts.map +1 -0
- package/dist/nexus/knowledge.js +786 -0
- package/dist/nexus/knowledge.js.map +1 -0
- package/dist/nexus/living-brain.d.ts +8 -5
- package/dist/nexus/living-brain.d.ts.map +1 -1
- package/dist/nexus/living-brain.js +252 -188
- package/dist/nexus/living-brain.js.map +1 -1
- package/dist/nexus/registry.d.ts +11 -2
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +144 -128
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/source-roots.d.ts +16 -0
- package/dist/nexus/source-roots.d.ts.map +1 -0
- package/dist/nexus/source-roots.js +174 -0
- package/dist/nexus/source-roots.js.map +1 -0
- package/dist/nexus/task-evidence.d.ts +22 -0
- package/dist/nexus/task-evidence.d.ts.map +1 -0
- package/dist/nexus/task-evidence.js +210 -0
- package/dist/nexus/task-evidence.js.map +1 -0
- package/dist/nexus/tasks-bridge.d.ts +14 -7
- package/dist/nexus/tasks-bridge.d.ts.map +1 -1
- package/dist/nexus/tasks-bridge.js +81 -40
- package/dist/nexus/tasks-bridge.js.map +1 -1
- package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
- package/dist/orchestrate/lifecycle-ops.js +170 -120
- package/dist/orchestrate/lifecycle-ops.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts +6 -7
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +509 -532
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestration/bootstrap.d.ts +15 -1
- package/dist/orchestration/bootstrap.d.ts.map +1 -1
- package/dist/orchestration/bootstrap.js +21 -10
- package/dist/orchestration/bootstrap.js.map +1 -1
- package/dist/orchestration/index.d.ts +35 -3
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +64 -35
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +24 -1
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js +31 -11
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +16 -41
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/unblock.d.ts +15 -1
- package/dist/orchestration/unblock.d.ts.map +1 -1
- package/dist/orchestration/unblock.js +23 -12
- package/dist/orchestration/unblock.js.map +1 -1
- package/dist/orchestration/validate-spawn.d.ts.map +1 -1
- package/dist/orchestration/validate-spawn.js +3 -3
- package/dist/orchestration/validate-spawn.js.map +1 -1
- package/dist/orchestration/waves.d.ts +29 -13
- package/dist/orchestration/waves.d.ts.map +1 -1
- package/dist/orchestration/waves.js +43 -55
- package/dist/orchestration/waves.js.map +1 -1
- package/dist/paths.d.ts +17 -163
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +145 -496
- package/dist/paths.js.map +1 -1
- package/dist/project-info.d.ts +2 -11
- package/dist/project-info.d.ts.map +1 -1
- package/dist/project-info.js +3 -31
- package/dist/project-info.js.map +1 -1
- package/dist/project-scope.d.ts +239 -0
- package/dist/project-scope.d.ts.map +1 -0
- package/dist/project-scope.js +473 -0
- package/dist/project-scope.js.map +1 -0
- package/dist/release/pr-evidence.d.ts +16 -3
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +53 -7
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +4 -2
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/render/orchestration/audit-reconstruct.d.ts +11 -0
- package/dist/render/orchestration/audit-reconstruct.d.ts.map +1 -1
- package/dist/render/orchestration/audit-reconstruct.js +21 -6
- package/dist/render/orchestration/audit-reconstruct.js.map +1 -1
- package/dist/render/tasks/show.js +2 -1
- package/dist/render/tasks/show.js.map +1 -1
- package/dist/resources/spawn-wrapper.d.ts +82 -14
- package/dist/resources/spawn-wrapper.d.ts.map +1 -1
- package/dist/resources/spawn-wrapper.js +585 -27
- package/dist/resources/spawn-wrapper.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +4026 -1734
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sequence/index.d.ts.map +1 -1
- package/dist/sequence/index.js +76 -68
- package/dist/sequence/index.js.map +1 -1
- package/dist/session/canon-lint.d.ts +24 -3
- package/dist/session/canon-lint.d.ts.map +1 -1
- package/dist/session/canon-lint.js +72 -31
- package/dist/session/canon-lint.js.map +1 -1
- package/dist/session/engine-ops.d.ts +1 -4
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +6 -2
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/briefing.d.ts +11 -1
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +76 -8
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/handoff.d.ts +3 -1
- package/dist/sessions/handoff.d.ts.map +1 -1
- package/dist/sessions/handoff.js +2 -0
- package/dist/sessions/handoff.js.map +1 -1
- package/dist/shutdown-deadline.d.ts +24 -33
- package/dist/shutdown-deadline.d.ts.map +1 -1
- package/dist/shutdown-deadline.js +71 -14
- package/dist/shutdown-deadline.js.map +1 -1
- package/dist/shutdown.d.ts +21 -10
- package/dist/shutdown.d.ts.map +1 -1
- package/dist/shutdown.js +89 -42
- package/dist/shutdown.js.map +1 -1
- package/dist/skills/index.d.ts +1 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/orchestrator/validator.d.ts +87 -20
- package/dist/skills/orchestrator/validator.d.ts.map +1 -1
- package/dist/skills/orchestrator/validator.js +330 -241
- package/dist/skills/orchestrator/validator.js.map +1 -1
- package/dist/store/agent-resolver.d.ts.map +1 -1
- package/dist/store/agent-resolver.js +16 -9
- package/dist/store/agent-resolver.js.map +1 -1
- package/dist/store/attachment-store.d.ts +4 -1
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +20 -3
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/background-jobs.d.ts +426 -105
- package/dist/store/background-jobs.d.ts.map +1 -1
- package/dist/store/background-jobs.js +1208 -252
- package/dist/store/background-jobs.js.map +1 -1
- package/dist/store/background-ops.d.ts +145 -8
- package/dist/store/background-ops.d.ts.map +1 -1
- package/dist/store/background-ops.js +459 -15
- package/dist/store/background-ops.js.map +1 -1
- package/dist/store/backup-inspect.d.ts +48 -4
- package/dist/store/backup-inspect.d.ts.map +1 -1
- package/dist/store/backup-inspect.js +384 -4
- package/dist/store/backup-inspect.js.map +1 -1
- package/dist/store/converters.d.ts.map +1 -1
- package/dist/store/converters.js +19 -2
- package/dist/store/converters.js.map +1 -1
- package/dist/store/data-accessor.d.ts +9 -1
- package/dist/store/data-accessor.d.ts.map +1 -1
- package/dist/store/data-accessor.js +22 -5
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/data-safety-central.d.ts.map +1 -1
- package/dist/store/data-safety-central.js +272 -232
- package/dist/store/data-safety-central.js.map +1 -1
- package/dist/store/db-helpers.d.ts +19 -3
- package/dist/store/db-helpers.d.ts.map +1 -1
- package/dist/store/db-helpers.js +42 -58
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts +63 -4
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +166 -19
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/archive.d.ts +21 -7
- package/dist/store/exodus/archive.d.ts.map +1 -1
- package/dist/store/exodus/archive.js +60 -18
- package/dist/store/exodus/archive.js.map +1 -1
- package/dist/store/exodus/migrate.d.ts.map +1 -1
- package/dist/store/exodus/migrate.js +27 -23
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/on-open.d.ts +16 -27
- package/dist/store/exodus/on-open.d.ts.map +1 -1
- package/dist/store/exodus/on-open.js +121 -169
- package/dist/store/exodus/on-open.js.map +1 -1
- package/dist/store/exodus/recovery.d.ts +90 -0
- package/dist/store/exodus/recovery.d.ts.map +1 -0
- package/dist/store/exodus/recovery.js +434 -0
- package/dist/store/exodus/recovery.js.map +1 -0
- package/dist/store/exodus/types.d.ts +15 -0
- package/dist/store/exodus/types.d.ts.map +1 -1
- package/dist/store/memory-accessor.d.ts +52 -3
- package/dist/store/memory-accessor.d.ts.map +1 -1
- package/dist/store/memory-accessor.js +122 -7
- package/dist/store/memory-accessor.js.map +1 -1
- package/dist/store/nexus-sqlite.d.ts +24 -6
- package/dist/store/nexus-sqlite.d.ts.map +1 -1
- package/dist/store/nexus-sqlite.js +39 -20
- package/dist/store/nexus-sqlite.js.map +1 -1
- package/dist/store/ports/domain-binding.d.ts.map +1 -1
- package/dist/store/ports/domain-binding.js +27 -5
- package/dist/store/ports/domain-binding.js.map +1 -1
- package/dist/store/schema/background-jobs.d.ts +181 -2
- package/dist/store/schema/background-jobs.d.ts.map +1 -1
- package/dist/store/schema/background-jobs.js +27 -3
- package/dist/store/schema/background-jobs.js.map +1 -1
- package/dist/store/schema/cleo-global/skills.d.ts +2 -2
- package/dist/store/schema/cleo-project/lifecycle.d.ts +2 -2
- package/dist/store/schema/cleo-project/runtime.d.ts +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +1 -1
- package/dist/store/schema/lifecycle.d.ts +2 -2
- package/dist/store/schema/skills-schema.d.ts +2 -2
- package/dist/store/schema/tasks.d.ts +1 -1
- package/dist/store/session-store.d.ts +3 -1
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +252 -207
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +39 -4
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +689 -527
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts +3 -1
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +309 -279
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +8 -8
- package/dist/store/writer-lease.d.ts +80 -8
- package/dist/store/writer-lease.d.ts.map +1 -1
- package/dist/store/writer-lease.js +503 -134
- package/dist/store/writer-lease.js.map +1 -1
- package/dist/system/audit.d.ts +2 -1
- package/dist/system/audit.d.ts.map +1 -1
- package/dist/system/audit.js +118 -71
- package/dist/system/audit.js.map +1 -1
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +5 -5
- package/dist/system/backup.js.map +1 -1
- package/dist/system/inject-generate.js +1 -1
- package/dist/task-work/index.d.ts +3 -0
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +34 -37
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
- package/dist/tasks/ac-coverage-gate.js +4 -0
- package/dist/tasks/ac-coverage-gate.js.map +1 -1
- package/dist/tasks/ac-immutability.d.ts +7 -4
- package/dist/tasks/ac-immutability.d.ts.map +1 -1
- package/dist/tasks/ac-immutability.js +19 -17
- package/dist/tasks/ac-immutability.js.map +1 -1
- package/dist/tasks/ac-table.d.ts +5 -5
- package/dist/tasks/ac-table.d.ts.map +1 -1
- package/dist/tasks/ac-table.js +26 -12
- package/dist/tasks/ac-table.js.map +1 -1
- package/dist/tasks/acceptance-input.d.ts +52 -0
- package/dist/tasks/acceptance-input.d.ts.map +1 -0
- package/dist/tasks/acceptance-input.js +259 -0
- package/dist/tasks/acceptance-input.js.map +1 -0
- package/dist/tasks/add.d.ts +67 -29
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +255 -97
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/complete.d.ts +16 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +152 -55
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/decompose.d.ts +103 -0
- package/dist/tasks/decompose.d.ts.map +1 -0
- package/dist/tasks/decompose.js +224 -0
- package/dist/tasks/decompose.js.map +1 -0
- package/dist/tasks/delete.d.ts +5 -8
- package/dist/tasks/delete.d.ts.map +1 -1
- package/dist/tasks/delete.js +4 -3
- package/dist/tasks/delete.js.map +1 -1
- package/dist/tasks/dependency-check.d.ts +59 -0
- package/dist/tasks/dependency-check.d.ts.map +1 -1
- package/dist/tasks/dependency-check.js +73 -0
- package/dist/tasks/dependency-check.js.map +1 -1
- package/dist/tasks/deps-ready.d.ts +13 -1
- package/dist/tasks/deps-ready.d.ts.map +1 -1
- package/dist/tasks/deps-ready.js +16 -5
- package/dist/tasks/deps-ready.js.map +1 -1
- package/dist/tasks/engine-converters.d.ts +7 -0
- package/dist/tasks/engine-converters.d.ts.map +1 -1
- package/dist/tasks/engine-converters.js +8 -1
- package/dist/tasks/engine-converters.js.map +1 -1
- package/dist/tasks/evidence.d.ts +54 -26
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +292 -40
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/find.d.ts +16 -12
- package/dist/tasks/find.d.ts.map +1 -1
- package/dist/tasks/find.js +107 -93
- package/dist/tasks/find.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts +88 -14
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +596 -253
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/hierarchy-policy.d.ts +8 -0
- package/dist/tasks/hierarchy-policy.d.ts.map +1 -1
- package/dist/tasks/hierarchy-policy.js +9 -2
- package/dist/tasks/hierarchy-policy.js.map +1 -1
- package/dist/tasks/hierarchy.d.ts +67 -1
- package/dist/tasks/hierarchy.d.ts.map +1 -1
- package/dist/tasks/hierarchy.js +81 -1
- package/dist/tasks/hierarchy.js.map +1 -1
- package/dist/tasks/index.d.ts +3 -0
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +3 -0
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/infer-add-params.d.ts +1 -20
- package/dist/tasks/infer-add-params.d.ts.map +1 -1
- package/dist/tasks/infer-add-params.js +2 -203
- package/dist/tasks/infer-add-params.js.map +1 -1
- package/dist/tasks/list.d.ts +7 -2
- package/dist/tasks/list.d.ts.map +1 -1
- package/dist/tasks/list.js +24 -36
- package/dist/tasks/list.js.map +1 -1
- package/dist/tasks/ops.d.ts +6 -61
- package/dist/tasks/ops.d.ts.map +1 -1
- package/dist/tasks/ops.js +5 -53
- package/dist/tasks/ops.js.map +1 -1
- package/dist/tasks/plan.d.ts +15 -1
- package/dist/tasks/plan.d.ts.map +1 -1
- package/dist/tasks/plan.js +23 -25
- package/dist/tasks/plan.js.map +1 -1
- package/dist/tasks/population.d.ts +46 -0
- package/dist/tasks/population.d.ts.map +1 -0
- package/dist/tasks/population.js +88 -0
- package/dist/tasks/population.js.map +1 -0
- package/dist/tasks/reconcile-scope.d.ts +157 -0
- package/dist/tasks/reconcile-scope.d.ts.map +1 -0
- package/dist/tasks/reconcile-scope.js +242 -0
- package/dist/tasks/reconcile-scope.js.map +1 -0
- package/dist/tasks/req.d.ts +51 -12
- package/dist/tasks/req.d.ts.map +1 -1
- package/dist/tasks/req.js +125 -69
- package/dist/tasks/req.js.map +1 -1
- package/dist/tasks/session-scope.d.ts +6 -31
- package/dist/tasks/session-scope.d.ts.map +1 -1
- package/dist/tasks/session-scope.js +3 -17
- package/dist/tasks/session-scope.js.map +1 -1
- package/dist/tasks/severity-attestation.d.ts +39 -10
- package/dist/tasks/severity-attestation.d.ts.map +1 -1
- package/dist/tasks/severity-attestation.js +75 -36
- package/dist/tasks/severity-attestation.js.map +1 -1
- package/dist/tasks/task-next.d.ts +5 -0
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +10 -9
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/task-reparent.d.ts.map +1 -1
- package/dist/tasks/task-reparent.js +3 -13
- package/dist/tasks/task-reparent.js.map +1 -1
- package/dist/tasks/update.d.ts +20 -43
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +64 -49
- package/dist/tasks/update.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +17 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +149 -11
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/workgraph/reparent-preflight.d.ts +1 -1
- package/dist/workgraph/reparent-preflight.d.ts.map +1 -1
- package/dist/workgraph/reparent-preflight.js +6 -1
- package/dist/workgraph/reparent-preflight.js.map +1 -1
- package/dist/workgraph/scaffold-apply.d.ts.map +1 -1
- package/dist/workgraph/scaffold-apply.js +81 -76
- package/dist/workgraph/scaffold-apply.js.map +1 -1
- package/dist/workgraph/structure-validation.d.ts +1 -1
- package/dist/workgraph/structure-validation.d.ts.map +1 -1
- package/dist/workgraph/structure-validation.js +6 -1
- package/dist/workgraph/structure-validation.js.map +1 -1
- package/migrations/drizzle-tasks/20260919180000_t12263-job-ownership-fences/migration.sql +34 -0
- package/migrations/drizzle-tasks/20260919184500_t12265-durable-pending-proposals/migration.sql +4 -0
- package/package.json +18 -13
- package/schemas/config.schema.json +2 -2
- package/templates/CLEO-INJECTION.md +103 -101
|
@@ -20,6 +20,11 @@ export type { BudgetedEntry, BudgetedResult, BudgetedRetrievalOptions } from '@c
|
|
|
20
20
|
* @param projectRoot - Project root directory
|
|
21
21
|
* @param params - Search parameters
|
|
22
22
|
* @returns Compact search results with token estimate
|
|
23
|
+
* @remarks Explicit project ownership and the inherited operation lifetime are
|
|
24
|
+
* captured before asynchronous reads. Optional citation and retrieval-log writes
|
|
25
|
+
* are registered before return so the existing background barrier can await them.
|
|
26
|
+
* Session attribution is resolved before scheduling. Telemetry remains best-effort;
|
|
27
|
+
* this result does not claim durable telemetry outcomes or complete runtime callers.
|
|
23
28
|
*
|
|
24
29
|
* @example
|
|
25
30
|
* ```ts
|
|
@@ -55,13 +60,21 @@ export declare function searchBrainCompact(projectRoot: string, params: SearchBr
|
|
|
55
60
|
* - Walk list, accumulate token cost (≈ textLen/4), stop at budget.
|
|
56
61
|
* - Episodic entries dropped first when budget is tight.
|
|
57
62
|
*
|
|
58
|
-
* Citation tracking
|
|
63
|
+
* Citation tracking uses the existing background lifecycle barrier.
|
|
59
64
|
*
|
|
60
65
|
* @param projectRoot - Project root directory
|
|
61
66
|
* @param query - Text to search for
|
|
62
67
|
* @param tokenBudget - Maximum tokens to spend on results (default 500)
|
|
63
68
|
* @param options - Optional filters (types, tiers, verified)
|
|
64
69
|
* @returns Retrieved entries within budget with token accounting
|
|
70
|
+
* @remarks Explicit project scope and inherited execution are captured before
|
|
71
|
+
* reads. Citation writes retain that original deadline and cancellation; no new
|
|
72
|
+
* maintenance budget is created. Underlying telemetry remains best-effort and is
|
|
73
|
+
* not represented as a durable receipt in this result.
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* const result = await retrieveWithBudget(projectRoot, 'authentication', 500);
|
|
77
|
+
* ```
|
|
65
78
|
*/
|
|
66
79
|
export declare function retrieveWithBudget(projectRoot: string, query: string, tokenBudget?: number, options?: BudgetedRetrievalOptions): Promise<BudgetedResult>;
|
|
67
80
|
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/memory/retrieval/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAGV,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAS7B,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAMnG
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/memory/retrieval/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAGV,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAS7B,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAMnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CAGnC;AA4XD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,SAAuB,EAClC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,cAAc,CAAC,CAKzB"}
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
* @epic T5149
|
|
10
10
|
*/
|
|
11
11
|
import { memoryFindHitNext } from '../../mvi-helpers.js';
|
|
12
|
+
import { captureProjectScope, worktreeScope } from '../../project-scope.js';
|
|
12
13
|
import { hybridSearch, searchBrain } from '../brain-search.js';
|
|
13
14
|
import { searchSimilar } from '../brain-similarity.js';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { logRetrieval } from './log-retrieval.js';
|
|
15
|
+
import { isCurrentMemoryEntry, memoryEligibilityClause } from '../eligibility.js';
|
|
16
|
+
import { scheduleCitationTracking, scheduleRetrievalTelemetry } from './telemetry.js';
|
|
17
17
|
// ============================================================================
|
|
18
18
|
// Layer 1: Compact Search
|
|
19
19
|
// ============================================================================
|
|
@@ -27,6 +27,11 @@ import { logRetrieval } from './log-retrieval.js';
|
|
|
27
27
|
* @param projectRoot - Project root directory
|
|
28
28
|
* @param params - Search parameters
|
|
29
29
|
* @returns Compact search results with token estimate
|
|
30
|
+
* @remarks Explicit project ownership and the inherited operation lifetime are
|
|
31
|
+
* captured before asynchronous reads. Optional citation and retrieval-log writes
|
|
32
|
+
* are registered before return so the existing background barrier can await them.
|
|
33
|
+
* Session attribution is resolved before scheduling. Telemetry remains best-effort;
|
|
34
|
+
* this result does not claim durable telemetry outcomes or complete runtime callers.
|
|
30
35
|
*
|
|
31
36
|
* @example
|
|
32
37
|
* ```ts
|
|
@@ -45,7 +50,67 @@ import { logRetrieval } from './log-retrieval.js';
|
|
|
45
50
|
* ```
|
|
46
51
|
*/
|
|
47
52
|
export async function searchBrainCompact(projectRoot, params) {
|
|
48
|
-
const
|
|
53
|
+
const scope = captureProjectScope(projectRoot, worktreeScope.getStore());
|
|
54
|
+
return worktreeScope.run(scope, () => searchBrainCompactScoped(scope.worktreeRoot, params));
|
|
55
|
+
}
|
|
56
|
+
async function searchBrainCompactScoped(projectRoot, params) {
|
|
57
|
+
if (params.agent && params.tables?.some((table) => table !== 'observations'))
|
|
58
|
+
throw new Error('Agent provenance filtering only supports observations');
|
|
59
|
+
const result = await searchBrainCompactCurrent(projectRoot, params);
|
|
60
|
+
if (params.includeHistory ||
|
|
61
|
+
params.agent ||
|
|
62
|
+
(params.tables && !params.tables.includes('decisions')) ||
|
|
63
|
+
!params.query.trim())
|
|
64
|
+
return result;
|
|
65
|
+
const historical = await searchBrain(projectRoot, params.query, {
|
|
66
|
+
tables: ['decisions'],
|
|
67
|
+
limit: Math.max(params.limit ?? 10, 10),
|
|
68
|
+
includeHistory: true,
|
|
69
|
+
peerId: params.peerId,
|
|
70
|
+
includeGlobal: params.includeGlobal,
|
|
71
|
+
});
|
|
72
|
+
const { getBrainAccessor } = await import('../../store/memory-accessor.js');
|
|
73
|
+
const accessor = await getBrainAccessor(projectRoot);
|
|
74
|
+
for (const match of historical.decisions) {
|
|
75
|
+
let decision = await accessor.getDecision(match.id);
|
|
76
|
+
const seen = new Set();
|
|
77
|
+
while (decision?.supersededBy && !seen.has(decision.id) && seen.size < 32) {
|
|
78
|
+
seen.add(decision.id);
|
|
79
|
+
decision = await accessor.getDecision(decision.supersededBy);
|
|
80
|
+
}
|
|
81
|
+
if (!decision || decision.id === match.id || !isCurrentMemoryEntry(decision))
|
|
82
|
+
continue;
|
|
83
|
+
if (params.peerId &&
|
|
84
|
+
decision.peerId !== params.peerId &&
|
|
85
|
+
!(params.includeGlobal !== false && decision.peerId === 'global'))
|
|
86
|
+
continue;
|
|
87
|
+
const date = decision.createdAt ?? '';
|
|
88
|
+
if ((params.since && date < params.since) ||
|
|
89
|
+
(params.dateStart && date < params.dateStart) ||
|
|
90
|
+
(params.dateEnd && date > params.dateEnd))
|
|
91
|
+
continue;
|
|
92
|
+
const existing = result.results.find((hit) => hit.id === decision.id && hit.type === 'decision');
|
|
93
|
+
if (existing) {
|
|
94
|
+
existing.matchedHistoricalIds = [...(existing.matchedHistoricalIds ?? []), match.id];
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
result.results.unshift({
|
|
98
|
+
id: decision.id,
|
|
99
|
+
type: 'decision',
|
|
100
|
+
title: decision.decision.slice(0, 80),
|
|
101
|
+
date,
|
|
102
|
+
matchedHistoricalIds: [match.id],
|
|
103
|
+
_next: memoryFindHitNext(decision.id),
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
result.results = result.results.slice(0, params.limit ?? 10);
|
|
108
|
+
result.total = result.results.length;
|
|
109
|
+
result.tokensEstimated = result.total * 50;
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
async function searchBrainCompactCurrent(projectRoot, params) {
|
|
113
|
+
const { query, limit, tables, dateStart, dateEnd, agent, useRRF = true, peerId, includeGlobal, mode, since, includeHistory = false, } = params;
|
|
49
114
|
if (!query?.trim()) {
|
|
50
115
|
return { results: [], total: 0, tokensEstimated: 0 };
|
|
51
116
|
}
|
|
@@ -61,41 +126,54 @@ export async function searchBrainCompact(projectRoot, params) {
|
|
|
61
126
|
return { results: [], total: 0, tokensEstimated: 0 };
|
|
62
127
|
}
|
|
63
128
|
// Determine which tables to query
|
|
64
|
-
const targetTables = tables && tables.length > 0
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const dateEndClause = dateEnd ? ` AND created_at <= '${dateEnd}'` : '';
|
|
68
|
-
const perTableLimit = effectiveLimit * 2;
|
|
129
|
+
const targetTables = tables && tables.length > 0
|
|
130
|
+
? tables
|
|
131
|
+
: ['observations', 'learnings', 'patterns', 'decisions'];
|
|
69
132
|
const results = [];
|
|
70
133
|
for (const table of targetTables) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
134
|
+
const titleColumn = table === 'decisions'
|
|
135
|
+
? 'decision'
|
|
136
|
+
: table === 'learnings'
|
|
137
|
+
? 'insight'
|
|
138
|
+
: table === 'patterns'
|
|
139
|
+
? 'pattern'
|
|
140
|
+
: 'title';
|
|
141
|
+
const dateColumn = table === 'patterns' ? 'extracted_at' : 'created_at';
|
|
142
|
+
const filters = [];
|
|
143
|
+
const values = [];
|
|
144
|
+
for (const lower of [since, dateStart]) {
|
|
145
|
+
if (lower) {
|
|
146
|
+
filters.push(`${dateColumn} >= ?`);
|
|
147
|
+
values.push(lower);
|
|
148
|
+
}
|
|
80
149
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
150
|
+
if (dateEnd) {
|
|
151
|
+
filters.push(`${dateColumn} <= ?`);
|
|
152
|
+
values.push(dateEnd);
|
|
84
153
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
});
|
|
154
|
+
const dates = filters.length ? ` AND ${filters.join(' AND ')}` : '';
|
|
155
|
+
const rows = nativeDb
|
|
156
|
+
.prepare(`SELECT id, ${titleColumn} AS title, ${dateColumn} AS created_at FROM main.brain_${table} WHERE 1=1${memoryEligibilityClause(table, undefined, includeHistory)}${dates} ORDER BY ${dateColumn} DESC LIMIT ?`)
|
|
157
|
+
.all(...values, effectiveLimit * 2);
|
|
158
|
+
for (const row of rows) {
|
|
159
|
+
if (typeof row.id !== 'string' ||
|
|
160
|
+
typeof row.title !== 'string' ||
|
|
161
|
+
typeof row.created_at !== 'string') {
|
|
162
|
+
throw new Error(`Invalid source row in brain_${table}`);
|
|
95
163
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
164
|
+
results.push({
|
|
165
|
+
id: row.id,
|
|
166
|
+
type: table === 'decisions'
|
|
167
|
+
? 'decision'
|
|
168
|
+
: table === 'patterns'
|
|
169
|
+
? 'pattern'
|
|
170
|
+
: table === 'learnings'
|
|
171
|
+
? 'learning'
|
|
172
|
+
: 'observation',
|
|
173
|
+
title: row.title.slice(0, 80),
|
|
174
|
+
date: row.created_at,
|
|
175
|
+
relevance: 0,
|
|
176
|
+
});
|
|
99
177
|
}
|
|
100
178
|
}
|
|
101
179
|
// Sort globally by date descending, then trim to limit
|
|
@@ -107,7 +185,8 @@ export async function searchBrainCompact(projectRoot, params) {
|
|
|
107
185
|
return { results: trimmed, total: trimmed.length, tokensEstimated: trimmed.length * 50 };
|
|
108
186
|
}
|
|
109
187
|
// ----- RRF path (default or mode=hybrid) -----
|
|
110
|
-
if (
|
|
188
|
+
if (!includeHistory &&
|
|
189
|
+
((useRRF && !agentFilter && mode !== 'lexical') || (mode === 'hybrid' && !agentFilter))) {
|
|
111
190
|
// Run FTS (for dates + table-level data) and RRF fusion in parallel.
|
|
112
191
|
// FTS gives us row-level dates; RRF gives us the fused ranking order.
|
|
113
192
|
const [ftsResult, rrfResults] = await Promise.all([
|
|
@@ -116,12 +195,7 @@ export async function searchBrainCompact(projectRoot, params) {
|
|
|
116
195
|
tables,
|
|
117
196
|
peerId,
|
|
118
197
|
includeGlobal,
|
|
119
|
-
})
|
|
120
|
-
decisions: [],
|
|
121
|
-
patterns: [],
|
|
122
|
-
learnings: [],
|
|
123
|
-
observations: [],
|
|
124
|
-
})),
|
|
198
|
+
}),
|
|
125
199
|
hybridSearch(query, projectRoot, { limit: effectiveLimit * 2 }),
|
|
126
200
|
]);
|
|
127
201
|
// Build a date map from FTS rows (id -> date string)
|
|
@@ -192,14 +266,7 @@ export async function searchBrainCompact(projectRoot, params) {
|
|
|
192
266
|
}
|
|
193
267
|
if (results.length > 0) {
|
|
194
268
|
const returnedIds = results.map((r) => r.id);
|
|
195
|
-
|
|
196
|
-
incrementCitationCounts(projectRoot, returnedIds).catch(() => { });
|
|
197
|
-
getCurrentSessionId(projectRoot)
|
|
198
|
-
.then((sessionId) => {
|
|
199
|
-
return logRetrieval(projectRoot, query, returnedIds, 'find-rrf', results.length * 50, sessionId);
|
|
200
|
-
})
|
|
201
|
-
.catch(() => { });
|
|
202
|
-
});
|
|
269
|
+
await scheduleRetrievalTelemetry(projectRoot, query, returnedIds, 'find-rrf', results.length * 50);
|
|
203
270
|
}
|
|
204
271
|
return { results, total: results.length, tokensEstimated: results.length * 50 };
|
|
205
272
|
}
|
|
@@ -212,6 +279,7 @@ export async function searchBrainCompact(projectRoot, params) {
|
|
|
212
279
|
tables: effectiveTables,
|
|
213
280
|
peerId,
|
|
214
281
|
includeGlobal,
|
|
282
|
+
includeHistory,
|
|
215
283
|
});
|
|
216
284
|
// Project full results to compact format.
|
|
217
285
|
// Note: searchBrain() returns rows from raw SQL (nativeDb) which use
|
|
@@ -276,14 +344,7 @@ export async function searchBrainCompact(projectRoot, params) {
|
|
|
276
344
|
// Citation tracking + retrieval logging (non-blocking)
|
|
277
345
|
if (results.length > 0) {
|
|
278
346
|
const returnedIds = results.map((r) => r.id);
|
|
279
|
-
|
|
280
|
-
incrementCitationCounts(projectRoot, returnedIds).catch(() => { });
|
|
281
|
-
getCurrentSessionId(projectRoot)
|
|
282
|
-
.then((sessionId) => {
|
|
283
|
-
return logRetrieval(projectRoot, query, returnedIds, 'find', results.length * 50, sessionId);
|
|
284
|
-
})
|
|
285
|
-
.catch(() => { });
|
|
286
|
-
});
|
|
347
|
+
await scheduleRetrievalTelemetry(projectRoot, query, returnedIds, 'find', results.length * 50);
|
|
287
348
|
}
|
|
288
349
|
return {
|
|
289
350
|
results,
|
|
@@ -313,15 +374,27 @@ const DEFAULT_TOKEN_BUDGET = 500;
|
|
|
313
374
|
* - Walk list, accumulate token cost (≈ textLen/4), stop at budget.
|
|
314
375
|
* - Episodic entries dropped first when budget is tight.
|
|
315
376
|
*
|
|
316
|
-
* Citation tracking
|
|
377
|
+
* Citation tracking uses the existing background lifecycle barrier.
|
|
317
378
|
*
|
|
318
379
|
* @param projectRoot - Project root directory
|
|
319
380
|
* @param query - Text to search for
|
|
320
381
|
* @param tokenBudget - Maximum tokens to spend on results (default 500)
|
|
321
382
|
* @param options - Optional filters (types, tiers, verified)
|
|
322
383
|
* @returns Retrieved entries within budget with token accounting
|
|
384
|
+
* @remarks Explicit project scope and inherited execution are captured before
|
|
385
|
+
* reads. Citation writes retain that original deadline and cancellation; no new
|
|
386
|
+
* maintenance budget is created. Underlying telemetry remains best-effort and is
|
|
387
|
+
* not represented as a durable receipt in this result.
|
|
388
|
+
* @example
|
|
389
|
+
* ```ts
|
|
390
|
+
* const result = await retrieveWithBudget(projectRoot, 'authentication', 500);
|
|
391
|
+
* ```
|
|
323
392
|
*/
|
|
324
393
|
export async function retrieveWithBudget(projectRoot, query, tokenBudget = DEFAULT_TOKEN_BUDGET, options) {
|
|
394
|
+
const scope = captureProjectScope(projectRoot, worktreeScope.getStore());
|
|
395
|
+
return worktreeScope.run(scope, () => retrieveWithBudgetScoped(scope.worktreeRoot, query, tokenBudget, options));
|
|
396
|
+
}
|
|
397
|
+
async function retrieveWithBudgetScoped(projectRoot, query, tokenBudget, options) {
|
|
325
398
|
if (!query?.trim()) {
|
|
326
399
|
return { entries: [], tokensUsed: 0, tokensRemaining: tokenBudget, excluded: 0 };
|
|
327
400
|
}
|
|
@@ -330,12 +403,7 @@ export async function retrieveWithBudget(projectRoot, query, tokenBudget = DEFAU
|
|
|
330
403
|
// -------------------------------------------------------------------------
|
|
331
404
|
const [ftsResult, vecResults, graphNeighbors] = await Promise.all([
|
|
332
405
|
// A. FTS5
|
|
333
|
-
searchBrain(projectRoot, query, { limit: 30 })
|
|
334
|
-
decisions: [],
|
|
335
|
-
patterns: [],
|
|
336
|
-
learnings: [],
|
|
337
|
-
observations: [],
|
|
338
|
-
})),
|
|
406
|
+
searchBrain(projectRoot, query, { limit: 30 }),
|
|
339
407
|
// B. Vector KNN (degrades gracefully when unavailable)
|
|
340
408
|
searchSimilar(query, projectRoot, 20).catch(() => []),
|
|
341
409
|
// C. Graph neighbors from top FTS hit
|
|
@@ -550,11 +618,7 @@ export async function retrieveWithBudget(projectRoot, query, tokenBudget = DEFAU
|
|
|
550
618
|
// -------------------------------------------------------------------------
|
|
551
619
|
if (result.length > 0) {
|
|
552
620
|
const returnedIds = result.map((e) => e.id);
|
|
553
|
-
|
|
554
|
-
incrementCitationCounts(projectRoot, returnedIds).catch(() => {
|
|
555
|
-
/* best-effort */
|
|
556
|
-
});
|
|
557
|
-
});
|
|
621
|
+
scheduleCitationTracking(projectRoot, returnedIds);
|
|
558
622
|
}
|
|
559
623
|
return {
|
|
560
624
|
entries: result,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/memory/retrieval/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/memory/retrieval/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Register optional citation writes within the caller's captured ownership.
|
|
3
|
+
* @param projectRoot - Explicit owning project root.
|
|
4
|
+
* @param entryIds - Returned evidence identities copied before scheduling.
|
|
5
|
+
* @returns No durable receipt; the existing background barrier observes completion.
|
|
6
|
+
* @remarks Reuses the inherited execution deadline and cancellation without a new
|
|
7
|
+
* budget or queue. Underlying citation failures remain best-effort.
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* scheduleCitationTracking(projectRoot, ['O-example']);
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function scheduleCitationTracking(projectRoot: string, entryIds: string[]): void;
|
|
14
|
+
/**
|
|
15
|
+
* Capture attribution, then independently register citations and a retrieval log.
|
|
16
|
+
* @param projectRoot - Explicit owning project root.
|
|
17
|
+
* @param query - Original search query or exact fetched identity list.
|
|
18
|
+
* @param entryIds - Returned evidence identities copied before asynchronous work.
|
|
19
|
+
* @param source - Existing retrieval path label retained in the log.
|
|
20
|
+
* @param tokensUsed - Existing estimated token count, without recalculating policy.
|
|
21
|
+
* @returns Completion of session capture and scheduling, not a durable telemetry receipt.
|
|
22
|
+
* @remarks Both writers retain the original operation lifetime. A failed sibling
|
|
23
|
+
* cannot release the barrier over pending work. No global session is resolved
|
|
24
|
+
* after scheduling; underlying telemetry failures remain best-effort.
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* await scheduleRetrievalTelemetry(projectRoot, 'auth', ['O-example'], 'find', 50);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function scheduleRetrievalTelemetry(projectRoot: string, query: string, entryIds: string[], source: string, tokensUsed: number): Promise<void>;
|
|
31
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../src/memory/retrieval/telemetry.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAOtF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional retrieval telemetry registered with the existing operation lifecycle.
|
|
3
|
+
* Code placed in `packages/core/` per Package-Boundary Check — verified against AGENTS.md.
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import { captureProjectScope, worktreeScope } from '../../project-scope.js';
|
|
7
|
+
import { trackBackgroundOp } from '../../store/background-ops.js';
|
|
8
|
+
import { getCurrentSessionId } from './get-current-session-id.js';
|
|
9
|
+
import { incrementCitationCounts } from './increment-citation-counts.js';
|
|
10
|
+
import { logRetrieval } from './log-retrieval.js';
|
|
11
|
+
/**
|
|
12
|
+
* Register optional citation writes within the caller's captured ownership.
|
|
13
|
+
* @param projectRoot - Explicit owning project root.
|
|
14
|
+
* @param entryIds - Returned evidence identities copied before scheduling.
|
|
15
|
+
* @returns No durable receipt; the existing background barrier observes completion.
|
|
16
|
+
* @remarks Reuses the inherited execution deadline and cancellation without a new
|
|
17
|
+
* budget or queue. Underlying citation failures remain best-effort.
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* scheduleCitationTracking(projectRoot, ['O-example']);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export function scheduleCitationTracking(projectRoot, entryIds) {
|
|
24
|
+
const scope = captureProjectScope(projectRoot, worktreeScope.getStore());
|
|
25
|
+
const ids = [...entryIds];
|
|
26
|
+
trackBackgroundOp(() => worktreeScope.run(scope, () => incrementCitationCounts(scope.worktreeRoot, ids)), scope.execution);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Capture attribution, then independently register citations and a retrieval log.
|
|
30
|
+
* @param projectRoot - Explicit owning project root.
|
|
31
|
+
* @param query - Original search query or exact fetched identity list.
|
|
32
|
+
* @param entryIds - Returned evidence identities copied before asynchronous work.
|
|
33
|
+
* @param source - Existing retrieval path label retained in the log.
|
|
34
|
+
* @param tokensUsed - Existing estimated token count, without recalculating policy.
|
|
35
|
+
* @returns Completion of session capture and scheduling, not a durable telemetry receipt.
|
|
36
|
+
* @remarks Both writers retain the original operation lifetime. A failed sibling
|
|
37
|
+
* cannot release the barrier over pending work. No global session is resolved
|
|
38
|
+
* after scheduling; underlying telemetry failures remain best-effort.
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* await scheduleRetrievalTelemetry(projectRoot, 'auth', ['O-example'], 'find', 50);
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export async function scheduleRetrievalTelemetry(projectRoot, query, entryIds, source, tokensUsed) {
|
|
45
|
+
const scope = captureProjectScope(projectRoot, worktreeScope.getStore());
|
|
46
|
+
const ids = [...entryIds];
|
|
47
|
+
return worktreeScope.run(scope, async () => {
|
|
48
|
+
const sessionId = await getCurrentSessionId(scope.worktreeRoot);
|
|
49
|
+
scheduleCitationTracking(scope.worktreeRoot, ids);
|
|
50
|
+
trackBackgroundOp(() => worktreeScope.run(scope, () => logRetrieval(scope.worktreeRoot, query, ids, source, tokensUsed, sessionId)), scope.execution);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../../src/memory/retrieval/telemetry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB,EAAE,QAAkB;IAC9E,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,iBAAiB,CACf,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,EACtF,KAAK,CAAC,SAAS,CAChB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,WAAmB,EACnB,KAAa,EACb,QAAkB,EAClB,MAAc,EACd,UAAkB;IAElB,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChE,wBAAwB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAClD,iBAAiB,CACf,GAAG,EAAE,CACH,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAC5B,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAC5E,EACH,KAAK,CAAC,SAAS,CAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,23 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Nexus analyze orchestrator — business logic extracted from `cleo nexus analyze`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Stages a replacement code graph and publishes it atomically,
|
|
5
5
|
* refreshes the nexus-bridge, updates the multi-project registry, and sweeps
|
|
6
|
-
* the git log for task–symbol links.
|
|
7
|
-
* not fail the pipeline on error.
|
|
6
|
+
* the git log for task–symbol links. Post-publication hooks are best-effort.
|
|
8
7
|
*
|
|
9
8
|
* @module nexus/analyze-orchestrator
|
|
10
9
|
* @epic T9833
|
|
11
10
|
* @task T10062
|
|
12
11
|
*/
|
|
12
|
+
import type { GraphIndexAssessment, GraphPublicationRows, ParserExecutionLimits } from '@cleocode/contracts';
|
|
13
|
+
import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
|
|
14
|
+
/**
|
|
15
|
+
* Atomically publish staged rows if the graph has not changed since assessment.
|
|
16
|
+
* Failed inserts, FTS repair, or stale generations roll back the entire replacement.
|
|
17
|
+
* Code placed in `packages/core/` per Package-Boundary Check — verified against AGENTS.md.
|
|
18
|
+
* @param db - Owning project graph database with the canonical schema installed.
|
|
19
|
+
* @param rows - Validated staged nodes, relations and source assessment to publish.
|
|
20
|
+
* @param expectedGeneration - Previously observed generation; null for the first publication.
|
|
21
|
+
* @remarks The transaction rejects stale generation preconditions and restores the
|
|
22
|
+
* prior live rows on failure. Successful replacement does not itself retain an
|
|
23
|
+
* independently recoverable historical generation.
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* publishNexusGraph(db, stagedRows, expectedGeneration);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function publishNexusGraph(db: NodeSQLiteDatabase, rows: GraphPublicationRows, expectedGeneration: string | null): void;
|
|
13
30
|
/** Parameters for {@link runNexusAnalysis}. */
|
|
14
31
|
export interface NexusAnalysisParams {
|
|
32
|
+
/** Per-file parser bounds and cancellation; native RSS containment is unverified. */
|
|
33
|
+
parserLimits?: ParserExecutionLimits;
|
|
15
34
|
/** Absolute path to the repository to analyze. */
|
|
16
35
|
repoPath: string;
|
|
17
|
-
/**
|
|
36
|
+
/** Stable identity parent; defaults to repoPath and can differ from the analyzed source. */
|
|
37
|
+
projectRoot?: string;
|
|
38
|
+
/** Explicit existing identity override; otherwise require persisted parent identity. */
|
|
18
39
|
projectIdOverride?: string;
|
|
19
|
-
/** When true,
|
|
40
|
+
/** When true, skip unchanged indexes and atomically rebuild changed generations. */
|
|
20
41
|
incremental?: boolean;
|
|
42
|
+
/** Explicit relative paths of nested repositories authorized for source inclusion. */
|
|
43
|
+
includedRepositories?: readonly string[];
|
|
21
44
|
/**
|
|
22
45
|
* Progress callback invoked every 50 files (and on completion).
|
|
23
46
|
* Omit for JSON output mode.
|
|
@@ -33,21 +56,30 @@ export interface NexusAnalysisResult {
|
|
|
33
56
|
relationCount: number;
|
|
34
57
|
fileCount: number;
|
|
35
58
|
durationMs: number;
|
|
59
|
+
/** Committed per-file outcomes and source provenance. */
|
|
60
|
+
assessment: GraphIndexAssessment | null;
|
|
36
61
|
}
|
|
37
62
|
/**
|
|
38
63
|
* Run the nexus code-intelligence pipeline on a repository.
|
|
39
64
|
*
|
|
40
65
|
* This function:
|
|
41
|
-
* 1.
|
|
42
|
-
* 2.
|
|
43
|
-
* 3.
|
|
66
|
+
* 1. Captures the existing parent identity and explicit source roots.
|
|
67
|
+
* 2. Captures the current graph generation for concurrent-write detection.
|
|
68
|
+
* 3. Stages and atomically publishes the `@cleocode/nexus` pipeline output.
|
|
44
69
|
* 4. Best-effort: refreshes `nexus-bridge.md`.
|
|
45
70
|
* 5. Best-effort: updates the multi-project registry.
|
|
46
71
|
* 6. Best-effort: sweeps the git log for task–symbol links.
|
|
47
72
|
*
|
|
48
73
|
* @param params - Analysis configuration
|
|
49
74
|
* @returns Pipeline result with node/relation/file counts and duration
|
|
50
|
-
* @throws {Error} When
|
|
75
|
+
* @throws {Error} When identity, source preconditions or the pipeline fail.
|
|
76
|
+
* @remarks Root revisions and file hashes are optimistic preconditions, not a
|
|
77
|
+
* filesystem lock. Publication uses the owning store's synchronous generation CAS;
|
|
78
|
+
* optional post-publication hooks cannot replace its committed result.
|
|
79
|
+
* @example
|
|
80
|
+
* ```ts
|
|
81
|
+
* const result = await runNexusAnalysis({ repoPath: '/identity', includedRepositories: ['app'] });
|
|
82
|
+
* ```
|
|
51
83
|
*/
|
|
52
84
|
export declare function runNexusAnalysis(params: NexusAnalysisParams): Promise<NexusAnalysisResult>;
|
|
53
85
|
//# sourceMappingURL=analyze-orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-orchestrator.d.ts","sourceRoot":"","sources":["../../src/nexus/analyze-orchestrator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"analyze-orchestrator.d.ts","sourceRoot":"","sources":["../../src/nexus/analyze-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EACV,oBAAoB,EAEpB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA6FlE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,oBAAoB,EAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,IAAI,CAgEN;AAMD,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oFAAoF;IACpF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACzC;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgBhG"}
|