@owlmeans/viable-common 0.0.44 → 0.0.46
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 +4 -3
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/agent-presentation/SKILL.md +4 -4
- package/agent-meta/skills/viable-common/SKILL.md +59 -30
- 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 +2 -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/kit/types.js.map +1 -0
- 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/types.d.ts +198 -0
- 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/connect/types.d.ts +1 -198
- package/build/connect/types.d.ts.map +1 -1
- package/build/convert/analysis/types.d.ts +93 -0
- package/build/convert/analysis/types.d.ts.map +1 -0
- package/build/convert/analysis/types.js +2 -0
- package/build/convert/analysis/types.js.map +1 -0
- package/build/convert/{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/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.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/flow.d.ts.map +1 -1
- package/build/intent/flow.js +2 -2
- package/build/intent/flow.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/legal/consts.d.ts +36 -0
- package/build/legal/consts.d.ts.map +1 -0
- package/build/legal/consts.js +16 -0
- package/build/legal/consts.js.map +1 -0
- package/build/legal/index.d.ts +3 -0
- package/build/legal/index.d.ts.map +1 -0
- package/build/legal/index.js +2 -0
- package/build/legal/index.js.map +1 -0
- package/build/legal/types.d.ts +10 -0
- package/build/legal/types.d.ts.map +1 -0
- package/build/legal/types.js +2 -0
- package/build/legal/types.js.map +1 -0
- 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/flows.d.ts +34 -0
- package/build/planning/flows.d.ts.map +1 -0
- package/build/planning/flows.js +174 -0
- package/build/planning/flows.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 +18 -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/index.ts +1 -0
- 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/legal/consts.ts +17 -0
- package/src/legal/index.ts +2 -0
- package/src/legal/types.ts +11 -0
- 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/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/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/{types.local.js → references/types.local.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/topology/resolve/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhG,iGAAiG;AACjG,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;OASG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,CAAA;IACjF,kFAAkF;IAClF,eAAe,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,gBAAgB,CAAA;IACnE,yDAAyD;IACzD,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,kBAAkB,CAAA;IACxD;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,KAAK,uBAAuB,GAAG,IAAI,CAAA;IAChG,2FAA2F;IAC3F,eAAe,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,KAAK,uBAAuB,EAAE,CAAA;IAC5F,8FAA8F;IAC9F,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,KAAK,uBAAuB,GAAG,IAAI,CAAA;IACnH,2EAA2E;IAC3E,UAAU,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB,KAAK,MAAM,CAAA;IAClF;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB,KAAK,kBAAkB,CAAA;IAC/F,8FAA8F;IAC9F,YAAY,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAA;CACxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/topology/resolve/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/topology/resolve.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,eAAO,MAAM,oBAAoB,QAAO,cA0GvC,CAAA;AAED,eAAO,MAAM,cAAc,gBAAyB,CAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { LAYOUT_TOPOLOGIES, DEFAULT_TOPOLOGY } from './consts.js';
|
|
2
|
+
export const createTopologyHelper = () => {
|
|
3
|
+
const orderPackages = (packages) => {
|
|
4
|
+
const known = new Set(packages.map(pkg => pkg.name));
|
|
5
|
+
const index = new Map(packages.map((pkg, at) => [pkg.name, at]));
|
|
6
|
+
const pending = new Map(packages.map(pkg => [
|
|
7
|
+
pkg.name, pkg.dependsOn.filter(dep => known.has(dep) && dep !== pkg.name).length,
|
|
8
|
+
]));
|
|
9
|
+
const dependents = new Map();
|
|
10
|
+
for (const pkg of packages) {
|
|
11
|
+
for (const dep of pkg.dependsOn) {
|
|
12
|
+
if (!known.has(dep) || dep === pkg.name)
|
|
13
|
+
continue;
|
|
14
|
+
dependents.set(dep, [...dependents.get(dep) ?? [], pkg.name]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const byName = new Map(packages.map(pkg => [pkg.name, pkg]));
|
|
18
|
+
const out = [];
|
|
19
|
+
// Ready packages are taken in DECLARATION order, not in the order they became ready. Both are
|
|
20
|
+
// correct builds; only one is the same list every time and the same list a person wrote, and
|
|
21
|
+
// this order is compared against the shipped layout tables by a test.
|
|
22
|
+
const ready = packages.filter(pkg => pending.get(pkg.name) === 0).map(pkg => pkg.name);
|
|
23
|
+
const take = () => {
|
|
24
|
+
if (ready.length === 0)
|
|
25
|
+
return undefined;
|
|
26
|
+
let at = 0;
|
|
27
|
+
for (let i = 1; i < ready.length; i++) {
|
|
28
|
+
if ((index.get(ready[i]) ?? 0) < (index.get(ready[at]) ?? 0))
|
|
29
|
+
at = i;
|
|
30
|
+
}
|
|
31
|
+
return ready.splice(at, 1)[0];
|
|
32
|
+
};
|
|
33
|
+
for (let name = take(); name != null; name = take()) {
|
|
34
|
+
const pkg = byName.get(name);
|
|
35
|
+
if (pkg == null)
|
|
36
|
+
continue;
|
|
37
|
+
out.push(pkg);
|
|
38
|
+
for (const next of dependents.get(name) ?? []) {
|
|
39
|
+
const left = (pending.get(next) ?? 0) - 1;
|
|
40
|
+
pending.set(next, left);
|
|
41
|
+
if (left === 0)
|
|
42
|
+
ready.push(next);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const seen = new Set(out.map(pkg => pkg.name));
|
|
46
|
+
return [...out, ...packages.filter(pkg => !seen.has(pkg.name))];
|
|
47
|
+
};
|
|
48
|
+
const resolveTopology = (topology) => {
|
|
49
|
+
const ordered = orderPackages(topology.packages);
|
|
50
|
+
const byRole = {};
|
|
51
|
+
for (const pkg of ordered) {
|
|
52
|
+
for (const role of pkg.roles) {
|
|
53
|
+
byRole[role] = [...byRole[role] ?? [], pkg];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
...topology,
|
|
58
|
+
packages: ordered,
|
|
59
|
+
build: ordered.map(pkg => pkg.name),
|
|
60
|
+
libraries: ordered.filter(pkg => pkg.kind === 'library').map(pkg => pkg.name),
|
|
61
|
+
byRole,
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const topologyOf = (layout) => LAYOUT_TOPOLOGIES[layout] ?? DEFAULT_TOPOLOGY;
|
|
65
|
+
const packageForRole = (topology, role) => topology.byRole[role]?.[0] ?? null;
|
|
66
|
+
const packagesForRole = (topology, role) => topology.byRole[role] ?? [];
|
|
67
|
+
const packageForArea = (topology, role, area) => {
|
|
68
|
+
const candidates = packagesForRole(topology, role);
|
|
69
|
+
return candidates.find(pkg => pkg.areas?.includes(area) === true)
|
|
70
|
+
?? candidates.find(pkg => pkg.areas == null)
|
|
71
|
+
?? candidates[0]
|
|
72
|
+
?? null;
|
|
73
|
+
};
|
|
74
|
+
const packageDir = (topology, pkg) => `${topology.dir}/${pkg.name}`;
|
|
75
|
+
const withPackage = (topology, pkg) => ({
|
|
76
|
+
...topology,
|
|
77
|
+
packages: topology.packages.some(known => known.name === pkg.name)
|
|
78
|
+
? topology.packages.map(known => known.name === pkg.name ? pkg : known)
|
|
79
|
+
: [...topology.packages, pkg],
|
|
80
|
+
});
|
|
81
|
+
const sameTopology = (a, b) => JSON.stringify(orderPackages(a.packages)) === JSON.stringify(orderPackages(b.packages))
|
|
82
|
+
&& a.dir === b.dir;
|
|
83
|
+
return {
|
|
84
|
+
orderPackages, resolveTopology, topologyOf, packageForRole, packagesForRole, packageForArea, packageDir,
|
|
85
|
+
withPackage, sameTopology,
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export const topologyHelper = createTopologyHelper();
|
|
89
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/topology/resolve.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/viable-common",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.46",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Runtime-free contracts of the OwlMeans Viable platform — the analysis, design and metadata shapes of a generated project, its target-shape manifest, the slot command vocabulary, the connector protocol and the conversion vocabulary, and the intent-first hand-off from the public site to the platform.",
|
|
6
6
|
"type": "module",
|
|
@@ -49,6 +49,13 @@
|
|
|
49
49
|
"module": "./build/integrity/index.js",
|
|
50
50
|
"types": "./build/integrity/index.d.ts"
|
|
51
51
|
},
|
|
52
|
+
"./legal": {
|
|
53
|
+
"import": "./build/legal/index.js",
|
|
54
|
+
"require": "./build/legal/index.js",
|
|
55
|
+
"default": "./build/legal/index.js",
|
|
56
|
+
"module": "./build/legal/index.js",
|
|
57
|
+
"types": "./build/legal/index.d.ts"
|
|
58
|
+
},
|
|
52
59
|
"./intent": {
|
|
53
60
|
"import": "./build/intent/index.js",
|
|
54
61
|
"require": "./build/intent/index.js",
|
|
@@ -66,16 +73,16 @@
|
|
|
66
73
|
"typescript": "^7.0.2"
|
|
67
74
|
},
|
|
68
75
|
"dependencies": {
|
|
69
|
-
"@owlmeans/agent-common": "^0.1.18-rc.
|
|
70
|
-
"@owlmeans/auth": "^0.1.18-rc.
|
|
71
|
-
"@owlmeans/context": "^0.1.18-rc.
|
|
72
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
73
|
-
"@owlmeans/error": "^0.1.18-rc.
|
|
74
|
-
"@owlmeans/flow": "^0.1.18-rc.
|
|
75
|
-
"@owlmeans/llm-common": "^0.1.18-rc.
|
|
76
|
-
"@owlmeans/planning": "^0.1.18-rc.
|
|
77
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
78
|
-
"@owlmeans/route": "^0.1.18-rc.
|
|
76
|
+
"@owlmeans/agent-common": "^0.1.18-rc.48",
|
|
77
|
+
"@owlmeans/auth": "^0.1.18-rc.40",
|
|
78
|
+
"@owlmeans/context": "^0.1.18-rc.34",
|
|
79
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.41",
|
|
80
|
+
"@owlmeans/error": "^0.1.18-rc.38",
|
|
81
|
+
"@owlmeans/flow": "^0.1.18-rc.45",
|
|
82
|
+
"@owlmeans/llm-common": "^0.1.18-rc.39",
|
|
83
|
+
"@owlmeans/planning": "^0.1.18-rc.20",
|
|
84
|
+
"@owlmeans/resource": "^0.1.18-rc.40",
|
|
85
|
+
"@owlmeans/route": "^0.1.18-rc.35"
|
|
79
86
|
},
|
|
80
87
|
"publishConfig": {
|
|
81
88
|
"access": "public"
|
package/src/agent/index.ts
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AgentCodeLanguage, AgentMessageRole } from '../consts.js'
|
|
2
|
+
import type { AgentMessageClassificationInput, AgentMessagePresentation } from '../types.js'
|
|
3
|
+
|
|
4
|
+
/** How an agent's thinking event is presented: its specialist family, its language, its card. */
|
|
5
|
+
export interface AgentPresentationHelper {
|
|
6
|
+
/**
|
|
7
|
+
* Source extraction is an internal context-reduction pass. Its terminal tool call contains only
|
|
8
|
+
* line ranges, which are useful to the coder but add no useful information to a person's journal.
|
|
9
|
+
*/
|
|
10
|
+
isAgentMessageHidden: (input: AgentMessageClassificationInput) => boolean
|
|
11
|
+
/** Maps the attribution that reached the event boundary to the visual specialist family. */
|
|
12
|
+
agentMessageRoleOf: (input: AgentMessageClassificationInput) => AgentMessageRole
|
|
13
|
+
/** Pulls a schema argument out of LangChain's serialised tool-call shape. */
|
|
14
|
+
agentToolCallArguments: (value: unknown) => unknown
|
|
15
|
+
/** Finds the language of a unified diff from its destination (or source) file path. */
|
|
16
|
+
agentDiffLanguageOf: (text: string) => AgentCodeLanguage
|
|
17
|
+
/** Conservative code detection; prose with one identifier remains plain text. */
|
|
18
|
+
agentCodeLanguageOf: (text: string) => AgentCodeLanguage
|
|
19
|
+
isUnifiedDiff: (text: string) => boolean
|
|
20
|
+
classifyAgentMessage: (input: AgentMessageClassificationInput) => AgentMessagePresentation
|
|
21
|
+
}
|
|
@@ -3,190 +3,224 @@ import { agentLoopActions, codeActions, documentActions, structuredActions } fro
|
|
|
3
3
|
import { AgentCodeLanguage, AgentMarkdownKind, AgentMessageCategory, AgentMessageRole, AgentStructuredKind } from './consts.js'
|
|
4
4
|
import type { RecordValue } from './types.local.js'
|
|
5
5
|
import type { AgentMessageClassificationInput, AgentMessagePresentation } from './types.js'
|
|
6
|
+
import type { AgentPresentationHelper } from './presentation/types.js'
|
|
7
|
+
|
|
8
|
+
export const createAgentPresentationHelper = (): AgentPresentationHelper => {
|
|
9
|
+
const asRecord = (value: unknown): RecordValue | undefined =>
|
|
10
|
+
value != null && typeof value === 'object' && !Array.isArray(value)
|
|
11
|
+
? value as RecordValue
|
|
12
|
+
: undefined
|
|
13
|
+
|
|
14
|
+
const actionOf = (input: AgentMessageClassificationInput): string => input.action?.toLowerCase() ?? ''
|
|
15
|
+
|
|
16
|
+
const sourceOf = (input: AgentMessageClassificationInput): string =>
|
|
17
|
+
`${input.agent ?? ''} ${input.helper ?? ''}`.toLowerCase()
|
|
18
|
+
|
|
19
|
+
const contentOf = (input: AgentMessageClassificationInput): string => input.text?.trim() ?? ''
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Source extraction is an internal context-reduction pass. Its terminal tool call contains only
|
|
23
|
+
* line ranges, which are useful to the coder but add no useful information to a person's journal.
|
|
24
|
+
*/
|
|
25
|
+
const isAgentMessageHidden = (input: AgentMessageClassificationInput): boolean =>
|
|
26
|
+
actionOf(input) === 'source-extract'
|
|
27
|
+
|
|
28
|
+
/** Maps the attribution that reached the event boundary to the visual specialist family. */
|
|
29
|
+
const agentMessageRoleOf = (input: AgentMessageClassificationInput): AgentMessageRole => {
|
|
30
|
+
const source = sourceOf(input)
|
|
31
|
+
const action = actionOf(input)
|
|
32
|
+
|
|
33
|
+
if (action === 'arbitrary-modification' || source.includes('orchestrator')) return AgentMessageRole.Orchestrator
|
|
34
|
+
if (source.includes('fix')) return AgentMessageRole.Repair
|
|
35
|
+
if (source.includes('coder') || source.includes('developer') || codeActions.has(action)) return AgentMessageRole.Developer
|
|
36
|
+
if (source.includes('visual') || source.includes('ui-helper')) return AgentMessageRole.VisualDesign
|
|
37
|
+
if (source.includes('ux-')) return AgentMessageRole.Ux
|
|
38
|
+
if (source.includes('business') || source.includes('ba-') || source.includes('analysis') || source.includes('analyst')) return AgentMessageRole.Analytical
|
|
39
|
+
if (source.includes('product') || source.includes('naming')) return AgentMessageRole.Product
|
|
40
|
+
if (source.includes('architect') || source.includes('arch') || source.includes('layout-helper') ||
|
|
41
|
+
source.includes('api-helper') || source.includes('access-helper') || source.includes('datalayer-helper') ||
|
|
42
|
+
source.includes('domain') || source.includes('nav-helper') || source.includes('ui-com-helper') ||
|
|
43
|
+
source.includes('ui-state-helper')) return AgentMessageRole.Architect
|
|
44
|
+
return AgentMessageRole.Technical
|
|
45
|
+
}
|
|
6
46
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
47
|
+
/** Pulls a schema argument out of LangChain's serialised tool-call shape. */
|
|
48
|
+
const agentToolCallArguments = (value: unknown): unknown => {
|
|
49
|
+
if (!Array.isArray(value) || value.length !== 1) return value
|
|
50
|
+
const call = asRecord(value[0])
|
|
51
|
+
return call?.args ?? value
|
|
52
|
+
}
|
|
11
53
|
|
|
12
|
-
const
|
|
54
|
+
const structuredKindOf = (value: unknown): AgentStructuredKind | undefined => {
|
|
55
|
+
if (value == null) return undefined
|
|
13
56
|
|
|
14
|
-
const
|
|
15
|
-
|
|
57
|
+
const toolArgs = agentToolCallArguments(value)
|
|
58
|
+
const object = asRecord(toolArgs)
|
|
59
|
+
if (object == null) {
|
|
60
|
+
if (Array.isArray(toolArgs)) return AgentStructuredKind.GenericList
|
|
61
|
+
return undefined
|
|
62
|
+
}
|
|
16
63
|
|
|
17
|
-
|
|
64
|
+
// Checked ahead of the single-array shapes below: a scaffold plan carries its own `stories`
|
|
65
|
+
// array (so the StoryPlan check would otherwise swallow it), and a runtime decision straight
|
|
66
|
+
// from the MODEL never carries `actor`/`worker` — those are added only once the decision is
|
|
67
|
+
// persisted onto a StoryDesign — so requiring them here missed every live model call.
|
|
68
|
+
if ('identity' in object && 'guestHome' in object && 'areas' in object && 'stories' in object) {
|
|
69
|
+
return AgentStructuredKind.ScaffoldPlan
|
|
70
|
+
}
|
|
71
|
+
if (Array.isArray(object.jobs) && Array.isArray(object.agents) && 'kv' in object) {
|
|
72
|
+
return AgentStructuredKind.RuntimeDecision
|
|
73
|
+
}
|
|
18
74
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (source.includes('coder') || source.includes('developer') || codeActions.has(action)) return AgentMessageRole.Developer
|
|
34
|
-
if (source.includes('visual') || source.includes('ui-helper')) return AgentMessageRole.VisualDesign
|
|
35
|
-
if (source.includes('ux-')) return AgentMessageRole.Ux
|
|
36
|
-
if (source.includes('business') || source.includes('ba-') || source.includes('analysis') || source.includes('analyst')) return AgentMessageRole.Analytical
|
|
37
|
-
if (source.includes('product') || source.includes('naming')) return AgentMessageRole.Product
|
|
38
|
-
if (source.includes('architect') || source.includes('arch') || source.includes('layout-helper') ||
|
|
39
|
-
source.includes('api-helper') || source.includes('access-helper') || source.includes('datalayer-helper') ||
|
|
40
|
-
source.includes('domain') || source.includes('nav-helper') || source.includes('ui-com-helper') ||
|
|
41
|
-
source.includes('ui-state-helper')) return AgentMessageRole.Architect
|
|
42
|
-
return AgentMessageRole.Technical
|
|
43
|
-
}
|
|
75
|
+
if (Array.isArray(object.files)) return AgentStructuredKind.ArtifactSelection
|
|
76
|
+
if (Array.isArray(object.entities)) return AgentStructuredKind.EntitySelection
|
|
77
|
+
if (Array.isArray(object.stories)) return AgentStructuredKind.StoryPlan
|
|
78
|
+
if (Array.isArray(object.screens)) return AgentStructuredKind.ScreenPlan
|
|
79
|
+
if (Array.isArray(object.components)) return AgentStructuredKind.ComponentPlan
|
|
80
|
+
if (Array.isArray(object.transitions)) return AgentStructuredKind.TransitionPlan
|
|
81
|
+
if (Array.isArray(object.entries)) return AgentStructuredKind.EntrypointSelection
|
|
82
|
+
if (Array.isArray(object.candidates)) return AgentStructuredKind.CandidateRanking
|
|
83
|
+
if (Object.values(object).some(value => {
|
|
84
|
+
const entry = asRecord(value)
|
|
85
|
+
return entry != null && Array.isArray(entry.permissions) && 'level' in entry
|
|
86
|
+
})) return AgentStructuredKind.AccessPolicy
|
|
87
|
+
return AgentStructuredKind.GenericRecord
|
|
88
|
+
}
|
|
44
89
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (!Array.isArray(value) || value.length !== 1) return value
|
|
48
|
-
const call = asRecord(value[0])
|
|
49
|
-
return call?.args ?? value
|
|
50
|
-
}
|
|
90
|
+
const decisionAction = (action: string): boolean =>
|
|
91
|
+
action.startsWith('should-') || action.startsWith('is-') || action.includes('blueprint-case') || action.includes('choose-case')
|
|
51
92
|
|
|
52
|
-
const
|
|
53
|
-
|
|
93
|
+
const fileExtensionLanguage = (path: string): AgentCodeLanguage => {
|
|
94
|
+
const name = path.toLowerCase().split('?')[0]
|
|
95
|
+
if (/\.(tsx|jsx)$/.test(name)) return AgentCodeLanguage.ReactTsx
|
|
96
|
+
if (/\.css$/.test(name)) return AgentCodeLanguage.Css
|
|
97
|
+
if (/\.(ts|mts|cts|js|mjs|cjs)$/.test(name)) return AgentCodeLanguage.TypeScript
|
|
98
|
+
if (/\.json$/.test(name)) return AgentCodeLanguage.Json
|
|
99
|
+
return AgentCodeLanguage.Other
|
|
100
|
+
}
|
|
54
101
|
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return undefined
|
|
102
|
+
/** Finds the language of a unified diff from its destination (or source) file path. */
|
|
103
|
+
const agentDiffLanguageOf = (text: string): AgentCodeLanguage => {
|
|
104
|
+
const match = text.match(/^\+\+\+\s+(?:b\/)?(.+)$/m) ?? text.match(/^---\s+(?:a\/)?(.+)$/m)
|
|
105
|
+
return match == null ? AgentCodeLanguage.Other : fileExtensionLanguage(match[1])
|
|
60
106
|
}
|
|
61
107
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return
|
|
108
|
+
const fencedLanguageOf = (text: string): AgentCodeLanguage | undefined => {
|
|
109
|
+
const match = text.match(/^```([\w+-]+)/m)
|
|
110
|
+
const language = match?.[1]?.toLowerCase()
|
|
111
|
+
if (language == null) return undefined
|
|
112
|
+
if (['tsx', 'jsx', 'react'].includes(language)) return AgentCodeLanguage.ReactTsx
|
|
113
|
+
if (language === 'css') return AgentCodeLanguage.Css
|
|
114
|
+
if (['ts', 'typescript', 'js', 'javascript'].includes(language)) return AgentCodeLanguage.TypeScript
|
|
115
|
+
if (language === 'json') return AgentCodeLanguage.Json
|
|
116
|
+
return AgentCodeLanguage.Other
|
|
68
117
|
}
|
|
69
|
-
|
|
70
|
-
|
|
118
|
+
|
|
119
|
+
/** Conservative code detection; prose with one identifier remains plain text. */
|
|
120
|
+
const agentCodeLanguageOf = (text: string): AgentCodeLanguage => {
|
|
121
|
+
const content = text.trim().replace(/^```[\w+-]*\n?|\n?```$/g, '')
|
|
122
|
+
const fenced = fencedLanguageOf(text)
|
|
123
|
+
if (fenced != null) return fenced
|
|
124
|
+
if (content === '') return AgentCodeLanguage.Other
|
|
125
|
+
try {
|
|
126
|
+
JSON.parse(content)
|
|
127
|
+
if (/^[{[]/.test(content)) return AgentCodeLanguage.Json
|
|
128
|
+
} catch {
|
|
129
|
+
// The remaining heuristics deliberately require source-like syntax.
|
|
130
|
+
}
|
|
131
|
+
if (/<[A-Za-z][\w.:-]*(?:\s[^>]*)?\/>|<[A-Za-z][\w.:-]*(?:\s[^>]*)?>/.test(content) &&
|
|
132
|
+
/\b(import|export|const|function|return)\b/.test(content)) return AgentCodeLanguage.ReactTsx
|
|
133
|
+
if (/(^|\n)\s*(?:[.#][\w-]+|[a-z][\w-]*(?:\[[^\]]+\])?)\s*\{[^}]*:[^}]*\}/.test(content)) {
|
|
134
|
+
return AgentCodeLanguage.Css
|
|
135
|
+
}
|
|
136
|
+
if (/\b(import|export|interface|type|const|let|function|class)\b/.test(content) &&
|
|
137
|
+
/[;{}]|=>/.test(content)) return AgentCodeLanguage.TypeScript
|
|
138
|
+
return AgentCodeLanguage.Other
|
|
71
139
|
}
|
|
72
140
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (Array.isArray(object.stories)) return AgentStructuredKind.StoryPlan
|
|
76
|
-
if (Array.isArray(object.screens)) return AgentStructuredKind.ScreenPlan
|
|
77
|
-
if (Array.isArray(object.components)) return AgentStructuredKind.ComponentPlan
|
|
78
|
-
if (Array.isArray(object.transitions)) return AgentStructuredKind.TransitionPlan
|
|
79
|
-
if (Array.isArray(object.entries)) return AgentStructuredKind.EntrypointSelection
|
|
80
|
-
if (Array.isArray(object.candidates)) return AgentStructuredKind.CandidateRanking
|
|
81
|
-
if (Object.values(object).some(value => {
|
|
82
|
-
const entry = asRecord(value)
|
|
83
|
-
return entry != null && Array.isArray(entry.permissions) && 'level' in entry
|
|
84
|
-
})) return AgentStructuredKind.AccessPolicy
|
|
85
|
-
return AgentStructuredKind.GenericRecord
|
|
86
|
-
}
|
|
141
|
+
const isUnifiedDiff = (text: string): boolean =>
|
|
142
|
+
/^---\s+.+\n\+\+\+\s+.+/m.test(text) || (/^@@\s+[-+]/m.test(text) && /^(?:\+|-)[^+-]/m.test(text))
|
|
87
143
|
|
|
88
|
-
const
|
|
89
|
-
|
|
144
|
+
const markdownKindOf = (text: string): AgentMarkdownKind | undefined => {
|
|
145
|
+
if (/^#{1,6}\s+/m.test(text) || /^>\s+/m.test(text) || /^\|.+\|\s*$/m.test(text)) {
|
|
146
|
+
return AgentMarkdownKind.Documentation
|
|
147
|
+
}
|
|
148
|
+
const listItems = text.match(/^\s*(?:[-*+]\s+|\d+[.)]\s+)/gm)?.length ?? 0
|
|
149
|
+
return listItems >= 2 ? AgentMarkdownKind.Documentation : undefined
|
|
150
|
+
}
|
|
90
151
|
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
152
|
+
const isGenericStructure = (kind: AgentStructuredKind | undefined): boolean =>
|
|
153
|
+
kind == null || kind === AgentStructuredKind.GenericRecord || kind === AgentStructuredKind.GenericList ||
|
|
154
|
+
kind === AgentStructuredKind.GenericValue
|
|
155
|
+
|
|
156
|
+
const classifyAgentMessage = (input: AgentMessageClassificationInput): AgentMessagePresentation => {
|
|
157
|
+
const role = agentMessageRoleOf(input)
|
|
158
|
+
const action = actionOf(input)
|
|
159
|
+
const text = contentOf(input)
|
|
160
|
+
const structure = structuredKindOf(input.value)
|
|
161
|
+
|
|
162
|
+
if (input.outputType === 'tool_calls') {
|
|
163
|
+
// A single pinned-schema call resolves to its own card; everything else — several calls in
|
|
164
|
+
// one turn, an unconstrained agent-loop action, or a shape too generic to be informative —
|
|
165
|
+
// is a tool call, not a schema result.
|
|
166
|
+
const isMultiCall = Array.isArray(input.value) && input.value.length > 1
|
|
167
|
+
const isToolCalls = isMultiCall || agentLoopActions.has(action) || isGenericStructure(structure)
|
|
168
|
+
return {
|
|
169
|
+
category: AgentMessageCategory.Structured,
|
|
170
|
+
structure: isToolCalls ? AgentStructuredKind.ToolCalls : structure!,
|
|
171
|
+
role,
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (structure != null) return { category: AgentMessageCategory.Structured, structure, role }
|
|
175
|
+
const actionStructure = structuredActions[action]
|
|
176
|
+
if (actionStructure != null) return { category: AgentMessageCategory.Structured, structure: actionStructure, role }
|
|
177
|
+
if (decisionAction(action)) return { category: AgentMessageCategory.Structured, structure: AgentStructuredKind.Decision, role }
|
|
178
|
+
if (isUnifiedDiff(text) || action === 'update-code') {
|
|
179
|
+
return { category: AgentMessageCategory.Diff, language: agentDiffLanguageOf(text), role }
|
|
180
|
+
}
|
|
181
|
+
if (codeActions.has(action) || fencedLanguageOf(text) != null || agentCodeLanguageOf(text) !== AgentCodeLanguage.Other) {
|
|
182
|
+
return { category: AgentMessageCategory.Code, language: agentCodeLanguageOf(text), role }
|
|
183
|
+
}
|
|
184
|
+
const document = documentActions[action] ?? markdownKindOf(text)
|
|
185
|
+
if (document != null) return { category: AgentMessageCategory.Markdown, document, role }
|
|
186
|
+
if (input.value != null) {
|
|
187
|
+
return {
|
|
188
|
+
category: AgentMessageCategory.Structured,
|
|
189
|
+
structure: Array.isArray(input.value) ? AgentStructuredKind.GenericList : AgentStructuredKind.GenericValue,
|
|
190
|
+
role,
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return { category: AgentMessageCategory.Plain, role }
|
|
194
|
+
}
|
|
99
195
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
196
|
+
return {
|
|
197
|
+
isAgentMessageHidden, agentMessageRoleOf, agentToolCallArguments, agentDiffLanguageOf, agentCodeLanguageOf,
|
|
198
|
+
isUnifiedDiff, classifyAgentMessage,
|
|
199
|
+
}
|
|
104
200
|
}
|
|
105
201
|
|
|
106
|
-
const
|
|
107
|
-
const match = text.match(/^```([\w+-]+)/m)
|
|
108
|
-
const language = match?.[1]?.toLowerCase()
|
|
109
|
-
if (language == null) return undefined
|
|
110
|
-
if (['tsx', 'jsx', 'react'].includes(language)) return AgentCodeLanguage.ReactTsx
|
|
111
|
-
if (language === 'css') return AgentCodeLanguage.Css
|
|
112
|
-
if (['ts', 'typescript', 'js', 'javascript'].includes(language)) return AgentCodeLanguage.TypeScript
|
|
113
|
-
if (language === 'json') return AgentCodeLanguage.Json
|
|
114
|
-
return AgentCodeLanguage.Other
|
|
115
|
-
}
|
|
202
|
+
export const agentPresentationHelper = createAgentPresentationHelper()
|
|
116
203
|
|
|
117
|
-
/**
|
|
118
|
-
export const
|
|
119
|
-
|
|
120
|
-
const fenced = fencedLanguageOf(text)
|
|
121
|
-
if (fenced != null) return fenced
|
|
122
|
-
if (content === '') return AgentCodeLanguage.Other
|
|
123
|
-
try {
|
|
124
|
-
JSON.parse(content)
|
|
125
|
-
if (/^[{[]/.test(content)) return AgentCodeLanguage.Json
|
|
126
|
-
} catch {
|
|
127
|
-
// The remaining heuristics deliberately require source-like syntax.
|
|
128
|
-
}
|
|
129
|
-
if (/<[A-Za-z][\w.:-]*(?:\s[^>]*)?\/>|<[A-Za-z][\w.:-]*(?:\s[^>]*)?>/.test(content) &&
|
|
130
|
-
/\b(import|export|const|function|return)\b/.test(content)) return AgentCodeLanguage.ReactTsx
|
|
131
|
-
if (/(^|\n)\s*(?:[.#][\w-]+|[a-z][\w-]*(?:\[[^\]]+\])?)\s*\{[^}]*:[^}]*\}/.test(content)) {
|
|
132
|
-
return AgentCodeLanguage.Css
|
|
133
|
-
}
|
|
134
|
-
if (/\b(import|export|interface|type|const|let|function|class)\b/.test(content) &&
|
|
135
|
-
/[;{}]|=>/.test(content)) return AgentCodeLanguage.TypeScript
|
|
136
|
-
return AgentCodeLanguage.Other
|
|
137
|
-
}
|
|
204
|
+
/** @deprecated compat:factory-refactor — use `agentPresentationHelper.isAgentMessageHidden(…)` */
|
|
205
|
+
export const isAgentMessageHidden = (input: AgentMessageClassificationInput): boolean =>
|
|
206
|
+
agentPresentationHelper.isAgentMessageHidden(input)
|
|
138
207
|
|
|
139
|
-
|
|
140
|
-
|
|
208
|
+
/** @deprecated compat:factory-refactor — use `agentPresentationHelper.agentMessageRoleOf(…)` */
|
|
209
|
+
export const agentMessageRoleOf = (input: AgentMessageClassificationInput): AgentMessageRole =>
|
|
210
|
+
agentPresentationHelper.agentMessageRoleOf(input)
|
|
141
211
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
return AgentMarkdownKind.Documentation
|
|
145
|
-
}
|
|
146
|
-
const listItems = text.match(/^\s*(?:[-*+]\s+|\d+[.)]\s+)/gm)?.length ?? 0
|
|
147
|
-
return listItems >= 2 ? AgentMarkdownKind.Documentation : undefined
|
|
148
|
-
}
|
|
212
|
+
/** @deprecated compat:factory-refactor — use `agentPresentationHelper.agentToolCallArguments(…)` */
|
|
213
|
+
export const agentToolCallArguments = (value: unknown): unknown => agentPresentationHelper.agentToolCallArguments(value)
|
|
149
214
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
export const
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
// one turn, an unconstrained agent-loop action, or a shape too generic to be informative —
|
|
163
|
-
// is a tool call, not a schema result.
|
|
164
|
-
const isMultiCall = Array.isArray(input.value) && input.value.length > 1
|
|
165
|
-
const isToolCalls = isMultiCall || agentLoopActions.has(action) || isGenericStructure(structure)
|
|
166
|
-
return {
|
|
167
|
-
category: AgentMessageCategory.Structured,
|
|
168
|
-
structure: isToolCalls ? AgentStructuredKind.ToolCalls : structure!,
|
|
169
|
-
role,
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
if (structure != null) return { category: AgentMessageCategory.Structured, structure, role }
|
|
173
|
-
const actionStructure = structuredActions[action]
|
|
174
|
-
if (actionStructure != null) return { category: AgentMessageCategory.Structured, structure: actionStructure, role }
|
|
175
|
-
if (decisionAction(action)) return { category: AgentMessageCategory.Structured, structure: AgentStructuredKind.Decision, role }
|
|
176
|
-
if (isUnifiedDiff(text) || action === 'update-code') {
|
|
177
|
-
return { category: AgentMessageCategory.Diff, language: agentDiffLanguageOf(text), role }
|
|
178
|
-
}
|
|
179
|
-
if (codeActions.has(action) || fencedLanguageOf(text) != null || agentCodeLanguageOf(text) !== AgentCodeLanguage.Other) {
|
|
180
|
-
return { category: AgentMessageCategory.Code, language: agentCodeLanguageOf(text), role }
|
|
181
|
-
}
|
|
182
|
-
const document = documentActions[action] ?? markdownKindOf(text)
|
|
183
|
-
if (document != null) return { category: AgentMessageCategory.Markdown, document, role }
|
|
184
|
-
if (input.value != null) {
|
|
185
|
-
return {
|
|
186
|
-
category: AgentMessageCategory.Structured,
|
|
187
|
-
structure: Array.isArray(input.value) ? AgentStructuredKind.GenericList : AgentStructuredKind.GenericValue,
|
|
188
|
-
role,
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return { category: AgentMessageCategory.Plain, role }
|
|
192
|
-
}
|
|
215
|
+
/** @deprecated compat:factory-refactor — use `agentPresentationHelper.agentDiffLanguageOf(…)` */
|
|
216
|
+
export const agentDiffLanguageOf = (text: string): AgentCodeLanguage => agentPresentationHelper.agentDiffLanguageOf(text)
|
|
217
|
+
|
|
218
|
+
/** @deprecated compat:factory-refactor — use `agentPresentationHelper.agentCodeLanguageOf(…)` */
|
|
219
|
+
export const agentCodeLanguageOf = (text: string): AgentCodeLanguage => agentPresentationHelper.agentCodeLanguageOf(text)
|
|
220
|
+
|
|
221
|
+
/** @deprecated compat:factory-refactor — use `agentPresentationHelper.isUnifiedDiff(…)` */
|
|
222
|
+
export const isUnifiedDiff = (text: string): boolean => agentPresentationHelper.isUnifiedDiff(text)
|
|
223
|
+
|
|
224
|
+
/** @deprecated compat:factory-refactor — use `agentPresentationHelper.classifyAgentMessage(…)` */
|
|
225
|
+
export const classifyAgentMessage = (input: AgentMessageClassificationInput): AgentMessagePresentation =>
|
|
226
|
+
agentPresentationHelper.classifyAgentMessage(input)
|
package/src/agent/types.local.ts
CHANGED