@specverse/engines 6.42.3 → 6.60.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/dist/ai/analyse-runner.d.ts.map +1 -1
- package/dist/ai/analyse-runner.js +53 -1
- package/dist/ai/analyse-runner.js.map +1 -1
- package/dist/ai/prompt-runner.d.ts +39 -1
- package/dist/ai/prompt-runner.d.ts.map +1 -1
- package/dist/ai/prompt-runner.js +44 -3
- package/dist/ai/prompt-runner.js.map +1 -1
- package/dist/ai/providers/claude-cli.d.ts.map +1 -1
- package/dist/ai/providers/claude-cli.js +8 -1
- package/dist/ai/providers/claude-cli.js.map +1 -1
- package/dist/ai/skill-loader.d.ts +50 -0
- package/dist/ai/skill-loader.d.ts.map +1 -0
- package/dist/ai/skill-loader.js +96 -0
- package/dist/ai/skill-loader.js.map +1 -0
- package/dist/analyse-prepass/adapters/index.d.ts +2 -0
- package/dist/analyse-prepass/adapters/index.d.ts.map +1 -1
- package/dist/analyse-prepass/adapters/index.js +2 -0
- package/dist/analyse-prepass/adapters/index.js.map +1 -1
- package/dist/analyse-prepass/adapters/module-functions.d.ts +95 -0
- package/dist/analyse-prepass/adapters/module-functions.d.ts.map +1 -0
- package/dist/analyse-prepass/adapters/module-functions.js +358 -0
- package/dist/analyse-prepass/adapters/module-functions.js.map +1 -0
- package/dist/analyse-prepass/adapters/naming-convention-fks.d.ts +90 -0
- package/dist/analyse-prepass/adapters/naming-convention-fks.d.ts.map +1 -0
- package/dist/analyse-prepass/adapters/naming-convention-fks.js +181 -0
- package/dist/analyse-prepass/adapters/naming-convention-fks.js.map +1 -0
- package/dist/analyse-prepass/index.d.ts +8 -0
- package/dist/analyse-prepass/index.d.ts.map +1 -1
- package/dist/analyse-prepass/index.js +130 -0
- package/dist/analyse-prepass/index.js.map +1 -1
- package/dist/libs/instance-factories/cli/templates/commander/cli-entry-generator.js +11 -12
- package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +2 -2
- package/dist/libs/instance-factories/controllers/templates/fastify/routes-generator.js +29 -10
- package/dist/libs/instance-factories/services/templates/prisma/ai-behaviors-generator.js +10 -9
- package/dist/libs/instance-factories/services/templates/prisma/behavior-generator.js +24 -2
- package/dist/libs/instance-factories/services/templates/prisma/controller-generator.js +28 -20
- package/dist/normalise/index.d.ts +14 -0
- package/dist/normalise/index.d.ts.map +1 -0
- package/dist/normalise/index.js +14 -0
- package/dist/normalise/index.js.map +1 -0
- package/dist/normalise/load-overrides.d.ts +43 -0
- package/dist/normalise/load-overrides.d.ts.map +1 -0
- package/dist/normalise/load-overrides.js +121 -0
- package/dist/normalise/load-overrides.js.map +1 -0
- package/dist/normalise/normalise-rules.d.ts +181 -0
- package/dist/normalise/normalise-rules.d.ts.map +1 -0
- package/dist/normalise/normalise-rules.js +79 -0
- package/dist/normalise/normalise-rules.js.map +1 -0
- package/dist/normalise/rules/cluster-module-functions.d.ts +31 -0
- package/dist/normalise/rules/cluster-module-functions.d.ts.map +1 -0
- package/dist/normalise/rules/cluster-module-functions.js +238 -0
- package/dist/normalise/rules/cluster-module-functions.js.map +1 -0
- package/dist/normalise/rules/crud-into-curved.d.ts +117 -0
- package/dist/normalise/rules/crud-into-curved.d.ts.map +1 -0
- package/dist/normalise/rules/crud-into-curved.js +303 -0
- package/dist/normalise/rules/crud-into-curved.js.map +1 -0
- package/dist/normalise/rules/drop-trivial-passthrough.d.ts +92 -0
- package/dist/normalise/rules/drop-trivial-passthrough.d.ts.map +1 -0
- package/dist/normalise/rules/drop-trivial-passthrough.js +217 -0
- package/dist/normalise/rules/drop-trivial-passthrough.js.map +1 -0
- package/dist/normalise/runner.d.ts +58 -0
- package/dist/normalise/runner.d.ts.map +1 -0
- package/dist/normalise/runner.js +114 -0
- package/dist/normalise/runner.js.map +1 -0
- package/dist/parser/import-resolver/resolver.js +1 -1
- package/dist/parser/import-resolver/resolver.js.map +1 -1
- package/dist/realize/engines/typescript-engine.js +1 -1
- package/dist/realize/engines/typescript-engine.js.map +1 -1
- package/dist/realize/index.d.ts.map +1 -1
- package/dist/realize/index.js +221 -88
- package/dist/realize/index.js.map +1 -1
- package/dist/realize/library/library.js +1 -1
- package/dist/realize/library/library.js.map +1 -1
- package/dist/realize/library/resolver.d.ts.map +1 -1
- package/dist/realize/library/resolver.js +14 -1
- package/dist/realize/library/resolver.js.map +1 -1
- package/dist/realize/owner-emit-shared.d.ts +114 -0
- package/dist/realize/owner-emit-shared.d.ts.map +1 -0
- package/dist/realize/owner-emit-shared.js +227 -0
- package/dist/realize/owner-emit-shared.js.map +1 -0
- package/dist/realize/per-action-recovery.d.ts +74 -0
- package/dist/realize/per-action-recovery.d.ts.map +1 -0
- package/dist/realize/per-action-recovery.js +268 -0
- package/dist/realize/per-action-recovery.js.map +1 -0
- package/dist/realize/per-owner-emit.d.ts +7 -58
- package/dist/realize/per-owner-emit.d.ts.map +1 -1
- package/dist/realize/per-owner-emit.js +67 -215
- package/dist/realize/per-owner-emit.js.map +1 -1
- package/dist/realize/per-owner-runner.d.ts +24 -4
- package/dist/realize/per-owner-runner.d.ts.map +1 -1
- package/dist/realize/per-owner-runner.js +77 -19
- package/dist/realize/per-owner-runner.js.map +1 -1
- package/dist/realize/post-emit-verify/diagnostics.d.ts +107 -0
- package/dist/realize/post-emit-verify/diagnostics.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/diagnostics.js +148 -0
- package/dist/realize/post-emit-verify/diagnostics.js.map +1 -0
- package/dist/realize/post-emit-verify/feedback-runner.d.ts +123 -0
- package/dist/realize/post-emit-verify/feedback-runner.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/feedback-runner.js +232 -0
- package/dist/realize/post-emit-verify/feedback-runner.js.map +1 -0
- package/dist/realize/post-emit-verify/index.d.ts +19 -0
- package/dist/realize/post-emit-verify/index.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/index.js +18 -0
- package/dist/realize/post-emit-verify/index.js.map +1 -0
- package/dist/realize/post-emit-verify/reemit.d.ts +82 -0
- package/dist/realize/post-emit-verify/reemit.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/reemit.js +124 -0
- package/dist/realize/post-emit-verify/reemit.js.map +1 -0
- package/dist/realize/post-emit-verify/types.d.ts +187 -0
- package/dist/realize/post-emit-verify/types.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/types.js +28 -0
- package/dist/realize/post-emit-verify/types.js.map +1 -0
- package/dist/realize/post-emit-verify/verifier-manifest.d.ts +29 -0
- package/dist/realize/post-emit-verify/verifier-manifest.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/verifier-manifest.js +57 -0
- package/dist/realize/post-emit-verify/verifier-manifest.js.map +1 -0
- package/dist/realize/post-emit-verify/verifiers/stub-completeness.d.ts +85 -0
- package/dist/realize/post-emit-verify/verifiers/stub-completeness.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/verifiers/stub-completeness.js +298 -0
- package/dist/realize/post-emit-verify/verifiers/stub-completeness.js.map +1 -0
- package/dist/realize/post-emit-verify/verifiers/tsc.d.ts +24 -0
- package/dist/realize/post-emit-verify/verifiers/tsc.d.ts.map +1 -0
- package/dist/realize/post-emit-verify/verifiers/tsc.js +148 -0
- package/dist/realize/post-emit-verify/verifiers/tsc.js.map +1 -0
- package/dist/realize/realize-context-snapshot.d.ts +70 -0
- package/dist/realize/realize-context-snapshot.d.ts.map +1 -0
- package/dist/realize/realize-context-snapshot.js +96 -0
- package/dist/realize/realize-context-snapshot.js.map +1 -0
- package/dist/realize/realize-rules.d.ts +113 -0
- package/dist/realize/realize-rules.d.ts.map +1 -0
- package/dist/realize/realize-rules.js +271 -0
- package/dist/realize/realize-rules.js.map +1 -0
- package/dist/realize/structural-validator.d.ts +36 -2
- package/dist/realize/structural-validator.d.ts.map +1 -1
- package/dist/realize/structural-validator.js +50 -7
- package/dist/realize/structural-validator.js.map +1 -1
- package/libs/instance-factories/cli/templates/commander/cli-entry-generator.ts +11 -12
- package/libs/instance-factories/cli/templates/commander/command-generator.ts +2 -2
- package/libs/instance-factories/controllers/templates/fastify/routes-generator.ts +49 -15
- package/libs/instance-factories/services/templates/prisma/ai-behaviors-generator.ts +19 -3
- package/libs/instance-factories/services/templates/prisma/behavior-generator.ts +62 -2
- package/libs/instance-factories/services/templates/prisma/controller-generator.ts +47 -20
- package/package.json +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/realize/library/library.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/realize/library/library.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAmB,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAA4B,MAAM,gBAAgB,CAAC;AA6BpF;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACzB,KAAK,GAA8B,IAAI,GAAG,EAAE,CAAC;IAC7C,SAAS,CAA2B;IACpC,OAAO,GAAoB,EAAE,CAAC;IAEtC;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,OAAkD;QAC5E,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;YACzC,OAAO;YACP,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;YACnC,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,iBAAiB;QACjB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,+BAA+B;QAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAAwB;QAC5C,mCAAmC;QACnC,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAC1C,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CACxC,CAAC;QAEF,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,gCAAgC,GAAG,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,+BAA+B;QAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAqB;QACxC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY,EAAE,YAAqB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,0CAA0C;QAC1C,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;gBACxD,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY,EAAE,YAAqB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,SAAS,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,KAAmB;QACtB,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE5B,qBAAqB;gBACrB,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC1D,SAAS;gBACX,CAAC;gBAED,0BAA0B;gBAC1B,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvE,SAAS;gBACX,CAAC;gBAED,uBAAuB;gBACvB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrB,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;wBAC7D,IAAI,KAAK,CAAC,UAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BACpC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAW,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACvD,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC9C,CAAC;wBACD,OAAO,GAAG,KAAK,KAAK,CAAC,UAAU,CAAC;oBAClC,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,6BAA6B;gBAC7B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrB,IAAI,OAAO,GAAG,IAAI,CAAC;oBAEnB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;wBACxF,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBAED,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;wBAC3F,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBAED,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;wBAC9F,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;wBAC5E,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBAED,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;wBACjG,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBAED,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,iBAAiB;gBACjB,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;oBACjD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;oBAEtE,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,QAAqC;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,OAAwB,EACxB,OAIC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,GAAW;QACjB,kBAAkB;QAClB,IAAI,IAAI,GAAG,GAAG,CAAC;QACf,IAAI,YAAgC,CAAC;QAErC,yBAAyB;QACzB,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,GAAW;QAC7B,kBAAkB;QAClB,IAAI,IAAI,GAAG,GAAG,CAAC;QACf,IAAI,YAAgC,CAAC;QAErC,yBAAyB;QACzB,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,iCAAiC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,wBAAwB;QACxB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;gBACxD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,QAAQ;QAMN,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,YAAY,GAA2B,EAAE,CAAC;QAEhD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE5B,oBAAoB;gBACpB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAE/D,sBAAsB;gBACtB,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;oBACvD,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE;YAC1B,MAAM;YACN,YAAY;SACb,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAoB;IAC7D,MAAM,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAE7C,8BAA8B;IAC9B,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,2CAA2C;IAC3C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC;YACvD,QAAQ,EAAE,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,uDAAuD;IACvD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,6EAA6E;IAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;IAExE,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,oBAAoB;IACpB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+CAA+C;YAC/C,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,yEAAyE;gBACzE,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,EAAE,CAAC;oBAC1C,OAAO,CAAC,IAAI,CAAC,8CAA8C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,sDAAsD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1F,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,4DAA4D,aAAa,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/realize/library/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/realize/library/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAatD,OAAO,KAAK,EAEV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IAErC,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC;IAEd,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,oCAAoC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAG/B,UAAU,EAAE,MAAM;IAClB,QAAQ,CAAC,EAAE,GAAG;gBAFrB,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,GAAG;CAKxB;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,MAAM,CAAiB;gBAEnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,GAAE,cAAmB;IAMxE;;;;;;;OAOG;IACH,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,sBAAsB;IA+FzB;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,sBAAsB,EAAE;IAuDxF;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAkB3H;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAwCnC;;OAEG;IACH,gBAAgB,IAAI;QAClB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;KACzB;CAOF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE;IACR,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC,GACA,uBAAuB,CAOzB"}
|
|
@@ -5,7 +5,20 @@
|
|
|
5
5
|
* using manifest configuration and capability mappings.
|
|
6
6
|
*/
|
|
7
7
|
import path from 'path';
|
|
8
|
+
import { readFileSync } from 'fs';
|
|
9
|
+
import { createRequire } from 'module';
|
|
8
10
|
import { InstanceFactoryValidator } from './validator.js';
|
|
11
|
+
/** Engines package version (read once at module load from @specverse/engines/package.json). */
|
|
12
|
+
const ENGINES_VERSION = (() => {
|
|
13
|
+
try {
|
|
14
|
+
const require = createRequire(import.meta.url);
|
|
15
|
+
const pkgPath = require.resolve('@specverse/engines/package.json');
|
|
16
|
+
return JSON.parse(readFileSync(pkgPath, 'utf8')).version ?? '0.0.0';
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return '0.0.0';
|
|
20
|
+
}
|
|
21
|
+
})();
|
|
9
22
|
/**
|
|
10
23
|
* Resolution error
|
|
11
24
|
*/
|
|
@@ -93,7 +106,7 @@ export class InstanceFactoryResolver {
|
|
|
93
106
|
};
|
|
94
107
|
// Validate the resolved implementation
|
|
95
108
|
const validationResult = this.validator.validateComplete(factory, {
|
|
96
|
-
specverseVersion:
|
|
109
|
+
specverseVersion: ENGINES_VERSION
|
|
97
110
|
});
|
|
98
111
|
if (!validationResult.compatible) {
|
|
99
112
|
throw new ResolutionError(`Instance factory "${factory.name}" validation failed:\n` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/realize/library/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/realize/library/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types and utilities for the per-owner realize emit path.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the (now-deleted) per-action-emitter / per-action-runner /
|
|
5
|
+
* per-action-llm-emit modules when the per-action path retired in engines
|
|
6
|
+
* 6.45.0. Per-owner has been the default since 6.41.0; the per-action
|
|
7
|
+
* escape hatch was scheduled to retire one cycle later (6.42.x) but was
|
|
8
|
+
* pushed by the methodology refactor (6.43.0-6.44.0). This module holds
|
|
9
|
+
* the small set of types + helpers that per-owner-emit and per-owner-runner
|
|
10
|
+
* still need.
|
|
11
|
+
*
|
|
12
|
+
* Three groups of content:
|
|
13
|
+
*
|
|
14
|
+
* 1. **Type re-exports from @specverse/types** — `MatchResult`,
|
|
15
|
+
* `MatcherFn`, `SharedConvention`, `SharedStepContext`. The
|
|
16
|
+
* canonical home is @specverse/types (since #54 in engines 6.37);
|
|
17
|
+
* we re-export here so consumers don't have to know the cross-
|
|
18
|
+
* package path.
|
|
19
|
+
*
|
|
20
|
+
* 2. **Realize-internal types** — `ActionSpec`, `RealizeContext`,
|
|
21
|
+
* `CollectedAction`. The shape of "one action under one owner,
|
|
22
|
+
* ready to dispatch through the matcher and the LLM". These don't
|
|
23
|
+
* live in @specverse/types because they're emit-pipeline-internal.
|
|
24
|
+
*
|
|
25
|
+
* 3. **Helper functions** — `extractTypescriptBlock` (LLM-output
|
|
26
|
+
* fence extraction), `collectActions` (walk a spec, build the
|
|
27
|
+
* per-owner action list), `buildAvailableClientsByOwner` (resolve
|
|
28
|
+
* V2 component imports to per-owner clients map).
|
|
29
|
+
*/
|
|
30
|
+
export type { SharedStepContext, SharedConvention, MatchResult, MatcherFn, } from '@specverse/types';
|
|
31
|
+
/**
|
|
32
|
+
* The unit of work the emitter is asked to fill. A spec-derived view of
|
|
33
|
+
* an action / operation. Plain shape so callers in different phases of
|
|
34
|
+
* the realize pipeline can construct it without coupling to AST internals.
|
|
35
|
+
*/
|
|
36
|
+
export interface ActionSpec {
|
|
37
|
+
/** Action / operation name as it appears in the spec (e.g. `processOrder`). */
|
|
38
|
+
name: string;
|
|
39
|
+
/** Owning component / class — for prompt context + identity. */
|
|
40
|
+
ownerName: string;
|
|
41
|
+
/** Whether this owner is a controller, service, or model.behaviors host. */
|
|
42
|
+
ownerKind: 'controller' | 'service' | 'model';
|
|
43
|
+
/** The spec step bullets — what the LLM (or matcher) is filling in. */
|
|
44
|
+
steps: string[];
|
|
45
|
+
/** Action-level metadata, threaded into both the matcher and the LLM. */
|
|
46
|
+
description?: string;
|
|
47
|
+
parameters?: Record<string, string>;
|
|
48
|
+
returns?: string;
|
|
49
|
+
requires?: string[];
|
|
50
|
+
ensures?: string[];
|
|
51
|
+
publishes?: string[];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Per-owner emission context. Carries what the emitter needs to walk
|
|
55
|
+
* matchers and hand owners to the LLM. Some fields are vestigial from
|
|
56
|
+
* the per-action era (e.g. `aiArgsExpr`, `canCallLLM`) but are still
|
|
57
|
+
* consumed by per-owner-emit's owner-level orchestration.
|
|
58
|
+
*/
|
|
59
|
+
export interface RealizeContext {
|
|
60
|
+
/** Component name the owning entity lives in. */
|
|
61
|
+
componentName: string;
|
|
62
|
+
/** Spec model name powering this controller / service. */
|
|
63
|
+
modelName: string;
|
|
64
|
+
/** Convention-matcher walker (`matchAgainstConventions`). */
|
|
65
|
+
matcher?: import('@specverse/types').MatcherFn;
|
|
66
|
+
/** ORM/driver-specific convention list the matcher walks. */
|
|
67
|
+
conventions?: ReadonlyArray<import('@specverse/types').SharedConvention<import('@specverse/types').SharedStepContext>>;
|
|
68
|
+
/** AI-fallback args expression — per-ORM (prisma vs pg-native shapes). */
|
|
69
|
+
aiArgsExpr?: (inputs: string[], paramNames: string[]) => string;
|
|
70
|
+
/** V2 P3: clients exposed to the LLM via the prompt's `availableClients` slot. */
|
|
71
|
+
availableClients?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* One collected action ready for per-owner emission. Built by
|
|
75
|
+
* {@link collectActions} from the inferred spec.
|
|
76
|
+
*/
|
|
77
|
+
export interface CollectedAction {
|
|
78
|
+
ownerKind: 'controller' | 'service' | 'model';
|
|
79
|
+
/** Controller / service name (the file owner). */
|
|
80
|
+
ownerName: string;
|
|
81
|
+
/** The controller's `model:` reference (or service's "self" name). */
|
|
82
|
+
modelName: string;
|
|
83
|
+
/** Action / operation name as it appears in the spec. */
|
|
84
|
+
actionName: string;
|
|
85
|
+
/** Original ActionSpec — passed through to the LLM emit hook. */
|
|
86
|
+
spec: ActionSpec;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Pull the first ```typescript fenced block out of an LLM response.
|
|
90
|
+
* Tolerates plain ``` (no language tag) when the body starts with
|
|
91
|
+
* recognisably-TS content. Returns null if no block is found.
|
|
92
|
+
*/
|
|
93
|
+
export declare function extractTypescriptBlock(text: string): string | null;
|
|
94
|
+
/**
|
|
95
|
+
* Walk an inferred spec and produce the flat list of actions across all
|
|
96
|
+
* controllers and services. Per-owner-runner groups these by `ownerName`
|
|
97
|
+
* to emit one `<Owner>.ai.ts` file per controller / service.
|
|
98
|
+
*
|
|
99
|
+
* Accepts both spec shapes: `{Name: {...}}` keyed object (the canonical
|
|
100
|
+
* analyse-pipeline output) and `[{name, ...}]` array.
|
|
101
|
+
*/
|
|
102
|
+
export declare function collectActions(spec: any): CollectedAction[];
|
|
103
|
+
/**
|
|
104
|
+
* Build a single component's `availableClients` prompt string from its
|
|
105
|
+
* V2 `import:` block. Returns null when the component has no imports.
|
|
106
|
+
*/
|
|
107
|
+
export declare function buildAvailableClientsForComponent(component: any, topologyByFrom?: Map<string, string>): string | null;
|
|
108
|
+
/**
|
|
109
|
+
* Walk a parsed spec and build the per-owner `availableClients` map.
|
|
110
|
+
* V2 imports are component-scoped; every controller and service inside
|
|
111
|
+
* a component shares the same `availableClients` string.
|
|
112
|
+
*/
|
|
113
|
+
export declare function buildAvailableClientsByOwner(spec: any, topologyByFrom?: Map<string, string>): Map<string, string>;
|
|
114
|
+
//# sourceMappingURL=owner-emit-shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-emit-shared.d.ts","sourceRoot":"","sources":["../../src/realize/owner-emit-shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAI1B;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9C,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,kBAAkB,EAAE,SAAS,CAAC;IAC/C,6DAA6D;IAC7D,WAAW,CAAC,EAAE,aAAa,CACzB,OAAO,kBAAkB,EAAE,gBAAgB,CAAC,OAAO,kBAAkB,EAAE,iBAAiB,CAAC,CAC1F,CAAC;IACF,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IAChE,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9C,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,IAAI,EAAE,UAAU,CAAC;CAClB;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYlE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,eAAe,EAAE,CAsD3D;AA4BD;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,GAAG,EACd,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,GAAG,IAAI,CA4Bf;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,EACT,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA8BrB"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types and utilities for the per-owner realize emit path.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the (now-deleted) per-action-emitter / per-action-runner /
|
|
5
|
+
* per-action-llm-emit modules when the per-action path retired in engines
|
|
6
|
+
* 6.45.0. Per-owner has been the default since 6.41.0; the per-action
|
|
7
|
+
* escape hatch was scheduled to retire one cycle later (6.42.x) but was
|
|
8
|
+
* pushed by the methodology refactor (6.43.0-6.44.0). This module holds
|
|
9
|
+
* the small set of types + helpers that per-owner-emit and per-owner-runner
|
|
10
|
+
* still need.
|
|
11
|
+
*
|
|
12
|
+
* Three groups of content:
|
|
13
|
+
*
|
|
14
|
+
* 1. **Type re-exports from @specverse/types** — `MatchResult`,
|
|
15
|
+
* `MatcherFn`, `SharedConvention`, `SharedStepContext`. The
|
|
16
|
+
* canonical home is @specverse/types (since #54 in engines 6.37);
|
|
17
|
+
* we re-export here so consumers don't have to know the cross-
|
|
18
|
+
* package path.
|
|
19
|
+
*
|
|
20
|
+
* 2. **Realize-internal types** — `ActionSpec`, `RealizeContext`,
|
|
21
|
+
* `CollectedAction`. The shape of "one action under one owner,
|
|
22
|
+
* ready to dispatch through the matcher and the LLM". These don't
|
|
23
|
+
* live in @specverse/types because they're emit-pipeline-internal.
|
|
24
|
+
*
|
|
25
|
+
* 3. **Helper functions** — `extractTypescriptBlock` (LLM-output
|
|
26
|
+
* fence extraction), `collectActions` (walk a spec, build the
|
|
27
|
+
* per-owner action list), `buildAvailableClientsByOwner` (resolve
|
|
28
|
+
* V2 component imports to per-owner clients map).
|
|
29
|
+
*/
|
|
30
|
+
// ─── Helpers ───────────────────────────────────────────────────────────
|
|
31
|
+
/**
|
|
32
|
+
* Pull the first ```typescript fenced block out of an LLM response.
|
|
33
|
+
* Tolerates plain ``` (no language tag) when the body starts with
|
|
34
|
+
* recognisably-TS content. Returns null if no block is found.
|
|
35
|
+
*/
|
|
36
|
+
export function extractTypescriptBlock(text) {
|
|
37
|
+
const tsBlock = text.match(/```(?:typescript|ts)\s*\n([\s\S]*?)```/);
|
|
38
|
+
if (tsBlock?.[1])
|
|
39
|
+
return tsBlock[1].trim();
|
|
40
|
+
// Generic ``` block — accept when the content looks like TS.
|
|
41
|
+
const generic = text.match(/```\s*\n([\s\S]*?)```/);
|
|
42
|
+
if (generic?.[1]) {
|
|
43
|
+
const candidate = generic[1].trim();
|
|
44
|
+
if (/^(const|let|await|return|throw|if|try)\b/m.test(candidate)) {
|
|
45
|
+
return candidate;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Walk an inferred spec and produce the flat list of actions across all
|
|
52
|
+
* controllers and services. Per-owner-runner groups these by `ownerName`
|
|
53
|
+
* to emit one `<Owner>.ai.ts` file per controller / service.
|
|
54
|
+
*
|
|
55
|
+
* Accepts both spec shapes: `{Name: {...}}` keyed object (the canonical
|
|
56
|
+
* analyse-pipeline output) and `[{name, ...}]` array.
|
|
57
|
+
*/
|
|
58
|
+
export function collectActions(spec) {
|
|
59
|
+
const out = [];
|
|
60
|
+
// Controllers
|
|
61
|
+
const controllerEntries = Array.isArray(spec.controllers)
|
|
62
|
+
? spec.controllers.map((c) => [c?.name ?? '', c])
|
|
63
|
+
: Object.entries(spec.controllers || {});
|
|
64
|
+
for (const [keyName, controller] of controllerEntries) {
|
|
65
|
+
if (!controller?.actions)
|
|
66
|
+
continue;
|
|
67
|
+
const ownerName = controller.name || keyName;
|
|
68
|
+
if (!ownerName)
|
|
69
|
+
continue;
|
|
70
|
+
const modelName = controller.model ||
|
|
71
|
+
controller.modelReference ||
|
|
72
|
+
ownerName.replace(/Controller$/, '');
|
|
73
|
+
for (const [actionName, actionRaw] of Object.entries(controller.actions)) {
|
|
74
|
+
const action = normalizeActionSpec(actionRaw, actionName);
|
|
75
|
+
if (action.steps.length === 0)
|
|
76
|
+
continue;
|
|
77
|
+
out.push({
|
|
78
|
+
ownerKind: 'controller',
|
|
79
|
+
ownerName,
|
|
80
|
+
modelName,
|
|
81
|
+
actionName,
|
|
82
|
+
spec: { ...action, ownerName, ownerKind: 'controller' },
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Services
|
|
87
|
+
const serviceEntries = Array.isArray(spec.services)
|
|
88
|
+
? spec.services.map((s) => [s?.name ?? '', s])
|
|
89
|
+
: Object.entries(spec.services || {});
|
|
90
|
+
for (const [keyName, service] of serviceEntries) {
|
|
91
|
+
if (!service?.operations)
|
|
92
|
+
continue;
|
|
93
|
+
const ownerName = service.name || keyName;
|
|
94
|
+
if (!ownerName)
|
|
95
|
+
continue;
|
|
96
|
+
const modelName = ownerName.replace(/Service$/, '');
|
|
97
|
+
const operationEntries = Array.isArray(service.operations)
|
|
98
|
+
? service.operations.map((op) => [op.name, op])
|
|
99
|
+
: Object.entries(service.operations);
|
|
100
|
+
for (const [actionName, opRaw] of operationEntries) {
|
|
101
|
+
const action = normalizeActionSpec(opRaw, actionName);
|
|
102
|
+
if (action.steps.length === 0)
|
|
103
|
+
continue;
|
|
104
|
+
out.push({
|
|
105
|
+
ownerKind: 'service',
|
|
106
|
+
ownerName,
|
|
107
|
+
modelName,
|
|
108
|
+
actionName,
|
|
109
|
+
spec: { ...action, ownerName, ownerKind: 'service' },
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return out;
|
|
114
|
+
}
|
|
115
|
+
function normalizeActionSpec(raw, actionName) {
|
|
116
|
+
const stepsRaw = raw?.steps ?? raw?.implementation?.steps ?? [];
|
|
117
|
+
const steps = Array.isArray(stepsRaw)
|
|
118
|
+
? stepsRaw
|
|
119
|
+
.map((s) => (typeof s === 'string' ? s : s?.step))
|
|
120
|
+
.filter((s) => typeof s === 'string')
|
|
121
|
+
: [];
|
|
122
|
+
return {
|
|
123
|
+
name: actionName,
|
|
124
|
+
ownerName: '', // filled in by caller
|
|
125
|
+
ownerKind: 'controller', // overwritten by caller
|
|
126
|
+
steps,
|
|
127
|
+
description: raw?.description,
|
|
128
|
+
parameters: raw?.parameters,
|
|
129
|
+
returns: typeof raw?.returns === 'string'
|
|
130
|
+
? raw.returns
|
|
131
|
+
: raw?.returns
|
|
132
|
+
? JSON.stringify(raw.returns)
|
|
133
|
+
: undefined,
|
|
134
|
+
requires: raw?.requires ?? raw?.preconditions,
|
|
135
|
+
ensures: raw?.ensures ?? raw?.postconditions,
|
|
136
|
+
publishes: raw?.publishes ?? raw?.events,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Build a single component's `availableClients` prompt string from its
|
|
141
|
+
* V2 `import:` block. Returns null when the component has no imports.
|
|
142
|
+
*/
|
|
143
|
+
export function buildAvailableClientsForComponent(component, topologyByFrom) {
|
|
144
|
+
const imports = Array.isArray(component?.import) ? component.import : [];
|
|
145
|
+
if (imports.length === 0)
|
|
146
|
+
return null;
|
|
147
|
+
const lines = [];
|
|
148
|
+
for (const entry of imports) {
|
|
149
|
+
const fromName = entry?.from ?? entry?.package ?? entry?.file ?? '';
|
|
150
|
+
if (!fromName)
|
|
151
|
+
continue;
|
|
152
|
+
const select = Array.isArray(entry?.select) ? entry.select : [];
|
|
153
|
+
if (select.length === 0)
|
|
154
|
+
continue;
|
|
155
|
+
const clientName = toClientName(fromName);
|
|
156
|
+
const topology = topologyByFrom?.get(fromName);
|
|
157
|
+
const topoSuffix = topology ? ` (${topology})` : '';
|
|
158
|
+
for (const sel of select) {
|
|
159
|
+
const dotIndex = sel.indexOf('.');
|
|
160
|
+
if (dotIndex === -1) {
|
|
161
|
+
lines.push(` - deps.${clientName} // bare entity export ${sel} from ${fromName}${topoSuffix}`);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
const operation = sel.slice(dotIndex + 1);
|
|
165
|
+
lines.push(` - deps.${clientName}.${operation}(input) // from ${fromName}${topoSuffix}`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
if (lines.length === 0)
|
|
170
|
+
return null;
|
|
171
|
+
return ['Available imported clients (V2 imports):', ...lines].join('\n');
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Walk a parsed spec and build the per-owner `availableClients` map.
|
|
175
|
+
* V2 imports are component-scoped; every controller and service inside
|
|
176
|
+
* a component shares the same `availableClients` string.
|
|
177
|
+
*/
|
|
178
|
+
export function buildAvailableClientsByOwner(spec, topologyByFrom) {
|
|
179
|
+
const out = new Map();
|
|
180
|
+
const components = Array.isArray(spec?.components)
|
|
181
|
+
? spec.components
|
|
182
|
+
: Object.values(spec?.components ?? {});
|
|
183
|
+
for (const component of components) {
|
|
184
|
+
const clientsString = buildAvailableClientsForComponent(component, topologyByFrom);
|
|
185
|
+
if (!clientsString)
|
|
186
|
+
continue;
|
|
187
|
+
const controllerEntries = Array.isArray(component?.controllers)
|
|
188
|
+
? component.controllers.map((c) => [c?.name ?? '', c])
|
|
189
|
+
: Object.entries(component?.controllers ?? {});
|
|
190
|
+
for (const [keyName, c] of controllerEntries) {
|
|
191
|
+
const ownerName = c?.name || keyName;
|
|
192
|
+
if (!ownerName)
|
|
193
|
+
continue;
|
|
194
|
+
out.set(ownerName, clientsString);
|
|
195
|
+
}
|
|
196
|
+
const serviceEntries = Array.isArray(component?.services)
|
|
197
|
+
? component.services.map((s) => [s?.name ?? '', s])
|
|
198
|
+
: Object.entries(component?.services ?? {});
|
|
199
|
+
for (const [keyName, s] of serviceEntries) {
|
|
200
|
+
const ownerName = s?.name || keyName;
|
|
201
|
+
if (!ownerName)
|
|
202
|
+
continue;
|
|
203
|
+
out.set(ownerName, clientsString);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
function toClientName(fromName) {
|
|
209
|
+
// Mirrors the library emitter's toWords: scope-strip, slash → dash,
|
|
210
|
+
// split on camelCase boundary AND non-alphanumeric runs, lowercase.
|
|
211
|
+
const normalised = fromName.replace(/^@/, '').replace(/\//g, '-');
|
|
212
|
+
const words = normalised
|
|
213
|
+
.replace(/([a-z])([A-Z])/g, '$1 $2')
|
|
214
|
+
.replace(/[^a-zA-Z0-9]+/g, ' ')
|
|
215
|
+
.trim()
|
|
216
|
+
.split(' ')
|
|
217
|
+
.filter(Boolean)
|
|
218
|
+
.map((w) => w.toLowerCase());
|
|
219
|
+
if (words.length === 0)
|
|
220
|
+
return 'unknownClient';
|
|
221
|
+
return (words[0] +
|
|
222
|
+
words
|
|
223
|
+
.slice(1)
|
|
224
|
+
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
225
|
+
.join(''));
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=owner-emit-shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-emit-shared.js","sourceRoot":"","sources":["../../src/realize/owner-emit-shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-action recovery tier — Phase 5a of
|
|
3
|
+
* `2026-05-14-PER-ACTION-RECOVERY-TIER.md`.
|
|
4
|
+
*
|
|
5
|
+
* The realize per-owner runner has three tiers:
|
|
6
|
+
*
|
|
7
|
+
* Tier 1 — whole-owner emit (`per-owner-emit.ts`). One LLM call emits
|
|
8
|
+
* the entire `<Owner>.ai.ts`. Works for the easy majority.
|
|
9
|
+
* Tier 2 — THIS MODULE. When Tier 1 fails (structural-preservation
|
|
10
|
+
* reject, parse failure, LLM decline), instead of dropping
|
|
11
|
+
* straight to a γ-stub file, retry the owner ACTION-BY-ACTION
|
|
12
|
+
* — but with the FULL owner context in every call.
|
|
13
|
+
* Tier 3 — γ-stub placeholder file (`renderFallbackPlaceholderFile`
|
|
14
|
+
* in `per-owner-runner.ts`). Only reached if Tier 2 produced
|
|
15
|
+
* ZERO real bodies.
|
|
16
|
+
*
|
|
17
|
+
* "Wide context, narrow output" — the distinction from the abandoned
|
|
18
|
+
* Realize L3 per-action emit: L3 gave the LLM NARROW context (one
|
|
19
|
+
* action's steps, no class shell, no capabilities) and it starved
|
|
20
|
+
* (29/94 actions came back as throw-stubs). This keeps the FULL owner
|
|
21
|
+
* context — every action's [PRE-BAKED] scaffolding, the target runtime,
|
|
22
|
+
* manifest capabilities, V2 clients, cross-service operation surface —
|
|
23
|
+
* in every per-action call, and only narrows the OUTPUT to one function
|
|
24
|
+
* body. The reasoning load per call drops (the model holds one function
|
|
25
|
+
* in its head, not all of them) without re-introducing context
|
|
26
|
+
* starvation.
|
|
27
|
+
*
|
|
28
|
+
* Motivation (Phase 3 trial, 2026-05-14): the quant-fidelity gap between
|
|
29
|
+
* Ollama (Q4 GGUF) and MarrBox (FP8) — SAME model, Qwen3-Coder-30B-A3B
|
|
30
|
+
* — localized to the single hardest owner (`ReactiveStateEngine`, 7
|
|
31
|
+
* interrelated functions). The Mac Mini's 24GB RAM structurally pins it
|
|
32
|
+
* at ~Q4 (Q6/Q8 don't fit), so "run a better quant" is closed. This
|
|
33
|
+
* makes the TASK easier instead.
|
|
34
|
+
*
|
|
35
|
+
* Phase 5a scope: declaration-order emission, full owner SCAFFOLDING
|
|
36
|
+
* context per call. Phase 5b adds dependency-ordered emission +
|
|
37
|
+
* already-emitted siblings shown as concrete code. Phase 5c adds the
|
|
38
|
+
* action-count cap telemetry.
|
|
39
|
+
*/
|
|
40
|
+
import type { LanguageModel } from 'ai';
|
|
41
|
+
import { type PerOwnerEmitRequest } from './per-owner-emit.js';
|
|
42
|
+
/** Per-action recovery function signature — takes the SAME request the
|
|
43
|
+
* whole-owner emit took (it needs the same context), returns the
|
|
44
|
+
* assembled `<Owner>.ai.ts` contents, or null when ZERO actions
|
|
45
|
+
* emitted a real body (caller falls through to the Tier 3 γ-stub). */
|
|
46
|
+
export type PerActionRecoveryFn = (request: PerOwnerEmitRequest) => Promise<string | null>;
|
|
47
|
+
export interface CreatePerActionRecoveryOptions {
|
|
48
|
+
/** LLM model — the shared model used by the rest of realize. */
|
|
49
|
+
model?: LanguageModel;
|
|
50
|
+
/** Per-action call timeout. Default 5min — per-action calls emit one
|
|
51
|
+
* function (1.5-4K tokens) vs the whole-owner emit's 5-15K, so they
|
|
52
|
+
* finish much faster than the per-owner 15min budget. */
|
|
53
|
+
timeoutMs?: number;
|
|
54
|
+
/** Skills to inline into the system prompt for non-claude-cli
|
|
55
|
+
* providers. Defaults to `['realize-emit']` — same skill the
|
|
56
|
+
* whole-owner emit + the post-emit reemit use. */
|
|
57
|
+
skills?: string[];
|
|
58
|
+
/** Structural drop threshold (per action). Defaults to the shared
|
|
59
|
+
* `DEFAULT_STRUCTURAL_DROP_THRESHOLD`; honours
|
|
60
|
+
* `SPECVERSE_REALIZE_STRUCTURAL_DROP_THRESHOLD` when unset. */
|
|
61
|
+
dropThreshold?: number;
|
|
62
|
+
/** Test seam — override the LLM call. Given (system, user) returns
|
|
63
|
+
* the raw model text. */
|
|
64
|
+
generateOverride?: (system: string, user: string) => Promise<string>;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Build a {@link PerActionRecoveryFn}. The returned function loops over
|
|
68
|
+
* the owner's actions, emits each with full owner context, validates
|
|
69
|
+
* (structural + parse), γ-stubs the ones that fail, and assembles the
|
|
70
|
+
* owner file. Returns null only when EVERY action γ-stubbed (caller
|
|
71
|
+
* then uses the Tier 3 placeholder, which is equivalent).
|
|
72
|
+
*/
|
|
73
|
+
export declare function createPerActionRecovery(opts?: CreatePerActionRecoveryOptions): PerActionRecoveryFn;
|
|
74
|
+
//# sourceMappingURL=per-action-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"per-action-recovery.d.ts","sourceRoot":"","sources":["../../src/realize/per-action-recovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAGxC,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAQ7B;;;uEAGuE;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,mBAAmB,KACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,WAAW,8BAA8B;IAC7C,gEAAgE;IAChE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;8DAE0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;uDAEmD;IACnD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;oEAEgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;8BAC0B;IAC1B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACtE;AAsKD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,GAAE,8BAAmC,GACxC,mBAAmB,CAqFrB"}
|