@owlmeans/viable-common 0.0.43 → 0.0.45
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 +3 -3
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/agent-presentation/SKILL.md +4 -4
- package/agent-meta/skills/viable-common/SKILL.md +59 -36
- package/build/agent/consts.d.ts +58 -0
- package/build/agent/consts.d.ts.map +1 -0
- package/build/agent/consts.js +63 -0
- package/build/agent/consts.js.map +1 -0
- package/build/agent/consts.local.d.ts +21 -0
- package/build/agent/consts.local.d.ts.map +1 -0
- package/build/agent/consts.local.js +44 -0
- package/build/agent/consts.local.js.map +1 -0
- package/build/agent/index.d.ts +2 -0
- package/build/agent/index.d.ts.map +1 -1
- package/build/agent/index.js +1 -0
- package/build/agent/index.js.map +1 -1
- package/build/agent/presentation/types.d.ts +21 -0
- package/build/agent/presentation/types.d.ts.map +1 -0
- package/build/agent/presentation/types.js.map +1 -0
- package/build/agent/presentation.d.ts +12 -94
- package/build/agent/presentation.d.ts.map +1 -1
- package/build/agent/presentation.js +218 -299
- package/build/agent/presentation.js.map +1 -1
- package/build/agent/types.d.ts +30 -0
- package/build/agent/types.d.ts.map +1 -1
- package/build/agent/types.local.d.ts +4 -0
- package/build/agent/types.local.d.ts.map +1 -0
- package/build/agent/types.local.js +2 -0
- package/build/agent/types.local.js.map +1 -0
- package/build/areas/consts.d.ts +5 -0
- package/build/areas/consts.d.ts.map +1 -1
- package/build/areas/consts.js +4 -0
- package/build/areas/consts.js.map +1 -1
- package/build/areas/index.d.ts +1 -0
- package/build/areas/index.d.ts.map +1 -1
- package/build/areas/index.js.map +1 -1
- package/build/areas/tenancy/types.d.ts +23 -0
- package/build/areas/tenancy/types.d.ts.map +1 -0
- package/build/areas/tenancy/types.js +2 -0
- package/build/areas/tenancy/types.js.map +1 -0
- package/build/areas/tenancy.d.ts +6 -50
- package/build/areas/tenancy.d.ts.map +1 -1
- package/build/areas/tenancy.js +21 -31
- package/build/areas/tenancy.js.map +1 -1
- package/build/areas/types.d.ts +32 -0
- package/build/areas/types.d.ts.map +1 -1
- package/build/ba/connecting/types.d.ts +45 -0
- package/build/ba/connecting/types.d.ts.map +1 -0
- package/build/ba/connecting/types.js +2 -0
- package/build/ba/connecting/types.js.map +1 -0
- package/build/ba/connecting.d.ts +4 -0
- package/build/ba/connecting.d.ts.map +1 -0
- package/build/ba/connecting.js +47 -0
- package/build/ba/connecting.js.map +1 -0
- package/build/ba/helpers.d.ts +4 -39
- package/build/ba/helpers.d.ts.map +1 -1
- package/build/ba/helpers.js +5 -79
- package/build/ba/helpers.js.map +1 -1
- package/build/ba/index.d.ts +2 -0
- package/build/ba/index.d.ts.map +1 -1
- package/build/ba/index.js +1 -0
- package/build/ba/index.js.map +1 -1
- package/build/ba/types.d.ts +1 -1
- package/build/ba/types.d.ts.map +1 -1
- package/build/blueprint/consts.d.ts +41 -0
- package/build/blueprint/consts.d.ts.map +1 -1
- package/build/blueprint/consts.js +51 -0
- package/build/blueprint/consts.js.map +1 -1
- package/build/blueprint/consts.local.d.ts +2 -0
- package/build/blueprint/consts.local.d.ts.map +1 -0
- package/build/blueprint/consts.local.js +3 -0
- package/build/blueprint/consts.local.js.map +1 -0
- package/build/blueprint/index.d.ts +1 -0
- package/build/blueprint/index.d.ts.map +1 -1
- package/build/blueprint/index.js +1 -0
- package/build/blueprint/index.js.map +1 -1
- package/build/blueprint/types.d.ts +3 -52
- package/build/blueprint/types.d.ts.map +1 -1
- package/build/blueprint/types.js +1 -65
- package/build/blueprint/types.js.map +1 -1
- package/build/blueprint/utils.d.ts +11 -0
- package/build/blueprint/utils.d.ts.map +1 -0
- package/build/blueprint/utils.js +16 -0
- package/build/blueprint/utils.js.map +1 -0
- package/build/branding.d.ts +0 -8
- package/build/branding.d.ts.map +1 -1
- package/build/branding.js +0 -16
- package/build/branding.js.map +1 -1
- package/build/connect/branding/types.d.ts +28 -0
- package/build/connect/branding/types.d.ts.map +1 -0
- package/build/connect/branding/types.js +2 -0
- package/build/connect/branding/types.js.map +1 -0
- package/build/connect/consts.d.ts +2 -10
- package/build/connect/consts.d.ts.map +1 -1
- package/build/connect/consts.js +2 -23
- package/build/connect/consts.js.map +1 -1
- package/build/connect/conversion/types.d.ts +93 -0
- package/build/connect/conversion/types.d.ts.map +1 -0
- package/build/connect/conversion/types.js +2 -0
- package/build/connect/conversion/types.js.map +1 -0
- package/build/connect/entrypoints/types.d.ts +30 -0
- package/build/connect/entrypoints/types.d.ts.map +1 -0
- package/build/connect/entrypoints/types.js +2 -0
- package/build/connect/entrypoints/types.js.map +1 -0
- package/build/connect/entrypoints.d.ts +61 -92
- package/build/connect/entrypoints.d.ts.map +1 -1
- package/build/connect/entrypoints.js +5 -2
- package/build/connect/entrypoints.js.map +1 -1
- package/build/connect/errors/types.d.ts +20 -0
- package/build/connect/errors/types.d.ts.map +1 -0
- package/build/connect/errors/types.js +2 -0
- package/build/connect/errors/types.js.map +1 -0
- package/build/connect/errors.d.ts +32 -0
- package/build/connect/errors.d.ts.map +1 -1
- package/build/connect/errors.js +65 -0
- package/build/connect/errors.js.map +1 -1
- package/build/connect/index.d.ts +13 -2
- package/build/connect/index.d.ts.map +1 -1
- package/build/connect/index.js +1 -0
- package/build/connect/index.js.map +1 -1
- package/build/connect/kit/types.d.ts +52 -0
- package/build/connect/kit/types.d.ts.map +1 -0
- package/build/connect/kit/types.js +2 -0
- package/build/connect/{types.js.map → kit/types.js.map} +1 -1
- package/build/connect/model-tier/types.d.ts +16 -0
- package/build/connect/model-tier/types.d.ts.map +1 -0
- package/build/connect/model-tier/types.js +2 -0
- package/build/connect/model-tier/types.js.map +1 -0
- package/build/connect/model-tier.d.ts +4 -0
- package/build/connect/model-tier.d.ts.map +1 -0
- package/build/connect/model-tier.js +21 -0
- package/build/connect/model-tier.js.map +1 -0
- package/build/connect/{ops.d.ts → ops/types.d.ts} +13 -4
- package/build/connect/ops/types.d.ts.map +1 -0
- package/build/connect/ops/types.js +2 -0
- package/build/connect/ops/types.js.map +1 -0
- package/build/connect/pipeline/types.d.ts +39 -0
- package/build/connect/pipeline/types.d.ts.map +1 -0
- package/build/connect/pipeline/types.js +2 -0
- package/build/connect/pipeline/types.js.map +1 -0
- package/build/connect/project/types.d.ts +127 -0
- package/build/connect/project/types.d.ts.map +1 -0
- package/build/connect/project/types.js +2 -0
- package/build/connect/project/types.js.map +1 -0
- package/build/connect/references/types.d.ts +157 -0
- package/build/connect/references/types.d.ts.map +1 -0
- package/build/connect/references/types.js +2 -0
- package/build/connect/references/types.js.map +1 -0
- package/build/connect/references/types.local.d.ts +5 -0
- package/build/connect/references/types.local.d.ts.map +1 -0
- package/build/connect/references/types.local.js +2 -0
- package/build/connect/references/types.local.js.map +1 -0
- package/build/connect/references.d.ts +1 -153
- package/build/connect/references.d.ts.map +1 -1
- package/build/connect/references.js.map +1 -1
- package/build/connect/schemas.d.ts +9 -5
- package/build/connect/schemas.d.ts.map +1 -1
- package/build/connect/schemas.js +10 -3
- package/build/connect/schemas.js.map +1 -1
- package/build/connect/session/types.d.ts +73 -0
- package/build/connect/session/types.d.ts.map +1 -0
- package/build/connect/session/types.js +2 -0
- package/build/connect/session/types.js.map +1 -0
- package/build/connect/settings/types.d.ts +48 -0
- package/build/connect/settings/types.d.ts.map +1 -0
- package/build/connect/settings/types.js +2 -0
- package/build/connect/settings/types.js.map +1 -0
- package/build/consts.d.ts +8 -0
- package/build/consts.d.ts.map +1 -1
- package/build/consts.js +16 -0
- package/build/consts.js.map +1 -1
- package/build/convert/analysis/types.d.ts +93 -0
- package/build/convert/analysis/types.d.ts.map +1 -0
- package/build/convert/analysis/types.js +2 -0
- package/build/convert/analysis/types.js.map +1 -0
- package/build/convert/census/consts.local.d.ts +55 -0
- package/build/convert/census/consts.local.d.ts.map +1 -0
- package/build/convert/census/consts.local.js +104 -0
- package/build/convert/census/consts.local.js.map +1 -0
- package/build/convert/census/types.d.ts +176 -0
- package/build/convert/census/types.d.ts.map +1 -0
- package/build/convert/census/types.js +2 -0
- package/build/convert/census/types.js.map +1 -0
- package/build/convert/census.d.ts +4 -0
- package/build/convert/census.d.ts.map +1 -0
- package/build/convert/census.js +83 -0
- package/build/convert/census.js.map +1 -0
- package/build/convert/consts.d.ts +4 -12
- package/build/convert/consts.d.ts.map +1 -1
- package/build/convert/consts.js +4 -3
- package/build/convert/consts.js.map +1 -1
- package/build/convert/detection/types.d.ts +67 -0
- package/build/convert/detection/types.d.ts.map +1 -0
- package/build/convert/detection/types.js +2 -0
- package/build/convert/detection/types.js.map +1 -0
- package/build/convert/docs/types.d.ts +129 -0
- package/build/convert/docs/types.d.ts.map +1 -0
- package/build/convert/docs/types.js +2 -0
- package/build/convert/docs/types.js.map +1 -0
- package/build/convert/docs.d.ts +4 -0
- package/build/convert/docs.d.ts.map +1 -0
- package/build/convert/docs.js +9 -0
- package/build/convert/docs.js.map +1 -0
- package/build/convert/estimate/types.d.ts +77 -0
- package/build/convert/estimate/types.d.ts.map +1 -0
- package/build/convert/estimate/types.js +2 -0
- package/build/convert/estimate/types.js.map +1 -0
- package/build/convert/estimate.d.ts +11 -0
- package/build/convert/estimate.d.ts.map +1 -0
- package/build/convert/estimate.js +18 -0
- package/build/convert/estimate.js.map +1 -0
- package/build/convert/helpers.d.ts +14 -78
- package/build/convert/helpers.d.ts.map +1 -1
- package/build/convert/helpers.js +27 -300
- package/build/convert/helpers.js.map +1 -1
- package/build/convert/index.d.ts +15 -0
- package/build/convert/index.d.ts.map +1 -1
- package/build/convert/index.js +6 -0
- package/build/convert/index.js.map +1 -1
- package/build/convert/origin/types.d.ts +41 -0
- package/build/convert/origin/types.d.ts.map +1 -0
- package/build/convert/origin/types.js +2 -0
- package/build/convert/origin/types.js.map +1 -0
- package/build/convert/origin.d.ts +4 -0
- package/build/convert/origin.d.ts.map +1 -0
- package/build/convert/origin.js +25 -0
- package/build/convert/origin.js.map +1 -0
- package/build/convert/record/types.d.ts +98 -0
- package/build/convert/record/types.d.ts.map +1 -0
- package/build/convert/record/types.js +2 -0
- package/build/convert/record/types.js.map +1 -0
- package/build/convert/schemas.d.ts +7 -6
- package/build/convert/schemas.d.ts.map +1 -1
- package/build/convert/schemas.js +1 -5
- package/build/convert/schemas.js.map +1 -1
- package/build/convert/stage/types.d.ts +27 -0
- package/build/convert/stage/types.d.ts.map +1 -0
- package/build/convert/stage/types.js +2 -0
- package/build/convert/stage/types.js.map +1 -0
- package/build/convert/stage.d.ts +4 -0
- package/build/convert/stage.d.ts.map +1 -0
- package/build/convert/stage.js +25 -0
- package/build/convert/stage.js.map +1 -0
- package/build/convert/taxonomy/types.d.ts +71 -0
- package/build/convert/taxonomy/types.d.ts.map +1 -0
- package/build/convert/taxonomy/types.js +2 -0
- package/build/convert/taxonomy/types.js.map +1 -0
- package/build/convert/types.d.ts +1 -648
- package/build/convert/types.d.ts.map +1 -1
- package/build/convert/utils.d.ts +5 -0
- package/build/convert/utils.d.ts.map +1 -0
- package/build/convert/utils.js +6 -0
- package/build/convert/utils.js.map +1 -0
- package/build/design/consts.d.ts +37 -0
- package/build/design/consts.d.ts.map +1 -1
- package/build/design/consts.js +44 -8
- package/build/design/consts.js.map +1 -1
- package/build/design/helpers.d.ts +9 -49
- package/build/design/helpers.d.ts.map +1 -1
- package/build/design/helpers.js +17 -224
- package/build/design/helpers.js.map +1 -1
- package/build/design/index.d.ts +3 -0
- package/build/design/index.d.ts.map +1 -1
- package/build/design/index.js +1 -0
- package/build/design/index.js.map +1 -1
- package/build/design/runtime/types.d.ts +16 -0
- package/build/design/runtime/types.d.ts.map +1 -0
- package/build/design/runtime/types.js +2 -0
- package/build/design/runtime/types.js.map +1 -0
- package/build/design/runtime.d.ts +8 -105
- package/build/design/runtime.d.ts.map +1 -1
- package/build/design/runtime.js +13 -48
- package/build/design/runtime.js.map +1 -1
- package/build/design/schemas.d.ts +1 -9
- package/build/design/schemas.d.ts.map +1 -1
- package/build/design/schemas.js +1 -1
- package/build/design/schemas.js.map +1 -1
- package/build/design/story/types.d.ts +67 -0
- package/build/design/story/types.d.ts.map +1 -0
- package/build/design/story/types.js +2 -0
- package/build/design/story/types.js.map +1 -0
- package/build/design/story.d.ts +4 -0
- package/build/design/story.d.ts.map +1 -0
- package/build/design/story.js +184 -0
- package/build/design/story.js.map +1 -0
- package/build/design/types.d.ts +75 -1
- package/build/design/types.d.ts.map +1 -1
- package/build/dev/schemas.d.ts.map +1 -1
- package/build/dev/schemas.js.map +1 -1
- package/build/dev/types.local.d.ts +5 -0
- package/build/dev/types.local.d.ts.map +1 -0
- package/build/dev/types.local.js +2 -0
- package/build/dev/types.local.js.map +1 -0
- package/build/integrity/consts.d.ts +0 -117
- package/build/integrity/consts.d.ts.map +1 -1
- package/build/integrity/consts.js +0 -281
- package/build/integrity/consts.js.map +1 -1
- package/build/integrity/consts.local.d.ts +5 -0
- package/build/integrity/consts.local.d.ts.map +1 -0
- package/build/integrity/consts.local.js +5 -0
- package/build/integrity/consts.local.js.map +1 -0
- package/build/integrity/index.d.ts +5 -0
- package/build/integrity/index.d.ts.map +1 -1
- package/build/integrity/index.js +3 -0
- package/build/integrity/index.js.map +1 -1
- package/build/integrity/layout/consts.d.ts +59 -0
- package/build/integrity/layout/consts.d.ts.map +1 -0
- package/build/integrity/layout/consts.js +66 -0
- package/build/integrity/layout/consts.js.map +1 -0
- package/build/integrity/layout/consts.local.d.ts +18 -0
- package/build/integrity/layout/consts.local.d.ts.map +1 -0
- package/build/integrity/layout/consts.local.js +176 -0
- package/build/integrity/layout/consts.local.js.map +1 -0
- package/build/integrity/layout/types.d.ts +35 -0
- package/build/integrity/layout/types.d.ts.map +1 -0
- package/build/integrity/layout/types.js +2 -0
- package/build/integrity/layout/types.js.map +1 -0
- package/build/integrity/layout.d.ts +4 -0
- package/build/integrity/layout.d.ts.map +1 -0
- package/build/integrity/layout.js +25 -0
- package/build/integrity/layout.js.map +1 -0
- package/build/integrity/types.d.ts +36 -2
- package/build/integrity/types.d.ts.map +1 -1
- package/build/integrity/utils.d.ts +13 -0
- package/build/integrity/utils.d.ts.map +1 -0
- package/build/integrity/utils.js +12 -0
- package/build/integrity/utils.js.map +1 -0
- package/build/integrity/verify/types.d.ts +26 -0
- package/build/integrity/verify/types.d.ts.map +1 -0
- package/build/integrity/verify/types.js +2 -0
- package/build/integrity/verify/types.js.map +1 -0
- package/build/integrity/verify.d.ts +5 -19
- package/build/integrity/verify.d.ts.map +1 -1
- package/build/integrity/verify.js +165 -175
- package/build/integrity/verify.js.map +1 -1
- package/build/intent/consts.d.ts +16 -0
- package/build/intent/consts.d.ts.map +1 -1
- package/build/intent/consts.js +63 -0
- package/build/intent/consts.js.map +1 -1
- package/build/intent/entrypoints.d.ts +2 -12
- package/build/intent/entrypoints.d.ts.map +1 -1
- package/build/intent/entrypoints.js.map +1 -1
- package/build/intent/index.d.ts +0 -1
- package/build/intent/index.d.ts.map +1 -1
- package/build/intent/index.js +0 -1
- package/build/intent/index.js.map +1 -1
- package/build/intent/types.d.ts +13 -0
- package/build/intent/types.d.ts.map +1 -1
- package/build/metadata/consts.d.ts +33 -0
- package/build/metadata/consts.d.ts.map +1 -1
- package/build/metadata/consts.js +37 -0
- package/build/metadata/consts.js.map +1 -1
- package/build/metadata/types.d.ts +1 -33
- package/build/metadata/types.d.ts.map +1 -1
- package/build/metadata/types.js +1 -38
- package/build/metadata/types.js.map +1 -1
- package/build/moderation/index.d.ts +2 -0
- package/build/moderation/index.d.ts.map +1 -1
- package/build/moderation/index.js +1 -0
- package/build/moderation/index.js.map +1 -1
- package/build/moderation/utils.d.ts +3 -15
- package/build/moderation/utils.d.ts.map +1 -1
- package/build/moderation/utils.js +5 -30
- package/build/moderation/utils.js.map +1 -1
- package/build/moderation/verdict/types.d.ts +24 -0
- package/build/moderation/verdict/types.d.ts.map +1 -0
- package/build/moderation/verdict/types.js +2 -0
- package/build/moderation/verdict/types.js.map +1 -0
- package/build/moderation/verdict.d.ts +4 -0
- package/build/moderation/verdict.d.ts.map +1 -0
- package/build/moderation/verdict.js +21 -0
- package/build/moderation/verdict.js.map +1 -0
- package/build/planning/card/types.d.ts +42 -0
- package/build/planning/card/types.d.ts.map +1 -0
- package/build/planning/card/types.js +2 -0
- package/build/planning/card/types.js.map +1 -0
- package/build/planning/card.d.ts +4 -0
- package/build/planning/card.d.ts.map +1 -0
- package/build/planning/card.js +51 -0
- package/build/planning/card.js.map +1 -0
- package/build/planning/consts.d.ts +13 -1
- package/build/planning/consts.d.ts.map +1 -1
- package/build/planning/consts.js +13 -0
- package/build/planning/consts.js.map +1 -1
- package/build/planning/helpers.d.ts +11 -37
- package/build/planning/helpers.d.ts.map +1 -1
- package/build/planning/helpers.js +24 -103
- package/build/planning/helpers.js.map +1 -1
- package/build/planning/index.d.ts +5 -1
- package/build/planning/index.d.ts.map +1 -1
- package/build/planning/index.js +2 -1
- package/build/planning/index.js.map +1 -1
- package/build/planning/landing/types.d.ts +16 -0
- package/build/planning/landing/types.d.ts.map +1 -0
- package/build/planning/landing/types.js +2 -0
- package/build/planning/landing/types.js.map +1 -0
- package/build/planning/landing.d.ts +5 -22
- package/build/planning/landing.d.ts.map +1 -1
- package/build/planning/landing.js +21 -35
- package/build/planning/landing.js.map +1 -1
- package/build/planning/schemas.d.ts +33 -0
- package/build/planning/schemas.d.ts.map +1 -1
- package/build/planning/schemas.js +173 -4
- package/build/planning/schemas.js.map +1 -1
- package/build/planning/spec/types.d.ts +22 -0
- package/build/planning/spec/types.d.ts.map +1 -0
- package/build/planning/spec/types.js +2 -0
- package/build/planning/spec/types.js.map +1 -0
- package/build/planning/spec.d.ts +4 -0
- package/build/planning/spec.d.ts.map +1 -0
- package/build/planning/spec.js +30 -0
- package/build/planning/spec.js.map +1 -0
- package/build/planning/types.d.ts +6 -5
- package/build/planning/types.d.ts.map +1 -1
- package/build/preview/consts.d.ts +3 -1
- package/build/preview/consts.d.ts.map +1 -1
- package/build/preview/consts.js +2 -0
- package/build/preview/consts.js.map +1 -1
- package/build/preview/types.d.ts +17 -2
- package/build/preview/types.d.ts.map +1 -1
- package/build/scaffold/consts.d.ts +40 -1
- package/build/scaffold/consts.d.ts.map +1 -1
- package/build/scaffold/consts.js +52 -0
- package/build/scaffold/consts.js.map +1 -1
- package/build/scaffold/helpers.d.ts +5 -30
- package/build/scaffold/helpers.d.ts.map +1 -1
- package/build/scaffold/helpers.js +9 -53
- package/build/scaffold/helpers.js.map +1 -1
- package/build/scaffold/index.d.ts +4 -0
- package/build/scaffold/index.d.ts.map +1 -1
- package/build/scaffold/index.js +2 -0
- package/build/scaffold/index.js.map +1 -1
- package/build/scaffold/landing/types.d.ts +48 -0
- package/build/scaffold/landing/types.d.ts.map +1 -0
- package/build/scaffold/landing/types.js +2 -0
- package/build/scaffold/landing/types.js.map +1 -0
- package/build/scaffold/landing.d.ts +4 -0
- package/build/scaffold/landing.d.ts.map +1 -0
- package/build/scaffold/landing.js +95 -0
- package/build/scaffold/landing.js.map +1 -0
- package/build/scaffold/schemas.d.ts +3 -2
- package/build/scaffold/schemas.d.ts.map +1 -1
- package/build/scaffold/schemas.js +177 -7
- package/build/scaffold/schemas.js.map +1 -1
- package/build/scaffold/share/types.d.ts +35 -0
- package/build/scaffold/share/types.d.ts.map +1 -0
- package/build/scaffold/share/types.js +2 -0
- package/build/scaffold/share/types.js.map +1 -0
- package/build/scaffold/share.d.ts +4 -0
- package/build/scaffold/share.d.ts.map +1 -0
- package/build/scaffold/share.js +42 -0
- package/build/scaffold/share.js.map +1 -0
- package/build/scaffold/types.d.ts +114 -2
- package/build/scaffold/types.d.ts.map +1 -1
- package/build/skills/consts.d.ts +42 -0
- package/build/skills/consts.d.ts.map +1 -1
- package/build/skills/consts.js +43 -0
- package/build/skills/consts.js.map +1 -1
- package/build/skills/index.d.ts +0 -1
- package/build/skills/index.d.ts.map +1 -1
- package/build/skills/index.js +0 -1
- package/build/skills/index.js.map +1 -1
- package/build/slot/command/types.d.ts +21 -0
- package/build/slot/command/types.d.ts.map +1 -0
- package/build/slot/command/types.js +2 -0
- package/build/slot/command/types.js.map +1 -0
- package/build/slot/command.d.ts +4 -0
- package/build/slot/command.d.ts.map +1 -0
- package/build/slot/command.js +31 -0
- package/build/slot/command.js.map +1 -0
- package/build/slot/consts.d.ts +7 -13
- package/build/slot/consts.d.ts.map +1 -1
- package/build/slot/consts.js +10 -36
- package/build/slot/consts.js.map +1 -1
- package/build/slot/helpers.d.ts +3 -22
- package/build/slot/helpers.d.ts.map +1 -1
- package/build/slot/helpers.js +5 -26
- package/build/slot/helpers.js.map +1 -1
- package/build/slot/index.d.ts +6 -0
- package/build/slot/index.d.ts.map +1 -1
- package/build/slot/index.js +3 -0
- package/build/slot/index.js.map +1 -1
- package/build/slot/layout/types.d.ts +17 -0
- package/build/slot/layout/types.d.ts.map +1 -0
- package/build/slot/layout/types.js +2 -0
- package/build/slot/layout/types.js.map +1 -0
- package/build/slot/layout.d.ts +5 -66
- package/build/slot/layout.d.ts.map +1 -1
- package/build/slot/layout.js +13 -27
- package/build/slot/layout.js.map +1 -1
- package/build/slot/origin/types.d.ts +23 -0
- package/build/slot/origin/types.d.ts.map +1 -0
- package/build/slot/origin/types.js +2 -0
- package/build/slot/origin/types.js.map +1 -0
- package/build/slot/origin.d.ts +4 -0
- package/build/slot/origin.d.ts.map +1 -0
- package/build/slot/origin.js +15 -0
- package/build/slot/origin.js.map +1 -0
- package/build/slot/types.d.ts +55 -1
- package/build/slot/types.d.ts.map +1 -1
- package/build/slot/utils.d.ts +6 -0
- package/build/slot/utils.d.ts.map +1 -0
- package/build/slot/utils.js +6 -0
- package/build/slot/utils.js.map +1 -0
- package/build/topology/card/types.d.ts +21 -0
- package/build/topology/card/types.d.ts.map +1 -0
- package/build/topology/card/types.js +2 -0
- package/build/topology/card/types.js.map +1 -0
- package/build/topology/card.d.ts +7 -19
- package/build/topology/card.d.ts.map +1 -1
- package/build/topology/card.js +84 -89
- package/build/topology/card.js.map +1 -1
- package/build/topology/consts.local.d.ts +4 -0
- package/build/topology/consts.local.d.ts.map +1 -0
- package/build/topology/consts.local.js +4 -0
- package/build/topology/consts.local.js.map +1 -0
- package/build/topology/helpers.d.ts +7 -33
- package/build/topology/helpers.d.ts.map +1 -1
- package/build/topology/helpers.js +15 -111
- package/build/topology/helpers.js.map +1 -1
- package/build/topology/index.d.ts +3 -0
- package/build/topology/index.d.ts.map +1 -1
- package/build/topology/index.js +1 -0
- package/build/topology/index.js.map +1 -1
- package/build/topology/resolve/types.d.ts +47 -0
- package/build/topology/resolve/types.d.ts.map +1 -0
- package/build/topology/resolve/types.js +2 -0
- package/build/topology/resolve/types.js.map +1 -0
- package/build/topology/resolve.d.ts +4 -0
- package/build/topology/resolve.d.ts.map +1 -0
- package/build/topology/resolve.js +89 -0
- package/build/topology/resolve.js.map +1 -0
- package/build/topology/types.d.ts +5 -0
- package/build/topology/types.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/agent/consts.local.ts +47 -0
- package/src/agent/consts.ts +61 -0
- package/src/agent/index.ts +2 -0
- package/src/agent/presentation/types.ts +21 -0
- package/src/agent/presentation.ts +200 -309
- package/src/agent/types.local.ts +3 -0
- package/src/agent/types.ts +40 -0
- package/src/areas/consts.ts +7 -0
- package/src/areas/index.ts +1 -0
- package/src/areas/tenancy/types.ts +23 -0
- package/src/areas/tenancy.ts +26 -61
- package/src/areas/types.ts +31 -0
- package/src/ba/connecting/types.ts +45 -0
- package/src/ba/connecting.ts +64 -0
- package/src/ba/helpers.ts +8 -92
- package/src/ba/index.ts +2 -0
- package/src/ba/types.ts +1 -1
- package/src/blueprint/consts.local.ts +3 -0
- package/src/blueprint/consts.ts +52 -0
- package/src/blueprint/index.ts +1 -0
- package/src/blueprint/types.ts +4 -74
- package/src/blueprint/utils.ts +20 -0
- package/src/branding.ts +0 -17
- package/src/connect/branding/types.ts +29 -0
- package/src/connect/consts.ts +3 -22
- package/src/connect/conversion/types.ts +96 -0
- package/src/connect/entrypoints/types.ts +25 -0
- package/src/connect/entrypoints.ts +18 -35
- package/src/connect/errors/types.ts +22 -0
- package/src/connect/errors.ts +75 -0
- package/src/connect/index.ts +13 -2
- package/src/connect/kit/types.ts +56 -0
- package/src/connect/model-tier/types.ts +16 -0
- package/src/connect/model-tier.ts +22 -0
- package/src/connect/{ops.ts → ops/types.ts} +13 -3
- package/src/connect/pipeline/types.ts +41 -0
- package/src/connect/project/types.ts +127 -0
- package/src/connect/references/types.local.ts +5 -0
- package/src/connect/references/types.ts +73 -0
- package/src/connect/references.ts +15 -75
- package/src/connect/schemas.ts +19 -12
- package/src/connect/session/types.ts +81 -0
- package/src/connect/settings/types.ts +52 -0
- package/src/consts.ts +17 -0
- package/src/convert/analysis/types.ts +89 -0
- package/src/convert/census/consts.local.ts +120 -0
- package/src/convert/census/types.ts +181 -0
- package/src/convert/census.ts +95 -0
- package/src/convert/consts.ts +5 -14
- package/src/convert/detection/types.ts +74 -0
- package/src/convert/docs/types.ts +151 -0
- package/src/convert/docs.ts +15 -0
- package/src/convert/estimate/types.ts +75 -0
- package/src/convert/estimate.ts +19 -0
- package/src/convert/helpers.ts +29 -328
- package/src/convert/index.ts +15 -0
- package/src/convert/origin/types.ts +43 -0
- package/src/convert/origin.ts +33 -0
- package/src/convert/record/types.ts +105 -0
- package/src/convert/schemas.ts +13 -12
- package/src/convert/stage/types.ts +27 -0
- package/src/convert/stage.ts +31 -0
- package/src/convert/taxonomy/types.ts +74 -0
- package/src/convert/types.ts +5 -703
- package/src/convert/utils.ts +7 -0
- package/src/design/consts.ts +48 -0
- package/src/design/helpers.ts +20 -245
- package/src/design/index.ts +3 -0
- package/src/design/runtime/types.ts +14 -0
- package/src/design/runtime.ts +18 -116
- package/src/design/schemas.ts +2 -10
- package/src/design/story/types.ts +67 -0
- package/src/design/story.ts +221 -0
- package/src/design/types.ts +81 -1
- package/src/dev/schemas.ts +1 -3
- package/src/dev/types.local.ts +4 -0
- package/src/integrity/consts.local.ts +5 -0
- package/src/integrity/consts.ts +0 -348
- package/src/integrity/index.ts +5 -0
- package/src/integrity/layout/consts.local.ts +188 -0
- package/src/integrity/layout/consts.ts +79 -0
- package/src/integrity/layout/types.ts +35 -0
- package/src/integrity/layout.ts +39 -0
- package/src/integrity/types.ts +37 -2
- package/src/integrity/utils.ts +21 -0
- package/src/integrity/verify/types.ts +26 -0
- package/src/integrity/verify.ts +178 -184
- package/src/intent/consts.ts +67 -0
- package/src/intent/entrypoints.ts +2 -3
- package/src/intent/index.ts +0 -1
- package/src/intent/types.ts +10 -0
- package/src/metadata/consts.ts +37 -0
- package/src/metadata/types.ts +1 -37
- package/src/moderation/index.ts +2 -0
- package/src/moderation/utils.ts +7 -30
- package/src/moderation/verdict/types.ts +22 -0
- package/src/moderation/verdict.ts +28 -0
- package/src/planning/card/types.ts +44 -0
- package/src/planning/card.ts +77 -0
- package/src/planning/consts.ts +15 -2
- package/src/planning/helpers.ts +28 -116
- package/src/planning/index.ts +5 -1
- package/src/planning/landing/types.ts +15 -0
- package/src/planning/landing.ts +28 -38
- package/src/planning/schemas.ts +191 -4
- package/src/planning/spec/types.ts +22 -0
- package/src/planning/spec.ts +41 -0
- package/src/planning/types.ts +6 -6
- package/src/preview/consts.ts +2 -0
- package/src/preview/types.ts +19 -0
- package/src/scaffold/consts.ts +65 -1
- package/src/scaffold/helpers.ts +14 -80
- package/src/scaffold/index.ts +4 -0
- package/src/scaffold/landing/types.ts +48 -0
- package/src/scaffold/landing.ts +120 -0
- package/src/scaffold/schemas.ts +183 -7
- package/src/scaffold/share/types.ts +35 -0
- package/src/scaffold/share.ts +60 -0
- package/src/scaffold/types.ts +123 -1
- package/src/skills/consts.ts +46 -0
- package/src/skills/index.ts +0 -1
- package/src/slot/command/types.ts +21 -0
- package/src/slot/command.ts +38 -0
- package/src/slot/consts.ts +11 -40
- package/src/slot/helpers.ts +6 -31
- package/src/slot/index.ts +6 -0
- package/src/slot/layout/types.ts +17 -0
- package/src/slot/layout.ts +19 -77
- package/src/slot/origin/types.ts +23 -0
- package/src/slot/origin.ts +20 -0
- package/src/slot/types.ts +58 -1
- package/src/slot/utils.ts +10 -0
- package/src/topology/card/types.ts +21 -0
- package/src/topology/card.ts +85 -90
- package/src/topology/consts.local.ts +6 -0
- package/src/topology/helpers.ts +20 -125
- package/src/topology/index.ts +3 -0
- package/src/topology/resolve/types.ts +47 -0
- package/src/topology/resolve.ts +118 -0
- package/src/topology/types.ts +6 -0
- package/tests/blueprint.spec.ts +1 -2
- package/tests/branding.spec.ts +2 -2
- package/tests/connect-convert.spec.ts +21 -1
- package/tests/connect-errors.spec.ts +34 -1
- package/tests/convert.spec.ts +51 -52
- package/tests/design.spec.ts +13 -16
- package/tests/error-status.spec.ts +7 -1
- package/tests/planning.spec.ts +58 -75
- package/tests/presentation.spec.ts +21 -23
- package/tests/scaffold.spec.ts +286 -6
- package/tests/tenancy.spec.ts +21 -21
- package/build/connect/ops.d.ts.map +0 -1
- package/build/connect/ops.js +0 -2
- package/build/connect/ops.js.map +0 -1
- package/build/connect/types.d.ts +0 -437
- package/build/connect/types.d.ts.map +0 -1
- package/build/intent/flow.d.ts +0 -17
- package/build/intent/flow.d.ts.map +0 -1
- package/build/intent/flow.js +0 -65
- package/build/intent/flow.js.map +0 -1
- package/build/planning/flows.d.ts +0 -34
- package/build/planning/flows.d.ts.map +0 -1
- package/build/planning/flows.js +0 -174
- package/build/planning/flows.js.map +0 -1
- package/build/skills/roles.d.ts +0 -43
- package/build/skills/roles.d.ts.map +0 -1
- package/build/skills/roles.js +0 -44
- package/build/skills/roles.js.map +0 -1
- package/src/connect/types.ts +0 -466
- package/src/intent/flow.ts +0 -67
- package/src/planning/flows.ts +0 -204
- package/src/skills/roles.ts +0 -46
- /package/build/{connect → agent/presentation}/types.js +0 -0
package/src/skills/consts.ts
CHANGED
|
@@ -85,3 +85,49 @@ export enum ViableSkill {
|
|
|
85
85
|
LibrariesAi = 'libraries-ai',
|
|
86
86
|
LibrariesGame = 'libraries-game',
|
|
87
87
|
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Who the model is being asked to be.
|
|
91
|
+
*
|
|
92
|
+
* A persona is per HELPER, not per model role: `ModelRole` selects which model answers,
|
|
93
|
+
* this selects what it is told it does. Two helpers can share a model and need different
|
|
94
|
+
* personas, and the same persona can run on a cheap or an expensive model depending on
|
|
95
|
+
* the effort tier — keeping the two axes separate is what makes that possible.
|
|
96
|
+
*/
|
|
97
|
+
export enum ViablePersona {
|
|
98
|
+
BusinessAnalyst = 'business-analyst',
|
|
99
|
+
ProductNaming = 'product-naming',
|
|
100
|
+
/** Decides what KIND of product a prompt describes — which blueprint case builds it. */
|
|
101
|
+
ProductArchitect = 'product-architect',
|
|
102
|
+
UxDesigner = 'ux-designer',
|
|
103
|
+
VisualDesigner = 'visual-designer',
|
|
104
|
+
|
|
105
|
+
LayoutArchitect = 'layout-architect',
|
|
106
|
+
ComponentArchitect = 'component-architect',
|
|
107
|
+
StateArchitect = 'state-architect',
|
|
108
|
+
NavigationArchitect = 'navigation-architect',
|
|
109
|
+
DomainTypesArchitect = 'domain-types-architect',
|
|
110
|
+
AccessArchitect = 'access-architect',
|
|
111
|
+
ApiArchitect = 'api-architect',
|
|
112
|
+
DatalayerArchitect = 'datalayer-architect',
|
|
113
|
+
BackendDomainArchitect = 'backend-domain-architect',
|
|
114
|
+
|
|
115
|
+
CommonCoder = 'common-coder',
|
|
116
|
+
UiStateCoder = 'ui-state-coder',
|
|
117
|
+
UiViewCoder = 'ui-view-coder',
|
|
118
|
+
UiNavCoder = 'ui-nav-coder',
|
|
119
|
+
DatalayerCoder = 'datalayer-coder',
|
|
120
|
+
ApiCoder = 'api-coder',
|
|
121
|
+
BackendModelCoder = 'backend-model-coder',
|
|
122
|
+
/** Decides whether a story needs a queue, a worker or an agent — and usually decides it does not. */
|
|
123
|
+
RuntimeArchitect = 'runtime-architect',
|
|
124
|
+
/** Writes queue declarations, job processors and the application's own agents. */
|
|
125
|
+
WorkerCoder = 'worker-coder',
|
|
126
|
+
FreeFlightCoder = 'free-flight-coder',
|
|
127
|
+
|
|
128
|
+
Fixer = 'fixer',
|
|
129
|
+
Orchestrator = 'orchestrator',
|
|
130
|
+
SourceExtractor = 'source-extractor',
|
|
131
|
+
DeclarationLookup = 'declaration-lookup',
|
|
132
|
+
FixAgent = 'fix-agent',
|
|
133
|
+
}
|
package/src/skills/index.ts
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SlotCommandType } from '../consts.js'
|
|
2
|
+
|
|
3
|
+
/** The time bounds of one slot command: the caller's timeout and the executor's deadline. */
|
|
4
|
+
export interface SlotCommandHelper {
|
|
5
|
+
/**
|
|
6
|
+
* Resolve the caller-side bound for one command.
|
|
7
|
+
*
|
|
8
|
+
* One function rather than three lookups at each call site: an asker that forgets the per-command
|
|
9
|
+
* table inherits twenty minutes for a fifteen-second command, which is the failure this table was
|
|
10
|
+
* added to stop.
|
|
11
|
+
*/
|
|
12
|
+
commandTimeout: (type: SlotCommandType, command: string, override?: number) => number
|
|
13
|
+
/**
|
|
14
|
+
* Resolve the executor-side deadline for one command.
|
|
15
|
+
*
|
|
16
|
+
* Per-command first, per-type second. It was per-type only, which is how a clone inherited the
|
|
17
|
+
* bound of a `git status` — the same shape as the shell table above, and added for the same
|
|
18
|
+
* reason.
|
|
19
|
+
*/
|
|
20
|
+
commandDeadline: (type: SlotCommandType, command: string) => number
|
|
21
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { COMMAND_DEADLINES, COMMAND_TIMEOUTS, DEFAULT_COMMAND_DEADLINE, DEFAULT_COMMAND_TIMEOUT, DEFAULT_FILE_COMMAND_DEADLINE, DEFAULT_GIT_COMMAND_DEADLINE, FILE_COMMAND_DEADLINES, FILE_COMMAND_TIMEOUTS, GIT_COMMAND_DEADLINES, GIT_COMMAND_TIMEOUTS, SHELL_COMMAND_TIMEOUTS, SlotCommandType, SlotFileCommand, SlotGitCommand } from './consts.js'
|
|
2
|
+
import type { SlotCommandHelper } from './command/types.js'
|
|
3
|
+
|
|
4
|
+
export const createSlotCommandHelper = (): SlotCommandHelper => {
|
|
5
|
+
/** The per-command caller bound for one command, or nothing where its type's default is right. */
|
|
6
|
+
const perCommandTimeout = (type: SlotCommandType, command: string): number | undefined => {
|
|
7
|
+
switch (type) {
|
|
8
|
+
case SlotCommandType.Shell: return SHELL_COMMAND_TIMEOUTS[command]
|
|
9
|
+
case SlotCommandType.Git: return GIT_COMMAND_TIMEOUTS[command as SlotGitCommand]
|
|
10
|
+
case SlotCommandType.Database: return COMMAND_TIMEOUTS[SlotCommandType.Database]
|
|
11
|
+
default: return FILE_COMMAND_TIMEOUTS[command as SlotFileCommand]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const commandTimeout = (
|
|
16
|
+
type: SlotCommandType, command: string, override?: number
|
|
17
|
+
): number => override
|
|
18
|
+
?? perCommandTimeout(type, command)
|
|
19
|
+
?? COMMAND_TIMEOUTS[type]
|
|
20
|
+
?? DEFAULT_COMMAND_TIMEOUT
|
|
21
|
+
|
|
22
|
+
const commandDeadline = (type: SlotCommandType, command: string): number => {
|
|
23
|
+
switch (type) {
|
|
24
|
+
case SlotCommandType.Shell:
|
|
25
|
+
return COMMAND_DEADLINES[command] ?? DEFAULT_COMMAND_DEADLINE
|
|
26
|
+
case SlotCommandType.Git:
|
|
27
|
+
return GIT_COMMAND_DEADLINES[command as SlotGitCommand] ?? DEFAULT_GIT_COMMAND_DEADLINE
|
|
28
|
+
case SlotCommandType.Database:
|
|
29
|
+
return 30_000
|
|
30
|
+
default:
|
|
31
|
+
return FILE_COMMAND_DEADLINES[command as SlotFileCommand] ?? DEFAULT_FILE_COMMAND_DEADLINE
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return { commandTimeout, commandDeadline }
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export const slotCommandHelper = createSlotCommandHelper()
|
package/src/slot/consts.ts
CHANGED
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
* commands are executed by the connector on that machine, and nothing about it is provisioned,
|
|
20
20
|
* routed, reconciled or published.
|
|
21
21
|
*/
|
|
22
|
+
import { TargetLayout } from '../integrity/index.js'
|
|
23
|
+
|
|
22
24
|
export enum WorkloadKind {
|
|
23
25
|
Ephemeral = 'ephemeral',
|
|
24
26
|
Production = 'production',
|
|
@@ -368,46 +370,15 @@ export const FILE_COMMAND_TIMEOUTS: Partial<Record<SlotFileCommand, number>> = {
|
|
|
368
370
|
[SlotFileCommand.ReadHead]: 70_000,
|
|
369
371
|
}
|
|
370
372
|
|
|
371
|
-
/** The per-command caller bound for one command, or nothing where its type's default is right. */
|
|
372
|
-
const perCommandTimeout = (type: SlotCommandType, command: string): number | undefined => {
|
|
373
|
-
switch (type) {
|
|
374
|
-
case SlotCommandType.Shell: return SHELL_COMMAND_TIMEOUTS[command]
|
|
375
|
-
case SlotCommandType.Git: return GIT_COMMAND_TIMEOUTS[command as SlotGitCommand]
|
|
376
|
-
case SlotCommandType.Database: return COMMAND_TIMEOUTS[SlotCommandType.Database]
|
|
377
|
-
default: return FILE_COMMAND_TIMEOUTS[command as SlotFileCommand]
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Resolve the caller-side bound for one command.
|
|
383
|
-
*
|
|
384
|
-
* One function rather than three lookups at each call site: an asker that forgets the per-command
|
|
385
|
-
* table inherits twenty minutes for a fifteen-second command, which is the failure this table was
|
|
386
|
-
* added to stop.
|
|
387
|
-
*/
|
|
388
|
-
export const commandTimeout = (
|
|
389
|
-
type: SlotCommandType, command: string, override?: number
|
|
390
|
-
): number => override
|
|
391
|
-
?? perCommandTimeout(type, command)
|
|
392
|
-
?? COMMAND_TIMEOUTS[type]
|
|
393
|
-
?? DEFAULT_COMMAND_TIMEOUT
|
|
394
|
-
|
|
395
373
|
/**
|
|
396
|
-
*
|
|
374
|
+
* The one marker per layout, chosen because it exists in that layout and in no other.
|
|
397
375
|
*
|
|
398
|
-
*
|
|
399
|
-
*
|
|
400
|
-
*
|
|
376
|
+
* `sources/api` cannot appear in a v1 tree and `packages/backend` cannot appear in a v2 one, so a
|
|
377
|
+
* single `stat` settles it. Deliberately not `sources/` alone: v1 packages each have their own
|
|
378
|
+
* `src`, and a directory name that differs by one letter is not something to hang a runtime path
|
|
379
|
+
* resolution on. Ordered — the first marker found wins.
|
|
401
380
|
*/
|
|
402
|
-
export const
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
case SlotCommandType.Git:
|
|
407
|
-
return GIT_COMMAND_DEADLINES[command as SlotGitCommand] ?? DEFAULT_GIT_COMMAND_DEADLINE
|
|
408
|
-
case SlotCommandType.Database:
|
|
409
|
-
return 30_000
|
|
410
|
-
default:
|
|
411
|
-
return FILE_COMMAND_DEADLINES[command as SlotFileCommand] ?? DEFAULT_FILE_COMMAND_DEADLINE
|
|
412
|
-
}
|
|
413
|
-
}
|
|
381
|
+
export const LAYOUT_MARKERS: Array<[TargetLayout, string]> = [
|
|
382
|
+
[TargetLayout.V2, 'sources/api'],
|
|
383
|
+
[TargetLayout.V1, 'packages/backend'],
|
|
384
|
+
]
|
package/src/slot/helpers.ts
CHANGED
|
@@ -1,34 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { slotOriginHelper } from './origin.js'
|
|
2
|
+
import type { AddressableSlot } from './types.js'
|
|
2
3
|
|
|
3
|
-
/**
|
|
4
|
-
export
|
|
5
|
-
kind?: WorkloadKind
|
|
6
|
-
host?: string
|
|
7
|
-
}
|
|
4
|
+
/** @deprecated compat:factory-refactor — use `slotOriginHelper.slotOrigin(…)` */
|
|
5
|
+
export const slotOrigin = (slot: AddressableSlot): string => slotOriginHelper.slotOrigin(slot)
|
|
8
6
|
|
|
9
|
-
/**
|
|
10
|
-
* The origin a slot's application answers at.
|
|
11
|
-
*
|
|
12
|
-
* Read back from the slot's stored `host`, never recomposed from a slug — a preview host is a
|
|
13
|
-
* CLAIMED resource with a certificate behind it, and the name a slot ended up with is not always
|
|
14
|
-
* the name its project would compose today. What this adds is the scheme, which is the one part
|
|
15
|
-
* that follows from the kind rather than from the record: a local target is a loopback address and
|
|
16
|
-
* therefore `http`, everything else is TLS-terminated at an edge and therefore `https`.
|
|
17
|
-
*/
|
|
18
|
-
export const slotOrigin = (slot: AddressableSlot): string => {
|
|
19
|
-
const host = slot.host ?? ''
|
|
20
|
-
if (host === '') return ''
|
|
21
|
-
if (host.startsWith('http://') || host.startsWith('https://')) return host
|
|
22
|
-
|
|
23
|
-
return `${slot.kind === WorkloadKind.Local ? 'http' : 'https'}://${host}`
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* The exact redirect URIs a target's OIDC client must carry for one origin.
|
|
28
|
-
*
|
|
29
|
-
* Exact, because a provider matches a redirect URI literally and refuses a wildcard — and both
|
|
30
|
-
* entries are needed: the callback the login round trip returns to, and the bare origin, which is
|
|
31
|
-
* where the application's own logout lands.
|
|
32
|
-
*/
|
|
7
|
+
/** @deprecated compat:factory-refactor — use `slotOriginHelper.targetRedirectUrisForOrigin(…)` */
|
|
33
8
|
export const targetRedirectUrisForOrigin = (origin: string, callbackPath: string): string[] =>
|
|
34
|
-
origin
|
|
9
|
+
slotOriginHelper.targetRedirectUrisForOrigin(origin, callbackPath)
|
package/src/slot/index.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export * from './consts.js'
|
|
2
|
+
export * from './command.js'
|
|
3
|
+
export * from './utils.js'
|
|
2
4
|
export * from './schemas.js'
|
|
3
5
|
export * from './layout.js'
|
|
6
|
+
export * from './origin.js'
|
|
4
7
|
export * from './helpers.js'
|
|
5
8
|
export type * from './types.js'
|
|
9
|
+
export type * from './command/types.js'
|
|
10
|
+
export type * from './layout/types.js'
|
|
11
|
+
export type * from './origin/types.js'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { TargetLayout } from '../../integrity/consts.js'
|
|
2
|
+
import type { SubProject } from '../consts.js'
|
|
3
|
+
import type { TargetPaths } from '../types.js'
|
|
4
|
+
|
|
5
|
+
/** Where a target's roles live, per layout — read off {@link LAYOUTS} and {@link ROLE_DIRS}. */
|
|
6
|
+
export interface SlotLayoutHelper {
|
|
7
|
+
/**
|
|
8
|
+
* Resolve a wire-level role to the directory it names in a given layout.
|
|
9
|
+
*
|
|
10
|
+
* An unknown value — a role from a sender newer than this reader — falls back to the role's own
|
|
11
|
+
* name, which is the honest guess for a layout whose packages are named after their roles, and
|
|
12
|
+
* which fails visibly rather than resolving to some other package's directory.
|
|
13
|
+
*/
|
|
14
|
+
subprojectDirOf: (layout: TargetLayout, role: SubProject) => string
|
|
15
|
+
/** Where every role lives, for a layout already decided. */
|
|
16
|
+
pathsOf: (layout: TargetLayout) => TargetPaths
|
|
17
|
+
}
|
package/src/slot/layout.ts
CHANGED
|
@@ -1,55 +1,8 @@
|
|
|
1
1
|
import { TargetLayout } from '../integrity/index.js'
|
|
2
|
-
import {
|
|
2
|
+
import { topologyHelper } from '../topology/resolve.js'
|
|
3
3
|
import { SubProject } from './consts.js'
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Where each role lives, for one layout. Directory names are target-root-relative.
|
|
7
|
-
*
|
|
8
|
-
* The pure half of layout resolution. Whoever holds the tree — the publisher over a pod volume,
|
|
9
|
-
* the connector over a directory on a developer's machine — adds the two filesystem probes that
|
|
10
|
-
* pick the layout and turn these names into absolute paths. The TABLES are shared so the two
|
|
11
|
-
* cannot disagree about what a role means.
|
|
12
|
-
*/
|
|
13
|
-
export interface TargetPaths {
|
|
14
|
-
layout: TargetLayout
|
|
15
|
-
/** The directory holding the workspace packages — `packages` or `sources`. */
|
|
16
|
-
dir: string
|
|
17
|
-
/** The package whose `dist/index.js` runs as the target's HTTP server. */
|
|
18
|
-
api: string
|
|
19
|
-
/** The package whose `dist/` is served to a browser. */
|
|
20
|
-
web: string
|
|
21
|
-
/** The shared library the other two compile against. */
|
|
22
|
-
common: string
|
|
23
|
-
/**
|
|
24
|
-
* The package whose `dist/index.js` runs as the target's queue worker, when the target has one.
|
|
25
|
-
*
|
|
26
|
-
* Absent for v1, which had no such package and never will — a target's tree is the one it was
|
|
27
|
-
* initialized with. Present for v2 as a NAME, not as a promise: every caller checks the disk
|
|
28
|
-
* before acting on it.
|
|
29
|
-
*/
|
|
30
|
-
worker?: string
|
|
31
|
-
/**
|
|
32
|
-
* Every package a full build runs, in dependency order.
|
|
33
|
-
*
|
|
34
|
-
* Longer than the three roles for v2, whose `backend` is a library that both `api` and `worker`
|
|
35
|
-
* import. A caller skips whatever is not on disk — a target need not have a worker.
|
|
36
|
-
*/
|
|
37
|
-
build: string[]
|
|
38
|
-
/**
|
|
39
|
-
* The packages built with `tsc -b` and consumed through their `build/` output, in dependency
|
|
40
|
-
* order — never bundled, so their output has to be on disk at RUN time, not only at build time.
|
|
41
|
-
*
|
|
42
|
-
* The bundled packages keep every dependency external, so `bun dist/index.js` resolves
|
|
43
|
-
* `project-backend` from `node_modules` at startup, follows its `main` to `build/index.js` — and
|
|
44
|
-
* if nothing built it, Bun answers `Cannot find package 'project-backend'` and the target exits 1
|
|
45
|
-
* with a message that names a dependency rather than a missing build.
|
|
46
|
-
*
|
|
47
|
-
* v1 got away without this list: it had ONE library and the template shipped its `build/`
|
|
48
|
-
* prebuilt. v2 deleted those artifacts and added a second library, so every path that builds a
|
|
49
|
-
* target has to build these first or it can never start.
|
|
50
|
-
*/
|
|
51
|
-
libraries: string[]
|
|
52
|
-
}
|
|
4
|
+
import type { TargetPaths } from './types.js'
|
|
5
|
+
import type { SlotLayoutHelper } from './layout/types.js'
|
|
53
6
|
|
|
54
7
|
/**
|
|
55
8
|
* Where every role lives, per layout — DERIVED from that layout's topology.
|
|
@@ -63,8 +16,8 @@ export interface TargetPaths {
|
|
|
63
16
|
* The VALUES are unchanged, and `topology.spec.ts` pins them against the tables they replaced.
|
|
64
17
|
*/
|
|
65
18
|
const pathsOfTopology = (layout: TargetLayout): TargetPaths => {
|
|
66
|
-
const topology = resolveTopology(topologyOf(layout))
|
|
67
|
-
const dirOf = (role: SubProject): string | undefined => packageForRole(topology, role)?.name
|
|
19
|
+
const topology = topologyHelper.resolveTopology(topologyHelper.topologyOf(layout))
|
|
20
|
+
const dirOf = (role: SubProject): string | undefined => topologyHelper.packageForRole(topology, role)?.name
|
|
68
21
|
|
|
69
22
|
return {
|
|
70
23
|
layout,
|
|
@@ -100,10 +53,10 @@ export const LAYOUTS: Record<TargetLayout, TargetPaths> = {
|
|
|
100
53
|
* so an unmapped role falls back to its own name here, which is that same visible failure.
|
|
101
54
|
*/
|
|
102
55
|
const roleDirsOfTopology = (layout: TargetLayout): Record<SubProject, string> => {
|
|
103
|
-
const topology = resolveTopology(topologyOf(layout))
|
|
56
|
+
const topology = topologyHelper.resolveTopology(topologyHelper.topologyOf(layout))
|
|
104
57
|
|
|
105
58
|
return Object.values(SubProject).reduce<Record<SubProject, string>>((dirs, role) => {
|
|
106
|
-
dirs[role] = packageForRole(topology, role)?.name ?? role
|
|
59
|
+
dirs[role] = topologyHelper.packageForRole(topology, role)?.name ?? role
|
|
107
60
|
|
|
108
61
|
return dirs
|
|
109
62
|
}, {} as Record<SubProject, string>)
|
|
@@ -114,28 +67,17 @@ export const ROLE_DIRS: Record<TargetLayout, Record<SubProject, string>> = {
|
|
|
114
67
|
[TargetLayout.V2]: roleDirsOfTopology(TargetLayout.V2),
|
|
115
68
|
}
|
|
116
69
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
* `sources/api` cannot appear in a v1 tree and `packages/backend` cannot appear in a v2 one, so a
|
|
121
|
-
* single `stat` settles it. Deliberately not `sources/` alone: v1 packages each have their own
|
|
122
|
-
* `src`, and a directory name that differs by one letter is not something to hang a runtime path
|
|
123
|
-
* resolution on. Ordered — the first marker found wins.
|
|
124
|
-
*/
|
|
125
|
-
export const LAYOUT_MARKERS: Array<[TargetLayout, string]> = [
|
|
126
|
-
[TargetLayout.V2, 'sources/api'],
|
|
127
|
-
[TargetLayout.V1, 'packages/backend'],
|
|
128
|
-
]
|
|
70
|
+
export const createSlotLayoutHelper = (): SlotLayoutHelper => {
|
|
71
|
+
const subprojectDirOf = (layout: TargetLayout, role: SubProject): string =>
|
|
72
|
+
ROLE_DIRS[layout][role] ?? role
|
|
129
73
|
|
|
130
|
-
|
|
131
|
-
* Resolve a wire-level role to the directory it names in a given layout.
|
|
132
|
-
*
|
|
133
|
-
* An unknown value — a role from a sender newer than this reader — falls back to the role's own
|
|
134
|
-
* name, which is the honest guess for a layout whose packages are named after their roles, and
|
|
135
|
-
* which fails visibly rather than resolving to some other package's directory.
|
|
136
|
-
*/
|
|
137
|
-
export const subprojectDirOf = (layout: TargetLayout, role: SubProject): string =>
|
|
138
|
-
ROLE_DIRS[layout][role] ?? role
|
|
74
|
+
const pathsOf = (layout: TargetLayout): TargetPaths => LAYOUTS[layout]
|
|
139
75
|
|
|
140
|
-
|
|
141
|
-
|
|
76
|
+
return { subprojectDirOf, pathsOf }
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export const slotLayoutHelper = createSlotLayoutHelper()
|
|
80
|
+
|
|
81
|
+
/** @deprecated compat:factory-refactor — use `slotLayoutHelper.subprojectDirOf(…)` */
|
|
82
|
+
export const subprojectDirOf = (layout: TargetLayout, role: SubProject): string =>
|
|
83
|
+
slotLayoutHelper.subprojectDirOf(layout, role)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AddressableSlot } from '../types.js'
|
|
2
|
+
|
|
3
|
+
/** Where a slot's application answers, and the redirect URIs its OIDC client needs there. */
|
|
4
|
+
export interface SlotOriginHelper {
|
|
5
|
+
/**
|
|
6
|
+
* The origin a slot's application answers at.
|
|
7
|
+
*
|
|
8
|
+
* Read back from the slot's stored `host`, never recomposed from a slug — a preview host is a
|
|
9
|
+
* CLAIMED resource with a certificate behind it, and the name a slot ended up with is not always
|
|
10
|
+
* the name its project would compose today. What this adds is the scheme, which is the one part
|
|
11
|
+
* that follows from the kind rather than from the record: a local target is a loopback address and
|
|
12
|
+
* therefore `http`, everything else is TLS-terminated at an edge and therefore `https`.
|
|
13
|
+
*/
|
|
14
|
+
slotOrigin: (slot: AddressableSlot) => string
|
|
15
|
+
/**
|
|
16
|
+
* The exact redirect URIs a target's OIDC client must carry for one origin.
|
|
17
|
+
*
|
|
18
|
+
* Exact, because a provider matches a redirect URI literally and refuses a wildcard — and both
|
|
19
|
+
* entries are needed: the callback the login round trip returns to, and the bare origin, which is
|
|
20
|
+
* where the application's own logout lands.
|
|
21
|
+
*/
|
|
22
|
+
targetRedirectUrisForOrigin: (origin: string, callbackPath: string) => string[]
|
|
23
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { WorkloadKind } from './consts.js'
|
|
2
|
+
import type { AddressableSlot } from './types.js'
|
|
3
|
+
import type { SlotOriginHelper } from './origin/types.js'
|
|
4
|
+
|
|
5
|
+
export const createSlotOriginHelper = (): SlotOriginHelper => {
|
|
6
|
+
const slotOrigin = (slot: AddressableSlot): string => {
|
|
7
|
+
const host = slot.host ?? ''
|
|
8
|
+
if (host === '') return ''
|
|
9
|
+
if (host.startsWith('http://') || host.startsWith('https://')) return host
|
|
10
|
+
|
|
11
|
+
return `${slot.kind === WorkloadKind.Local ? 'http' : 'https'}://${host}`
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const targetRedirectUrisForOrigin = (origin: string, callbackPath: string): string[] =>
|
|
15
|
+
origin === '' ? [] : [origin, `${origin}${callbackPath}`]
|
|
16
|
+
|
|
17
|
+
return { slotOrigin, targetRedirectUrisForOrigin }
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const slotOriginHelper = createSlotOriginHelper()
|
package/src/slot/types.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type SlotCommandType, type SlotDatabaseCommand, type SlotFileCommand, type SlotGitCommand, type SlotShellCommand, type SubProject, WorkloadKind } from './consts.js'
|
|
2
|
+
import { TargetLayout } from '../integrity/index.js'
|
|
2
3
|
|
|
3
4
|
export type SlotCommand = SlotFileCommand | SlotShellCommand | SlotGitCommand | SlotDatabaseCommand
|
|
4
5
|
|
|
@@ -21,6 +22,7 @@ export interface SlotDatabaseQueryArgs {
|
|
|
21
22
|
timeoutMs?: number
|
|
22
23
|
}
|
|
23
24
|
|
|
25
|
+
// Kept as a type: a union of the success and the failure shape.
|
|
24
26
|
export type SlotDatabaseQueryResult = {
|
|
25
27
|
ok: true
|
|
26
28
|
columns: Array<{ name: string; dataType: string }>
|
|
@@ -191,3 +193,58 @@ export interface SlotShellArgs {
|
|
|
191
193
|
args?: string
|
|
192
194
|
skipBuild?: boolean
|
|
193
195
|
}
|
|
196
|
+
|
|
197
|
+
/** The minimum a caller must know about a slot to address it. */
|
|
198
|
+
export interface AddressableSlot {
|
|
199
|
+
kind?: WorkloadKind
|
|
200
|
+
host?: string
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Where each role lives, for one layout. Directory names are target-root-relative.
|
|
205
|
+
*
|
|
206
|
+
* The pure half of layout resolution. Whoever holds the tree — the publisher over a pod volume,
|
|
207
|
+
* the connector over a directory on a developer's machine — adds the two filesystem probes that
|
|
208
|
+
* pick the layout and turn these names into absolute paths. The TABLES are shared so the two
|
|
209
|
+
* cannot disagree about what a role means.
|
|
210
|
+
*/
|
|
211
|
+
export interface TargetPaths {
|
|
212
|
+
layout: TargetLayout
|
|
213
|
+
/** The directory holding the workspace packages — `packages` or `sources`. */
|
|
214
|
+
dir: string
|
|
215
|
+
/** The package whose `dist/index.js` runs as the target's HTTP server. */
|
|
216
|
+
api: string
|
|
217
|
+
/** The package whose `dist/` is served to a browser. */
|
|
218
|
+
web: string
|
|
219
|
+
/** The shared library the other two compile against. */
|
|
220
|
+
common: string
|
|
221
|
+
/**
|
|
222
|
+
* The package whose `dist/index.js` runs as the target's queue worker, when the target has one.
|
|
223
|
+
*
|
|
224
|
+
* Absent for v1, which had no such package and never will — a target's tree is the one it was
|
|
225
|
+
* initialized with. Present for v2 as a NAME, not as a promise: every caller checks the disk
|
|
226
|
+
* before acting on it.
|
|
227
|
+
*/
|
|
228
|
+
worker?: string
|
|
229
|
+
/**
|
|
230
|
+
* Every package a full build runs, in dependency order.
|
|
231
|
+
*
|
|
232
|
+
* Longer than the three roles for v2, whose `backend` is a library that both `api` and `worker`
|
|
233
|
+
* import. A caller skips whatever is not on disk — a target need not have a worker.
|
|
234
|
+
*/
|
|
235
|
+
build: string[]
|
|
236
|
+
/**
|
|
237
|
+
* The packages built with `tsc -b` and consumed through their `build/` output, in dependency
|
|
238
|
+
* order — never bundled, so their output has to be on disk at RUN time, not only at build time.
|
|
239
|
+
*
|
|
240
|
+
* The bundled packages keep every dependency external, so `bun dist/index.js` resolves
|
|
241
|
+
* `project-backend` from `node_modules` at startup, follows its `main` to `build/index.js` — and
|
|
242
|
+
* if nothing built it, Bun answers `Cannot find package 'project-backend'` and the target exits 1
|
|
243
|
+
* with a message that names a dependency rather than a missing build.
|
|
244
|
+
*
|
|
245
|
+
* v1 got away without this list: it had ONE library and the template shipped its `build/`
|
|
246
|
+
* prebuilt. v2 deleted those artifacts and added a second library, so every path that builds a
|
|
247
|
+
* target has to build these first or it can never start.
|
|
248
|
+
*/
|
|
249
|
+
libraries: string[]
|
|
250
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { slotCommandHelper } from './command.js'
|
|
2
|
+
import type { SlotCommandType } from './consts.js'
|
|
3
|
+
|
|
4
|
+
/** @deprecated compat:factory-refactor — use `slotCommandHelper.commandTimeout(…)` */
|
|
5
|
+
export const commandTimeout = (type: SlotCommandType, command: string, override?: number): number =>
|
|
6
|
+
slotCommandHelper.commandTimeout(type, command, override)
|
|
7
|
+
|
|
8
|
+
/** @deprecated compat:factory-refactor — use `slotCommandHelper.commandDeadline(…)` */
|
|
9
|
+
export const commandDeadline = (type: SlotCommandType, command: string): number =>
|
|
10
|
+
slotCommandHelper.commandDeadline(type, command)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TopologyDescriptor, TopologyMeta } from '../types.js'
|
|
2
|
+
|
|
3
|
+
/** The topology file `.agents/memory/topology.md`: its frontmatter, read and written, and its body. */
|
|
4
|
+
export interface TopologyCardHelper {
|
|
5
|
+
/**
|
|
6
|
+
* Narrow a parsed frontmatter block into a topology, or answer `null`.
|
|
7
|
+
*
|
|
8
|
+
* `null` means "use the layout default", and every caller treats it that way. A topology file
|
|
9
|
+
* written by a platform version this one cannot read must not stop a project from building — the
|
|
10
|
+
* arrangement it describes is almost certainly still the default one.
|
|
11
|
+
*/
|
|
12
|
+
parseTopologyMeta: (data: unknown) => TopologyDescriptor | null
|
|
13
|
+
topologyMeta: (topology: TopologyDescriptor) => TopologyMeta
|
|
14
|
+
/**
|
|
15
|
+
* The body of `.agents/memory/topology.md` — what a model reads, and what a person reads.
|
|
16
|
+
*
|
|
17
|
+
* Rendered from the descriptor rather than maintained beside it, for the same reason the layout
|
|
18
|
+
* tables are: a card that disagrees with the frontmatter teaches the wrong tree.
|
|
19
|
+
*/
|
|
20
|
+
renderTopologyCard: (topology: TopologyDescriptor) => string
|
|
21
|
+
}
|