@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
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { EntrypointReference } from '@owlmeans/context'
|
|
2
|
+
import type { RegisteredEntrypoint, RequestShape } from '@owlmeans/entrypoint'
|
|
3
|
+
|
|
4
|
+
export interface ConnectReference<Request extends RequestShape, Response>
|
|
5
|
+
extends EntrypointReference<RegisteredEntrypoint<Request, Response>> {}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { ConnectProjectBranding, ConnectProjectBrandingSave } from '../branding/types.js'
|
|
2
|
+
import type {
|
|
3
|
+
ConnectConvertCreateBody, ConnectConvertProceedBody, ConnectConvertStartBody, ConversionStatusView, ConvertCheck
|
|
4
|
+
} from '../conversion/types.js'
|
|
5
|
+
import type { ConnectKitApplyBody, ConnectKitApplyResult, ConnectKitDescribe } from '../kit/types.js'
|
|
6
|
+
import type { ConnectInquiryAnswerBody, ConnectOp, ConnectOpResult, ConnectOpSubmission } from '../ops/types.js'
|
|
7
|
+
import type { ConnectPipelineParams, ConnectPipelineResumeBody, ConnectPipelineState } from '../pipeline/types.js'
|
|
8
|
+
import type {
|
|
9
|
+
ConnectAttachBody, ConnectConfirmBody, ConnectCreateBody, ConnectModifyBody, ConnectProjectStatus,
|
|
10
|
+
ConnectProjectSummary, ConnectStoryStatus
|
|
11
|
+
} from '../project/types.js'
|
|
12
|
+
import type { ConnectPullQuery, ConnectSessionOpen, ConnectSessionParams, ConnectSessionView } from '../session/types.js'
|
|
13
|
+
import type { ConnectReference } from './types.local.js'
|
|
14
|
+
|
|
15
|
+
export interface ConnectReferences {
|
|
16
|
+
session: {
|
|
17
|
+
open: ConnectReference<{ body: ConnectSessionOpen }, ConnectSessionView>
|
|
18
|
+
openDelegated: ConnectReference<{ body: ConnectSessionOpen }, ConnectSessionView>
|
|
19
|
+
close: ConnectReference<{ params: ConnectSessionParams }, ConnectSessionView>
|
|
20
|
+
}
|
|
21
|
+
op: {
|
|
22
|
+
pull: ConnectReference<{ params: ConnectSessionParams, query: ConnectPullQuery }, ConnectOp[]>
|
|
23
|
+
submit: ConnectReference<{
|
|
24
|
+
params: { sessionId: string, opId: string }, body: ConnectOpResult
|
|
25
|
+
}, ConnectOpSubmission>
|
|
26
|
+
}
|
|
27
|
+
project: {
|
|
28
|
+
create: ConnectReference<{ body: ConnectCreateBody }, ConnectProjectStatus>
|
|
29
|
+
confirm: ConnectReference<{ params: { id: string }, body: ConnectConfirmBody }, ConnectProjectStatus>
|
|
30
|
+
list: ConnectReference<{}, ConnectProjectSummary[]>
|
|
31
|
+
status: ConnectReference<{ params: { id: string } }, ConnectProjectStatus>
|
|
32
|
+
attach: ConnectReference<{ body: ConnectAttachBody }, ConnectProjectStatus>
|
|
33
|
+
reinit: ConnectReference<{ params: { id: string } }, ConnectProjectStatus>
|
|
34
|
+
modify: ConnectReference<{ params: { id: string }, body: ConnectModifyBody }, ConnectProjectStatus>
|
|
35
|
+
kit: {
|
|
36
|
+
describe: ConnectReference<{ params: { id: string } }, ConnectKitDescribe>
|
|
37
|
+
apply: ConnectReference<{ params: { id: string }, body: ConnectKitApplyBody }, ConnectKitApplyResult>
|
|
38
|
+
}
|
|
39
|
+
branding: {
|
|
40
|
+
get: ConnectReference<{ params: { id: string } }, ConnectProjectBranding>
|
|
41
|
+
save: ConnectReference<{
|
|
42
|
+
params: { id: string }, body: ConnectProjectBrandingSave
|
|
43
|
+
}, ConnectProjectBranding>
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
story: {
|
|
47
|
+
status: ConnectReference<{ params: { id: string, storyId: string } }, ConnectStoryStatus>
|
|
48
|
+
}
|
|
49
|
+
files: {
|
|
50
|
+
list: ConnectReference<{ params: { id: string } }, string[]>
|
|
51
|
+
}
|
|
52
|
+
convert: {
|
|
53
|
+
create: ConnectReference<{ body: ConnectConvertCreateBody }, ConversionStatusView>
|
|
54
|
+
check: ConnectReference<{ params: { id: string } }, ConvertCheck>
|
|
55
|
+
start: ConnectReference<{ params: { id: string }, body: ConnectConvertStartBody }, ConversionStatusView>
|
|
56
|
+
proceed: ConnectReference<{
|
|
57
|
+
params: { id: string }, body: ConnectConvertProceedBody
|
|
58
|
+
}, ConversionStatusView>
|
|
59
|
+
status: ConnectReference<{ params: { id: string } }, ConversionStatusView>
|
|
60
|
+
purge: ConnectReference<{ params: { id: string } }, ConversionStatusView>
|
|
61
|
+
}
|
|
62
|
+
inquiry: {
|
|
63
|
+
answer: ConnectReference<{
|
|
64
|
+
params: { id: string, inquiryId: string }, body: ConnectInquiryAnswerBody
|
|
65
|
+
}, unknown>
|
|
66
|
+
}
|
|
67
|
+
pipeline: {
|
|
68
|
+
state: ConnectReference<{ params: ConnectPipelineParams }, ConnectPipelineState>
|
|
69
|
+
resume: ConnectReference<{
|
|
70
|
+
params: ConnectPipelineParams, body: ConnectPipelineResumeBody
|
|
71
|
+
}, ConnectPipelineState>
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import { entrypointRef } from '@owlmeans/entrypoint'
|
|
2
2
|
import { connect } from './consts.js'
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
3
|
+
import type { ConnectProjectBranding, ConnectProjectBrandingSave } from './branding/types.js'
|
|
4
|
+
import type {
|
|
5
|
+
ConnectConvertCreateBody, ConnectConvertProceedBody, ConnectConvertStartBody, ConversionStatusView, ConvertCheck
|
|
6
|
+
} from './conversion/types.js'
|
|
7
|
+
import type { ConnectKitApplyBody, ConnectKitApplyResult, ConnectKitDescribe } from './kit/types.js'
|
|
8
|
+
import type { ConnectInquiryAnswerBody, ConnectOp, ConnectOpResult, ConnectOpSubmission } from './ops/types.js'
|
|
9
|
+
import type { ConnectPipelineParams, ConnectPipelineResumeBody, ConnectPipelineState } from './pipeline/types.js'
|
|
10
|
+
import type {
|
|
11
|
+
ConnectAttachBody, ConnectConfirmBody, ConnectCreateBody, ConnectModifyBody, ConnectProjectStatus,
|
|
12
|
+
ConnectProjectSummary, ConnectStoryStatus
|
|
13
|
+
} from './project/types.js'
|
|
14
|
+
import type { ConnectReferences } from './references/types.js'
|
|
15
|
+
import type { ConnectPullQuery, ConnectSessionOpen, ConnectSessionParams, ConnectSessionView } from './session/types.js'
|
|
5
16
|
|
|
6
17
|
/**
|
|
7
18
|
* Typed references for adapter packages that address the connector dynamically. Applications
|
package/src/connect/schemas.ts
CHANGED
|
@@ -4,17 +4,16 @@ import {
|
|
|
4
4
|
CONNECT_BRANDING_COPYRIGHT_MAX, CONNECT_BRANDING_GOOGLE_TAG_MAX,
|
|
5
5
|
CONNECT_BRANDING_ORGANIZATION_MAX, CONNECT_BRANDING_URL_MAX, CONNECT_INQUIRY_MAX_TEXT,
|
|
6
6
|
ConnectHarness, ConnectLlm, ConnectOpErrorKind, ConnectSessionStatus, ConnectTarget,
|
|
7
|
-
ConnectTransport, ModelTaskResultKind
|
|
7
|
+
ConnectTransport, ModelTaskResultKind
|
|
8
8
|
} from './consts.js'
|
|
9
|
-
import type {
|
|
10
|
-
import type {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} from './types.js'
|
|
9
|
+
import type { ConnectProjectBrandingSave } from './branding/types.js'
|
|
10
|
+
import type { ConnectConvertCreateBody, ConnectConvertProceedBody, ConnectConvertStartBody } from './conversion/types.js'
|
|
11
|
+
import type { ConnectKitApplyBody, ConnectKitApplyResult, ConnectKitDescribe, PlanningKitView } from './kit/types.js'
|
|
12
|
+
import type { ConnectOpResult, InquiryAnswerPayload } from './ops/types.js'
|
|
13
|
+
import type { ConnectPipelineParams, ConnectPipelineResumeBody } from './pipeline/types.js'
|
|
14
|
+
import type { ConnectAttachBody, ConnectConfirmBody, ConnectCreateBody, ConnectModifyBody } from './project/types.js'
|
|
15
|
+
import type { ConnectPullQuery, ConnectSession, ConnectSessionOpen, ConnectSessionParams } from './session/types.js'
|
|
16
|
+
import type { ConnectLlmBody, ConnectProjectLlmBody } from './settings/types.js'
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
19
|
* A nullable ENUM carries `null` as one of its values.
|
|
@@ -478,6 +477,3 @@ export const ModelTaskResultSchema = {
|
|
|
478
477
|
required: ['taskId', 'kind'],
|
|
479
478
|
additionalProperties: false,
|
|
480
479
|
} as any
|
|
481
|
-
|
|
482
|
-
/** Tier → the model the parent will run it on. Free-form; display only. */
|
|
483
|
-
export const ModelTierValues = Object.values(ModelTier)
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ConnectExecutor, ConnectHarness, ConnectLlm, ConnectSessionStatus, ConnectTarget, ConnectTransport, ModelTier
|
|
3
|
+
} from '../consts.js'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* What a parent agent can do, as it reports itself.
|
|
7
|
+
*
|
|
8
|
+
* `tiers` is what decides whether the local-LLM mode is usable at all: a parent that names no
|
|
9
|
+
* model for a tier still gets tasks, clamped to the nearest tier it does offer.
|
|
10
|
+
*/
|
|
11
|
+
export interface ConnectCapabilities {
|
|
12
|
+
harness: ConnectHarness
|
|
13
|
+
/** Tier → the parent's own name for the model it will run that tier on. Display only. */
|
|
14
|
+
tiers: Partial<Record<ModelTier, string>>
|
|
15
|
+
/** Whether the parent can run a task in an isolated subagent rather than its own conversation. */
|
|
16
|
+
subagents: boolean
|
|
17
|
+
/** Whether the parent can ask for low reasoning effort explicitly. */
|
|
18
|
+
effortControl: boolean
|
|
19
|
+
/** Which operation kinds this connector will execute. */
|
|
20
|
+
executors: ConnectExecutor[]
|
|
21
|
+
/** What the local machine has, learned from the configure op. Absent until one has run. */
|
|
22
|
+
services?: ConnectServices
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** What a local machine actually provides. Reported by the connector, never assumed. */
|
|
26
|
+
export interface ConnectServices {
|
|
27
|
+
db: boolean
|
|
28
|
+
valkey: boolean
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface ConnectSession {
|
|
32
|
+
id?: string
|
|
33
|
+
profileId: string
|
|
34
|
+
entityId: string
|
|
35
|
+
projectId?: string
|
|
36
|
+
/** The absolute directory the target lives in, for a local target. Identity for supersede. */
|
|
37
|
+
projectDir?: string
|
|
38
|
+
target: ConnectTarget
|
|
39
|
+
llm: ConnectLlm
|
|
40
|
+
harness: ConnectHarness
|
|
41
|
+
clientVersion: string
|
|
42
|
+
capabilities: ConnectCapabilities
|
|
43
|
+
status: ConnectSessionStatus
|
|
44
|
+
/** How the connector is receiving operations right now. */
|
|
45
|
+
transport?: ConnectTransport
|
|
46
|
+
openedAt: Date
|
|
47
|
+
lastSeenAt: Date
|
|
48
|
+
closedAt?: Date
|
|
49
|
+
createdAt: Date
|
|
50
|
+
updatedAt?: Date
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** What a connector asks for when it attaches. */
|
|
54
|
+
export interface ConnectSessionOpen {
|
|
55
|
+
projectId?: string
|
|
56
|
+
projectDir?: string
|
|
57
|
+
target: ConnectTarget
|
|
58
|
+
harness: ConnectHarness
|
|
59
|
+
clientVersion: string
|
|
60
|
+
capabilities: ConnectCapabilities
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface ConnectSessionParams {
|
|
64
|
+
sessionId: string
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface ConnectSessionView {
|
|
68
|
+
id: string
|
|
69
|
+
target: ConnectTarget
|
|
70
|
+
llm: ConnectLlm
|
|
71
|
+
projectId?: string
|
|
72
|
+
status: ConnectSessionStatus
|
|
73
|
+
/** Operations waiting for this session right now. */
|
|
74
|
+
pending: number
|
|
75
|
+
expiresAt: string
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface ConnectPullQuery {
|
|
79
|
+
/** Seconds to wait before answering; clamped to the pull ceiling. */
|
|
80
|
+
wait?: number
|
|
81
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ConnectLlm } from '../consts.js'
|
|
2
|
+
|
|
3
|
+
/** The per-profile connector preference. */
|
|
4
|
+
export interface ConnectProfileSettings {
|
|
5
|
+
llmMode: ConnectLlm
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ConnectProfileSettingsView extends ConnectProfileSettings {
|
|
9
|
+
/** Whether the organization's plan allows the local-LLM mode at all. */
|
|
10
|
+
canUseLocal: boolean
|
|
11
|
+
/**
|
|
12
|
+
* The profile's preference for who performs a CONVERSION's model calls.
|
|
13
|
+
*
|
|
14
|
+
* Its own setting rather than a reading of `llmMode`, because the two answer for different
|
|
15
|
+
* work: a conversion reads somebody else's whole repository, which is the one case where handing
|
|
16
|
+
* the inference to the parent agent is the cheap default rather than the experimental option.
|
|
17
|
+
*
|
|
18
|
+
* OPTIONAL: the two converter fields are answered by a platform build that does not exist yet,
|
|
19
|
+
* and this package is consumed by the platform through a workspace link rather than a published
|
|
20
|
+
* range — a required field here is a compile error in every handler that already returns this
|
|
21
|
+
* view. Tightened to required once the platform's conversion handlers fill them.
|
|
22
|
+
*/
|
|
23
|
+
converterLlmMode?: ConnectLlm
|
|
24
|
+
/** Whether this caller may run a conversion's model calls on the parent agent. */
|
|
25
|
+
canUseConverterLocal?: boolean
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface ConnectLlmBody {
|
|
29
|
+
llmMode: ConnectLlm
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** The per-project override, and what it resolves to. */
|
|
33
|
+
export interface ConnectProjectSettings {
|
|
34
|
+
/** `null` means "inherit the profile setting". */
|
|
35
|
+
llmMode: ConnectLlm | null
|
|
36
|
+
effective: ConnectLlm
|
|
37
|
+
canUseLocal: boolean
|
|
38
|
+
/**
|
|
39
|
+
* The project's converter override; `null` inherits the profile's.
|
|
40
|
+
*
|
|
41
|
+
* Optional on the same forward-compatibility grounds as
|
|
42
|
+
* {@link ConnectProfileSettingsView.converterLlmMode} — absent from an answer written before the
|
|
43
|
+
* platform's conversion handlers land, and never to be read as a value.
|
|
44
|
+
*/
|
|
45
|
+
converterLlmMode?: ConnectLlm | null
|
|
46
|
+
/** What the override, the profile and the platform's own floor actually resolve to. */
|
|
47
|
+
converterEffective?: ConnectLlm
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface ConnectProjectLlmBody {
|
|
51
|
+
llmMode: ConnectLlm | null
|
|
52
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { ProjectArea } from '../../areas/consts.js'
|
|
2
|
+
import type { StoryKind } from '../../ba/consts.js'
|
|
3
|
+
import type { PurposeEvidenceSource, TaxonomyKind } from '../consts.js'
|
|
4
|
+
import type { OriginProof } from '../types.js'
|
|
5
|
+
|
|
6
|
+
export interface PurposeInference {
|
|
7
|
+
purpose: string
|
|
8
|
+
audience: string
|
|
9
|
+
source: PurposeEvidenceSource
|
|
10
|
+
confidence: number
|
|
11
|
+
evidence: OriginProof[]
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** A flow the ORIGIN implements, before it is turned into stories. */
|
|
15
|
+
export interface OriginFlow {
|
|
16
|
+
id: string
|
|
17
|
+
name: string
|
|
18
|
+
actor: string
|
|
19
|
+
area: ProjectArea
|
|
20
|
+
steps: string[]
|
|
21
|
+
/** Whether the extracted story list covers it. An uncovered flow is a gap the user is shown. */
|
|
22
|
+
covered: boolean
|
|
23
|
+
kind: 'ui' | 'job' | 'cli'
|
|
24
|
+
proofs: OriginProof[]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** One entry of the restored story list, in the order the records are created in. */
|
|
28
|
+
export interface ConversionStoryRef {
|
|
29
|
+
code: string
|
|
30
|
+
story: string
|
|
31
|
+
area: ProjectArea
|
|
32
|
+
kind: ConversionStoryKind
|
|
33
|
+
ordinal: number
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* A restored story with the origin code that proves it.
|
|
38
|
+
*
|
|
39
|
+
* `complexity` is what the per-story price band is scaled by — derived from the proofs and the
|
|
40
|
+
* algorithms, never asked of a model, so two runs over the same extraction price identically.
|
|
41
|
+
*/
|
|
42
|
+
export interface StoryProof {
|
|
43
|
+
code: string
|
|
44
|
+
narrative: string
|
|
45
|
+
specification: string
|
|
46
|
+
ux: string
|
|
47
|
+
ui: string
|
|
48
|
+
proofs: OriginProof[]
|
|
49
|
+
algorithms: { name: string, steps: string[], proof: OriginProof }[]
|
|
50
|
+
complexity: number
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface AreaAlignment {
|
|
54
|
+
areas: {
|
|
55
|
+
area: ProjectArea
|
|
56
|
+
roles: string[]
|
|
57
|
+
permissions: string[]
|
|
58
|
+
stories: string[]
|
|
59
|
+
}[]
|
|
60
|
+
/** Roles or permissions no area claimed. Recorded; never silently dropped. */
|
|
61
|
+
unmapped: string[]
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/** The machine-readable graph the manager's conversion diagram is drawn from. */
|
|
65
|
+
export interface StructureSummary {
|
|
66
|
+
nodes: { id: string, label: string, kind: TaxonomyKind | 'package' | 'area' }[]
|
|
67
|
+
edges: { from: string, to: string, label?: string }[]
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export interface OriginFlowList {
|
|
71
|
+
flows: OriginFlow[]
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** What the origin's styles say about its design, in the terms the target's theme is written in. */
|
|
75
|
+
export interface DesignInference {
|
|
76
|
+
concept: string
|
|
77
|
+
palette: string[]
|
|
78
|
+
radius?: string
|
|
79
|
+
font?: string
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* What KIND of story a conversion produced.
|
|
84
|
+
*
|
|
85
|
+
* The analysis half of a conversion produces exactly the two kinds an ordinary initialization
|
|
86
|
+
* does; a conversion adds one more — a `coverage` story, written so an area the origin serves but
|
|
87
|
+
* the flow never reaches still has something in it.
|
|
88
|
+
*/
|
|
89
|
+
export type ConversionStoryKind = StoryKind | 'coverage'
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import type { DumpKind, EntropyClass, FileClass, SizeClass, WorkspaceKind } from '../consts.js'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The census's file classification: pure, deterministic derivations over the conversion
|
|
5
|
+
* vocabulary.
|
|
6
|
+
*
|
|
7
|
+
* Everything here answers the same way for the same input, in every runtime, forever — which is
|
|
8
|
+
* what makes the documents a conversion writes byte-stable across two runs, and therefore what
|
|
9
|
+
* makes the prompt cache prefix they are injected into actually hit. Nothing here reads a file,
|
|
10
|
+
* calls a model or looks at a clock.
|
|
11
|
+
*/
|
|
12
|
+
export interface CensusHelper {
|
|
13
|
+
/** Which {@link SizeClass} a byte count falls in. Boundaries are exclusive upper bounds. */
|
|
14
|
+
sizeClassOf: (bytes: number) => SizeClass
|
|
15
|
+
/**
|
|
16
|
+
* What one file of the origin is.
|
|
17
|
+
*
|
|
18
|
+
* Location outranks the tail wherever it says more — a `.ts` under `__tests__/` is a test, a
|
|
19
|
+
* `.json` under `seed/` is data — but only where it says more. The seed/dump rule therefore runs
|
|
20
|
+
* AFTER the extension table and applies only to {@link DATA_OVERRIDABLE}: asked first, it answered
|
|
21
|
+
* `Data` for every path merely containing the word (`tests/fixtures/user.ts`, `src/seedUsers.ts`,
|
|
22
|
+
* `src/exportReport.ts`), which is the census's source budget spent on the wrong files twice over.
|
|
23
|
+
*/
|
|
24
|
+
fileClassOf: (path: string, ext: string) => FileClass
|
|
25
|
+
/**
|
|
26
|
+
* The binary verdict a path already carries, or `null` for a file that has to be probed.
|
|
27
|
+
*
|
|
28
|
+
* The three executors that walk a tree — the library-local helper, the publisher and the connector
|
|
29
|
+
* SDK — must answer the same verdict for the same file, and a probe alone does not: a small `.ico`
|
|
30
|
+
* with no NUL in its first bytes reads as text, so a census run on a laptop and the same census
|
|
31
|
+
* run in the slot disagreed about the same repository. The tail is asked first and the probe only
|
|
32
|
+
* where the tail says nothing, which is also why the probe is affordable at census scale — the
|
|
33
|
+
* extensions above are the bulk of any repository.
|
|
34
|
+
*
|
|
35
|
+
* The extension is taken exactly the way `path.extname` takes it, because two of the three callers
|
|
36
|
+
* used to: the last dot of the last SEGMENT, and nothing for a name with no dot or for a dotfile.
|
|
37
|
+
*/
|
|
38
|
+
binaryByExtension: (path: string) => boolean | null
|
|
39
|
+
/**
|
|
40
|
+
* How usable a file's head is as evidence.
|
|
41
|
+
*
|
|
42
|
+
* The printable ratio over the sampled head, and nothing cleverer: the question is only whether a
|
|
43
|
+
* model can read it. A minified bundle is printable and useless, so a second rule catches the
|
|
44
|
+
* shape that gives it away — very long lines with almost no whitespace.
|
|
45
|
+
*/
|
|
46
|
+
entropyClassOf: (head: string) => EntropyClass
|
|
47
|
+
/** Whether a path names bulk data — an export, not the application's own data. */
|
|
48
|
+
isBulkPath: (path: string) => boolean
|
|
49
|
+
/** Whether a path names seed data — what the application needs in order to make sense. */
|
|
50
|
+
isSeedPath: (path: string) => boolean
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* {@link FileStat} is declared in `../../slot/types.js`, not here.
|
|
55
|
+
*
|
|
56
|
+
* It is the element of a `statTree` answer, and a slot command's result shape belongs to the slot
|
|
57
|
+
* vocabulary the publisher and the connector both implement. Redeclaring it beside the census that
|
|
58
|
+
* consumes it would give the root barrel two `FileStat`s and the two would drift the first time
|
|
59
|
+
* one end added a field.
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
/** One file, as the census classified it. `read` says whether its head was actually opened. */
|
|
63
|
+
export interface FileCensusEntry {
|
|
64
|
+
path: string
|
|
65
|
+
bytes: number
|
|
66
|
+
ext: string
|
|
67
|
+
cls: FileClass
|
|
68
|
+
size: SizeClass
|
|
69
|
+
entropy?: EntropyClass
|
|
70
|
+
read: boolean
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/** A package manifest found in the origin, and what it declares. */
|
|
74
|
+
export interface InventoryPackage {
|
|
75
|
+
name?: string
|
|
76
|
+
path: string
|
|
77
|
+
/** The manifest file itself, root-relative — `package.json`, `pom.xml`, `go.mod`, … */
|
|
78
|
+
manifest: string
|
|
79
|
+
/** `member` for a package a workspace root declares; otherwise the workspace kind it declares. */
|
|
80
|
+
kind: WorkspaceKind | 'member'
|
|
81
|
+
deps: string[]
|
|
82
|
+
scripts: Record<string, string>
|
|
83
|
+
/** Whether something in the tree actually reaches it. See {@link UnlinkedRef}. */
|
|
84
|
+
linked: boolean
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export interface WorkspaceMember {
|
|
88
|
+
name?: string
|
|
89
|
+
path: string
|
|
90
|
+
/** The manifest that declared this member. */
|
|
91
|
+
declaredBy: string
|
|
92
|
+
present: boolean
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export interface SubmoduleRef {
|
|
96
|
+
path: string
|
|
97
|
+
url?: string
|
|
98
|
+
present: boolean
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* A directory holding code that nothing in the workspace declares, or a declaration with nothing
|
|
103
|
+
* behind it.
|
|
104
|
+
*
|
|
105
|
+
* Reported rather than silently included: code the build never sees is code the origin does not
|
|
106
|
+
* run, and converting it produces stories for behaviour the application does not have.
|
|
107
|
+
*/
|
|
108
|
+
export interface UnlinkedRef {
|
|
109
|
+
path: string
|
|
110
|
+
reason: 'not-a-member' | 'missing-submodule' | 'declared-not-present'
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export interface WorkspaceReport {
|
|
114
|
+
kind: WorkspaceKind
|
|
115
|
+
globs: string[]
|
|
116
|
+
members: WorkspaceMember[]
|
|
117
|
+
submodules: SubmoduleRef[]
|
|
118
|
+
unlinked: UnlinkedRef[]
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/** A data file the origin carries that is too large, or too generated, to become seed data. */
|
|
122
|
+
export interface DumpRecord {
|
|
123
|
+
path: string
|
|
124
|
+
kind: DumpKind
|
|
125
|
+
bytes: number
|
|
126
|
+
format: string
|
|
127
|
+
rows?: number
|
|
128
|
+
/** At most {@link DUMP_SAMPLE_LINES} lines, read from the head. Never the whole file. */
|
|
129
|
+
sample: string[]
|
|
130
|
+
columns?: string[]
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/** A small data file the code itself references — the data the application needs to make sense. */
|
|
134
|
+
export interface SeedRecord {
|
|
135
|
+
name: string
|
|
136
|
+
path: string
|
|
137
|
+
bytes: number
|
|
138
|
+
format: string
|
|
139
|
+
rows?: number
|
|
140
|
+
/** The source files that name it. The proof that it is seed rather than an export. */
|
|
141
|
+
referencedBy: string[]
|
|
142
|
+
carried: boolean
|
|
143
|
+
/** Where it was written in the target, once carried. */
|
|
144
|
+
target?: string
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export interface InventorySummary {
|
|
148
|
+
root: string
|
|
149
|
+
files: number
|
|
150
|
+
bytes: number
|
|
151
|
+
read: number
|
|
152
|
+
skipped: number
|
|
153
|
+
/** A census that hit {@link CENSUS_MAX_ENTRIES}. Everything downstream must say so. */
|
|
154
|
+
truncated: boolean
|
|
155
|
+
byClass: Record<FileClass, number>
|
|
156
|
+
bySize: Record<SizeClass, number>
|
|
157
|
+
extensions: { ext: string, files: number, bytes: number }[]
|
|
158
|
+
packages: InventoryPackage[]
|
|
159
|
+
workspace: WorkspaceReport
|
|
160
|
+
dumps: DumpRecord[]
|
|
161
|
+
seeds: SeedRecord[]
|
|
162
|
+
manifests: string[]
|
|
163
|
+
vcs: { git: boolean, submodules: number }
|
|
164
|
+
version: number
|
|
165
|
+
takenAt: string
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/** One data file, classified by the model where the path and the size alone were not enough. */
|
|
169
|
+
export interface SeedDetectionItem {
|
|
170
|
+
path: string
|
|
171
|
+
name: string
|
|
172
|
+
/** Whether it is data the application needs rather than an export of what it produced. */
|
|
173
|
+
seed: boolean
|
|
174
|
+
/** Whether it should be carried into the target. */
|
|
175
|
+
carry: boolean
|
|
176
|
+
reason: string
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export interface SeedDetection {
|
|
180
|
+
items: SeedDetectionItem[]
|
|
181
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { EntropyClass, FileClass, SizeClass, SIZE_CLASS_BOUNDS } from './consts.js'
|
|
2
|
+
import {
|
|
3
|
+
BINARY_EXTENSIONS, BULK_HINTS, DATA_AMBIGUOUS_EXT, DATA_OVERRIDABLE, EXT_CLASS, GENERATED_SEGMENTS, LOCK_NAMES,
|
|
4
|
+
MANIFEST_NAMES, SEED_HINTS, TEST_SEGMENTS, TEXT_EXTENSIONS
|
|
5
|
+
} from './census/consts.local.js'
|
|
6
|
+
import type { CensusHelper } from './census/types.js'
|
|
7
|
+
|
|
8
|
+
export const createCensusHelper = (): CensusHelper => {
|
|
9
|
+
const sizeClassOf = (bytes: number): SizeClass => {
|
|
10
|
+
if (bytes < SIZE_CLASS_BOUNDS[SizeClass.Tiny]) return SizeClass.Tiny
|
|
11
|
+
if (bytes < SIZE_CLASS_BOUNDS[SizeClass.Small]) return SizeClass.Small
|
|
12
|
+
if (bytes < SIZE_CLASS_BOUNDS[SizeClass.Medium]) return SizeClass.Medium
|
|
13
|
+
if (bytes < SIZE_CLASS_BOUNDS[SizeClass.Large]) return SizeClass.Large
|
|
14
|
+
|
|
15
|
+
return SizeClass.Huge
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const segmentsOf = (path: string): string[] => path.split('/').filter(part => part !== '')
|
|
19
|
+
|
|
20
|
+
const hasSegment = (path: string, of: string[]): boolean =>
|
|
21
|
+
segmentsOf(path).some(part => of.includes(part.toLowerCase()))
|
|
22
|
+
|
|
23
|
+
const fileClassOf = (path: string, ext: string): FileClass => {
|
|
24
|
+
const lower = path.toLowerCase()
|
|
25
|
+
const base = segmentsOf(lower).pop() ?? lower
|
|
26
|
+
const tail = (ext.startsWith('.') ? ext.slice(1) : ext).toLowerCase()
|
|
27
|
+
|
|
28
|
+
if (LOCK_NAMES.includes(base)) return FileClass.Lock
|
|
29
|
+
if (hasSegment(lower, GENERATED_SEGMENTS)) return FileClass.Generated
|
|
30
|
+
if (MANIFEST_NAMES.includes(base)) return FileClass.Manifest
|
|
31
|
+
if (hasSegment(lower, TEST_SEGMENTS) || base.includes('.test.') || base.includes('.spec.')) {
|
|
32
|
+
return FileClass.Test
|
|
33
|
+
}
|
|
34
|
+
if (base.startsWith('.env')) return FileClass.Config
|
|
35
|
+
|
|
36
|
+
const byExt = EXT_CLASS[tail] ?? FileClass.Unknown
|
|
37
|
+
if (
|
|
38
|
+
(DATA_OVERRIDABLE.includes(byExt) || DATA_AMBIGUOUS_EXT.includes(tail))
|
|
39
|
+
&& (isSeedPath(lower) || isBulkPath(lower))
|
|
40
|
+
) {
|
|
41
|
+
return FileClass.Data
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return byExt
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const binaryByExtension = (path: string): boolean | null => {
|
|
48
|
+
const base = segmentsOf(path).pop() ?? path
|
|
49
|
+
const dot = base.lastIndexOf('.')
|
|
50
|
+
if (dot < 1) return null
|
|
51
|
+
const ext = base.slice(dot).toLowerCase()
|
|
52
|
+
|
|
53
|
+
return TEXT_EXTENSIONS.includes(ext) ? false : BINARY_EXTENSIONS.includes(ext) ? true : null
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const entropyClassOf = (head: string): EntropyClass => {
|
|
57
|
+
if (head.length < 1) return EntropyClass.Text
|
|
58
|
+
|
|
59
|
+
let printable = 0
|
|
60
|
+
let whitespace = 0
|
|
61
|
+
for (const char of head) {
|
|
62
|
+
const code = char.codePointAt(0) ?? 0
|
|
63
|
+
if (code === 9 || code === 10 || code === 13 || code === 32) {
|
|
64
|
+
++whitespace
|
|
65
|
+
++printable
|
|
66
|
+
} else if (code >= 32 && code !== 127) {
|
|
67
|
+
++printable
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const ratio = printable / head.length
|
|
72
|
+
if (ratio < 0.85) return EntropyClass.Opaque
|
|
73
|
+
// Prose, code and markup all break lines and indent. A body that does neither is minified,
|
|
74
|
+
// encoded or packed — printable, and not something a model can reason over.
|
|
75
|
+
if (whitespace / head.length < 0.05) return EntropyClass.Dense
|
|
76
|
+
|
|
77
|
+
return EntropyClass.Text
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const matchesHint = (path: string, hints: string[]): boolean => {
|
|
81
|
+
const lower = path.toLowerCase()
|
|
82
|
+
if (hasSegment(lower, hints)) return true
|
|
83
|
+
const base = segmentsOf(lower).pop() ?? lower
|
|
84
|
+
|
|
85
|
+
return hints.some(hint => base.includes(hint))
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const isBulkPath = (path: string): boolean => matchesHint(path, BULK_HINTS)
|
|
89
|
+
|
|
90
|
+
const isSeedPath = (path: string): boolean => matchesHint(path, SEED_HINTS)
|
|
91
|
+
|
|
92
|
+
return { sizeClassOf, fileClassOf, binaryByExtension, entropyClassOf, isBulkPath, isSeedPath }
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export const censusHelper = createCensusHelper()
|
package/src/convert/consts.ts
CHANGED
|
@@ -656,3 +656,8 @@ export const CONVERSION_INQUIRY = {
|
|
|
656
656
|
areasMap: 'convert.areas.map',
|
|
657
657
|
originRelocate: 'convert.origin.relocate',
|
|
658
658
|
} as const
|
|
659
|
+
|
|
660
|
+
/** The reasons a convertibility verdict can carry, for a consumer building its own enum check. */
|
|
661
|
+
export const ConvertibilityReasonValues = Object.values(ConvertibilityReason)
|
|
662
|
+
export const ConvertibilityVerdictValues = Object.values(ConvertibilityVerdict)
|
|
663
|
+
export const EstimateSliceValues = Object.values(EstimateSlice)
|