@soleri/core 2.4.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/brain/brain.d.ts +7 -0
- package/dist/brain/brain.d.ts.map +1 -1
- package/dist/brain/brain.js +56 -9
- package/dist/brain/brain.js.map +1 -1
- package/dist/brain/intelligence.d.ts +1 -0
- package/dist/brain/intelligence.d.ts.map +1 -1
- package/dist/brain/intelligence.js +164 -148
- package/dist/brain/intelligence.js.map +1 -1
- package/dist/brain/types.d.ts +2 -2
- package/dist/brain/types.d.ts.map +1 -1
- package/dist/cognee/client.d.ts +3 -0
- package/dist/cognee/client.d.ts.map +1 -1
- package/dist/cognee/client.js +17 -0
- package/dist/cognee/client.js.map +1 -1
- package/dist/cognee/sync-manager.d.ts +94 -0
- package/dist/cognee/sync-manager.d.ts.map +1 -0
- package/dist/cognee/sync-manager.js +293 -0
- package/dist/cognee/sync-manager.js.map +1 -0
- package/dist/control/identity-manager.d.ts +3 -1
- package/dist/control/identity-manager.d.ts.map +1 -1
- package/dist/control/identity-manager.js +49 -51
- package/dist/control/identity-manager.js.map +1 -1
- package/dist/control/intent-router.d.ts +1 -0
- package/dist/control/intent-router.d.ts.map +1 -1
- package/dist/control/intent-router.js +32 -32
- package/dist/control/intent-router.js.map +1 -1
- package/dist/curator/curator.d.ts +9 -1
- package/dist/curator/curator.d.ts.map +1 -1
- package/dist/curator/curator.js +104 -92
- package/dist/curator/curator.js.map +1 -1
- package/dist/errors/classify.d.ts +13 -0
- package/dist/errors/classify.d.ts.map +1 -0
- package/dist/errors/classify.js +97 -0
- package/dist/errors/classify.js.map +1 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +4 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/retry.d.ts +40 -0
- package/dist/errors/retry.d.ts.map +1 -0
- package/dist/errors/retry.js +97 -0
- package/dist/errors/retry.js.map +1 -0
- package/dist/errors/types.d.ts +48 -0
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +59 -0
- package/dist/errors/types.js.map +1 -0
- package/dist/governance/governance.d.ts +1 -0
- package/dist/governance/governance.d.ts.map +1 -1
- package/dist/governance/governance.js +51 -68
- package/dist/governance/governance.js.map +1 -1
- package/dist/index.d.ts +26 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -3
- package/dist/index.js.map +1 -1
- package/dist/intake/content-classifier.d.ts +14 -0
- package/dist/intake/content-classifier.d.ts.map +1 -0
- package/dist/intake/content-classifier.js +125 -0
- package/dist/intake/content-classifier.js.map +1 -0
- package/dist/intake/dedup-gate.d.ts +17 -0
- package/dist/intake/dedup-gate.d.ts.map +1 -0
- package/dist/intake/dedup-gate.js +66 -0
- package/dist/intake/dedup-gate.js.map +1 -0
- package/dist/intake/intake-pipeline.d.ts +63 -0
- package/dist/intake/intake-pipeline.d.ts.map +1 -0
- package/dist/intake/intake-pipeline.js +373 -0
- package/dist/intake/intake-pipeline.js.map +1 -0
- package/dist/intake/types.d.ts +65 -0
- package/dist/intake/types.d.ts.map +1 -0
- package/dist/intake/types.js +3 -0
- package/dist/intake/types.js.map +1 -0
- package/dist/intelligence/loader.js +1 -1
- package/dist/intelligence/loader.js.map +1 -1
- package/dist/intelligence/types.d.ts +3 -1
- package/dist/intelligence/types.d.ts.map +1 -1
- package/dist/loop/loop-manager.d.ts +58 -7
- package/dist/loop/loop-manager.d.ts.map +1 -1
- package/dist/loop/loop-manager.js +280 -6
- package/dist/loop/loop-manager.js.map +1 -1
- package/dist/loop/types.d.ts +69 -1
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/types.js +4 -1
- package/dist/loop/types.js.map +1 -1
- package/dist/persistence/index.d.ts +4 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +3 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/postgres-provider.d.ts +46 -0
- package/dist/persistence/postgres-provider.d.ts.map +1 -0
- package/dist/persistence/postgres-provider.js +115 -0
- package/dist/persistence/postgres-provider.js.map +1 -0
- package/dist/persistence/sqlite-provider.d.ts +28 -0
- package/dist/persistence/sqlite-provider.d.ts.map +1 -0
- package/dist/persistence/sqlite-provider.js +97 -0
- package/dist/persistence/sqlite-provider.js.map +1 -0
- package/dist/persistence/types.d.ts +58 -0
- package/dist/persistence/types.d.ts.map +1 -0
- package/dist/persistence/types.js +8 -0
- package/dist/persistence/types.js.map +1 -0
- package/dist/planning/gap-analysis.d.ts +47 -4
- package/dist/planning/gap-analysis.d.ts.map +1 -1
- package/dist/planning/gap-analysis.js +190 -13
- package/dist/planning/gap-analysis.js.map +1 -1
- package/dist/planning/gap-types.d.ts +1 -1
- package/dist/planning/gap-types.d.ts.map +1 -1
- package/dist/planning/gap-types.js.map +1 -1
- package/dist/planning/planner.d.ts +277 -9
- package/dist/planning/planner.d.ts.map +1 -1
- package/dist/planning/planner.js +611 -46
- package/dist/planning/planner.js.map +1 -1
- package/dist/playbooks/generic/brainstorming.d.ts +9 -0
- package/dist/playbooks/generic/brainstorming.d.ts.map +1 -0
- package/dist/playbooks/generic/brainstorming.js +105 -0
- package/dist/playbooks/generic/brainstorming.js.map +1 -0
- package/dist/playbooks/generic/code-review.d.ts +11 -0
- package/dist/playbooks/generic/code-review.d.ts.map +1 -0
- package/dist/playbooks/generic/code-review.js +176 -0
- package/dist/playbooks/generic/code-review.js.map +1 -0
- package/dist/playbooks/generic/subagent-execution.d.ts +9 -0
- package/dist/playbooks/generic/subagent-execution.d.ts.map +1 -0
- package/dist/playbooks/generic/subagent-execution.js +68 -0
- package/dist/playbooks/generic/subagent-execution.js.map +1 -0
- package/dist/playbooks/generic/systematic-debugging.d.ts +9 -0
- package/dist/playbooks/generic/systematic-debugging.d.ts.map +1 -0
- package/dist/playbooks/generic/systematic-debugging.js +87 -0
- package/dist/playbooks/generic/systematic-debugging.js.map +1 -0
- package/dist/playbooks/generic/tdd.d.ts +9 -0
- package/dist/playbooks/generic/tdd.d.ts.map +1 -0
- package/dist/playbooks/generic/tdd.js +70 -0
- package/dist/playbooks/generic/tdd.js.map +1 -0
- package/dist/playbooks/generic/verification.d.ts +9 -0
- package/dist/playbooks/generic/verification.d.ts.map +1 -0
- package/dist/playbooks/generic/verification.js +74 -0
- package/dist/playbooks/generic/verification.js.map +1 -0
- package/dist/playbooks/index.d.ts +4 -0
- package/dist/playbooks/index.d.ts.map +1 -0
- package/dist/playbooks/index.js +5 -0
- package/dist/playbooks/index.js.map +1 -0
- package/dist/playbooks/playbook-registry.d.ts +42 -0
- package/dist/playbooks/playbook-registry.d.ts.map +1 -0
- package/dist/playbooks/playbook-registry.js +227 -0
- package/dist/playbooks/playbook-registry.js.map +1 -0
- package/dist/playbooks/playbook-seeder.d.ts +47 -0
- package/dist/playbooks/playbook-seeder.d.ts.map +1 -0
- package/dist/playbooks/playbook-seeder.js +104 -0
- package/dist/playbooks/playbook-seeder.js.map +1 -0
- package/dist/playbooks/playbook-types.d.ts +132 -0
- package/dist/playbooks/playbook-types.d.ts.map +1 -0
- package/dist/playbooks/playbook-types.js +12 -0
- package/dist/playbooks/playbook-types.js.map +1 -0
- package/dist/project/project-registry.d.ts +4 -4
- package/dist/project/project-registry.d.ts.map +1 -1
- package/dist/project/project-registry.js +30 -57
- package/dist/project/project-registry.js.map +1 -1
- package/dist/prompts/index.d.ts +4 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +3 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/parser.d.ts +17 -0
- package/dist/prompts/parser.d.ts.map +1 -0
- package/dist/prompts/parser.js +47 -0
- package/dist/prompts/parser.js.map +1 -0
- package/dist/prompts/template-manager.d.ts +25 -0
- package/dist/prompts/template-manager.d.ts.map +1 -0
- package/dist/prompts/template-manager.js +71 -0
- package/dist/prompts/template-manager.js.map +1 -0
- package/dist/prompts/types.d.ts +26 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +5 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/runtime/admin-extra-ops.d.ts +5 -3
- package/dist/runtime/admin-extra-ops.d.ts.map +1 -1
- package/dist/runtime/admin-extra-ops.js +348 -11
- package/dist/runtime/admin-extra-ops.js.map +1 -1
- package/dist/runtime/admin-ops.d.ts.map +1 -1
- package/dist/runtime/admin-ops.js +10 -3
- package/dist/runtime/admin-ops.js.map +1 -1
- package/dist/runtime/capture-ops.d.ts.map +1 -1
- package/dist/runtime/capture-ops.js +20 -2
- package/dist/runtime/capture-ops.js.map +1 -1
- package/dist/runtime/cognee-sync-ops.d.ts +12 -0
- package/dist/runtime/cognee-sync-ops.d.ts.map +1 -0
- package/dist/runtime/cognee-sync-ops.js +55 -0
- package/dist/runtime/cognee-sync-ops.js.map +1 -0
- package/dist/runtime/core-ops.d.ts +8 -6
- package/dist/runtime/core-ops.d.ts.map +1 -1
- package/dist/runtime/core-ops.js +226 -9
- package/dist/runtime/core-ops.js.map +1 -1
- package/dist/runtime/curator-extra-ops.d.ts +2 -2
- package/dist/runtime/curator-extra-ops.d.ts.map +1 -1
- package/dist/runtime/curator-extra-ops.js +15 -3
- package/dist/runtime/curator-extra-ops.js.map +1 -1
- package/dist/runtime/domain-ops.js +2 -2
- package/dist/runtime/domain-ops.js.map +1 -1
- package/dist/runtime/grading-ops.d.ts.map +1 -1
- package/dist/runtime/grading-ops.js.map +1 -1
- package/dist/runtime/intake-ops.d.ts +14 -0
- package/dist/runtime/intake-ops.d.ts.map +1 -0
- package/dist/runtime/intake-ops.js +110 -0
- package/dist/runtime/intake-ops.js.map +1 -0
- package/dist/runtime/loop-ops.d.ts +5 -4
- package/dist/runtime/loop-ops.d.ts.map +1 -1
- package/dist/runtime/loop-ops.js +84 -12
- package/dist/runtime/loop-ops.js.map +1 -1
- package/dist/runtime/memory-cross-project-ops.d.ts.map +1 -1
- package/dist/runtime/memory-cross-project-ops.js.map +1 -1
- package/dist/runtime/memory-extra-ops.js +5 -5
- package/dist/runtime/memory-extra-ops.js.map +1 -1
- package/dist/runtime/orchestrate-ops.d.ts.map +1 -1
- package/dist/runtime/orchestrate-ops.js +8 -2
- package/dist/runtime/orchestrate-ops.js.map +1 -1
- package/dist/runtime/planning-extra-ops.d.ts +13 -5
- package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
- package/dist/runtime/planning-extra-ops.js +381 -18
- package/dist/runtime/planning-extra-ops.js.map +1 -1
- package/dist/runtime/playbook-ops.d.ts +14 -0
- package/dist/runtime/playbook-ops.d.ts.map +1 -0
- package/dist/runtime/playbook-ops.js +141 -0
- package/dist/runtime/playbook-ops.js.map +1 -0
- package/dist/runtime/project-ops.d.ts.map +1 -1
- package/dist/runtime/project-ops.js +7 -2
- package/dist/runtime/project-ops.js.map +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +28 -9
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/types.d.ts +8 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/vault-extra-ops.d.ts +4 -2
- package/dist/runtime/vault-extra-ops.d.ts.map +1 -1
- package/dist/runtime/vault-extra-ops.js +383 -4
- package/dist/runtime/vault-extra-ops.js.map +1 -1
- package/dist/vault/playbook.d.ts +34 -0
- package/dist/vault/playbook.d.ts.map +1 -0
- package/dist/vault/playbook.js +60 -0
- package/dist/vault/playbook.js.map +1 -0
- package/dist/vault/vault.d.ts +52 -32
- package/dist/vault/vault.d.ts.map +1 -1
- package/dist/vault/vault.js +300 -181
- package/dist/vault/vault.js.map +1 -1
- package/package.json +9 -3
- package/src/__tests__/admin-extra-ops.test.ts +62 -15
- package/src/__tests__/admin-ops.test.ts +2 -2
- package/src/__tests__/brain.test.ts +3 -3
- package/src/__tests__/cognee-integration.test.ts +80 -0
- package/src/__tests__/cognee-sync-manager.test.ts +103 -0
- package/src/__tests__/core-ops.test.ts +36 -4
- package/src/__tests__/curator-extra-ops.test.ts +24 -2
- package/src/__tests__/errors.test.ts +388 -0
- package/src/__tests__/grading-ops.test.ts +28 -7
- package/src/__tests__/intake-pipeline.test.ts +162 -0
- package/src/__tests__/loop-ops.test.ts +74 -3
- package/src/__tests__/memory-cross-project-ops.test.ts +3 -1
- package/src/__tests__/orchestrate-ops.test.ts +8 -3
- package/src/__tests__/persistence.test.ts +291 -0
- package/src/__tests__/planner.test.ts +99 -21
- package/src/__tests__/planning-extra-ops.test.ts +168 -10
- package/src/__tests__/playbook-registry.test.ts +326 -0
- package/src/__tests__/playbook-seeder.test.ts +163 -0
- package/src/__tests__/playbook.test.ts +389 -0
- package/src/__tests__/postgres-provider.test.ts +58 -0
- package/src/__tests__/project-ops.test.ts +18 -4
- package/src/__tests__/template-manager.test.ts +222 -0
- package/src/__tests__/vault-extra-ops.test.ts +82 -7
- package/src/__tests__/vault.test.ts +184 -0
- package/src/brain/brain.ts +71 -9
- package/src/brain/intelligence.ts +258 -307
- package/src/brain/types.ts +2 -2
- package/src/cognee/client.ts +18 -0
- package/src/cognee/sync-manager.ts +389 -0
- package/src/control/identity-manager.ts +77 -75
- package/src/control/intent-router.ts +55 -57
- package/src/curator/curator.ts +199 -139
- package/src/errors/classify.ts +102 -0
- package/src/errors/index.ts +5 -0
- package/src/errors/retry.ts +132 -0
- package/src/errors/types.ts +81 -0
- package/src/governance/governance.ts +90 -107
- package/src/index.ts +116 -3
- package/src/intake/content-classifier.ts +146 -0
- package/src/intake/dedup-gate.ts +92 -0
- package/src/intake/intake-pipeline.ts +503 -0
- package/src/intake/types.ts +69 -0
- package/src/intelligence/loader.ts +1 -1
- package/src/intelligence/types.ts +3 -1
- package/src/loop/loop-manager.ts +325 -7
- package/src/loop/types.ts +72 -1
- package/src/persistence/index.ts +9 -0
- package/src/persistence/postgres-provider.ts +157 -0
- package/src/persistence/sqlite-provider.ts +115 -0
- package/src/persistence/types.ts +74 -0
- package/src/planning/gap-analysis.ts +286 -17
- package/src/planning/gap-types.ts +4 -1
- package/src/planning/planner.ts +828 -55
- package/src/playbooks/generic/brainstorming.ts +110 -0
- package/src/playbooks/generic/code-review.ts +181 -0
- package/src/playbooks/generic/subagent-execution.ts +74 -0
- package/src/playbooks/generic/systematic-debugging.ts +92 -0
- package/src/playbooks/generic/tdd.ts +75 -0
- package/src/playbooks/generic/verification.ts +79 -0
- package/src/playbooks/index.ts +27 -0
- package/src/playbooks/playbook-registry.ts +284 -0
- package/src/playbooks/playbook-seeder.ts +119 -0
- package/src/playbooks/playbook-types.ts +162 -0
- package/src/project/project-registry.ts +81 -74
- package/src/prompts/index.ts +3 -0
- package/src/prompts/parser.ts +59 -0
- package/src/prompts/template-manager.ts +77 -0
- package/src/prompts/types.ts +28 -0
- package/src/runtime/admin-extra-ops.ts +391 -13
- package/src/runtime/admin-ops.ts +17 -6
- package/src/runtime/capture-ops.ts +25 -6
- package/src/runtime/cognee-sync-ops.ts +63 -0
- package/src/runtime/core-ops.ts +258 -8
- package/src/runtime/curator-extra-ops.ts +17 -3
- package/src/runtime/domain-ops.ts +2 -2
- package/src/runtime/grading-ops.ts +11 -2
- package/src/runtime/intake-ops.ts +126 -0
- package/src/runtime/loop-ops.ts +96 -13
- package/src/runtime/memory-cross-project-ops.ts +1 -2
- package/src/runtime/memory-extra-ops.ts +5 -5
- package/src/runtime/orchestrate-ops.ts +8 -2
- package/src/runtime/planning-extra-ops.ts +414 -23
- package/src/runtime/playbook-ops.ts +169 -0
- package/src/runtime/project-ops.ts +9 -3
- package/src/runtime/runtime.ts +36 -10
- package/src/runtime/types.ts +8 -0
- package/src/runtime/vault-extra-ops.ts +425 -4
- package/src/vault/playbook.ts +87 -0
- package/src/vault/vault.ts +419 -235
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/intelligence/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,yCAAyC,GAAG,OAAO,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAAE,SAAS;YAChE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,aAAa,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAwB;IAC7C,OAAO,CACL,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/intelligence/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,yCAAyC,GAAG,OAAO,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAAE,SAAS;YAChE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,aAAa,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAwB;IAC7C,OAAO,CACL,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACpE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACtB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export interface IntelligenceEntry {
|
|
2
2
|
id: string;
|
|
3
|
-
type: 'pattern' | 'anti-pattern' | 'rule';
|
|
3
|
+
type: 'pattern' | 'anti-pattern' | 'rule' | 'playbook';
|
|
4
4
|
domain: string;
|
|
5
5
|
title: string;
|
|
6
6
|
severity: 'critical' | 'warning' | 'suggestion';
|
|
@@ -11,6 +11,8 @@ export interface IntelligenceEntry {
|
|
|
11
11
|
why?: string;
|
|
12
12
|
tags: string[];
|
|
13
13
|
appliesTo?: string[];
|
|
14
|
+
validFrom?: number;
|
|
15
|
+
validUntil?: number;
|
|
14
16
|
}
|
|
15
17
|
export interface IntelligenceBundle {
|
|
16
18
|
domain: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/intelligence/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/intelligence/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B"}
|
|
@@ -1,23 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loop manager —
|
|
3
|
-
*
|
|
2
|
+
* Loop manager — iterative validation loop state tracking with
|
|
3
|
+
* output scanning and gate decision system.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Ported from Salvador's loop.facade.ts with:
|
|
6
|
+
* - Promise tag extraction (<promise>...</promise>)
|
|
7
|
+
* - 5-tier heuristic completion detection
|
|
8
|
+
* - Gate decision pattern (allow/block) for Stop hook integration
|
|
9
|
+
* - Knowledge tracking for brain session recording
|
|
10
|
+
*
|
|
11
|
+
* Session-scoped (in-memory). Persistence is optional via external store.
|
|
12
|
+
*/
|
|
13
|
+
import type { LoopConfig, LoopIteration, LoopMode, LoopState, LoopKnowledge, LoopHistoryEntry, LoopIterateDecision } from './types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Extract text between <promise>...</promise> tags from output.
|
|
16
|
+
* Ported from Salvador's extractPromise.
|
|
17
|
+
*/
|
|
18
|
+
export declare function extractPromise(text: string): string | null;
|
|
19
|
+
/**
|
|
20
|
+
* 5-tier heuristic completion detection.
|
|
21
|
+
* Returns a reason string if completion is detected, null otherwise.
|
|
22
|
+
* Ported from Salvador's detectImplicitCompletion.
|
|
23
|
+
*
|
|
24
|
+
* Tiers:
|
|
25
|
+
* 1. Validation tool score (token-migration, component-build)
|
|
26
|
+
* 2. Contrast mode — all PASS, no FAIL
|
|
27
|
+
* 3. Plan mode — grade meets target
|
|
28
|
+
* 4. Completion language + file modification signals (requires BOTH)
|
|
29
|
+
* 5. Test pass signals
|
|
30
|
+
*/
|
|
31
|
+
export declare function detectImplicitCompletion(lastOutput: string, config: LoopConfig): string | null;
|
|
32
|
+
/**
|
|
33
|
+
* Detect anomalous loop iteration patterns.
|
|
34
|
+
* Flags fast + low-score combos that suggest the agent is spinning without making progress.
|
|
7
35
|
*/
|
|
8
|
-
|
|
36
|
+
export declare function detectAnomaly(iteration: LoopIteration, mode: LoopMode): string | null;
|
|
9
37
|
export declare class LoopManager {
|
|
10
38
|
private activeLoop;
|
|
11
39
|
private completedLoops;
|
|
40
|
+
private historyEntries;
|
|
12
41
|
/**
|
|
13
42
|
* Start a new validation loop.
|
|
14
43
|
* Throws if a loop is already active.
|
|
15
44
|
*/
|
|
16
45
|
startLoop(config: LoopConfig): LoopState;
|
|
17
46
|
/**
|
|
18
|
-
* Record an iteration result on the active loop.
|
|
47
|
+
* Record an iteration result on the active loop (simple API).
|
|
19
48
|
* If the iteration passes, the loop status is NOT automatically changed —
|
|
20
|
-
* call
|
|
49
|
+
* call completeLoop() explicitly when validation is confirmed.
|
|
21
50
|
* If max iterations reached and this iteration fails, status becomes 'max-iterations'.
|
|
22
51
|
*/
|
|
23
52
|
iterate(result: {
|
|
@@ -25,6 +54,20 @@ export declare class LoopManager {
|
|
|
25
54
|
validationResult?: string;
|
|
26
55
|
passed: boolean;
|
|
27
56
|
}): LoopIteration;
|
|
57
|
+
/**
|
|
58
|
+
* Gate-based iteration — accepts LLM output and returns allow/block decision.
|
|
59
|
+
* Ported from Salvador's loop_iterate handler.
|
|
60
|
+
*
|
|
61
|
+
* This is the primary method for Stop hook integration:
|
|
62
|
+
* - Scans output for completion promise tags
|
|
63
|
+
* - Runs 5-tier heuristic completion detection
|
|
64
|
+
* - Returns 'block' with injected prompt/systemMessage for next iteration
|
|
65
|
+
* - Returns 'allow' when loop ends (completed, max_iterations)
|
|
66
|
+
*
|
|
67
|
+
* @param lastOutput - The LLM's last response to scan for completion signals
|
|
68
|
+
* @param knowledge - Optional knowledge items discovered during this iteration
|
|
69
|
+
*/
|
|
70
|
+
iterateWithGate(lastOutput: string, knowledge?: LoopKnowledge, durationMs?: number): LoopIterateDecision;
|
|
28
71
|
/**
|
|
29
72
|
* Mark the active loop as completed (validation passed).
|
|
30
73
|
*/
|
|
@@ -41,9 +84,17 @@ export declare class LoopManager {
|
|
|
41
84
|
* Get history of all completed/cancelled/max-iterations loops.
|
|
42
85
|
*/
|
|
43
86
|
getHistory(): LoopState[];
|
|
87
|
+
/**
|
|
88
|
+
* Get structured history entries (for brain session recording).
|
|
89
|
+
*/
|
|
90
|
+
getHistoryEntries(): LoopHistoryEntry[];
|
|
44
91
|
/**
|
|
45
92
|
* Check if a loop is currently active.
|
|
46
93
|
*/
|
|
47
94
|
isActive(): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Move active loop to history entries.
|
|
97
|
+
*/
|
|
98
|
+
private moveToHistory;
|
|
48
99
|
}
|
|
49
100
|
//# sourceMappingURL=loop-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-manager.d.ts","sourceRoot":"","sources":["../../src/loop/loop-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"loop-manager.d.ts","sourceRoot":"","sources":["../../src/loop/loop-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAOpB;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAwD9F;AAgBD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAarF;AAID,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS;IAoBxC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC;KACjB,GAAG,aAAa;IA8BjB;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,aAAa,EACzB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IA4ItB;;OAEG;IACH,YAAY,IAAI,SAAS;IAczB;;OAEG;IACH,UAAU,IAAI,SAAS;IAcvB;;OAEG;IACH,SAAS,IAAI,SAAS,GAAG,IAAI;IAI7B;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE;IAIzB;;OAEG;IACH,iBAAiB,IAAI,gBAAgB,EAAE;IAIvC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,OAAO,CAAC,aAAa;CAatB"}
|
|
@@ -1,13 +1,121 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loop manager —
|
|
3
|
-
*
|
|
2
|
+
* Loop manager — iterative validation loop state tracking with
|
|
3
|
+
* output scanning and gate decision system.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Ported from Salvador's loop.facade.ts with:
|
|
6
|
+
* - Promise tag extraction (<promise>...</promise>)
|
|
7
|
+
* - 5-tier heuristic completion detection
|
|
8
|
+
* - Gate decision pattern (allow/block) for Stop hook integration
|
|
9
|
+
* - Knowledge tracking for brain session recording
|
|
10
|
+
*
|
|
11
|
+
* Session-scoped (in-memory). Persistence is optional via external store.
|
|
12
|
+
*/
|
|
13
|
+
// ─── Grade ordering for plan-iteration mode ──────────────────────
|
|
14
|
+
const GRADE_ORDER = ['A+', 'A', 'B', 'C', 'D', 'F'];
|
|
15
|
+
// ─── Output Scanning ─────────────────────────────────────────────
|
|
16
|
+
/**
|
|
17
|
+
* Extract text between <promise>...</promise> tags from output.
|
|
18
|
+
* Ported from Salvador's extractPromise.
|
|
19
|
+
*/
|
|
20
|
+
export function extractPromise(text) {
|
|
21
|
+
const match = /<promise>([\s\S]*?)<\/promise>/.exec(text);
|
|
22
|
+
if (!match)
|
|
23
|
+
return null;
|
|
24
|
+
return match[1].trim().replace(/\s+/g, ' ');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 5-tier heuristic completion detection.
|
|
28
|
+
* Returns a reason string if completion is detected, null otherwise.
|
|
29
|
+
* Ported from Salvador's detectImplicitCompletion.
|
|
30
|
+
*
|
|
31
|
+
* Tiers:
|
|
32
|
+
* 1. Validation tool score (token-migration, component-build)
|
|
33
|
+
* 2. Contrast mode — all PASS, no FAIL
|
|
34
|
+
* 3. Plan mode — grade meets target
|
|
35
|
+
* 4. Completion language + file modification signals (requires BOTH)
|
|
36
|
+
* 5. Test pass signals
|
|
37
|
+
*/
|
|
38
|
+
export function detectImplicitCompletion(lastOutput, config) {
|
|
39
|
+
const text = lastOutput;
|
|
40
|
+
// 1. Validation tool score (token-migration, component-build)
|
|
41
|
+
if (config.mode === 'token-migration' || config.mode === 'component-build') {
|
|
42
|
+
const scoreMatch = /"score"\s*:\s*(\d+(?:\.\d+)?)/.exec(text);
|
|
43
|
+
if (scoreMatch) {
|
|
44
|
+
const score = parseFloat(scoreMatch[1]);
|
|
45
|
+
const target = config.targetScore ?? (config.mode === 'token-migration' ? 95 : 90);
|
|
46
|
+
if (score >= target) {
|
|
47
|
+
return `Auto-detected: validation score ${score} >= target ${target}`;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// 2. Contrast mode — all PASS, no FAIL
|
|
52
|
+
if (config.mode === 'contrast-fix') {
|
|
53
|
+
const hasPass = /\bPASS\b/i.test(text);
|
|
54
|
+
const hasFail = /\bFAIL\b/i.test(text);
|
|
55
|
+
if (hasPass && !hasFail) {
|
|
56
|
+
return 'Auto-detected: all contrast checks PASS, no FAIL';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// 3. Plan mode — grade meets target
|
|
60
|
+
if (config.mode === 'plan-iteration') {
|
|
61
|
+
const gradeMatch = /"grade"\s*:\s*"([A-F][+-]?)"/.exec(text);
|
|
62
|
+
if (gradeMatch) {
|
|
63
|
+
const grade = gradeMatch[1];
|
|
64
|
+
const target = config.targetGrade ?? 'A';
|
|
65
|
+
const gradeIdx = GRADE_ORDER.indexOf(grade);
|
|
66
|
+
const targetIdx = GRADE_ORDER.indexOf(target);
|
|
67
|
+
if (gradeIdx >= 0 && targetIdx >= 0 && gradeIdx <= targetIdx) {
|
|
68
|
+
return `Auto-detected: plan grade ${grade} >= target ${target}`;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// 4. Completion language + file modification signals (requires BOTH)
|
|
73
|
+
const completionPhrases = /\b(task complete|implementation finished|implementation complete|work complete|all done|changes complete|finished implementing|done implementing)\b/i;
|
|
74
|
+
const fileModPhrases = /\b(file modified|wrote to|saved to|created file|updated file|edited file|changes written)\b/i;
|
|
75
|
+
if (completionPhrases.test(text) && fileModPhrases.test(text)) {
|
|
76
|
+
return 'Auto-detected: completion language with file modification evidence';
|
|
77
|
+
}
|
|
78
|
+
// 5. Test pass signals
|
|
79
|
+
const testPass = /(\d+)\s+tests?\s+passed[,\s]+0\s+fail/i.test(text) ||
|
|
80
|
+
/\ball\s+tests?\s+(passing|passed)\b/i.test(text);
|
|
81
|
+
if (testPass) {
|
|
82
|
+
return 'Auto-detected: test suite passing';
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
// ─── Anomaly Detection ──────────────────────────────────────────
|
|
87
|
+
/**
|
|
88
|
+
* Minimum expected duration (ms) per mode.
|
|
89
|
+
* Iterations finishing faster than this with low scores are flagged as anomalous.
|
|
7
90
|
*/
|
|
91
|
+
const MIN_DURATION_MS = {
|
|
92
|
+
'token-migration': 5000,
|
|
93
|
+
'contrast-fix': 2000,
|
|
94
|
+
'component-build': 5000,
|
|
95
|
+
'plan-iteration': 3000,
|
|
96
|
+
custom: 0,
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Detect anomalous loop iteration patterns.
|
|
100
|
+
* Flags fast + low-score combos that suggest the agent is spinning without making progress.
|
|
101
|
+
*/
|
|
102
|
+
export function detectAnomaly(iteration, mode) {
|
|
103
|
+
const minDuration = MIN_DURATION_MS[mode];
|
|
104
|
+
if (minDuration === 0)
|
|
105
|
+
return null; // custom mode — no threshold
|
|
106
|
+
const duration = iteration.durationMs ?? 0;
|
|
107
|
+
const score = iteration.validationScore ?? 0;
|
|
108
|
+
// Flag: iteration completed very fast with a low score
|
|
109
|
+
if (duration > 0 && duration < minDuration && !iteration.passed && score < 50) {
|
|
110
|
+
return `Anomaly: iteration ${iteration.iteration} completed in ${duration}ms (min expected: ${minDuration}ms) with score ${score} — possible no-op loop`;
|
|
111
|
+
}
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
// ─── LoopManager ─────────────────────────────────────────────────
|
|
8
115
|
export class LoopManager {
|
|
9
116
|
activeLoop = null;
|
|
10
117
|
completedLoops = [];
|
|
118
|
+
historyEntries = [];
|
|
11
119
|
/**
|
|
12
120
|
* Start a new validation loop.
|
|
13
121
|
* Throws if a loop is already active.
|
|
@@ -28,9 +136,9 @@ export class LoopManager {
|
|
|
28
136
|
return loop;
|
|
29
137
|
}
|
|
30
138
|
/**
|
|
31
|
-
* Record an iteration result on the active loop.
|
|
139
|
+
* Record an iteration result on the active loop (simple API).
|
|
32
140
|
* If the iteration passes, the loop status is NOT automatically changed —
|
|
33
|
-
* call
|
|
141
|
+
* call completeLoop() explicitly when validation is confirmed.
|
|
34
142
|
* If max iterations reached and this iteration fails, status becomes 'max-iterations'.
|
|
35
143
|
*/
|
|
36
144
|
iterate(result) {
|
|
@@ -50,11 +158,152 @@ export class LoopManager {
|
|
|
50
158
|
this.activeLoop.iterations.length >= this.activeLoop.config.maxIterations) {
|
|
51
159
|
this.activeLoop.status = 'max-iterations';
|
|
52
160
|
this.activeLoop.completedAt = new Date().toISOString();
|
|
161
|
+
this.moveToHistory('max_iterations');
|
|
53
162
|
this.completedLoops.push(this.activeLoop);
|
|
54
163
|
this.activeLoop = null;
|
|
55
164
|
}
|
|
56
165
|
return iteration;
|
|
57
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Gate-based iteration — accepts LLM output and returns allow/block decision.
|
|
169
|
+
* Ported from Salvador's loop_iterate handler.
|
|
170
|
+
*
|
|
171
|
+
* This is the primary method for Stop hook integration:
|
|
172
|
+
* - Scans output for completion promise tags
|
|
173
|
+
* - Runs 5-tier heuristic completion detection
|
|
174
|
+
* - Returns 'block' with injected prompt/systemMessage for next iteration
|
|
175
|
+
* - Returns 'allow' when loop ends (completed, max_iterations)
|
|
176
|
+
*
|
|
177
|
+
* @param lastOutput - The LLM's last response to scan for completion signals
|
|
178
|
+
* @param knowledge - Optional knowledge items discovered during this iteration
|
|
179
|
+
*/
|
|
180
|
+
iterateWithGate(lastOutput, knowledge, durationMs) {
|
|
181
|
+
if (!this.activeLoop) {
|
|
182
|
+
return { decision: 'allow', reason: 'No active loop' };
|
|
183
|
+
}
|
|
184
|
+
const config = this.activeLoop.config;
|
|
185
|
+
// Accumulate knowledge
|
|
186
|
+
if (knowledge) {
|
|
187
|
+
if (!this.activeLoop.knowledge) {
|
|
188
|
+
this.activeLoop.knowledge = {};
|
|
189
|
+
}
|
|
190
|
+
if (knowledge.items) {
|
|
191
|
+
this.activeLoop.knowledge.items = [
|
|
192
|
+
...(this.activeLoop.knowledge.items ?? []),
|
|
193
|
+
...knowledge.items,
|
|
194
|
+
];
|
|
195
|
+
}
|
|
196
|
+
if (knowledge.patternsApplied) {
|
|
197
|
+
this.activeLoop.knowledge.patternsApplied = [
|
|
198
|
+
...(this.activeLoop.knowledge.patternsApplied ?? []),
|
|
199
|
+
...knowledge.patternsApplied,
|
|
200
|
+
];
|
|
201
|
+
}
|
|
202
|
+
if (knowledge.antiPatternsAvoided) {
|
|
203
|
+
this.activeLoop.knowledge.antiPatternsAvoided = [
|
|
204
|
+
...(this.activeLoop.knowledge.antiPatternsAvoided ?? []),
|
|
205
|
+
...knowledge.antiPatternsAvoided,
|
|
206
|
+
];
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// Check for completion promise
|
|
210
|
+
if (config.completionPromise) {
|
|
211
|
+
const promiseText = extractPromise(lastOutput);
|
|
212
|
+
if (promiseText && promiseText === config.completionPromise) {
|
|
213
|
+
const iterCount = this.activeLoop.iterations.length;
|
|
214
|
+
this.activeLoop.status = 'completed';
|
|
215
|
+
this.activeLoop.completedAt = new Date().toISOString();
|
|
216
|
+
this.moveToHistory('completed');
|
|
217
|
+
this.completedLoops.push(this.activeLoop);
|
|
218
|
+
this.activeLoop = null;
|
|
219
|
+
return {
|
|
220
|
+
decision: 'allow',
|
|
221
|
+
reason: `Loop completed — promise "${config.completionPromise}" detected`,
|
|
222
|
+
outcome: 'completed',
|
|
223
|
+
iteration: iterCount,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// Heuristic completion detection
|
|
228
|
+
const autoReason = detectImplicitCompletion(lastOutput, config);
|
|
229
|
+
if (autoReason) {
|
|
230
|
+
const iterCount = this.activeLoop.iterations.length;
|
|
231
|
+
this.activeLoop.status = 'completed';
|
|
232
|
+
this.activeLoop.completedAt = new Date().toISOString();
|
|
233
|
+
this.moveToHistory('completed');
|
|
234
|
+
this.completedLoops.push(this.activeLoop);
|
|
235
|
+
this.activeLoop = null;
|
|
236
|
+
return {
|
|
237
|
+
decision: 'allow',
|
|
238
|
+
reason: autoReason,
|
|
239
|
+
outcome: 'completed',
|
|
240
|
+
iteration: iterCount,
|
|
241
|
+
autoCompleted: true,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
// Check max iterations
|
|
245
|
+
if (config.maxIterations > 0 && this.activeLoop.iterations.length >= config.maxIterations) {
|
|
246
|
+
const iterCount = this.activeLoop.iterations.length;
|
|
247
|
+
this.activeLoop.status = 'max-iterations';
|
|
248
|
+
this.activeLoop.completedAt = new Date().toISOString();
|
|
249
|
+
this.moveToHistory('max_iterations');
|
|
250
|
+
this.completedLoops.push(this.activeLoop);
|
|
251
|
+
this.activeLoop = null;
|
|
252
|
+
return {
|
|
253
|
+
decision: 'allow',
|
|
254
|
+
reason: `Max iterations (${config.maxIterations}) reached`,
|
|
255
|
+
outcome: 'max_iterations',
|
|
256
|
+
iteration: iterCount,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
// Continue loop — increment iteration
|
|
260
|
+
const nextIteration = this.activeLoop.iterations.length + 1;
|
|
261
|
+
const iterationEntry = {
|
|
262
|
+
iteration: nextIteration,
|
|
263
|
+
timestamp: new Date().toISOString(),
|
|
264
|
+
passed: false,
|
|
265
|
+
...(durationMs !== undefined && { durationMs }),
|
|
266
|
+
};
|
|
267
|
+
this.activeLoop.iterations.push(iterationEntry);
|
|
268
|
+
// Run anomaly detection
|
|
269
|
+
const anomalyWarning = detectAnomaly(iterationEntry, config.mode);
|
|
270
|
+
// Build validation hint for system message
|
|
271
|
+
let validationHint = '';
|
|
272
|
+
switch (config.mode) {
|
|
273
|
+
case 'token-migration':
|
|
274
|
+
validationHint = `Run validation (tokens check). Target: score >= ${config.targetScore ?? 95}`;
|
|
275
|
+
break;
|
|
276
|
+
case 'contrast-fix':
|
|
277
|
+
validationHint = 'Run contrast check on all color pairs. Target: all PASS';
|
|
278
|
+
break;
|
|
279
|
+
case 'component-build':
|
|
280
|
+
validationHint = `Run validation (full check). Target: score >= ${config.targetScore ?? 90}`;
|
|
281
|
+
break;
|
|
282
|
+
case 'plan-iteration':
|
|
283
|
+
validationHint = `Run plan grading. Target: grade >= ${config.targetGrade ?? 'A'}`;
|
|
284
|
+
break;
|
|
285
|
+
case 'custom':
|
|
286
|
+
validationHint = 'Complete the task and validate your work';
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
289
|
+
const maxDisplay = config.maxIterations > 0 ? String(config.maxIterations) : 'unlimited';
|
|
290
|
+
const systemMessage = `[Loop — Iteration ${nextIteration}/${maxDisplay} | Mode: ${config.mode}] ${validationHint}` +
|
|
291
|
+
(config.completionPromise
|
|
292
|
+
? ` | Output <promise>${config.completionPromise}</promise> ONLY when validation passes`
|
|
293
|
+
: '');
|
|
294
|
+
// Build full prompt with validation instructions
|
|
295
|
+
const fullPrompt = config.validationInstructions
|
|
296
|
+
? `${config.prompt}\n\n${config.validationInstructions}`
|
|
297
|
+
: config.prompt;
|
|
298
|
+
return {
|
|
299
|
+
decision: 'block',
|
|
300
|
+
reason: fullPrompt,
|
|
301
|
+
prompt: fullPrompt,
|
|
302
|
+
systemMessage,
|
|
303
|
+
iteration: nextIteration,
|
|
304
|
+
...(anomalyWarning && { anomalyWarning }),
|
|
305
|
+
};
|
|
306
|
+
}
|
|
58
307
|
/**
|
|
59
308
|
* Mark the active loop as completed (validation passed).
|
|
60
309
|
*/
|
|
@@ -65,6 +314,7 @@ export class LoopManager {
|
|
|
65
314
|
this.activeLoop.status = 'completed';
|
|
66
315
|
this.activeLoop.completedAt = new Date().toISOString();
|
|
67
316
|
const completed = this.activeLoop;
|
|
317
|
+
this.moveToHistory('completed');
|
|
68
318
|
this.completedLoops.push(completed);
|
|
69
319
|
this.activeLoop = null;
|
|
70
320
|
return completed;
|
|
@@ -79,6 +329,7 @@ export class LoopManager {
|
|
|
79
329
|
this.activeLoop.status = 'cancelled';
|
|
80
330
|
this.activeLoop.completedAt = new Date().toISOString();
|
|
81
331
|
const cancelled = this.activeLoop;
|
|
332
|
+
this.moveToHistory('cancelled');
|
|
82
333
|
this.completedLoops.push(cancelled);
|
|
83
334
|
this.activeLoop = null;
|
|
84
335
|
return cancelled;
|
|
@@ -95,11 +346,34 @@ export class LoopManager {
|
|
|
95
346
|
getHistory() {
|
|
96
347
|
return [...this.completedLoops];
|
|
97
348
|
}
|
|
349
|
+
/**
|
|
350
|
+
* Get structured history entries (for brain session recording).
|
|
351
|
+
*/
|
|
352
|
+
getHistoryEntries() {
|
|
353
|
+
return [...this.historyEntries];
|
|
354
|
+
}
|
|
98
355
|
/**
|
|
99
356
|
* Check if a loop is currently active.
|
|
100
357
|
*/
|
|
101
358
|
isActive() {
|
|
102
359
|
return this.activeLoop !== null;
|
|
103
360
|
}
|
|
361
|
+
/**
|
|
362
|
+
* Move active loop to history entries.
|
|
363
|
+
*/
|
|
364
|
+
moveToHistory(outcome) {
|
|
365
|
+
if (!this.activeLoop)
|
|
366
|
+
return;
|
|
367
|
+
this.historyEntries.push({
|
|
368
|
+
id: this.activeLoop.id,
|
|
369
|
+
mode: this.activeLoop.config.mode,
|
|
370
|
+
intent: this.activeLoop.config.intent,
|
|
371
|
+
prompt: this.activeLoop.config.prompt,
|
|
372
|
+
iterations: this.activeLoop.iterations.length,
|
|
373
|
+
outcome,
|
|
374
|
+
startedAt: this.activeLoop.startedAt,
|
|
375
|
+
completedAt: this.activeLoop.completedAt ?? new Date().toISOString(),
|
|
376
|
+
});
|
|
377
|
+
}
|
|
104
378
|
}
|
|
105
379
|
//# sourceMappingURL=loop-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-manager.js","sourceRoot":"","sources":["../../src/loop/loop-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop-manager.js","sourceRoot":"","sources":["../../src/loop/loop-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/loop/types.d.ts
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
* Loop system types — iterative validation loop state tracking.
|
|
3
3
|
*
|
|
4
4
|
* Loops let agents run validate-fix-validate cycles (e.g. token migration,
|
|
5
|
-
* contrast fixes, component builds).
|
|
5
|
+
* contrast fixes, component builds).
|
|
6
|
+
*
|
|
7
|
+
* Ported from Salvador's loop.facade.ts with full gate decision system,
|
|
8
|
+
* output scanning, and completion promise detection.
|
|
6
9
|
*/
|
|
7
10
|
/** Supported loop modes — each maps to a different validation strategy. */
|
|
8
11
|
export type LoopMode = 'token-migration' | 'contrast-fix' | 'component-build' | 'plan-iteration' | 'custom';
|
|
@@ -11,7 +14,16 @@ export interface LoopConfig {
|
|
|
11
14
|
mode: LoopMode;
|
|
12
15
|
prompt: string;
|
|
13
16
|
maxIterations: number;
|
|
17
|
+
/** Target validation score for score-based modes (token-migration, component-build). */
|
|
14
18
|
targetScore?: number;
|
|
19
|
+
/** Target grade for plan-iteration mode (e.g., 'A', 'A+'). */
|
|
20
|
+
targetGrade?: string;
|
|
21
|
+
/** Completion promise text — loop completes when this appears in output. */
|
|
22
|
+
completionPromise?: string;
|
|
23
|
+
/** Validation instructions appended to the prompt each iteration. */
|
|
24
|
+
validationInstructions?: string;
|
|
25
|
+
/** Detected intent for this loop (e.g., 'BUILD', 'FIX'). Used for brain session recording. */
|
|
26
|
+
intent?: string;
|
|
15
27
|
}
|
|
16
28
|
/** A single iteration result within a loop. */
|
|
17
29
|
export interface LoopIteration {
|
|
@@ -20,9 +32,23 @@ export interface LoopIteration {
|
|
|
20
32
|
validationScore?: number;
|
|
21
33
|
validationResult?: string;
|
|
22
34
|
passed: boolean;
|
|
35
|
+
/** Duration of this iteration in milliseconds. */
|
|
36
|
+
durationMs?: number;
|
|
23
37
|
}
|
|
24
38
|
/** Loop lifecycle status. */
|
|
25
39
|
export type LoopStatus = 'active' | 'completed' | 'cancelled' | 'max-iterations';
|
|
40
|
+
/**
|
|
41
|
+
* Knowledge items tracked during loop execution.
|
|
42
|
+
* Ported from Salvador's loop knowledge tracking for brain session recording.
|
|
43
|
+
*/
|
|
44
|
+
export interface LoopKnowledge {
|
|
45
|
+
/** Knowledge items discovered during the loop. */
|
|
46
|
+
items?: string[];
|
|
47
|
+
/** Patterns successfully applied during the loop. */
|
|
48
|
+
patternsApplied?: string[];
|
|
49
|
+
/** Anti-patterns intentionally avoided during the loop. */
|
|
50
|
+
antiPatternsAvoided?: string[];
|
|
51
|
+
}
|
|
26
52
|
/** Full state of a loop (active or historical). */
|
|
27
53
|
export interface LoopState {
|
|
28
54
|
id: string;
|
|
@@ -31,5 +57,47 @@ export interface LoopState {
|
|
|
31
57
|
status: LoopStatus;
|
|
32
58
|
startedAt: string;
|
|
33
59
|
completedAt?: string;
|
|
60
|
+
/** Knowledge accumulated during the loop. */
|
|
61
|
+
knowledge?: LoopKnowledge;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Loop history entry — stored after loop completion.
|
|
65
|
+
* Ported from Salvador's LoopHistoryEntry.
|
|
66
|
+
*/
|
|
67
|
+
export interface LoopHistoryEntry {
|
|
68
|
+
id: string;
|
|
69
|
+
mode: LoopMode;
|
|
70
|
+
intent?: string;
|
|
71
|
+
prompt: string;
|
|
72
|
+
iterations: number;
|
|
73
|
+
outcome: 'completed' | 'cancelled' | 'max_iterations';
|
|
74
|
+
startedAt: string;
|
|
75
|
+
completedAt: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Gate decision returned by iterateWithGate().
|
|
79
|
+
* Ported from Salvador's LoopIterateDecision.
|
|
80
|
+
*
|
|
81
|
+
* - 'allow': Loop has ended (completed, max_iterations, or error). Exit the loop.
|
|
82
|
+
* - 'block': Loop continues. The returned prompt and systemMessage are injected
|
|
83
|
+
* into the next iteration of the Stop hook.
|
|
84
|
+
*/
|
|
85
|
+
export interface LoopIterateDecision {
|
|
86
|
+
/** Gate decision: 'allow' to exit loop, 'block' to continue iterating. */
|
|
87
|
+
decision: 'allow' | 'block';
|
|
88
|
+
/** Human-readable reason for this decision. */
|
|
89
|
+
reason: string;
|
|
90
|
+
/** Full prompt for the next iteration (only when decision = 'block'). */
|
|
91
|
+
prompt?: string;
|
|
92
|
+
/** System message for the next iteration (only when decision = 'block'). */
|
|
93
|
+
systemMessage?: string;
|
|
94
|
+
/** Current iteration number. */
|
|
95
|
+
iteration?: number;
|
|
96
|
+
/** Outcome when loop ends (only when decision = 'allow'). */
|
|
97
|
+
outcome?: 'completed' | 'max_iterations';
|
|
98
|
+
/** Whether completion was auto-detected (heuristic, not explicit promise). */
|
|
99
|
+
autoCompleted?: boolean;
|
|
100
|
+
/** Warning if anomalous patterns detected in this iteration. */
|
|
101
|
+
anomalyWarning?: string;
|
|
34
102
|
}
|
|
35
103
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/loop/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,QAAQ,GAChB,iBAAiB,GACjB,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,QAAQ,CAAC;AAEb,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,6BAA6B;AAC7B,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAEjF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,gBAAgB,CAAC;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,WAAW,GAAG,gBAAgB,CAAC;IACzC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
package/dist/loop/types.js
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
* Loop system types — iterative validation loop state tracking.
|
|
3
3
|
*
|
|
4
4
|
* Loops let agents run validate-fix-validate cycles (e.g. token migration,
|
|
5
|
-
* contrast fixes, component builds).
|
|
5
|
+
* contrast fixes, component builds).
|
|
6
|
+
*
|
|
7
|
+
* Ported from Salvador's loop.facade.ts with full gate decision system,
|
|
8
|
+
* output scanning, and completion promise detection.
|
|
6
9
|
*/
|
|
7
10
|
export {};
|
|
8
11
|
//# sourceMappingURL=types.js.map
|
package/dist/loop/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/loop/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { PersistenceProvider, PersistenceParams, RunResult, PersistenceConfig, FtsSearchOptions, } from './types.js';
|
|
2
|
+
export { SQLitePersistenceProvider } from './sqlite-provider.js';
|
|
3
|
+
export { PostgresPersistenceProvider, translateSql } from './postgres-provider.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
|