@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/build/topology/card.js
CHANGED
|
@@ -1,95 +1,90 @@
|
|
|
1
|
-
import { SubProject } from '../slot/consts.js';
|
|
2
1
|
import { TOPOLOGY_VERSION } from './consts.js';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const asStrings = (value) => Array.isArray(value) ? value.filter((item) => typeof item === 'string') : [];
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const parsePackage = (value) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
2
|
+
import { topologyHelper } from './resolve.js';
|
|
3
|
+
import { KINDS, ROLES } from './consts.local.js';
|
|
4
|
+
export const createTopologyCardHelper = () => {
|
|
5
|
+
const asStrings = (value) => Array.isArray(value) ? value.filter((item) => typeof item === 'string') : [];
|
|
6
|
+
/**
|
|
7
|
+
* Read a package descriptor out of whatever the file held.
|
|
8
|
+
*
|
|
9
|
+
* Everything is narrowed rather than trusted: the file is on the target's volume, where a person,
|
|
10
|
+
* a GitHub pull or a previous platform version may have written it. A descriptor that cannot be
|
|
11
|
+
* narrowed is DROPPED, never repaired — a package with no name or no recognisable role would
|
|
12
|
+
* otherwise resolve a path somewhere real and wrong.
|
|
13
|
+
*/
|
|
14
|
+
const parsePackage = (value) => {
|
|
15
|
+
if (value == null || typeof value !== 'object')
|
|
16
|
+
return null;
|
|
17
|
+
const raw = value;
|
|
18
|
+
const name = typeof raw.name === 'string' ? raw.name.trim() : '';
|
|
19
|
+
if (name === '' || name.includes('/') || name.startsWith('.'))
|
|
20
|
+
return null;
|
|
21
|
+
const roles = asStrings(raw.roles).filter((role) => ROLES.has(role));
|
|
22
|
+
if (roles.length === 0)
|
|
23
|
+
return null;
|
|
24
|
+
const kind = KINDS.has(raw.kind) ? raw.kind : 'bundle';
|
|
25
|
+
const areas = asStrings(raw.areas);
|
|
26
|
+
const queues = asStrings(raw.queues);
|
|
27
|
+
return {
|
|
28
|
+
name,
|
|
29
|
+
roles,
|
|
30
|
+
kind,
|
|
31
|
+
dependsOn: asStrings(raw.dependsOn),
|
|
32
|
+
...(areas.length > 0 ? { areas: areas } : {}),
|
|
33
|
+
...(queues.length > 0 ? { queues } : {}),
|
|
34
|
+
};
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
: [];
|
|
53
|
-
if (packages.length === 0)
|
|
54
|
-
return null;
|
|
55
|
-
return {
|
|
56
|
-
id: typeof raw.id === 'string' && raw.id !== '' ? raw.id : 'recorded',
|
|
57
|
-
dir: raw.dir.trim(),
|
|
58
|
-
packages,
|
|
36
|
+
const parseTopologyMeta = (data) => {
|
|
37
|
+
if (data == null || typeof data !== 'object')
|
|
38
|
+
return null;
|
|
39
|
+
const raw = data;
|
|
40
|
+
if (typeof raw.dir !== 'string' || raw.dir.trim() === '')
|
|
41
|
+
return null;
|
|
42
|
+
const packages = Array.isArray(raw.packages)
|
|
43
|
+
? raw.packages.map(parsePackage).filter((pkg) => pkg != null)
|
|
44
|
+
: [];
|
|
45
|
+
if (packages.length === 0)
|
|
46
|
+
return null;
|
|
47
|
+
return {
|
|
48
|
+
id: typeof raw.id === 'string' && raw.id !== '' ? raw.id : 'recorded',
|
|
49
|
+
dir: raw.dir.trim(),
|
|
50
|
+
packages,
|
|
51
|
+
};
|
|
59
52
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
updatedAt: new Date().toISOString(),
|
|
66
|
-
});
|
|
67
|
-
/**
|
|
68
|
-
* The body of `.agents/memory/topology.md` — what a model reads, and what a person reads.
|
|
69
|
-
*
|
|
70
|
-
* Rendered from the descriptor rather than maintained beside it, for the same reason the layout
|
|
71
|
-
* tables are: a card that disagrees with the frontmatter teaches the wrong tree.
|
|
72
|
-
*/
|
|
73
|
-
export const renderTopologyCard = (topology) => {
|
|
74
|
-
const ordered = orderPackages(topology.packages);
|
|
75
|
-
const rows = ordered.map(pkg => {
|
|
76
|
-
const deps = pkg.dependsOn.length > 0 ? pkg.dependsOn.join(', ') : '—';
|
|
77
|
-
const extra = [
|
|
78
|
-
...(pkg.areas != null ? [`areas: ${pkg.areas.join(', ')}`] : []),
|
|
79
|
-
...(pkg.queues != null ? [`queues: ${pkg.queues.join(', ')}`] : []),
|
|
80
|
-
].join('; ');
|
|
81
|
-
return `| \`${topology.dir}/${pkg.name}\` | ${pkg.roles.join(', ')} | ${pkg.kind} | ${deps} | ${extra === '' ? '—' : extra} |`;
|
|
53
|
+
const topologyMeta = (topology) => ({
|
|
54
|
+
...topology,
|
|
55
|
+
packages: topologyHelper.orderPackages(topology.packages),
|
|
56
|
+
version: TOPOLOGY_VERSION,
|
|
57
|
+
updatedAt: new Date().toISOString(),
|
|
82
58
|
});
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
59
|
+
const renderTopologyCard = (topology) => {
|
|
60
|
+
const ordered = topologyHelper.orderPackages(topology.packages);
|
|
61
|
+
const rows = ordered.map(pkg => {
|
|
62
|
+
const deps = pkg.dependsOn.length > 0 ? pkg.dependsOn.join(', ') : '—';
|
|
63
|
+
const extra = [
|
|
64
|
+
...(pkg.areas != null ? [`areas: ${pkg.areas.join(', ')}`] : []),
|
|
65
|
+
...(pkg.queues != null ? [`queues: ${pkg.queues.join(', ')}`] : []),
|
|
66
|
+
].join('; ');
|
|
67
|
+
return `| \`${topology.dir}/${pkg.name}\` | ${pkg.roles.join(', ')} | ${pkg.kind} | ${deps} | ${extra === '' ? '—' : extra} |`;
|
|
68
|
+
});
|
|
69
|
+
return [
|
|
70
|
+
'# Topology',
|
|
71
|
+
'',
|
|
72
|
+
'Which packages this project has, what each one is, and which compile against which.',
|
|
73
|
+
'Built in the order of the table — a `library` must be built before anything importing it.',
|
|
74
|
+
'',
|
|
75
|
+
'| Package | Roles | Kind | Depends on | Notes |',
|
|
76
|
+
'|---|---|---|---|---|',
|
|
77
|
+
...rows,
|
|
78
|
+
'',
|
|
79
|
+
].join('\n');
|
|
80
|
+
};
|
|
81
|
+
return { parseTopologyMeta, topologyMeta, renderTopologyCard };
|
|
94
82
|
};
|
|
83
|
+
export const topologyCardHelper = createTopologyCardHelper();
|
|
84
|
+
/** @deprecated compat:factory-refactor — use `topologyCardHelper.parseTopologyMeta(…)` */
|
|
85
|
+
export const parseTopologyMeta = (data) => topologyCardHelper.parseTopologyMeta(data);
|
|
86
|
+
/** @deprecated compat:factory-refactor — use `topologyCardHelper.topologyMeta(…)` */
|
|
87
|
+
export const topologyMeta = (topology) => topologyCardHelper.topologyMeta(topology);
|
|
88
|
+
/** @deprecated compat:factory-refactor — use `topologyCardHelper.renderTopologyCard(…)` */
|
|
89
|
+
export const renderTopologyCard = (topology) => topologyCardHelper.renderTopologyCard(topology);
|
|
95
90
|
//# sourceMappingURL=card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/topology/card.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/topology/card.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../../src/topology/consts.local.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,eAAO,MAAM,KAAK,aAA6C,CAAA;AAE/D,eAAO,MAAM,KAAK,wBAAoD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../../src/topology/consts.local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA"}
|
|
@@ -1,44 +1,18 @@
|
|
|
1
|
-
import { TargetLayout } from '../integrity/consts.js';
|
|
2
1
|
import type { ProjectArea } from '../areas/consts.js';
|
|
3
2
|
import type { SubProject } from '../slot/consts.js';
|
|
4
3
|
import type { ResolvedTopology, TargetPackageDescriptor, TopologyDescriptor } from './types.js';
|
|
5
|
-
/**
|
|
6
|
-
* Order the packages so that nothing is built before what it compiles against.
|
|
7
|
-
*
|
|
8
|
-
* Kahn's algorithm, with two deliberate tolerances. An edge to a package the topology does not
|
|
9
|
-
* hold is DROPPED rather than fatal — a project may declare a dependency on something a pull has
|
|
10
|
-
* not brought in yet, and refusing to order the tree would take the whole build down over one
|
|
11
|
-
* name. A cycle leaves its members unvisited, and they are appended in declaration order: a cycle
|
|
12
|
-
* cannot be built correctly in any order, so the useful behaviour is to build it in the order
|
|
13
|
-
* somebody wrote rather than to throw.
|
|
14
|
-
*/
|
|
4
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.orderPackages(…)` */
|
|
15
5
|
export declare const orderPackages: (packages: TargetPackageDescriptor[]) => TargetPackageDescriptor[];
|
|
16
|
-
/**
|
|
6
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.resolveTopology(…)` */
|
|
17
7
|
export declare const resolveTopology: (topology: TopologyDescriptor) => ResolvedTopology;
|
|
18
|
-
/**
|
|
19
|
-
export declare const topologyOf: (layout: TargetLayout) => TopologyDescriptor;
|
|
20
|
-
/**
|
|
21
|
-
* The directory a role names, or `null` when this topology has no package for it.
|
|
22
|
-
*
|
|
23
|
-
* `null` rather than the role's own name: a command aimed at a package the tree does not have must
|
|
24
|
-
* fail where it is issued. Answering with a plausible directory runs it somewhere real and wrong,
|
|
25
|
-
* which is how a type check once ran against the shared package instead of the one under repair.
|
|
26
|
-
*/
|
|
8
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.packageForRole(…)` */
|
|
27
9
|
export declare const packageForRole: (topology: ResolvedTopology, role: SubProject) => TargetPackageDescriptor | null;
|
|
28
|
-
/**
|
|
29
|
-
export declare const packagesForRole: (topology: ResolvedTopology, role: SubProject) => TargetPackageDescriptor[];
|
|
30
|
-
/** The package serving an area, for a topology that splits the browser app across several. */
|
|
10
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.packageForArea(…)` */
|
|
31
11
|
export declare const packageForArea: (topology: ResolvedTopology, role: SubProject, area: ProjectArea) => TargetPackageDescriptor | null;
|
|
32
|
-
/**
|
|
12
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.packageDir(…)` */
|
|
33
13
|
export declare const packageDir: (topology: TopologyDescriptor, pkg: TargetPackageDescriptor) => string;
|
|
34
|
-
/**
|
|
35
|
-
* Merge a package into a topology, by name.
|
|
36
|
-
*
|
|
37
|
-
* This is the ADOPTION path: a package that arrived with a GitHub pull is classified once and
|
|
38
|
-
* recorded here, so the next run addresses the tree that exists rather than re-deriving one that
|
|
39
|
-
* does not. Replacing by name rather than appending keeps a re-classification idempotent.
|
|
40
|
-
*/
|
|
14
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.withPackage(…)` */
|
|
41
15
|
export declare const withPackage: (topology: TopologyDescriptor, pkg: TargetPackageDescriptor) => TopologyDescriptor;
|
|
42
|
-
/**
|
|
16
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.sameTopology(…)` */
|
|
43
17
|
export declare const sameTopology: (a: TopologyDescriptor, b: TopologyDescriptor) => boolean;
|
|
44
18
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/topology/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/topology/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/F,kFAAkF;AAClF,eAAO,MAAM,aAAa,aAAc,uBAAuB,EAAE,KAAG,uBAAuB,EACnD,CAAA;AAExC,oFAAoF;AACpF,eAAO,MAAM,eAAe,aAAc,kBAAkB,KAAG,gBACrB,CAAA;AAE1C,mFAAmF;AACnF,eAAO,MAAM,cAAc,aAAc,gBAAgB,QAAQ,UAAU,KAAG,uBAAuB,GAAG,IACzD,CAAA;AAE/C,mFAAmF;AACnF,eAAO,MAAM,cAAc,aACf,gBAAgB,QAAQ,UAAU,QAAQ,WAAW,KAC9D,uBAAuB,GAAG,IAA2D,CAAA;AAExF,+EAA+E;AAC/E,eAAO,MAAM,UAAU,aAAc,kBAAkB,OAAO,uBAAuB,KAAG,MAC9C,CAAA;AAE1C,gFAAgF;AAChF,eAAO,MAAM,WAAW,aAAc,kBAAkB,OAAO,uBAAuB,KAAG,kBAC9C,CAAA;AAE3C,iFAAiF;AACjF,eAAO,MAAM,YAAY,MAAO,kBAAkB,KAAK,kBAAkB,KAAG,OACzC,CAAA"}
|
|
@@ -1,112 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
pkg.name, pkg.dependsOn.filter(dep => known.has(dep) && dep !== pkg.name).length,
|
|
17
|
-
]));
|
|
18
|
-
const dependents = new Map();
|
|
19
|
-
for (const pkg of packages) {
|
|
20
|
-
for (const dep of pkg.dependsOn) {
|
|
21
|
-
if (!known.has(dep) || dep === pkg.name)
|
|
22
|
-
continue;
|
|
23
|
-
dependents.set(dep, [...dependents.get(dep) ?? [], pkg.name]);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
const byName = new Map(packages.map(pkg => [pkg.name, pkg]));
|
|
27
|
-
const out = [];
|
|
28
|
-
// Ready packages are taken in DECLARATION order, not in the order they became ready. Both are
|
|
29
|
-
// correct builds; only one is the same list every time and the same list a person wrote, and
|
|
30
|
-
// this order is compared against the shipped layout tables by a test.
|
|
31
|
-
const ready = packages.filter(pkg => pending.get(pkg.name) === 0).map(pkg => pkg.name);
|
|
32
|
-
const take = () => {
|
|
33
|
-
if (ready.length === 0)
|
|
34
|
-
return undefined;
|
|
35
|
-
let at = 0;
|
|
36
|
-
for (let i = 1; i < ready.length; i++) {
|
|
37
|
-
if ((index.get(ready[i]) ?? 0) < (index.get(ready[at]) ?? 0))
|
|
38
|
-
at = i;
|
|
39
|
-
}
|
|
40
|
-
return ready.splice(at, 1)[0];
|
|
41
|
-
};
|
|
42
|
-
for (let name = take(); name != null; name = take()) {
|
|
43
|
-
const pkg = byName.get(name);
|
|
44
|
-
if (pkg == null)
|
|
45
|
-
continue;
|
|
46
|
-
out.push(pkg);
|
|
47
|
-
for (const next of dependents.get(name) ?? []) {
|
|
48
|
-
const left = (pending.get(next) ?? 0) - 1;
|
|
49
|
-
pending.set(next, left);
|
|
50
|
-
if (left === 0)
|
|
51
|
-
ready.push(next);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const seen = new Set(out.map(pkg => pkg.name));
|
|
55
|
-
return [...out, ...packages.filter(pkg => !seen.has(pkg.name))];
|
|
56
|
-
};
|
|
57
|
-
/** Resolve the derived halves — build order, library order and the role index. */
|
|
58
|
-
export const resolveTopology = (topology) => {
|
|
59
|
-
const ordered = orderPackages(topology.packages);
|
|
60
|
-
const byRole = {};
|
|
61
|
-
for (const pkg of ordered) {
|
|
62
|
-
for (const role of pkg.roles) {
|
|
63
|
-
byRole[role] = [...byRole[role] ?? [], pkg];
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return {
|
|
67
|
-
...topology,
|
|
68
|
-
packages: ordered,
|
|
69
|
-
build: ordered.map(pkg => pkg.name),
|
|
70
|
-
libraries: ordered.filter(pkg => pkg.kind === 'library').map(pkg => pkg.name),
|
|
71
|
-
byRole,
|
|
72
|
-
};
|
|
73
|
-
};
|
|
74
|
-
/** The default topology for a layout already decided. */
|
|
75
|
-
export const topologyOf = (layout) => LAYOUT_TOPOLOGIES[layout] ?? DEFAULT_TOPOLOGY;
|
|
76
|
-
/**
|
|
77
|
-
* The directory a role names, or `null` when this topology has no package for it.
|
|
78
|
-
*
|
|
79
|
-
* `null` rather than the role's own name: a command aimed at a package the tree does not have must
|
|
80
|
-
* fail where it is issued. Answering with a plausible directory runs it somewhere real and wrong,
|
|
81
|
-
* which is how a type check once ran against the shared package instead of the one under repair.
|
|
82
|
-
*/
|
|
83
|
-
export const packageForRole = (topology, role) => topology.byRole[role]?.[0] ?? null;
|
|
84
|
-
/** Every package holding a role — more than one only where a topology splits that role. */
|
|
85
|
-
export const packagesForRole = (topology, role) => topology.byRole[role] ?? [];
|
|
86
|
-
/** The package serving an area, for a topology that splits the browser app across several. */
|
|
87
|
-
export const packageForArea = (topology, role, area) => {
|
|
88
|
-
const candidates = packagesForRole(topology, role);
|
|
89
|
-
return candidates.find(pkg => pkg.areas?.includes(area) === true)
|
|
90
|
-
?? candidates.find(pkg => pkg.areas == null)
|
|
91
|
-
?? candidates[0]
|
|
92
|
-
?? null;
|
|
93
|
-
};
|
|
94
|
-
/** `<dir>/<package>` — the only place a topology directory is composed. */
|
|
95
|
-
export const packageDir = (topology, pkg) => `${topology.dir}/${pkg.name}`;
|
|
96
|
-
/**
|
|
97
|
-
* Merge a package into a topology, by name.
|
|
98
|
-
*
|
|
99
|
-
* This is the ADOPTION path: a package that arrived with a GitHub pull is classified once and
|
|
100
|
-
* recorded here, so the next run addresses the tree that exists rather than re-deriving one that
|
|
101
|
-
* does not. Replacing by name rather than appending keeps a re-classification idempotent.
|
|
102
|
-
*/
|
|
103
|
-
export const withPackage = (topology, pkg) => ({
|
|
104
|
-
...topology,
|
|
105
|
-
packages: topology.packages.some(known => known.name === pkg.name)
|
|
106
|
-
? topology.packages.map(known => known.name === pkg.name ? pkg : known)
|
|
107
|
-
: [...topology.packages, pkg],
|
|
108
|
-
});
|
|
109
|
-
/** Whether two topologies describe the same arrangement — used to skip a needless rewrite. */
|
|
110
|
-
export const sameTopology = (a, b) => JSON.stringify(orderPackages(a.packages)) === JSON.stringify(orderPackages(b.packages))
|
|
111
|
-
&& a.dir === b.dir;
|
|
1
|
+
import { topologyHelper } from './resolve.js';
|
|
2
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.orderPackages(…)` */
|
|
3
|
+
export const orderPackages = (packages) => topologyHelper.orderPackages(packages);
|
|
4
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.resolveTopology(…)` */
|
|
5
|
+
export const resolveTopology = (topology) => topologyHelper.resolveTopology(topology);
|
|
6
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.packageForRole(…)` */
|
|
7
|
+
export const packageForRole = (topology, role) => topologyHelper.packageForRole(topology, role);
|
|
8
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.packageForArea(…)` */
|
|
9
|
+
export const packageForArea = (topology, role, area) => topologyHelper.packageForArea(topology, role, area);
|
|
10
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.packageDir(…)` */
|
|
11
|
+
export const packageDir = (topology, pkg) => topologyHelper.packageDir(topology, pkg);
|
|
12
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.withPackage(…)` */
|
|
13
|
+
export const withPackage = (topology, pkg) => topologyHelper.withPackage(topology, pkg);
|
|
14
|
+
/** @deprecated compat:factory-refactor — use `topologyHelper.sameTopology(…)` */
|
|
15
|
+
export const sameTopology = (a, b) => topologyHelper.sameTopology(a, b);
|
|
112
16
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/topology/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/topology/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAmC,EAA6B,EAAE,CAC9F,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAExC,oFAAoF;AACpF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAA4B,EAAoB,EAAE,CAChF,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;AAE1C,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAA0B,EAAE,IAAgB,EAAkC,EAAE,CAC7G,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAE/C,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAA0B,EAAE,IAAgB,EAAE,IAAiB,EAC/B,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAExF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAA4B,EAAE,GAA4B,EAAU,EAAE,CAC/F,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AAE1C,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAA4B,EAAE,GAA4B,EAAsB,EAAE,CAC5G,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AAE3C,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAqB,EAAE,CAAqB,EAAW,EAAE,CACpF,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export type * from './types.js';
|
|
2
|
+
export type * from './resolve/types.js';
|
|
3
|
+
export type * from './card/types.js';
|
|
2
4
|
export * from './consts.js';
|
|
5
|
+
export * from './resolve.js';
|
|
3
6
|
export * from './helpers.js';
|
|
4
7
|
export * from './card.js';
|
|
5
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/topology/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/topology/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,iBAAiB,CAAA;AAEpC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
|
package/build/topology/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/topology/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/topology/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ProjectArea } from '../../areas/consts.js';
|
|
2
|
+
import type { TargetLayout } from '../../integrity/consts.js';
|
|
3
|
+
import type { SubProject } from '../../slot/consts.js';
|
|
4
|
+
import type { ResolvedTopology, TargetPackageDescriptor, TopologyDescriptor } from '../types.js';
|
|
5
|
+
/** A target's package arrangement: build order, the role index, and where each package lives. */
|
|
6
|
+
export interface TopologyHelper {
|
|
7
|
+
/**
|
|
8
|
+
* Order the packages so that nothing is built before what it compiles against.
|
|
9
|
+
*
|
|
10
|
+
* Kahn's algorithm, with two deliberate tolerances. An edge to a package the topology does not
|
|
11
|
+
* hold is DROPPED rather than fatal — a project may declare a dependency on something a pull has
|
|
12
|
+
* not brought in yet, and refusing to order the tree would take the whole build down over one
|
|
13
|
+
* name. A cycle leaves its members unvisited, and they are appended in declaration order: a cycle
|
|
14
|
+
* cannot be built correctly in any order, so the useful behaviour is to build it in the order
|
|
15
|
+
* somebody wrote rather than to throw.
|
|
16
|
+
*/
|
|
17
|
+
orderPackages: (packages: TargetPackageDescriptor[]) => TargetPackageDescriptor[];
|
|
18
|
+
/** Resolve the derived halves — build order, library order and the role index. */
|
|
19
|
+
resolveTopology: (topology: TopologyDescriptor) => ResolvedTopology;
|
|
20
|
+
/** The default topology for a layout already decided. */
|
|
21
|
+
topologyOf: (layout: TargetLayout) => TopologyDescriptor;
|
|
22
|
+
/**
|
|
23
|
+
* The directory a role names, or `null` when this topology has no package for it.
|
|
24
|
+
*
|
|
25
|
+
* `null` rather than the role's own name: a command aimed at a package the tree does not have must
|
|
26
|
+
* fail where it is issued. Answering with a plausible directory runs it somewhere real and wrong,
|
|
27
|
+
* which is how a type check once ran against the shared package instead of the one under repair.
|
|
28
|
+
*/
|
|
29
|
+
packageForRole: (topology: ResolvedTopology, role: SubProject) => TargetPackageDescriptor | null;
|
|
30
|
+
/** Every package holding a role — more than one only where a topology splits that role. */
|
|
31
|
+
packagesForRole: (topology: ResolvedTopology, role: SubProject) => TargetPackageDescriptor[];
|
|
32
|
+
/** The package serving an area, for a topology that splits the browser app across several. */
|
|
33
|
+
packageForArea: (topology: ResolvedTopology, role: SubProject, area: ProjectArea) => TargetPackageDescriptor | null;
|
|
34
|
+
/** `<dir>/<package>` — the only place a topology directory is composed. */
|
|
35
|
+
packageDir: (topology: TopologyDescriptor, pkg: TargetPackageDescriptor) => string;
|
|
36
|
+
/**
|
|
37
|
+
* Merge a package into a topology, by name.
|
|
38
|
+
*
|
|
39
|
+
* This is the ADOPTION path: a package that arrived with a GitHub pull is classified once and
|
|
40
|
+
* recorded here, so the next run addresses the tree that exists rather than re-deriving one that
|
|
41
|
+
* does not. Replacing by name rather than appending keeps a re-classification idempotent.
|
|
42
|
+
*/
|
|
43
|
+
withPackage: (topology: TopologyDescriptor, pkg: TargetPackageDescriptor) => TopologyDescriptor;
|
|
44
|
+
/** Whether two topologies describe the same arrangement — used to skip a needless rewrite. */
|
|
45
|
+
sameTopology: (a: TopologyDescriptor, b: TopologyDescriptor) => boolean;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/topology/resolve/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhG,iGAAiG;AACjG,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;OASG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,CAAA;IACjF,kFAAkF;IAClF,eAAe,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,gBAAgB,CAAA;IACnE,yDAAyD;IACzD,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,kBAAkB,CAAA;IACxD;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,KAAK,uBAAuB,GAAG,IAAI,CAAA;IAChG,2FAA2F;IAC3F,eAAe,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,KAAK,uBAAuB,EAAE,CAAA;IAC5F,8FAA8F;IAC9F,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,KAAK,uBAAuB,GAAG,IAAI,CAAA;IACnH,2EAA2E;IAC3E,UAAU,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB,KAAK,MAAM,CAAA;IAClF;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB,KAAK,kBAAkB,CAAA;IAC/F,8FAA8F;IAC9F,YAAY,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAA;CACxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/topology/resolve/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/topology/resolve.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,eAAO,MAAM,oBAAoB,QAAO,cA0GvC,CAAA;AAED,eAAO,MAAM,cAAc,gBAAyB,CAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { LAYOUT_TOPOLOGIES, DEFAULT_TOPOLOGY } from './consts.js';
|
|
2
|
+
export const createTopologyHelper = () => {
|
|
3
|
+
const orderPackages = (packages) => {
|
|
4
|
+
const known = new Set(packages.map(pkg => pkg.name));
|
|
5
|
+
const index = new Map(packages.map((pkg, at) => [pkg.name, at]));
|
|
6
|
+
const pending = new Map(packages.map(pkg => [
|
|
7
|
+
pkg.name, pkg.dependsOn.filter(dep => known.has(dep) && dep !== pkg.name).length,
|
|
8
|
+
]));
|
|
9
|
+
const dependents = new Map();
|
|
10
|
+
for (const pkg of packages) {
|
|
11
|
+
for (const dep of pkg.dependsOn) {
|
|
12
|
+
if (!known.has(dep) || dep === pkg.name)
|
|
13
|
+
continue;
|
|
14
|
+
dependents.set(dep, [...dependents.get(dep) ?? [], pkg.name]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const byName = new Map(packages.map(pkg => [pkg.name, pkg]));
|
|
18
|
+
const out = [];
|
|
19
|
+
// Ready packages are taken in DECLARATION order, not in the order they became ready. Both are
|
|
20
|
+
// correct builds; only one is the same list every time and the same list a person wrote, and
|
|
21
|
+
// this order is compared against the shipped layout tables by a test.
|
|
22
|
+
const ready = packages.filter(pkg => pending.get(pkg.name) === 0).map(pkg => pkg.name);
|
|
23
|
+
const take = () => {
|
|
24
|
+
if (ready.length === 0)
|
|
25
|
+
return undefined;
|
|
26
|
+
let at = 0;
|
|
27
|
+
for (let i = 1; i < ready.length; i++) {
|
|
28
|
+
if ((index.get(ready[i]) ?? 0) < (index.get(ready[at]) ?? 0))
|
|
29
|
+
at = i;
|
|
30
|
+
}
|
|
31
|
+
return ready.splice(at, 1)[0];
|
|
32
|
+
};
|
|
33
|
+
for (let name = take(); name != null; name = take()) {
|
|
34
|
+
const pkg = byName.get(name);
|
|
35
|
+
if (pkg == null)
|
|
36
|
+
continue;
|
|
37
|
+
out.push(pkg);
|
|
38
|
+
for (const next of dependents.get(name) ?? []) {
|
|
39
|
+
const left = (pending.get(next) ?? 0) - 1;
|
|
40
|
+
pending.set(next, left);
|
|
41
|
+
if (left === 0)
|
|
42
|
+
ready.push(next);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const seen = new Set(out.map(pkg => pkg.name));
|
|
46
|
+
return [...out, ...packages.filter(pkg => !seen.has(pkg.name))];
|
|
47
|
+
};
|
|
48
|
+
const resolveTopology = (topology) => {
|
|
49
|
+
const ordered = orderPackages(topology.packages);
|
|
50
|
+
const byRole = {};
|
|
51
|
+
for (const pkg of ordered) {
|
|
52
|
+
for (const role of pkg.roles) {
|
|
53
|
+
byRole[role] = [...byRole[role] ?? [], pkg];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
...topology,
|
|
58
|
+
packages: ordered,
|
|
59
|
+
build: ordered.map(pkg => pkg.name),
|
|
60
|
+
libraries: ordered.filter(pkg => pkg.kind === 'library').map(pkg => pkg.name),
|
|
61
|
+
byRole,
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const topologyOf = (layout) => LAYOUT_TOPOLOGIES[layout] ?? DEFAULT_TOPOLOGY;
|
|
65
|
+
const packageForRole = (topology, role) => topology.byRole[role]?.[0] ?? null;
|
|
66
|
+
const packagesForRole = (topology, role) => topology.byRole[role] ?? [];
|
|
67
|
+
const packageForArea = (topology, role, area) => {
|
|
68
|
+
const candidates = packagesForRole(topology, role);
|
|
69
|
+
return candidates.find(pkg => pkg.areas?.includes(area) === true)
|
|
70
|
+
?? candidates.find(pkg => pkg.areas == null)
|
|
71
|
+
?? candidates[0]
|
|
72
|
+
?? null;
|
|
73
|
+
};
|
|
74
|
+
const packageDir = (topology, pkg) => `${topology.dir}/${pkg.name}`;
|
|
75
|
+
const withPackage = (topology, pkg) => ({
|
|
76
|
+
...topology,
|
|
77
|
+
packages: topology.packages.some(known => known.name === pkg.name)
|
|
78
|
+
? topology.packages.map(known => known.name === pkg.name ? pkg : known)
|
|
79
|
+
: [...topology.packages, pkg],
|
|
80
|
+
});
|
|
81
|
+
const sameTopology = (a, b) => JSON.stringify(orderPackages(a.packages)) === JSON.stringify(orderPackages(b.packages))
|
|
82
|
+
&& a.dir === b.dir;
|
|
83
|
+
return {
|
|
84
|
+
orderPackages, resolveTopology, topologyOf, packageForRole, packagesForRole, packageForArea, packageDir,
|
|
85
|
+
withPackage, sameTopology,
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export const topologyHelper = createTopologyHelper();
|
|
89
|
+
//# sourceMappingURL=resolve.js.map
|