@owlmeans/viable-common 0.0.44 → 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 +40 -28
- package/build/agent/index.d.ts +1 -0
- package/build/agent/index.d.ts.map +1 -1
- 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 +10 -8
- package/build/agent/presentation.d.ts.map +1 -1
- package/build/agent/presentation.js +216 -195
- package/build/agent/presentation.js.map +1 -1
- package/build/agent/types.local.d.ts +3 -1
- package/build/agent/types.local.d.ts.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 +5 -14
- package/build/areas/tenancy.d.ts.map +1 -1
- package/build/areas/tenancy.js +20 -26
- package/build/areas/tenancy.js.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/blueprint/types.d.ts +1 -2
- package/build/blueprint/types.d.ts.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 -0
- package/build/connect/consts.d.ts.map +1 -1
- package/build/connect/consts.js +2 -0
- 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 +17 -11
- package/build/connect/entrypoints.d.ts.map +1 -1
- 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 +1 -1
- package/build/connect/errors.d.ts.map +1 -1
- package/build/connect/index.d.ts +13 -3
- package/build/connect/index.d.ts.map +1 -1
- package/build/connect/index.js +1 -1
- 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.map +1 -0
- package/build/connect/references.d.ts +1 -1
- package/build/connect/references.d.ts.map +1 -1
- package/build/connect/references.js.map +1 -1
- package/build/connect/schemas.d.ts +8 -5
- package/build/connect/schemas.d.ts.map +1 -1
- package/build/connect/schemas.js +1 -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/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/{consts.local.d.ts → census/consts.local.d.ts} +1 -1
- package/build/convert/census/consts.local.d.ts.map +1 -0
- package/build/convert/{consts.local.js → census/consts.local.js} +1 -1
- 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 -0
- package/build/convert/consts.d.ts.map +1 -1
- package/build/convert/consts.js +4 -0
- 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 -199
- package/build/convert/helpers.js.map +1 -1
- package/build/convert/index.d.ts +14 -0
- package/build/convert/index.d.ts.map +1 -1
- package/build/convert/index.js +5 -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 -657
- package/build/convert/types.d.ts.map +1 -1
- package/build/convert/utils.d.ts +2 -1
- package/build/convert/utils.d.ts.map +1 -1
- package/build/convert/utils.js +5 -4
- package/build/convert/utils.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 +6 -2
- package/build/design/runtime.d.ts.map +1 -1
- package/build/design/runtime.js +13 -5
- package/build/design/runtime.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/dev/types.local.d.ts +2 -1
- package/build/dev/types.local.d.ts.map +1 -1
- package/build/integrity/index.d.ts +4 -0
- package/build/integrity/index.d.ts.map +1 -1
- package/build/integrity/index.js +2 -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 +3 -1
- package/build/integrity/types.d.ts.map +1 -1
- package/build/integrity/utils.d.ts +6 -81
- package/build/integrity/utils.d.ts.map +1 -1
- package/build/integrity/utils.js +11 -279
- package/build/integrity/utils.js.map +1 -1
- 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 +164 -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 -11
- 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 -2
- package/build/intent/types.d.ts.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/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 -0
- package/build/planning/index.d.ts.map +1 -1
- package/build/planning/index.js +2 -0
- 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 -10
- package/build/planning/landing.d.ts.map +1 -1
- package/build/planning/landing.js +20 -22
- package/build/planning/landing.js.map +1 -1
- package/build/planning/schemas.d.ts +1 -5
- package/build/planning/schemas.d.ts.map +1 -1
- package/build/planning/schemas.js +3 -3
- 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 +4 -3
- package/build/planning/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 +4 -16
- package/build/scaffold/helpers.d.ts.map +1 -1
- package/build/scaffold/helpers.js +9 -64
- 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 +112 -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/helpers.d.ts +2 -16
- 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 +5 -0
- package/build/slot/index.d.ts.map +1 -1
- package/build/slot/index.js +2 -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 +4 -9
- package/build/slot/layout.d.ts.map +1 -1
- package/build/slot/layout.js +13 -15
- 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.map +1 -1
- package/build/slot/utils.d.ts +3 -15
- package/build/slot/utils.d.ts.map +1 -1
- package/build/slot/utils.js +5 -40
- package/build/slot/utils.js.map +1 -1
- 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 +6 -13
- package/build/topology/card.d.ts.map +1 -1
- package/build/topology/card.js +83 -86
- package/build/topology/card.js.map +1 -1
- 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/package.json +11 -11
- package/src/agent/index.ts +1 -0
- package/src/agent/presentation/types.ts +21 -0
- package/src/agent/presentation.ts +199 -165
- package/src/agent/types.local.ts +3 -1
- package/src/areas/index.ts +1 -0
- package/src/areas/tenancy/types.ts +23 -0
- package/src/areas/tenancy.ts +26 -25
- 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/blueprint/types.ts +2 -2
- package/src/connect/branding/types.ts +29 -0
- package/src/connect/consts.ts +3 -0
- package/src/connect/conversion/types.ts +96 -0
- package/src/connect/entrypoints/types.ts +25 -0
- package/src/connect/entrypoints.ts +13 -2
- package/src/connect/errors/types.ts +22 -0
- package/src/connect/errors.ts +1 -1
- package/src/connect/index.ts +13 -3
- 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 +13 -2
- package/src/connect/schemas.ts +9 -13
- package/src/connect/session/types.ts +81 -0
- package/src/connect/settings/types.ts +52 -0
- package/src/convert/analysis/types.ts +89 -0
- package/src/convert/{consts.local.ts → census/consts.local.ts} +1 -1
- package/src/convert/census/types.ts +181 -0
- package/src/convert/census.ts +95 -0
- package/src/convert/consts.ts +5 -0
- 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 -210
- package/src/convert/index.ts +14 -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 -709
- package/src/convert/utils.ts +5 -6
- 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 +22 -7
- package/src/design/story/types.ts +67 -0
- package/src/design/story.ts +221 -0
- package/src/dev/types.local.ts +1 -1
- package/src/integrity/index.ts +4 -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 +3 -1
- package/src/integrity/utils.ts +14 -313
- package/src/integrity/verify/types.ts +26 -0
- package/src/integrity/verify.ts +177 -181
- package/src/intent/consts.ts +67 -0
- package/src/intent/entrypoints.ts +2 -2
- package/src/intent/index.ts +0 -1
- package/src/intent/types.ts +9 -2
- 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/helpers.ts +28 -116
- package/src/planning/index.ts +5 -0
- package/src/planning/landing/types.ts +15 -0
- package/src/planning/landing.ts +27 -24
- package/src/planning/schemas.ts +3 -3
- package/src/planning/spec/types.ts +22 -0
- package/src/planning/spec.ts +41 -0
- package/src/planning/types.ts +4 -4
- package/src/scaffold/consts.ts +65 -1
- package/src/scaffold/helpers.ts +14 -77
- 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 +120 -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/helpers.ts +5 -25
- package/src/slot/index.ts +5 -0
- package/src/slot/layout/types.ts +17 -0
- package/src/slot/layout.ts +19 -16
- package/src/slot/origin/types.ts +23 -0
- package/src/slot/origin.ts +20 -0
- package/src/slot/types.ts +1 -0
- package/src/slot/utils.ts +8 -43
- package/src/topology/card/types.ts +21 -0
- package/src/topology/card.ts +84 -82
- 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/tests/blueprint.spec.ts +1 -2
- package/tests/connect-errors.spec.ts +1 -1
- package/tests/convert.spec.ts +50 -50
- package/tests/design.spec.ts +13 -16
- package/tests/planning.spec.ts +57 -59
- package/tests/presentation.spec.ts +20 -20
- 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 -650
- package/build/connect/types.d.ts.map +0 -1
- package/build/connect/types.local.d.ts +0 -4
- package/build/connect/types.local.d.ts.map +0 -1
- package/build/connect/types.local.js.map +0 -1
- package/build/connect/utils.d.ts +0 -12
- package/build/connect/utils.d.ts.map +0 -1
- package/build/connect/utils.js +0 -25
- package/build/connect/utils.js.map +0 -1
- package/build/convert/consts.local.d.ts.map +0 -1
- package/build/convert/consts.local.js.map +0 -1
- package/build/intent/consts.local.d.ts +0 -4
- package/build/intent/consts.local.d.ts.map +0 -1
- package/build/intent/consts.local.js +0 -3
- package/build/intent/consts.local.js.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/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.local.ts +0 -5
- package/src/connect/types.ts +0 -589
- package/src/connect/utils.ts +0 -23
- package/src/intent/consts.local.ts +0 -3
- package/src/intent/flow.ts +0 -66
- package/src/skills/roles.ts +0 -46
- /package/build/{connect → agent/presentation}/types.js +0 -0
- /package/build/connect/{types.local.js → references/types.local.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/moderation/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,mBAAmB,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/moderation/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,oBAAoB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/moderation/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/moderation/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
import { ModerationCategory } from './consts.js';
|
|
1
|
+
import type { ModerationCategory } from './consts.js';
|
|
2
2
|
import type { ModerationAction, ModerationPolicy, ModerationVerdict } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Narrow whatever the model put in `category` to a real one, or to nothing.
|
|
5
|
-
*
|
|
6
|
-
* The wire field is a free string on purpose — see {@link ModerationVerdictSchema}. A model
|
|
7
|
-
* that is allowing has nothing to categorise and still fills the field, so anything
|
|
8
|
-
* unrecognized is treated as absent rather than as a failure.
|
|
9
|
-
*/
|
|
3
|
+
/** @deprecated compat:factory-refactor — use `moderationVerdictHelper.normalizeCategory(…)` */
|
|
10
4
|
export declare const normalizeCategory: (category?: string) => ModerationCategory | undefined;
|
|
11
|
-
/**
|
|
12
|
-
* What to do about a verdict.
|
|
13
|
-
*
|
|
14
|
-
* Pure, because this is the part with the operational levers on it and the part most likely
|
|
15
|
-
* to be wrong in a hurry: `enforce` turns the whole gate into an observer without a deploy,
|
|
16
|
-
* and `bypassEntities` releases one entity when a real customer is wrongly refused.
|
|
17
|
-
*/
|
|
5
|
+
/** @deprecated compat:factory-refactor — use `moderationVerdictHelper.decideModeration(…)` */
|
|
18
6
|
export declare const decideModeration: (verdict: ModerationVerdict, policy?: ModerationPolicy & {
|
|
19
7
|
entityId?: string;
|
|
20
8
|
}) => ModerationAction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/moderation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/moderation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGvF,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,cAAe,MAAM,KAAG,kBAAkB,GAAG,SACtB,CAAA;AAErD,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,YAClB,iBAAiB,WAAU,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAC3E,gBAA6E,CAAA"}
|
|
@@ -1,31 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* that is allowing has nothing to categorise and still fills the field, so anything
|
|
7
|
-
* unrecognized is treated as absent rather than as a failure.
|
|
8
|
-
*/
|
|
9
|
-
export const normalizeCategory = (category) => {
|
|
10
|
-
const values = Object.values(ModerationCategory);
|
|
11
|
-
return category != null && values.includes(category)
|
|
12
|
-
? category
|
|
13
|
-
: undefined;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* What to do about a verdict.
|
|
17
|
-
*
|
|
18
|
-
* Pure, because this is the part with the operational levers on it and the part most likely
|
|
19
|
-
* to be wrong in a hurry: `enforce` turns the whole gate into an observer without a deploy,
|
|
20
|
-
* and `bypassEntities` releases one entity when a real customer is wrongly refused.
|
|
21
|
-
*/
|
|
22
|
-
export const decideModeration = (verdict, policy = {}) => {
|
|
23
|
-
if (verdict.allowed)
|
|
24
|
-
return 'allow';
|
|
25
|
-
if (policy.entityId != null && policy.bypassEntities?.includes(policy.entityId) === true)
|
|
26
|
-
return 'allow';
|
|
27
|
-
// Defaults to ON: a gate that has to be switched on is a gate that is off in every
|
|
28
|
-
// environment nobody remembered to configure.
|
|
29
|
-
return policy.enforce !== false ? 'refuse' : 'shadow';
|
|
30
|
-
};
|
|
1
|
+
import { moderationVerdictHelper } from './verdict.js';
|
|
2
|
+
/** @deprecated compat:factory-refactor — use `moderationVerdictHelper.normalizeCategory(…)` */
|
|
3
|
+
export const normalizeCategory = (category) => moderationVerdictHelper.normalizeCategory(category);
|
|
4
|
+
/** @deprecated compat:factory-refactor — use `moderationVerdictHelper.decideModeration(…)` */
|
|
5
|
+
export const decideModeration = (verdict, policy = {}) => moderationVerdictHelper.decideModeration(verdict, policy);
|
|
31
6
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/moderation/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/moderation/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAEtD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAkC,EAAE,CACrF,uBAAuB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AAErD,8FAA8F;AAC9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAA0B,EAAE,MAAM,GAA6C,EAAE,EAC/D,EAAE,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ModerationCategory } from '../consts.js';
|
|
2
|
+
import type { ModerationAction, ModerationPolicy, ModerationVerdict } from '../types.js';
|
|
3
|
+
/** Reading a moderation verdict: its category, and what to do about it. */
|
|
4
|
+
export interface ModerationVerdictHelper {
|
|
5
|
+
/**
|
|
6
|
+
* Narrow whatever the model put in `category` to a real one, or to nothing.
|
|
7
|
+
*
|
|
8
|
+
* The wire field is a free string on purpose — see {@link ModerationVerdictSchema}. A model
|
|
9
|
+
* that is allowing has nothing to categorise and still fills the field, so anything
|
|
10
|
+
* unrecognized is treated as absent rather than as a failure.
|
|
11
|
+
*/
|
|
12
|
+
normalizeCategory: (category?: string) => ModerationCategory | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* What to do about a verdict.
|
|
15
|
+
*
|
|
16
|
+
* Pure, because this is the part with the operational levers on it and the part most likely
|
|
17
|
+
* to be wrong in a hurry: `enforce` turns the whole gate into an observer without a deploy,
|
|
18
|
+
* and `bypassEntities` releases one entity when a real customer is wrongly refused.
|
|
19
|
+
*/
|
|
20
|
+
decideModeration: (verdict: ModerationVerdict, policy?: ModerationPolicy & {
|
|
21
|
+
entityId?: string;
|
|
22
|
+
}) => ModerationAction;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/moderation/verdict/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAExF,2EAA2E;AAC3E,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,iBAAiB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,CAAA;IACxE;;;;;;OAMG;IACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,gBAAgB,CAAA;CACtH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/moderation/verdict/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/moderation/verdict.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAEjE,eAAO,MAAM,6BAA6B,QAAO,uBAqBhD,CAAA;AAED,eAAO,MAAM,uBAAuB,yBAAkC,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ModerationCategory } from './consts.js';
|
|
2
|
+
export const createModerationVerdictHelper = () => {
|
|
3
|
+
const normalizeCategory = (category) => {
|
|
4
|
+
const values = Object.values(ModerationCategory);
|
|
5
|
+
return category != null && values.includes(category)
|
|
6
|
+
? category
|
|
7
|
+
: undefined;
|
|
8
|
+
};
|
|
9
|
+
const decideModeration = (verdict, policy = {}) => {
|
|
10
|
+
if (verdict.allowed)
|
|
11
|
+
return 'allow';
|
|
12
|
+
if (policy.entityId != null && policy.bypassEntities?.includes(policy.entityId) === true)
|
|
13
|
+
return 'allow';
|
|
14
|
+
// Defaults to ON: a gate that has to be switched on is a gate that is off in every
|
|
15
|
+
// environment nobody remembered to configure.
|
|
16
|
+
return policy.enforce !== false ? 'refuse' : 'shadow';
|
|
17
|
+
};
|
|
18
|
+
return { normalizeCategory, decideModeration };
|
|
19
|
+
};
|
|
20
|
+
export const moderationVerdictHelper = createModerationVerdictHelper();
|
|
21
|
+
//# sourceMappingURL=verdict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/moderation/verdict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIhD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAA4B,EAAE;IACzE,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAkC,EAAE;QAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAa,CAAA;QAE5D,OAAO,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAClD,CAAC,CAAC,QAA8B;YAChC,CAAC,CAAC,SAAS,CAAA;IACf,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CACvB,OAA0B,EAAE,MAAM,GAA6C,EAAE,EAC/D,EAAE;QACpB,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,OAAO,CAAA;QACnC,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,OAAO,OAAO,CAAA;QAExG,mFAAmF;QACnF,8CAA8C;QAC9C,OAAO,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Workcard } from '@owlmeans/planning';
|
|
2
|
+
import type { StoryDraft } from '../../areas/types.js';
|
|
3
|
+
import type { UserStory } from '../../ba/types.js';
|
|
4
|
+
import type { StoryDesign } from '../../design/types.js';
|
|
5
|
+
import type { StoryWriteInput } from '../../metadata/types.js';
|
|
6
|
+
import type { StoryWriteContent, ViableProjectCard, ViableProjectFields, ViableStoryCard, ViableStoryFields } from '../types.js';
|
|
7
|
+
/** Reading Viable's planning cards — a project, a user story — and what a write carries. */
|
|
8
|
+
export interface ViableCardHelper {
|
|
9
|
+
/** A `viable:project` card — kind AND type, since a foreign provider may share either alone. */
|
|
10
|
+
isViableProject: (card?: Workcard | null) => card is ViableProjectCard;
|
|
11
|
+
/** A `viable:user-story` card. */
|
|
12
|
+
isViableStory: (card?: Workcard | null) => card is ViableStoryCard;
|
|
13
|
+
/** Whether a write came from a person (`web`, `connect`) rather than the platform's own runs. */
|
|
14
|
+
isUserChannel: (channel?: string | null) => boolean;
|
|
15
|
+
projectFieldsOf: (card: Workcard) => ViableProjectFields;
|
|
16
|
+
/**
|
|
17
|
+
* A story card's fields, with the two required ones always answered.
|
|
18
|
+
*
|
|
19
|
+
* An absent area reads as `guest` — the area that guards nothing — and an absent primary flag as
|
|
20
|
+
* `false`, so a reader never branches on a card written by a store that dropped them.
|
|
21
|
+
*/
|
|
22
|
+
storyFieldsOf: (card: Workcard) => ViableStoryFields;
|
|
23
|
+
/** The draft shape the analysis prompts and moderation take, from a card. */
|
|
24
|
+
storyDraftOf: (card: Workcard) => StoryDraft;
|
|
25
|
+
/**
|
|
26
|
+
* The aggregate the coders take, for a story CARD.
|
|
27
|
+
*
|
|
28
|
+
* The card wins on the narrative, the code, the area and the actor — a person may have changed any
|
|
29
|
+
* of them since the design was written. The design supplies what only it knows: the entities and
|
|
30
|
+
* the screens. Without a design the aggregate has no screens yet.
|
|
31
|
+
*/
|
|
32
|
+
userStoryOf: (card: Workcard, design?: StoryDesign | null) => UserStory;
|
|
33
|
+
/**
|
|
34
|
+
* What the metadata store writes to `docs/stories/<code>.md`, from the card and a run's content.
|
|
35
|
+
*
|
|
36
|
+
* The CODE is the target's only story identifier — a card id never reaches a target file — so a
|
|
37
|
+
* story card without one is refused rather than filed under its id. The landing flag is carried
|
|
38
|
+
* only when it is set, so every other story's frontmatter keeps the shape it always had.
|
|
39
|
+
*/
|
|
40
|
+
storyWriteInputOf: (card: Workcard, content: StoryWriteContent) => StoryWriteInput;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/planning/card/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EACV,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAC9F,MAAM,aAAa,CAAA;AAEpB,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,gGAAgG;IAChG,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,IAAI,iBAAiB,CAAA;IACtE,kCAAkC;IAClC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,IAAI,eAAe,CAAA;IAClE,iGAAiG;IACjG,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAA;IACnD,eAAe,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,mBAAmB,CAAA;IACxD;;;;;OAKG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,iBAAiB,CAAA;IACpD,6EAA6E;IAC7E,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,UAAU,CAAA;IAC5C;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,SAAS,CAAA;IACvE;;;;;;OAMG;IACH,iBAAiB,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,KAAK,eAAe,CAAA;CACnF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/planning/card/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/planning/card.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,eAAO,MAAM,sBAAsB,QAAO,gBA2DzC,CAAA;AAED,eAAO,MAAM,gBAAgB,kBAA2B,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { WorkcardKind } from '@owlmeans/planning';
|
|
2
|
+
import { ProjectArea } from '../areas/consts.js';
|
|
3
|
+
import { storyDesignHelper } from '../design/story.js';
|
|
4
|
+
import { VIABLE_PROJECT_TYPE, VIABLE_STORY_TYPE, VIABLE_USER_CHANNELS } from './consts.js';
|
|
5
|
+
import { ProjectStoryMissconfigured } from './errors.js';
|
|
6
|
+
export const createViableCardHelper = () => {
|
|
7
|
+
const isViableProject = (card) => card != null && card.kind === WorkcardKind.Project && card.type === VIABLE_PROJECT_TYPE;
|
|
8
|
+
const isViableStory = (card) => card != null && card.kind === WorkcardKind.Card && card.type === VIABLE_STORY_TYPE;
|
|
9
|
+
const isUserChannel = (channel) => channel != null && VIABLE_USER_CHANNELS.includes(channel);
|
|
10
|
+
const projectFieldsOf = (card) => (card.fields ?? {});
|
|
11
|
+
const storyFieldsOf = (card) => {
|
|
12
|
+
const fields = (card.fields ?? {});
|
|
13
|
+
return { ...fields, area: fields.area ?? ProjectArea.Guest, primary: fields.primary === true };
|
|
14
|
+
};
|
|
15
|
+
const storyDraftOf = (card) => ({ story: card.title, area: storyFieldsOf(card).area });
|
|
16
|
+
const userStoryOf = (card, design) => {
|
|
17
|
+
const fields = storyFieldsOf(card);
|
|
18
|
+
const base = design != null
|
|
19
|
+
? storyDesignHelper.userStoryOfDesign(design)
|
|
20
|
+
: { story: card.title, area: fields.area, entity: null, entities: [], screens: [] };
|
|
21
|
+
const code = card.code ?? base.code;
|
|
22
|
+
return {
|
|
23
|
+
...base,
|
|
24
|
+
story: card.title,
|
|
25
|
+
...(code != null ? { code } : {}),
|
|
26
|
+
area: fields.area,
|
|
27
|
+
...(fields.actor != null ? { actor: fields.actor } : {}),
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
const storyWriteInputOf = (card, content) => {
|
|
31
|
+
if (card.code == null || card.code === '') {
|
|
32
|
+
throw new ProjectStoryMissconfigured('no-code');
|
|
33
|
+
}
|
|
34
|
+
const { status, ...rest } = content;
|
|
35
|
+
const fields = storyFieldsOf(card);
|
|
36
|
+
return {
|
|
37
|
+
...rest,
|
|
38
|
+
code: card.code,
|
|
39
|
+
narrative: card.title,
|
|
40
|
+
status: status ?? card.status,
|
|
41
|
+
primary: fields.primary,
|
|
42
|
+
...(fields.landing === true ? { landing: true } : {}),
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
return {
|
|
46
|
+
isViableProject, isViableStory, isUserChannel, projectFieldsOf, storyFieldsOf, storyDraftOf, userStoryOf,
|
|
47
|
+
storyWriteInputOf,
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export const viableCardHelper = createViableCardHelper();
|
|
51
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/planning/card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAMxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAqB,EAAE;IAC3D,MAAM,eAAe,GAAG,CAAC,IAAsB,EAA6B,EAAE,CAC5E,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAA;IAEzF,MAAM,aAAa,GAAG,CAAC,IAAsB,EAA2B,EAAE,CACxE,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAA;IAEpF,MAAM,aAAa,GAAG,CAAC,OAAuB,EAAW,EAAE,CACzD,OAAO,IAAI,IAAI,IAAI,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAE3D,MAAM,eAAe,GAAG,CAAC,IAAc,EAAuB,EAAE,CAC9D,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAwB,CAAA;IAE5C,MAAM,aAAa,GAAG,CAAC,IAAc,EAAqB,EAAE;QAC1D,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAA+B,CAAA;QAEhE,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAA;IAChG,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,IAAc,EAAc,EAAE,CAClD,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAEzD,MAAM,WAAW,GAAG,CAAC,IAAc,EAAE,MAA2B,EAAa,EAAE;QAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,IAAI,GAAc,MAAM,IAAI,IAAI;YACpC,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAC7C,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAyB,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QAC1G,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QAEnC,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAA;IACH,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,OAA0B,EAAmB,EAAE;QACxF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,0BAA0B,CAAC,SAAS,CAAC,CAAA;QACjD,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;QACnC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAElC,OAAO;YACL,GAAG,IAAI;YACP,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAA;IACH,CAAC,CAAA;IAED,OAAO;QACL,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW;QACxG,iBAAiB;KAClB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAA"}
|
|
@@ -4,52 +4,26 @@ import type { AgentProject, UserStory } from '../ba/types.js';
|
|
|
4
4
|
import type { StoryDesign } from '../design/types.js';
|
|
5
5
|
import type { StoryWriteInput } from '../metadata/types.js';
|
|
6
6
|
import type { StoryWriteContent, ViableProjectCard, ViableProjectFields, ViableStoryCard, ViableStoryFields } from './types.js';
|
|
7
|
-
/**
|
|
7
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.isViableProject(…)` */
|
|
8
8
|
export declare const isViableProject: (card?: Workcard | null) => card is ViableProjectCard;
|
|
9
|
-
/**
|
|
9
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.isViableStory(…)` */
|
|
10
10
|
export declare const isViableStory: (card?: Workcard | null) => card is ViableStoryCard;
|
|
11
|
-
/**
|
|
11
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.isUserChannel(…)` */
|
|
12
12
|
export declare const isUserChannel: (channel?: string | null) => boolean;
|
|
13
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.projectFieldsOf(…)` */
|
|
13
14
|
export declare const projectFieldsOf: (card: Workcard) => ViableProjectFields;
|
|
14
|
-
/**
|
|
15
|
-
* A story card's fields, with the two required ones always answered.
|
|
16
|
-
*
|
|
17
|
-
* An absent area reads as `guest` — the area that guards nothing — and an absent primary flag as
|
|
18
|
-
* `false`, so a reader never branches on a card written by a store that dropped them.
|
|
19
|
-
*/
|
|
15
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.storyFieldsOf(…)` */
|
|
20
16
|
export declare const storyFieldsOf: (card: Workcard) => ViableStoryFields;
|
|
21
|
-
/**
|
|
17
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.storyDraftOf(…)` */
|
|
22
18
|
export declare const storyDraftOf: (card: Workcard) => StoryDraft;
|
|
23
|
-
/**
|
|
24
|
-
* The aggregate the coders take, for a story CARD.
|
|
25
|
-
*
|
|
26
|
-
* The card wins on the narrative, the code, the area and the actor — a person may have changed any
|
|
27
|
-
* of them since the design was written. The design supplies what only it knows: the entities and
|
|
28
|
-
* the screens. Without a design the aggregate has no screens yet.
|
|
29
|
-
*/
|
|
19
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.userStoryOf(…)` */
|
|
30
20
|
export declare const userStoryOf: (card: Workcard, design?: StoryDesign | null) => UserStory;
|
|
31
|
-
/**
|
|
32
|
-
* The current document of one category among a card's specifications.
|
|
33
|
-
*
|
|
34
|
-
* The highest revision wins, then the most recently updated; a category nobody wrote answers
|
|
35
|
-
* `null`.
|
|
36
|
-
*/
|
|
21
|
+
/** @deprecated compat:factory-refactor — use `viableSpecHelper.currentSpecOf(…)` */
|
|
37
22
|
export declare const currentSpecOf: (specs: readonly Specification[], category: string) => Specification | null;
|
|
38
|
-
/**
|
|
23
|
+
/** @deprecated compat:factory-refactor — use `viableSpecHelper.currentSpecBody(…)` */
|
|
39
24
|
export declare const currentSpecBody: (specs: readonly Specification[], category: string) => string;
|
|
40
|
-
/**
|
|
41
|
-
* The brief a generator reads, assembled from the project card and its specifications.
|
|
42
|
-
*
|
|
43
|
-
* `name` is the card's title and `alias` its code; a brief part nobody wrote is `''`, which is
|
|
44
|
-
* what every prompt already treats as "not stated".
|
|
45
|
-
*/
|
|
25
|
+
/** @deprecated compat:factory-refactor — use `viableSpecHelper.projectBriefOf(…)` */
|
|
46
26
|
export declare const projectBriefOf: (project: Workcard, specs: readonly Specification[]) => AgentProject;
|
|
47
|
-
/**
|
|
48
|
-
* What the metadata store writes to `docs/stories/<code>.md`, from the card and a run's content.
|
|
49
|
-
*
|
|
50
|
-
* The CODE is the target's only story identifier — a card id never reaches a target file — so a
|
|
51
|
-
* story card without one is refused rather than filed under its id. The landing flag is carried
|
|
52
|
-
* only when it is set, so every other story's frontmatter keeps the shape it always had.
|
|
53
|
-
*/
|
|
27
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.storyWriteInputOf(…)` */
|
|
54
28
|
export declare const storyWriteInputOf: (card: Workcard, content: StoryWriteContent) => StoryWriteInput;
|
|
55
29
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/planning/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/planning/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,OAAO,KAAK,EACV,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAC9F,MAAM,YAAY,CAAA;AAEnB,sFAAsF;AACtF,eAAO,MAAM,eAAe,UAAW,QAAQ,GAAG,IAAI,KAAG,IAAI,IAAI,iBAA2D,CAAA;AAE5H,oFAAoF;AACpF,eAAO,MAAM,aAAa,UAAW,QAAQ,GAAG,IAAI,KAAG,IAAI,IAAI,eAAuD,CAAA;AAEtH,oFAAoF;AACpF,eAAO,MAAM,aAAa,aAAc,MAAM,GAAG,IAAI,KAAG,OAAkD,CAAA;AAE1G,sFAAsF;AACtF,eAAO,MAAM,eAAe,SAAU,QAAQ,KAAG,mBAA6D,CAAA;AAE9G,oFAAoF;AACpF,eAAO,MAAM,aAAa,SAAU,QAAQ,KAAG,iBAAyD,CAAA;AAExG,mFAAmF;AACnF,eAAO,MAAM,YAAY,SAAU,QAAQ,KAAG,UAAiD,CAAA;AAE/F,kFAAkF;AAClF,eAAO,MAAM,WAAW,SAAU,QAAQ,WAAW,WAAW,GAAG,IAAI,KAAG,SAC9B,CAAA;AAE5C,oFAAoF;AACpF,eAAO,MAAM,aAAa,UAAW,SAAS,aAAa,EAAE,YAAY,MAAM,KAAG,aAAa,GAAG,IACjD,CAAA;AAEjD,sFAAsF;AACtF,eAAO,MAAM,eAAe,UAAW,SAAS,aAAa,EAAE,YAAY,MAAM,KAAG,MACjC,CAAA;AAEnD,qFAAqF;AACrF,eAAO,MAAM,cAAc,YAAa,QAAQ,SAAS,SAAS,aAAa,EAAE,KAAG,YACnC,CAAA;AAEjD,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,SAAU,QAAQ,WAAW,iBAAiB,KAAG,eAC5B,CAAA"}
|
|
@@ -1,104 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export const
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
export const
|
|
25
|
-
/**
|
|
26
|
-
* The aggregate the coders take, for a story CARD.
|
|
27
|
-
*
|
|
28
|
-
* The card wins on the narrative, the code, the area and the actor — a person may have changed any
|
|
29
|
-
* of them since the design was written. The design supplies what only it knows: the entities and
|
|
30
|
-
* the screens. Without a design the aggregate has no screens yet.
|
|
31
|
-
*/
|
|
32
|
-
export const userStoryOf = (card, design) => {
|
|
33
|
-
const fields = storyFieldsOf(card);
|
|
34
|
-
const base = design != null
|
|
35
|
-
? userStoryOfDesign(design)
|
|
36
|
-
: { story: card.title, area: fields.area, entity: null, entities: [], screens: [] };
|
|
37
|
-
const code = card.code ?? base.code;
|
|
38
|
-
return {
|
|
39
|
-
...base,
|
|
40
|
-
story: card.title,
|
|
41
|
-
...(code != null ? { code } : {}),
|
|
42
|
-
area: fields.area,
|
|
43
|
-
...(fields.actor != null ? { actor: fields.actor } : {}),
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* The current document of one category among a card's specifications.
|
|
48
|
-
*
|
|
49
|
-
* The highest revision wins, then the most recently updated; a category nobody wrote answers
|
|
50
|
-
* `null`.
|
|
51
|
-
*/
|
|
52
|
-
export const currentSpecOf = (specs, category) => specs
|
|
53
|
-
.filter(spec => spec.category === category)
|
|
54
|
-
.reduce((best, spec) => {
|
|
55
|
-
if (best == null)
|
|
56
|
-
return spec;
|
|
57
|
-
const byRevision = (spec.revision ?? 0) - (best.revision ?? 0);
|
|
58
|
-
if (byRevision !== 0)
|
|
59
|
-
return byRevision > 0 ? spec : best;
|
|
60
|
-
return (spec.updatedAt ?? spec.createdAt) > (best.updatedAt ?? best.createdAt) ? spec : best;
|
|
61
|
-
}, null);
|
|
62
|
-
/** The body of a category's current document, `''` when there is none. */
|
|
63
|
-
export const currentSpecBody = (specs, category) => currentSpecOf(specs, category)?.body ?? '';
|
|
64
|
-
/**
|
|
65
|
-
* The brief a generator reads, assembled from the project card and its specifications.
|
|
66
|
-
*
|
|
67
|
-
* `name` is the card's title and `alias` its code; a brief part nobody wrote is `''`, which is
|
|
68
|
-
* what every prompt already treats as "not stated".
|
|
69
|
-
*/
|
|
70
|
-
export const projectBriefOf = (project, specs) => {
|
|
71
|
-
const { language } = projectFieldsOf(project);
|
|
72
|
-
return {
|
|
73
|
-
name: project.title,
|
|
74
|
-
...(project.code != null ? { alias: project.code } : {}),
|
|
75
|
-
description: project.description ?? '',
|
|
76
|
-
specification: currentSpecBody(specs, ViableSpecCategory.Specification),
|
|
77
|
-
designSystem: currentSpecBody(specs, ViableSpecCategory.DesignSystem),
|
|
78
|
-
vision: currentSpecBody(specs, ViableSpecCategory.Vision),
|
|
79
|
-
...(language != null ? { language } : {}),
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
* What the metadata store writes to `docs/stories/<code>.md`, from the card and a run's content.
|
|
84
|
-
*
|
|
85
|
-
* The CODE is the target's only story identifier — a card id never reaches a target file — so a
|
|
86
|
-
* story card without one is refused rather than filed under its id. The landing flag is carried
|
|
87
|
-
* only when it is set, so every other story's frontmatter keeps the shape it always had.
|
|
88
|
-
*/
|
|
89
|
-
export const storyWriteInputOf = (card, content) => {
|
|
90
|
-
if (card.code == null || card.code === '') {
|
|
91
|
-
throw new ProjectStoryMissconfigured('no-code');
|
|
92
|
-
}
|
|
93
|
-
const { status, ...rest } = content;
|
|
94
|
-
const fields = storyFieldsOf(card);
|
|
95
|
-
return {
|
|
96
|
-
...rest,
|
|
97
|
-
code: card.code,
|
|
98
|
-
narrative: card.title,
|
|
99
|
-
status: status ?? card.status,
|
|
100
|
-
primary: fields.primary,
|
|
101
|
-
...(fields.landing === true ? { landing: true } : {}),
|
|
102
|
-
};
|
|
103
|
-
};
|
|
1
|
+
import { viableCardHelper } from './card.js';
|
|
2
|
+
import { viableSpecHelper } from './spec.js';
|
|
3
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.isViableProject(…)` */
|
|
4
|
+
export const isViableProject = (card) => viableCardHelper.isViableProject(card);
|
|
5
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.isViableStory(…)` */
|
|
6
|
+
export const isViableStory = (card) => viableCardHelper.isViableStory(card);
|
|
7
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.isUserChannel(…)` */
|
|
8
|
+
export const isUserChannel = (channel) => viableCardHelper.isUserChannel(channel);
|
|
9
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.projectFieldsOf(…)` */
|
|
10
|
+
export const projectFieldsOf = (card) => viableCardHelper.projectFieldsOf(card);
|
|
11
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.storyFieldsOf(…)` */
|
|
12
|
+
export const storyFieldsOf = (card) => viableCardHelper.storyFieldsOf(card);
|
|
13
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.storyDraftOf(…)` */
|
|
14
|
+
export const storyDraftOf = (card) => viableCardHelper.storyDraftOf(card);
|
|
15
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.userStoryOf(…)` */
|
|
16
|
+
export const userStoryOf = (card, design) => viableCardHelper.userStoryOf(card, design);
|
|
17
|
+
/** @deprecated compat:factory-refactor — use `viableSpecHelper.currentSpecOf(…)` */
|
|
18
|
+
export const currentSpecOf = (specs, category) => viableSpecHelper.currentSpecOf(specs, category);
|
|
19
|
+
/** @deprecated compat:factory-refactor — use `viableSpecHelper.currentSpecBody(…)` */
|
|
20
|
+
export const currentSpecBody = (specs, category) => viableSpecHelper.currentSpecBody(specs, category);
|
|
21
|
+
/** @deprecated compat:factory-refactor — use `viableSpecHelper.projectBriefOf(…)` */
|
|
22
|
+
export const projectBriefOf = (project, specs) => viableSpecHelper.projectBriefOf(project, specs);
|
|
23
|
+
/** @deprecated compat:factory-refactor — use `viableCardHelper.storyWriteInputOf(…)` */
|
|
24
|
+
export const storyWriteInputOf = (card, content) => viableCardHelper.storyWriteInputOf(card, content);
|
|
104
25
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/planning/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/planning/helpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAK5C,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAsB,EAA6B,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;AAE5H,oFAAoF;AACpF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAsB,EAA2B,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAEtH,oFAAoF;AACpF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAuB,EAAW,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1G,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAc,EAAuB,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;AAE9G,oFAAoF;AACpF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAc,EAAqB,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAExG,mFAAmF;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAc,EAAc,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;AAE/F,kFAAkF;AAClF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAc,EAAE,MAA2B,EAAa,EAAE,CACpF,gBAAgB,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAE5C,oFAAoF;AACpF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAA+B,EAAE,QAAgB,EAAwB,EAAE,CACvG,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAEjD,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA+B,EAAE,QAAgB,EAAU,EAAE,CAC3F,gBAAgB,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAEnD,qFAAqF;AACrF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,KAA+B,EAAgB,EAAE,CACjG,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAEjD,wFAAwF;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,OAA0B,EAAmB,EAAE,CAC/F,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
export * from './consts.js';
|
|
2
2
|
export * from './errors.js';
|
|
3
3
|
export * from './schemas.js';
|
|
4
|
+
export * from './card.js';
|
|
5
|
+
export * from './spec.js';
|
|
4
6
|
export * from './helpers.js';
|
|
5
7
|
export * from './landing.js';
|
|
6
8
|
export type * from './types.js';
|
|
9
|
+
export type * from './card/types.js';
|
|
10
|
+
export type * from './spec/types.js';
|
|
11
|
+
export type * from './landing/types.js';
|
|
7
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,mBAAmB,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,iBAAiB,CAAA;AACpC,mBAAmB,iBAAiB,CAAA;AACpC,mBAAmB,oBAAoB,CAAA"}
|
package/build/planning/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** The landing sentence a landing-gate story's narrative carries. */
|
|
2
|
+
export interface LandingSentenceHelper {
|
|
3
|
+
/** Whether a narrative already carries the landing sentence, whatever whitespace surrounds it. */
|
|
4
|
+
hasLandingSentence: (title: string) => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* The narrative with the landing sentence appended once.
|
|
7
|
+
*
|
|
8
|
+
* Idempotent — a narrative that already carries the sentence comes back unchanged, so a decision
|
|
9
|
+
* step that is resumed after it wrote the card never appends a second copy. It never produces a
|
|
10
|
+
* title longer than a card accepts (`TITLE_MAX`): a narrative with no room left is returned as it
|
|
11
|
+
* is rather than cut, because a person's words are worth more than the note, and the flag on the
|
|
12
|
+
* card still carries the fact.
|
|
13
|
+
*/
|
|
14
|
+
withLandingSentence: (title: string) => string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/planning/landing/types.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,kGAAkG;IAClG,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IAC9C;;;;;;;;OAQG;IACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/planning/landing/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import type { LandingSentenceHelper } from './landing/types.js';
|
|
2
|
+
export declare const createLandingSentenceHelper: () => LandingSentenceHelper;
|
|
3
|
+
export declare const landingSentenceHelper: LandingSentenceHelper;
|
|
4
|
+
/** @deprecated compat:factory-refactor — use `landingSentenceHelper.hasLandingSentence(…)` */
|
|
2
5
|
export declare const hasLandingSentence: (title: string) => boolean;
|
|
3
|
-
/**
|
|
4
|
-
* The narrative with the landing sentence appended once.
|
|
5
|
-
*
|
|
6
|
-
* Idempotent — a narrative that already carries the sentence comes back unchanged, so a decision
|
|
7
|
-
* step that is resumed after it wrote the card never appends a second copy. It never produces a
|
|
8
|
-
* title longer than a card accepts (`TITLE_MAX`): a narrative with no room left is returned as it
|
|
9
|
-
* is rather than cut, because a person's words are worth more than the note, and the flag on the
|
|
10
|
-
* card still carries the fact.
|
|
11
|
-
*/
|
|
6
|
+
/** @deprecated compat:factory-refactor — use `landingSentenceHelper.withLandingSentence(…)` */
|
|
12
7
|
export declare const withLandingSentence: (title: string) => string;
|
|
13
8
|
//# sourceMappingURL=landing.d.ts.map
|