loopforge 3.0.0 → 3.2.1
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/README.md +128 -145
- package/dist/audit.d.ts +50 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +158 -0
- package/dist/audit.js.map +1 -0
- package/dist/canonical-state.d.ts +28 -20
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +82 -173
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +25 -16
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-governance.d.ts +25 -33
- package/dist/cognitive-governance.d.ts.map +1 -1
- package/dist/cognitive-governance.js +38 -138
- package/dist/cognitive-governance.js.map +1 -1
- package/dist/enforcement-gate.d.ts +76 -0
- package/dist/enforcement-gate.d.ts.map +1 -0
- package/dist/enforcement-gate.js +1071 -0
- package/dist/enforcement-gate.js.map +1 -0
- package/dist/engine.d.ts +99 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +839 -0
- package/dist/engine.js.map +1 -0
- package/dist/evidence-claims.d.ts +50 -0
- package/dist/evidence-claims.d.ts.map +1 -0
- package/dist/evidence-claims.js +134 -0
- package/dist/evidence-claims.js.map +1 -0
- package/dist/evidence-provider.d.ts +21 -23
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +74 -34
- package/dist/evidence-provider.js.map +1 -1
- package/dist/generate-schema.js +1 -84
- package/dist/generate-schema.js.map +1 -1
- package/dist/index.d.ts +19 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -15
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +41 -3
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +632 -273
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-extras-parser.d.ts +2 -2
- package/dist/loop-extras-parser.d.ts.map +1 -1
- package/dist/loop-extras-parser.js +2 -2
- package/dist/loop-extras-parser.js.map +1 -1
- package/dist/loop-projection.d.ts +26 -0
- package/dist/loop-projection.d.ts.map +1 -0
- package/dist/loop-projection.js +142 -0
- package/dist/loop-projection.js.map +1 -0
- package/dist/loop-store.d.ts +112 -24
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js +365 -218
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +216 -0
- package/dist/mcp/round-lifecycle.d.ts.map +1 -0
- package/dist/mcp/round-lifecycle.js +926 -0
- package/dist/mcp/round-lifecycle.js.map +1 -0
- package/dist/mcp/server.d.ts +2 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +28 -42
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +53 -101
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +306 -1105
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.d.ts +13 -16
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +479 -413
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.d.ts +12 -17
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +95 -161
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +44 -35
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +31 -115
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts +37 -6
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +389 -160
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/prompt-policy.d.ts +1 -8
- package/dist/prompt-policy.d.ts.map +1 -1
- package/dist/prompt-policy.js +8 -26
- package/dist/prompt-policy.js.map +1 -1
- package/dist/protocol.d.ts +357 -229
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +139 -15
- package/dist/protocol.js.map +1 -1
- package/dist/replay.d.ts +5 -13
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +19 -55
- package/dist/replay.js.map +1 -1
- package/dist/round-coordinator.d.ts +20 -24
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +99 -92
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +14 -13
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +26 -14
- package/dist/round-driver.js.map +1 -1
- package/dist/round-transaction.d.ts +15 -18
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +38 -47
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +53 -0
- package/dist/self-eval.d.ts.map +1 -0
- package/dist/self-eval.js +284 -0
- package/dist/self-eval.js.map +1 -0
- package/dist/storage.d.ts +9 -4
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +18 -6
- package/dist/storage.js.map +1 -1
- package/dist/token-utils.d.ts +15 -3
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +24 -5
- package/dist/token-utils.js.map +1 -1
- package/dist/verification-gate.d.ts +108 -0
- package/dist/verification-gate.d.ts.map +1 -0
- package/dist/verification-gate.js +971 -0
- package/dist/verification-gate.js.map +1 -0
- package/loop_policy.json +44 -15
- package/package.json +5 -10
- package/skills/perception/SKILL.md +182 -199
- package/dist/canonical-event-writer.d.ts +0 -20
- package/dist/canonical-event-writer.d.ts.map +0 -1
- package/dist/canonical-event-writer.js +0 -131
- package/dist/canonical-event-writer.js.map +0 -1
- package/dist/compiler-subgoals.d.ts +0 -7
- package/dist/compiler-subgoals.d.ts.map +0 -1
- package/dist/compiler-subgoals.js +0 -93
- package/dist/compiler-subgoals.js.map +0 -1
- package/dist/derive-id.d.ts +0 -12
- package/dist/derive-id.d.ts.map +0 -1
- package/dist/derive-id.js +0 -31
- package/dist/derive-id.js.map +0 -1
- package/dist/mcp/session-projection.d.ts +0 -5
- package/dist/mcp/session-projection.d.ts.map +0 -1
- package/dist/mcp/session-projection.js +0 -18
- package/dist/mcp/session-projection.js.map +0 -1
- package/dist/mcp/session-queue.d.ts +0 -3
- package/dist/mcp/session-queue.d.ts.map +0 -1
- package/dist/mcp/session-queue.js +0 -18
- package/dist/mcp/session-queue.js.map +0 -1
- package/dist/mcp/session-types.d.ts +0 -72
- package/dist/mcp/session-types.d.ts.map +0 -1
- package/dist/mcp/session-types.js +0 -2
- package/dist/mcp/session-types.js.map +0 -1
- package/dist/round-commit-store.d.ts +0 -12
- package/dist/round-commit-store.d.ts.map +0 -1
- package/dist/round-commit-store.js +0 -13
- package/dist/round-commit-store.js.map +0 -1
- package/dist/round-gate.d.ts +0 -31
- package/dist/round-gate.d.ts.map +0 -1
- package/dist/round-gate.js +0 -259
- package/dist/round-gate.js.map +0 -1
- package/dist/round-recovery.d.ts +0 -17
- package/dist/round-recovery.d.ts.map +0 -1
- package/dist/round-recovery.js +0 -117
- package/dist/round-recovery.js.map +0 -1
- package/dist/round-report.d.ts +0 -16
- package/dist/round-report.d.ts.map +0 -1
- package/dist/round-report.js +0 -401
- package/dist/round-report.js.map +0 -1
- package/dist/runtime-services.d.ts +0 -59
- package/dist/runtime-services.d.ts.map +0 -1
- package/dist/runtime-services.js +0 -460
- package/dist/runtime-services.js.map +0 -1
- package/dist/vault-format.d.ts +0 -4
- package/dist/vault-format.d.ts.map +0 -1
- package/dist/vault-format.js +0 -4
- package/dist/vault-format.js.map +0 -1
- package/dist/vault-types.d.ts +0 -24
- package/dist/vault-types.d.ts.map +0 -1
- package/dist/vault-types.js +0 -2
- package/dist/vault-types.js.map +0 -1
- package/loopforge-policy.json +0 -340
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-eval.js","sourceRoot":"","sources":["../src/self-eval.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAMhB,MAAM,eAAe,CAAC;AAEvB,6EAA6E;AAE7E;0EAC0E;AAC1E,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAuC,EAAE,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM;QAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/E,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;YACnE,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YACpD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,sBAAsB,CACpC,GAA+C;IAE/C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAmD,CAAC;IAC5E,OAAO,qBAAqB,CAAC;QAC3B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC7C,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACjE,CAAC,CAAC,EAAE;QACN,YAAY,EAAE,WAAW,IAAI,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ;YACjE,CAAC,CAAC;gBACE,MAAM,EAAE,WAAW,CAAC,MAAgB;gBACpC,MAAM,EAAG,WAAW,CAAC,MAAiB,IAAI,CAAC;gBAC3C,OAAO,EAAG,WAAW,CAAC,OAAkB,IAAI,CAAC;aAC9C;YACH,CAAC,CAAC,IAAI;QACR,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAC3D,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACxE,CAAC,CAAC,EAAE;QACN,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;YACvE,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC9E,CAAC,CAAC,EAAE;QACN,iBAAiB,EAAE,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ;YAC1D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACjD,CAAC,CAAC,GAAG;KACR,CAAC,CAAC;AACL,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,uBAAuB,CACrC,GAAY;IAEZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG;SACP,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CACrB,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QACnC,OAAQ,CAA6B,CAAC,GAAG,KAAK,QAAQ;QACtD,OAAQ,CAA6B,CAAC,GAAG,KAAK,QAAQ,CAAC;SACxD,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;QAClB,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAa,EAAE,GAAG,EAAE,CAAC,CAAC,GAAa,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,kBAAkB,CAChC,GAAY;IAEZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG;SACP,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CACrB,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QACnC,OAAQ,CAA6B,CAAC,OAAO,KAAK,QAAQ;QAC1D,OAAQ,CAA6B,CAAC,OAAO,KAAK,QAAQ;QAC1D,OAAQ,CAA6B,CAAC,aAAa,KAAK,QAAQ,CAAC;SAClE,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;QAClB,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,OAAiB;YAC5B,YAAY,EAAE,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB;YACrF,OAAO,EAAE,CAAC,CAAC,OAAiB;YAC5B,aAAa,EAAE,CAAC,CAAC,aAAuB;YACxC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;YAC3D,kEAAkE;YAClE,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ;gBACnF,CAAC,CAAC,CAAC,CAAC,OAAO;gBACX,CAAC,CAAC,SAAS;YACb,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBAC3D,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;gBACvE,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,4EAA4E;AAE5E;;qEAEqE;AACrE,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,oCAAoC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;AAC7D,CAAC;AAED;;;0CAG0C;AAC1C,MAAM,UAAU,gBAAgB,CAAC,QAAwB;IACvD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;QAChE,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpE,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjD,CAAC;AAED;0EAC0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,QAAwB;IACvD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;AAClD,CAAC;AAED;;wEAEwE;AACxE,MAAM,UAAU,oBAAoB,CAClC,IAAY;IAEZ,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,OAAO,GAAqC,SAAS,CAAC;IAC1D,wEAAwE;IACxE,IAAI,+CAA+C,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,SAAS,CAAC;SAClF,IAAI,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,QAAQ,CAAC;IACtF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAQD;;iEAEiE;AACjE,MAAM,UAAU,oCAAoC,CAClD,IAAY;IAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC/D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS;QACnC,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ;QACzC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAC5C,OAAO,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;2EAC2E;AAC3E,MAAM,UAAU,mBAAmB,CACjC,GAA4B;IAE5B,MAAM,IAAI,GAAuC,EAAE,CAAC;IACpD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAClG,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,wDAAwD,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;sEACsE;AACtE,MAAM,UAAU,mBAAmB,CACjC,GAA4B;IAE5B,MAAM,iBAAiB,GAAG,sBAAsB,CAC9C,GAAG,CAAC,kBAAyD,CAC9D,CAAC;IAEF,MAAM,oBAAoB,GAAa,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC7E,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACzE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,eAAe,GAAwB,uBAAuB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACnG,MAAM,gBAAgB,GAAa,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACrE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE7D,OAAO,kBAAkB,CAAC;QACxB,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QAC/D,cAAc,EAAE,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QAChF,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAC7D,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACzE,CAAC,CAAC,EAAE;QACN,eAAe,EAAE,OAAO,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;QACtF,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YAC/D,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC1E,CAAC,CAAC,EAAE;QACN,oBAAoB,EAAE,OAAO,GAAG,CAAC,oBAAoB,KAAK,QAAQ;YAChE,CAAC,CAAC,GAAG,CAAC,oBAAoB;YAC1B,CAAC,CAAC,EAAE;QACN,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACnD,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACpE,CAAC,CAAC,EAAE;QACN,kBAAkB,EAAE,iBAAiB;QACrC,qBAAqB,EAAE,oBAAoB;QAC3C,wBAAwB,EAAE,eAAe;QACzC,iBAAiB,EAAE,gBAAgB;QACnC,cAAc,EAAE,aAAa;QAC7B,sBAAsB,EACpB,OAAO,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK;QACtF,gBAAgB,EACd,OAAO,GAAG,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;QACtE,WAAW,EACT,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACnE,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACvD,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACtE,CAAC,CAAC,EAAE;QACN,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACnD,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACpE,CAAC,CAAC,EAAE;QACN,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACrD,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACrE,CAAC,CAAC,EAAE;QACN,WAAW,EACT,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,mBAAmB;YACvG,CAAC,CAAC,GAAG,CAAC,WAAW;YACjB,CAAC,CAAC,SAAS;QACf,OAAO,EACL,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;YACtD,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;YACnD,CAAC,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC,SAAS;QACf,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC3B,CAAC,CAAC,SAAS;QACf,iBAAiB,EAAE,sBAAsB,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAChE,gBAAgB,EACd,OAAO,GAAG,CAAC,gBAAgB,KAAK,QAAQ,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAChF,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACpC,CAAC,CAAC,SAAS;QACf,mBAAmB,EACjB,OAAO,GAAG,CAAC,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACnF,eAAe,EAAE,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC;AAED;;;oEAGoE;AACpE,SAAS,mBAAmB,CAC1B,GAAY;IAEZ,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAC5C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;QAC3B,YAAY,EAAE,WAAW,EAAE,sBAAsB;QACjD,aAAa,EAAE,UAAU,EAAE,gBAAgB;KAC5C,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QACtC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAU,EAAsD,EAAE,CACnF,OAAO,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACzD,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC,EAAE,CAAC;IACP,uEAAuE;IACvE,sEAAsE;IACtE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAClE,CAAC;AAED,0EAA0E;AAC1E,0EAA0E;AAC1E,4EAA4E"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
/** Persistence adapters for session state and committed round lookup. */
|
|
2
|
-
import type { VaultEntry } from "./
|
|
3
|
-
import type { LoopStore } from "./loop-store.js";
|
|
4
|
-
export { VaultRoundCommitStore } from "./round-commit-store.js";
|
|
5
|
-
export type { RoundCommitStore } from "./round-commit-store.js";
|
|
2
|
+
import type { LoopStore, VaultEntry } from "./loop-store.js";
|
|
6
3
|
export interface SessionStateStore {
|
|
7
4
|
load(loopId: string): VaultEntry | undefined;
|
|
8
5
|
list(): VaultEntry[];
|
|
@@ -19,6 +16,9 @@ export declare class SessionLeaseConflictError extends Error {
|
|
|
19
16
|
readonly loopId: string;
|
|
20
17
|
constructor(loopId: string);
|
|
21
18
|
}
|
|
19
|
+
export interface RoundCommitStore {
|
|
20
|
+
find(loopId: string, round: number): VaultEntry[];
|
|
21
|
+
}
|
|
22
22
|
export declare class VaultSessionStateStore implements SessionStateStore {
|
|
23
23
|
private readonly store;
|
|
24
24
|
constructor(store: LoopStore);
|
|
@@ -30,4 +30,9 @@ export declare class VaultSessionStateStore implements SessionStateStore {
|
|
|
30
30
|
releaseLease(loopId: string, ownerId: string): boolean;
|
|
31
31
|
private lineage;
|
|
32
32
|
}
|
|
33
|
+
export declare class VaultRoundCommitStore implements RoundCommitStore {
|
|
34
|
+
private readonly store;
|
|
35
|
+
constructor(store: LoopStore);
|
|
36
|
+
find(loopId: string, round: number): VaultEntry[];
|
|
37
|
+
}
|
|
33
38
|
//# sourceMappingURL=storage.d.ts.map
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,yEAAyE;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAuB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA0BlF,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7C,IAAI,IAAI,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC5D,YAAY,CAAC,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,UAAU,GAAG,SAAS,CAAC;IAC1B,UAAU,CAAC,CACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;IACX,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACzD;AAED,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAIpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;CACnD;AAED,qBAAa,sBAAuB,YAAW,iBAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,SAAS;IAE7C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAK5C,IAAI,IAAI,UAAU,EAAE;IASpB,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,kBAAuB,GAAG,IAAI;IA2B/D,YAAY,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,SAAa,GACf,UAAU,GAAG,SAAS;IA6CzB,UAAU,CACR,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,SAAa,GACf,OAAO;IA4BV,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IA6BtD,OAAO,CAAC,OAAO;CAOhB;AAED,qBAAa,qBAAsB,YAAW,gBAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,SAAS;IAE7C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;CAMlD"}
|
package/dist/storage.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Persistence adapters for session state and committed round lookup. */
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { queryLoopEntries } from "./loop-store.js";
|
|
3
|
+
import { LOOP_STORE_SCHEMA_VERSION } from "./loop-store.js";
|
|
4
4
|
function isLeaseOwnerAlive(ownerId, leaseExpiresAt) {
|
|
5
5
|
const match = ownerId.match(/^(\d+):/);
|
|
6
6
|
if (!match)
|
|
@@ -69,7 +69,7 @@ export class VaultSessionStateStore {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
const doc = {
|
|
72
|
-
|
|
72
|
+
schemaVersion: LOOP_STORE_SCHEMA_VERSION,
|
|
73
73
|
loopId,
|
|
74
74
|
updatedAt: new Date().toISOString(),
|
|
75
75
|
entry,
|
|
@@ -111,7 +111,7 @@ export class VaultSessionStateStore {
|
|
|
111
111
|
},
|
|
112
112
|
};
|
|
113
113
|
const doc = {
|
|
114
|
-
|
|
114
|
+
schemaVersion: LOOP_STORE_SCHEMA_VERSION,
|
|
115
115
|
loopId,
|
|
116
116
|
updatedAt: new Date(now).toISOString(),
|
|
117
117
|
entry: updated,
|
|
@@ -140,7 +140,7 @@ export class VaultSessionStateStore {
|
|
|
140
140
|
},
|
|
141
141
|
};
|
|
142
142
|
const doc = {
|
|
143
|
-
|
|
143
|
+
schemaVersion: LOOP_STORE_SCHEMA_VERSION,
|
|
144
144
|
loopId,
|
|
145
145
|
updatedAt: new Date(now).toISOString(),
|
|
146
146
|
entry: updated,
|
|
@@ -170,7 +170,7 @@ export class VaultSessionStateStore {
|
|
|
170
170
|
},
|
|
171
171
|
};
|
|
172
172
|
const doc = {
|
|
173
|
-
|
|
173
|
+
schemaVersion: LOOP_STORE_SCHEMA_VERSION,
|
|
174
174
|
loopId,
|
|
175
175
|
updatedAt: new Date().toISOString(),
|
|
176
176
|
entry: updated,
|
|
@@ -189,4 +189,16 @@ export class VaultSessionStateStore {
|
|
|
189
189
|
: {};
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
|
+
export class VaultRoundCommitStore {
|
|
193
|
+
store;
|
|
194
|
+
constructor(store) {
|
|
195
|
+
this.store = store;
|
|
196
|
+
}
|
|
197
|
+
find(loopId, round) {
|
|
198
|
+
return queryLoopEntries(this.store, loopId, {
|
|
199
|
+
prefix: `loop:${loopId}:r${round}:feedback`,
|
|
200
|
+
feedbackOnly: true,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
192
204
|
//# sourceMappingURL=storage.js.map
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,yEAAyE;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/token-utils.d.ts
CHANGED
|
@@ -13,14 +13,26 @@
|
|
|
13
13
|
* Scripts are tokenized independently, so mixed text yields per-script
|
|
14
14
|
* tokens (e.g. "修复bug重入" → {修复, bug, 重入}). */
|
|
15
15
|
export declare function tokenize(text: string): Set<string>;
|
|
16
|
-
/** Jaccard similarity in [0, 1]. Returns
|
|
17
|
-
*
|
|
16
|
+
/** Jaccard similarity in [0, 1]. Returns 0 when either side is empty —
|
|
17
|
+
* an empty description carries no information and must not match
|
|
18
|
+
* everything (a score of 1 would make `[""]` a wildcard that falsely
|
|
19
|
+
* marks sub-goals done or suppresses criteria milestones). */
|
|
18
20
|
export declare function jaccardSimilarity(left: string, right: string): number;
|
|
19
21
|
/** Filter null/undefined/empty strings, trim, and deduplicate via Set. */
|
|
20
22
|
export declare function unique(values: Array<string | null | undefined>): string[];
|
|
21
23
|
/** Narrow `unknown` to a non-array object. Used across storage, MCP, and
|
|
22
24
|
* transaction modules to validate JSON-deserialized data before field access. */
|
|
23
25
|
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
24
|
-
/** Extract the round number from
|
|
26
|
+
/** Extract the round number from a vault entry-like object by reading
|
|
27
|
+
* `loop_lineage.round` (with `lineage.round` fallback). Returns 0 if
|
|
28
|
+
* the entry has no recognizable round field. */
|
|
25
29
|
export declare function entryRound(entry: Record<string, unknown>): number;
|
|
30
|
+
/** Stable 8-hex item ID derived from normalized text — used for
|
|
31
|
+
* c-/cr-/sg-XXXXXXXX constraint, criterion, and sub-goal IDs.
|
|
32
|
+
* Previously copy-pasted in prompt-assembler, canonical-state, and
|
|
33
|
+
* loop-compiler; consolidation must not change the hash strategy
|
|
34
|
+
* (deterministic across rounds). */
|
|
35
|
+
export declare function deriveItemId(text: string): string;
|
|
36
|
+
/** Stable-ID shape shared by constraint/criterion/sub-goal references. */
|
|
37
|
+
export declare const STABLE_ID_RE: RegExp;
|
|
26
38
|
//# sourceMappingURL=token-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../src/token-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../src/token-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH;;+CAE+C;AAC/C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAmBlD;AAED;;;+DAG+D;AAC/D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrE;AAID,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,CAKzE;AAID;kFACkF;AAClF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAID;;iDAEiD;AACjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAIjE;AAID;;;;qCAIqC;AACrC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,0EAA0E;AAC1E,eAAO,MAAM,YAAY,QAA4B,CAAC"}
|
package/dist/token-utils.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* 0/1. The ranges cover Unified Ideographs, Compatibility Ideographs and
|
|
10
10
|
* Extensions B–F (surrogate-pair code points the legacy regex missed).
|
|
11
11
|
*/
|
|
12
|
+
import { createHash } from "node:crypto";
|
|
12
13
|
// ── Tokenization & similarity ──────────────────────────────────────────────
|
|
13
14
|
/** CJK ranges: Unified Ideographs (U+3400–U+9FFF), Compatibility Ideographs
|
|
14
15
|
* (U+F900–U+FAFF), Extensions B–F (U+20000–U+2FA1F). */
|
|
@@ -55,13 +56,15 @@ export function tokenize(text) {
|
|
|
55
56
|
flushCjk();
|
|
56
57
|
return tokens;
|
|
57
58
|
}
|
|
58
|
-
/** Jaccard similarity in [0, 1]. Returns
|
|
59
|
-
*
|
|
59
|
+
/** Jaccard similarity in [0, 1]. Returns 0 when either side is empty —
|
|
60
|
+
* an empty description carries no information and must not match
|
|
61
|
+
* everything (a score of 1 would make `[""]` a wildcard that falsely
|
|
62
|
+
* marks sub-goals done or suppresses criteria milestones). */
|
|
60
63
|
export function jaccardSimilarity(left, right) {
|
|
61
64
|
const a = tokenize(left);
|
|
62
65
|
const b = tokenize(right);
|
|
63
66
|
if (a.size === 0 || b.size === 0)
|
|
64
|
-
return
|
|
67
|
+
return 0;
|
|
65
68
|
let intersection = 0;
|
|
66
69
|
for (const value of a)
|
|
67
70
|
if (b.has(value))
|
|
@@ -83,10 +86,26 @@ export function isRecord(value) {
|
|
|
83
86
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
84
87
|
}
|
|
85
88
|
// ── Vault entry helpers ────────────────────────────────────────────────────
|
|
86
|
-
/** Extract the round number from
|
|
89
|
+
/** Extract the round number from a vault entry-like object by reading
|
|
90
|
+
* `loop_lineage.round` (with `lineage.round` fallback). Returns 0 if
|
|
91
|
+
* the entry has no recognizable round field. */
|
|
87
92
|
export function entryRound(entry) {
|
|
88
|
-
const lin = (entry.loop_lineage ?? {});
|
|
93
|
+
const lin = (entry.loop_lineage ?? entry.lineage ?? {});
|
|
89
94
|
const rnd = lin.round;
|
|
90
95
|
return typeof rnd === "number" && Number.isInteger(rnd) ? rnd : 0;
|
|
91
96
|
}
|
|
97
|
+
// ── Stable ID derivation (v2.14: single source of truth) ───────────────────
|
|
98
|
+
/** Stable 8-hex item ID derived from normalized text — used for
|
|
99
|
+
* c-/cr-/sg-XXXXXXXX constraint, criterion, and sub-goal IDs.
|
|
100
|
+
* Previously copy-pasted in prompt-assembler, canonical-state, and
|
|
101
|
+
* loop-compiler; consolidation must not change the hash strategy
|
|
102
|
+
* (deterministic across rounds). */
|
|
103
|
+
export function deriveItemId(text) {
|
|
104
|
+
return createHash("sha256")
|
|
105
|
+
.update(text.trim().replace(/\s+/g, " ").toLowerCase())
|
|
106
|
+
.digest("hex")
|
|
107
|
+
.slice(0, 8);
|
|
108
|
+
}
|
|
109
|
+
/** Stable-ID shape shared by constraint/criterion/sub-goal references. */
|
|
110
|
+
export const STABLE_ID_RE = /^(c|cr|sg)-[a-f0-9]{8}$/;
|
|
92
111
|
//# sourceMappingURL=token-utils.js.map
|
package/dist/token-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-utils.js","sourceRoot":"","sources":["../src/token-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,8EAA8E;AAE9E;yDACyD;AACzD,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;WACpC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;WAClC,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;+CAE+C;AAC/C,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,GAAG,GAAa,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,GAAS,EAAE,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAC,KAAK,GAAG,EAAE,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9E,GAAG,GAAG,EAAE,CAAC;IACX,CAAC,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YAAC,QAAQ,EAAE,CAAC;YAAC,KAAK,IAAI,EAAE,CAAC;QAAC,CAAC;aAC7F,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,UAAU,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;aACzD,CAAC;YAAC,UAAU,EAAE,CAAC;YAAC,QAAQ,EAAE,CAAC;QAAC,CAAC;IACpC,CAAC;IACD,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,OAAO,MAAM,CAAC;AAChB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"token-utils.js","sourceRoot":"","sources":["../src/token-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/** Verification Gate — Layer 1 cross-round consistency checks.
|
|
2
|
+
*
|
|
3
|
+
* Pure-function module. Validates an agent's SelfEvaluation against the
|
|
4
|
+
* loop's own lineage before it enters the compiler.
|
|
5
|
+
*
|
|
6
|
+
* Verdict semantics:
|
|
7
|
+
* - trusted: all checks passed; flags are informational only.
|
|
8
|
+
* - suspect: one or more warn-level flags; flags become warnings in
|
|
9
|
+
* the next prompt so the agent can clarify.
|
|
10
|
+
* - contradicted: one or more error-level flags; the success flag for
|
|
11
|
+
* this round is excluded from the success trend (NOT
|
|
12
|
+
* modified). Flags become hard constraints — the agent
|
|
13
|
+
* must respond in the next round.
|
|
14
|
+
*/
|
|
15
|
+
import type { VaultEntry } from "./loop-store.js";
|
|
16
|
+
import type { ProviderSnapshot } from "./evidence-provider.js";
|
|
17
|
+
import type { SelfEvaluation, VerificationResult } from "./protocol.js";
|
|
18
|
+
export declare const CHECK_PROGRESS_REGRESSION = "progress_regression";
|
|
19
|
+
export declare const CHECK_EMPTY_CHANGE_WITH_PASSING = "empty_change_with_passing";
|
|
20
|
+
export declare const CHECK_SUCCESS_WITH_REMAINING_CRITERIA = "success_with_remaining_criteria";
|
|
21
|
+
export declare const CHECK_SUCCESS_WITHOUT_VERIFIED_EVIDENCE = "success_without_verified_evidence";
|
|
22
|
+
export declare const CHECK_OUTCOME_SUCCESS_CONTRADICTION = "outcome_success_contradiction";
|
|
23
|
+
export declare const CHECK_SUCCESS_CLAIM_CONFLICT = "success_claim_conflict";
|
|
24
|
+
export declare const CHECK_BLOCKED_WITHOUT_BLOCKER = "blocked_without_blocker";
|
|
25
|
+
export declare const CHECK_RETROACTIVE_CLAIM_BAD_ROUND = "retroactive_claim_bad_round";
|
|
26
|
+
export declare const CHECK_RETROACTIVE_CLAIM_UNVERIFIED = "retroactive_claim_unverified";
|
|
27
|
+
export declare const CHECK_DUPLICATE_CONSTRAINT_DISCOVERY = "duplicate_constraint_discovery";
|
|
28
|
+
export declare const CHECK_RECURRING_VIOLATION = "recurring_violation";
|
|
29
|
+
export declare const CHECK_RETRACT_FRESH_CONSTRAINT = "retract_fresh_constraint";
|
|
30
|
+
export declare const CHECK_EVIDENCE_INTEGRITY = "evidence_integrity";
|
|
31
|
+
export declare const CHECK_REQUIRED_COMMAND_FAILED = "required_command_failed";
|
|
32
|
+
export declare const CHECK_COMMAND_EVIDENCE_MISMATCH = "command_evidence_mismatch";
|
|
33
|
+
export declare const CHECK_INTENT_DRIFT = "intent_drift";
|
|
34
|
+
export declare const CHECK_SUBGOAL_DRIFT = "subgoal_drift";
|
|
35
|
+
export declare const CHECK_BACKTRACK_WORKSPACE_NOT_RESTORED = "backtrack_workspace_not_restored";
|
|
36
|
+
export declare const CHECK_CRITERIA_CLAIMS_UNVERIFIED = "criteria_claims_unverified";
|
|
37
|
+
/** v3.2: success declared with no machine-verified observation this round
|
|
38
|
+
* (providerStatus ≠ verified). Warn-level: the round still commits, but its
|
|
39
|
+
* success never enters the trajectory and trust drops. */
|
|
40
|
+
export declare const CHECK_SUCCESS_UNVERIFIED = "success_unverified";
|
|
41
|
+
/** Extract the round number from a vault entry's loop_lineage.
|
|
42
|
+
* Returns 0 if the entry has no lineage or no round field.
|
|
43
|
+
* In practice, persistLoopLineage always writes round ≥ 1, so 0
|
|
44
|
+
* unambiguously means "not a valid round entry" in this context.
|
|
45
|
+
* Exported for reuse by enforcement-gate.ts. */
|
|
46
|
+
export declare function entryRound(entry: VaultEntry): number;
|
|
47
|
+
export interface EvidenceStatus {
|
|
48
|
+
/** Whether this round produced a machine-verified observation. */
|
|
49
|
+
providerStatus: "verified" | "unavailable" | "absent";
|
|
50
|
+
/** Git snapshot exists and diffed file changes this round. */
|
|
51
|
+
gitObserved: boolean;
|
|
52
|
+
/** A passed after-phase command snapshot exists. */
|
|
53
|
+
commandVerified: boolean;
|
|
54
|
+
/** Agent-reported test_results agree with a passed command's parsed stdout. */
|
|
55
|
+
testsMachineBacked: boolean;
|
|
56
|
+
/** Agent-reported files_changed equals the git diff set exactly. */
|
|
57
|
+
reportedFilesMatch: boolean;
|
|
58
|
+
}
|
|
59
|
+
/** v3.2: Derive the machine-verification status of a round. The verification
|
|
60
|
+
* capability is modeled explicitly (verified / unavailable / absent) instead
|
|
61
|
+
* of letting evidence-dependent checks silently disappear when snapshots are
|
|
62
|
+
* missing — the fix for the "weakest when it matters most" gap. */
|
|
63
|
+
export declare function deriveEvidenceStatus(selfEval: SelfEvaluation, evidenceSnapshots: ProviderSnapshot[]): EvidenceStatus;
|
|
64
|
+
/** v3.2: Per-round machine progress — whether git observed file changes in
|
|
65
|
+
* each of the last `lookback` committed rounds, rebuilt from the feedback
|
|
66
|
+
* entries' roundEvidence snapshots (already persisted at commit). Returns
|
|
67
|
+
* null when fewer than `lookback` rounds carry git snapshots — the machine
|
|
68
|
+
* signal is unavailable and callers (R4/R5 on the heuristic path) keep
|
|
69
|
+
* their legacy skip. The snapshot shape is parsed defensively here because
|
|
70
|
+
* this module must not import round-transaction (import cycle). */
|
|
71
|
+
export declare function machineProgressSeries(vaultEntries: VaultEntry[], currentRound: number, lookback: number): boolean[] | null;
|
|
72
|
+
interface ParsedTestCounts {
|
|
73
|
+
passed: number;
|
|
74
|
+
failed: number;
|
|
75
|
+
skipped: number;
|
|
76
|
+
total: number;
|
|
77
|
+
}
|
|
78
|
+
/** Best-effort parse of test counts from common test-runner output formats.
|
|
79
|
+
*
|
|
80
|
+
* Scans the last 2000 characters of stdout (where summary lines typically
|
|
81
|
+
* appear) and tries patterns in descending specificity order. Returns null
|
|
82
|
+
* when the output format is unrecognized, stdout is empty, or a confident
|
|
83
|
+
* parse cannot be made.
|
|
84
|
+
*
|
|
85
|
+
* Recognized formats: Jest verbose/compact, Mocha, pytest/unittest, Go test,
|
|
86
|
+
* and PHPUnit OK summaries. */
|
|
87
|
+
export declare function parseTestOutput(stdout: string): ParsedTestCounts | null;
|
|
88
|
+
/** Verify a SelfEvaluation against the loop's cross-round lineage.
|
|
89
|
+
*
|
|
90
|
+
* @param selfEval The agent's self-evaluation for the current round.
|
|
91
|
+
* @param currentRound The current round number (1-based).
|
|
92
|
+
* @param vaultEntries Vault entries for this loop (non-feedback only).
|
|
93
|
+
* @param prevSelfEval The agent's self-evaluation from the previous round
|
|
94
|
+
* (null for round 1).
|
|
95
|
+
* @param evidenceSnapshots v1.18: Evidence snapshots from configured providers.
|
|
96
|
+
* Used by checkEvidenceIntegrity for multi-provider
|
|
97
|
+
* cross-validation. Defaults to empty array. */
|
|
98
|
+
export declare function verifySelfEvaluation(selfEval: SelfEvaluation, currentRound: number, vaultEntries: VaultEntry[], prevSelfEval?: SelfEvaluation | null, evidenceSnapshots?: ProviderSnapshot[],
|
|
99
|
+
/** v2.13: Files from skipped backtrack rounds. If the agent's
|
|
100
|
+
* files_changed overlaps significantly with these, the workspace
|
|
101
|
+
* was not properly restored before working. */
|
|
102
|
+
backtrackSkippedFiles?: string[],
|
|
103
|
+
/** v2.12: Git HEAD commit of the backtrack restore point. When set, the
|
|
104
|
+
* current git snapshot must sit at this commit — otherwise the workspace
|
|
105
|
+
* was not restored and the round cannot be accepted. */
|
|
106
|
+
backtrackTargetGitHead?: string): VerificationResult;
|
|
107
|
+
export {};
|
|
108
|
+
//# sourceMappingURL=verification-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-gate.d.ts","sourceRoot":"","sources":["../src/verification-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAY1F,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,+BAA+B,8BAA8B,CAAC;AAC3E,eAAO,MAAM,qCAAqC,oCAAoC,CAAC;AACvF,eAAO,MAAM,uCAAuC,sCAAsC,CAAC;AAC3F,eAAO,MAAM,mCAAmC,kCAAkC,CAAC;AACnF,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AACrE,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAC/E,eAAO,MAAM,kCAAkC,iCAAiC,CAAC;AACjF,eAAO,MAAM,oCAAoC,mCAAmC,CAAC;AACrF,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AACzE,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,+BAA+B,8BAA8B,CAAC;AAC3E,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,sCAAsC,qCAAqC,CAAC;AACzF,eAAO,MAAM,gCAAgC,+BAA+B,CAAC;AAC7E;;2DAE2D;AAC3D,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAM7D;;;;iDAIiD;AACjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEpD;AAgBD,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,cAAc,EAAE,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;IACtD,8DAA8D;IAC9D,WAAW,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,eAAe,EAAE,OAAO,CAAC;IACzB,+EAA+E;IAC/E,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAUD;;;oEAGoE;AACpE,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,gBAAgB,EAAE,GACpC,cAAc,CAuChB;AAED;;;;;;oEAMoE;AACpE,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,EAAE,GAAG,IAAI,CAyBlB;AA0iBD,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;gCAQgC;AAChC,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA4DvE;AAgOD;;;;;;;;;4EAS4E;AAC5E,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,GAAE,cAAc,GAAG,IAAW,EAC1C,iBAAiB,GAAE,gBAAgB,EAAO;AAC1C;;gDAEgD;AAChD,qBAAqB,GAAE,MAAM,EAAO;AACpC;;yDAEyD;AACzD,sBAAsB,CAAC,EAAE,MAAM,GAC9B,kBAAkB,CAqEpB"}
|