eai-cli 0.0.0-bootstrap.0
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/LICENSE +183 -0
- package/NOTICE +4 -0
- package/README.md +14 -0
- package/dist/commands/agent.d.ts +3 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +69 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/blocks.d.ts +3 -0
- package/dist/commands/blocks.d.ts.map +1 -0
- package/dist/commands/blocks.js +249 -0
- package/dist/commands/blocks.js.map +1 -0
- package/dist/commands/chat.d.ts +6 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +105 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/deploy.d.ts +36 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +712 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts +15 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +133 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/docs.d.ts +6 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +118 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/env.d.ts +10 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +200 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/errors.d.ts +3 -0
- package/dist/commands/errors.d.ts.map +1 -0
- package/dist/commands/errors.js +72 -0
- package/dist/commands/errors.js.map +1 -0
- package/dist/commands/gofer.d.ts +3 -0
- package/dist/commands/gofer.d.ts.map +1 -0
- package/dist/commands/gofer.js +134 -0
- package/dist/commands/gofer.js.map +1 -0
- package/dist/commands/init.d.ts +14 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1437 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +7 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +117 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/provision.d.ts +6 -0
- package/dist/commands/provision.d.ts.map +1 -0
- package/dist/commands/provision.js +855 -0
- package/dist/commands/provision.js.map +1 -0
- package/dist/commands/publicapi.d.ts +6 -0
- package/dist/commands/publicapi.d.ts.map +1 -0
- package/dist/commands/publicapi.js +184 -0
- package/dist/commands/publicapi.js.map +1 -0
- package/dist/commands/resources.d.ts +38 -0
- package/dist/commands/resources.d.ts.map +1 -0
- package/dist/commands/resources.js +1010 -0
- package/dist/commands/resources.js.map +1 -0
- package/dist/commands/runtime.d.ts +3 -0
- package/dist/commands/runtime.d.ts.map +1 -0
- package/dist/commands/runtime.js +78 -0
- package/dist/commands/runtime.js.map +1 -0
- package/dist/commands/template.d.ts +3 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/commands/template.js +365 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/commands/tenant.d.ts +45 -0
- package/dist/commands/tenant.d.ts.map +1 -0
- package/dist/commands/tenant.js +1036 -0
- package/dist/commands/tenant.js.map +1 -0
- package/dist/commands/types.d.ts +130 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +1636 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands/update.d.ts +13 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +163 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/user.d.ts +6 -0
- package/dist/commands/user.d.ts.map +1 -0
- package/dist/commands/user.js +359 -0
- package/dist/commands/user.js.map +1 -0
- package/dist/commands/verify.d.ts +40 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +1442 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/commands/vertical.d.ts +24 -0
- package/dist/commands/vertical.d.ts.map +1 -0
- package/dist/commands/vertical.js +301 -0
- package/dist/commands/vertical.js.map +1 -0
- package/dist/commands/whoami.d.ts +6 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +73 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/commands/workflow.d.ts +6 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +400 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +272 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/agent-guide.d.ts +24 -0
- package/dist/lib/agent-guide.d.ts.map +1 -0
- package/dist/lib/agent-guide.js +155 -0
- package/dist/lib/agent-guide.js.map +1 -0
- package/dist/lib/api.d.ts +338 -0
- package/dist/lib/api.d.ts.map +1 -0
- package/dist/lib/api.js +991 -0
- package/dist/lib/api.js.map +1 -0
- package/dist/lib/auth.d.ts +65 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +592 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/azure-cli.d.ts +6 -0
- package/dist/lib/azure-cli.d.ts.map +1 -0
- package/dist/lib/azure-cli.js +13 -0
- package/dist/lib/azure-cli.js.map +1 -0
- package/dist/lib/block-catalog-normalize.d.ts +47 -0
- package/dist/lib/block-catalog-normalize.d.ts.map +1 -0
- package/dist/lib/block-catalog-normalize.js +355 -0
- package/dist/lib/block-catalog-normalize.js.map +1 -0
- package/dist/lib/block-catalog-types.d.ts +111 -0
- package/dist/lib/block-catalog-types.d.ts.map +1 -0
- package/dist/lib/block-catalog-types.js +41 -0
- package/dist/lib/block-catalog-types.js.map +1 -0
- package/dist/lib/block-catalog-utils.d.ts +7 -0
- package/dist/lib/block-catalog-utils.d.ts.map +1 -0
- package/dist/lib/block-catalog-utils.js +47 -0
- package/dist/lib/block-catalog-utils.js.map +1 -0
- package/dist/lib/block-catalog-validation.d.ts +5 -0
- package/dist/lib/block-catalog-validation.d.ts.map +1 -0
- package/dist/lib/block-catalog-validation.js +112 -0
- package/dist/lib/block-catalog-validation.js.map +1 -0
- package/dist/lib/block-catalog.d.ts +3 -0
- package/dist/lib/block-catalog.d.ts.map +1 -0
- package/dist/lib/block-catalog.js +284 -0
- package/dist/lib/block-catalog.js.map +1 -0
- package/dist/lib/cloud-env.d.ts +25 -0
- package/dist/lib/cloud-env.d.ts.map +1 -0
- package/dist/lib/cloud-env.js +79 -0
- package/dist/lib/cloud-env.js.map +1 -0
- package/dist/lib/config.d.ts +116 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +195 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/context.d.ts +43 -0
- package/dist/lib/context.d.ts.map +1 -0
- package/dist/lib/context.js +68 -0
- package/dist/lib/context.js.map +1 -0
- package/dist/lib/error-codes.d.ts +56 -0
- package/dist/lib/error-codes.d.ts.map +1 -0
- package/dist/lib/error-codes.js +211 -0
- package/dist/lib/error-codes.js.map +1 -0
- package/dist/lib/error-guidance/catalog.d.ts +648 -0
- package/dist/lib/error-guidance/catalog.d.ts.map +1 -0
- package/dist/lib/error-guidance/catalog.js +940 -0
- package/dist/lib/error-guidance/catalog.js.map +1 -0
- package/dist/lib/error-guidance/match.d.ts +3 -0
- package/dist/lib/error-guidance/match.d.ts.map +1 -0
- package/dist/lib/error-guidance/match.js +46 -0
- package/dist/lib/error-guidance/match.js.map +1 -0
- package/dist/lib/error-guidance/render.d.ts +5 -0
- package/dist/lib/error-guidance/render.d.ts.map +1 -0
- package/dist/lib/error-guidance/render.js +92 -0
- package/dist/lib/error-guidance/render.js.map +1 -0
- package/dist/lib/error-guidance/types.d.ts +76 -0
- package/dist/lib/error-guidance/types.d.ts.map +1 -0
- package/dist/lib/error-guidance/types.js +2 -0
- package/dist/lib/error-guidance/types.js.map +1 -0
- package/dist/lib/error-guidance/validate.d.ts +3 -0
- package/dist/lib/error-guidance/validate.d.ts.map +1 -0
- package/dist/lib/error-guidance/validate.js +59 -0
- package/dist/lib/error-guidance/validate.js.map +1 -0
- package/dist/lib/gofer-installer.d.ts +32 -0
- package/dist/lib/gofer-installer.d.ts.map +1 -0
- package/dist/lib/gofer-installer.js +589 -0
- package/dist/lib/gofer-installer.js.map +1 -0
- package/dist/lib/gofer-refresh.d.ts +46 -0
- package/dist/lib/gofer-refresh.d.ts.map +1 -0
- package/dist/lib/gofer-refresh.js +536 -0
- package/dist/lib/gofer-refresh.js.map +1 -0
- package/dist/lib/next-route-exports.d.ts +6 -0
- package/dist/lib/next-route-exports.d.ts.map +1 -0
- package/dist/lib/next-route-exports.js +127 -0
- package/dist/lib/next-route-exports.js.map +1 -0
- package/dist/lib/npm.d.ts +2 -0
- package/dist/lib/npm.d.ts.map +1 -0
- package/dist/lib/npm.js +4 -0
- package/dist/lib/npm.js.map +1 -0
- package/dist/lib/object-type-defaults.d.ts +4 -0
- package/dist/lib/object-type-defaults.d.ts.map +1 -0
- package/dist/lib/object-type-defaults.js +72 -0
- package/dist/lib/object-type-defaults.js.map +1 -0
- package/dist/lib/output.d.ts +35 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +166 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/profile.d.ts +52 -0
- package/dist/lib/profile.d.ts.map +1 -0
- package/dist/lib/profile.js +116 -0
- package/dist/lib/profile.js.map +1 -0
- package/dist/lib/project-manifest.d.ts +42 -0
- package/dist/lib/project-manifest.d.ts.map +1 -0
- package/dist/lib/project-manifest.js +191 -0
- package/dist/lib/project-manifest.js.map +1 -0
- package/dist/lib/resourceapi-bundle.d.ts +33 -0
- package/dist/lib/resourceapi-bundle.d.ts.map +1 -0
- package/dist/lib/resourceapi-bundle.js +79 -0
- package/dist/lib/resourceapi-bundle.js.map +1 -0
- package/dist/lib/runtime-contract.d.ts +84 -0
- package/dist/lib/runtime-contract.d.ts.map +1 -0
- package/dist/lib/runtime-contract.js +318 -0
- package/dist/lib/runtime-contract.js.map +1 -0
- package/dist/lib/schema-builder.d.ts +28 -0
- package/dist/lib/schema-builder.d.ts.map +1 -0
- package/dist/lib/schema-builder.js +69 -0
- package/dist/lib/schema-builder.js.map +1 -0
- package/dist/lib/tenant-context.d.ts +127 -0
- package/dist/lib/tenant-context.d.ts.map +1 -0
- package/dist/lib/tenant-context.js +573 -0
- package/dist/lib/tenant-context.js.map +1 -0
- package/dist/lib/update-check.d.ts +52 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +271 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/update-maintenance.d.ts +15 -0
- package/dist/lib/update-maintenance.d.ts.map +1 -0
- package/dist/lib/update-maintenance.js +187 -0
- package/dist/lib/update-maintenance.js.map +1 -0
- package/dist/lib/utils.d.ts +23 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +48 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/workflow-provisioning.d.ts +54 -0
- package/dist/lib/workflow-provisioning.d.ts.map +1 -0
- package/dist/lib/workflow-provisioning.js +281 -0
- package/dist/lib/workflow-provisioning.js.map +1 -0
- package/package.json +51 -0
- package/resources/gofer/.gofer-version +7 -0
- package/resources/gofer/agents-skills/0_gofer_start/SKILL.md +1287 -0
- package/resources/gofer/agents-skills/0a_problem_validation/SKILL.md +429 -0
- package/resources/gofer/agents-skills/10_gofer_cloud/SKILL.md +635 -0
- package/resources/gofer/agents-skills/1_gofer_research/SKILL.md +1159 -0
- package/resources/gofer/agents-skills/2_gofer_specify/SKILL.md +860 -0
- package/resources/gofer/agents-skills/3_gofer_plan/SKILL.md +886 -0
- package/resources/gofer/agents-skills/4_gofer_tasks/SKILL.md +748 -0
- package/resources/gofer/agents-skills/5_gofer_implement/SKILL.md +924 -0
- package/resources/gofer/agents-skills/6_gofer_validate/SKILL.md +2269 -0
- package/resources/gofer/agents-skills/7_gofer_save/SKILL.md +423 -0
- package/resources/gofer/agents-skills/7a_stakeholder_comms/SKILL.md +508 -0
- package/resources/gofer/agents-skills/8_gofer_branding/SKILL.md +315 -0
- package/resources/gofer/agents-skills/9_gofer_tests/SKILL.md +558 -0
- package/resources/gofer/agents-skills/gofer_bootstrap_workspace/SKILL.md +148 -0
- package/resources/gofer/agents-skills/gofer_check_workspace/SKILL.md +119 -0
- package/resources/gofer/agents-skills/gofer_constitution/SKILL.md +612 -0
- package/resources/gofer/agents-skills/gofer_diagnose/SKILL.md +114 -0
- package/resources/gofer/agents-skills/gofer_eai_first_run/SKILL.md +397 -0
- package/resources/gofer/agents-skills/gofer_hydrate/SKILL.md +561 -0
- package/resources/gofer/agents-skills/gofer_personality/SKILL.md +44 -0
- package/resources/gofer/agents-skills/gofer_plan/SKILL.md +40 -0
- package/resources/gofer/agents-skills/gofer_side/SKILL.md +45 -0
- package/resources/gofer/agents-skills/gofer_spec_summary/SKILL.md +112 -0
- package/resources/gofer/agents-skills/gofer_tdd/SKILL.md +112 -0
- package/resources/gofer/agents-skills/gofer_vocabulary/SKILL.md +112 -0
- package/resources/gofer/agents-skills/gofer_zoom_out/SKILL.md +112 -0
- package/resources/gofer/bash-scripts/check-context-health.sh +365 -0
- package/resources/gofer/bash-scripts/check-persona-pack.sh +81 -0
- package/resources/gofer/bash-scripts/check-prerequisites.sh +168 -0
- package/resources/gofer/bash-scripts/common.sh +192 -0
- package/resources/gofer/bash-scripts/create-new-feature.sh +260 -0
- package/resources/gofer/bash-scripts/install-optional-tools.sh +270 -0
- package/resources/gofer/bash-scripts/log-stage.sh +224 -0
- package/resources/gofer/bash-scripts/mark-task-complete.sh +74 -0
- package/resources/gofer/bash-scripts/pipeline-state.sh +306 -0
- package/resources/gofer/bash-scripts/read-failed-approaches.sh +114 -0
- package/resources/gofer/bash-scripts/read-session-memories.sh +96 -0
- package/resources/gofer/bash-scripts/save-checkpoint.sh +407 -0
- package/resources/gofer/bash-scripts/setup-plan.sh +62 -0
- package/resources/gofer/bash-scripts/sync-implementation-status.sh +47 -0
- package/resources/gofer/bash-scripts/update-agent-context.sh +772 -0
- package/resources/gofer/bash-scripts/validate-artifact.sh +335 -0
- package/resources/gofer/bash-scripts/verify-task.sh +384 -0
- package/resources/gofer/bash-scripts/write-failed-approach.sh +110 -0
- package/resources/gofer/bash-scripts/write-periodic-checkpoint.sh +128 -0
- package/resources/gofer/bash-scripts/write-session-memory.sh +118 -0
- package/resources/gofer/claude-agents/assumption-tracker.md +168 -0
- package/resources/gofer/claude-agents/business-metrics-analyzer.md +169 -0
- package/resources/gofer/claude-agents/business-problem-validator.md +168 -0
- package/resources/gofer/claude-agents/codebase-analyzer.md +124 -0
- package/resources/gofer/claude-agents/codebase-locator.md +95 -0
- package/resources/gofer/claude-agents/codebase-pattern-finder.md +180 -0
- package/resources/gofer/claude-agents/comms-writer.md +158 -0
- package/resources/gofer/claude-agents/engineer-review.md +169 -0
- package/resources/gofer/claude-agents/implement-bug-triangulator.md +94 -0
- package/resources/gofer/claude-agents/implement-code-review-council.md +89 -0
- package/resources/gofer/claude-agents/implement-doc-writer.md +89 -0
- package/resources/gofer/claude-agents/implement-error-hardener.md +84 -0
- package/resources/gofer/claude-agents/implement-performance-explorer.md +95 -0
- package/resources/gofer/claude-agents/implement-test-diversifier.md +82 -0
- package/resources/gofer/claude-agents/implement-variant-generator.md +80 -0
- package/resources/gofer/claude-agents/multi-perspective-judge.md +114 -0
- package/resources/gofer/claude-agents/plan-api-comparator.md +90 -0
- package/resources/gofer/claude-agents/plan-architecture-diverger.md +100 -0
- package/resources/gofer/claude-agents/plan-data-model-stress-tester.md +95 -0
- package/resources/gofer/claude-agents/plan-migration-path-finder.md +95 -0
- package/resources/gofer/claude-agents/plan-refactor-rewrite-advisor.md +97 -0
- package/resources/gofer/claude-agents/research-dependency-evaluator.md +106 -0
- package/resources/gofer/claude-agents/research-horizon-scanner.md +100 -0
- package/resources/gofer/claude-agents/research-market-scanner.md +137 -0
- package/resources/gofer/claude-agents/research-perspective-multiplier.md +102 -0
- package/resources/gofer/claude-agents/scope-creep-detector.md +152 -0
- package/resources/gofer/claude-agents/specify-ambiguity-detector.md +95 -0
- package/resources/gofer/claude-agents/specify-journey-stress-tester.md +92 -0
- package/resources/gofer/claude-agents/tasks-cross-cutting-scanner.md +91 -0
- package/resources/gofer/claude-agents/tasks-rollback-planner.md +89 -0
- package/resources/gofer/claude-agents/validate-security-red-team.md +102 -0
- package/resources/gofer/claude-agents/validation-correctness.md +103 -0
- package/resources/gofer/claude-agents/validation-integration.md +129 -0
- package/resources/gofer/claude-agents/validation-performance.md +120 -0
- package/resources/gofer/claude-agents/validation-security.md +115 -0
- package/resources/gofer/claude-agents/validation-standards.md +151 -0
- package/resources/gofer/claude-agents/validation-test-quality.md +146 -0
- package/resources/gofer/claude-agents/visual-bounded-context-writer.md +40 -0
- package/resources/gofer/claude-agents/visual-c4-writer.md +45 -0
- package/resources/gofer/claude-agents/visual-erd-writer.md +34 -0
- package/resources/gofer/claude-agents/visual-heatmap-writer.md +63 -0
- package/resources/gofer/claude-agents/visual-risk-writer.md +64 -0
- package/resources/gofer/claude-commands/0_gofer_start.md +1282 -0
- package/resources/gofer/claude-commands/0a_problem_validation.md +424 -0
- package/resources/gofer/claude-commands/10_gofer_cloud.md +630 -0
- package/resources/gofer/claude-commands/1_gofer_research.md +1154 -0
- package/resources/gofer/claude-commands/2_gofer_specify.md +855 -0
- package/resources/gofer/claude-commands/3_gofer_plan.md +881 -0
- package/resources/gofer/claude-commands/4_gofer_tasks.md +743 -0
- package/resources/gofer/claude-commands/5_gofer_implement.md +919 -0
- package/resources/gofer/claude-commands/6_gofer_validate.md +2264 -0
- package/resources/gofer/claude-commands/7_gofer_save.md +418 -0
- package/resources/gofer/claude-commands/7a_stakeholder_comms.md +503 -0
- package/resources/gofer/claude-commands/8_gofer_branding.md +310 -0
- package/resources/gofer/claude-commands/9_gofer_tests.md +553 -0
- package/resources/gofer/claude-commands/gofer_bootstrap_workspace.md +143 -0
- package/resources/gofer/claude-commands/gofer_check_workspace.md +114 -0
- package/resources/gofer/claude-commands/gofer_constitution.md +607 -0
- package/resources/gofer/claude-commands/gofer_diagnose.md +109 -0
- package/resources/gofer/claude-commands/gofer_eai_first_run.md +392 -0
- package/resources/gofer/claude-commands/gofer_hydrate.md +556 -0
- package/resources/gofer/claude-commands/gofer_personality.md +39 -0
- package/resources/gofer/claude-commands/gofer_plan.md +35 -0
- package/resources/gofer/claude-commands/gofer_side.md +40 -0
- package/resources/gofer/claude-commands/gofer_spec_summary.md +107 -0
- package/resources/gofer/claude-commands/gofer_tdd.md +107 -0
- package/resources/gofer/claude-commands/gofer_vocabulary.md +107 -0
- package/resources/gofer/claude-commands/gofer_zoom_out.md +107 -0
- package/resources/gofer/claude-skills/eai-gofer/SKILL.md +56 -0
- package/resources/gofer/commands/.gitkeep +0 -0
- package/resources/gofer/commands/0_gofer_start.md +1299 -0
- package/resources/gofer/commands/0a_problem_validation.md +405 -0
- package/resources/gofer/commands/10_gofer_cloud.md +611 -0
- package/resources/gofer/commands/1_gofer_research.md +1135 -0
- package/resources/gofer/commands/2_gofer_specify.md +836 -0
- package/resources/gofer/commands/3_gofer_plan.md +862 -0
- package/resources/gofer/commands/4_gofer_tasks.md +724 -0
- package/resources/gofer/commands/5_gofer_implement.md +900 -0
- package/resources/gofer/commands/6_gofer_validate.md +2245 -0
- package/resources/gofer/commands/7_gofer_save.md +399 -0
- package/resources/gofer/commands/7a_stakeholder_comms.md +484 -0
- package/resources/gofer/commands/8_gofer_branding.md +291 -0
- package/resources/gofer/commands/9_gofer_tests.md +534 -0
- package/resources/gofer/commands/gofer_bootstrap_workspace.md +159 -0
- package/resources/gofer/commands/gofer_check_workspace.md +130 -0
- package/resources/gofer/commands/gofer_constitution.md +588 -0
- package/resources/gofer/commands/gofer_diagnose.md +89 -0
- package/resources/gofer/commands/gofer_eai_first_run.md +392 -0
- package/resources/gofer/commands/gofer_hydrate.md +537 -0
- package/resources/gofer/commands/gofer_personality.md +61 -0
- package/resources/gofer/commands/gofer_plan.md +51 -0
- package/resources/gofer/commands/gofer_side.md +56 -0
- package/resources/gofer/commands/gofer_spec_summary.md +87 -0
- package/resources/gofer/commands/gofer_tdd.md +87 -0
- package/resources/gofer/commands/gofer_vocabulary.md +87 -0
- package/resources/gofer/commands/gofer_zoom_out.md +87 -0
- package/resources/gofer/copilot-instructions/gofer-cost.instructions.md +13 -0
- package/resources/gofer/copilot-instructions/language-server.instructions.md +49 -0
- package/resources/gofer/copilot-instructions/typescript.instructions.md +47 -0
- package/resources/gofer/copilot-instructions/vscode-extension.instructions.md +46 -0
- package/resources/gofer/copilot-prompts/0_gofer_start.prompt.md +1308 -0
- package/resources/gofer/copilot-prompts/0a_problem_validation.prompt.md +429 -0
- package/resources/gofer/copilot-prompts/10_gofer_cloud.prompt.md +644 -0
- package/resources/gofer/copilot-prompts/1_gofer_research.prompt.md +1177 -0
- package/resources/gofer/copilot-prompts/2_gofer_specify.prompt.md +878 -0
- package/resources/gofer/copilot-prompts/3_gofer_plan.prompt.md +904 -0
- package/resources/gofer/copilot-prompts/4_gofer_tasks.prompt.md +766 -0
- package/resources/gofer/copilot-prompts/5_gofer_implement.prompt.md +942 -0
- package/resources/gofer/copilot-prompts/6_gofer_validate.prompt.md +2277 -0
- package/resources/gofer/copilot-prompts/7_gofer_save.prompt.md +433 -0
- package/resources/gofer/copilot-prompts/7a_stakeholder_comms.prompt.md +516 -0
- package/resources/gofer/copilot-prompts/8_gofer_branding.prompt.md +323 -0
- package/resources/gofer/copilot-prompts/9_gofer_tests.prompt.md +566 -0
- package/resources/gofer/copilot-prompts/gofer_bootstrap_workspace.prompt.md +161 -0
- package/resources/gofer/copilot-prompts/gofer_check_workspace.prompt.md +132 -0
- package/resources/gofer/copilot-prompts/gofer_constitution.prompt.md +621 -0
- package/resources/gofer/copilot-prompts/gofer_diagnose.prompt.md +127 -0
- package/resources/gofer/copilot-prompts/gofer_eai_first_run.prompt.md +410 -0
- package/resources/gofer/copilot-prompts/gofer_hydrate.prompt.md +571 -0
- package/resources/gofer/copilot-prompts/gofer_personality.prompt.md +57 -0
- package/resources/gofer/copilot-prompts/gofer_plan.prompt.md +53 -0
- package/resources/gofer/copilot-prompts/gofer_side.prompt.md +58 -0
- package/resources/gofer/copilot-prompts/gofer_spec_summary.prompt.md +125 -0
- package/resources/gofer/copilot-prompts/gofer_tdd.prompt.md +125 -0
- package/resources/gofer/copilot-prompts/gofer_vocabulary.prompt.md +125 -0
- package/resources/gofer/copilot-prompts/gofer_zoom_out.prompt.md +125 -0
- package/resources/gofer/gemini/agents/assumption-tracker.md +171 -0
- package/resources/gofer/gemini/agents/business-metrics-analyzer.md +172 -0
- package/resources/gofer/gemini/agents/business-problem-validator.md +171 -0
- package/resources/gofer/gemini/agents/codebase-analyzer.md +127 -0
- package/resources/gofer/gemini/agents/codebase-locator.md +98 -0
- package/resources/gofer/gemini/agents/codebase-pattern-finder.md +183 -0
- package/resources/gofer/gemini/agents/comms-writer.md +161 -0
- package/resources/gofer/gemini/agents/engineer-review.md +172 -0
- package/resources/gofer/gemini/agents/implement-bug-triangulator.md +97 -0
- package/resources/gofer/gemini/agents/implement-code-review-council.md +92 -0
- package/resources/gofer/gemini/agents/implement-doc-writer.md +92 -0
- package/resources/gofer/gemini/agents/implement-error-hardener.md +87 -0
- package/resources/gofer/gemini/agents/implement-performance-explorer.md +98 -0
- package/resources/gofer/gemini/agents/implement-test-diversifier.md +85 -0
- package/resources/gofer/gemini/agents/implement-variant-generator.md +83 -0
- package/resources/gofer/gemini/agents/multi-perspective-judge.md +117 -0
- package/resources/gofer/gemini/agents/plan-api-comparator.md +93 -0
- package/resources/gofer/gemini/agents/plan-architecture-diverger.md +103 -0
- package/resources/gofer/gemini/agents/plan-data-model-stress-tester.md +98 -0
- package/resources/gofer/gemini/agents/plan-migration-path-finder.md +98 -0
- package/resources/gofer/gemini/agents/plan-refactor-rewrite-advisor.md +100 -0
- package/resources/gofer/gemini/agents/research-dependency-evaluator.md +109 -0
- package/resources/gofer/gemini/agents/research-horizon-scanner.md +103 -0
- package/resources/gofer/gemini/agents/research-market-scanner.md +140 -0
- package/resources/gofer/gemini/agents/research-perspective-multiplier.md +105 -0
- package/resources/gofer/gemini/agents/scope-creep-detector.md +155 -0
- package/resources/gofer/gemini/agents/specify-ambiguity-detector.md +98 -0
- package/resources/gofer/gemini/agents/specify-journey-stress-tester.md +95 -0
- package/resources/gofer/gemini/agents/tasks-cross-cutting-scanner.md +94 -0
- package/resources/gofer/gemini/agents/tasks-rollback-planner.md +92 -0
- package/resources/gofer/gemini/agents/validate-security-red-team.md +105 -0
- package/resources/gofer/gemini/agents/validation-correctness.md +106 -0
- package/resources/gofer/gemini/agents/validation-integration.md +132 -0
- package/resources/gofer/gemini/agents/validation-performance.md +123 -0
- package/resources/gofer/gemini/agents/validation-security.md +118 -0
- package/resources/gofer/gemini/agents/validation-standards.md +154 -0
- package/resources/gofer/gemini/agents/validation-test-quality.md +149 -0
- package/resources/gofer/gemini/agents/visual-bounded-context-writer.md +40 -0
- package/resources/gofer/gemini/agents/visual-c4-writer.md +44 -0
- package/resources/gofer/gemini/agents/visual-erd-writer.md +36 -0
- package/resources/gofer/gemini/agents/visual-heatmap-writer.md +63 -0
- package/resources/gofer/gemini/agents/visual-risk-writer.md +64 -0
- package/resources/gofer/gemini/commands/gofer/.gitkeep +0 -0
- package/resources/gofer/gemini/commands/gofer/0_gofer_start.md +1282 -0
- package/resources/gofer/gemini/commands/gofer/0_gofer_start.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/0a_problem_validation.md +424 -0
- package/resources/gofer/gemini/commands/gofer/0a_problem_validation.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.md +630 -0
- package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/1_gofer_research.md +1154 -0
- package/resources/gofer/gemini/commands/gofer/1_gofer_research.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/2_gofer_specify.md +855 -0
- package/resources/gofer/gemini/commands/gofer/2_gofer_specify.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/3_gofer_plan.md +881 -0
- package/resources/gofer/gemini/commands/gofer/3_gofer_plan.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.md +743 -0
- package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/5_gofer_implement.md +919 -0
- package/resources/gofer/gemini/commands/gofer/5_gofer_implement.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/6_gofer_validate.md +2264 -0
- package/resources/gofer/gemini/commands/gofer/6_gofer_validate.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/7_gofer_save.md +418 -0
- package/resources/gofer/gemini/commands/gofer/7_gofer_save.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.md +503 -0
- package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/8_gofer_branding.md +310 -0
- package/resources/gofer/gemini/commands/gofer/8_gofer_branding.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/9_gofer_tests.md +553 -0
- package/resources/gofer/gemini/commands/gofer/9_gofer_tests.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.md +143 -0
- package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.md +114 -0
- package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_constitution.md +607 -0
- package/resources/gofer/gemini/commands/gofer/gofer_constitution.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_diagnose.md +109 -0
- package/resources/gofer/gemini/commands/gofer/gofer_diagnose.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.md +392 -0
- package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_hydrate.md +556 -0
- package/resources/gofer/gemini/commands/gofer/gofer_hydrate.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_personality.md +39 -0
- package/resources/gofer/gemini/commands/gofer/gofer_personality.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_plan.md +35 -0
- package/resources/gofer/gemini/commands/gofer/gofer_plan.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_side.md +40 -0
- package/resources/gofer/gemini/commands/gofer/gofer_side.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.md +107 -0
- package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_tdd.md +107 -0
- package/resources/gofer/gemini/commands/gofer/gofer_tdd.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.md +107 -0
- package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.md +107 -0
- package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.toml +2 -0
- package/resources/gofer/gemini/commands/gofer/manifest.json +32 -0
- package/resources/gofer/gemini/extension.json +16 -0
- package/resources/gofer/github-agents/gofer-business.agent.md +20 -0
- package/resources/gofer/github-agents/gofer-implement.agent.md +15 -0
- package/resources/gofer/github-agents/gofer-plan.agent.md +15 -0
- package/resources/gofer/github-agents/gofer-research.agent.md +15 -0
- package/resources/gofer/github-agents/gofer-validate.agent.md +10 -0
- package/resources/gofer/github-skills/eai-gofer/SKILL.md +56 -0
- package/resources/gofer/hook-scripts/agent-stop.mjs +655 -0
- package/resources/gofer/hook-scripts/log-stage-launch-time.mjs +77 -0
- package/resources/gofer/hook-scripts/post-tool-use.mjs +333 -0
- package/resources/gofer/hook-scripts/queued-input.mjs +188 -0
- package/resources/gofer/hook-scripts/session-lifecycle.mjs +93 -0
- package/resources/gofer/hook-scripts/user-prompt-submit.mjs +228 -0
- package/resources/gofer/instruction-templates/base/agents-base.md +37 -0
- package/resources/gofer/instruction-templates/base/claude-base.md +7 -0
- package/resources/gofer/instruction-templates/base/copilot-base.md +26 -0
- package/resources/gofer/instruction-templates/gofer/gofer-claude.md +5 -0
- package/resources/gofer/instruction-templates/gofer/gofer-copilot.md +9 -0
- package/resources/gofer/instruction-templates/languages/generic.md +7 -0
- package/resources/gofer/instruction-templates/languages/go.md +8 -0
- package/resources/gofer/instruction-templates/languages/java.md +8 -0
- package/resources/gofer/instruction-templates/languages/python.md +9 -0
- package/resources/gofer/instruction-templates/languages/rust.md +9 -0
- package/resources/gofer/instruction-templates/languages/typescript.md +19 -0
- package/resources/gofer/instruction-templates/workflow/principles.md +52 -0
- package/resources/gofer/memory/constitution.md +391 -0
- package/resources/gofer/memory/context-profiles.yaml +74 -0
- package/resources/gofer/memory/decisions/000-use-adr-for-decisions.md +67 -0
- package/resources/gofer/memory/decisions/001-di-framework.md +190 -0
- package/resources/gofer/memory/decisions/002-module-extraction.md +305 -0
- package/resources/gofer/memory/decisions/003-error-handling.md +368 -0
- package/resources/gofer/memory/decisions/004-cache-eviction.md +436 -0
- package/resources/gofer/memory/decisions/005-constants-management.md +520 -0
- package/resources/gofer/memory/decisions/README.md +129 -0
- package/resources/gofer/memory/diagrams/di-container.mmd +321 -0
- package/resources/gofer/memory/diagrams/extension-activation.mmd +184 -0
- package/resources/gofer/memory/diagrams/module-dependencies.mmd +264 -0
- package/resources/gofer/memory/gofer-model-policy.yaml +97 -0
- package/resources/gofer/memory/lessons.md +46 -0
- package/resources/gofer/node-scripts/canonical-descriptions.mjs +86 -0
- package/resources/gofer/node-scripts/check-version-alignment.mjs +131 -0
- package/resources/gofer/node-scripts/codex-doctor.mjs +425 -0
- package/resources/gofer/node-scripts/generate-commands.mjs +1366 -0
- package/resources/gofer/node-scripts/generate-issues.js +563 -0
- package/resources/gofer/node-scripts/gofer-closed-loop-audit.mjs +893 -0
- package/resources/gofer/node-scripts/gofer-loop-audit.mjs +541 -0
- package/resources/gofer/node-scripts/gofer-performance-report.mjs +306 -0
- package/resources/gofer/node-scripts/gofer-workspace-bootstrap.mjs +56 -0
- package/resources/gofer/node-scripts/gofer-workspace-check.mjs +56 -0
- package/resources/gofer/node-scripts/lib/ai-leverage-tagger.mjs +103 -0
- package/resources/gofer/node-scripts/lib/assemble-stakeholder-pack.mjs +114 -0
- package/resources/gofer/node-scripts/lib/marp-deck.mjs +87 -0
- package/resources/gofer/node-scripts/lib/mermaid-tabular-fallback.mjs +264 -0
- package/resources/gofer/node-scripts/lib/render-visual.mjs +54 -0
- package/resources/gofer/node-scripts/lib/validate-aliases.mjs +85 -0
- package/resources/gofer/node-scripts/lib/visual-counts.mjs +44 -0
- package/resources/gofer/node-scripts/lib/visual-pass-pipeline.mjs +134 -0
- package/resources/gofer/node-scripts/mermaid-export.mjs +72 -0
- package/resources/gofer/node-scripts/package-agent-plugin.mjs +940 -0
- package/resources/gofer/node-scripts/parse-stage-command.mjs +211 -0
- package/resources/gofer/node-scripts/schemas/.gitkeep +0 -0
- package/resources/gofer/node-scripts/schemas/stage-command.schema.json +72 -0
- package/resources/gofer/node-scripts/sync-extension-resources.mjs +110 -0
- package/resources/gofer/node-scripts/workspace-bootstrap-lib.mjs +1166 -0
- package/resources/gofer/powershell-scripts/install-optional-tools.ps1 +214 -0
- package/resources/gofer/references/platform/README.md +17 -0
- package/resources/gofer/references/platform/deployment-repo.md +9 -0
- package/resources/gofer/references/platform/eai-app-template.md +45 -0
- package/resources/gofer/references/platform/eai-config-driven-ui.md +156 -0
- package/resources/gofer/references/platform/eai-error-catalog.yaml +197 -0
- package/resources/gofer/references/platform/eai-repo-contract.md +134 -0
- package/resources/gofer/references/platform/eai-service-patterns.md +56 -0
- package/resources/gofer/references/platform/eai.md +85 -0
- package/resources/gofer/references/platform/vertical-template.md +49 -0
- package/resources/gofer/specify-commands/.gitkeep +0 -0
- package/resources/gofer/specify-commands/0_gofer_start.md +1299 -0
- package/resources/gofer/specify-commands/0a_problem_validation.md +405 -0
- package/resources/gofer/specify-commands/10_gofer_cloud.md +611 -0
- package/resources/gofer/specify-commands/1_gofer_research.md +1135 -0
- package/resources/gofer/specify-commands/2_gofer_specify.md +836 -0
- package/resources/gofer/specify-commands/3_gofer_plan.md +862 -0
- package/resources/gofer/specify-commands/4_gofer_tasks.md +724 -0
- package/resources/gofer/specify-commands/5_gofer_implement.md +900 -0
- package/resources/gofer/specify-commands/6_gofer_validate.md +2245 -0
- package/resources/gofer/specify-commands/7_gofer_save.md +399 -0
- package/resources/gofer/specify-commands/7a_stakeholder_comms.md +484 -0
- package/resources/gofer/specify-commands/8_gofer_branding.md +291 -0
- package/resources/gofer/specify-commands/9_gofer_tests.md +534 -0
- package/resources/gofer/specify-commands/gofer_bootstrap_workspace.md +159 -0
- package/resources/gofer/specify-commands/gofer_check_workspace.md +130 -0
- package/resources/gofer/specify-commands/gofer_constitution.md +588 -0
- package/resources/gofer/specify-commands/gofer_diagnose.md +89 -0
- package/resources/gofer/specify-commands/gofer_eai_first_run.md +392 -0
- package/resources/gofer/specify-commands/gofer_hydrate.md +537 -0
- package/resources/gofer/specify-commands/gofer_personality.md +61 -0
- package/resources/gofer/specify-commands/gofer_plan.md +51 -0
- package/resources/gofer/specify-commands/gofer_side.md +56 -0
- package/resources/gofer/specify-commands/gofer_spec_summary.md +87 -0
- package/resources/gofer/specify-commands/gofer_tdd.md +87 -0
- package/resources/gofer/specify-commands/gofer_vocabulary.md +87 -0
- package/resources/gofer/specify-commands/gofer_zoom_out.md +87 -0
- package/resources/gofer/system-skills/0_gofer_start/SKILL.md +1287 -0
- package/resources/gofer/system-skills/0a_problem_validation/SKILL.md +429 -0
- package/resources/gofer/system-skills/10_gofer_cloud/SKILL.md +635 -0
- package/resources/gofer/system-skills/1_gofer_research/SKILL.md +1159 -0
- package/resources/gofer/system-skills/2_gofer_specify/SKILL.md +860 -0
- package/resources/gofer/system-skills/3_gofer_plan/SKILL.md +886 -0
- package/resources/gofer/system-skills/4_gofer_tasks/SKILL.md +748 -0
- package/resources/gofer/system-skills/5_gofer_implement/SKILL.md +924 -0
- package/resources/gofer/system-skills/6_gofer_validate/SKILL.md +2269 -0
- package/resources/gofer/system-skills/7_gofer_save/SKILL.md +423 -0
- package/resources/gofer/system-skills/7a_stakeholder_comms/SKILL.md +508 -0
- package/resources/gofer/system-skills/8_gofer_branding/SKILL.md +315 -0
- package/resources/gofer/system-skills/9_gofer_tests/SKILL.md +558 -0
- package/resources/gofer/system-skills/gofer_bootstrap_workspace/SKILL.md +148 -0
- package/resources/gofer/system-skills/gofer_check_workspace/SKILL.md +119 -0
- package/resources/gofer/system-skills/gofer_constitution/SKILL.md +612 -0
- package/resources/gofer/system-skills/gofer_diagnose/SKILL.md +114 -0
- package/resources/gofer/system-skills/gofer_eai_first_run/SKILL.md +397 -0
- package/resources/gofer/system-skills/gofer_hydrate/SKILL.md +561 -0
- package/resources/gofer/system-skills/gofer_personality/SKILL.md +44 -0
- package/resources/gofer/system-skills/gofer_plan/SKILL.md +40 -0
- package/resources/gofer/system-skills/gofer_side/SKILL.md +45 -0
- package/resources/gofer/system-skills/gofer_spec_summary/SKILL.md +112 -0
- package/resources/gofer/system-skills/gofer_tdd/SKILL.md +112 -0
- package/resources/gofer/system-skills/gofer_vocabulary/SKILL.md +112 -0
- package/resources/gofer/system-skills/gofer_zoom_out/SKILL.md +112 -0
- package/resources/gofer/templates/agent-file-template.md +28 -0
- package/resources/gofer/templates/assumptions-template.md +94 -0
- package/resources/gofer/templates/audit-history-template.md +35 -0
- package/resources/gofer/templates/brand/brand-profile-template.json +45 -0
- package/resources/gofer/templates/brand/document-style-template.md +50 -0
- package/resources/gofer/templates/brand/marp-theme-template.css +58 -0
- package/resources/gofer/templates/brownfield-analysis.md +44 -0
- package/resources/gofer/templates/business-metrics-template.md +120 -0
- package/resources/gofer/templates/business-owner-summary-template.md +83 -0
- package/resources/gofer/templates/checklist-template.md +40 -0
- package/resources/gofer/templates/ciso-security-summary-template.md +70 -0
- package/resources/gofer/templates/context-bundle-template.md +76 -0
- package/resources/gofer/templates/contract-pack-template.md +109 -0
- package/resources/gofer/templates/cto-architecture-summary-template.md +83 -0
- package/resources/gofer/templates/discovery-template.md +92 -0
- package/resources/gofer/templates/eai-preflight-template.md +144 -0
- package/resources/gofer/templates/goal-ledger-template.json +69 -0
- package/resources/gofer/templates/gofer-model-policy.yaml +97 -0
- package/resources/gofer/templates/issues-template.md +106 -0
- package/resources/gofer/templates/journey/base-journey.md +95 -0
- package/resources/gofer/templates/journey/industry-variants.yaml +277 -0
- package/resources/gofer/templates/loop-contract-template.json +68 -0
- package/resources/gofer/templates/plan-template.md +215 -0
- package/resources/gofer/templates/problem-brief-template.md +85 -0
- package/resources/gofer/templates/proposal-review-template.md +79 -0
- package/resources/gofer/templates/research-template.md +222 -0
- package/resources/gofer/templates/reuse-scan-template.md +43 -0
- package/resources/gofer/templates/sequence-diagrams/option-spectrum.yaml +178 -0
- package/resources/gofer/templates/service-fit-matrix-template.md +29 -0
- package/resources/gofer/templates/session-handoff-template.md +172 -0
- package/resources/gofer/templates/spec-summary-template.md +118 -0
- package/resources/gofer/templates/spec-template.md +196 -0
- package/resources/gofer/templates/stakeholder-comms-template.md +330 -0
- package/resources/gofer/templates/stakeholder-review-index-template.md +54 -0
- package/resources/gofer/templates/tasks-template.md +323 -0
- package/resources/gofer/templates/ui-approval-template.md +32 -0
- package/resources/gofer/templates/ui-preview-brief-template.md +65 -0
- package/resources/gofer/templates/ui-review-log-template.md +11 -0
- package/resources/gofer/templates/visuals/.gitkeep +0 -0
- package/resources/gofer/templates/visuals/bounded-context-map.md +19 -0
- package/resources/gofer/templates/visuals/bounded-context-template.md +47 -0
- package/resources/gofer/templates/visuals/c4-container-template.md +38 -0
- package/resources/gofer/templates/visuals/c4-container.md +20 -0
- package/resources/gofer/templates/visuals/c4-context-template.md +46 -0
- package/resources/gofer/templates/visuals/capability-heatmap-template.md +54 -0
- package/resources/gofer/templates/visuals/data-model-erd-template.md +41 -0
- package/resources/gofer/templates/visuals/erd.md +19 -0
- package/resources/gofer/templates/visuals/impact-canvas.md +40 -0
- package/resources/gofer/templates/visuals/risk-heatmap-template.md +51 -0
- package/resources/gofer/templates/visuals/roi-projection.md +17 -0
- package/resources/gofer/templates/visuals/value-stream-asis.md +16 -0
- package/resources/gofer/templates/visuals/value-stream-tobe.md +18 -0
- package/resources/gofer/templates/working-backwards-prfaq-template.md +165 -0
- package/resources/linked-sources.json +25 -0
|
@@ -0,0 +1,940 @@
|
|
|
1
|
+
export const errorGuidanceCatalog = [
|
|
2
|
+
{
|
|
3
|
+
code: 'E001',
|
|
4
|
+
reasonCode: 'not_in_eai_project',
|
|
5
|
+
title: 'Not in an EAI project.',
|
|
6
|
+
category: 'project',
|
|
7
|
+
severity: 'error',
|
|
8
|
+
appliesTo: ['project.resolve', 'verify', 'types', 'env', 'deploy', 'provision', 'template', 'gofer'],
|
|
9
|
+
publicSafe: true,
|
|
10
|
+
why: [
|
|
11
|
+
'The current folder does not contain the project markers created by eai init.',
|
|
12
|
+
'The command needs a project root so it can read local app configuration safely.',
|
|
13
|
+
'You may be one directory above or below the generated app folder.',
|
|
14
|
+
],
|
|
15
|
+
evidenceToCheck: [
|
|
16
|
+
'Current working directory.',
|
|
17
|
+
'Whether package.json and src/eai.config/object-types.ts exist.',
|
|
18
|
+
'Whether eai verify reports the same project-root issue.',
|
|
19
|
+
],
|
|
20
|
+
diagnostics: [
|
|
21
|
+
{
|
|
22
|
+
command: 'pwd',
|
|
23
|
+
purpose: 'Confirm the current folder before changing anything.',
|
|
24
|
+
mutates: false,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
command: 'eai verify',
|
|
28
|
+
purpose: 'Check whether the current folder is an EAI project.',
|
|
29
|
+
mutates: false,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
command: 'eai template check --format json',
|
|
33
|
+
purpose: 'If this is an EAI project, inspect template drift without writing files.',
|
|
34
|
+
mutates: false,
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
fixes: [
|
|
38
|
+
{
|
|
39
|
+
command: 'cd <existing-eai-project>',
|
|
40
|
+
purpose: 'Move into a folder that has already been initialized.',
|
|
41
|
+
mutates: false,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
command: 'eai init <app-name>',
|
|
45
|
+
purpose: 'Create a new EAI app project when this folder should become one.',
|
|
46
|
+
mutates: true,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
retry: {
|
|
50
|
+
allowed: true,
|
|
51
|
+
maxAttempts: 1,
|
|
52
|
+
stopWhen: ['The folder still has no EAI project markers after eai init or changing directory.'],
|
|
53
|
+
},
|
|
54
|
+
escalation: {
|
|
55
|
+
audience: 'eai-maintainer',
|
|
56
|
+
neededWhen: ['A freshly generated project still cannot be detected as an EAI project.'],
|
|
57
|
+
include: ['command', 'CLI version', 'working directory shape without secrets'],
|
|
58
|
+
},
|
|
59
|
+
safety: {
|
|
60
|
+
mutatesState: true,
|
|
61
|
+
mayWriteSecrets: false,
|
|
62
|
+
mayDeleteData: false,
|
|
63
|
+
publicSafe: true,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
code: 'E101',
|
|
68
|
+
reasonCode: 'not_logged_in',
|
|
69
|
+
title: 'Not logged in.',
|
|
70
|
+
category: 'authentication',
|
|
71
|
+
severity: 'error',
|
|
72
|
+
appliesTo: ['auth', 'tenant', 'provision', 'resources', 'types', 'workflow', 'publicapi'],
|
|
73
|
+
publicSafe: true,
|
|
74
|
+
why: [
|
|
75
|
+
'The CLI does not have a usable local sign-in token.',
|
|
76
|
+
'The token may have expired or been created for a different local profile.',
|
|
77
|
+
'The command needs a user session before it can resolve tenant access.',
|
|
78
|
+
],
|
|
79
|
+
evidenceToCheck: [
|
|
80
|
+
'eai whoami status.',
|
|
81
|
+
'Active profile, if a local profile is selected.',
|
|
82
|
+
'Whether the command is running on a machine or Codespace that has completed browser sign-in.',
|
|
83
|
+
],
|
|
84
|
+
diagnostics: [
|
|
85
|
+
{
|
|
86
|
+
command: 'eai whoami',
|
|
87
|
+
purpose: 'Show the current login and active tenant status.',
|
|
88
|
+
mutates: false,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
command: 'eai tenant list --format json',
|
|
92
|
+
purpose: 'Confirm tenant memberships after login succeeds.',
|
|
93
|
+
mutates: false,
|
|
94
|
+
when: 'After eai login succeeds.',
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
fixes: [
|
|
98
|
+
{
|
|
99
|
+
command: 'eai login',
|
|
100
|
+
purpose: 'Authenticate with the EAI identity flow.',
|
|
101
|
+
mutates: true,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
command: 'eai login --callback-port <port>',
|
|
105
|
+
purpose: 'Use a fixed local callback port for Codespaces or locked-down environments.',
|
|
106
|
+
mutates: true,
|
|
107
|
+
when: 'Use when the browser callback cannot reach the CLI.',
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
retry: {
|
|
111
|
+
allowed: true,
|
|
112
|
+
maxAttempts: 2,
|
|
113
|
+
stopWhen: ['The browser sign-in flow repeatedly fails with the same identity error.'],
|
|
114
|
+
},
|
|
115
|
+
escalation: {
|
|
116
|
+
audience: 'tenant-admin',
|
|
117
|
+
neededWhen: ['Login succeeds but no expected tenant membership is visible.'],
|
|
118
|
+
include: ['signed-in email', 'CLI version', 'active profile', 'tenant list output without secrets'],
|
|
119
|
+
},
|
|
120
|
+
safety: {
|
|
121
|
+
mutatesState: true,
|
|
122
|
+
mayWriteSecrets: false,
|
|
123
|
+
mayDeleteData: false,
|
|
124
|
+
publicSafe: true,
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
code: 'E102',
|
|
129
|
+
reasonCode: 'access_token_expired',
|
|
130
|
+
title: 'Access token expired.',
|
|
131
|
+
category: 'authentication',
|
|
132
|
+
severity: 'error',
|
|
133
|
+
appliesTo: ['auth', 'tenant', 'provision', 'resources', 'types', 'workflow', 'publicapi'],
|
|
134
|
+
publicSafe: true,
|
|
135
|
+
why: [
|
|
136
|
+
'The saved user session is older than the identity provider allows.',
|
|
137
|
+
'The CLI cannot refresh the session silently in this environment.',
|
|
138
|
+
'The command needs a fresh user token before it can call tenant-scoped APIs.',
|
|
139
|
+
],
|
|
140
|
+
evidenceToCheck: ['eai whoami token status.', 'Whether the active profile changed since the last login.'],
|
|
141
|
+
diagnostics: [
|
|
142
|
+
{
|
|
143
|
+
command: 'eai whoami',
|
|
144
|
+
purpose: 'Confirm the expired session and active profile.',
|
|
145
|
+
mutates: false,
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
fixes: [
|
|
149
|
+
{
|
|
150
|
+
command: 'eai login',
|
|
151
|
+
purpose: 'Refresh the local user session.',
|
|
152
|
+
mutates: true,
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
retry: {
|
|
156
|
+
allowed: true,
|
|
157
|
+
maxAttempts: 1,
|
|
158
|
+
stopWhen: ['A fresh login still returns an expired-token result.'],
|
|
159
|
+
},
|
|
160
|
+
escalation: {
|
|
161
|
+
audience: 'eai-maintainer',
|
|
162
|
+
neededWhen: ['A newly completed login immediately reports an expired token.'],
|
|
163
|
+
include: ['CLI version', 'active profile', 'token expiry time without token values'],
|
|
164
|
+
},
|
|
165
|
+
safety: {
|
|
166
|
+
mutatesState: true,
|
|
167
|
+
mayWriteSecrets: false,
|
|
168
|
+
mayDeleteData: false,
|
|
169
|
+
publicSafe: true,
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
code: 'E204',
|
|
174
|
+
reasonCode: 'permission_denied',
|
|
175
|
+
title: 'Permission denied.',
|
|
176
|
+
category: 'authorization',
|
|
177
|
+
severity: 'error',
|
|
178
|
+
appliesTo: ['tenant', 'user', 'vertical', 'provision', 'types', 'resources', 'workflow'],
|
|
179
|
+
publicSafe: true,
|
|
180
|
+
why: [
|
|
181
|
+
'The signed-in user can authenticate, but does not have the role required for this action.',
|
|
182
|
+
'The active tenant may not be the tenant where the user has the needed role.',
|
|
183
|
+
'The app or resource may require a tenant-admin or builder-level action.',
|
|
184
|
+
],
|
|
185
|
+
evidenceToCheck: [
|
|
186
|
+
'Active tenant in eai whoami.',
|
|
187
|
+
'Roles returned by eai tenant list --all --format json.',
|
|
188
|
+
'The exact command and request ID, if the server returned one.',
|
|
189
|
+
],
|
|
190
|
+
diagnostics: [
|
|
191
|
+
{
|
|
192
|
+
command: 'eai whoami',
|
|
193
|
+
purpose: 'Confirm the signed-in user and active tenant.',
|
|
194
|
+
mutates: false,
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
command: 'eai tenant list --all --format json',
|
|
198
|
+
purpose: 'List visible tenant memberships and roles.',
|
|
199
|
+
mutates: false,
|
|
200
|
+
},
|
|
201
|
+
],
|
|
202
|
+
fixes: [
|
|
203
|
+
{
|
|
204
|
+
command: 'eai tenant select <tenant>',
|
|
205
|
+
purpose: 'Switch to a tenant where the user has the required role.',
|
|
206
|
+
mutates: true,
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
command: 'eai user invite --email <email> --tenant <tenant-id> --role tenant-admin',
|
|
210
|
+
purpose: 'Add or refresh a user membership and assign a tenant role when you are already tenant-admin for that tenant.',
|
|
211
|
+
mutates: true,
|
|
212
|
+
when: 'Use for normal "add this person as a tenant member/admin" requests.',
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
command: 'eai user roles --tenant <tenant-id> --format json',
|
|
216
|
+
purpose: 'List assignable tenant roles before choosing a role for an invite.',
|
|
217
|
+
mutates: false,
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
command: 'eai tenant bootstrap-admin --parent <parent-id> --child <child-id>',
|
|
221
|
+
purpose: 'Repair first tenant-admin access for an immediate child tenant.',
|
|
222
|
+
mutates: true,
|
|
223
|
+
when: 'Only when the target tenant is an immediate child of the supplied parent and does not already have usable tenant-admin access.',
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
retry: {
|
|
227
|
+
allowed: false,
|
|
228
|
+
stopWhen: ['The user lacks the required tenant role. Retrying will not change authorization.'],
|
|
229
|
+
},
|
|
230
|
+
escalation: {
|
|
231
|
+
audience: 'tenant-admin',
|
|
232
|
+
neededWhen: ['No visible tenant membership has the role required by the command.'],
|
|
233
|
+
include: ['signed-in email', 'active tenant slug', 'requested command', 'request ID if present'],
|
|
234
|
+
},
|
|
235
|
+
safety: {
|
|
236
|
+
mutatesState: true,
|
|
237
|
+
mayWriteSecrets: false,
|
|
238
|
+
mayDeleteData: false,
|
|
239
|
+
publicSafe: true,
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
code: 'E205',
|
|
244
|
+
reasonCode: 'child_relation_invalid',
|
|
245
|
+
title: 'The supplied tenant is not an immediate child of the supplied parent.',
|
|
246
|
+
category: 'authorization',
|
|
247
|
+
severity: 'error',
|
|
248
|
+
appliesTo: ['tenant.bootstrap-admin', 'user.role', 'user.invite'],
|
|
249
|
+
publicSafe: true,
|
|
250
|
+
why: [
|
|
251
|
+
'The child-tenant bootstrap command is intentionally narrow.',
|
|
252
|
+
'It only works when the parent ID is the direct parent of the child tenant.',
|
|
253
|
+
'This error often appears when an agent uses bootstrap-admin for normal user addition instead of the tenant member invite flow.',
|
|
254
|
+
],
|
|
255
|
+
evidenceToCheck: [
|
|
256
|
+
'Whether the task is normal user addition or first-admin child tenant repair.',
|
|
257
|
+
'The active tenant shown by eai whoami.',
|
|
258
|
+
'The target tenant shown by eai tenant info <tenant-id>.',
|
|
259
|
+
],
|
|
260
|
+
diagnostics: [
|
|
261
|
+
{
|
|
262
|
+
command: 'eai whoami',
|
|
263
|
+
purpose: 'Confirm the signed-in user and active tenant.',
|
|
264
|
+
mutates: false,
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
command: 'eai tenant info <tenant-id> --format json',
|
|
268
|
+
purpose: 'Inspect the target tenant before retrying a tenant relationship command.',
|
|
269
|
+
mutates: false,
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
command: 'eai user roles --tenant <tenant-id> --format json',
|
|
273
|
+
purpose: 'List assignable roles when the intended task is adding or updating a user.',
|
|
274
|
+
mutates: false,
|
|
275
|
+
},
|
|
276
|
+
],
|
|
277
|
+
fixes: [
|
|
278
|
+
{
|
|
279
|
+
command: 'eai user invite --email <email> --tenant <tenant-id> --role tenant-admin',
|
|
280
|
+
purpose: 'Add or update a user as tenant-admin on an existing tenant.',
|
|
281
|
+
mutates: true,
|
|
282
|
+
when: 'Use when the goal is to add a person to a tenant or app context.',
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
command: 'eai tenant bootstrap-admin --parent <direct-parent-id> --child <immediate-child-id>',
|
|
286
|
+
purpose: 'Retry the child bootstrap repair with the direct parent and immediate child IDs.',
|
|
287
|
+
mutates: true,
|
|
288
|
+
when: 'Use only for first-admin child tenant repair, not normal member management.',
|
|
289
|
+
},
|
|
290
|
+
],
|
|
291
|
+
retry: {
|
|
292
|
+
allowed: false,
|
|
293
|
+
stopWhen: ['The supplied parent and child are not a direct parent-child pair.'],
|
|
294
|
+
},
|
|
295
|
+
escalation: {
|
|
296
|
+
audience: 'tenant-admin',
|
|
297
|
+
neededWhen: ['The direct parent tenant is not visible to the signed-in user.'],
|
|
298
|
+
include: ['signed-in email', 'active tenant slug', 'target tenant slug', 'requested command'],
|
|
299
|
+
},
|
|
300
|
+
safety: {
|
|
301
|
+
mutatesState: true,
|
|
302
|
+
mayWriteSecrets: false,
|
|
303
|
+
mayDeleteData: false,
|
|
304
|
+
publicSafe: true,
|
|
305
|
+
},
|
|
306
|
+
match: [
|
|
307
|
+
{
|
|
308
|
+
serverCode: 'CHILD_RELATION_INVALID',
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
messageIncludes: ['CHILD_RELATION_INVALID', 'not an immediate child'],
|
|
312
|
+
},
|
|
313
|
+
],
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
code: 'E245',
|
|
317
|
+
reasonCode: 'user_invite_external_service_existing_member',
|
|
318
|
+
title: 'Tenant member invite failed, but an existing member role repair may be available.',
|
|
319
|
+
category: 'external_service',
|
|
320
|
+
severity: 'error',
|
|
321
|
+
appliesTo: ['user.invite', 'user.role.set', 'tenant.member.management'],
|
|
322
|
+
publicSafe: true,
|
|
323
|
+
why: [
|
|
324
|
+
'The invite/add flow reached an external identity or notification dependency that returned a server-side failure.',
|
|
325
|
+
'The target person may already exist as a direct tenant member with a lower role, so retrying the same invite can fail without changing access.',
|
|
326
|
+
'When a member record already exists, the supported recovery is to update that member through EAI CLI instead of editing data stores or cloud portals directly.',
|
|
327
|
+
'Applications may cache tenant role claims in their Auth.js session or JWT, so the user may need to sign out and sign back in after a role change.',
|
|
328
|
+
],
|
|
329
|
+
evidenceToCheck: [
|
|
330
|
+
'HTTP status, server code, and request ID from the failed invite/add command.',
|
|
331
|
+
'Active tenant and profile from eai whoami.',
|
|
332
|
+
'Assignable roles from eai user roles --tenant <tenant-id> --format json.',
|
|
333
|
+
'Existing member record from eai user list --tenant <tenant-id> --search <email> --format json.',
|
|
334
|
+
'Read-back role after any eai user role set command.',
|
|
335
|
+
],
|
|
336
|
+
diagnostics: [
|
|
337
|
+
{
|
|
338
|
+
command: 'eai whoami',
|
|
339
|
+
purpose: 'Confirm the signed-in user, active tenant, and profile before changing membership.',
|
|
340
|
+
mutates: false,
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
command: 'eai user roles --tenant <tenant-id> --format json',
|
|
344
|
+
purpose: 'Confirm the target role is assignable in this tenant.',
|
|
345
|
+
mutates: false,
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
command: 'eai user list --tenant <tenant-id> --search <email> --format json',
|
|
349
|
+
purpose: 'Check whether the person already exists as a direct tenant member and capture the member ID.',
|
|
350
|
+
mutates: false,
|
|
351
|
+
},
|
|
352
|
+
],
|
|
353
|
+
fixes: [
|
|
354
|
+
{
|
|
355
|
+
command: 'eai user role set --tenant <tenant-id> --member-id <member-id> --role tenant-admin --format json',
|
|
356
|
+
purpose: 'Update the existing direct member to tenant-admin through the approved EAI tenant-member role endpoint.',
|
|
357
|
+
mutates: true,
|
|
358
|
+
when: 'Use only after eai user list confirms the existing member ID and the user approves the role change.',
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
command: 'eai user invite --email <email> --tenant <tenant-id> --role <role> --format json',
|
|
362
|
+
purpose: 'Retry the normal invite/add flow when no existing direct member is found and the failure was transient.',
|
|
363
|
+
mutates: true,
|
|
364
|
+
when: 'Use only within the retry limit and after read-only diagnostics confirm the tenant and role.',
|
|
365
|
+
},
|
|
366
|
+
],
|
|
367
|
+
retry: {
|
|
368
|
+
allowed: true,
|
|
369
|
+
maxAttempts: 2,
|
|
370
|
+
backoffSeconds: [10, 30],
|
|
371
|
+
stopWhen: [
|
|
372
|
+
'The same external service error repeats after bounded retry.',
|
|
373
|
+
'The existing member is found but role update is not approved by the user.',
|
|
374
|
+
'The signed-in user is not allowed to change tenant membership.',
|
|
375
|
+
],
|
|
376
|
+
},
|
|
377
|
+
escalation: {
|
|
378
|
+
audience: 'platform-support',
|
|
379
|
+
neededWhen: [
|
|
380
|
+
'No existing direct member is found and the invite/add flow keeps returning a 5xx or EXTERNAL_SERVICE_ERROR.',
|
|
381
|
+
],
|
|
382
|
+
include: [
|
|
383
|
+
'request ID',
|
|
384
|
+
'HTTP status',
|
|
385
|
+
'server code',
|
|
386
|
+
'CLI version',
|
|
387
|
+
'active tenant slug',
|
|
388
|
+
'redacted command shape',
|
|
389
|
+
],
|
|
390
|
+
},
|
|
391
|
+
safety: {
|
|
392
|
+
mutatesState: true,
|
|
393
|
+
mayWriteSecrets: false,
|
|
394
|
+
mayDeleteData: false,
|
|
395
|
+
publicSafe: true,
|
|
396
|
+
},
|
|
397
|
+
match: [
|
|
398
|
+
{
|
|
399
|
+
status: 502,
|
|
400
|
+
operation: 'user invite',
|
|
401
|
+
serverCode: 'EXTERNAL_SERVICE_ERROR',
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
operation: 'user invite',
|
|
405
|
+
messageIncludes: ['EXTERNAL_SERVICE_ERROR'],
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
operation: 'user role set',
|
|
409
|
+
messageIncludes: ['EXTERNAL_SERVICE_ERROR'],
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
messageIncludes: ['user invite', 'EXTERNAL_SERVICE_ERROR'],
|
|
413
|
+
},
|
|
414
|
+
],
|
|
415
|
+
learnedFrom: ['Tenant member invite returned a 502 while the user already existed with a lower tenant role.'],
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
code: 'E242',
|
|
419
|
+
reasonCode: 'tenant_authorization_incomplete',
|
|
420
|
+
title: 'Tenant data-plane authorization incomplete.',
|
|
421
|
+
category: 'app_provisioning',
|
|
422
|
+
severity: 'error',
|
|
423
|
+
appliesTo: ['provision.entra', 'user.provision-me', 'types.seed', 'vertical.provision'],
|
|
424
|
+
publicSafe: true,
|
|
425
|
+
why: [
|
|
426
|
+
'The app registration exists, but the selected tenant has not completed app authorization.',
|
|
427
|
+
'The active tenant may not be the tenant this app was provisioned for.',
|
|
428
|
+
'The authorization retry may need to run again after sign-in wiring is refreshed.',
|
|
429
|
+
],
|
|
430
|
+
evidenceToCheck: [
|
|
431
|
+
'eai whoami active tenant.',
|
|
432
|
+
'eai provision entra --force --debug tenant authorization summary.',
|
|
433
|
+
'Request ID and platform status if debug output includes one.',
|
|
434
|
+
],
|
|
435
|
+
diagnostics: [
|
|
436
|
+
{
|
|
437
|
+
command: 'eai whoami',
|
|
438
|
+
purpose: 'Confirm login, active tenant, profile, and public API context.',
|
|
439
|
+
mutates: false,
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
command: 'eai tenant list --format json',
|
|
443
|
+
purpose: 'Confirm the intended tenant is visible to the user.',
|
|
444
|
+
mutates: false,
|
|
445
|
+
},
|
|
446
|
+
],
|
|
447
|
+
fixes: [
|
|
448
|
+
{
|
|
449
|
+
command: 'eai tenant select <tenant>',
|
|
450
|
+
purpose: 'Select the tenant that should own the app.',
|
|
451
|
+
mutates: true,
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
command: 'eai provision entra --force --debug',
|
|
455
|
+
purpose: 'Refresh sign-in wiring and retry app authorization for the active tenant.',
|
|
456
|
+
mutates: true,
|
|
457
|
+
writesSecrets: true,
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
command: 'eai user provision-me',
|
|
461
|
+
purpose: 'Create or refresh the current user membership after app authorization succeeds.',
|
|
462
|
+
mutates: true,
|
|
463
|
+
when: 'Run only after provision entra no longer reports incomplete tenant authorization.',
|
|
464
|
+
},
|
|
465
|
+
],
|
|
466
|
+
retry: {
|
|
467
|
+
allowed: true,
|
|
468
|
+
maxAttempts: 3,
|
|
469
|
+
backoffSeconds: [10, 30, 60],
|
|
470
|
+
stopWhen: ['The same platform 5xx or authorization status remains after bounded retry.'],
|
|
471
|
+
},
|
|
472
|
+
escalation: {
|
|
473
|
+
audience: 'platform-support',
|
|
474
|
+
neededWhen: ['The platform authorization step continues to fail after bounded retry.'],
|
|
475
|
+
include: ['request ID', 'CLI version', 'active tenant slug', 'command', 'reason code'],
|
|
476
|
+
},
|
|
477
|
+
safety: {
|
|
478
|
+
mutatesState: true,
|
|
479
|
+
mayWriteSecrets: true,
|
|
480
|
+
mayDeleteData: false,
|
|
481
|
+
publicSafe: true,
|
|
482
|
+
},
|
|
483
|
+
match: [
|
|
484
|
+
{
|
|
485
|
+
messageIncludes: ['Application not authorized for this tenant'],
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
messageIncludes: ['Tenant data-plane authorization incomplete'],
|
|
489
|
+
},
|
|
490
|
+
],
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
code: 'E243',
|
|
494
|
+
reasonCode: 'tenant_authorization_platform_error',
|
|
495
|
+
title: 'Tenant app authorization could not be completed because the platform returned a server error.',
|
|
496
|
+
category: 'platform',
|
|
497
|
+
severity: 'error',
|
|
498
|
+
appliesTo: ['provision.entra'],
|
|
499
|
+
publicSafe: true,
|
|
500
|
+
why: [
|
|
501
|
+
'The CLI tried to authorize the app for the selected tenant, but the platform returned a server-side failure.',
|
|
502
|
+
'This is usually not fixed by changing local files or repeatedly rotating app credentials.',
|
|
503
|
+
'The safest next step is a bounded retry followed by escalation with the request evidence.',
|
|
504
|
+
],
|
|
505
|
+
evidenceToCheck: [
|
|
506
|
+
'HTTP status from eai provision entra --force --debug.',
|
|
507
|
+
'Request ID if present.',
|
|
508
|
+
'Whether the same status repeats after bounded retry.',
|
|
509
|
+
],
|
|
510
|
+
diagnostics: [
|
|
511
|
+
{
|
|
512
|
+
command: 'eai provision entra --force --debug',
|
|
513
|
+
purpose: 'Retry once with product-safe diagnostics and request identifiers.',
|
|
514
|
+
mutates: true,
|
|
515
|
+
writesSecrets: true,
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
command: 'eai whoami',
|
|
519
|
+
purpose: 'Confirm the active tenant and profile are still correct.',
|
|
520
|
+
mutates: false,
|
|
521
|
+
},
|
|
522
|
+
],
|
|
523
|
+
fixes: [],
|
|
524
|
+
retry: {
|
|
525
|
+
allowed: true,
|
|
526
|
+
maxAttempts: 3,
|
|
527
|
+
backoffSeconds: [10, 30, 60],
|
|
528
|
+
stopWhen: ['The same 5xx status repeats after bounded retry.'],
|
|
529
|
+
},
|
|
530
|
+
escalation: {
|
|
531
|
+
audience: 'platform-support',
|
|
532
|
+
neededWhen: ['A platform 5xx repeats for the same authorization command.'],
|
|
533
|
+
include: ['request ID', 'HTTP status', 'CLI version', 'command', 'active tenant slug'],
|
|
534
|
+
},
|
|
535
|
+
safety: {
|
|
536
|
+
mutatesState: true,
|
|
537
|
+
mayWriteSecrets: true,
|
|
538
|
+
mayDeleteData: false,
|
|
539
|
+
publicSafe: true,
|
|
540
|
+
},
|
|
541
|
+
match: [
|
|
542
|
+
{
|
|
543
|
+
status: 502,
|
|
544
|
+
operation: 'provisionEntraApp',
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
messageIncludes: ['tenant_authorize_status_502'],
|
|
548
|
+
},
|
|
549
|
+
],
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
code: 'E250',
|
|
553
|
+
reasonCode: 'paid_upgrade_required',
|
|
554
|
+
title: 'Tenant plan does not allow this builder operation.',
|
|
555
|
+
category: 'capability',
|
|
556
|
+
severity: 'error',
|
|
557
|
+
appliesTo: ['workflow.readiness', 'types.seed', 'vertical.create', 'workflow.request'],
|
|
558
|
+
publicSafe: true,
|
|
559
|
+
why: [
|
|
560
|
+
'The tenant is reachable, but the requested builder operation is gated by the tenant plan.',
|
|
561
|
+
'The CLI cannot self-upgrade a tenant plan.',
|
|
562
|
+
'Read-only checks may still work while write/build actions are blocked.',
|
|
563
|
+
],
|
|
564
|
+
evidenceToCheck: [
|
|
565
|
+
'Workflow readiness status and reason code.',
|
|
566
|
+
'Tenant active status from eai whoami.',
|
|
567
|
+
'Which command attempted a builder write.',
|
|
568
|
+
],
|
|
569
|
+
diagnostics: [
|
|
570
|
+
{
|
|
571
|
+
command: 'eai workflow readiness --format json',
|
|
572
|
+
purpose: 'Confirm whether builder operations are available for the active tenant.',
|
|
573
|
+
mutates: false,
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
command: 'eai whoami',
|
|
577
|
+
purpose: 'Confirm the active tenant before asking an admin to change plan state.',
|
|
578
|
+
mutates: false,
|
|
579
|
+
},
|
|
580
|
+
],
|
|
581
|
+
fixes: [],
|
|
582
|
+
retry: {
|
|
583
|
+
allowed: false,
|
|
584
|
+
stopWhen: ['The readiness reason is paid_upgrade_required. Retrying does not activate the tenant plan.'],
|
|
585
|
+
},
|
|
586
|
+
escalation: {
|
|
587
|
+
audience: 'tenant-admin',
|
|
588
|
+
neededWhen: ['A builder operation is required and readiness reports paid_upgrade_required.'],
|
|
589
|
+
include: ['active tenant slug', 'command', 'readiness reason code'],
|
|
590
|
+
},
|
|
591
|
+
safety: {
|
|
592
|
+
mutatesState: false,
|
|
593
|
+
mayWriteSecrets: false,
|
|
594
|
+
mayDeleteData: false,
|
|
595
|
+
publicSafe: true,
|
|
596
|
+
},
|
|
597
|
+
match: [
|
|
598
|
+
{
|
|
599
|
+
messageIncludes: ['paid_upgrade_required', 'paid upgrade required', 'plan is not active'],
|
|
600
|
+
},
|
|
601
|
+
],
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
code: 'E260',
|
|
605
|
+
reasonCode: 'object_type_validation_failed',
|
|
606
|
+
title: 'Object Type validation failed.',
|
|
607
|
+
category: 'schema',
|
|
608
|
+
severity: 'error',
|
|
609
|
+
appliesTo: ['types.validate', 'types.seed'],
|
|
610
|
+
publicSafe: true,
|
|
611
|
+
why: [
|
|
612
|
+
'At least one local Object Type definition does not match the schema rules enforced by the CLI or platform.',
|
|
613
|
+
'Common causes include invalid default values, incomplete storage metadata, or missing required fields.',
|
|
614
|
+
'Publishing cannot continue until the local definitions validate.',
|
|
615
|
+
],
|
|
616
|
+
evidenceToCheck: [
|
|
617
|
+
'Validation details printed by eai types validate.',
|
|
618
|
+
'Object Type name and property path in the error output.',
|
|
619
|
+
'Whether the Object Type is marked published before storage metadata is ready.',
|
|
620
|
+
],
|
|
621
|
+
diagnostics: [
|
|
622
|
+
{
|
|
623
|
+
command: 'eai types validate',
|
|
624
|
+
purpose: 'Validate local Object Types without publishing them.',
|
|
625
|
+
mutates: false,
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
command: 'eai types diff',
|
|
629
|
+
purpose: 'Compare local definitions with published tenant state after validation passes.',
|
|
630
|
+
mutates: false,
|
|
631
|
+
},
|
|
632
|
+
],
|
|
633
|
+
fixes: [
|
|
634
|
+
{
|
|
635
|
+
command: 'eai types seed',
|
|
636
|
+
purpose: 'Publish the corrected definitions after validation passes.',
|
|
637
|
+
mutates: true,
|
|
638
|
+
when: 'Run only after eai types validate is clean.',
|
|
639
|
+
},
|
|
640
|
+
],
|
|
641
|
+
retry: {
|
|
642
|
+
allowed: false,
|
|
643
|
+
stopWhen: ['The same validation issue is reported. Fix the local Object Type definition before retrying.'],
|
|
644
|
+
},
|
|
645
|
+
escalation: {
|
|
646
|
+
audience: 'eai-maintainer',
|
|
647
|
+
neededWhen: ['The definition appears valid but the CLI still rejects it.'],
|
|
648
|
+
include: ['Object Type name', 'validation message', 'CLI version'],
|
|
649
|
+
},
|
|
650
|
+
safety: {
|
|
651
|
+
mutatesState: true,
|
|
652
|
+
mayWriteSecrets: false,
|
|
653
|
+
mayDeleteData: false,
|
|
654
|
+
publicSafe: true,
|
|
655
|
+
},
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
code: 'E270',
|
|
659
|
+
reasonCode: 'object_type_not_published',
|
|
660
|
+
title: 'Object Type is not published for the active tenant.',
|
|
661
|
+
category: 'resource_data',
|
|
662
|
+
severity: 'error',
|
|
663
|
+
appliesTo: ['resources.list', 'resources.create', 'resources.update', 'resources.search', 'resources.query'],
|
|
664
|
+
publicSafe: true,
|
|
665
|
+
why: [
|
|
666
|
+
'The resource command is asking for a type that is not available in the active tenant schema.',
|
|
667
|
+
'The local Object Types may not have been published yet.',
|
|
668
|
+
'The active tenant may not be the tenant where the Object Type was published.',
|
|
669
|
+
],
|
|
670
|
+
evidenceToCheck: [
|
|
671
|
+
'Published type list from eai resources schema.',
|
|
672
|
+
'Active tenant from eai whoami.',
|
|
673
|
+
'Local Object Type definitions from eai types validate.',
|
|
674
|
+
],
|
|
675
|
+
diagnostics: [
|
|
676
|
+
{
|
|
677
|
+
command: 'eai resources schema --format json',
|
|
678
|
+
purpose: 'List published Object Types visible to the active tenant.',
|
|
679
|
+
mutates: false,
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
command: 'eai types validate',
|
|
683
|
+
purpose: 'Check local definitions before publishing.',
|
|
684
|
+
mutates: false,
|
|
685
|
+
},
|
|
686
|
+
],
|
|
687
|
+
fixes: [
|
|
688
|
+
{
|
|
689
|
+
command: 'eai types seed',
|
|
690
|
+
purpose: 'Publish local Object Types to the active tenant.',
|
|
691
|
+
mutates: true,
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
command: 'eai tenant select <tenant>',
|
|
695
|
+
purpose: 'Switch to the tenant where the Object Type was published.',
|
|
696
|
+
mutates: true,
|
|
697
|
+
when: 'Use when the active tenant is wrong.',
|
|
698
|
+
},
|
|
699
|
+
],
|
|
700
|
+
retry: {
|
|
701
|
+
allowed: true,
|
|
702
|
+
maxAttempts: 2,
|
|
703
|
+
backoffSeconds: [10, 30],
|
|
704
|
+
stopWhen: ['The type is still absent from eai resources schema after publishing and schema propagation.'],
|
|
705
|
+
},
|
|
706
|
+
escalation: {
|
|
707
|
+
audience: 'eai-maintainer',
|
|
708
|
+
neededWhen: ['types seed reports convergence but resources schema never shows the Object Type.'],
|
|
709
|
+
include: ['Object Type name', 'active tenant slug', 'CLI version', 'types seed summary'],
|
|
710
|
+
},
|
|
711
|
+
safety: {
|
|
712
|
+
mutatesState: true,
|
|
713
|
+
mayWriteSecrets: false,
|
|
714
|
+
mayDeleteData: false,
|
|
715
|
+
publicSafe: true,
|
|
716
|
+
},
|
|
717
|
+
match: [
|
|
718
|
+
{
|
|
719
|
+
messageIncludes: ['Object type', 'is not published'],
|
|
720
|
+
},
|
|
721
|
+
{
|
|
722
|
+
messageIncludes: ['No published object types were found'],
|
|
723
|
+
},
|
|
724
|
+
],
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
code: 'E275',
|
|
728
|
+
reasonCode: 'resource_search_embedding_required',
|
|
729
|
+
title: 'Semantic resource search is not ready for this tenant.',
|
|
730
|
+
category: 'resource_data',
|
|
731
|
+
severity: 'warning',
|
|
732
|
+
appliesTo: ['resources.search', 'resources.storage.doctor', 'verify.storage'],
|
|
733
|
+
publicSafe: true,
|
|
734
|
+
why: [
|
|
735
|
+
'The v4 resource search endpoint can be available for full-text search while semantic search modes are still not ready.',
|
|
736
|
+
'Hybrid and vector search need an additional semantic-search capability before the platform can create query embeddings.',
|
|
737
|
+
'This is not fixed by retrying the same hybrid or vector search command; use full-text search or check readiness first.',
|
|
738
|
+
'This guidance applies to eai resources commands using the public v4 resource surface.',
|
|
739
|
+
],
|
|
740
|
+
evidenceToCheck: [
|
|
741
|
+
'Search capabilities from eai resources storage doctor.',
|
|
742
|
+
'Whether the failed command used --hybrid, --vector, or the default hybrid mode.',
|
|
743
|
+
'Published Object Types from eai resources schema.',
|
|
744
|
+
],
|
|
745
|
+
diagnostics: [
|
|
746
|
+
{
|
|
747
|
+
command: 'eai resources storage doctor --format json',
|
|
748
|
+
purpose: 'Check whether fulltext, hybrid, and vector search are ready for the active tenant.',
|
|
749
|
+
mutates: false,
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
command: 'eai resources schema --format json',
|
|
753
|
+
purpose: 'Confirm the tenant has published Object Types to search.',
|
|
754
|
+
mutates: false,
|
|
755
|
+
},
|
|
756
|
+
],
|
|
757
|
+
fixes: [
|
|
758
|
+
{
|
|
759
|
+
command: 'eai resources search "<query>" --fulltext',
|
|
760
|
+
purpose: 'Run a full-text search path that does not require semantic-search readiness.',
|
|
761
|
+
mutates: false,
|
|
762
|
+
when: 'Use this when storage doctor reports fulltext ready but hybrid/vector unavailable.',
|
|
763
|
+
},
|
|
764
|
+
],
|
|
765
|
+
retry: {
|
|
766
|
+
allowed: true,
|
|
767
|
+
maxAttempts: 1,
|
|
768
|
+
stopWhen: [
|
|
769
|
+
'The same hybrid or vector command still reports semantic-search readiness as unavailable.',
|
|
770
|
+
'Full-text search also fails, which means the issue is broader than semantic-search readiness.',
|
|
771
|
+
],
|
|
772
|
+
},
|
|
773
|
+
escalation: {
|
|
774
|
+
audience: 'platform-support',
|
|
775
|
+
neededWhen: ['The app requires hybrid or vector search and storage doctor keeps reporting those modes unavailable.'],
|
|
776
|
+
include: ['active tenant slug', 'search mode used', 'storage doctor search capabilities', 'CLI version'],
|
|
777
|
+
},
|
|
778
|
+
safety: {
|
|
779
|
+
mutatesState: false,
|
|
780
|
+
mayWriteSecrets: false,
|
|
781
|
+
mayDeleteData: false,
|
|
782
|
+
publicSafe: true,
|
|
783
|
+
},
|
|
784
|
+
match: [
|
|
785
|
+
{
|
|
786
|
+
operation: 'resources.search',
|
|
787
|
+
messageIncludes: ['search vector embedding endpoint is not configured'],
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
operation: 'resources.search',
|
|
791
|
+
messageIncludes: ['Configure Azure OpenAI embedding endpoint and deployment before vector or hybrid search'],
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
messageIncludes: ['search_embedding_required'],
|
|
795
|
+
},
|
|
796
|
+
],
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
code: 'E280',
|
|
800
|
+
reasonCode: 'workflow_operator_required',
|
|
801
|
+
title: 'Workflow runtime binding requires operator assistance.',
|
|
802
|
+
category: 'workflow',
|
|
803
|
+
severity: 'warning',
|
|
804
|
+
appliesTo: ['workflow.readiness', 'workflow.status', 'workflow.request', 'chat.send', 'chat.stream'],
|
|
805
|
+
publicSafe: true,
|
|
806
|
+
why: [
|
|
807
|
+
'The tenant and workflow key are recognized, but an executable runtime binding is not available yet.',
|
|
808
|
+
'Some workflow bindings require an operator-assisted request before chat or workflow execution can run.',
|
|
809
|
+
'The CLI should request the binding only when readiness reports operator_required.',
|
|
810
|
+
],
|
|
811
|
+
evidenceToCheck: [
|
|
812
|
+
'workflow readiness status and reason code.',
|
|
813
|
+
'workflow status for the specific workflow key.',
|
|
814
|
+
'request ID returned by eai workflow request.',
|
|
815
|
+
],
|
|
816
|
+
diagnostics: [
|
|
817
|
+
{
|
|
818
|
+
command: 'eai workflow readiness <workflow-key> --format json',
|
|
819
|
+
purpose: 'Check tenant, plan, and workflow readiness.',
|
|
820
|
+
mutates: false,
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
command: 'eai workflow status <workflow-key> --format json',
|
|
824
|
+
purpose: 'Check whether the workflow has an executable runtime binding.',
|
|
825
|
+
mutates: false,
|
|
826
|
+
},
|
|
827
|
+
],
|
|
828
|
+
fixes: [
|
|
829
|
+
{
|
|
830
|
+
command: 'eai workflow request <workflow-key> --reason "<reason>"',
|
|
831
|
+
purpose: 'Request operator-assisted runtime binding for this tenant and workflow.',
|
|
832
|
+
mutates: true,
|
|
833
|
+
when: 'Run only when readiness or status reports operator_required.',
|
|
834
|
+
},
|
|
835
|
+
],
|
|
836
|
+
retry: {
|
|
837
|
+
allowed: true,
|
|
838
|
+
maxAttempts: 2,
|
|
839
|
+
backoffSeconds: [30, 60],
|
|
840
|
+
stopWhen: ['A workflow request is already queued or the status remains operator_required.'],
|
|
841
|
+
},
|
|
842
|
+
escalation: {
|
|
843
|
+
audience: 'platform-support',
|
|
844
|
+
neededWhen: ['The workflow request is queued but does not progress.'],
|
|
845
|
+
include: ['workflow key', 'request ID', 'active tenant slug', 'CLI version'],
|
|
846
|
+
},
|
|
847
|
+
safety: {
|
|
848
|
+
mutatesState: true,
|
|
849
|
+
mayWriteSecrets: false,
|
|
850
|
+
mayDeleteData: false,
|
|
851
|
+
publicSafe: true,
|
|
852
|
+
},
|
|
853
|
+
match: [
|
|
854
|
+
{
|
|
855
|
+
messageIncludes: ['operator_required'],
|
|
856
|
+
},
|
|
857
|
+
],
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
code: 'E244',
|
|
861
|
+
reasonCode: 'tenant_data_install_no_match',
|
|
862
|
+
title: 'Tenant data/schema setup is not fully provisioned.',
|
|
863
|
+
category: 'app_provisioning',
|
|
864
|
+
severity: 'error',
|
|
865
|
+
appliesTo: ['types.seed', 'platform.verify', 'workflow.readiness', 'resources.read'],
|
|
866
|
+
publicSafe: true,
|
|
867
|
+
why: [
|
|
868
|
+
'The platform could not resolve an active data/schema install for this tenant.',
|
|
869
|
+
'This is a tenant setup issue, not a transient outage: the data/schema capability is reachable but has no active install registered for this tenant.',
|
|
870
|
+
'Object Type publish (eai types seed) and schema reads cannot complete until the tenant setup is completed. Retrying does not create that setup.',
|
|
871
|
+
],
|
|
872
|
+
evidenceToCheck: [
|
|
873
|
+
'The reason code in the response body.',
|
|
874
|
+
'Active tenant from eai whoami — confirm you are on the intended tenant.',
|
|
875
|
+
'Whether the same tenant also fails the data/schema check in eai verify.',
|
|
876
|
+
],
|
|
877
|
+
diagnostics: [
|
|
878
|
+
{
|
|
879
|
+
command: 'eai whoami',
|
|
880
|
+
purpose: 'Confirm the active tenant that failed to resolve a data/schema install.',
|
|
881
|
+
mutates: false,
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
command: 'eai verify',
|
|
885
|
+
purpose: 'Confirm whether the data/schema service can resolve an install for this tenant.',
|
|
886
|
+
mutates: false,
|
|
887
|
+
},
|
|
888
|
+
],
|
|
889
|
+
fixes: [],
|
|
890
|
+
retry: {
|
|
891
|
+
allowed: false,
|
|
892
|
+
stopWhen: [
|
|
893
|
+
'The response indicates no active tenant data/schema install. Retrying does not provision the tenant setup — it must be fixed by platform support.',
|
|
894
|
+
],
|
|
895
|
+
},
|
|
896
|
+
escalation: {
|
|
897
|
+
audience: 'platform-support',
|
|
898
|
+
neededWhen: ['A tenant cannot resolve an active data/schema install on publish or schema reads.'],
|
|
899
|
+
include: [
|
|
900
|
+
'active tenant slug and id (eai whoami)',
|
|
901
|
+
'the command that failed',
|
|
902
|
+
'the request id from the error',
|
|
903
|
+
'the reason code from the error response',
|
|
904
|
+
],
|
|
905
|
+
},
|
|
906
|
+
safety: {
|
|
907
|
+
mutatesState: false,
|
|
908
|
+
mayWriteSecrets: false,
|
|
909
|
+
mayDeleteData: false,
|
|
910
|
+
publicSafe: true,
|
|
911
|
+
},
|
|
912
|
+
match: [
|
|
913
|
+
{
|
|
914
|
+
serverCode: 'RESOURCEAPI_INSTALL_REGISTRY_NO_MATCH',
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
messageIncludes: [
|
|
918
|
+
'RESOURCEAPI_INSTALL_REGISTRY_NO_MATCH',
|
|
919
|
+
'did not resolve an active install',
|
|
920
|
+
'install registry did not resolve',
|
|
921
|
+
],
|
|
922
|
+
},
|
|
923
|
+
],
|
|
924
|
+
},
|
|
925
|
+
];
|
|
926
|
+
export function listErrorGuidance() {
|
|
927
|
+
return [...errorGuidanceCatalog];
|
|
928
|
+
}
|
|
929
|
+
export function findGuidanceByCode(code) {
|
|
930
|
+
const normalized = code.trim().toUpperCase();
|
|
931
|
+
return errorGuidanceCatalog.find((entry) => entry.code.toUpperCase() === normalized);
|
|
932
|
+
}
|
|
933
|
+
export function findGuidanceByReason(reasonCode) {
|
|
934
|
+
const normalized = reasonCode.trim().toLowerCase().replace(/-/g, '_');
|
|
935
|
+
return errorGuidanceCatalog.find((entry) => entry.reasonCode.toLowerCase() === normalized);
|
|
936
|
+
}
|
|
937
|
+
export function findGuidanceByCodeOrReason(value) {
|
|
938
|
+
return findGuidanceByCode(value) ?? findGuidanceByReason(value);
|
|
939
|
+
}
|
|
940
|
+
//# sourceMappingURL=catalog.js.map
|