agentera 3.0.0-dev.2 → 3.0.0-dev.21
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 +84 -6
- package/bundle/.agentera-npx-bundle.json +1 -1
- package/bundle/.codex-plugin/plugin.json +92 -0
- package/bundle/.cursor/agents/agentera.md +7 -0
- package/bundle/.cursor/hooks.json +32 -0
- package/bundle/.cursor-plugin/plugin.json +34 -0
- package/bundle/.github/hooks/postToolUse.json +9 -0
- package/bundle/.github/hooks/preToolUse.json +8 -0
- package/bundle/.github/hooks/sessionEnd.json +8 -0
- package/bundle/.github/hooks/sessionStart.json +8 -0
- package/bundle/.github/plugin/plugin.json +7 -0
- package/bundle/.opencode/agents/agentera.md +12 -0
- package/bundle/.opencode/commands/agentera.md +5 -0
- package/bundle/.opencode/package.json +31 -0
- package/bundle/.opencode/plugins/agentera.js +820 -0
- package/bundle/CHANGELOG.md +1101 -0
- package/bundle/DESIGN.md +233 -0
- package/bundle/LICENSE +201 -0
- package/bundle/README.md +158 -0
- package/bundle/UPGRADE.md +265 -0
- package/bundle/agents/openai.yaml +87 -0
- package/bundle/extract-corpus-parity.json +21 -0
- package/bundle/hooks/codex-hooks.json +31 -0
- package/bundle/hooks/codex-plugin-hooks.json +31 -0
- package/bundle/plugin.json +13 -0
- package/bundle/references/adapters/cursor.md +53 -42
- package/bundle/references/adapters/opencode.md +46 -47
- package/bundle/references/adapters/package-manifest-interface-model.yaml +32 -43
- package/bundle/references/adapters/package-registry.yaml +19 -53
- package/bundle/references/adapters/package-surface-characterization.md +55 -35
- package/bundle/references/adapters/runtime-adapter-characterization.md +44 -79
- package/bundle/references/adapters/runtime-adapter-registry.yaml +21 -182
- package/bundle/references/adapters/runtime-feature-parity.md +114 -174
- package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +288 -0
- package/bundle/references/adapters/runtime-lifecycle-authority.yaml +90 -0
- package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +84 -0
- package/bundle/references/adapters/runtime-retired-resources.yaml +33 -0
- package/bundle/references/analysis/benchmark.md +6 -6
- package/bundle/references/analysis/startup-measurement-contract.yaml +37 -26
- package/bundle/references/artifacts/artifact-registry-interface-model.yaml +9 -8
- package/bundle/references/artifacts/state-storage-authority.yaml +1446 -0
- package/bundle/references/cli/agent-ready-state-contract.yaml +37 -62
- package/bundle/references/cli/app-lifecycle-vocabulary.yaml +4 -4
- package/bundle/references/cli/audience-namespace-cli-migration.yaml +57 -28
- package/bundle/references/cli/bundle-skill-vocabulary.yaml +4 -32
- package/bundle/references/cli/capability-instruction-contract.yaml +98 -57
- package/bundle/references/cli/capability-instruction-structure.md +144 -0
- package/bundle/references/cli/capability-tool-classification.yaml +12 -12
- package/bundle/references/cli/coexistence-probe.yaml +13 -0
- package/bundle/references/cli/parity-expected-actual-template.md +30 -0
- package/bundle/references/cli/routing-execution-vocabulary.yaml +12 -12
- package/bundle/references/cli/routing-model.md +94 -0
- package/bundle/references/cli/single-name-protocol.yaml +42 -0
- package/bundle/references/cli/trigger-schema-enrichment.md +136 -0
- package/bundle/references/cli/update-channels.yaml +43 -7
- package/bundle/references/cli/upgrade-repair-wording.md +45 -0
- package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
- package/bundle/references/cli/vocabulary-index.yaml +20 -15
- package/bundle/references/cli/vocabulary.md +342 -326
- package/bundle/references/meta/documentation-inventory.md +10 -3
- package/bundle/registry.json +14 -14
- package/bundle/skills/agentera/SKILL.md +136 -408
- package/bundle/skills/agentera/agents/audit.toml +6 -0
- package/bundle/skills/agentera/agents/build.toml +6 -0
- package/bundle/skills/agentera/agents/design.toml +6 -0
- package/bundle/skills/agentera/agents/discuss.toml +6 -0
- package/bundle/skills/agentera/agents/document.toml +6 -0
- package/bundle/skills/agentera/agents/optimize.toml +6 -0
- package/bundle/skills/agentera/agents/orchestrate.toml +6 -0
- package/bundle/skills/agentera/agents/plan.toml +6 -0
- package/bundle/skills/agentera/agents/profile.toml +6 -0
- package/bundle/skills/agentera/agents/research.toml +6 -0
- package/bundle/skills/agentera/agents/status.toml +6 -0
- package/bundle/skills/agentera/agents/vision.toml +6 -0
- package/bundle/skills/agentera/capabilities/audit/schemas/artifacts.yaml +84 -0
- package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/triggers.yaml +15 -6
- package/bundle/skills/agentera/capabilities/{inspektera → audit}/schemas/validation.yaml +20 -19
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/artifacts.yaml +22 -17
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/exit.yaml +3 -3
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/triggers.yaml +13 -3
- package/bundle/skills/agentera/capabilities/{realisera → build}/schemas/validation.yaml +11 -11
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/artifacts.yaml +6 -6
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/exit.yaml +5 -5
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/triggers.yaml +15 -3
- package/bundle/skills/agentera/capabilities/{visualisera → design}/schemas/validation.yaml +7 -7
- package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +49 -0
- package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/triggers.yaml +11 -3
- package/bundle/skills/agentera/capabilities/{resonera → discuss}/schemas/validation.yaml +9 -8
- package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/artifacts.yaml +23 -16
- package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/triggers.yaml +14 -4
- package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/validation.yaml +18 -18
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/artifacts.yaml +9 -9
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/triggers.yaml +11 -3
- package/bundle/skills/agentera/capabilities/{optimera → optimize}/schemas/validation.yaml +9 -9
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +71 -0
- package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/exit.yaml +7 -6
- package/bundle/skills/agentera/capabilities/{orkestrera → orchestrate}/schemas/triggers.yaml +16 -3
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +120 -0
- package/bundle/skills/agentera/capabilities/plan/schemas/artifacts.yaml +63 -0
- package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{planera → plan}/schemas/triggers.yaml +15 -3
- package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +89 -0
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/artifacts.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/exit.yaml +3 -3
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/triggers.yaml +7 -3
- package/bundle/skills/agentera/capabilities/{profilera → profile}/schemas/validation.yaml +2 -2
- package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +24 -0
- package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/triggers.yaml +9 -3
- package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/validation.yaml +2 -2
- package/bundle/skills/agentera/capabilities/{hej → status}/schemas/artifacts.yaml +14 -11
- package/bundle/skills/agentera/capabilities/{hej → status}/schemas/triggers.yaml +12 -8
- package/bundle/skills/agentera/capabilities/{hej → status}/schemas/validation.yaml +5 -5
- package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/artifacts.yaml +8 -8
- package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/exit.yaml +7 -6
- package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/triggers.yaml +19 -5
- package/bundle/skills/agentera/capabilities/{visionera → vision}/schemas/validation.yaml +18 -20
- package/bundle/skills/agentera/capability_schema_contract.yaml +201 -38
- package/bundle/skills/agentera/protocol.yaml +29 -29
- package/bundle/skills/agentera/references/contract.md +387 -329
- package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +4 -4
- package/bundle/skills/agentera/schemas/artifacts/decisions.yaml +25 -20
- package/bundle/skills/agentera/schemas/artifacts/design.yaml +4 -4
- package/bundle/skills/agentera/schemas/artifacts/docs.yaml +8 -7
- package/bundle/skills/agentera/schemas/artifacts/experiments.yaml +139 -8
- package/bundle/skills/agentera/schemas/artifacts/health.yaml +21 -15
- package/bundle/skills/agentera/schemas/artifacts/objective.yaml +22 -8
- package/bundle/skills/agentera/schemas/artifacts/plan.yaml +285 -11
- package/bundle/skills/agentera/schemas/artifacts/progress.yaml +36 -51
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +77 -24
- package/bundle/skills/agentera/schemas/artifacts/vision.yaml +3 -3
- package/dist/analytics/extractCorpus/cli.js +163 -0
- package/dist/analytics/extractCorpus/cli.js.map +1 -0
- package/dist/analytics/extractCorpus/copilotSessions.js +276 -0
- package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/core.js +393 -0
- package/dist/analytics/extractCorpus/core.js.map +1 -0
- package/dist/analytics/extractCorpus/corpus.js +168 -0
- package/dist/analytics/extractCorpus/corpus.js.map +1 -0
- package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
- package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
- package/dist/analytics/extractCorpus/cursorSessions.js +426 -0
- package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
- package/dist/analytics/extractCorpus/filesystemSources.js +119 -0
- package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
- package/dist/analytics/extractCorpus/index.js +12 -0
- package/dist/analytics/extractCorpus/index.js.map +1 -0
- package/dist/analytics/extractCorpus/jsonlSessions.js +205 -0
- package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
- package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
- package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
- package/dist/analytics/extractCorpus/sqliteSessions.js +368 -0
- package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
- package/dist/analytics/extractCorpus.js +2 -1790
- package/dist/analytics/extractCorpus.js.map +1 -1
- package/dist/analytics/usageStats.js +93 -27
- package/dist/analytics/usageStats.js.map +1 -1
- package/dist/bin/agentera.js +3 -1
- package/dist/bin/agentera.js.map +1 -1
- package/dist/capabilities/audit/instructions.js +4 -0
- package/dist/capabilities/audit/instructions.js.map +1 -0
- package/dist/capabilities/build/instructions.js +5 -0
- package/dist/capabilities/build/instructions.js.map +1 -0
- package/dist/capabilities/design/instructions.js +5 -0
- package/dist/capabilities/design/instructions.js.map +1 -0
- package/dist/capabilities/discuss/instructions.js +6 -0
- package/dist/capabilities/discuss/instructions.js.map +1 -0
- package/dist/capabilities/document/instructions.js +4 -0
- package/dist/capabilities/document/instructions.js.map +1 -0
- package/dist/capabilities/index.js +38 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/optimize/instructions.js +5 -0
- package/dist/capabilities/optimize/instructions.js.map +1 -0
- package/dist/capabilities/orchestrate/instructions.js +10 -0
- package/dist/capabilities/orchestrate/instructions.js.map +1 -0
- package/dist/capabilities/plan/instructions.js +6 -0
- package/dist/capabilities/plan/instructions.js.map +1 -0
- package/dist/capabilities/profile/instructions.js +5 -0
- package/dist/capabilities/profile/instructions.js.map +1 -0
- package/dist/capabilities/research/instructions.js +6 -0
- package/dist/capabilities/research/instructions.js.map +1 -0
- package/dist/capabilities/status/instructions.js +5 -0
- package/dist/capabilities/status/instructions.js.map +1 -0
- package/dist/capabilities/vision/instructions.js +5 -0
- package/dist/capabilities/vision/instructions.js.map +1 -0
- package/dist/cli/appContext.js +30 -23
- package/dist/cli/appContext.js.map +1 -1
- package/dist/cli/capabilityContext/benchmark.js +564 -0
- package/dist/cli/capabilityContext/benchmark.js.map +1 -0
- package/dist/cli/capabilityContext/bespoke.js +38 -0
- package/dist/cli/capabilityContext/bespoke.js.map +1 -0
- package/dist/cli/capabilityContext/build.js +191 -0
- package/dist/cli/capabilityContext/build.js.map +1 -0
- package/dist/cli/capabilityContext/closeout.js +231 -0
- package/dist/cli/capabilityContext/closeout.js.map +1 -0
- package/dist/cli/capabilityContext/contract.js +219 -0
- package/dist/cli/capabilityContext/contract.js.map +1 -0
- package/dist/cli/capabilityContext/evidence.js +457 -0
- package/dist/cli/capabilityContext/evidence.js.map +1 -0
- package/dist/cli/capabilityContext/index.js +4 -0
- package/dist/cli/capabilityContext/index.js.map +1 -0
- package/dist/cli/capabilityContext/orchestration.js +118 -0
- package/dist/cli/capabilityContext/orchestration.js.map +1 -0
- package/dist/cli/capabilityContext/planState.js +279 -0
- package/dist/cli/capabilityContext/planState.js.map +1 -0
- package/dist/cli/capabilityContext/progress.js +143 -0
- package/dist/cli/capabilityContext/progress.js.map +1 -0
- package/dist/cli/capabilityContext/shared.js +94 -0
- package/dist/cli/capabilityContext/shared.js.map +1 -0
- package/dist/cli/capabilityContext/slim.js +139 -0
- package/dist/cli/capabilityContext/slim.js.map +1 -0
- package/dist/cli/capabilityContext/startup.js +241 -0
- package/dist/cli/capabilityContext/startup.js.map +1 -0
- package/dist/cli/capabilityContext/types.js +51 -0
- package/dist/cli/capabilityContext/types.js.map +1 -0
- package/dist/cli/capabilityContext.js +1 -2420
- package/dist/cli/capabilityContext.js.map +1 -1
- package/dist/cli/commands/appHome.js +23 -0
- package/dist/cli/commands/appHome.js.map +1 -0
- package/dist/cli/commands/backfill.js +186 -76
- package/dist/cli/commands/backfill.js.map +1 -1
- package/dist/cli/commands/capability.js +3 -10
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/compact.js +41 -12
- package/dist/cli/commands/compact.js.map +1 -1
- package/dist/cli/commands/doctor.js +116 -96
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/durability.js +85 -0
- package/dist/cli/commands/durability.js.map +1 -0
- package/dist/cli/commands/lint.js +16 -41
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/migrate.js +677 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/prime/bundleStatus.js +185 -0
- package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
- package/dist/cli/commands/prime/collectOrientationState.js +202 -0
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
- package/dist/cli/commands/prime/orientationOutput.js +235 -0
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
- package/dist/cli/commands/prime/types.js +2 -0
- package/dist/cli/commands/prime/types.js.map +1 -0
- package/dist/cli/commands/prime/v1Migration.js +39 -0
- package/dist/cli/commands/prime/v1Migration.js.map +1 -0
- package/dist/cli/commands/prime.js +11 -519
- package/dist/cli/commands/prime.js.map +1 -1
- package/dist/cli/commands/query.js +25 -4
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/report.js +50 -14
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/schema.js +343 -76
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/decisions.js +421 -0
- package/dist/cli/commands/state/decisions.js.map +1 -0
- package/dist/cli/commands/state/docs.js +97 -0
- package/dist/cli/commands/state/docs.js.map +1 -0
- package/dist/cli/commands/state/experimentRecords.js +156 -0
- package/dist/cli/commands/state/experimentRecords.js.map +1 -0
- package/dist/cli/commands/state/experiments.js +68 -0
- package/dist/cli/commands/state/experiments.js.map +1 -0
- package/dist/cli/commands/state/get.js +141 -0
- package/dist/cli/commands/state/get.js.map +1 -0
- package/dist/cli/commands/state/health.js +116 -0
- package/dist/cli/commands/state/health.js.map +1 -0
- package/dist/cli/commands/state/index.js +51 -0
- package/dist/cli/commands/state/index.js.map +1 -0
- package/dist/cli/commands/state/list.js +159 -0
- package/dist/cli/commands/state/list.js.map +1 -0
- package/dist/cli/commands/state/objective.js +69 -0
- package/dist/cli/commands/state/objective.js.map +1 -0
- package/dist/cli/commands/state/plan.js +379 -0
- package/dist/cli/commands/state/plan.js.map +1 -0
- package/dist/cli/commands/state/planTasks.js +164 -0
- package/dist/cli/commands/state/planTasks.js.map +1 -0
- package/dist/cli/commands/state/plans.js +154 -0
- package/dist/cli/commands/state/plans.js.map +1 -0
- package/dist/cli/commands/state/progress.js +47 -0
- package/dist/cli/commands/state/progress.js.map +1 -0
- package/dist/cli/commands/state/shared.js +15 -0
- package/dist/cli/commands/state/shared.js.map +1 -0
- package/dist/cli/commands/state/todo.js +121 -0
- package/dist/cli/commands/state/todo.js.map +1 -0
- package/dist/cli/commands/state/write.js +346 -0
- package/dist/cli/commands/state/write.js.map +1 -0
- package/dist/cli/commands/upgrade.js +79 -1
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/upgradeVerify.js +81 -0
- package/dist/cli/commands/upgradeVerify.js.map +1 -0
- package/dist/cli/commands/validate.js +56 -96
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/commands/verify.js +13 -7
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/contracts/bundleStatus.js +2 -0
- package/dist/cli/contracts/bundleStatus.js.map +1 -0
- package/dist/cli/contracts/orientationState.js +2 -0
- package/dist/cli/contracts/orientationState.js.map +1 -0
- package/dist/cli/dispatch/argvParser.js +33 -0
- package/dist/cli/dispatch/argvParser.js.map +1 -0
- package/dist/cli/dispatch/check.js +395 -0
- package/dist/cli/dispatch/check.js.map +1 -0
- package/dist/cli/dispatch/commands.js +27 -0
- package/dist/cli/dispatch/commands.js.map +1 -0
- package/dist/cli/dispatch/index.js +201 -0
- package/dist/cli/dispatch/index.js.map +1 -0
- package/dist/cli/dispatch/lifecycle.js +671 -0
- package/dist/cli/dispatch/lifecycle.js.map +1 -0
- package/dist/cli/dispatch/prime.js +104 -0
- package/dist/cli/dispatch/prime.js.map +1 -0
- package/dist/cli/dispatch/shared.js +64 -0
- package/dist/cli/dispatch/shared.js.map +1 -0
- package/dist/cli/dispatch/state.js +168 -0
- package/dist/cli/dispatch/state.js.map +1 -0
- package/dist/cli/dispatch.js +1 -957
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/cli/errors.js +53 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/help.js +421 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/orientation/attention.js +163 -0
- package/dist/cli/orientation/attention.js.map +1 -0
- package/dist/cli/orientation/corpusCoverage.js +71 -0
- package/dist/cli/orientation/corpusCoverage.js.map +1 -0
- package/dist/cli/orientation.js +336 -144
- package/dist/cli/orientation.js.map +1 -1
- package/dist/cli/planArtifacts.js +201 -0
- package/dist/cli/planArtifacts.js.map +1 -0
- package/dist/cli/planEvidence.js +158 -0
- package/dist/cli/planEvidence.js.map +1 -0
- package/dist/cli/planLifecycleState.js +34 -0
- package/dist/cli/planLifecycleState.js.map +1 -0
- package/dist/cli/prime-blob.js +69 -2
- package/dist/cli/prime-blob.js.map +1 -1
- package/dist/cli/startupCompletenessContract.js +57 -0
- package/dist/cli/startupCompletenessContract.js.map +1 -0
- package/dist/cli/stateQuery.js +22 -5
- package/dist/cli/stateQuery.js.map +1 -1
- package/dist/cli/todoMarkdown.js +33 -0
- package/dist/cli/todoMarkdown.js.map +1 -0
- package/dist/cli/todoSeverity.js +19 -0
- package/dist/cli/todoSeverity.js.map +1 -0
- package/dist/core/atomicWriter.js +21 -0
- package/dist/core/atomicWriter.js.map +1 -0
- package/dist/core/envPaths.js +21 -0
- package/dist/core/envPaths.js.map +1 -0
- package/dist/core/jsonValue.js +6 -0
- package/dist/core/jsonValue.js.map +1 -0
- package/dist/core/pyjson.js +67 -2
- package/dist/core/pyjson.js.map +1 -1
- package/dist/core/text.js +11 -0
- package/dist/core/text.js.map +1 -0
- package/dist/core/yaml.js +8 -0
- package/dist/core/yaml.js.map +1 -1
- package/dist/eval/evalSkills.js +30 -25
- package/dist/eval/evalSkills.js.map +1 -1
- package/dist/eval/semanticEval.js +43 -19
- package/dist/eval/semanticEval.js.map +1 -1
- package/dist/eval/semanticFixtures.js +16 -4
- package/dist/eval/semanticFixtures.js.map +1 -1
- package/dist/hooks/common.js +9 -26
- package/dist/hooks/common.js.map +1 -1
- package/dist/hooks/compaction/apply.js +447 -0
- package/dist/hooks/compaction/apply.js.map +1 -0
- package/dist/hooks/compaction/dryRun.js +185 -0
- package/dist/hooks/compaction/dryRun.js.map +1 -0
- package/dist/hooks/compaction/index.js +23 -0
- package/dist/hooks/compaction/index.js.map +1 -0
- package/dist/hooks/compaction/parse.js +326 -0
- package/dist/hooks/compaction/parse.js.map +1 -0
- package/dist/hooks/compaction/retention.js +203 -0
- package/dist/hooks/compaction/retention.js.map +1 -0
- package/dist/hooks/compaction/status.js +336 -0
- package/dist/hooks/compaction/status.js.map +1 -0
- package/dist/hooks/compaction/types.js +6 -0
- package/dist/hooks/compaction/types.js.map +1 -0
- package/dist/hooks/cursorPreToolUse.js +1 -1
- package/dist/hooks/cursorPreToolUse.js.map +1 -1
- package/dist/hooks/cursorSessionStart.js +10 -2
- package/dist/hooks/cursorSessionStart.js.map +1 -1
- package/dist/hooks/sessionStart.js +57 -18
- package/dist/hooks/sessionStart.js.map +1 -1
- package/dist/hooks/sessionStop.js +8 -14
- package/dist/hooks/sessionStop.js.map +1 -1
- package/dist/hooks/validateArtifact/agentFacing.js +10 -0
- package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
- package/dist/hooks/validateArtifact/index.js +151 -0
- package/dist/hooks/validateArtifact/index.js.map +1 -0
- package/dist/hooks/validateArtifact/markdown.js +146 -0
- package/dist/hooks/validateArtifact/markdown.js.map +1 -0
- package/dist/hooks/validateArtifact/runtime.js +86 -0
- package/dist/hooks/validateArtifact/runtime.js.map +1 -0
- package/dist/hooks/validateArtifact/schema.js +541 -0
- package/dist/hooks/validateArtifact/schema.js.map +1 -0
- package/dist/hooks/validateArtifact/traversal.js +108 -0
- package/dist/hooks/validateArtifact/traversal.js.map +1 -0
- package/dist/hooks/validateArtifact/violations.js +108 -0
- package/dist/hooks/validateArtifact/violations.js.map +1 -0
- package/dist/migrate/v2HandoffManifest.js +455 -0
- package/dist/migrate/v2HandoffManifest.js.map +1 -0
- package/dist/registries/artifactProtocolIds.js +77 -0
- package/dist/registries/artifactProtocolIds.js.map +1 -0
- package/dist/registries/artifactRegistry.js +203 -53
- package/dist/registries/artifactRegistry.js.map +1 -1
- package/dist/registries/capabilityContract.js +156 -12
- package/dist/registries/capabilityContract.js.map +1 -1
- package/dist/registries/evaluatorHandoffContract.js +171 -0
- package/dist/registries/evaluatorHandoffContract.js.map +1 -0
- package/dist/registries/packageRegistry.js +40 -6
- package/dist/registries/packageRegistry.js.map +1 -1
- package/dist/registries/runtimeAdapterRegistry.js +30 -21
- package/dist/registries/runtimeAdapterRegistry.js.map +1 -1
- package/dist/registries/triggerLoader.js +211 -0
- package/dist/registries/triggerLoader.js.map +1 -0
- package/dist/release/releaseMetadata.js +329 -0
- package/dist/release/releaseMetadata.js.map +1 -0
- package/dist/runtime/lifecycleAdapterContract.js +458 -0
- package/dist/runtime/lifecycleAdapterContract.js.map +1 -0
- package/dist/runtime/lifecycleAdapters.js +766 -0
- package/dist/runtime/lifecycleAdapters.js.map +1 -0
- package/dist/runtime/lifecycleAuthority.js +493 -0
- package/dist/runtime/lifecycleAuthority.js.map +1 -0
- package/dist/runtime/lifecycleOperationContract.js +113 -0
- package/dist/runtime/lifecycleOperationContract.js.map +1 -0
- package/dist/runtime/lifecycleOperations.js +635 -0
- package/dist/runtime/lifecycleOperations.js.map +1 -0
- package/dist/runtime/lifecycleOwnershipJournal.js +623 -0
- package/dist/runtime/lifecycleOwnershipJournal.js.map +1 -0
- package/dist/runtime/lifecyclePublication.js +395 -0
- package/dist/runtime/lifecyclePublication.js.map +1 -0
- package/dist/runtime/lifecycleSnapshot.js +439 -0
- package/dist/runtime/lifecycleSnapshot.js.map +1 -0
- package/dist/runtime/retiredRuntimeCleanup.js +238 -0
- package/dist/runtime/retiredRuntimeCleanup.js.map +1 -0
- package/dist/setup/codex/agents.js +96 -0
- package/dist/setup/codex/agents.js.map +1 -0
- package/dist/setup/codex/cli.js +161 -0
- package/dist/setup/codex/cli.js.map +1 -0
- package/dist/setup/codex/configToml.js +639 -0
- package/dist/setup/codex/configToml.js.map +1 -0
- package/dist/setup/codex/constants.js +29 -0
- package/dist/setup/codex/constants.js.map +1 -0
- package/dist/setup/codex/installRoot.js +64 -0
- package/dist/setup/codex/installRoot.js.map +1 -0
- package/dist/setup/codex/state.js +270 -0
- package/dist/setup/codex/state.js.map +1 -0
- package/dist/setup/codex.js +11 -1055
- package/dist/setup/codex.js.map +1 -1
- package/dist/setup/copilot.js +1 -1
- package/dist/setup/copilot.js.map +1 -1
- package/dist/setup/cursor.js +7 -5
- package/dist/setup/cursor.js.map +1 -1
- package/dist/setup/cursorSurfaces.js +67 -0
- package/dist/setup/cursorSurfaces.js.map +1 -0
- package/dist/setup/doctor/core.js +296 -0
- package/dist/setup/doctor/core.js.map +1 -0
- package/dist/setup/doctor/diagnostics.js +201 -0
- package/dist/setup/doctor/diagnostics.js.map +1 -0
- package/dist/setup/doctor/opencode.js +301 -0
- package/dist/setup/doctor/opencode.js.map +1 -0
- package/dist/setup/doctor/report.js +425 -0
- package/dist/setup/doctor/report.js.map +1 -0
- package/dist/setup/doctor.js +9 -1275
- package/dist/setup/doctor.js.map +1 -1
- package/dist/setup/opencode.js +13 -0
- package/dist/setup/opencode.js.map +1 -0
- package/dist/setup/opencodeConstants.js +2 -0
- package/dist/setup/opencodeConstants.js.map +1 -0
- package/dist/setup/smokeChecks.js +109 -0
- package/dist/setup/smokeChecks.js.map +1 -0
- package/dist/state/archiveDiscovery.js +589 -0
- package/dist/state/archiveDiscovery.js.map +1 -0
- package/dist/state/archivePublication.js +225 -0
- package/dist/state/archivePublication.js.map +1 -0
- package/dist/state/archiveRecovery.js +238 -0
- package/dist/state/archiveRecovery.js.map +1 -0
- package/dist/state/archiveReplay.js +54 -0
- package/dist/state/archiveReplay.js.map +1 -0
- package/dist/state/decisionOverlay.js +255 -0
- package/dist/state/decisionOverlay.js.map +1 -0
- package/dist/state/directRetrieval.js +322 -0
- package/dist/state/directRetrieval.js.map +1 -0
- package/dist/state/durability.js +451 -0
- package/dist/state/durability.js.map +1 -0
- package/dist/state/experimentArchive.js +64 -0
- package/dist/state/experimentArchive.js.map +1 -0
- package/dist/state/experimentIdentity.js +191 -0
- package/dist/state/experimentIdentity.js.map +1 -0
- package/dist/state/experimentRetrieval.js +447 -0
- package/dist/state/experimentRetrieval.js.map +1 -0
- package/dist/state/gitBackfill.js +561 -0
- package/dist/state/gitBackfill.js.map +1 -0
- package/dist/state/gitBackfillAuthority.js +141 -0
- package/dist/state/gitBackfillAuthority.js.map +1 -0
- package/dist/state/gitBackfillHistory.js +278 -0
- package/dist/state/gitBackfillHistory.js.map +1 -0
- package/dist/state/gitBackfillOutput.js +209 -0
- package/dist/state/gitBackfillOutput.js.map +1 -0
- package/dist/state/healthRepair.js +70 -0
- package/dist/state/healthRepair.js.map +1 -0
- package/dist/state/installRoot.js +64 -24
- package/dist/state/installRoot.js.map +1 -1
- package/dist/state/legacyIdentity.js +48 -0
- package/dist/state/legacyIdentity.js.map +1 -0
- package/dist/state/legacyMigration.js +516 -0
- package/dist/state/legacyMigration.js.map +1 -0
- package/dist/state/legacyMigrationParser.js +489 -0
- package/dist/state/legacyMigrationParser.js.map +1 -0
- package/dist/state/listAccounting.js +55 -0
- package/dist/state/listAccounting.js.map +1 -0
- package/dist/state/listClassification.js +18 -0
- package/dist/state/listClassification.js.map +1 -0
- package/dist/state/listRetrieval.js +782 -0
- package/dist/state/listRetrieval.js.map +1 -0
- package/dist/state/migrationAuthority.js +413 -0
- package/dist/state/migrationAuthority.js.map +1 -0
- package/dist/state/migrationEnrichment.js +35 -0
- package/dist/state/migrationEnrichment.js.map +1 -0
- package/dist/state/planIdentity.js +45 -0
- package/dist/state/planIdentity.js.map +1 -0
- package/dist/state/planRetrieval.js +314 -0
- package/dist/state/planRetrieval.js.map +1 -0
- package/dist/state/planTaskRetrieval.js +285 -0
- package/dist/state/planTaskRetrieval.js.map +1 -0
- package/dist/state/projectionPolicy.js +184 -0
- package/dist/state/projectionPolicy.js.map +1 -0
- package/dist/state/retrievalAuthority.js +326 -0
- package/dist/state/retrievalAuthority.js.map +1 -0
- package/dist/state/startupAnalysis/benchmark.js +371 -0
- package/dist/state/startupAnalysis/benchmark.js.map +1 -0
- package/dist/state/startupAnalysis/contract.js +126 -0
- package/dist/state/startupAnalysis/contract.js.map +1 -0
- package/dist/state/startupAnalysis/helpers.js +287 -0
- package/dist/state/startupAnalysis/helpers.js.map +1 -0
- package/dist/state/startupAnalysis/index.js +7 -0
- package/dist/state/startupAnalysis/index.js.map +1 -0
- package/dist/state/startupAnalysis/metrics.js +341 -0
- package/dist/state/startupAnalysis/metrics.js.map +1 -0
- package/dist/state/startupAnalysis/records.js +199 -0
- package/dist/state/startupAnalysis/records.js.map +1 -0
- package/dist/state/startupAnalysis/report.js +112 -0
- package/dist/state/startupAnalysis/report.js.map +1 -0
- package/dist/state/startupAnalysis/threshold.js +500 -0
- package/dist/state/startupAnalysis/threshold.js.map +1 -0
- package/dist/state/startupAnalysis.js +2 -1952
- package/dist/state/startupAnalysis.js.map +1 -1
- package/dist/state/startupProjection.js +498 -0
- package/dist/state/startupProjection.js.map +1 -0
- package/dist/state/write/assign.js +21 -0
- package/dist/state/write/assign.js.map +1 -0
- package/dist/state/write/errors.js +12 -0
- package/dist/state/write/errors.js.map +1 -0
- package/dist/state/write/experimentPublication.js +193 -0
- package/dist/state/write/experimentPublication.js.map +1 -0
- package/dist/state/write/explain.js +169 -0
- package/dist/state/write/explain.js.map +1 -0
- package/dist/state/write/fields.js +62 -0
- package/dist/state/write/fields.js.map +1 -0
- package/dist/state/write/helpers.js +8 -0
- package/dist/state/write/helpers.js.map +1 -0
- package/dist/state/write/index.js +12 -0
- package/dist/state/write/index.js.map +1 -0
- package/dist/state/write/input.js +22 -0
- package/dist/state/write/input.js.map +1 -0
- package/dist/state/write/lock.js +131 -0
- package/dist/state/write/lock.js.map +1 -0
- package/dist/state/write/mutation.js +190 -0
- package/dist/state/write/mutation.js.map +1 -0
- package/dist/state/write/operations.js +254 -0
- package/dist/state/write/operations.js.map +1 -0
- package/dist/state/write/planPublication.js +172 -0
- package/dist/state/write/planPublication.js.map +1 -0
- package/dist/state/write/serialize.js +2 -0
- package/dist/state/write/serialize.js.map +1 -0
- package/dist/state/write/transaction.js +800 -0
- package/dist/state/write/transaction.js.map +1 -0
- package/dist/state/write/validate.js +8 -0
- package/dist/state/write/validate.js.map +1 -0
- package/dist/upgrade/appContentRefresh.js +374 -0
- package/dist/upgrade/appContentRefresh.js.map +1 -0
- package/dist/upgrade/appModel.js +11 -6
- package/dist/upgrade/appModel.js.map +1 -1
- package/dist/upgrade/atomicWriter.js +2 -0
- package/dist/upgrade/atomicWriter.js.map +1 -0
- package/dist/upgrade/bundleEvidence.js +34 -0
- package/dist/upgrade/bundleEvidence.js.map +1 -0
- package/dist/upgrade/channels.js +27 -7
- package/dist/upgrade/channels.js.map +1 -1
- package/dist/upgrade/coexistenceProbe.js +105 -0
- package/dist/upgrade/coexistenceProbe.js.map +1 -0
- package/dist/upgrade/compatibility.js +52 -16
- package/dist/upgrade/compatibility.js.map +1 -1
- package/dist/upgrade/doctor.js +195 -193
- package/dist/upgrade/doctor.js.map +1 -1
- package/dist/upgrade/doctorClassifier.js +188 -0
- package/dist/upgrade/doctorClassifier.js.map +1 -0
- package/dist/upgrade/installedHooksRetirement.js +190 -0
- package/dist/upgrade/installedHooksRetirement.js.map +1 -0
- package/dist/upgrade/legacyAgentCleanup.js +183 -0
- package/dist/upgrade/legacyAgentCleanup.js.map +1 -0
- package/dist/upgrade/lifecycleUpgrade.js +427 -0
- package/dist/upgrade/lifecycleUpgrade.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV1ToV2.js +568 -0
- package/dist/upgrade/migrateArtifactsV1ToV2.js.map +1 -0
- package/dist/upgrade/migrateArtifactsV2ToV3.js +273 -144
- package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
- package/dist/upgrade/nextMajorDoctor.js +156 -0
- package/dist/upgrade/nextMajorDoctor.js.map +1 -0
- package/dist/upgrade/npxPlatformStatus.js +23 -0
- package/dist/upgrade/npxPlatformStatus.js.map +1 -0
- package/dist/upgrade/projectIntegration.js +259 -104
- package/dist/upgrade/projectIntegration.js.map +1 -1
- package/dist/upgrade/projectIntegrationDecision.js +141 -0
- package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
- package/dist/upgrade/runtimeMigration.js +342 -89
- package/dist/upgrade/runtimeMigration.js.map +1 -1
- package/dist/upgrade/upgradeCommands.js +8 -0
- package/dist/upgrade/upgradeCommands.js.map +1 -1
- package/dist/upgrade/upgradeLock.js +54 -0
- package/dist/upgrade/upgradeLock.js.map +1 -0
- package/dist/upgrade/upgradeOrchestrator.js +170 -46
- package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
- package/dist/upgrade/upgradeSnapshot.js +93 -0
- package/dist/upgrade/upgradeSnapshot.js.map +1 -0
- package/dist/upgrade/v3CapabilitySurface.js +15 -0
- package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
- package/dist/upgrade/versionResolution.js +12 -4
- package/dist/upgrade/versionResolution.js.map +1 -1
- package/dist/validate/appHomeContract.js +5 -5
- package/dist/validate/appHomeContract.js.map +1 -1
- package/dist/validate/capability.js +135 -14
- package/dist/validate/capability.js.map +1 -1
- package/dist/validate/crossCapability.js +10 -7
- package/dist/validate/crossCapability.js.map +1 -1
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
- package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js +481 -0
- package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
- package/dist/validate/lifecycleAdapters/shared.js +198 -0
- package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
- package/dist/validate/lifecycleAdapters.js +91 -702
- package/dist/validate/lifecycleAdapters.js.map +1 -1
- package/dist/validate/selfAudit.js +63 -21
- package/dist/validate/selfAudit.js.map +1 -1
- package/dist/validate/vocabularyAuthority.js +303 -0
- package/dist/validate/vocabularyAuthority.js.map +1 -0
- package/package.json +30 -27
- package/bundle/references/v1-section-mapping.md +0 -47
- package/bundle/skills/agentera/.claude-plugin/plugin.json +0 -27
- package/bundle/skills/agentera/agents/dokumentera.toml +0 -6
- package/bundle/skills/agentera/agents/hej.toml +0 -6
- package/bundle/skills/agentera/agents/inspektera.toml +0 -6
- package/bundle/skills/agentera/agents/inspirera.toml +0 -6
- package/bundle/skills/agentera/agents/optimera.toml +0 -6
- package/bundle/skills/agentera/agents/orkestrera.toml +0 -6
- package/bundle/skills/agentera/agents/planera.toml +0 -6
- package/bundle/skills/agentera/agents/profilera.toml +0 -6
- package/bundle/skills/agentera/agents/realisera.toml +0 -6
- package/bundle/skills/agentera/agents/resonera.toml +0 -6
- package/bundle/skills/agentera/agents/visionera.toml +0 -6
- package/bundle/skills/agentera/agents/visualisera.toml +0 -6
- package/bundle/skills/agentera/capabilities/dokumentera/instructions.md +0 -428
- package/bundle/skills/agentera/capabilities/hej/instructions.md +0 -331
- package/bundle/skills/agentera/capabilities/inspektera/instructions.md +0 -514
- package/bundle/skills/agentera/capabilities/inspektera/schemas/artifacts.yaml +0 -76
- package/bundle/skills/agentera/capabilities/inspirera/instructions.md +0 -280
- package/bundle/skills/agentera/capabilities/inspirera/schemas/artifacts.yaml +0 -24
- package/bundle/skills/agentera/capabilities/optimera/instructions.md +0 -437
- package/bundle/skills/agentera/capabilities/orkestrera/instructions.md +0 -433
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/artifacts.yaml +0 -64
- package/bundle/skills/agentera/capabilities/orkestrera/schemas/validation.yaml +0 -107
- package/bundle/skills/agentera/capabilities/planera/instructions.md +0 -368
- package/bundle/skills/agentera/capabilities/planera/schemas/artifacts.yaml +0 -62
- package/bundle/skills/agentera/capabilities/planera/schemas/validation.yaml +0 -61
- package/bundle/skills/agentera/capabilities/profilera/instructions.md +0 -419
- package/bundle/skills/agentera/capabilities/realisera/instructions.md +0 -403
- package/bundle/skills/agentera/capabilities/resonera/instructions.md +0 -329
- package/bundle/skills/agentera/capabilities/resonera/schemas/artifacts.yaml +0 -47
- package/bundle/skills/agentera/capabilities/visionera/instructions.md +0 -309
- package/bundle/skills/agentera/capabilities/visualisera/instructions.md +0 -400
- package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
- package/bundle/skills/hej/SKILL.md +0 -69
- package/bundle/skills/hej/agents/hej.toml +0 -11
- package/bundle/skills/hej/agents/openai.yaml +0 -8
- package/dist/cli/commands/state.js +0 -1012
- package/dist/cli/commands/state.js.map +0 -1
- package/dist/core/git.js +0 -43
- package/dist/core/git.js.map +0 -1
- package/dist/hooks/compaction.js +0 -935
- package/dist/hooks/compaction.js.map +0 -1
- package/dist/hooks/validateArtifact.js +0 -933
- package/dist/hooks/validateArtifact.js.map +0 -1
- package/dist/state/progressCommit.js +0 -289
- package/dist/state/progressCommit.js.map +0 -1
- /package/bundle/skills/agentera/capabilities/{dokumentera → document}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{inspirera → research}/schemas/exit.yaml +0 -0
- /package/bundle/skills/agentera/capabilities/{hej → status}/schemas/exit.yaml +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planTaskRetrieval.js","sourceRoot":"","sources":["../../src/state/planTaskRetrieval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import YAML from "yaml";
|
|
4
|
+
import { loadYamlMapping } from "../core/yaml.js";
|
|
5
|
+
import { resolveSourceRoot } from "../core/sourceRoot.js";
|
|
6
|
+
const AUTHORITY_RELATIVE_PATH = "references/artifacts/state-storage-authority.yaml";
|
|
7
|
+
const AUTHORITY_SCHEMA_VERSION = "agentera.stateStorageAuthority.v1";
|
|
8
|
+
const NUMBERED_ARTIFACTS = new Set(["progress", "decisions", "health"]);
|
|
9
|
+
function mapping(value) {
|
|
10
|
+
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
11
|
+
? value
|
|
12
|
+
: {};
|
|
13
|
+
}
|
|
14
|
+
function positiveInteger(value, field) {
|
|
15
|
+
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 1) {
|
|
16
|
+
throw new Error(`state storage authority field '${field}' must be a positive integer`);
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
export function loadProjectionPolicy(sourceRoot = resolveSourceRoot()) {
|
|
21
|
+
const authorityPath = path.join(sourceRoot, AUTHORITY_RELATIVE_PATH);
|
|
22
|
+
const authority = loadYamlMapping(fs.readFileSync(authorityPath, "utf8"));
|
|
23
|
+
if (authority.schema_version !== AUTHORITY_SCHEMA_VERSION) {
|
|
24
|
+
throw new Error(`state storage authority schema_version must be ${AUTHORITY_SCHEMA_VERSION}`);
|
|
25
|
+
}
|
|
26
|
+
const capacity = mapping(mapping(authority.projections).current).default_capacity;
|
|
27
|
+
const activeEntries = positiveInteger(mapping(capacity).active_entries, "projections.current.default_capacity.active_entries");
|
|
28
|
+
const summaryEntries = positiveInteger(mapping(capacity).summary_entries, "projections.current.default_capacity.summary_entries");
|
|
29
|
+
const totalEntries = positiveInteger(mapping(capacity).total_entries, "projections.current.default_capacity.total_entries");
|
|
30
|
+
if (activeEntries + summaryEntries !== totalEntries) {
|
|
31
|
+
throw new Error("state storage authority projection capacity must equal active plus summary entries");
|
|
32
|
+
}
|
|
33
|
+
const maxUtf8Bytes = positiveInteger(mapping(mapping(authority.budgets).projection).max_utf8_bytes, "budgets.projection.max_utf8_bytes");
|
|
34
|
+
return { activeEntries, summaryEntries, totalEntries, maxUtf8Bytes };
|
|
35
|
+
}
|
|
36
|
+
export function projectionRetrieval(command) {
|
|
37
|
+
if (NUMBERED_ARTIFACTS.has(command)) {
|
|
38
|
+
return { available: true, command: `agentera state ${command} get --number N --format json` };
|
|
39
|
+
}
|
|
40
|
+
if (command === "plan") {
|
|
41
|
+
return {
|
|
42
|
+
available: true,
|
|
43
|
+
list: "agentera state plan tasks list --format json",
|
|
44
|
+
get: "agentera state plan tasks get --task N --format json",
|
|
45
|
+
plans_list: "agentera state plan list --format json",
|
|
46
|
+
plans_get: "agentera state plan get --plan PLAN_ID --format json",
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
available: false,
|
|
51
|
+
reason: "unsupported_numbered_retrieval",
|
|
52
|
+
artifact_id: command,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export function projectionOmission(command, count, reason, options = {}) {
|
|
56
|
+
return {
|
|
57
|
+
omitted: options.forceOmitted ?? count > 0,
|
|
58
|
+
omitted_count: count,
|
|
59
|
+
omission_reason: reason,
|
|
60
|
+
retrieval: projectionRetrieval(command),
|
|
61
|
+
omission_provenance: options.provenance ?? null,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function serializedProjectionBytes(value, format) {
|
|
65
|
+
const serialized = format === "yaml" ? YAML.stringify(value, { sortMapEntries: false }) : JSON.stringify(value, null, 2) + "\n";
|
|
66
|
+
return Buffer.byteLength(serialized, "utf8");
|
|
67
|
+
}
|
|
68
|
+
function entryNumber(value, index) {
|
|
69
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
70
|
+
return [Number.POSITIVE_INFINITY, index];
|
|
71
|
+
const object = value;
|
|
72
|
+
const candidates = [object.entry_number, object.number];
|
|
73
|
+
for (const candidate of candidates) {
|
|
74
|
+
if (typeof candidate === "number" && Number.isSafeInteger(candidate))
|
|
75
|
+
return [candidate, index];
|
|
76
|
+
if (typeof candidate === "string" && /^[1-9][0-9]*$/.test(candidate))
|
|
77
|
+
return [Number(candidate), index];
|
|
78
|
+
}
|
|
79
|
+
const stableId = object.stable_id;
|
|
80
|
+
if (typeof stableId === "string") {
|
|
81
|
+
const match = /:(\d+)$/.exec(stableId);
|
|
82
|
+
if (match)
|
|
83
|
+
return [Number(match[1]), index];
|
|
84
|
+
}
|
|
85
|
+
return [Number.POSITIVE_INFINITY, index];
|
|
86
|
+
}
|
|
87
|
+
function omissionCount(value) {
|
|
88
|
+
const count = value.omitted_count;
|
|
89
|
+
return typeof count === "number" && Number.isSafeInteger(count) && count > 0 ? count : 0;
|
|
90
|
+
}
|
|
91
|
+
function boundedValue(value, itemKey, items, omittedCount, command) {
|
|
92
|
+
const result = { ...value, [itemKey]: items };
|
|
93
|
+
const existingCounts = result.counts;
|
|
94
|
+
if (itemKey === "entries" && existingCounts && typeof existingCounts === "object" && !Array.isArray(existingCounts)) {
|
|
95
|
+
result.counts = {
|
|
96
|
+
...existingCounts,
|
|
97
|
+
entries: items.length + omittedCount,
|
|
98
|
+
returned_entries: items.length,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
...result,
|
|
103
|
+
...projectionOmission(command, omittedCount, "projection_byte_budget", { forceOmitted: true }),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function minimalBudgetedProjection(command, omittedCount, policy, format) {
|
|
107
|
+
const omission = projectionOmission(command, omittedCount, "projection_required_fields_exceed_budget", {
|
|
108
|
+
forceOmitted: true,
|
|
109
|
+
provenance: {
|
|
110
|
+
source: "current_projection",
|
|
111
|
+
detail_availability: "unavailable",
|
|
112
|
+
compatibility: "degraded",
|
|
113
|
+
archive_verified: false,
|
|
114
|
+
omitted_count: omittedCount,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
const fallback = {
|
|
118
|
+
command,
|
|
119
|
+
status: "degraded",
|
|
120
|
+
entries: [],
|
|
121
|
+
counts: { entries: omittedCount, returned_entries: 0 },
|
|
122
|
+
source: { artifact: command, detail_availability: "unavailable", source: "current_projection" },
|
|
123
|
+
...omission,
|
|
124
|
+
error: {
|
|
125
|
+
class: "projection_output_budget",
|
|
126
|
+
message: "optional projection detail was omitted because required output fields exceeded the authority byte budget",
|
|
127
|
+
syntax: `agentera state ${command} --format json`,
|
|
128
|
+
example: `agentera state ${command} --format json`,
|
|
129
|
+
recovery: omission.retrieval.available === true
|
|
130
|
+
? String(omission.retrieval.command ?? omission.retrieval.list)
|
|
131
|
+
: "No direct retrieval route is declared for this artifact; use its supported state command.",
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
if (serializedProjectionBytes(fallback, format) <= policy.maxUtf8Bytes)
|
|
135
|
+
return fallback;
|
|
136
|
+
const minimal = {
|
|
137
|
+
command,
|
|
138
|
+
status: "degraded",
|
|
139
|
+
omitted: true,
|
|
140
|
+
omitted_count: omittedCount,
|
|
141
|
+
omission_reason: "projection_output_budget",
|
|
142
|
+
retrieval: omission.retrieval,
|
|
143
|
+
};
|
|
144
|
+
if (serializedProjectionBytes(minimal, format) > policy.maxUtf8Bytes) {
|
|
145
|
+
throw new Error(`projection output budget ${policy.maxUtf8Bytes} bytes is too small for required omission metadata`);
|
|
146
|
+
}
|
|
147
|
+
return minimal;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Bound a structured projection without truncating strings or splitting UTF-8.
|
|
151
|
+
* Entries are removed oldest-first by numeric identity; every removal is
|
|
152
|
+
* declared in the response and points at the future direct-get surface.
|
|
153
|
+
*/
|
|
154
|
+
export function boundStructuredProjection(value, command, format, policy = loadProjectionPolicy()) {
|
|
155
|
+
if (serializedProjectionBytes(value, format) <= policy.maxUtf8Bytes)
|
|
156
|
+
return value;
|
|
157
|
+
const itemKey = Array.isArray(value.entries)
|
|
158
|
+
? "entries"
|
|
159
|
+
: Array.isArray(value.operations)
|
|
160
|
+
? "operations"
|
|
161
|
+
: null;
|
|
162
|
+
if (itemKey === null)
|
|
163
|
+
return minimalBudgetedProjection(command, 0, policy, format);
|
|
164
|
+
const items = value[itemKey];
|
|
165
|
+
const removalOrder = items
|
|
166
|
+
.map((item, index) => ({ index, key: entryNumber(item, index) }))
|
|
167
|
+
.sort((left, right) => left.key[0] - right.key[0] || left.key[1] - right.key[1]);
|
|
168
|
+
let omitted = omissionCount(value);
|
|
169
|
+
let retained = [...items];
|
|
170
|
+
for (const candidate of removalOrder) {
|
|
171
|
+
if (serializedProjectionBytes(boundedValue(value, itemKey, retained, omitted, command), format) <= policy.maxUtf8Bytes) {
|
|
172
|
+
return boundedValue(value, itemKey, retained, omitted, command);
|
|
173
|
+
}
|
|
174
|
+
const retainedIndex = retained.indexOf(items[candidate.index]);
|
|
175
|
+
if (retainedIndex >= 0)
|
|
176
|
+
retained.splice(retainedIndex, 1);
|
|
177
|
+
omitted += 1;
|
|
178
|
+
}
|
|
179
|
+
let result = boundedValue(value, itemKey, retained, omitted, command);
|
|
180
|
+
if (serializedProjectionBytes(result, format) <= policy.maxUtf8Bytes)
|
|
181
|
+
return result;
|
|
182
|
+
return minimalBudgetedProjection(command, omitted, policy, format);
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=projectionPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectionPolicy.js","sourceRoot":"","sources":["../../src/state/projectionPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { loadYamlMapping } from "../core/yaml.js";
|
|
5
|
+
import { resolveSourceRoot } from "../core/sourceRoot.js";
|
|
6
|
+
export const STATE_RETRIEVAL_AUTHORITY_PATH = "references/artifacts/state-storage-authority.yaml";
|
|
7
|
+
export const STATE_RETRIEVAL_SCHEMA_VERSION = "agentera.stateRetrievalAuthority.v1";
|
|
8
|
+
const COLLECTION_FIELDS = [
|
|
9
|
+
"collection_id",
|
|
10
|
+
"artifact_id",
|
|
11
|
+
"growth",
|
|
12
|
+
"identity",
|
|
13
|
+
"storage_ownership",
|
|
14
|
+
"ordering",
|
|
15
|
+
"bounds",
|
|
16
|
+
"cursor",
|
|
17
|
+
"omission",
|
|
18
|
+
"get",
|
|
19
|
+
];
|
|
20
|
+
const EXPECTED_COLLECTIONS = [
|
|
21
|
+
"progress.records",
|
|
22
|
+
"decisions.records",
|
|
23
|
+
"health.records",
|
|
24
|
+
"plan.plans",
|
|
25
|
+
"plan.tasks",
|
|
26
|
+
"experiments.records",
|
|
27
|
+
"todo.items",
|
|
28
|
+
"docs.entries",
|
|
29
|
+
"changelog.entries",
|
|
30
|
+
];
|
|
31
|
+
const EXPECTED_FAILURES = [
|
|
32
|
+
"invalid_request",
|
|
33
|
+
"unsupported_artifact",
|
|
34
|
+
"not_found",
|
|
35
|
+
"ambiguous",
|
|
36
|
+
"corrupt",
|
|
37
|
+
"incomplete",
|
|
38
|
+
"cursor_invalid",
|
|
39
|
+
"cursor_snapshot_unavailable",
|
|
40
|
+
"unsupported_state",
|
|
41
|
+
];
|
|
42
|
+
const EXPECTED_COMMANDS = {
|
|
43
|
+
plan_tasks: {
|
|
44
|
+
list: "agentera state plan tasks list [--plan PLAN_ID] [--limit N] [--cursor TOKEN] --format json",
|
|
45
|
+
get: "agentera state plan tasks get [--plan PLAN_ID] --task N --format json",
|
|
46
|
+
},
|
|
47
|
+
plans: {
|
|
48
|
+
list: "agentera state plan list [--limit N] [--cursor TOKEN] --format json",
|
|
49
|
+
get: "agentera state plan get --plan PLAN_ID --format json",
|
|
50
|
+
},
|
|
51
|
+
experiments: {
|
|
52
|
+
list: "agentera state experiments list --objective OBJECTIVE_ID [--limit N] [--cursor TOKEN] --format json",
|
|
53
|
+
get: "agentera state experiments get --objective OBJECTIVE_ID --number N --format json",
|
|
54
|
+
publish: "agentera state experiments publish --objective OBJECTIVE_ID --number N --input EXPERIMENT.yaml --format json",
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
const EXPECTED_IMPLEMENTATION = {
|
|
58
|
+
plan_tasks: "implemented",
|
|
59
|
+
plans: "implemented",
|
|
60
|
+
experiments: "implemented",
|
|
61
|
+
};
|
|
62
|
+
function mapping(value) {
|
|
63
|
+
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
64
|
+
? value
|
|
65
|
+
: {};
|
|
66
|
+
}
|
|
67
|
+
function strings(value) {
|
|
68
|
+
return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
|
|
69
|
+
}
|
|
70
|
+
function requireNonEmpty(record, field, prefix, errors) {
|
|
71
|
+
if (typeof record[field] !== "string" || String(record[field]).trim() === "")
|
|
72
|
+
errors.push(`${prefix}.${field}`);
|
|
73
|
+
}
|
|
74
|
+
function patternAccepts(pattern, accepted, rejected, prefix, errors) {
|
|
75
|
+
if (typeof pattern !== "string") {
|
|
76
|
+
errors.push(`${prefix}.pattern`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
let expression;
|
|
80
|
+
try {
|
|
81
|
+
expression = new RegExp(pattern);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
errors.push(`${prefix}.pattern_invalid`);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (accepted.some((value) => !expression.test(value)))
|
|
88
|
+
errors.push(`${prefix}.accepted_examples`);
|
|
89
|
+
if (rejected.some((value) => expression.test(value)))
|
|
90
|
+
errors.push(`${prefix}.rejected_examples`);
|
|
91
|
+
}
|
|
92
|
+
function sha256(value) {
|
|
93
|
+
return createHash("sha256").update(value, "utf8").digest("hex");
|
|
94
|
+
}
|
|
95
|
+
export function deriveLegacyPlanIdentity(canonicalJson) {
|
|
96
|
+
return `legacy-plan:${sha256(canonicalJson)}`;
|
|
97
|
+
}
|
|
98
|
+
export function deriveLegacyObjectiveIdentity(canonicalJson) {
|
|
99
|
+
return `legacy-objective:${sha256(canonicalJson)}`;
|
|
100
|
+
}
|
|
101
|
+
export function validateExperimentPublicationParity(value) {
|
|
102
|
+
const errors = [];
|
|
103
|
+
const publication = mapping(mapping(mapping(value.retrieval).identity).experiment);
|
|
104
|
+
const publicationContract = mapping(publication.publication);
|
|
105
|
+
const archive = mapping(value.experiment_archival);
|
|
106
|
+
const archiveLayout = mapping(archive.layout);
|
|
107
|
+
const archivePublication = mapping(archive.publication);
|
|
108
|
+
const archiveProjection = mapping(archive.projection);
|
|
109
|
+
if (publicationContract.authority !== "typed_state_writer") {
|
|
110
|
+
errors.push("retrieval.identity.experiment.publication.authority");
|
|
111
|
+
}
|
|
112
|
+
if (publicationContract.archive_ownership !== "experiment_archival" || archive.status !== "implemented") {
|
|
113
|
+
errors.push("retrieval.identity.experiment.publication.archive_ownership");
|
|
114
|
+
}
|
|
115
|
+
if (publicationContract.storage_scope !== "objective_directory"
|
|
116
|
+
|| publicationContract.storage_scope !== archiveLayout.ownership) {
|
|
117
|
+
errors.push("retrieval.identity.experiment.publication.storage_scope");
|
|
118
|
+
}
|
|
119
|
+
if (publicationContract.publication_order !== "archive_before_projection"
|
|
120
|
+
|| archivePublication.archive_before_projection !== true) {
|
|
121
|
+
errors.push("retrieval.identity.experiment.publication.publication_order");
|
|
122
|
+
}
|
|
123
|
+
if (publicationContract.projection_policy !== "uniform_10_40_50"
|
|
124
|
+
|| publicationContract.projection_policy !== archiveProjection.policy) {
|
|
125
|
+
errors.push("retrieval.identity.experiment.publication.projection_policy");
|
|
126
|
+
}
|
|
127
|
+
return errors;
|
|
128
|
+
}
|
|
129
|
+
/** Validate executable retrieval fields and their declared publication/storage seams. */
|
|
130
|
+
export function validateStateRetrievalAuthority(value) {
|
|
131
|
+
const errors = [];
|
|
132
|
+
const retrieval = mapping(value.retrieval);
|
|
133
|
+
if (retrieval.schema_version !== STATE_RETRIEVAL_SCHEMA_VERSION)
|
|
134
|
+
errors.push("retrieval.schema_version");
|
|
135
|
+
if (retrieval.status !== "plan_task_plan_and_experiment_retrieval_implemented")
|
|
136
|
+
errors.push("retrieval.status");
|
|
137
|
+
const implementation = mapping(retrieval.implementation);
|
|
138
|
+
for (const [surface, status] of Object.entries(EXPECTED_IMPLEMENTATION)) {
|
|
139
|
+
if (implementation[surface] !== status)
|
|
140
|
+
errors.push(`retrieval.implementation.${surface}`);
|
|
141
|
+
}
|
|
142
|
+
requireNonEmpty(retrieval, "authority_boundary", "retrieval", errors);
|
|
143
|
+
const envelope = mapping(retrieval.envelope);
|
|
144
|
+
for (const field of ["schemaVersion", "command", "status", "entries", "counts", "order", "filters", "snapshot", "source", "source_contract"]) {
|
|
145
|
+
if (!strings(envelope.required_fields).includes(field))
|
|
146
|
+
errors.push(`retrieval.envelope.required_fields.${field}`);
|
|
147
|
+
}
|
|
148
|
+
const cursor = mapping(retrieval.cursor);
|
|
149
|
+
for (const field of ["vocabulary", "response_field", "binding", "invalid_behavior", "unavailable_behavior"]) {
|
|
150
|
+
if (!(field in cursor))
|
|
151
|
+
errors.push(`retrieval.cursor.${field}`);
|
|
152
|
+
}
|
|
153
|
+
const omission = mapping(retrieval.omission);
|
|
154
|
+
for (const field of ["omitted", "omitted_count", "omission_reason", "retrieval"]) {
|
|
155
|
+
if (!strings(omission.required_when_any_entry_is_not_returned).includes(field)) {
|
|
156
|
+
errors.push(`retrieval.omission.required_when_any_entry_is_not_returned.${field}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
requireNonEmpty(omission, "semantics", "retrieval.omission", errors);
|
|
160
|
+
const outputBounds = mapping(retrieval.output_bounds);
|
|
161
|
+
if (outputBounds.maximum_limit !== 100)
|
|
162
|
+
errors.push("retrieval.output_bounds.maximum_limit");
|
|
163
|
+
if (outputBounds.max_serialized_utf8_bytes !== 32_768)
|
|
164
|
+
errors.push("retrieval.output_bounds.max_serialized_utf8_bytes");
|
|
165
|
+
if (outputBounds.scalar_truncation !== "forbidden")
|
|
166
|
+
errors.push("retrieval.output_bounds.scalar_truncation");
|
|
167
|
+
if (outputBounds.omission_unit !== "whole_entries")
|
|
168
|
+
errors.push("retrieval.output_bounds.omission_unit");
|
|
169
|
+
const identities = mapping(retrieval.identity);
|
|
170
|
+
for (const name of ["plan", "task", "objective", "experiment"]) {
|
|
171
|
+
if (Object.keys(mapping(identities[name])).length === 0)
|
|
172
|
+
errors.push(`retrieval.identity.${name}`);
|
|
173
|
+
}
|
|
174
|
+
const planIdentity = mapping(identities.plan);
|
|
175
|
+
for (const field of ["canonical_format", "persistence", "transition", "legacy_format", "legacy_derivation", "collision"]) {
|
|
176
|
+
requireNonEmpty(planIdentity, field, "retrieval.identity.plan", errors);
|
|
177
|
+
}
|
|
178
|
+
if (!Array.isArray(planIdentity.test_vectors) || planIdentity.test_vectors.length === 0) {
|
|
179
|
+
errors.push("retrieval.identity.plan.test_vectors");
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
for (const [index, raw] of planIdentity.test_vectors.entries()) {
|
|
183
|
+
const vector = mapping(raw);
|
|
184
|
+
const canonicalJson = String(vector.canonical_json ?? "");
|
|
185
|
+
try {
|
|
186
|
+
JSON.parse(canonicalJson);
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
errors.push(`retrieval.identity.plan.test_vectors[${index}].canonical_json`);
|
|
190
|
+
}
|
|
191
|
+
if (vector.stable_id !== deriveLegacyPlanIdentity(canonicalJson))
|
|
192
|
+
errors.push(`retrieval.identity.plan.test_vectors[${index}].stable_id`);
|
|
193
|
+
if (vector.identical_result !== "mirrored_provenance")
|
|
194
|
+
errors.push(`retrieval.identity.plan.test_vectors[${index}].identical_result`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
const objectiveIdentity = mapping(identities.objective);
|
|
198
|
+
for (const field of ["canonical_format", "persistence", "canonical_root", "legacy_root", "legacy_format", "legacy_derivation", "path_compatibility"]) {
|
|
199
|
+
requireNonEmpty(objectiveIdentity, field, "retrieval.identity.objective", errors);
|
|
200
|
+
}
|
|
201
|
+
if (!Array.isArray(objectiveIdentity.test_vectors) || objectiveIdentity.test_vectors.length === 0) {
|
|
202
|
+
errors.push("retrieval.identity.objective.test_vectors");
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
for (const [index, raw] of objectiveIdentity.test_vectors.entries()) {
|
|
206
|
+
const vector = mapping(raw);
|
|
207
|
+
const canonicalJson = String(vector.canonical_json ?? "");
|
|
208
|
+
try {
|
|
209
|
+
JSON.parse(canonicalJson);
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
errors.push(`retrieval.identity.objective.test_vectors[${index}].canonical_json`);
|
|
213
|
+
}
|
|
214
|
+
if (vector.stable_id !== deriveLegacyObjectiveIdentity(canonicalJson)) {
|
|
215
|
+
errors.push(`retrieval.identity.objective.test_vectors[${index}].stable_id`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const experimentIdentity = mapping(identities.experiment);
|
|
220
|
+
if (!String(experimentIdentity.format ?? "").includes("non-negative-integer"))
|
|
221
|
+
errors.push("retrieval.identity.experiment.format");
|
|
222
|
+
if (!String(experimentIdentity.zero ?? "").includes("0 is valid"))
|
|
223
|
+
errors.push("retrieval.identity.experiment.zero");
|
|
224
|
+
for (const field of ["scope", "collision", "compatibility", "publication_validation"]) {
|
|
225
|
+
requireNonEmpty(experimentIdentity, field, "retrieval.identity.experiment", errors);
|
|
226
|
+
}
|
|
227
|
+
errors.push(...validateExperimentPublicationParity(value));
|
|
228
|
+
const commands = mapping(retrieval.commands);
|
|
229
|
+
for (const [name, grammar] of Object.entries(EXPECTED_COMMANDS)) {
|
|
230
|
+
const command = mapping(commands[name]);
|
|
231
|
+
if (command.list !== grammar.list)
|
|
232
|
+
errors.push(`retrieval.commands.${name}.list`);
|
|
233
|
+
if (command.get !== grammar.get)
|
|
234
|
+
errors.push(`retrieval.commands.${name}.get`);
|
|
235
|
+
if ("publish" in grammar && command.publish !== grammar.publish)
|
|
236
|
+
errors.push(`retrieval.commands.${name}.publish`);
|
|
237
|
+
}
|
|
238
|
+
const planTaskSelectors = mapping(mapping(commands.plan_tasks).selectors);
|
|
239
|
+
const planTaskPlanSelector = mapping(planTaskSelectors.plan);
|
|
240
|
+
if (planTaskPlanSelector.list_required !== false || planTaskPlanSelector.get_required !== false) {
|
|
241
|
+
errors.push("retrieval.commands.plan_tasks.selectors.plan.required");
|
|
242
|
+
}
|
|
243
|
+
for (const field of ["list_default", "get_default"]) {
|
|
244
|
+
requireNonEmpty(planTaskPlanSelector, field, "retrieval.commands.plan_tasks.selectors.plan", errors);
|
|
245
|
+
}
|
|
246
|
+
patternAccepts(planTaskPlanSelector.pattern, ["plan:018f6b9a-7c2d-7abc-8def-0123456789ab", `legacy-plan:${"a".repeat(64)}`], ["plan:-", "plan:not-a-uuid", `legacy-plan:${"a".repeat(63)}`], "retrieval.commands.plan_tasks.selectors.plan", errors);
|
|
247
|
+
const taskSelector = mapping(planTaskSelectors.task);
|
|
248
|
+
if (taskSelector.get_required !== true)
|
|
249
|
+
errors.push("retrieval.commands.plan_tasks.selectors.task.get_required");
|
|
250
|
+
patternAccepts(taskSelector.pattern, ["1", "42"], ["0", "-1", "01"], "retrieval.commands.plan_tasks.selectors.task", errors);
|
|
251
|
+
const planSelector = mapping(mapping(mapping(commands.plans).selectors).plan);
|
|
252
|
+
if (planSelector.get_required !== true)
|
|
253
|
+
errors.push("retrieval.commands.plans.selectors.plan.get_required");
|
|
254
|
+
patternAccepts(planSelector.pattern, ["plan:018f6b9a-7c2d-7abc-8def-0123456789ab", `legacy-plan:${"a".repeat(64)}`], ["plan:-", "plan:not-a-uuid", `legacy-plan:${"a".repeat(63)}`], "retrieval.commands.plans.selectors.plan", errors);
|
|
255
|
+
const experimentSelectors = mapping(mapping(commands.experiments).selectors);
|
|
256
|
+
const objectiveSelector = mapping(experimentSelectors.objective);
|
|
257
|
+
if (objectiveSelector.list_required !== true || objectiveSelector.get_required !== true) {
|
|
258
|
+
errors.push("retrieval.commands.experiments.selectors.objective.required");
|
|
259
|
+
}
|
|
260
|
+
patternAccepts(objectiveSelector.pattern, ["objective:018f6b9a-7c2d-7abc-8def-0123456789ab", `legacy-objective:${"b".repeat(64)}`], ["objective:-", "objective:not-a-uuid", `legacy-objective:${"b".repeat(63)}`], "retrieval.commands.experiments.selectors.objective", errors);
|
|
261
|
+
const experimentNumber = mapping(experimentSelectors.number);
|
|
262
|
+
if (experimentNumber.get_required !== true)
|
|
263
|
+
errors.push("retrieval.commands.experiments.selectors.number.get_required");
|
|
264
|
+
patternAccepts(experimentNumber.pattern, ["0", "1", "42"], ["-1", "01", "1.0"], "retrieval.commands.experiments.selectors.number", errors);
|
|
265
|
+
const failures = mapping(retrieval.failures);
|
|
266
|
+
for (const field of ["class", "message", "syntax", "example", "recovery"]) {
|
|
267
|
+
if (!strings(failures.required_fields).includes(field))
|
|
268
|
+
errors.push(`retrieval.failures.required_fields.${field}`);
|
|
269
|
+
}
|
|
270
|
+
const failureClasses = mapping(failures.classes);
|
|
271
|
+
for (const name of EXPECTED_FAILURES)
|
|
272
|
+
requireNonEmpty(failureClasses, name, "retrieval.failures.classes", errors);
|
|
273
|
+
const collectionValues = Array.isArray(retrieval.collections) ? retrieval.collections : [];
|
|
274
|
+
const collectionIds = [];
|
|
275
|
+
collectionValues.forEach((value, index) => {
|
|
276
|
+
const collection = mapping(value);
|
|
277
|
+
const prefix = `retrieval.collections[${index}]`;
|
|
278
|
+
for (const field of COLLECTION_FIELDS)
|
|
279
|
+
requireNonEmpty(collection, field, prefix, errors);
|
|
280
|
+
if (typeof collection.collection_id === "string")
|
|
281
|
+
collectionIds.push(collection.collection_id);
|
|
282
|
+
});
|
|
283
|
+
if (new Set(collectionIds).size !== collectionIds.length)
|
|
284
|
+
errors.push("retrieval.collections.duplicate_collection_id");
|
|
285
|
+
for (const id of EXPECTED_COLLECTIONS) {
|
|
286
|
+
if (!collectionIds.includes(id))
|
|
287
|
+
errors.push(`retrieval.collections.missing.${id}`);
|
|
288
|
+
}
|
|
289
|
+
const gaps = Array.isArray(retrieval.gap_closure_evidence) ? retrieval.gap_closure_evidence : [];
|
|
290
|
+
for (const surface of ["plan", "experiments"]) {
|
|
291
|
+
if (!gaps.some((value) => String(mapping(value).surface ?? "").includes(surface))) {
|
|
292
|
+
errors.push(`retrieval.gap_closure_evidence.${surface}`);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
gaps.forEach((value, index) => {
|
|
296
|
+
const gap = mapping(value);
|
|
297
|
+
for (const field of ["surface", "declared_gap", "closure"]) {
|
|
298
|
+
requireNonEmpty(gap, field, `retrieval.gap_closure_evidence[${index}]`, errors);
|
|
299
|
+
}
|
|
300
|
+
if (gap.outcome !== "closed" && gap.outcome !== "out_of_scope") {
|
|
301
|
+
errors.push(`retrieval.gap_closure_evidence[${index}].outcome`);
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
const diagnostics = mapping(retrieval.plan_archive_diagnostics);
|
|
305
|
+
if (diagnostics.classification !== "pre_existing_compatibility_caveat") {
|
|
306
|
+
errors.push("retrieval.plan_archive_diagnostics.classification");
|
|
307
|
+
}
|
|
308
|
+
requireNonEmpty(diagnostics, "smoke_test_behavior", "retrieval.plan_archive_diagnostics", errors);
|
|
309
|
+
return errors;
|
|
310
|
+
}
|
|
311
|
+
export function loadStateRetrievalAuthority(sourceRoot = resolveSourceRoot()) {
|
|
312
|
+
const authorityPath = path.join(sourceRoot, STATE_RETRIEVAL_AUTHORITY_PATH);
|
|
313
|
+
const value = loadYamlMapping(fs.readFileSync(authorityPath, "utf8"));
|
|
314
|
+
const errors = validateStateRetrievalAuthority(value);
|
|
315
|
+
if (errors.length > 0)
|
|
316
|
+
throw new Error(`invalid state retrieval authority: ${errors.join(", ")}`);
|
|
317
|
+
return {
|
|
318
|
+
authority: STATE_RETRIEVAL_AUTHORITY_PATH,
|
|
319
|
+
retrieval: value.retrieval,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
export function stateRetrievalCommands(sourceRoot = resolveSourceRoot()) {
|
|
323
|
+
const commands = mapping(loadStateRetrievalAuthority(sourceRoot).retrieval.commands);
|
|
324
|
+
return commands;
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=retrievalAuthority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrievalAuthority.js","sourceRoot":"","sources":["../../src/state/retrievalAuthority.ts"],"names":[],"mappings":"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"}
|