@owlmeans/viable-common 0.0.4
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 +68 -0
- package/agent-meta/manifest.json +16 -0
- package/agent-meta/skills/viable-common/SKILL.md +179 -0
- package/build/agent/index.d.ts +4 -0
- package/build/agent/index.d.ts.map +1 -0
- package/build/agent/index.js +3 -0
- package/build/agent/index.js.map +1 -0
- package/build/agent/memory.d.ts +12 -0
- package/build/agent/memory.d.ts.map +1 -0
- package/build/agent/memory.js +11 -0
- package/build/agent/memory.js.map +1 -0
- package/build/agent/spectator/consts.d.ts +9 -0
- package/build/agent/spectator/consts.d.ts.map +1 -0
- package/build/agent/spectator/consts.js +10 -0
- package/build/agent/spectator/consts.js.map +1 -0
- package/build/agent/spectator/index.d.ts +3 -0
- package/build/agent/spectator/index.d.ts.map +1 -0
- package/build/agent/spectator/index.js +2 -0
- package/build/agent/spectator/index.js.map +1 -0
- package/build/agent/spectator/types.d.ts +13 -0
- package/build/agent/spectator/types.d.ts.map +1 -0
- package/build/agent/spectator/types.js +2 -0
- package/build/agent/spectator/types.js.map +1 -0
- package/build/agent/types.d.ts +10 -0
- package/build/agent/types.d.ts.map +1 -0
- package/build/agent/types.js +2 -0
- package/build/agent/types.js.map +1 -0
- package/build/areas/consts.d.ts +88 -0
- package/build/areas/consts.d.ts.map +1 -0
- package/build/areas/consts.js +106 -0
- package/build/areas/consts.js.map +1 -0
- package/build/areas/index.d.ts +3 -0
- package/build/areas/index.d.ts.map +1 -0
- package/build/areas/index.js +2 -0
- package/build/areas/index.js.map +1 -0
- package/build/areas/types.d.ts +28 -0
- package/build/areas/types.d.ts.map +1 -0
- package/build/areas/types.js +2 -0
- package/build/areas/types.js.map +1 -0
- package/build/ba/consts.d.ts +38 -0
- package/build/ba/consts.d.ts.map +1 -0
- package/build/ba/consts.js +41 -0
- package/build/ba/consts.js.map +1 -0
- package/build/ba/helpers.d.ts +41 -0
- package/build/ba/helpers.d.ts.map +1 -0
- package/build/ba/helpers.js +79 -0
- package/build/ba/helpers.js.map +1 -0
- package/build/ba/index.d.ts +5 -0
- package/build/ba/index.d.ts.map +1 -0
- package/build/ba/index.js +4 -0
- package/build/ba/index.js.map +1 -0
- package/build/ba/schemas.d.ts +13 -0
- package/build/ba/schemas.d.ts.map +1 -0
- package/build/ba/schemas.js +181 -0
- package/build/ba/schemas.js.map +1 -0
- package/build/ba/types.d.ts +113 -0
- package/build/ba/types.d.ts.map +1 -0
- package/build/ba/types.js +2 -0
- package/build/ba/types.js.map +1 -0
- package/build/blueprint/case.d.ts +73 -0
- package/build/blueprint/case.d.ts.map +1 -0
- package/build/blueprint/case.js +244 -0
- package/build/blueprint/case.js.map +1 -0
- package/build/blueprint/consts.d.ts +11 -0
- package/build/blueprint/consts.d.ts.map +1 -0
- package/build/blueprint/consts.js +11 -0
- package/build/blueprint/consts.js.map +1 -0
- package/build/blueprint/index.d.ts +6 -0
- package/build/blueprint/index.d.ts.map +1 -0
- package/build/blueprint/index.js +6 -0
- package/build/blueprint/index.js.map +1 -0
- package/build/blueprint/resolve.d.ts +51 -0
- package/build/blueprint/resolve.d.ts.map +1 -0
- package/build/blueprint/resolve.js +108 -0
- package/build/blueprint/resolve.js.map +1 -0
- package/build/blueprint/schemas.d.ts +41 -0
- package/build/blueprint/schemas.d.ts.map +1 -0
- package/build/blueprint/schemas.js +27 -0
- package/build/blueprint/schemas.js.map +1 -0
- package/build/blueprint/types.d.ts +186 -0
- package/build/blueprint/types.d.ts.map +1 -0
- package/build/blueprint/types.js +32 -0
- package/build/blueprint/types.js.map +1 -0
- package/build/branding.d.ts +19 -0
- package/build/branding.d.ts.map +1 -0
- package/build/branding.js +32 -0
- package/build/branding.js.map +1 -0
- package/build/connect/consts.d.ts +378 -0
- package/build/connect/consts.d.ts.map +1 -0
- package/build/connect/consts.js +425 -0
- package/build/connect/consts.js.map +1 -0
- package/build/connect/entrypoints.d.ts +41 -0
- package/build/connect/entrypoints.d.ts.map +1 -0
- package/build/connect/entrypoints.js +141 -0
- package/build/connect/entrypoints.js.map +1 -0
- package/build/connect/errors.d.ts +50 -0
- package/build/connect/errors.d.ts.map +1 -0
- package/build/connect/errors.js +77 -0
- package/build/connect/errors.js.map +1 -0
- package/build/connect/index.d.ts +8 -0
- package/build/connect/index.d.ts.map +1 -0
- package/build/connect/index.js +6 -0
- package/build/connect/index.js.map +1 -0
- package/build/connect/ops.d.ts +192 -0
- package/build/connect/ops.d.ts.map +1 -0
- package/build/connect/ops.js +2 -0
- package/build/connect/ops.js.map +1 -0
- package/build/connect/references.d.ts +194 -0
- package/build/connect/references.d.ts.map +1 -0
- package/build/connect/references.js +62 -0
- package/build/connect/references.js.map +1 -0
- package/build/connect/schemas.d.ts +59 -0
- package/build/connect/schemas.d.ts.map +1 -0
- package/build/connect/schemas.js +346 -0
- package/build/connect/schemas.js.map +1 -0
- package/build/connect/types.d.ts +428 -0
- package/build/connect/types.d.ts.map +1 -0
- package/build/connect/types.js +2 -0
- package/build/connect/types.js.map +1 -0
- package/build/consts.d.ts +9 -0
- package/build/consts.d.ts.map +1 -0
- package/build/consts.js +31 -0
- package/build/consts.js.map +1 -0
- package/build/convert/consts.d.ts +539 -0
- package/build/convert/consts.d.ts.map +1 -0
- package/build/convert/consts.js +630 -0
- package/build/convert/consts.js.map +1 -0
- package/build/convert/helpers.d.ts +91 -0
- package/build/convert/helpers.d.ts.map +1 -0
- package/build/convert/helpers.js +301 -0
- package/build/convert/helpers.js.map +1 -0
- package/build/convert/index.d.ts +11 -0
- package/build/convert/index.d.ts.map +1 -0
- package/build/convert/index.js +4 -0
- package/build/convert/index.js.map +1 -0
- package/build/convert/schemas.d.ts +62 -0
- package/build/convert/schemas.d.ts.map +1 -0
- package/build/convert/schemas.js +626 -0
- package/build/convert/schemas.js.map +1 -0
- package/build/convert/types.d.ts +683 -0
- package/build/convert/types.d.ts.map +1 -0
- package/build/convert/types.js +2 -0
- package/build/convert/types.js.map +1 -0
- package/build/design/consts.d.ts +25 -0
- package/build/design/consts.d.ts.map +1 -0
- package/build/design/consts.js +26 -0
- package/build/design/consts.js.map +1 -0
- package/build/design/helpers.d.ts +60 -0
- package/build/design/helpers.d.ts.map +1 -0
- package/build/design/helpers.js +221 -0
- package/build/design/helpers.js.map +1 -0
- package/build/design/index.d.ts +6 -0
- package/build/design/index.d.ts.map +1 -0
- package/build/design/index.js +5 -0
- package/build/design/index.js.map +1 -0
- package/build/design/runtime.d.ts +126 -0
- package/build/design/runtime.d.ts.map +1 -0
- package/build/design/runtime.js +65 -0
- package/build/design/runtime.js.map +1 -0
- package/build/design/schemas.d.ts +21 -0
- package/build/design/schemas.d.ts.map +1 -0
- package/build/design/schemas.js +369 -0
- package/build/design/schemas.js.map +1 -0
- package/build/design/types.d.ts +199 -0
- package/build/design/types.d.ts.map +1 -0
- package/build/design/types.js +2 -0
- package/build/design/types.js.map +1 -0
- package/build/dev/consts.d.ts +32 -0
- package/build/dev/consts.d.ts.map +1 -0
- package/build/dev/consts.js +33 -0
- package/build/dev/consts.js.map +1 -0
- package/build/dev/index.d.ts +4 -0
- package/build/dev/index.d.ts.map +1 -0
- package/build/dev/index.js +3 -0
- package/build/dev/index.js.map +1 -0
- package/build/dev/schemas.d.ts +15 -0
- package/build/dev/schemas.d.ts.map +1 -0
- package/build/dev/schemas.js +116 -0
- package/build/dev/schemas.js.map +1 -0
- package/build/dev/types.d.ts +42 -0
- package/build/dev/types.d.ts.map +1 -0
- package/build/dev/types.js +2 -0
- package/build/dev/types.js.map +1 -0
- package/build/execution/consts.d.ts +36 -0
- package/build/execution/consts.d.ts.map +1 -0
- package/build/execution/consts.js +37 -0
- package/build/execution/consts.js.map +1 -0
- package/build/execution/index.d.ts +3 -0
- package/build/execution/index.d.ts.map +1 -0
- package/build/execution/index.js +2 -0
- package/build/execution/index.js.map +1 -0
- package/build/execution/types.d.ts +50 -0
- package/build/execution/types.d.ts.map +1 -0
- package/build/execution/types.js +2 -0
- package/build/execution/types.js.map +1 -0
- package/build/index.d.ts +22 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +21 -0
- package/build/index.js.map +1 -0
- package/build/integrity/consts.d.ts +226 -0
- package/build/integrity/consts.d.ts.map +1 -0
- package/build/integrity/consts.js +401 -0
- package/build/integrity/consts.js.map +1 -0
- package/build/integrity/index.d.ts +4 -0
- package/build/integrity/index.d.ts.map +1 -0
- package/build/integrity/index.js +3 -0
- package/build/integrity/index.js.map +1 -0
- package/build/integrity/types.d.ts +35 -0
- package/build/integrity/types.d.ts.map +1 -0
- package/build/integrity/types.js +2 -0
- package/build/integrity/types.js.map +1 -0
- package/build/integrity/verify.d.ts +23 -0
- package/build/integrity/verify.d.ts.map +1 -0
- package/build/integrity/verify.js +198 -0
- package/build/integrity/verify.js.map +1 -0
- package/build/metadata/consts.d.ts +101 -0
- package/build/metadata/consts.d.ts.map +1 -0
- package/build/metadata/consts.js +104 -0
- package/build/metadata/consts.js.map +1 -0
- package/build/metadata/index.d.ts +3 -0
- package/build/metadata/index.d.ts.map +1 -0
- package/build/metadata/index.js +3 -0
- package/build/metadata/index.js.map +1 -0
- package/build/metadata/types.d.ts +286 -0
- package/build/metadata/types.d.ts.map +1 -0
- package/build/metadata/types.js +39 -0
- package/build/metadata/types.js.map +1 -0
- package/build/moderation/consts.d.ts +58 -0
- package/build/moderation/consts.d.ts.map +1 -0
- package/build/moderation/consts.js +60 -0
- package/build/moderation/consts.js.map +1 -0
- package/build/moderation/index.d.ts +5 -0
- package/build/moderation/index.d.ts.map +1 -0
- package/build/moderation/index.js +4 -0
- package/build/moderation/index.js.map +1 -0
- package/build/moderation/schemas.d.ts +19 -0
- package/build/moderation/schemas.d.ts.map +1 -0
- package/build/moderation/schemas.js +26 -0
- package/build/moderation/schemas.js.map +1 -0
- package/build/moderation/types.d.ts +64 -0
- package/build/moderation/types.d.ts.map +1 -0
- package/build/moderation/types.js +2 -0
- package/build/moderation/types.js.map +1 -0
- package/build/moderation/utils.d.ts +21 -0
- package/build/moderation/utils.d.ts.map +1 -0
- package/build/moderation/utils.js +31 -0
- package/build/moderation/utils.js.map +1 -0
- package/build/preview/consts.d.ts +10 -0
- package/build/preview/consts.d.ts.map +1 -0
- package/build/preview/consts.js +11 -0
- package/build/preview/consts.js.map +1 -0
- package/build/preview/index.d.ts +3 -0
- package/build/preview/index.d.ts.map +1 -0
- package/build/preview/index.js +2 -0
- package/build/preview/index.js.map +1 -0
- package/build/preview/types.d.ts +60 -0
- package/build/preview/types.d.ts.map +1 -0
- package/build/preview/types.js +2 -0
- package/build/preview/types.js.map +1 -0
- package/build/scaffold/consts.d.ts +25 -0
- package/build/scaffold/consts.d.ts.map +1 -0
- package/build/scaffold/consts.js +26 -0
- package/build/scaffold/consts.js.map +1 -0
- package/build/scaffold/helpers.d.ts +35 -0
- package/build/scaffold/helpers.d.ts.map +1 -0
- package/build/scaffold/helpers.js +54 -0
- package/build/scaffold/helpers.js.map +1 -0
- package/build/scaffold/index.d.ts +5 -0
- package/build/scaffold/index.d.ts.map +1 -0
- package/build/scaffold/index.js +4 -0
- package/build/scaffold/index.js.map +1 -0
- package/build/scaffold/schemas.d.ts +5 -0
- package/build/scaffold/schemas.d.ts.map +1 -0
- package/build/scaffold/schemas.js +273 -0
- package/build/scaffold/schemas.js.map +1 -0
- package/build/scaffold/types.d.ts +144 -0
- package/build/scaffold/types.d.ts.map +1 -0
- package/build/scaffold/types.js +2 -0
- package/build/scaffold/types.js.map +1 -0
- package/build/skills/catalogue.d.ts +47 -0
- package/build/skills/catalogue.d.ts.map +1 -0
- package/build/skills/catalogue.js +1566 -0
- package/build/skills/catalogue.js.map +1 -0
- package/build/skills/consts.d.ts +104 -0
- package/build/skills/consts.d.ts.map +1 -0
- package/build/skills/consts.js +170 -0
- package/build/skills/consts.js.map +1 -0
- package/build/skills/index.d.ts +4 -0
- package/build/skills/index.d.ts.map +1 -0
- package/build/skills/index.js +4 -0
- package/build/skills/index.js.map +1 -0
- package/build/skills/roles.d.ts +52 -0
- package/build/skills/roles.d.ts.map +1 -0
- package/build/skills/roles.js +256 -0
- package/build/skills/roles.js.map +1 -0
- package/build/slot/consts.d.ts +305 -0
- package/build/slot/consts.d.ts.map +1 -0
- package/build/slot/consts.js +376 -0
- package/build/slot/consts.js.map +1 -0
- package/build/slot/helpers.d.ts +25 -0
- package/build/slot/helpers.d.ts.map +1 -0
- package/build/slot/helpers.js +27 -0
- package/build/slot/helpers.js.map +1 -0
- package/build/slot/index.d.ts +6 -0
- package/build/slot/index.d.ts.map +1 -0
- package/build/slot/index.js +5 -0
- package/build/slot/index.js.map +1 -0
- package/build/slot/layout.d.ts +72 -0
- package/build/slot/layout.d.ts.map +1 -0
- package/build/slot/layout.js +82 -0
- package/build/slot/layout.js.map +1 -0
- package/build/slot/schemas.d.ts +12 -0
- package/build/slot/schemas.d.ts.map +1 -0
- package/build/slot/schemas.js +43 -0
- package/build/slot/schemas.js.map +1 -0
- package/build/slot/types.d.ts +147 -0
- package/build/slot/types.d.ts.map +1 -0
- package/build/slot/types.js +2 -0
- package/build/slot/types.js.map +1 -0
- package/build/topology/card.d.ts +23 -0
- package/build/topology/card.d.ts.map +1 -0
- package/build/topology/card.js +95 -0
- package/build/topology/card.js.map +1 -0
- package/build/topology/consts.d.ts +32 -0
- package/build/topology/consts.d.ts.map +1 -0
- package/build/topology/consts.js +55 -0
- package/build/topology/consts.js.map +1 -0
- package/build/topology/helpers.d.ts +44 -0
- package/build/topology/helpers.d.ts.map +1 -0
- package/build/topology/helpers.js +112 -0
- package/build/topology/helpers.js.map +1 -0
- package/build/topology/index.d.ts +5 -0
- package/build/topology/index.d.ts.map +1 -0
- package/build/topology/index.js +4 -0
- package/build/topology/index.js.map +1 -0
- package/build/topology/types.d.ts +83 -0
- package/build/topology/types.d.ts.map +1 -0
- package/build/topology/types.js +2 -0
- package/build/topology/types.js.map +1 -0
- package/build/types.d.ts +88 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +2 -0
- package/build/types.js.map +1 -0
- package/build/ux/consts.d.ts +5 -0
- package/build/ux/consts.d.ts.map +1 -0
- package/build/ux/consts.js +6 -0
- package/build/ux/consts.js.map +1 -0
- package/build/ux/index.d.ts +4 -0
- package/build/ux/index.d.ts.map +1 -0
- package/build/ux/index.js +3 -0
- package/build/ux/index.js.map +1 -0
- package/build/ux/schemas.d.ts +8 -0
- package/build/ux/schemas.d.ts.map +1 -0
- package/build/ux/schemas.js +91 -0
- package/build/ux/schemas.js.map +1 -0
- package/build/ux/types.d.ts +21 -0
- package/build/ux/types.d.ts.map +1 -0
- package/build/ux/types.js +2 -0
- package/build/ux/types.js.map +1 -0
- package/package.json +71 -0
- package/src/agent/index.ts +4 -0
- package/src/agent/memory.ts +16 -0
- package/src/agent/spectator/consts.ts +10 -0
- package/src/agent/spectator/index.ts +3 -0
- package/src/agent/spectator/types.ts +14 -0
- package/src/agent/types.ts +10 -0
- package/src/areas/consts.ts +112 -0
- package/src/areas/index.ts +3 -0
- package/src/areas/types.ts +29 -0
- package/src/ba/consts.ts +40 -0
- package/src/ba/helpers.ts +93 -0
- package/src/ba/index.ts +5 -0
- package/src/ba/schemas.ts +196 -0
- package/src/ba/types.ts +125 -0
- package/src/blueprint/case.ts +272 -0
- package/src/blueprint/consts.ts +11 -0
- package/src/blueprint/index.ts +6 -0
- package/src/blueprint/resolve.ts +133 -0
- package/src/blueprint/schemas.ts +44 -0
- package/src/blueprint/types.ts +204 -0
- package/src/branding.ts +34 -0
- package/src/connect/consts.ts +441 -0
- package/src/connect/entrypoints.ts +291 -0
- package/src/connect/errors.ts +91 -0
- package/src/connect/index.ts +7 -0
- package/src/connect/ops.ts +208 -0
- package/src/connect/references.ts +89 -0
- package/src/connect/schemas.ts +384 -0
- package/src/connect/types.ts +456 -0
- package/src/consts.ts +34 -0
- package/src/convert/consts.ts +672 -0
- package/src/convert/helpers.ts +340 -0
- package/src/convert/index.ts +10 -0
- package/src/convert/schemas.ts +663 -0
- package/src/convert/types.ts +741 -0
- package/src/design/consts.ts +26 -0
- package/src/design/helpers.ts +255 -0
- package/src/design/index.ts +5 -0
- package/src/design/runtime.ts +142 -0
- package/src/design/schemas.ts +384 -0
- package/src/design/types.ts +191 -0
- package/src/dev/consts.ts +35 -0
- package/src/dev/index.ts +4 -0
- package/src/dev/schemas.ts +124 -0
- package/src/dev/types.ts +47 -0
- package/src/execution/consts.ts +37 -0
- package/src/execution/index.ts +3 -0
- package/src/execution/types.ts +55 -0
- package/src/index.ts +22 -0
- package/src/integrity/consts.ts +477 -0
- package/src/integrity/index.ts +3 -0
- package/src/integrity/types.ts +37 -0
- package/src/integrity/verify.ts +221 -0
- package/src/metadata/consts.ts +118 -0
- package/src/metadata/index.ts +3 -0
- package/src/metadata/types.ts +310 -0
- package/src/moderation/consts.ts +59 -0
- package/src/moderation/index.ts +4 -0
- package/src/moderation/schemas.ts +28 -0
- package/src/moderation/types.ts +68 -0
- package/src/moderation/utils.ts +35 -0
- package/src/preview/consts.ts +9 -0
- package/src/preview/index.ts +3 -0
- package/src/preview/types.ts +79 -0
- package/src/scaffold/consts.ts +26 -0
- package/src/scaffold/helpers.ts +84 -0
- package/src/scaffold/index.ts +4 -0
- package/src/scaffold/schemas.ts +283 -0
- package/src/scaffold/types.ts +118 -0
- package/src/skills/catalogue.ts +1617 -0
- package/src/skills/consts.ts +183 -0
- package/src/skills/index.ts +4 -0
- package/src/skills/roles.ts +299 -0
- package/src/slot/consts.ts +393 -0
- package/src/slot/helpers.ts +34 -0
- package/src/slot/index.ts +5 -0
- package/src/slot/layout.ts +141 -0
- package/src/slot/schemas.ts +46 -0
- package/src/slot/types.ts +164 -0
- package/src/topology/card.ts +106 -0
- package/src/topology/consts.ts +59 -0
- package/src/topology/helpers.ts +138 -0
- package/src/topology/index.ts +5 -0
- package/src/topology/types.ts +86 -0
- package/src/types.ts +104 -0
- package/src/ux/consts.ts +5 -0
- package/src/ux/index.ts +4 -0
- package/src/ux/schemas.ts +97 -0
- package/src/ux/types.ts +25 -0
- package/tests/connect-convert.spec.ts +161 -0
- package/tests/convert.spec.ts +318 -0
- package/tests/design.spec.ts +136 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import type { SubProject } from '../slot/consts.js';
|
|
2
|
+
import type { ViableSkill } from '../skills/consts.js';
|
|
3
|
+
import type { ViablePersona } from '../skills/roles.js';
|
|
4
|
+
import type { TopologyDescriptor } from '../topology/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* A BLUEPRINT is everything that decides what kind of project the pipeline is building — the
|
|
7
|
+
* language, the framework, the scaffolder, the seed files and the dependencies — as one named,
|
|
8
|
+
* layered value carried on an execution.
|
|
9
|
+
*
|
|
10
|
+
* Before it, each of those was a constant somewhere: one template directory, one hardwired set of
|
|
11
|
+
* five package names, one `VIABLE_SKILLS` catalogue, one `Libraries*` allow-list per area. Nothing
|
|
12
|
+
* was wrong with any of them individually; what was wrong is that they could not be ANSWERED — a
|
|
13
|
+
* helper could not ask "which stack am I generating for", because there was only ever one.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately NOT called a preset: `presets/` in the agent library already means the LLM
|
|
16
|
+
* model/provider configurations, and the two are asked at different moments about different
|
|
17
|
+
* things.
|
|
18
|
+
*/
|
|
19
|
+
export interface Blueprint {
|
|
20
|
+
id: string;
|
|
21
|
+
title: string;
|
|
22
|
+
technology: TechnologyLayer;
|
|
23
|
+
stack: StackLayer;
|
|
24
|
+
template: TemplateLayer;
|
|
25
|
+
createApp: CreateAppLayer;
|
|
26
|
+
packages: PackagesLayer;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The layers, lowest first. A higher layer's value replaces the same key from a lower one.
|
|
30
|
+
*
|
|
31
|
+
* The ordering is the point: `technology` overrides everything, because a change of language
|
|
32
|
+
* invalidates every template, prompt and package below it. Nothing today has more than one
|
|
33
|
+
* technology — the ladder exists so that adding one is a data change.
|
|
34
|
+
*/
|
|
35
|
+
export declare enum BlueprintLayer {
|
|
36
|
+
Technology = "technology",
|
|
37
|
+
Stack = "stack",
|
|
38
|
+
Template = "template",
|
|
39
|
+
CreateApp = "create-app",
|
|
40
|
+
Packages = "packages"
|
|
41
|
+
}
|
|
42
|
+
export declare const BLUEPRINT_LAYER_ORDER: BlueprintLayer[];
|
|
43
|
+
/** Language and toolchain. Overrides everything below it. */
|
|
44
|
+
export interface TechnologyLayer {
|
|
45
|
+
id: string;
|
|
46
|
+
language: string;
|
|
47
|
+
runtime: string;
|
|
48
|
+
/** Extensions a source file may carry, most specific first. Used by the location ladder. */
|
|
49
|
+
extensions: string[];
|
|
50
|
+
/** What a package's manifest must declare, per package kind. */
|
|
51
|
+
buildScripts: Record<string, string>;
|
|
52
|
+
packageManager: string;
|
|
53
|
+
}
|
|
54
|
+
/** Framework family — what the generated code is written AGAINST. */
|
|
55
|
+
export interface StackLayer {
|
|
56
|
+
id: string;
|
|
57
|
+
framework: string;
|
|
58
|
+
/** The arrangement a new project of this stack is created with. */
|
|
59
|
+
topology: TopologyDescriptor;
|
|
60
|
+
/** The skills every prompt of this stack carries, before any per-helper persona. */
|
|
61
|
+
skills: ViableSkill[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The seed: what is laid over the scaffolder's output, and what is then patched.
|
|
65
|
+
*
|
|
66
|
+
* `overlay` is a REFERENCE, never a path — the host resolves it, because the same blueprint is
|
|
67
|
+
* read in an agent container, in a test and (eventually) from a published package, and a path
|
|
68
|
+
* baked in here would be right in exactly one of them.
|
|
69
|
+
*/
|
|
70
|
+
export interface TemplateLayer {
|
|
71
|
+
id: string;
|
|
72
|
+
overlay: string;
|
|
73
|
+
/**
|
|
74
|
+
* Paths the scaffolder writes that this overlay SUPERSEDES — deleted after the overlay lands.
|
|
75
|
+
*
|
|
76
|
+
* Not tidiness. The two seeds are both complete, opinionated projects, and where they disagree
|
|
77
|
+
* the loser's file does not become inert: it stays in the workspace, is compiled by `tsc`, and
|
|
78
|
+
* imports packages the winner's manifest never declared. The scaffolder's Vite entry, its
|
|
79
|
+
* `vite.config.ts` and its shell layout each name a dependency or an export the overlay's own
|
|
80
|
+
* wiring does not have, and every one of them fails the type check of a project that is
|
|
81
|
+
* otherwise perfectly correct.
|
|
82
|
+
*
|
|
83
|
+
* A directory takes its whole subtree. A path that is not there is a no-op, because the two
|
|
84
|
+
* seeds move independently and an overlay must not break when the scaffolder stops shipping
|
|
85
|
+
* something it used to supersede.
|
|
86
|
+
*/
|
|
87
|
+
remove?: string[];
|
|
88
|
+
/** Deterministic patches applied after the overlay, in order. */
|
|
89
|
+
patches: BlueprintPatchSpec[];
|
|
90
|
+
/** Overlay subtrees that belong to one role only — the per-package half of a template. */
|
|
91
|
+
perRole?: Partial<Record<SubProject, string>>;
|
|
92
|
+
}
|
|
93
|
+
export interface BlueprintPatchSpec {
|
|
94
|
+
/** Target path, relative to the project root. */
|
|
95
|
+
path: string;
|
|
96
|
+
kind: BlueprintPatchKind;
|
|
97
|
+
}
|
|
98
|
+
export declare enum BlueprintPatchKind {
|
|
99
|
+
/** Deep-merge a JSON document — the manifests, the tsconfigs. */
|
|
100
|
+
JsonMerge = "json-merge",
|
|
101
|
+
/** Rewrite the `<head>` of an HTML document from the project's identity. */
|
|
102
|
+
HtmlHead = "html-head",
|
|
103
|
+
/** Write a document composed from the project's identity. */
|
|
104
|
+
Compose = "compose"
|
|
105
|
+
}
|
|
106
|
+
/** Which scaffolder runs first, and how. */
|
|
107
|
+
export interface CreateAppLayer {
|
|
108
|
+
id: string;
|
|
109
|
+
/** The npm name, for the record. The template itself is always resolved as DATA. */
|
|
110
|
+
package: string;
|
|
111
|
+
/** Scaffold the shell without the example/demo code. Always true for a generated target. */
|
|
112
|
+
bare: boolean;
|
|
113
|
+
/** A reference the host resolves to the scaffolder's template directory. */
|
|
114
|
+
template: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* The dependency choices — and therefore the prompts and skills those choices imply.
|
|
118
|
+
*
|
|
119
|
+
* This is the layer that makes "postgres or mongo" a blueprint question rather than a hardwired
|
|
120
|
+
* catalogue. `capabilities` is what a design stage gates on; `libraries` is what a coder prompt is
|
|
121
|
+
* allowed to import; `skills` is what gets loaded on top of the stack's.
|
|
122
|
+
*/
|
|
123
|
+
export interface PackagesLayer {
|
|
124
|
+
id: string;
|
|
125
|
+
capabilities: BlueprintCapabilities;
|
|
126
|
+
/** Per-topic allow-lists, rendered verbatim into coder prompts. */
|
|
127
|
+
libraries: Record<string, string[]>;
|
|
128
|
+
skills: ViableSkill[];
|
|
129
|
+
/**
|
|
130
|
+
* Skills added to ONE persona, rather than to every prompt of the blueprint.
|
|
131
|
+
*
|
|
132
|
+
* The additive twin of {@link skillsForBlueprint}, which subtracts. `skills` above is what is
|
|
133
|
+
* true of the whole stack; this is what is true of one performer — the analyst who has to know
|
|
134
|
+
* that a game brief is a core loop rather than a numbered flow, the architect who has to know
|
|
135
|
+
* when a tool loop is warranted. Without it a case could only change what a CODER is told, and
|
|
136
|
+
* a case changes the product analysis first.
|
|
137
|
+
*/
|
|
138
|
+
personaSkills?: Partial<Record<ViablePersona, ViableSkill[]>>;
|
|
139
|
+
/** Extra dependencies a role's manifest carries, beyond what the overlay ships. */
|
|
140
|
+
deps?: Partial<Record<SubProject, Record<string, string>>>;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* What a target of this blueprint is ABLE to do — read by the design stage before it decides
|
|
144
|
+
* whether a story needs any of it.
|
|
145
|
+
*
|
|
146
|
+
* A capability being on never means a story uses it. It means the question may be asked.
|
|
147
|
+
*/
|
|
148
|
+
export interface BlueprintCapabilities {
|
|
149
|
+
/** Relational persistence — the default resource kind. */
|
|
150
|
+
postgres: boolean;
|
|
151
|
+
/** A pod-local key/value store: TTL, locks, counters, fan-out. */
|
|
152
|
+
kv: boolean;
|
|
153
|
+
/** A broker, and therefore the possibility of work off the request path. */
|
|
154
|
+
queue: boolean;
|
|
155
|
+
/** A separate process consuming that broker. */
|
|
156
|
+
worker: boolean;
|
|
157
|
+
/** LLM agents and pipelines generated INTO the target. */
|
|
158
|
+
agents: boolean;
|
|
159
|
+
/** Request-body validation from generated AJV schemas. */
|
|
160
|
+
validation: boolean;
|
|
161
|
+
}
|
|
162
|
+
/** A partial override of a blueprint, deep-merged over the resolved value. */
|
|
163
|
+
export type BlueprintPatch = {
|
|
164
|
+
[K in keyof Blueprint]?: Blueprint[K] extends string ? Blueprint[K] : Partial<Blueprint[K]>;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* What an EXECUTION carries — an id and an override patch, never the resolved blueprint.
|
|
168
|
+
*
|
|
169
|
+
* An execution state is serialized into a pipeline run row at every step boundary, and that row
|
|
170
|
+
* holds keys, never artifacts. A resolved blueprint is an artifact: it embeds a whole topology, a
|
|
171
|
+
* patch list and two skill sets, and it is reconstructible from these two fields at any time.
|
|
172
|
+
*/
|
|
173
|
+
export interface BlueprintRef {
|
|
174
|
+
id: string;
|
|
175
|
+
/**
|
|
176
|
+
* WHICH KIND of product is being built on that blueprint — the case.
|
|
177
|
+
*
|
|
178
|
+
* A key like the id beside it, resolved into a patch on demand, so a run row still holds no
|
|
179
|
+
* artifact and a case the platform has since corrected reaches a resumed run. Absent applies no
|
|
180
|
+
* patch at all: every project created before cases existed keeps exactly the blueprint it had,
|
|
181
|
+
* which is the only reading that cannot silently take a capability away from a live project.
|
|
182
|
+
*/
|
|
183
|
+
case?: string;
|
|
184
|
+
overrides?: BlueprintPatch;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/blueprint/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,eAAe,CAAA;IAC3B,KAAK,EAAE,UAAU,CAAA;IACjB,QAAQ,EAAE,aAAa,CAAA;IACvB,SAAS,EAAE,cAAc,CAAA;IACzB,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED;;;;;;GAMG;AACH,oBAAY,cAAc;IACxB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,SAAS,eAAe;IACxB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,qBAAqB,EAAE,cAAc,EAMjD,CAAA;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,4FAA4F;IAC5F,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,oFAAoF;IACpF,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,iEAAiE;IACjE,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,kBAAkB,CAAA;CACzB;AAED,oBAAY,kBAAkB;IAC5B,iEAAiE;IACjE,SAAS,eAAe;IACxB,4EAA4E;IAC5E,QAAQ,cAAc;IACtB,6DAA6D;IAC7D,OAAO,YAAY;CACpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAA;IACf,4FAA4F;IAC5F,IAAI,EAAE,OAAO,CAAA;IACb,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,qBAAqB,CAAA;IACnC,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACnC,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;IAC7D,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;CAC3D;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAA;IACjB,kEAAkE;IAClE,EAAE,EAAE,OAAO,CAAA;IACX,4EAA4E;IAC5E,KAAK,EAAE,OAAO,CAAA;IACd,gDAAgD;IAChD,MAAM,EAAE,OAAO,CAAA;IACf,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAA;IACf,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG;KAC1B,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC5F,CAAA;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The layers, lowest first. A higher layer's value replaces the same key from a lower one.
|
|
3
|
+
*
|
|
4
|
+
* The ordering is the point: `technology` overrides everything, because a change of language
|
|
5
|
+
* invalidates every template, prompt and package below it. Nothing today has more than one
|
|
6
|
+
* technology — the ladder exists so that adding one is a data change.
|
|
7
|
+
*/
|
|
8
|
+
export var BlueprintLayer;
|
|
9
|
+
(function (BlueprintLayer) {
|
|
10
|
+
BlueprintLayer["Technology"] = "technology";
|
|
11
|
+
BlueprintLayer["Stack"] = "stack";
|
|
12
|
+
BlueprintLayer["Template"] = "template";
|
|
13
|
+
BlueprintLayer["CreateApp"] = "create-app";
|
|
14
|
+
BlueprintLayer["Packages"] = "packages";
|
|
15
|
+
})(BlueprintLayer || (BlueprintLayer = {}));
|
|
16
|
+
export const BLUEPRINT_LAYER_ORDER = [
|
|
17
|
+
BlueprintLayer.Technology,
|
|
18
|
+
BlueprintLayer.Stack,
|
|
19
|
+
BlueprintLayer.Template,
|
|
20
|
+
BlueprintLayer.CreateApp,
|
|
21
|
+
BlueprintLayer.Packages,
|
|
22
|
+
];
|
|
23
|
+
export var BlueprintPatchKind;
|
|
24
|
+
(function (BlueprintPatchKind) {
|
|
25
|
+
/** Deep-merge a JSON document — the manifests, the tsconfigs. */
|
|
26
|
+
BlueprintPatchKind["JsonMerge"] = "json-merge";
|
|
27
|
+
/** Rewrite the `<head>` of an HTML document from the project's identity. */
|
|
28
|
+
BlueprintPatchKind["HtmlHead"] = "html-head";
|
|
29
|
+
/** Write a document composed from the project's identity. */
|
|
30
|
+
BlueprintPatchKind["Compose"] = "compose";
|
|
31
|
+
})(BlueprintPatchKind || (BlueprintPatchKind = {}));
|
|
32
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/blueprint/types.ts"],"names":[],"mappings":"AA6BA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,iCAAe,CAAA;IACf,uCAAqB,CAAA;IACrB,0CAAwB,CAAA;IACxB,uCAAqB,CAAA;AACvB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,cAAc,CAAC,UAAU;IACzB,cAAc,CAAC,KAAK;IACpB,cAAc,CAAC,QAAQ;IACvB,cAAc,CAAC,SAAS;IACxB,cAAc,CAAC,QAAQ;CACxB,CAAA;AA6DD,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,iEAAiE;IACjE,8CAAwB,CAAA;IACxB,4EAA4E;IAC5E,4CAAsB,CAAA;IACtB,6DAA6D;IAC7D,yCAAmB,CAAA;AACrB,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SlotMetadata } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The build-time environment keys a generated application reads its branding from.
|
|
4
|
+
*
|
|
5
|
+
* Named here, once, because two processes emit them — the publisher for the preview and the agent
|
|
6
|
+
* for a production publish — and a key spelled differently in one of them produces an application
|
|
7
|
+
* that silently falls back to its defaults with nothing anywhere reporting it.
|
|
8
|
+
*/
|
|
9
|
+
export declare const BRANDING_ENV_KEYS: readonly ['BRANDING_COPYRIGHT', 'BRANDING_ORGANIZATION', 'BRANDING_TERMS_URL', 'BRANDING_PRIVACY_URL', 'BRANDING_CREDIT', 'BRANDING_PRODUCT'];
|
|
10
|
+
/**
|
|
11
|
+
* Slot metadata as build-time environment.
|
|
12
|
+
*
|
|
13
|
+
* `BRANDING_CREDIT` is the one value whose ABSENCE means something: only an explicit empty string
|
|
14
|
+
* hides the platform credit, so a metadata set that never carried the key keeps it. That is the
|
|
15
|
+
* safe direction — the opposite failure hands out a paid feature and nobody reports getting more
|
|
16
|
+
* than they paid for.
|
|
17
|
+
*/
|
|
18
|
+
export declare const brandingEnv: (meta: Partial<SlotMetadata>) => Record<string, string>;
|
|
19
|
+
//# sourceMappingURL=branding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../src/branding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAC5B,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,CACV,CAAA;AAEV;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,SAAU,OAAO,CAAC,YAAY,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAO7E,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The build-time environment keys a generated application reads its branding from.
|
|
3
|
+
*
|
|
4
|
+
* Named here, once, because two processes emit them — the publisher for the preview and the agent
|
|
5
|
+
* for a production publish — and a key spelled differently in one of them produces an application
|
|
6
|
+
* that silently falls back to its defaults with nothing anywhere reporting it.
|
|
7
|
+
*/
|
|
8
|
+
export const BRANDING_ENV_KEYS = [
|
|
9
|
+
'BRANDING_COPYRIGHT',
|
|
10
|
+
'BRANDING_ORGANIZATION',
|
|
11
|
+
'BRANDING_TERMS_URL',
|
|
12
|
+
'BRANDING_PRIVACY_URL',
|
|
13
|
+
'BRANDING_CREDIT',
|
|
14
|
+
'BRANDING_PRODUCT',
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* Slot metadata as build-time environment.
|
|
18
|
+
*
|
|
19
|
+
* `BRANDING_CREDIT` is the one value whose ABSENCE means something: only an explicit empty string
|
|
20
|
+
* hides the platform credit, so a metadata set that never carried the key keeps it. That is the
|
|
21
|
+
* safe direction — the opposite failure hands out a paid feature and nobody reports getting more
|
|
22
|
+
* than they paid for.
|
|
23
|
+
*/
|
|
24
|
+
export const brandingEnv = (meta) => ({
|
|
25
|
+
BRANDING_COPYRIGHT: meta.brandingCopyright ?? '',
|
|
26
|
+
BRANDING_ORGANIZATION: meta.brandingOrganization ?? '',
|
|
27
|
+
BRANDING_TERMS_URL: meta.brandingTermsUrl ?? '',
|
|
28
|
+
BRANDING_PRIVACY_URL: meta.brandingPrivacyUrl ?? '',
|
|
29
|
+
BRANDING_CREDIT: meta.brandingCredit === '' ? '' : '1',
|
|
30
|
+
BRANDING_PRODUCT: meta.projectName ?? '',
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=branding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.js","sourceRoot":"","sources":["../src/branding.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;IACpB,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB;CACV,CAAA;AAEV;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAA2B,EAA0B,EAAE,CAAC,CAAC;IACnF,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;IAChD,qBAAqB,EAAE,IAAI,CAAC,oBAAoB,IAAI,EAAE;IACtD,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE;IAC/C,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,IAAI,EAAE;IACnD,eAAe,EAAE,IAAI,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;IACtD,gBAAgB,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;CACzC,CAAC,CAAA"}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The connector contract — how an external coding agent drives the platform.
|
|
3
|
+
*
|
|
4
|
+
* A "connector session" is one external agent (Claude Code, Codex, Copilot, OpenCode, a CLI, a
|
|
5
|
+
* test) attached to one project. Two axes decide what the platform asks of it:
|
|
6
|
+
*
|
|
7
|
+
* - **target** — where the generated project's tree lives. `Cloud` is a publisher slot and the
|
|
8
|
+
* platform reaches it as it always has; `Local` is a directory on the user's own machine, and
|
|
9
|
+
* every file, shell and git command is executed THERE, by the connector, over this contract.
|
|
10
|
+
* - **llm** — who performs the model calls. `Cloud` is the platform's own configured presets,
|
|
11
|
+
* billed in credits; `Local` hands each call to the parent agent as a MODEL TASK, which it runs
|
|
12
|
+
* in a clean subagent and submits back.
|
|
13
|
+
*
|
|
14
|
+
* Everything here is serializable and runtime-free: the SDK, the manager API and the agent all
|
|
15
|
+
* read the same declarations, and none of them may reinvent a name the others parse.
|
|
16
|
+
*/
|
|
17
|
+
/** Where the target project's tree lives for this session. */
|
|
18
|
+
export declare enum ConnectTarget {
|
|
19
|
+
/** A publisher slot: the platform executes commands inside the pod, as it always has. */
|
|
20
|
+
Cloud = "cloud",
|
|
21
|
+
/** A directory on the user's machine: the connector executes the commands. */
|
|
22
|
+
Local = "local"
|
|
23
|
+
}
|
|
24
|
+
/** Who performs the model calls of a run. */
|
|
25
|
+
export declare enum ConnectLlm {
|
|
26
|
+
/** The platform's configured presets — billed against the organization's credits. */
|
|
27
|
+
Cloud = "cloud",
|
|
28
|
+
/**
|
|
29
|
+
* The parent agent. Each call becomes a `ModelTask` the connector delivers, the parent runs in
|
|
30
|
+
* a clean subagent at low reasoning, and submits back as a `ModelTaskResult`.
|
|
31
|
+
*
|
|
32
|
+
* A paid capability, and an experimental one — see `CONNECT_CAP_LOCAL_LLM_KEY`.
|
|
33
|
+
*/
|
|
34
|
+
Local = "local"
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The parent agents the connector knows how to instruct.
|
|
38
|
+
*
|
|
39
|
+
* It decides ONE thing: the wording of "how to run this task" in a model-task envelope, and the
|
|
40
|
+
* files `install_harness` writes. Anything the platform does differently per harness beyond those
|
|
41
|
+
* two is a bug — the protocol is the same for all of them.
|
|
42
|
+
*/
|
|
43
|
+
export declare enum ConnectHarness {
|
|
44
|
+
ClaudeCode = "claude-code",
|
|
45
|
+
Codex = "codex",
|
|
46
|
+
Copilot = "copilot",
|
|
47
|
+
OpenCode = "opencode",
|
|
48
|
+
Other = "other"
|
|
49
|
+
}
|
|
50
|
+
/** What a session is doing. */
|
|
51
|
+
export declare enum ConnectSessionStatus {
|
|
52
|
+
Active = "active",
|
|
53
|
+
/** The connector said goodbye. */
|
|
54
|
+
Closed = "closed",
|
|
55
|
+
/** No presence for {@link CONNECT_SESSION_EXPIRE_MS}; nothing said goodbye. */
|
|
56
|
+
Expired = "expired",
|
|
57
|
+
/** A newer session for the same project took over. */
|
|
58
|
+
Superseded = "superseded"
|
|
59
|
+
}
|
|
60
|
+
/** What a connector is able to execute on this session. */
|
|
61
|
+
export declare enum ConnectExecutor {
|
|
62
|
+
Files = "files",
|
|
63
|
+
Shell = "shell",
|
|
64
|
+
Git = "git",
|
|
65
|
+
/**
|
|
66
|
+
* The parent agent PERFORMS the model calls of a run: each one arrives as a `ModelTask`, is run
|
|
67
|
+
* in a clean subagent and submitted back. Present exactly when `llm` is `Local`.
|
|
68
|
+
*/
|
|
69
|
+
Model = "model",
|
|
70
|
+
/**
|
|
71
|
+
* A PERSON can be asked a question and their answer brought back.
|
|
72
|
+
*
|
|
73
|
+
* Advertised always, and by every connector: a parent agent has a human in front of it by
|
|
74
|
+
* definition, which is the whole reason the platform can ask one anything at all. It is not a
|
|
75
|
+
* narrower `Model` — a model task is inference the platform pays for either way, an inquiry is
|
|
76
|
+
* a decision only a person can make, and a run that cannot ask assumes instead.
|
|
77
|
+
*/
|
|
78
|
+
Human = "human"
|
|
79
|
+
}
|
|
80
|
+
/** What one operation asks a connector to do. */
|
|
81
|
+
export declare enum ConnectOpKind {
|
|
82
|
+
/** Run a slot command against the local tree — the same vocabulary a publisher answers. */
|
|
83
|
+
SlotCommand = "slot-command",
|
|
84
|
+
/** Run one model call and submit its answer. */
|
|
85
|
+
ModelTask = "model-task",
|
|
86
|
+
/** Write the target's configuration (its `.env` files) and report what services are reachable. */
|
|
87
|
+
Configure = "configure",
|
|
88
|
+
/**
|
|
89
|
+
* Put one question to the person the connector is working for, and bring back their answer.
|
|
90
|
+
*
|
|
91
|
+
* An operation like any other — queued to the project, redelivered to whichever session is
|
|
92
|
+
* attached, answered against its own op id — because the alternative was a second channel with
|
|
93
|
+
* its own delivery, expiry and reattachment rules for the one payload that already had them.
|
|
94
|
+
*/
|
|
95
|
+
Inquiry = "inquiry"
|
|
96
|
+
}
|
|
97
|
+
/** How a connector is receiving operations. */
|
|
98
|
+
export declare enum ConnectTransport {
|
|
99
|
+
Socket = "socket",
|
|
100
|
+
Pull = "pull"
|
|
101
|
+
}
|
|
102
|
+
/** Why an operation failed, in the terms the platform reacts to. */
|
|
103
|
+
export declare enum ConnectOpErrorKind {
|
|
104
|
+
/** The answer did not match the shape asked for; ask again. */
|
|
105
|
+
Malformed = "malformed",
|
|
106
|
+
/** The connector executed and refused — a path outside the project, a protected file. */
|
|
107
|
+
Refused = "refused",
|
|
108
|
+
/** The connector cannot serve this at all; the run should stop. */
|
|
109
|
+
Unavailable = "unavailable",
|
|
110
|
+
/** The connector ran out of time. */
|
|
111
|
+
Timeout = "timeout"
|
|
112
|
+
}
|
|
113
|
+
/** What shape a model task's answer came back in. */
|
|
114
|
+
export declare enum ModelTaskResultKind {
|
|
115
|
+
Text = "text",
|
|
116
|
+
Json = "json",
|
|
117
|
+
ToolCalls = "tool-calls",
|
|
118
|
+
Error = "error"
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* The power classes a parent agent offers, and the platform asks for.
|
|
122
|
+
*
|
|
123
|
+
* Three, because a parent has at most a few models and the platform has seventeen roles. The
|
|
124
|
+
* mapping is data ({@link MODEL_TIER_ROLES}) rather than a per-role negotiation: a parent says
|
|
125
|
+
* which of its models is strong, standard and cheap, and the platform stamps each role's tier onto
|
|
126
|
+
* the task it hands out. A parent offering fewer tiers gets its best available one — never a
|
|
127
|
+
* silent downgrade to nothing.
|
|
128
|
+
*/
|
|
129
|
+
export declare enum ModelTier {
|
|
130
|
+
Strong = "strong",
|
|
131
|
+
Standard = "standard",
|
|
132
|
+
Cheap = "cheap"
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Role → tier.
|
|
136
|
+
*
|
|
137
|
+
* Keyed by the role names the platform's model presets use (`ChatModelPurpose` in
|
|
138
|
+
* `@owlmeans/viable`), listed here because the parent-facing contract must not depend on the
|
|
139
|
+
* library that defines them. A role absent from this table gets {@link ModelTier.Standard}.
|
|
140
|
+
*/
|
|
141
|
+
export declare const MODEL_TIER_ROLES: Record<string, ModelTier>;
|
|
142
|
+
export declare const tierOfRole: (role: string) => ModelTier;
|
|
143
|
+
/**
|
|
144
|
+
* Pick the best tier a parent actually offers, never below what was asked for by more than the
|
|
145
|
+
* offer allows.
|
|
146
|
+
*
|
|
147
|
+
* A parent that offers only one model answers every task with it; a parent that offers two gets
|
|
148
|
+
* the nearer of the two. Silence is not an option — a task the connector cannot place is a run
|
|
149
|
+
* that stops.
|
|
150
|
+
*/
|
|
151
|
+
export declare const clampTier: (wanted: ModelTier, offered: ModelTier[]) => ModelTier;
|
|
152
|
+
/** What the model task asks the parent's subagent to produce. */
|
|
153
|
+
export declare enum ModelTaskMode {
|
|
154
|
+
/** Prose or code. */
|
|
155
|
+
Text = "text",
|
|
156
|
+
/** Exactly one JSON object matching `outputSchema`. */
|
|
157
|
+
Json = "json",
|
|
158
|
+
/** A JSON array of tool calls chosen from `tools`. */
|
|
159
|
+
Tools = "tools"
|
|
160
|
+
}
|
|
161
|
+
/** Who a message in a model task's conversation came from. */
|
|
162
|
+
export declare enum ModelTaskRole {
|
|
163
|
+
System = "system",
|
|
164
|
+
User = "user",
|
|
165
|
+
Assistant = "assistant",
|
|
166
|
+
Tool = "tool"
|
|
167
|
+
}
|
|
168
|
+
/** The KIND of thing a job is, so a parent can be told what it is waiting for. */
|
|
169
|
+
export declare enum ConnectJobKind {
|
|
170
|
+
ProjectCreate = "project-create",
|
|
171
|
+
ProjectInit = "project-init",
|
|
172
|
+
ProjectReinit = "project-reinit",
|
|
173
|
+
StoryDevelop = "story-develop",
|
|
174
|
+
FreeFlight = "free-flight",
|
|
175
|
+
PipelineResume = "pipeline-resume",
|
|
176
|
+
/**
|
|
177
|
+
* The four stages of a conversion, plus the purge.
|
|
178
|
+
*
|
|
179
|
+
* One kind per stage rather than one for the whole conversion: each stage is its own platform
|
|
180
|
+
* pipeline run, ends at a decision the user makes, and is looked up by the pipeline alias its
|
|
181
|
+
* kind names. A single `convert` kind would match whichever run row happened to be newest.
|
|
182
|
+
*/
|
|
183
|
+
ConvertIntake = "convert-intake",
|
|
184
|
+
ConvertAnalysis = "convert-analysis",
|
|
185
|
+
ConvertExtraction = "convert-extraction",
|
|
186
|
+
ConvertImplementation = "convert-implementation",
|
|
187
|
+
ConvertPurge = "convert-purge"
|
|
188
|
+
}
|
|
189
|
+
export declare enum ConnectJobStatus {
|
|
190
|
+
Queued = "queued",
|
|
191
|
+
Running = "running",
|
|
192
|
+
/** Running, but waiting on the connector — see `ConnectJob.blockedOn`. */
|
|
193
|
+
Blocked = "blocked",
|
|
194
|
+
Done = "done",
|
|
195
|
+
Failed = "failed"
|
|
196
|
+
}
|
|
197
|
+
/** What a blocked job is waiting for. */
|
|
198
|
+
export declare enum ConnectJobBlock {
|
|
199
|
+
/** Model tasks are queued and nobody is answering them. */
|
|
200
|
+
ModelTask = "model-task",
|
|
201
|
+
/** Slot commands are queued and no connector is attached. */
|
|
202
|
+
LocalOp = "local-op",
|
|
203
|
+
/** The local target has no database configured and the run needs one. */
|
|
204
|
+
Env = "env",
|
|
205
|
+
/** A question is waiting for a person and nobody has answered it. */
|
|
206
|
+
Question = "question"
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* The shapes a question can take on the wire.
|
|
210
|
+
*
|
|
211
|
+
* Mirrors `InquiryKind` in `@owlmeans/llm-common` value for value, and is deliberately a SEPARATE
|
|
212
|
+
* name rather than an import: the connect module is the wire contract and owns its own vocabulary
|
|
213
|
+
* — the same reason `ModelTask` mirrors `DelegatedTask` — which also keeps `manager-api`, which
|
|
214
|
+
* does not depend on the model runtime, free of `@owlmeans/llm-common`. Values are byte-identical,
|
|
215
|
+
* so the platform's mapper is a widening rather than a translation table, and a test pins that.
|
|
216
|
+
*/
|
|
217
|
+
export declare enum ConnectInquiryKind {
|
|
218
|
+
/** Pick one of the offered options, or several when `multiple` is set. */
|
|
219
|
+
Choice = "choice",
|
|
220
|
+
/** Free text. */
|
|
221
|
+
Text = "text",
|
|
222
|
+
/** Yes or no. */
|
|
223
|
+
Confirm = "confirm"
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* How long the platform waits for a person to answer one question.
|
|
227
|
+
*
|
|
228
|
+
* The same forty-five minutes a model task gets, and for the same reason: the bound exists so a
|
|
229
|
+
* parent that has gone away eventually fails the step rather than holding a project lock forever,
|
|
230
|
+
* not to pace somebody who is thinking.
|
|
231
|
+
*/
|
|
232
|
+
export declare const CONNECT_INQUIRY_TIMEOUT_MS = 2700000;
|
|
233
|
+
/** Options one choice question may offer. Beyond this it is a text question with a hint. */
|
|
234
|
+
export declare const CONNECT_INQUIRY_MAX_OPTIONS = 12;
|
|
235
|
+
/**
|
|
236
|
+
* The ceiling on an answer's text.
|
|
237
|
+
*
|
|
238
|
+
* ONE ceiling for the whole stack: the twin is `DEFAULT_INQUIRY_ANSWER_CHARS` in
|
|
239
|
+
* `@owlmeans/llm-common`, and the two must stay equal. Two ceilings means the layer with the
|
|
240
|
+
* larger one truncates silently at the smaller, and the caller records an assumption about an
|
|
241
|
+
* answer the person actually gave.
|
|
242
|
+
*/
|
|
243
|
+
export declare const CONNECT_INQUIRY_MAX_TEXT = 2000;
|
|
244
|
+
/**
|
|
245
|
+
* How long a session survives without a sign of life.
|
|
246
|
+
*
|
|
247
|
+
* A connector refreshes its presence on every socket ping, every long-poll and every submit. Ten
|
|
248
|
+
* minutes is generous on purpose: a parent agent running one model task in a subagent can be
|
|
249
|
+
* silent for several, and expiring a session under it would fail a run that was progressing.
|
|
250
|
+
*/
|
|
251
|
+
export declare const CONNECT_SESSION_EXPIRE_MS = 600000;
|
|
252
|
+
/** Presence key lifetime. Refreshed far more often than it expires. */
|
|
253
|
+
export declare const CONNECT_PRESENCE_TTL_MS = 90000;
|
|
254
|
+
/**
|
|
255
|
+
* The longest a `pull` may hold its response open.
|
|
256
|
+
*
|
|
257
|
+
* Under the ~100 s an edge proxy allows an idle response, and under every MCP host's per-tool
|
|
258
|
+
* ceiling — Codex's default is 60 s. A poll that answers empty is not a failure; it is how a
|
|
259
|
+
* connector with nothing to do stays cheap.
|
|
260
|
+
*/
|
|
261
|
+
export declare const CONNECT_PULL_MAX_WAIT_MS = 45000;
|
|
262
|
+
/** Ops in flight for one project before a dispatcher waits for room. */
|
|
263
|
+
export declare const CONNECT_MAX_PENDING = 32;
|
|
264
|
+
/**
|
|
265
|
+
* How long the platform waits for a parent agent to answer one model task.
|
|
266
|
+
*
|
|
267
|
+
* Forty-five minutes: a subagent on a large refactor, a rate-limited provider, a human who walked
|
|
268
|
+
* away mid-turn. The bound exists so a dead parent eventually fails the step rather than holding a
|
|
269
|
+
* project lock forever — not to pace a working one.
|
|
270
|
+
*/
|
|
271
|
+
export declare const CONNECT_MODEL_TASK_TIMEOUT_MS = 2700000;
|
|
272
|
+
/** How long the platform waits for a connector to write the target's configuration. */
|
|
273
|
+
export declare const CONNECT_CONFIGURE_TIMEOUT_MS = 60000;
|
|
274
|
+
/**
|
|
275
|
+
* The capability key that gates the local-LLM mode.
|
|
276
|
+
*
|
|
277
|
+
* The scoped parameter a route passes to `entitled(...)` is composed by the platform, which owns
|
|
278
|
+
* the payment vocabulary — this is only the key a capability set stores.
|
|
279
|
+
*/
|
|
280
|
+
export declare const CONNECT_CAP_LOCAL_LLM_KEY = "connect--local-llm";
|
|
281
|
+
/** The access-token prefix the platform issues. Every connector token starts with it. */
|
|
282
|
+
export declare const CONNECT_TOKEN_PREFIX = "vib_";
|
|
283
|
+
/**
|
|
284
|
+
* The marker a local project keeps so a connector attaching later knows which platform project it
|
|
285
|
+
* is. No secrets: an id, a slug and the API it belongs to.
|
|
286
|
+
*/
|
|
287
|
+
export declare const CONNECT_MARKER_FILE = ".viable/connect.json";
|
|
288
|
+
/** Where a local run records its child processes. Never committed. */
|
|
289
|
+
export declare const CONNECT_RUN_FILE = ".viable/run.json";
|
|
290
|
+
/** Where a local target keeps the keypair its backend signs internal calls with. Never committed. */
|
|
291
|
+
export declare const CONNECT_LOCAL_SECRETS_FILE = ".viable/local.json";
|
|
292
|
+
/** The directory all three live in; a re-initialization must keep it. */
|
|
293
|
+
export declare const CONNECT_MARKER_DIR = ".viable";
|
|
294
|
+
/**
|
|
295
|
+
* The block a connector owns inside a target's `.env`.
|
|
296
|
+
*
|
|
297
|
+
* Everything between the markers is rewritten on every configure push; everything outside is the
|
|
298
|
+
* user's and is never touched. A local target's database URL is the user's line — the platform
|
|
299
|
+
* provisions no database on a developer's machine.
|
|
300
|
+
*/
|
|
301
|
+
export declare const CONNECT_ENV_BEGIN = "# --- viable:managed ---";
|
|
302
|
+
export declare const CONNECT_ENV_END = "# --- /viable:managed ---";
|
|
303
|
+
/** Socket events a connector session carries. */
|
|
304
|
+
export declare const CONNECT_EVENT_OP = "connect:op";
|
|
305
|
+
export declare const CONNECT_EVENT_SESSION = "connect:session";
|
|
306
|
+
/** Redis resource aliases the platform registers for the relay. */
|
|
307
|
+
export declare const CONNECT_OP_PUBSUB = "connect-op-pubsub";
|
|
308
|
+
export declare const CONNECT_RESULT_PUBSUB = "connect-result-pubsub";
|
|
309
|
+
export declare const CONNECT_OP_STORE = "connect-op-store";
|
|
310
|
+
export declare const CONNECT_SESSION_PUBSUB = "connect-session-pubsub";
|
|
311
|
+
/** The backend resource alias for session records. */
|
|
312
|
+
export declare const RES_CONNECT_SESSION = "connect-session";
|
|
313
|
+
/**
|
|
314
|
+
* The connector's route ids.
|
|
315
|
+
*
|
|
316
|
+
* Owned here rather than by the platform because they ARE the contract: the SDK, the MCP host and
|
|
317
|
+
* the manager API all address the same aliases, and a client that had to be handed its own copy of
|
|
318
|
+
* the tree would be a second place for a name to drift. The platform spreads the declarations
|
|
319
|
+
* these produce into its own entrypoint list and elevates handlers onto them.
|
|
320
|
+
*/
|
|
321
|
+
export declare const connect: Readonly<{
|
|
322
|
+
base: "viable:manager-api:connect:base";
|
|
323
|
+
capabilities: "viable:manager-api:connect:capabilities";
|
|
324
|
+
session: Readonly<{
|
|
325
|
+
open: "viable:manager-api:connect:session:open";
|
|
326
|
+
openDelegated: "viable:manager-api:connect:session:open-delegated";
|
|
327
|
+
get: "viable:manager-api:connect:session:get";
|
|
328
|
+
heartbeat: "viable:manager-api:connect:session:heartbeat";
|
|
329
|
+
close: "viable:manager-api:connect:session:close";
|
|
330
|
+
socket: "viable:manager-api:connect:session:socket";
|
|
331
|
+
}>;
|
|
332
|
+
op: Readonly<{
|
|
333
|
+
pull: "viable:manager-api:connect:op:pull";
|
|
334
|
+
submit: "viable:manager-api:connect:op:submit";
|
|
335
|
+
}>;
|
|
336
|
+
project: Readonly<{
|
|
337
|
+
create: "viable:manager-api:connect:project:create";
|
|
338
|
+
confirm: "viable:manager-api:connect:project:confirm";
|
|
339
|
+
list: "viable:manager-api:connect:project:list";
|
|
340
|
+
status: "viable:manager-api:connect:project:status";
|
|
341
|
+
attach: "viable:manager-api:connect:project:attach";
|
|
342
|
+
reinit: "viable:manager-api:connect:project:reinit";
|
|
343
|
+
modify: "viable:manager-api:connect:project:modify";
|
|
344
|
+
settings: "viable:manager-api:connect:project:settings";
|
|
345
|
+
llm: "viable:manager-api:connect:project:llm";
|
|
346
|
+
/** The per-project converter inference mode. Separate from `llm`: it is not a paid capability. */
|
|
347
|
+
converterLlm: "viable:manager-api:connect:project:converter-llm";
|
|
348
|
+
job: "viable:manager-api:connect:project:job";
|
|
349
|
+
}>;
|
|
350
|
+
convert: Readonly<{
|
|
351
|
+
create: "viable:manager-api:connect:convert:create";
|
|
352
|
+
check: "viable:manager-api:connect:convert:check";
|
|
353
|
+
start: "viable:manager-api:connect:convert:start";
|
|
354
|
+
proceed: "viable:manager-api:connect:convert:proceed";
|
|
355
|
+
cancel: "viable:manager-api:connect:convert:cancel";
|
|
356
|
+
status: "viable:manager-api:connect:convert:status";
|
|
357
|
+
purge: "viable:manager-api:connect:convert:purge";
|
|
358
|
+
}>;
|
|
359
|
+
inquiry: Readonly<{
|
|
360
|
+
answer: "viable:manager-api:connect:inquiry:answer";
|
|
361
|
+
}>;
|
|
362
|
+
story: Readonly<{
|
|
363
|
+
list: "viable:manager-api:connect:story:list";
|
|
364
|
+
get: "viable:manager-api:connect:story:get";
|
|
365
|
+
create: "viable:manager-api:connect:story:create";
|
|
366
|
+
update: "viable:manager-api:connect:story:update";
|
|
367
|
+
delete: "viable:manager-api:connect:story:delete";
|
|
368
|
+
develop: "viable:manager-api:connect:story:develop";
|
|
369
|
+
}>;
|
|
370
|
+
files: Readonly<{
|
|
371
|
+
list: "viable:manager-api:connect:files:list";
|
|
372
|
+
}>;
|
|
373
|
+
pipeline: Readonly<{
|
|
374
|
+
state: "viable:manager-api:connect:pipeline:state";
|
|
375
|
+
resume: "viable:manager-api:connect:pipeline:resume";
|
|
376
|
+
}>;
|
|
377
|
+
}>;
|
|
378
|
+
//# sourceMappingURL=consts.d.ts.map
|