raptor-aios 0.1.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/CHANGELOG.md +26 -0
- package/LICENSE +21 -0
- package/README.md +315 -0
- package/bin/raptor.js +5 -0
- package/dist/_core/dist/agents/adapters/antigravity.d.ts +9 -0
- package/dist/_core/dist/agents/adapters/antigravity.d.ts.map +1 -0
- package/dist/_core/dist/agents/adapters/antigravity.js +72 -0
- package/dist/_core/dist/agents/adapters/antigravity.js.map +1 -0
- package/dist/_core/dist/agents/adapters/claude-code.d.ts +9 -0
- package/dist/_core/dist/agents/adapters/claude-code.d.ts.map +1 -0
- package/dist/_core/dist/agents/adapters/claude-code.js +71 -0
- package/dist/_core/dist/agents/adapters/claude-code.js.map +1 -0
- package/dist/_core/dist/agents/adapters/codex.d.ts +12 -0
- package/dist/_core/dist/agents/adapters/codex.d.ts.map +1 -0
- package/dist/_core/dist/agents/adapters/codex.js +69 -0
- package/dist/_core/dist/agents/adapters/codex.js.map +1 -0
- package/dist/_core/dist/agents/adapters/copilot.d.ts +12 -0
- package/dist/_core/dist/agents/adapters/copilot.d.ts.map +1 -0
- package/dist/_core/dist/agents/adapters/copilot.js +71 -0
- package/dist/_core/dist/agents/adapters/copilot.js.map +1 -0
- package/dist/_core/dist/agents/adapters/cursor.d.ts +9 -0
- package/dist/_core/dist/agents/adapters/cursor.d.ts.map +1 -0
- package/dist/_core/dist/agents/adapters/cursor.js +62 -0
- package/dist/_core/dist/agents/adapters/cursor.js.map +1 -0
- package/dist/_core/dist/agents/adapters/gemini.d.ts +11 -0
- package/dist/_core/dist/agents/adapters/gemini.d.ts.map +1 -0
- package/dist/_core/dist/agents/adapters/gemini.js +68 -0
- package/dist/_core/dist/agents/adapters/gemini.js.map +1 -0
- package/dist/_core/dist/agents/adapters/human.d.ts +10 -0
- package/dist/_core/dist/agents/adapters/human.d.ts.map +1 -0
- package/dist/_core/dist/agents/adapters/human.js +48 -0
- package/dist/_core/dist/agents/adapters/human.js.map +1 -0
- package/dist/_core/dist/agents/artifact-watcher.d.ts +86 -0
- package/dist/_core/dist/agents/artifact-watcher.d.ts.map +1 -0
- package/dist/_core/dist/agents/artifact-watcher.js +214 -0
- package/dist/_core/dist/agents/artifact-watcher.js.map +1 -0
- package/dist/_core/dist/agents/backup.d.ts +69 -0
- package/dist/_core/dist/agents/backup.d.ts.map +1 -0
- package/dist/_core/dist/agents/backup.js +107 -0
- package/dist/_core/dist/agents/backup.js.map +1 -0
- package/dist/_core/dist/agents/config.d.ts +36 -0
- package/dist/_core/dist/agents/config.d.ts.map +1 -0
- package/dist/_core/dist/agents/config.js +270 -0
- package/dist/_core/dist/agents/config.js.map +1 -0
- package/dist/_core/dist/agents/context-file.d.ts +35 -0
- package/dist/_core/dist/agents/context-file.d.ts.map +1 -0
- package/dist/_core/dist/agents/context-file.js +106 -0
- package/dist/_core/dist/agents/context-file.js.map +1 -0
- package/dist/_core/dist/agents/handoff.d.ts +57 -0
- package/dist/_core/dist/agents/handoff.d.ts.map +1 -0
- package/dist/_core/dist/agents/handoff.js +71 -0
- package/dist/_core/dist/agents/handoff.js.map +1 -0
- package/dist/_core/dist/agents/index.d.ts +32 -0
- package/dist/_core/dist/agents/index.d.ts.map +1 -0
- package/dist/_core/dist/agents/index.js +37 -0
- package/dist/_core/dist/agents/index.js.map +1 -0
- package/dist/_core/dist/agents/keys.d.ts +50 -0
- package/dist/_core/dist/agents/keys.d.ts.map +1 -0
- package/dist/_core/dist/agents/keys.js +91 -0
- package/dist/_core/dist/agents/keys.js.map +1 -0
- package/dist/_core/dist/agents/materialize.d.ts +37 -0
- package/dist/_core/dist/agents/materialize.d.ts.map +1 -0
- package/dist/_core/dist/agents/materialize.js +157 -0
- package/dist/_core/dist/agents/materialize.js.map +1 -0
- package/dist/_core/dist/agents/prompt-builder.d.ts +35 -0
- package/dist/_core/dist/agents/prompt-builder.d.ts.map +1 -0
- package/dist/_core/dist/agents/prompt-builder.js +261 -0
- package/dist/_core/dist/agents/prompt-builder.js.map +1 -0
- package/dist/_core/dist/agents/prompt-markers.d.ts +69 -0
- package/dist/_core/dist/agents/prompt-markers.d.ts.map +1 -0
- package/dist/_core/dist/agents/prompt-markers.js +111 -0
- package/dist/_core/dist/agents/prompt-markers.js.map +1 -0
- package/dist/_core/dist/agents/registry.d.ts +35 -0
- package/dist/_core/dist/agents/registry.d.ts.map +1 -0
- package/dist/_core/dist/agents/registry.js +102 -0
- package/dist/_core/dist/agents/registry.js.map +1 -0
- package/dist/_core/dist/agents/selector.d.ts +33 -0
- package/dist/_core/dist/agents/selector.d.ts.map +1 -0
- package/dist/_core/dist/agents/selector.js +120 -0
- package/dist/_core/dist/agents/selector.js.map +1 -0
- package/dist/_core/dist/agents/slash-materializer.d.ts +63 -0
- package/dist/_core/dist/agents/slash-materializer.d.ts.map +1 -0
- package/dist/_core/dist/agents/slash-materializer.js +131 -0
- package/dist/_core/dist/agents/slash-materializer.js.map +1 -0
- package/dist/_core/dist/agents/types.d.ts +121 -0
- package/dist/_core/dist/agents/types.d.ts.map +1 -0
- package/dist/_core/dist/agents/types.js +10 -0
- package/dist/_core/dist/agents/types.js.map +1 -0
- package/dist/_core/dist/audit/hash.d.ts +4 -0
- package/dist/_core/dist/audit/hash.d.ts.map +1 -0
- package/dist/_core/dist/audit/hash.js +12 -0
- package/dist/_core/dist/audit/hash.js.map +1 -0
- package/dist/_core/dist/audit/index.d.ts +6 -0
- package/dist/_core/dist/audit/index.d.ts.map +1 -0
- package/dist/_core/dist/audit/index.js +6 -0
- package/dist/_core/dist/audit/index.js.map +1 -0
- package/dist/_core/dist/audit/logger.d.ts +77 -0
- package/dist/_core/dist/audit/logger.d.ts.map +1 -0
- package/dist/_core/dist/audit/logger.js +93 -0
- package/dist/_core/dist/audit/logger.js.map +1 -0
- package/dist/_core/dist/audit/query.d.ts +13 -0
- package/dist/_core/dist/audit/query.d.ts.map +1 -0
- package/dist/_core/dist/audit/query.js +57 -0
- package/dist/_core/dist/audit/query.js.map +1 -0
- package/dist/_core/dist/audit/schema.d.ts +455 -0
- package/dist/_core/dist/audit/schema.d.ts.map +1 -0
- package/dist/_core/dist/audit/schema.js +341 -0
- package/dist/_core/dist/audit/schema.js.map +1 -0
- package/dist/_core/dist/audit/validate.d.ts +21 -0
- package/dist/_core/dist/audit/validate.d.ts.map +1 -0
- package/dist/_core/dist/audit/validate.js +139 -0
- package/dist/_core/dist/audit/validate.js.map +1 -0
- package/dist/_core/dist/constitution/core.d.ts +22 -0
- package/dist/_core/dist/constitution/core.d.ts.map +1 -0
- package/dist/_core/dist/constitution/core.js +102 -0
- package/dist/_core/dist/constitution/core.js.map +1 -0
- package/dist/_core/dist/constitution/index.d.ts +2 -0
- package/dist/_core/dist/constitution/index.d.ts.map +1 -0
- package/dist/_core/dist/constitution/index.js +2 -0
- package/dist/_core/dist/constitution/index.js.map +1 -0
- package/dist/_core/dist/extensions/index.d.ts +12 -0
- package/dist/_core/dist/extensions/index.d.ts.map +1 -0
- package/dist/_core/dist/extensions/index.js +12 -0
- package/dist/_core/dist/extensions/index.js.map +1 -0
- package/dist/_core/dist/extensions/integrate.d.ts +69 -0
- package/dist/_core/dist/extensions/integrate.d.ts.map +1 -0
- package/dist/_core/dist/extensions/integrate.js +181 -0
- package/dist/_core/dist/extensions/integrate.js.map +1 -0
- package/dist/_core/dist/extensions/loader.d.ts +24 -0
- package/dist/_core/dist/extensions/loader.d.ts.map +1 -0
- package/dist/_core/dist/extensions/loader.js +73 -0
- package/dist/_core/dist/extensions/loader.js.map +1 -0
- package/dist/_core/dist/extensions/manifest.d.ts +23 -0
- package/dist/_core/dist/extensions/manifest.d.ts.map +1 -0
- package/dist/_core/dist/extensions/manifest.js +176 -0
- package/dist/_core/dist/extensions/manifest.js.map +1 -0
- package/dist/_core/dist/extensions/registry.d.ts +32 -0
- package/dist/_core/dist/extensions/registry.d.ts.map +1 -0
- package/dist/_core/dist/extensions/registry.js +57 -0
- package/dist/_core/dist/extensions/registry.js.map +1 -0
- package/dist/_core/dist/extensions/resolver.d.ts +55 -0
- package/dist/_core/dist/extensions/resolver.d.ts.map +1 -0
- package/dist/_core/dist/extensions/resolver.js +143 -0
- package/dist/_core/dist/extensions/resolver.js.map +1 -0
- package/dist/_core/dist/extensions/types.d.ts +173 -0
- package/dist/_core/dist/extensions/types.d.ts.map +1 -0
- package/dist/_core/dist/extensions/types.js +83 -0
- package/dist/_core/dist/extensions/types.js.map +1 -0
- package/dist/_core/dist/frontmatter/index.d.ts +10 -0
- package/dist/_core/dist/frontmatter/index.d.ts.map +1 -0
- package/dist/_core/dist/frontmatter/index.js +24 -0
- package/dist/_core/dist/frontmatter/index.js.map +1 -0
- package/dist/_core/dist/gates/agent-gates.d.ts +16 -0
- package/dist/_core/dist/gates/agent-gates.d.ts.map +1 -0
- package/dist/_core/dist/gates/agent-gates.js +205 -0
- package/dist/_core/dist/gates/agent-gates.js.map +1 -0
- package/dist/_core/dist/gates/builtin.d.ts +18 -0
- package/dist/_core/dist/gates/builtin.d.ts.map +1 -0
- package/dist/_core/dist/gates/builtin.js +860 -0
- package/dist/_core/dist/gates/builtin.js.map +1 -0
- package/dist/_core/dist/gates/index.d.ts +7 -0
- package/dist/_core/dist/gates/index.d.ts.map +1 -0
- package/dist/_core/dist/gates/index.js +7 -0
- package/dist/_core/dist/gates/index.js.map +1 -0
- package/dist/_core/dist/gates/m7-gates.d.ts +17 -0
- package/dist/_core/dist/gates/m7-gates.d.ts.map +1 -0
- package/dist/_core/dist/gates/m7-gates.js +309 -0
- package/dist/_core/dist/gates/m7-gates.js.map +1 -0
- package/dist/_core/dist/gates/phase-gates.d.ts +18 -0
- package/dist/_core/dist/gates/phase-gates.d.ts.map +1 -0
- package/dist/_core/dist/gates/phase-gates.js +275 -0
- package/dist/_core/dist/gates/phase-gates.js.map +1 -0
- package/dist/_core/dist/gates/runner.d.ts +4 -0
- package/dist/_core/dist/gates/runner.d.ts.map +1 -0
- package/dist/_core/dist/gates/runner.js +64 -0
- package/dist/_core/dist/gates/runner.js.map +1 -0
- package/dist/_core/dist/gates/types.d.ts +36 -0
- package/dist/_core/dist/gates/types.d.ts.map +1 -0
- package/dist/_core/dist/gates/types.js +2 -0
- package/dist/_core/dist/gates/types.js.map +1 -0
- package/dist/_core/dist/hooks/index.d.ts +4 -0
- package/dist/_core/dist/hooks/index.d.ts.map +1 -0
- package/dist/_core/dist/hooks/index.js +4 -0
- package/dist/_core/dist/hooks/index.js.map +1 -0
- package/dist/_core/dist/hooks/runner.d.ts +28 -0
- package/dist/_core/dist/hooks/runner.d.ts.map +1 -0
- package/dist/_core/dist/hooks/runner.js +294 -0
- package/dist/_core/dist/hooks/runner.js.map +1 -0
- package/dist/_core/dist/hooks/runtime.d.ts +65 -0
- package/dist/_core/dist/hooks/runtime.d.ts.map +1 -0
- package/dist/_core/dist/hooks/runtime.js +212 -0
- package/dist/_core/dist/hooks/runtime.js.map +1 -0
- package/dist/_core/dist/hooks/types.d.ts +36 -0
- package/dist/_core/dist/hooks/types.d.ts.map +1 -0
- package/dist/_core/dist/hooks/types.js +23 -0
- package/dist/_core/dist/hooks/types.js.map +1 -0
- package/dist/_core/dist/index.d.ts +21 -0
- package/dist/_core/dist/index.d.ts.map +1 -0
- package/dist/_core/dist/index.js +20 -0
- package/dist/_core/dist/index.js.map +1 -0
- package/dist/_core/dist/manifest/index.d.ts +119 -0
- package/dist/_core/dist/manifest/index.d.ts.map +1 -0
- package/dist/_core/dist/manifest/index.js +125 -0
- package/dist/_core/dist/manifest/index.js.map +1 -0
- package/dist/_core/dist/markers/index.d.ts +47 -0
- package/dist/_core/dist/markers/index.d.ts.map +1 -0
- package/dist/_core/dist/markers/index.js +97 -0
- package/dist/_core/dist/markers/index.js.map +1 -0
- package/dist/_core/dist/mcp/config.d.ts +19 -0
- package/dist/_core/dist/mcp/config.d.ts.map +1 -0
- package/dist/_core/dist/mcp/config.js +114 -0
- package/dist/_core/dist/mcp/config.js.map +1 -0
- package/dist/_core/dist/mcp/index.d.ts +9 -0
- package/dist/_core/dist/mcp/index.d.ts.map +1 -0
- package/dist/_core/dist/mcp/index.js +8 -0
- package/dist/_core/dist/mcp/index.js.map +1 -0
- package/dist/_core/dist/mcp/materializer.d.ts +40 -0
- package/dist/_core/dist/mcp/materializer.d.ts.map +1 -0
- package/dist/_core/dist/mcp/materializer.js +161 -0
- package/dist/_core/dist/mcp/materializer.js.map +1 -0
- package/dist/_core/dist/mcp/targets.d.ts +37 -0
- package/dist/_core/dist/mcp/targets.d.ts.map +1 -0
- package/dist/_core/dist/mcp/targets.js +56 -0
- package/dist/_core/dist/mcp/targets.js.map +1 -0
- package/dist/_core/dist/mcp/types.d.ts +34 -0
- package/dist/_core/dist/mcp/types.d.ts.map +1 -0
- package/dist/_core/dist/mcp/types.js +8 -0
- package/dist/_core/dist/mcp/types.js.map +1 -0
- package/dist/_core/dist/models/analyze.d.ts +131 -0
- package/dist/_core/dist/models/analyze.d.ts.map +1 -0
- package/dist/_core/dist/models/analyze.js +301 -0
- package/dist/_core/dist/models/analyze.js.map +1 -0
- package/dist/_core/dist/models/checklist.d.ts +113 -0
- package/dist/_core/dist/models/checklist.d.ts.map +1 -0
- package/dist/_core/dist/models/checklist.js +159 -0
- package/dist/_core/dist/models/checklist.js.map +1 -0
- package/dist/_core/dist/models/clarify.d.ts +116 -0
- package/dist/_core/dist/models/clarify.d.ts.map +1 -0
- package/dist/_core/dist/models/clarify.js +166 -0
- package/dist/_core/dist/models/clarify.js.map +1 -0
- package/dist/_core/dist/models/impl-log.d.ts +64 -0
- package/dist/_core/dist/models/impl-log.d.ts.map +1 -0
- package/dist/_core/dist/models/impl-log.js +137 -0
- package/dist/_core/dist/models/impl-log.js.map +1 -0
- package/dist/_core/dist/models/index.d.ts +8 -0
- package/dist/_core/dist/models/index.d.ts.map +1 -0
- package/dist/_core/dist/models/index.js +8 -0
- package/dist/_core/dist/models/index.js.map +1 -0
- package/dist/_core/dist/models/plan.d.ts +24 -0
- package/dist/_core/dist/models/plan.d.ts.map +1 -0
- package/dist/_core/dist/models/plan.js +15 -0
- package/dist/_core/dist/models/plan.js.map +1 -0
- package/dist/_core/dist/models/spec.d.ts +23 -0
- package/dist/_core/dist/models/spec.d.ts.map +1 -0
- package/dist/_core/dist/models/spec.js +22 -0
- package/dist/_core/dist/models/spec.js.map +1 -0
- package/dist/_core/dist/models/tasks.d.ts +33 -0
- package/dist/_core/dist/models/tasks.d.ts.map +1 -0
- package/dist/_core/dist/models/tasks.js +78 -0
- package/dist/_core/dist/models/tasks.js.map +1 -0
- package/dist/_core/dist/presets/gates.d.ts +9 -0
- package/dist/_core/dist/presets/gates.d.ts.map +1 -0
- package/dist/_core/dist/presets/gates.js +173 -0
- package/dist/_core/dist/presets/gates.js.map +1 -0
- package/dist/_core/dist/presets/index.d.ts +10 -0
- package/dist/_core/dist/presets/index.d.ts.map +1 -0
- package/dist/_core/dist/presets/index.js +7 -0
- package/dist/_core/dist/presets/index.js.map +1 -0
- package/dist/_core/dist/presets/loader.d.ts +56 -0
- package/dist/_core/dist/presets/loader.d.ts.map +1 -0
- package/dist/_core/dist/presets/loader.js +216 -0
- package/dist/_core/dist/presets/loader.js.map +1 -0
- package/dist/_core/dist/presets/mobile-opinionated.d.ts +3 -0
- package/dist/_core/dist/presets/mobile-opinionated.d.ts.map +1 -0
- package/dist/_core/dist/presets/mobile-opinionated.js +78 -0
- package/dist/_core/dist/presets/mobile-opinionated.js.map +1 -0
- package/dist/_core/dist/presets/registry.d.ts +5 -0
- package/dist/_core/dist/presets/registry.d.ts.map +1 -0
- package/dist/_core/dist/presets/registry.js +14 -0
- package/dist/_core/dist/presets/registry.js.map +1 -0
- package/dist/_core/dist/presets/renderer.d.ts +5 -0
- package/dist/_core/dist/presets/renderer.d.ts.map +1 -0
- package/dist/_core/dist/presets/renderer.js +37 -0
- package/dist/_core/dist/presets/renderer.js.map +1 -0
- package/dist/_core/dist/presets/stacking.d.ts +29 -0
- package/dist/_core/dist/presets/stacking.d.ts.map +1 -0
- package/dist/_core/dist/presets/stacking.js +91 -0
- package/dist/_core/dist/presets/stacking.js.map +1 -0
- package/dist/_core/dist/presets/types.d.ts +22 -0
- package/dist/_core/dist/presets/types.d.ts.map +1 -0
- package/dist/_core/dist/presets/types.js +2 -0
- package/dist/_core/dist/presets/types.js.map +1 -0
- package/dist/_core/dist/prompts/audit-log.d.ts +73 -0
- package/dist/_core/dist/prompts/audit-log.d.ts.map +1 -0
- package/dist/_core/dist/prompts/audit-log.js +73 -0
- package/dist/_core/dist/prompts/audit-log.js.map +1 -0
- package/dist/_core/dist/prompts/index.d.ts +9 -0
- package/dist/_core/dist/prompts/index.d.ts.map +1 -0
- package/dist/_core/dist/prompts/index.js +7 -0
- package/dist/_core/dist/prompts/index.js.map +1 -0
- package/dist/_core/dist/prompts/renderer.d.ts +73 -0
- package/dist/_core/dist/prompts/renderer.d.ts.map +1 -0
- package/dist/_core/dist/prompts/renderer.js +179 -0
- package/dist/_core/dist/prompts/renderer.js.map +1 -0
- package/dist/_core/dist/prompts/resumption.d.ts +59 -0
- package/dist/_core/dist/prompts/resumption.d.ts.map +1 -0
- package/dist/_core/dist/prompts/resumption.js +149 -0
- package/dist/_core/dist/prompts/resumption.js.map +1 -0
- package/dist/_core/dist/skills/config.d.ts +27 -0
- package/dist/_core/dist/skills/config.d.ts.map +1 -0
- package/dist/_core/dist/skills/config.js +102 -0
- package/dist/_core/dist/skills/config.js.map +1 -0
- package/dist/_core/dist/skills/index.d.ts +9 -0
- package/dist/_core/dist/skills/index.d.ts.map +1 -0
- package/dist/_core/dist/skills/index.js +8 -0
- package/dist/_core/dist/skills/index.js.map +1 -0
- package/dist/_core/dist/skills/materializer.d.ts +45 -0
- package/dist/_core/dist/skills/materializer.d.ts.map +1 -0
- package/dist/_core/dist/skills/materializer.js +97 -0
- package/dist/_core/dist/skills/materializer.js.map +1 -0
- package/dist/_core/dist/skills/registry.d.ts +18 -0
- package/dist/_core/dist/skills/registry.d.ts.map +1 -0
- package/dist/_core/dist/skills/registry.js +36 -0
- package/dist/_core/dist/skills/registry.js.map +1 -0
- package/dist/_core/dist/skills/types.d.ts +39 -0
- package/dist/_core/dist/skills/types.d.ts.map +1 -0
- package/dist/_core/dist/skills/types.js +13 -0
- package/dist/_core/dist/skills/types.js.map +1 -0
- package/dist/_core/dist/state/feature.d.ts +58 -0
- package/dist/_core/dist/state/feature.d.ts.map +1 -0
- package/dist/_core/dist/state/feature.js +81 -0
- package/dist/_core/dist/state/feature.js.map +1 -0
- package/dist/_core/dist/state/index.d.ts +8 -0
- package/dist/_core/dist/state/index.d.ts.map +1 -0
- package/dist/_core/dist/state/index.js +6 -0
- package/dist/_core/dist/state/index.js.map +1 -0
- package/dist/_core/dist/state/init-options.d.ts +60 -0
- package/dist/_core/dist/state/init-options.d.ts.map +1 -0
- package/dist/_core/dist/state/init-options.js +74 -0
- package/dist/_core/dist/state/init-options.js.map +1 -0
- package/dist/_core/dist/template/engine.d.ts +7 -0
- package/dist/_core/dist/template/engine.d.ts.map +1 -0
- package/dist/_core/dist/template/engine.js +86 -0
- package/dist/_core/dist/template/engine.js.map +1 -0
- package/dist/_core/dist/template/helpers.d.ts +5 -0
- package/dist/_core/dist/template/helpers.d.ts.map +1 -0
- package/dist/_core/dist/template/helpers.js +59 -0
- package/dist/_core/dist/template/helpers.js.map +1 -0
- package/dist/_core/dist/template/index.d.ts +6 -0
- package/dist/_core/dist/template/index.d.ts.map +1 -0
- package/dist/_core/dist/template/index.js +6 -0
- package/dist/_core/dist/template/index.js.map +1 -0
- package/dist/_core/dist/template/loader.d.ts +36 -0
- package/dist/_core/dist/template/loader.d.ts.map +1 -0
- package/dist/_core/dist/template/loader.js +62 -0
- package/dist/_core/dist/template/loader.js.map +1 -0
- package/dist/_core/dist/template/parser.d.ts +3 -0
- package/dist/_core/dist/template/parser.d.ts.map +1 -0
- package/dist/_core/dist/template/parser.js +234 -0
- package/dist/_core/dist/template/parser.js.map +1 -0
- package/dist/_core/dist/template/types.d.ts +40 -0
- package/dist/_core/dist/template/types.d.ts.map +1 -0
- package/dist/_core/dist/template/types.js +14 -0
- package/dist/_core/dist/template/types.js.map +1 -0
- package/dist/_core/dist/verify/a11y.d.ts +36 -0
- package/dist/_core/dist/verify/a11y.d.ts.map +1 -0
- package/dist/_core/dist/verify/a11y.js +153 -0
- package/dist/_core/dist/verify/a11y.js.map +1 -0
- package/dist/_core/dist/verify/architecture.d.ts +37 -0
- package/dist/_core/dist/verify/architecture.d.ts.map +1 -0
- package/dist/_core/dist/verify/architecture.js +113 -0
- package/dist/_core/dist/verify/architecture.js.map +1 -0
- package/dist/_core/dist/verify/index.d.ts +10 -0
- package/dist/_core/dist/verify/index.d.ts.map +1 -0
- package/dist/_core/dist/verify/index.js +10 -0
- package/dist/_core/dist/verify/index.js.map +1 -0
- package/dist/_core/dist/verify/os-matrix.d.ts +35 -0
- package/dist/_core/dist/verify/os-matrix.d.ts.map +1 -0
- package/dist/_core/dist/verify/os-matrix.js +104 -0
- package/dist/_core/dist/verify/os-matrix.js.map +1 -0
- package/dist/_core/dist/verify/perf.d.ts +43 -0
- package/dist/_core/dist/verify/perf.d.ts.map +1 -0
- package/dist/_core/dist/verify/perf.js +69 -0
- package/dist/_core/dist/verify/perf.js.map +1 -0
- package/dist/_core/dist/verify/stores.d.ts +38 -0
- package/dist/_core/dist/verify/stores.d.ts.map +1 -0
- package/dist/_core/dist/verify/stores.js +57 -0
- package/dist/_core/dist/verify/stores.js.map +1 -0
- package/dist/_core/dist/version.d.ts +8 -0
- package/dist/_core/dist/version.d.ts.map +1 -0
- package/dist/_core/dist/version.js +11 -0
- package/dist/_core/dist/version.js.map +1 -0
- package/dist/_core/dist/workflows/bundled.d.ts +32 -0
- package/dist/_core/dist/workflows/bundled.d.ts.map +1 -0
- package/dist/_core/dist/workflows/bundled.js +254 -0
- package/dist/_core/dist/workflows/bundled.js.map +1 -0
- package/dist/_core/dist/workflows/engine.d.ts +74 -0
- package/dist/_core/dist/workflows/engine.d.ts.map +1 -0
- package/dist/_core/dist/workflows/engine.js +574 -0
- package/dist/_core/dist/workflows/engine.js.map +1 -0
- package/dist/_core/dist/workflows/expressions.d.ts +48 -0
- package/dist/_core/dist/workflows/expressions.d.ts.map +1 -0
- package/dist/_core/dist/workflows/expressions.js +336 -0
- package/dist/_core/dist/workflows/expressions.js.map +1 -0
- package/dist/_core/dist/workflows/index.d.ts +16 -0
- package/dist/_core/dist/workflows/index.d.ts.map +1 -0
- package/dist/_core/dist/workflows/index.js +15 -0
- package/dist/_core/dist/workflows/index.js.map +1 -0
- package/dist/_core/dist/workflows/parser.d.ts +38 -0
- package/dist/_core/dist/workflows/parser.d.ts.map +1 -0
- package/dist/_core/dist/workflows/parser.js +386 -0
- package/dist/_core/dist/workflows/parser.js.map +1 -0
- package/dist/_core/dist/workflows/sdd-flow.d.ts +85 -0
- package/dist/_core/dist/workflows/sdd-flow.d.ts.map +1 -0
- package/dist/_core/dist/workflows/sdd-flow.js +269 -0
- package/dist/_core/dist/workflows/sdd-flow.js.map +1 -0
- package/dist/_core/dist/workflows/types.d.ts +285 -0
- package/dist/_core/dist/workflows/types.d.ts.map +1 -0
- package/dist/_core/dist/workflows/types.js +13 -0
- package/dist/_core/dist/workflows/types.js.map +1 -0
- package/dist/_core/package.json +6 -0
- package/dist/_core/templates/constitution.md.hbs +46 -0
- package/dist/_core/templates/ghaWorkflow.yml.hbs +58 -0
- package/dist/_core/templates/hotfix.md.hbs +39 -0
- package/dist/_core/templates/plan.md.hbs +212 -0
- package/dist/_core/templates/preCommitHook.sh.hbs +30 -0
- package/dist/_core/templates/prePushHook.sh.hbs +45 -0
- package/dist/_core/templates/raptor.yml.hbs +24 -0
- package/dist/_core/templates/spec.md.hbs +127 -0
- package/dist/_core/templates/tasks.md.hbs +71 -0
- package/dist/commands/add-agent.d.ts +22 -0
- package/dist/commands/add-agent.d.ts.map +1 -0
- package/dist/commands/add-agent.js +121 -0
- package/dist/commands/add-agent.js.map +1 -0
- package/dist/commands/add-extension.d.ts +18 -0
- package/dist/commands/add-extension.d.ts.map +1 -0
- package/dist/commands/add-extension.js +83 -0
- package/dist/commands/add-extension.js.map +1 -0
- package/dist/commands/analyze.d.ts +18 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +323 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/approve.d.ts +14 -0
- package/dist/commands/approve.d.ts.map +1 -0
- package/dist/commands/approve.js +116 -0
- package/dist/commands/approve.js.map +1 -0
- package/dist/commands/audit/query.d.ts +23 -0
- package/dist/commands/audit/query.d.ts.map +1 -0
- package/dist/commands/audit/query.js +118 -0
- package/dist/commands/audit/query.js.map +1 -0
- package/dist/commands/audit/show.d.ts +17 -0
- package/dist/commands/audit/show.d.ts.map +1 -0
- package/dist/commands/audit/show.js +53 -0
- package/dist/commands/audit/show.js.map +1 -0
- package/dist/commands/checklist.d.ts +17 -0
- package/dist/commands/checklist.d.ts.map +1 -0
- package/dist/commands/checklist.js +255 -0
- package/dist/commands/checklist.js.map +1 -0
- package/dist/commands/clarify.d.ts +17 -0
- package/dist/commands/clarify.d.ts.map +1 -0
- package/dist/commands/clarify.js +254 -0
- package/dist/commands/clarify.js.map +1 -0
- package/dist/commands/doctor.d.ts +8 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +435 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/extension/add.d.ts +15 -0
- package/dist/commands/extension/add.d.ts.map +1 -0
- package/dist/commands/extension/add.js +93 -0
- package/dist/commands/extension/add.js.map +1 -0
- package/dist/commands/extension/info.d.ts +13 -0
- package/dist/commands/extension/info.d.ts.map +1 -0
- package/dist/commands/extension/info.js +75 -0
- package/dist/commands/extension/info.js.map +1 -0
- package/dist/commands/extension/list.d.ts +10 -0
- package/dist/commands/extension/list.d.ts.map +1 -0
- package/dist/commands/extension/list.js +71 -0
- package/dist/commands/extension/list.js.map +1 -0
- package/dist/commands/extension/remove.d.ts +14 -0
- package/dist/commands/extension/remove.d.ts.map +1 -0
- package/dist/commands/extension/remove.js +49 -0
- package/dist/commands/extension/remove.js.map +1 -0
- package/dist/commands/gate/approve.d.ts +15 -0
- package/dist/commands/gate/approve.d.ts.map +1 -0
- package/dist/commands/gate/approve.js +106 -0
- package/dist/commands/gate/approve.js.map +1 -0
- package/dist/commands/gate/list.d.ts +6 -0
- package/dist/commands/gate/list.d.ts.map +1 -0
- package/dist/commands/gate/list.js +38 -0
- package/dist/commands/gate/list.js.map +1 -0
- package/dist/commands/gate/skip.d.ts +14 -0
- package/dist/commands/gate/skip.d.ts.map +1 -0
- package/dist/commands/gate/skip.js +95 -0
- package/dist/commands/gate/skip.js.map +1 -0
- package/dist/commands/hook/list.d.ts +11 -0
- package/dist/commands/hook/list.d.ts.map +1 -0
- package/dist/commands/hook/list.js +152 -0
- package/dist/commands/hook/list.js.map +1 -0
- package/dist/commands/hook/run.d.ts +16 -0
- package/dist/commands/hook/run.d.ts.map +1 -0
- package/dist/commands/hook/run.js +74 -0
- package/dist/commands/hook/run.js.map +1 -0
- package/dist/commands/hotfix.d.ts +21 -0
- package/dist/commands/hotfix.d.ts.map +1 -0
- package/dist/commands/hotfix.js +216 -0
- package/dist/commands/hotfix.js.map +1 -0
- package/dist/commands/implement.d.ts +19 -0
- package/dist/commands/implement.d.ts.map +1 -0
- package/dist/commands/implement.js +282 -0
- package/dist/commands/implement.js.map +1 -0
- package/dist/commands/init.d.ts +43 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +465 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list-agents.d.ts +12 -0
- package/dist/commands/list-agents.d.ts.map +1 -0
- package/dist/commands/list-agents.js +55 -0
- package/dist/commands/list-agents.js.map +1 -0
- package/dist/commands/mcp/add.d.ts +21 -0
- package/dist/commands/mcp/add.d.ts.map +1 -0
- package/dist/commands/mcp/add.js +119 -0
- package/dist/commands/mcp/add.js.map +1 -0
- package/dist/commands/mcp/list.d.ts +10 -0
- package/dist/commands/mcp/list.d.ts.map +1 -0
- package/dist/commands/mcp/list.js +54 -0
- package/dist/commands/mcp/list.js.map +1 -0
- package/dist/commands/mcp/remove.d.ts +10 -0
- package/dist/commands/mcp/remove.d.ts.map +1 -0
- package/dist/commands/mcp/remove.js +53 -0
- package/dist/commands/mcp/remove.js.map +1 -0
- package/dist/commands/mcp/sync.d.ts +7 -0
- package/dist/commands/mcp/sync.d.ts.map +1 -0
- package/dist/commands/mcp/sync.js +31 -0
- package/dist/commands/mcp/sync.js.map +1 -0
- package/dist/commands/new.d.ts +19 -0
- package/dist/commands/new.d.ts.map +1 -0
- package/dist/commands/new.js +306 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/plan.d.ts +17 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +200 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/preset/add.d.ts +13 -0
- package/dist/commands/preset/add.d.ts.map +1 -0
- package/dist/commands/preset/add.js +66 -0
- package/dist/commands/preset/add.js.map +1 -0
- package/dist/commands/preset/info.d.ts +13 -0
- package/dist/commands/preset/info.d.ts.map +1 -0
- package/dist/commands/preset/info.js +80 -0
- package/dist/commands/preset/info.js.map +1 -0
- package/dist/commands/preset/list.d.ts +10 -0
- package/dist/commands/preset/list.d.ts.map +1 -0
- package/dist/commands/preset/list.js +63 -0
- package/dist/commands/preset/list.js.map +1 -0
- package/dist/commands/preset/remove.d.ts +14 -0
- package/dist/commands/preset/remove.d.ts.map +1 -0
- package/dist/commands/preset/remove.js +60 -0
- package/dist/commands/preset/remove.js.map +1 -0
- package/dist/commands/repair/constitution.d.ts +11 -0
- package/dist/commands/repair/constitution.d.ts.map +1 -0
- package/dist/commands/repair/constitution.js +117 -0
- package/dist/commands/repair/constitution.js.map +1 -0
- package/dist/commands/resync.d.ts +22 -0
- package/dist/commands/resync.d.ts.map +1 -0
- package/dist/commands/resync.js +103 -0
- package/dist/commands/resync.js.map +1 -0
- package/dist/commands/skill/add.d.ts +19 -0
- package/dist/commands/skill/add.d.ts.map +1 -0
- package/dist/commands/skill/add.js +107 -0
- package/dist/commands/skill/add.js.map +1 -0
- package/dist/commands/skill/list.d.ts +10 -0
- package/dist/commands/skill/list.d.ts.map +1 -0
- package/dist/commands/skill/list.js +56 -0
- package/dist/commands/skill/list.js.map +1 -0
- package/dist/commands/skill/remove.d.ts +10 -0
- package/dist/commands/skill/remove.d.ts.map +1 -0
- package/dist/commands/skill/remove.js +47 -0
- package/dist/commands/skill/remove.js.map +1 -0
- package/dist/commands/skill/sync.d.ts +7 -0
- package/dist/commands/skill/sync.d.ts.map +1 -0
- package/dist/commands/skill/sync.js +30 -0
- package/dist/commands/skill/sync.js.map +1 -0
- package/dist/commands/status.d.ts +17 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +265 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/tasks.d.ts +16 -0
- package/dist/commands/tasks.d.ts.map +1 -0
- package/dist/commands/tasks.js +176 -0
- package/dist/commands/tasks.js.map +1 -0
- package/dist/commands/trace.d.ts +16 -0
- package/dist/commands/trace.d.ts.map +1 -0
- package/dist/commands/trace.js +113 -0
- package/dist/commands/trace.js.map +1 -0
- package/dist/commands/upgrade.d.ts +20 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +178 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/verify/a11y.d.ts +15 -0
- package/dist/commands/verify/a11y.d.ts.map +1 -0
- package/dist/commands/verify/a11y.js +121 -0
- package/dist/commands/verify/a11y.js.map +1 -0
- package/dist/commands/verify/architecture.d.ts +11 -0
- package/dist/commands/verify/architecture.d.ts.map +1 -0
- package/dist/commands/verify/architecture.js +71 -0
- package/dist/commands/verify/architecture.js.map +1 -0
- package/dist/commands/verify/audit.d.ts +18 -0
- package/dist/commands/verify/audit.d.ts.map +1 -0
- package/dist/commands/verify/audit.js +108 -0
- package/dist/commands/verify/audit.js.map +1 -0
- package/dist/commands/verify/constitution.d.ts +10 -0
- package/dist/commands/verify/constitution.d.ts.map +1 -0
- package/dist/commands/verify/constitution.js +91 -0
- package/dist/commands/verify/constitution.js.map +1 -0
- package/dist/commands/verify/os-matrix.d.ts +14 -0
- package/dist/commands/verify/os-matrix.d.ts.map +1 -0
- package/dist/commands/verify/os-matrix.js +108 -0
- package/dist/commands/verify/os-matrix.js.map +1 -0
- package/dist/commands/verify/perf.d.ts +17 -0
- package/dist/commands/verify/perf.d.ts.map +1 -0
- package/dist/commands/verify/perf.js +106 -0
- package/dist/commands/verify/perf.js.map +1 -0
- package/dist/commands/verify/stores.d.ts +14 -0
- package/dist/commands/verify/stores.d.ts.map +1 -0
- package/dist/commands/verify/stores.js +98 -0
- package/dist/commands/verify/stores.js.map +1 -0
- package/dist/commands/verify.d.ts +14 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +97 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/commands/workflow/catalog.d.ts +11 -0
- package/dist/commands/workflow/catalog.d.ts.map +1 -0
- package/dist/commands/workflow/catalog.js +164 -0
- package/dist/commands/workflow/catalog.js.map +1 -0
- package/dist/commands/workflow/list.d.ts +7 -0
- package/dist/commands/workflow/list.d.ts.map +1 -0
- package/dist/commands/workflow/list.js +50 -0
- package/dist/commands/workflow/list.js.map +1 -0
- package/dist/commands/workflow/resume.d.ts +13 -0
- package/dist/commands/workflow/resume.d.ts.map +1 -0
- package/dist/commands/workflow/resume.js +126 -0
- package/dist/commands/workflow/resume.js.map +1 -0
- package/dist/commands/workflow/run.d.ts +14 -0
- package/dist/commands/workflow/run.d.ts.map +1 -0
- package/dist/commands/workflow/run.js +139 -0
- package/dist/commands/workflow/run.js.map +1 -0
- package/dist/commands/workflow/status.d.ts +10 -0
- package/dist/commands/workflow/status.d.ts.map +1 -0
- package/dist/commands/workflow/status.js +86 -0
- package/dist/commands/workflow/status.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/shared/agents.d.ts +12 -0
- package/dist/shared/agents.d.ts.map +1 -0
- package/dist/shared/agents.js +31 -0
- package/dist/shared/agents.js.map +1 -0
- package/dist/shared/artifact-io.d.ts +54 -0
- package/dist/shared/artifact-io.d.ts.map +1 -0
- package/dist/shared/artifact-io.js +71 -0
- package/dist/shared/artifact-io.js.map +1 -0
- package/dist/shared/feature-prompt.d.ts +18 -0
- package/dist/shared/feature-prompt.d.ts.map +1 -0
- package/dist/shared/feature-prompt.js +21 -0
- package/dist/shared/feature-prompt.js.map +1 -0
- package/dist/shared/hooks.d.ts +7 -0
- package/dist/shared/hooks.d.ts.map +1 -0
- package/dist/shared/hooks.js +52 -0
- package/dist/shared/hooks.js.map +1 -0
- package/dist/shared/mcp.d.ts +9 -0
- package/dist/shared/mcp.d.ts.map +1 -0
- package/dist/shared/mcp.js +15 -0
- package/dist/shared/mcp.js.map +1 -0
- package/dist/shared/project.d.ts +42 -0
- package/dist/shared/project.d.ts.map +1 -0
- package/dist/shared/project.js +98 -0
- package/dist/shared/project.js.map +1 -0
- package/dist/shared/workflow-resolver.d.ts +19 -0
- package/dist/shared/workflow-resolver.d.ts.map +1 -0
- package/dist/shared/workflow-resolver.js +71 -0
- package/dist/shared/workflow-resolver.js.map +1 -0
- package/dist/workflow/args-builder.d.ts +31 -0
- package/dist/workflow/args-builder.d.ts.map +1 -0
- package/dist/workflow/args-builder.js +110 -0
- package/dist/workflow/args-builder.js.map +1 -0
- package/dist/workflow/executor.d.ts +18 -0
- package/dist/workflow/executor.d.ts.map +1 -0
- package/dist/workflow/executor.js +112 -0
- package/dist/workflow/executor.js.map +1 -0
- package/extensions/git/commands/rpt.git.feature.md +85 -0
- package/extensions/git/extension.yml +47 -0
- package/package.json +58 -0
- package/scripts/bash/check-prerequisites.sh +149 -0
- package/scripts/bash/common.sh +389 -0
- package/scripts/bash/create-new-feature.sh +164 -0
- package/scripts/bash/setup-plan.sh +113 -0
- package/scripts/check-naming.sh +138 -0
- package/scripts/check-prompts.sh +165 -0
- package/scripts/check-tasks.sh +166 -0
- package/scripts/powershell/check-prerequisites.ps1 +117 -0
- package/scripts/powershell/common.ps1 +328 -0
- package/scripts/powershell/create-new-feature.ps1 +138 -0
- package/scripts/powershell/setup-plan.ps1 +96 -0
- package/scripts/prepare-npm.mjs +157 -0
- package/templates/checklist-template.md +103 -0
- package/templates/commands/analyze.md +103 -0
- package/templates/commands/checklist.md +87 -0
- package/templates/commands/clarify.md +85 -0
- package/templates/commands/constitution.md +126 -0
- package/templates/commands/implement.md +117 -0
- package/templates/commands/plan.md +125 -0
- package/templates/commands/specify.md +127 -0
- package/templates/commands/tasks.md +98 -0
- package/templates/commands/taskstoissues.md +81 -0
- package/templates/constitution-template.md +48 -0
- package/templates/plan-template.md +150 -0
- package/templates/spec-template.md +116 -0
- package/templates/tasks-template.md +77 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { MOBILE_GATES } from "./gates.js";
|
|
2
|
+
const articles = [
|
|
3
|
+
{
|
|
4
|
+
id: "M1",
|
|
5
|
+
title: "App Store & Play Store Compliance",
|
|
6
|
+
statement: "Every feature that touches restricted OS APIs (camera, microphone, contacts, location, photos, notifications, biometrics, health, HomeKit, etc.) MUST declare the exact store-level permission strings and the corresponding `NSxxxUsageDescription` / Android manifest permission in its `spec.md` frontmatter under `stores:`.",
|
|
7
|
+
rationale: "App Store and Play Store rejections are the single largest source of mobile release delays and often surface only during submission review — after the code has been merged and the release train is in motion. Declaring permissions at spec time forces the conversation before engineering cost is sunk.",
|
|
8
|
+
enforcement: "`gate.mobile.stores` (level `required`) validates that `spec.stores.ios_permissions` and `spec.stores.android_permissions` are declared and non-empty whenever a feature targets mobile.",
|
|
9
|
+
violation: {
|
|
10
|
+
level: "required",
|
|
11
|
+
description: "Spec cannot be approved until the `stores:` frontmatter is populated. An ADR in `memory/decisions.md` MAY override with explicit justification (e.g., pure business logic with no platform API).",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: "M2",
|
|
16
|
+
title: "Privacy & Data Residency (LGPD/GDPR)",
|
|
17
|
+
statement: "Every feature that collects, processes, stores, or transmits personal data MUST declare in `plan.md` frontmatter: (a) the lawful basis (LGPD Art. 7 / GDPR Art. 6), (b) the data residency region, and (c) the retention period — before any code is generated.",
|
|
18
|
+
rationale: "Privacy regulations impose fines that dwarf individual release budgets and require demonstrable prior analysis, not post-hoc justification. Encoding lawful basis and residency at plan time creates a defensible audit trail and forces engineering to talk to legal before implementation starts.",
|
|
19
|
+
enforcement: "`gate.mobile.privacy` (level `required`) reads `plan.privacy.{lawful_basis, residency, retention}` and fails the plan gate if any are missing.",
|
|
20
|
+
violation: {
|
|
21
|
+
level: "required",
|
|
22
|
+
description: "Plan cannot reach `status: approved` without all three fields. Override requires DPO (Data Protection Officer) sign-off recorded as an ADR.",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: "M3",
|
|
27
|
+
title: "Accessibility Parity (WCAG AA)",
|
|
28
|
+
statement: "Every user-facing feature MUST declare accessibility acceptance criteria equivalent to WCAG 2.1 level AA — screen reader labels, contrast ratios, touch target minimums, dynamic type support, focus order. A11y criteria are first-class ACs, not a post-release backlog.",
|
|
29
|
+
rationale: "Retrofitting accessibility is 5–10× more expensive than building it in, and legal exposure is rising (ADA lawsuits, EN 301 549 in the EU). Treating a11y as part of AC rather than 'polish' eliminates the most common source of post-release a11y debt.",
|
|
30
|
+
enforcement: '`gate.mobile.a11y` (level `required`) validates `spec.a11y.wcag_level == "AA"` and that `spec.a11y.criteria` is non-empty. Features with no UI MAY declare `a11y.wcag_level: n/a` with a justification.',
|
|
31
|
+
violation: {
|
|
32
|
+
level: "required",
|
|
33
|
+
description: "Spec cannot reach `status: approved` without a11y criteria. Background-only features may opt out via `a11y.wcag_level: n/a` plus `a11y.justification`.",
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: "M4",
|
|
38
|
+
title: "OS Support Matrix",
|
|
39
|
+
statement: "Every feature MUST declare in `plan.md` the minimum iOS and Android versions it supports, and code generation MUST respect the project-wide `os_matrix` baseline declared in `raptor.yml`. Raising the floor is a governed act requiring a constitutional amendment.",
|
|
40
|
+
rationale: "OS fragmentation silently breaks users who run older versions, and ad-hoc per-feature decisions lead to inconsistent release behavior. A project-wide declared floor ensures every team decision about APIs and libraries is made against the same target surface.",
|
|
41
|
+
enforcement: "`gate.mobile.os_matrix` (level `required`) validates that `plan.os_matrix.{ios_min, android_min}` are set and are not lower than the values declared in `raptor.yml`.",
|
|
42
|
+
violation: {
|
|
43
|
+
level: "required",
|
|
44
|
+
description: "Plan cannot reach `status: approved` without these fields. Baseline changes require an entry in `amendments.log` with a `core_version` bump or a project-level extension amendment.",
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "M5",
|
|
49
|
+
title: "Performance Budget",
|
|
50
|
+
statement: "Every feature that affects startup, navigation, or memory MUST declare a performance budget in its plan: TTFI (time to first interaction), key interaction latency, and memory ceiling. Performance regressions measured against these budgets block the feature's merge.",
|
|
51
|
+
rationale: "Mobile performance degrades by a thousand cuts. Without an explicit budget, each feature feels locally acceptable while the app as a whole becomes unusable. Declaring budgets per feature ensures the conversation happens at spec time, not in a war room.",
|
|
52
|
+
enforcement: "`gate.mobile.perf_budget` (level `required`) validates `plan.perf_budget.{ttfi_ms, interactions_ms}` are declared. Features with zero perf impact may set `perf_budget.scope: none`. Future: integration with automated perf tests via `raptor verify perf`.",
|
|
53
|
+
violation: {
|
|
54
|
+
level: "required",
|
|
55
|
+
description: "Plan cannot reach `status: approved` without these fields or a `scope: none` declaration with justification.",
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: "M6",
|
|
60
|
+
title: "Crash-Free SLO & Observability",
|
|
61
|
+
statement: "Every release phase MUST meet a crash-free-session SLO ≥ 99.5% measured over a 7-day rolling window, and every feature's plan MUST declare which observability signals (logs, traces, custom events) it emits and where they can be inspected.",
|
|
62
|
+
rationale: "Crash-free rate is the single number most correlated with retention on mobile, and observability is what turns a crash report into a fix. Tying SLO and observability together at the constitutional level makes 'ship it, we'll see' impossible as a default.",
|
|
63
|
+
enforcement: "`gate.mobile.crash_free` (level `advisory`) validates `plan.crash_free_slo ≥ 99.5` and that `plan.observability.provider` is declared. Release-time enforcement happens via the release gates (future: `gate.release.crash_free_window`).",
|
|
64
|
+
violation: {
|
|
65
|
+
level: "advisory",
|
|
66
|
+
description: "Warnings at plan time; no merge block. Release gates (post-implementation) enforce the SLO hard.",
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
export const mobileOpinionated = {
|
|
71
|
+
id: "mobile-opinionated",
|
|
72
|
+
name: "Mobile Opinionated",
|
|
73
|
+
version: "1.0.0-draft.1",
|
|
74
|
+
description: "M1–M6: stores compliance, privacy/LGPD, accessibility AA, OS matrix, performance budget, crash-free SLO",
|
|
75
|
+
articles,
|
|
76
|
+
gates: MOBILE_GATES,
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=mobile-opinionated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile-opinionated.js","sourceRoot":"","sources":["../../src/presets/mobile-opinionated.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,QAAQ,GAAoB;IAChC;QACE,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,mCAAmC;QAC1C,SAAS,EACP,kUAAkU;QACpU,SAAS,EACP,6SAA6S;QAC/S,WAAW,EACT,0LAA0L;QAC5L,SAAS,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,kMAAkM;SACrM;KACF;IACD;QACE,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,sCAAsC;QAC7C,SAAS,EACP,iQAAiQ;QACnQ,SAAS,EACP,qSAAqS;QACvS,WAAW,EACT,gJAAgJ;QAClJ,SAAS,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,6IAA6I;SAChJ;KACF;IACD;QACE,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,gCAAgC;QACvC,SAAS,EACP,4QAA4Q;QAC9Q,SAAS,EACP,0PAA0P;QAC5P,WAAW,EACT,yMAAyM;QAC3M,SAAS,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,wJAAwJ;SAC3J;KACF;IACD;QACE,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,mBAAmB;QAC1B,SAAS,EACP,sQAAsQ;QACxQ,SAAS,EACP,oQAAoQ;QACtQ,WAAW,EACT,uKAAuK;QACzK,SAAS,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,qLAAqL;SACxL;KACF;IACD;QACE,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EACP,2QAA2Q;QAC7Q,SAAS,EACP,8PAA8P;QAChQ,WAAW,EACT,8PAA8P;QAChQ,SAAS,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,8GAA8G;SACjH;KACF;IACD;QACE,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,gCAAgC;QACvC,SAAS,EACP,gPAAgP;QAClP,SAAS,EACP,gQAAgQ;QAClQ,WAAW,EACT,2OAA2O;QAC7O,SAAS,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,kGAAkG;SACrG;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAW;IACvC,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,eAAe;IACxB,WAAW,EACT,yGAAyG;IAC3G,QAAQ;IACR,KAAK,EAAE,YAAY;CACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/presets/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMzC,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { mobileOpinionated } from "./mobile-opinionated.js";
|
|
2
|
+
const REGISTRY = {
|
|
3
|
+
[mobileOpinionated.id]: mobileOpinionated,
|
|
4
|
+
};
|
|
5
|
+
export function getPreset(id) {
|
|
6
|
+
return REGISTRY[id];
|
|
7
|
+
}
|
|
8
|
+
export function listPresets() {
|
|
9
|
+
return Object.values(REGISTRY);
|
|
10
|
+
}
|
|
11
|
+
export function knownPresetIds() {
|
|
12
|
+
return Object.keys(REGISTRY);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/presets/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,QAAQ,GAA2B;IACvC,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,iBAAiB;CAC1C,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Preset, PresetArticle } from "./types.js";
|
|
2
|
+
export declare function renderPresetArticle(a: PresetArticle, presetId: string): string;
|
|
3
|
+
export declare function renderPresetArticles(preset: Preset): string;
|
|
4
|
+
export declare function renderPresetGatesForPlan(preset: Preset): string;
|
|
5
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/presets/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExD,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,aAAa,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,CAYR;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAe/D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export function renderPresetArticle(a, presetId) {
|
|
2
|
+
return `### ${a.id} — ${a.title}
|
|
3
|
+
|
|
4
|
+
**Statement.** ${a.statement}
|
|
5
|
+
|
|
6
|
+
**Rationale.** ${a.rationale}
|
|
7
|
+
|
|
8
|
+
**Enforcement.** ${a.enforcement}
|
|
9
|
+
|
|
10
|
+
**Violation Consequence.** \`${a.violation.level}\` — ${a.violation.description}
|
|
11
|
+
|
|
12
|
+
*Source: preset \`${presetId}\`.*`;
|
|
13
|
+
}
|
|
14
|
+
export function renderPresetArticles(preset) {
|
|
15
|
+
return preset.articles
|
|
16
|
+
.map((a) => renderPresetArticle(a, preset.id))
|
|
17
|
+
.join("\n\n");
|
|
18
|
+
}
|
|
19
|
+
export function renderPresetGatesForPlan(preset) {
|
|
20
|
+
if (preset.gates.length === 0)
|
|
21
|
+
return "*(none)*";
|
|
22
|
+
const byArticle = new Map();
|
|
23
|
+
for (const a of preset.articles)
|
|
24
|
+
byArticle.set(a.id, a.title);
|
|
25
|
+
const blocks = preset.gates.map((g) => {
|
|
26
|
+
const art = g.article ?? "—";
|
|
27
|
+
const title = (g.article && byArticle.get(g.article)) ?? g.title;
|
|
28
|
+
return `#### Gate ${art} — ${title}
|
|
29
|
+
|
|
30
|
+
- [ ] ${g.title}
|
|
31
|
+
- Gate id: \`${g.id}\`
|
|
32
|
+
- Level: \`${g.level}\`
|
|
33
|
+
- Status: \`pending\` <!-- change to \`pass\` | \`violated\` -->`;
|
|
34
|
+
});
|
|
35
|
+
return blocks.join("\n\n");
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/presets/renderer.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CACjC,CAAgB,EAChB,QAAgB;IAEhB,OAAO,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK;;iBAEhB,CAAC,CAAC,SAAS;;iBAEX,CAAC,CAAC,SAAS;;mBAET,CAAC,CAAC,WAAW;;+BAED,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,SAAS,CAAC,WAAW;;oBAE3D,QAAQ,MAAM,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,MAAM,CAAC,QAAQ;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;SAC7C,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACrD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;QAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QACjE,OAAO,aAAa,GAAG,MAAM,KAAK;;QAE9B,CAAC,CAAC,KAAK;eACA,CAAC,CAAC,EAAE;aACN,CAAC,CAAC,KAAK;iEAC6C,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preset stacking — merges multiple `Preset`s into a single effective
|
|
3
|
+
* preset so projects can layer (e.g.) `mobile-opinionated` +
|
|
4
|
+
* `security-hardening` + `company-baseline`.
|
|
5
|
+
*
|
|
6
|
+
* Semantics:
|
|
7
|
+
* - Articles merge by id. Earlier presets win; later presets only
|
|
8
|
+
* contribute ids that were not already present.
|
|
9
|
+
* - Gates merge by id using the same first-wins rule.
|
|
10
|
+
* - The resulting Preset carries a synthetic id/name composed from the
|
|
11
|
+
* inputs so audit records can trace which presets were active.
|
|
12
|
+
*
|
|
13
|
+
* Blueprint ref: 04 §4.
|
|
14
|
+
*/
|
|
15
|
+
import type { Preset } from "./types.js";
|
|
16
|
+
export interface StackResult {
|
|
17
|
+
/** Materialized effective preset (for rendering and gate execution). */
|
|
18
|
+
preset: Preset;
|
|
19
|
+
/** Ordered list of ids that actually contributed content. */
|
|
20
|
+
order: string[];
|
|
21
|
+
/** Diagnostics: ids from later presets that were shadowed. */
|
|
22
|
+
shadowed: Array<{
|
|
23
|
+
from: string;
|
|
24
|
+
kind: "article" | "gate";
|
|
25
|
+
id: string;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
export declare function stackPresets(presets: Preset[]): StackResult;
|
|
29
|
+
//# sourceMappingURL=stacking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stacking.d.ts","sourceRoot":"","sources":["../../src/presets/stacking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8DAA8D;IAC9D,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,CA2D3D"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preset stacking — merges multiple `Preset`s into a single effective
|
|
3
|
+
* preset so projects can layer (e.g.) `mobile-opinionated` +
|
|
4
|
+
* `security-hardening` + `company-baseline`.
|
|
5
|
+
*
|
|
6
|
+
* Semantics:
|
|
7
|
+
* - Articles merge by id. Earlier presets win; later presets only
|
|
8
|
+
* contribute ids that were not already present.
|
|
9
|
+
* - Gates merge by id using the same first-wins rule.
|
|
10
|
+
* - The resulting Preset carries a synthetic id/name composed from the
|
|
11
|
+
* inputs so audit records can trace which presets were active.
|
|
12
|
+
*
|
|
13
|
+
* Blueprint ref: 04 §4.
|
|
14
|
+
*/
|
|
15
|
+
export function stackPresets(presets) {
|
|
16
|
+
if (presets.length === 0) {
|
|
17
|
+
return {
|
|
18
|
+
preset: emptyPreset(),
|
|
19
|
+
order: [],
|
|
20
|
+
shadowed: [],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (presets.length === 1) {
|
|
24
|
+
const p = presets[0];
|
|
25
|
+
return {
|
|
26
|
+
preset: clonePreset(p),
|
|
27
|
+
order: [p.id],
|
|
28
|
+
shadowed: [],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const articles = new Map();
|
|
32
|
+
const gates = new Map();
|
|
33
|
+
const shadowed = [];
|
|
34
|
+
const order = [];
|
|
35
|
+
for (const p of presets) {
|
|
36
|
+
order.push(p.id);
|
|
37
|
+
for (const a of p.articles) {
|
|
38
|
+
if (articles.has(a.id)) {
|
|
39
|
+
shadowed.push({ from: p.id, kind: "article", id: a.id });
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
articles.set(a.id, { ...a });
|
|
43
|
+
}
|
|
44
|
+
for (const g of p.gates) {
|
|
45
|
+
if (gates.has(g.id)) {
|
|
46
|
+
shadowed.push({ from: p.id, kind: "gate", id: g.id });
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
gates.set(g.id, g);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const composedId = presets.map((p) => p.id).join("+");
|
|
53
|
+
const composedName = `Stacked: ${presets.map((p) => p.name).join(" + ")}`;
|
|
54
|
+
const composedVersion = presets.map((p) => p.version).join("/");
|
|
55
|
+
const description = presets
|
|
56
|
+
.map((p) => (p.description ? `- ${p.id}: ${p.description}` : `- ${p.id}`))
|
|
57
|
+
.join("\n");
|
|
58
|
+
return {
|
|
59
|
+
preset: {
|
|
60
|
+
id: composedId,
|
|
61
|
+
name: composedName,
|
|
62
|
+
version: composedVersion,
|
|
63
|
+
description,
|
|
64
|
+
articles: Array.from(articles.values()),
|
|
65
|
+
gates: Array.from(gates.values()),
|
|
66
|
+
},
|
|
67
|
+
order,
|
|
68
|
+
shadowed,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function emptyPreset() {
|
|
72
|
+
return {
|
|
73
|
+
id: "empty",
|
|
74
|
+
name: "Empty",
|
|
75
|
+
version: "0.0.0",
|
|
76
|
+
description: "",
|
|
77
|
+
articles: [],
|
|
78
|
+
gates: [],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function clonePreset(p) {
|
|
82
|
+
return {
|
|
83
|
+
id: p.id,
|
|
84
|
+
name: p.name,
|
|
85
|
+
version: p.version,
|
|
86
|
+
description: p.description,
|
|
87
|
+
articles: p.articles.map((a) => ({ ...a })),
|
|
88
|
+
gates: [...p.gates],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=stacking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stacking.js","sourceRoot":"","sources":["../../src/presets/stacking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,MAAM,UAAU,YAAY,CAAC,OAAiB;IAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,MAAM,EAAE,WAAW,EAAE;YACrB,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;YACtB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IACtC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,YAAY,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1E,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,OAAO;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACzE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;QACL,MAAM,EAAE;YACN,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,eAAe;YACxB,WAAW;YACX,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAClC;QACD,KAAK;QACL,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Gate } from "../gates/types.js";
|
|
2
|
+
export interface PresetArticleViolation {
|
|
3
|
+
level: "required" | "advisory";
|
|
4
|
+
description: string;
|
|
5
|
+
}
|
|
6
|
+
export interface PresetArticle {
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
statement: string;
|
|
10
|
+
rationale: string;
|
|
11
|
+
enforcement: string;
|
|
12
|
+
violation: PresetArticleViolation;
|
|
13
|
+
}
|
|
14
|
+
export interface Preset {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
version: string;
|
|
18
|
+
description: string;
|
|
19
|
+
articles: PresetArticle[];
|
|
20
|
+
gates: Gate[];
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/presets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,sBAAsB,CAAC;CACnC;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,IAAI,EAAE,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/presets/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured JSONL Logger — Optional audit logging in JSONL format.
|
|
3
|
+
*
|
|
4
|
+
* Each log entry is a single-line JSON object appended to `.raptor/audit.jsonl`.
|
|
5
|
+
* Used for traceability, debugging, and compliance.
|
|
6
|
+
*
|
|
7
|
+
* Spec Kit ref: E07 — "Logs estruturados JSONL opcionais"
|
|
8
|
+
*/
|
|
9
|
+
export interface AuditLogEntry {
|
|
10
|
+
/** ISO 8601 timestamp. */
|
|
11
|
+
timestamp: string;
|
|
12
|
+
/** Event type (e.g., "phase.transition", "artifact.created", "gate.passed"). */
|
|
13
|
+
event: string;
|
|
14
|
+
/** SDD phase (specify, plan, tasks, implement). */
|
|
15
|
+
phase?: string;
|
|
16
|
+
/** Feature directory. */
|
|
17
|
+
feature?: string;
|
|
18
|
+
/** Agent that performed the action. */
|
|
19
|
+
agent?: string;
|
|
20
|
+
/** Human actor identifier. */
|
|
21
|
+
actor?: string;
|
|
22
|
+
/** Affected file path. */
|
|
23
|
+
artifact?: string;
|
|
24
|
+
/** SHA-256 hash of the artifact content. */
|
|
25
|
+
hash?: string;
|
|
26
|
+
/** Additional metadata. */
|
|
27
|
+
meta?: Record<string, unknown>;
|
|
28
|
+
/** Duration in milliseconds (for timed operations). */
|
|
29
|
+
duration_ms?: number;
|
|
30
|
+
/** Whether the operation succeeded. */
|
|
31
|
+
success?: boolean;
|
|
32
|
+
/** Error message if operation failed. */
|
|
33
|
+
error?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Append a structured log entry to the JSONL audit log.
|
|
37
|
+
*
|
|
38
|
+
* Idempotent: calling with the same entry appends a new line.
|
|
39
|
+
* Thread-safe via atomic append.
|
|
40
|
+
*/
|
|
41
|
+
export declare function auditLog(projectRoot: string, entry: Omit<AuditLogEntry, "timestamp">): void;
|
|
42
|
+
/**
|
|
43
|
+
* Log a phase transition event.
|
|
44
|
+
*/
|
|
45
|
+
export declare function logPhaseTransition(projectRoot: string, opts: {
|
|
46
|
+
from?: string;
|
|
47
|
+
to: string;
|
|
48
|
+
feature: string;
|
|
49
|
+
agent?: string;
|
|
50
|
+
actor?: string;
|
|
51
|
+
}): void;
|
|
52
|
+
/**
|
|
53
|
+
* Log an artifact creation/update event.
|
|
54
|
+
*/
|
|
55
|
+
export declare function logArtifactEvent(projectRoot: string, opts: {
|
|
56
|
+
event: "artifact.created" | "artifact.updated" | "artifact.deleted";
|
|
57
|
+
artifact: string;
|
|
58
|
+
hash?: string;
|
|
59
|
+
feature: string;
|
|
60
|
+
phase: string;
|
|
61
|
+
agent?: string;
|
|
62
|
+
}): void;
|
|
63
|
+
/**
|
|
64
|
+
* Log a gate evaluation event.
|
|
65
|
+
*/
|
|
66
|
+
export declare function logGateEvent(projectRoot: string, opts: {
|
|
67
|
+
gateId: string;
|
|
68
|
+
passed: boolean;
|
|
69
|
+
feature: string;
|
|
70
|
+
phase: string;
|
|
71
|
+
error?: string;
|
|
72
|
+
}): void;
|
|
73
|
+
//# sourceMappingURL=audit-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-log.d.ts","sourceRoot":"","sources":["../../src/prompts/audit-log.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GACtC,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACJ,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,IAAI,CASN"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured JSONL Logger — Optional audit logging in JSONL format.
|
|
3
|
+
*
|
|
4
|
+
* Each log entry is a single-line JSON object appended to `.raptor/audit.jsonl`.
|
|
5
|
+
* Used for traceability, debugging, and compliance.
|
|
6
|
+
*
|
|
7
|
+
* Spec Kit ref: E07 — "Logs estruturados JSONL opcionais"
|
|
8
|
+
*/
|
|
9
|
+
import { appendFileSync, existsSync, mkdirSync } from "node:fs";
|
|
10
|
+
import { dirname, join } from "node:path";
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Logger
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
/**
|
|
15
|
+
* Append a structured log entry to the JSONL audit log.
|
|
16
|
+
*
|
|
17
|
+
* Idempotent: calling with the same entry appends a new line.
|
|
18
|
+
* Thread-safe via atomic append.
|
|
19
|
+
*/
|
|
20
|
+
export function auditLog(projectRoot, entry) {
|
|
21
|
+
const logPath = join(projectRoot, ".raptor", "audit.jsonl");
|
|
22
|
+
// Ensure directory exists
|
|
23
|
+
const dir = dirname(logPath);
|
|
24
|
+
if (!existsSync(dir)) {
|
|
25
|
+
mkdirSync(dir, { recursive: true });
|
|
26
|
+
}
|
|
27
|
+
const fullEntry = {
|
|
28
|
+
timestamp: new Date().toISOString(),
|
|
29
|
+
...entry,
|
|
30
|
+
};
|
|
31
|
+
// Single-line JSON + newline (JSONL format)
|
|
32
|
+
appendFileSync(logPath, JSON.stringify(fullEntry) + "\n");
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Log a phase transition event.
|
|
36
|
+
*/
|
|
37
|
+
export function logPhaseTransition(projectRoot, opts) {
|
|
38
|
+
auditLog(projectRoot, {
|
|
39
|
+
event: "phase.transition",
|
|
40
|
+
phase: opts.to,
|
|
41
|
+
feature: opts.feature,
|
|
42
|
+
agent: opts.agent,
|
|
43
|
+
actor: opts.actor,
|
|
44
|
+
meta: { from_phase: opts.from },
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Log an artifact creation/update event.
|
|
49
|
+
*/
|
|
50
|
+
export function logArtifactEvent(projectRoot, opts) {
|
|
51
|
+
auditLog(projectRoot, {
|
|
52
|
+
event: opts.event,
|
|
53
|
+
artifact: opts.artifact,
|
|
54
|
+
hash: opts.hash,
|
|
55
|
+
feature: opts.feature,
|
|
56
|
+
phase: opts.phase,
|
|
57
|
+
agent: opts.agent,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Log a gate evaluation event.
|
|
62
|
+
*/
|
|
63
|
+
export function logGateEvent(projectRoot, opts) {
|
|
64
|
+
auditLog(projectRoot, {
|
|
65
|
+
event: opts.passed ? "gate.passed" : "gate.failed",
|
|
66
|
+
phase: opts.phase,
|
|
67
|
+
feature: opts.feature,
|
|
68
|
+
success: opts.passed,
|
|
69
|
+
error: opts.error,
|
|
70
|
+
meta: { gate_id: opts.gateId },
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=audit-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-log.js","sourceRoot":"","sources":["../../src/prompts/audit-log.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAiC1C,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,WAAmB,EACnB,KAAuC;IAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAE5D,0BAA0B;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,SAAS,GAAkB;QAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC;IAEF,4CAA4C;IAC5C,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,IAMC;IAED,QAAQ,CAAC,WAAW,EAAE;QACpB,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,IAAI,CAAC,EAAE;QACd,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,IAOC;IAED,QAAQ,CAAC,WAAW,EAAE;QACpB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,WAAmB,EACnB,IAMC;IAED,QAAQ,CAAC,WAAW,EAAE;QACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa;QAClD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,MAAM;QACpB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;KAC/B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @raptor/core prompts module — Renderer, resumption, and audit logging.
|
|
3
|
+
*/
|
|
4
|
+
export { renderPrompt, autoResolveContext, parseFrontmatter, extractScriptPath, } from "./renderer.js";
|
|
5
|
+
export type { RenderContext } from "./renderer.js";
|
|
6
|
+
export { isValidTransition, nextPhase, readFeatureState, writeFeatureState, checkArtifactPresence, determineResumablePhase, } from "./resumption.js";
|
|
7
|
+
export { auditLog, logPhaseTransition, logArtifactEvent, logGateEvent, } from "./audit-log.js";
|
|
8
|
+
export type { AuditLogEntry } from "./audit-log.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @raptor/core prompts module — Renderer, resumption, and audit logging.
|
|
3
|
+
*/
|
|
4
|
+
export { renderPrompt, autoResolveContext, parseFrontmatter, extractScriptPath, } from "./renderer.js";
|
|
5
|
+
export { isValidTransition, nextPhase, readFeatureState, writeFeatureState, checkArtifactPresence, determineResumablePhase, } from "./resumption.js";
|
|
6
|
+
export { auditLog, logPhaseTransition, logArtifactEvent, logGateEvent, } from "./audit-log.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt Renderer — Resolves placeholders in Raptor prompt templates.
|
|
3
|
+
*
|
|
4
|
+
* Handles the canonical placeholder vocabulary:
|
|
5
|
+
* - `$ARGUMENTS` → User-supplied arguments
|
|
6
|
+
* - `{SCRIPT}` → Resolved script path from frontmatter
|
|
7
|
+
* - `{ARGS}` → User arguments (alias for $ARGUMENTS in script context)
|
|
8
|
+
* - `__CONTEXT_FILE__` → Path to the agent's context file (e.g., CLAUDE.md)
|
|
9
|
+
* - `<FEATURE_DIR>` → Active feature directory from feature.json
|
|
10
|
+
* - `<FEATURE_NAME>` → Feature name extracted from directory
|
|
11
|
+
* - `<PROJECT_NAME>` → Project name from manifest
|
|
12
|
+
*
|
|
13
|
+
* Spec Kit ref: E07 — "Renderer de placeholders"
|
|
14
|
+
*/
|
|
15
|
+
export interface RenderContext {
|
|
16
|
+
/** User arguments (verbatim from slash command invocation). */
|
|
17
|
+
arguments?: string;
|
|
18
|
+
/** Resolved script path (from frontmatter `scripts.sh`). */
|
|
19
|
+
scriptPath?: string;
|
|
20
|
+
/** Agent context file path (e.g., "CLAUDE.md"). */
|
|
21
|
+
contextFile?: string;
|
|
22
|
+
/** Active feature directory (e.g., "specs/003-user-auth"). */
|
|
23
|
+
featureDirectory?: string;
|
|
24
|
+
/** Feature name (e.g., "003-user-auth"). */
|
|
25
|
+
featureName?: string;
|
|
26
|
+
/** Project name from manifest. */
|
|
27
|
+
projectName?: string;
|
|
28
|
+
/** Project root (for resolving .raptor/ paths). */
|
|
29
|
+
projectRoot?: string;
|
|
30
|
+
/** Extra custom placeholders (key → value). */
|
|
31
|
+
custom?: Record<string, string>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Render a prompt template by replacing all known placeholders.
|
|
35
|
+
*
|
|
36
|
+
* @param template - Raw prompt markdown content.
|
|
37
|
+
* @param ctx - Rendering context with values for each placeholder.
|
|
38
|
+
* @returns - Rendered prompt with placeholders replaced.
|
|
39
|
+
*/
|
|
40
|
+
export declare function renderPrompt(template: string, ctx: RenderContext): string;
|
|
41
|
+
/**
|
|
42
|
+
* Auto-resolve a RenderContext by reading project state files.
|
|
43
|
+
*
|
|
44
|
+
* Reads:
|
|
45
|
+
* - `.raptor/feature.json` → featureDirectory, featureName
|
|
46
|
+
* - `.raptor/raptor.manifest.json` → projectName
|
|
47
|
+
* - Frontmatter `scripts.sh` → scriptPath
|
|
48
|
+
*
|
|
49
|
+
* @param projectRoot - Absolute path to the project root.
|
|
50
|
+
* @param overrides - Explicit values that override auto-detected ones.
|
|
51
|
+
*/
|
|
52
|
+
export declare function autoResolveContext(projectRoot: string, overrides?: Partial<RenderContext>): RenderContext;
|
|
53
|
+
/**
|
|
54
|
+
* Extract frontmatter and body from a prompt template.
|
|
55
|
+
*
|
|
56
|
+
* Returns the frontmatter as a raw key-value map and the body content.
|
|
57
|
+
* This is intentionally lightweight — does NOT depend on a YAML parser.
|
|
58
|
+
*/
|
|
59
|
+
export declare function parseFrontmatter(template: string): {
|
|
60
|
+
frontmatter: Record<string, string>;
|
|
61
|
+
body: string;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Extract the script path from a prompt template's frontmatter.
|
|
65
|
+
*
|
|
66
|
+
* Handles nested YAML like:
|
|
67
|
+
* ```yaml
|
|
68
|
+
* scripts:
|
|
69
|
+
* sh: scripts/bash/create-new-feature.sh --json
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare function extractScriptPath(template: string): string | undefined;
|
|
73
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/prompts/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AA0CD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CAUzE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GACjC,aAAa,CAgDf;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAClD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd,CAqCA;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtE"}
|