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.
Files changed (719) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/LICENSE +21 -0
  3. package/README.md +315 -0
  4. package/bin/raptor.js +5 -0
  5. package/dist/_core/dist/agents/adapters/antigravity.d.ts +9 -0
  6. package/dist/_core/dist/agents/adapters/antigravity.d.ts.map +1 -0
  7. package/dist/_core/dist/agents/adapters/antigravity.js +72 -0
  8. package/dist/_core/dist/agents/adapters/antigravity.js.map +1 -0
  9. package/dist/_core/dist/agents/adapters/claude-code.d.ts +9 -0
  10. package/dist/_core/dist/agents/adapters/claude-code.d.ts.map +1 -0
  11. package/dist/_core/dist/agents/adapters/claude-code.js +71 -0
  12. package/dist/_core/dist/agents/adapters/claude-code.js.map +1 -0
  13. package/dist/_core/dist/agents/adapters/codex.d.ts +12 -0
  14. package/dist/_core/dist/agents/adapters/codex.d.ts.map +1 -0
  15. package/dist/_core/dist/agents/adapters/codex.js +69 -0
  16. package/dist/_core/dist/agents/adapters/codex.js.map +1 -0
  17. package/dist/_core/dist/agents/adapters/copilot.d.ts +12 -0
  18. package/dist/_core/dist/agents/adapters/copilot.d.ts.map +1 -0
  19. package/dist/_core/dist/agents/adapters/copilot.js +71 -0
  20. package/dist/_core/dist/agents/adapters/copilot.js.map +1 -0
  21. package/dist/_core/dist/agents/adapters/cursor.d.ts +9 -0
  22. package/dist/_core/dist/agents/adapters/cursor.d.ts.map +1 -0
  23. package/dist/_core/dist/agents/adapters/cursor.js +62 -0
  24. package/dist/_core/dist/agents/adapters/cursor.js.map +1 -0
  25. package/dist/_core/dist/agents/adapters/gemini.d.ts +11 -0
  26. package/dist/_core/dist/agents/adapters/gemini.d.ts.map +1 -0
  27. package/dist/_core/dist/agents/adapters/gemini.js +68 -0
  28. package/dist/_core/dist/agents/adapters/gemini.js.map +1 -0
  29. package/dist/_core/dist/agents/adapters/human.d.ts +10 -0
  30. package/dist/_core/dist/agents/adapters/human.d.ts.map +1 -0
  31. package/dist/_core/dist/agents/adapters/human.js +48 -0
  32. package/dist/_core/dist/agents/adapters/human.js.map +1 -0
  33. package/dist/_core/dist/agents/artifact-watcher.d.ts +86 -0
  34. package/dist/_core/dist/agents/artifact-watcher.d.ts.map +1 -0
  35. package/dist/_core/dist/agents/artifact-watcher.js +214 -0
  36. package/dist/_core/dist/agents/artifact-watcher.js.map +1 -0
  37. package/dist/_core/dist/agents/backup.d.ts +69 -0
  38. package/dist/_core/dist/agents/backup.d.ts.map +1 -0
  39. package/dist/_core/dist/agents/backup.js +107 -0
  40. package/dist/_core/dist/agents/backup.js.map +1 -0
  41. package/dist/_core/dist/agents/config.d.ts +36 -0
  42. package/dist/_core/dist/agents/config.d.ts.map +1 -0
  43. package/dist/_core/dist/agents/config.js +270 -0
  44. package/dist/_core/dist/agents/config.js.map +1 -0
  45. package/dist/_core/dist/agents/context-file.d.ts +35 -0
  46. package/dist/_core/dist/agents/context-file.d.ts.map +1 -0
  47. package/dist/_core/dist/agents/context-file.js +106 -0
  48. package/dist/_core/dist/agents/context-file.js.map +1 -0
  49. package/dist/_core/dist/agents/handoff.d.ts +57 -0
  50. package/dist/_core/dist/agents/handoff.d.ts.map +1 -0
  51. package/dist/_core/dist/agents/handoff.js +71 -0
  52. package/dist/_core/dist/agents/handoff.js.map +1 -0
  53. package/dist/_core/dist/agents/index.d.ts +32 -0
  54. package/dist/_core/dist/agents/index.d.ts.map +1 -0
  55. package/dist/_core/dist/agents/index.js +37 -0
  56. package/dist/_core/dist/agents/index.js.map +1 -0
  57. package/dist/_core/dist/agents/keys.d.ts +50 -0
  58. package/dist/_core/dist/agents/keys.d.ts.map +1 -0
  59. package/dist/_core/dist/agents/keys.js +91 -0
  60. package/dist/_core/dist/agents/keys.js.map +1 -0
  61. package/dist/_core/dist/agents/materialize.d.ts +37 -0
  62. package/dist/_core/dist/agents/materialize.d.ts.map +1 -0
  63. package/dist/_core/dist/agents/materialize.js +157 -0
  64. package/dist/_core/dist/agents/materialize.js.map +1 -0
  65. package/dist/_core/dist/agents/prompt-builder.d.ts +35 -0
  66. package/dist/_core/dist/agents/prompt-builder.d.ts.map +1 -0
  67. package/dist/_core/dist/agents/prompt-builder.js +261 -0
  68. package/dist/_core/dist/agents/prompt-builder.js.map +1 -0
  69. package/dist/_core/dist/agents/prompt-markers.d.ts +69 -0
  70. package/dist/_core/dist/agents/prompt-markers.d.ts.map +1 -0
  71. package/dist/_core/dist/agents/prompt-markers.js +111 -0
  72. package/dist/_core/dist/agents/prompt-markers.js.map +1 -0
  73. package/dist/_core/dist/agents/registry.d.ts +35 -0
  74. package/dist/_core/dist/agents/registry.d.ts.map +1 -0
  75. package/dist/_core/dist/agents/registry.js +102 -0
  76. package/dist/_core/dist/agents/registry.js.map +1 -0
  77. package/dist/_core/dist/agents/selector.d.ts +33 -0
  78. package/dist/_core/dist/agents/selector.d.ts.map +1 -0
  79. package/dist/_core/dist/agents/selector.js +120 -0
  80. package/dist/_core/dist/agents/selector.js.map +1 -0
  81. package/dist/_core/dist/agents/slash-materializer.d.ts +63 -0
  82. package/dist/_core/dist/agents/slash-materializer.d.ts.map +1 -0
  83. package/dist/_core/dist/agents/slash-materializer.js +131 -0
  84. package/dist/_core/dist/agents/slash-materializer.js.map +1 -0
  85. package/dist/_core/dist/agents/types.d.ts +121 -0
  86. package/dist/_core/dist/agents/types.d.ts.map +1 -0
  87. package/dist/_core/dist/agents/types.js +10 -0
  88. package/dist/_core/dist/agents/types.js.map +1 -0
  89. package/dist/_core/dist/audit/hash.d.ts +4 -0
  90. package/dist/_core/dist/audit/hash.d.ts.map +1 -0
  91. package/dist/_core/dist/audit/hash.js +12 -0
  92. package/dist/_core/dist/audit/hash.js.map +1 -0
  93. package/dist/_core/dist/audit/index.d.ts +6 -0
  94. package/dist/_core/dist/audit/index.d.ts.map +1 -0
  95. package/dist/_core/dist/audit/index.js +6 -0
  96. package/dist/_core/dist/audit/index.js.map +1 -0
  97. package/dist/_core/dist/audit/logger.d.ts +77 -0
  98. package/dist/_core/dist/audit/logger.d.ts.map +1 -0
  99. package/dist/_core/dist/audit/logger.js +93 -0
  100. package/dist/_core/dist/audit/logger.js.map +1 -0
  101. package/dist/_core/dist/audit/query.d.ts +13 -0
  102. package/dist/_core/dist/audit/query.d.ts.map +1 -0
  103. package/dist/_core/dist/audit/query.js +57 -0
  104. package/dist/_core/dist/audit/query.js.map +1 -0
  105. package/dist/_core/dist/audit/schema.d.ts +455 -0
  106. package/dist/_core/dist/audit/schema.d.ts.map +1 -0
  107. package/dist/_core/dist/audit/schema.js +341 -0
  108. package/dist/_core/dist/audit/schema.js.map +1 -0
  109. package/dist/_core/dist/audit/validate.d.ts +21 -0
  110. package/dist/_core/dist/audit/validate.d.ts.map +1 -0
  111. package/dist/_core/dist/audit/validate.js +139 -0
  112. package/dist/_core/dist/audit/validate.js.map +1 -0
  113. package/dist/_core/dist/constitution/core.d.ts +22 -0
  114. package/dist/_core/dist/constitution/core.d.ts.map +1 -0
  115. package/dist/_core/dist/constitution/core.js +102 -0
  116. package/dist/_core/dist/constitution/core.js.map +1 -0
  117. package/dist/_core/dist/constitution/index.d.ts +2 -0
  118. package/dist/_core/dist/constitution/index.d.ts.map +1 -0
  119. package/dist/_core/dist/constitution/index.js +2 -0
  120. package/dist/_core/dist/constitution/index.js.map +1 -0
  121. package/dist/_core/dist/extensions/index.d.ts +12 -0
  122. package/dist/_core/dist/extensions/index.d.ts.map +1 -0
  123. package/dist/_core/dist/extensions/index.js +12 -0
  124. package/dist/_core/dist/extensions/index.js.map +1 -0
  125. package/dist/_core/dist/extensions/integrate.d.ts +69 -0
  126. package/dist/_core/dist/extensions/integrate.d.ts.map +1 -0
  127. package/dist/_core/dist/extensions/integrate.js +181 -0
  128. package/dist/_core/dist/extensions/integrate.js.map +1 -0
  129. package/dist/_core/dist/extensions/loader.d.ts +24 -0
  130. package/dist/_core/dist/extensions/loader.d.ts.map +1 -0
  131. package/dist/_core/dist/extensions/loader.js +73 -0
  132. package/dist/_core/dist/extensions/loader.js.map +1 -0
  133. package/dist/_core/dist/extensions/manifest.d.ts +23 -0
  134. package/dist/_core/dist/extensions/manifest.d.ts.map +1 -0
  135. package/dist/_core/dist/extensions/manifest.js +176 -0
  136. package/dist/_core/dist/extensions/manifest.js.map +1 -0
  137. package/dist/_core/dist/extensions/registry.d.ts +32 -0
  138. package/dist/_core/dist/extensions/registry.d.ts.map +1 -0
  139. package/dist/_core/dist/extensions/registry.js +57 -0
  140. package/dist/_core/dist/extensions/registry.js.map +1 -0
  141. package/dist/_core/dist/extensions/resolver.d.ts +55 -0
  142. package/dist/_core/dist/extensions/resolver.d.ts.map +1 -0
  143. package/dist/_core/dist/extensions/resolver.js +143 -0
  144. package/dist/_core/dist/extensions/resolver.js.map +1 -0
  145. package/dist/_core/dist/extensions/types.d.ts +173 -0
  146. package/dist/_core/dist/extensions/types.d.ts.map +1 -0
  147. package/dist/_core/dist/extensions/types.js +83 -0
  148. package/dist/_core/dist/extensions/types.js.map +1 -0
  149. package/dist/_core/dist/frontmatter/index.d.ts +10 -0
  150. package/dist/_core/dist/frontmatter/index.d.ts.map +1 -0
  151. package/dist/_core/dist/frontmatter/index.js +24 -0
  152. package/dist/_core/dist/frontmatter/index.js.map +1 -0
  153. package/dist/_core/dist/gates/agent-gates.d.ts +16 -0
  154. package/dist/_core/dist/gates/agent-gates.d.ts.map +1 -0
  155. package/dist/_core/dist/gates/agent-gates.js +205 -0
  156. package/dist/_core/dist/gates/agent-gates.js.map +1 -0
  157. package/dist/_core/dist/gates/builtin.d.ts +18 -0
  158. package/dist/_core/dist/gates/builtin.d.ts.map +1 -0
  159. package/dist/_core/dist/gates/builtin.js +860 -0
  160. package/dist/_core/dist/gates/builtin.js.map +1 -0
  161. package/dist/_core/dist/gates/index.d.ts +7 -0
  162. package/dist/_core/dist/gates/index.d.ts.map +1 -0
  163. package/dist/_core/dist/gates/index.js +7 -0
  164. package/dist/_core/dist/gates/index.js.map +1 -0
  165. package/dist/_core/dist/gates/m7-gates.d.ts +17 -0
  166. package/dist/_core/dist/gates/m7-gates.d.ts.map +1 -0
  167. package/dist/_core/dist/gates/m7-gates.js +309 -0
  168. package/dist/_core/dist/gates/m7-gates.js.map +1 -0
  169. package/dist/_core/dist/gates/phase-gates.d.ts +18 -0
  170. package/dist/_core/dist/gates/phase-gates.d.ts.map +1 -0
  171. package/dist/_core/dist/gates/phase-gates.js +275 -0
  172. package/dist/_core/dist/gates/phase-gates.js.map +1 -0
  173. package/dist/_core/dist/gates/runner.d.ts +4 -0
  174. package/dist/_core/dist/gates/runner.d.ts.map +1 -0
  175. package/dist/_core/dist/gates/runner.js +64 -0
  176. package/dist/_core/dist/gates/runner.js.map +1 -0
  177. package/dist/_core/dist/gates/types.d.ts +36 -0
  178. package/dist/_core/dist/gates/types.d.ts.map +1 -0
  179. package/dist/_core/dist/gates/types.js +2 -0
  180. package/dist/_core/dist/gates/types.js.map +1 -0
  181. package/dist/_core/dist/hooks/index.d.ts +4 -0
  182. package/dist/_core/dist/hooks/index.d.ts.map +1 -0
  183. package/dist/_core/dist/hooks/index.js +4 -0
  184. package/dist/_core/dist/hooks/index.js.map +1 -0
  185. package/dist/_core/dist/hooks/runner.d.ts +28 -0
  186. package/dist/_core/dist/hooks/runner.d.ts.map +1 -0
  187. package/dist/_core/dist/hooks/runner.js +294 -0
  188. package/dist/_core/dist/hooks/runner.js.map +1 -0
  189. package/dist/_core/dist/hooks/runtime.d.ts +65 -0
  190. package/dist/_core/dist/hooks/runtime.d.ts.map +1 -0
  191. package/dist/_core/dist/hooks/runtime.js +212 -0
  192. package/dist/_core/dist/hooks/runtime.js.map +1 -0
  193. package/dist/_core/dist/hooks/types.d.ts +36 -0
  194. package/dist/_core/dist/hooks/types.d.ts.map +1 -0
  195. package/dist/_core/dist/hooks/types.js +23 -0
  196. package/dist/_core/dist/hooks/types.js.map +1 -0
  197. package/dist/_core/dist/index.d.ts +21 -0
  198. package/dist/_core/dist/index.d.ts.map +1 -0
  199. package/dist/_core/dist/index.js +20 -0
  200. package/dist/_core/dist/index.js.map +1 -0
  201. package/dist/_core/dist/manifest/index.d.ts +119 -0
  202. package/dist/_core/dist/manifest/index.d.ts.map +1 -0
  203. package/dist/_core/dist/manifest/index.js +125 -0
  204. package/dist/_core/dist/manifest/index.js.map +1 -0
  205. package/dist/_core/dist/markers/index.d.ts +47 -0
  206. package/dist/_core/dist/markers/index.d.ts.map +1 -0
  207. package/dist/_core/dist/markers/index.js +97 -0
  208. package/dist/_core/dist/markers/index.js.map +1 -0
  209. package/dist/_core/dist/mcp/config.d.ts +19 -0
  210. package/dist/_core/dist/mcp/config.d.ts.map +1 -0
  211. package/dist/_core/dist/mcp/config.js +114 -0
  212. package/dist/_core/dist/mcp/config.js.map +1 -0
  213. package/dist/_core/dist/mcp/index.d.ts +9 -0
  214. package/dist/_core/dist/mcp/index.d.ts.map +1 -0
  215. package/dist/_core/dist/mcp/index.js +8 -0
  216. package/dist/_core/dist/mcp/index.js.map +1 -0
  217. package/dist/_core/dist/mcp/materializer.d.ts +40 -0
  218. package/dist/_core/dist/mcp/materializer.d.ts.map +1 -0
  219. package/dist/_core/dist/mcp/materializer.js +161 -0
  220. package/dist/_core/dist/mcp/materializer.js.map +1 -0
  221. package/dist/_core/dist/mcp/targets.d.ts +37 -0
  222. package/dist/_core/dist/mcp/targets.d.ts.map +1 -0
  223. package/dist/_core/dist/mcp/targets.js +56 -0
  224. package/dist/_core/dist/mcp/targets.js.map +1 -0
  225. package/dist/_core/dist/mcp/types.d.ts +34 -0
  226. package/dist/_core/dist/mcp/types.d.ts.map +1 -0
  227. package/dist/_core/dist/mcp/types.js +8 -0
  228. package/dist/_core/dist/mcp/types.js.map +1 -0
  229. package/dist/_core/dist/models/analyze.d.ts +131 -0
  230. package/dist/_core/dist/models/analyze.d.ts.map +1 -0
  231. package/dist/_core/dist/models/analyze.js +301 -0
  232. package/dist/_core/dist/models/analyze.js.map +1 -0
  233. package/dist/_core/dist/models/checklist.d.ts +113 -0
  234. package/dist/_core/dist/models/checklist.d.ts.map +1 -0
  235. package/dist/_core/dist/models/checklist.js +159 -0
  236. package/dist/_core/dist/models/checklist.js.map +1 -0
  237. package/dist/_core/dist/models/clarify.d.ts +116 -0
  238. package/dist/_core/dist/models/clarify.d.ts.map +1 -0
  239. package/dist/_core/dist/models/clarify.js +166 -0
  240. package/dist/_core/dist/models/clarify.js.map +1 -0
  241. package/dist/_core/dist/models/impl-log.d.ts +64 -0
  242. package/dist/_core/dist/models/impl-log.d.ts.map +1 -0
  243. package/dist/_core/dist/models/impl-log.js +137 -0
  244. package/dist/_core/dist/models/impl-log.js.map +1 -0
  245. package/dist/_core/dist/models/index.d.ts +8 -0
  246. package/dist/_core/dist/models/index.d.ts.map +1 -0
  247. package/dist/_core/dist/models/index.js +8 -0
  248. package/dist/_core/dist/models/index.js.map +1 -0
  249. package/dist/_core/dist/models/plan.d.ts +24 -0
  250. package/dist/_core/dist/models/plan.d.ts.map +1 -0
  251. package/dist/_core/dist/models/plan.js +15 -0
  252. package/dist/_core/dist/models/plan.js.map +1 -0
  253. package/dist/_core/dist/models/spec.d.ts +23 -0
  254. package/dist/_core/dist/models/spec.d.ts.map +1 -0
  255. package/dist/_core/dist/models/spec.js +22 -0
  256. package/dist/_core/dist/models/spec.js.map +1 -0
  257. package/dist/_core/dist/models/tasks.d.ts +33 -0
  258. package/dist/_core/dist/models/tasks.d.ts.map +1 -0
  259. package/dist/_core/dist/models/tasks.js +78 -0
  260. package/dist/_core/dist/models/tasks.js.map +1 -0
  261. package/dist/_core/dist/presets/gates.d.ts +9 -0
  262. package/dist/_core/dist/presets/gates.d.ts.map +1 -0
  263. package/dist/_core/dist/presets/gates.js +173 -0
  264. package/dist/_core/dist/presets/gates.js.map +1 -0
  265. package/dist/_core/dist/presets/index.d.ts +10 -0
  266. package/dist/_core/dist/presets/index.d.ts.map +1 -0
  267. package/dist/_core/dist/presets/index.js +7 -0
  268. package/dist/_core/dist/presets/index.js.map +1 -0
  269. package/dist/_core/dist/presets/loader.d.ts +56 -0
  270. package/dist/_core/dist/presets/loader.d.ts.map +1 -0
  271. package/dist/_core/dist/presets/loader.js +216 -0
  272. package/dist/_core/dist/presets/loader.js.map +1 -0
  273. package/dist/_core/dist/presets/mobile-opinionated.d.ts +3 -0
  274. package/dist/_core/dist/presets/mobile-opinionated.d.ts.map +1 -0
  275. package/dist/_core/dist/presets/mobile-opinionated.js +78 -0
  276. package/dist/_core/dist/presets/mobile-opinionated.js.map +1 -0
  277. package/dist/_core/dist/presets/registry.d.ts +5 -0
  278. package/dist/_core/dist/presets/registry.d.ts.map +1 -0
  279. package/dist/_core/dist/presets/registry.js +14 -0
  280. package/dist/_core/dist/presets/registry.js.map +1 -0
  281. package/dist/_core/dist/presets/renderer.d.ts +5 -0
  282. package/dist/_core/dist/presets/renderer.d.ts.map +1 -0
  283. package/dist/_core/dist/presets/renderer.js +37 -0
  284. package/dist/_core/dist/presets/renderer.js.map +1 -0
  285. package/dist/_core/dist/presets/stacking.d.ts +29 -0
  286. package/dist/_core/dist/presets/stacking.d.ts.map +1 -0
  287. package/dist/_core/dist/presets/stacking.js +91 -0
  288. package/dist/_core/dist/presets/stacking.js.map +1 -0
  289. package/dist/_core/dist/presets/types.d.ts +22 -0
  290. package/dist/_core/dist/presets/types.d.ts.map +1 -0
  291. package/dist/_core/dist/presets/types.js +2 -0
  292. package/dist/_core/dist/presets/types.js.map +1 -0
  293. package/dist/_core/dist/prompts/audit-log.d.ts +73 -0
  294. package/dist/_core/dist/prompts/audit-log.d.ts.map +1 -0
  295. package/dist/_core/dist/prompts/audit-log.js +73 -0
  296. package/dist/_core/dist/prompts/audit-log.js.map +1 -0
  297. package/dist/_core/dist/prompts/index.d.ts +9 -0
  298. package/dist/_core/dist/prompts/index.d.ts.map +1 -0
  299. package/dist/_core/dist/prompts/index.js +7 -0
  300. package/dist/_core/dist/prompts/index.js.map +1 -0
  301. package/dist/_core/dist/prompts/renderer.d.ts +73 -0
  302. package/dist/_core/dist/prompts/renderer.d.ts.map +1 -0
  303. package/dist/_core/dist/prompts/renderer.js +179 -0
  304. package/dist/_core/dist/prompts/renderer.js.map +1 -0
  305. package/dist/_core/dist/prompts/resumption.d.ts +59 -0
  306. package/dist/_core/dist/prompts/resumption.d.ts.map +1 -0
  307. package/dist/_core/dist/prompts/resumption.js +149 -0
  308. package/dist/_core/dist/prompts/resumption.js.map +1 -0
  309. package/dist/_core/dist/skills/config.d.ts +27 -0
  310. package/dist/_core/dist/skills/config.d.ts.map +1 -0
  311. package/dist/_core/dist/skills/config.js +102 -0
  312. package/dist/_core/dist/skills/config.js.map +1 -0
  313. package/dist/_core/dist/skills/index.d.ts +9 -0
  314. package/dist/_core/dist/skills/index.d.ts.map +1 -0
  315. package/dist/_core/dist/skills/index.js +8 -0
  316. package/dist/_core/dist/skills/index.js.map +1 -0
  317. package/dist/_core/dist/skills/materializer.d.ts +45 -0
  318. package/dist/_core/dist/skills/materializer.d.ts.map +1 -0
  319. package/dist/_core/dist/skills/materializer.js +97 -0
  320. package/dist/_core/dist/skills/materializer.js.map +1 -0
  321. package/dist/_core/dist/skills/registry.d.ts +18 -0
  322. package/dist/_core/dist/skills/registry.d.ts.map +1 -0
  323. package/dist/_core/dist/skills/registry.js +36 -0
  324. package/dist/_core/dist/skills/registry.js.map +1 -0
  325. package/dist/_core/dist/skills/types.d.ts +39 -0
  326. package/dist/_core/dist/skills/types.d.ts.map +1 -0
  327. package/dist/_core/dist/skills/types.js +13 -0
  328. package/dist/_core/dist/skills/types.js.map +1 -0
  329. package/dist/_core/dist/state/feature.d.ts +58 -0
  330. package/dist/_core/dist/state/feature.d.ts.map +1 -0
  331. package/dist/_core/dist/state/feature.js +81 -0
  332. package/dist/_core/dist/state/feature.js.map +1 -0
  333. package/dist/_core/dist/state/index.d.ts +8 -0
  334. package/dist/_core/dist/state/index.d.ts.map +1 -0
  335. package/dist/_core/dist/state/index.js +6 -0
  336. package/dist/_core/dist/state/index.js.map +1 -0
  337. package/dist/_core/dist/state/init-options.d.ts +60 -0
  338. package/dist/_core/dist/state/init-options.d.ts.map +1 -0
  339. package/dist/_core/dist/state/init-options.js +74 -0
  340. package/dist/_core/dist/state/init-options.js.map +1 -0
  341. package/dist/_core/dist/template/engine.d.ts +7 -0
  342. package/dist/_core/dist/template/engine.d.ts.map +1 -0
  343. package/dist/_core/dist/template/engine.js +86 -0
  344. package/dist/_core/dist/template/engine.js.map +1 -0
  345. package/dist/_core/dist/template/helpers.d.ts +5 -0
  346. package/dist/_core/dist/template/helpers.d.ts.map +1 -0
  347. package/dist/_core/dist/template/helpers.js +59 -0
  348. package/dist/_core/dist/template/helpers.js.map +1 -0
  349. package/dist/_core/dist/template/index.d.ts +6 -0
  350. package/dist/_core/dist/template/index.d.ts.map +1 -0
  351. package/dist/_core/dist/template/index.js +6 -0
  352. package/dist/_core/dist/template/index.js.map +1 -0
  353. package/dist/_core/dist/template/loader.d.ts +36 -0
  354. package/dist/_core/dist/template/loader.d.ts.map +1 -0
  355. package/dist/_core/dist/template/loader.js +62 -0
  356. package/dist/_core/dist/template/loader.js.map +1 -0
  357. package/dist/_core/dist/template/parser.d.ts +3 -0
  358. package/dist/_core/dist/template/parser.d.ts.map +1 -0
  359. package/dist/_core/dist/template/parser.js +234 -0
  360. package/dist/_core/dist/template/parser.js.map +1 -0
  361. package/dist/_core/dist/template/types.d.ts +40 -0
  362. package/dist/_core/dist/template/types.d.ts.map +1 -0
  363. package/dist/_core/dist/template/types.js +14 -0
  364. package/dist/_core/dist/template/types.js.map +1 -0
  365. package/dist/_core/dist/verify/a11y.d.ts +36 -0
  366. package/dist/_core/dist/verify/a11y.d.ts.map +1 -0
  367. package/dist/_core/dist/verify/a11y.js +153 -0
  368. package/dist/_core/dist/verify/a11y.js.map +1 -0
  369. package/dist/_core/dist/verify/architecture.d.ts +37 -0
  370. package/dist/_core/dist/verify/architecture.d.ts.map +1 -0
  371. package/dist/_core/dist/verify/architecture.js +113 -0
  372. package/dist/_core/dist/verify/architecture.js.map +1 -0
  373. package/dist/_core/dist/verify/index.d.ts +10 -0
  374. package/dist/_core/dist/verify/index.d.ts.map +1 -0
  375. package/dist/_core/dist/verify/index.js +10 -0
  376. package/dist/_core/dist/verify/index.js.map +1 -0
  377. package/dist/_core/dist/verify/os-matrix.d.ts +35 -0
  378. package/dist/_core/dist/verify/os-matrix.d.ts.map +1 -0
  379. package/dist/_core/dist/verify/os-matrix.js +104 -0
  380. package/dist/_core/dist/verify/os-matrix.js.map +1 -0
  381. package/dist/_core/dist/verify/perf.d.ts +43 -0
  382. package/dist/_core/dist/verify/perf.d.ts.map +1 -0
  383. package/dist/_core/dist/verify/perf.js +69 -0
  384. package/dist/_core/dist/verify/perf.js.map +1 -0
  385. package/dist/_core/dist/verify/stores.d.ts +38 -0
  386. package/dist/_core/dist/verify/stores.d.ts.map +1 -0
  387. package/dist/_core/dist/verify/stores.js +57 -0
  388. package/dist/_core/dist/verify/stores.js.map +1 -0
  389. package/dist/_core/dist/version.d.ts +8 -0
  390. package/dist/_core/dist/version.d.ts.map +1 -0
  391. package/dist/_core/dist/version.js +11 -0
  392. package/dist/_core/dist/version.js.map +1 -0
  393. package/dist/_core/dist/workflows/bundled.d.ts +32 -0
  394. package/dist/_core/dist/workflows/bundled.d.ts.map +1 -0
  395. package/dist/_core/dist/workflows/bundled.js +254 -0
  396. package/dist/_core/dist/workflows/bundled.js.map +1 -0
  397. package/dist/_core/dist/workflows/engine.d.ts +74 -0
  398. package/dist/_core/dist/workflows/engine.d.ts.map +1 -0
  399. package/dist/_core/dist/workflows/engine.js +574 -0
  400. package/dist/_core/dist/workflows/engine.js.map +1 -0
  401. package/dist/_core/dist/workflows/expressions.d.ts +48 -0
  402. package/dist/_core/dist/workflows/expressions.d.ts.map +1 -0
  403. package/dist/_core/dist/workflows/expressions.js +336 -0
  404. package/dist/_core/dist/workflows/expressions.js.map +1 -0
  405. package/dist/_core/dist/workflows/index.d.ts +16 -0
  406. package/dist/_core/dist/workflows/index.d.ts.map +1 -0
  407. package/dist/_core/dist/workflows/index.js +15 -0
  408. package/dist/_core/dist/workflows/index.js.map +1 -0
  409. package/dist/_core/dist/workflows/parser.d.ts +38 -0
  410. package/dist/_core/dist/workflows/parser.d.ts.map +1 -0
  411. package/dist/_core/dist/workflows/parser.js +386 -0
  412. package/dist/_core/dist/workflows/parser.js.map +1 -0
  413. package/dist/_core/dist/workflows/sdd-flow.d.ts +85 -0
  414. package/dist/_core/dist/workflows/sdd-flow.d.ts.map +1 -0
  415. package/dist/_core/dist/workflows/sdd-flow.js +269 -0
  416. package/dist/_core/dist/workflows/sdd-flow.js.map +1 -0
  417. package/dist/_core/dist/workflows/types.d.ts +285 -0
  418. package/dist/_core/dist/workflows/types.d.ts.map +1 -0
  419. package/dist/_core/dist/workflows/types.js +13 -0
  420. package/dist/_core/dist/workflows/types.js.map +1 -0
  421. package/dist/_core/package.json +6 -0
  422. package/dist/_core/templates/constitution.md.hbs +46 -0
  423. package/dist/_core/templates/ghaWorkflow.yml.hbs +58 -0
  424. package/dist/_core/templates/hotfix.md.hbs +39 -0
  425. package/dist/_core/templates/plan.md.hbs +212 -0
  426. package/dist/_core/templates/preCommitHook.sh.hbs +30 -0
  427. package/dist/_core/templates/prePushHook.sh.hbs +45 -0
  428. package/dist/_core/templates/raptor.yml.hbs +24 -0
  429. package/dist/_core/templates/spec.md.hbs +127 -0
  430. package/dist/_core/templates/tasks.md.hbs +71 -0
  431. package/dist/commands/add-agent.d.ts +22 -0
  432. package/dist/commands/add-agent.d.ts.map +1 -0
  433. package/dist/commands/add-agent.js +121 -0
  434. package/dist/commands/add-agent.js.map +1 -0
  435. package/dist/commands/add-extension.d.ts +18 -0
  436. package/dist/commands/add-extension.d.ts.map +1 -0
  437. package/dist/commands/add-extension.js +83 -0
  438. package/dist/commands/add-extension.js.map +1 -0
  439. package/dist/commands/analyze.d.ts +18 -0
  440. package/dist/commands/analyze.d.ts.map +1 -0
  441. package/dist/commands/analyze.js +323 -0
  442. package/dist/commands/analyze.js.map +1 -0
  443. package/dist/commands/approve.d.ts +14 -0
  444. package/dist/commands/approve.d.ts.map +1 -0
  445. package/dist/commands/approve.js +116 -0
  446. package/dist/commands/approve.js.map +1 -0
  447. package/dist/commands/audit/query.d.ts +23 -0
  448. package/dist/commands/audit/query.d.ts.map +1 -0
  449. package/dist/commands/audit/query.js +118 -0
  450. package/dist/commands/audit/query.js.map +1 -0
  451. package/dist/commands/audit/show.d.ts +17 -0
  452. package/dist/commands/audit/show.d.ts.map +1 -0
  453. package/dist/commands/audit/show.js +53 -0
  454. package/dist/commands/audit/show.js.map +1 -0
  455. package/dist/commands/checklist.d.ts +17 -0
  456. package/dist/commands/checklist.d.ts.map +1 -0
  457. package/dist/commands/checklist.js +255 -0
  458. package/dist/commands/checklist.js.map +1 -0
  459. package/dist/commands/clarify.d.ts +17 -0
  460. package/dist/commands/clarify.d.ts.map +1 -0
  461. package/dist/commands/clarify.js +254 -0
  462. package/dist/commands/clarify.js.map +1 -0
  463. package/dist/commands/doctor.d.ts +8 -0
  464. package/dist/commands/doctor.d.ts.map +1 -0
  465. package/dist/commands/doctor.js +435 -0
  466. package/dist/commands/doctor.js.map +1 -0
  467. package/dist/commands/extension/add.d.ts +15 -0
  468. package/dist/commands/extension/add.d.ts.map +1 -0
  469. package/dist/commands/extension/add.js +93 -0
  470. package/dist/commands/extension/add.js.map +1 -0
  471. package/dist/commands/extension/info.d.ts +13 -0
  472. package/dist/commands/extension/info.d.ts.map +1 -0
  473. package/dist/commands/extension/info.js +75 -0
  474. package/dist/commands/extension/info.js.map +1 -0
  475. package/dist/commands/extension/list.d.ts +10 -0
  476. package/dist/commands/extension/list.d.ts.map +1 -0
  477. package/dist/commands/extension/list.js +71 -0
  478. package/dist/commands/extension/list.js.map +1 -0
  479. package/dist/commands/extension/remove.d.ts +14 -0
  480. package/dist/commands/extension/remove.d.ts.map +1 -0
  481. package/dist/commands/extension/remove.js +49 -0
  482. package/dist/commands/extension/remove.js.map +1 -0
  483. package/dist/commands/gate/approve.d.ts +15 -0
  484. package/dist/commands/gate/approve.d.ts.map +1 -0
  485. package/dist/commands/gate/approve.js +106 -0
  486. package/dist/commands/gate/approve.js.map +1 -0
  487. package/dist/commands/gate/list.d.ts +6 -0
  488. package/dist/commands/gate/list.d.ts.map +1 -0
  489. package/dist/commands/gate/list.js +38 -0
  490. package/dist/commands/gate/list.js.map +1 -0
  491. package/dist/commands/gate/skip.d.ts +14 -0
  492. package/dist/commands/gate/skip.d.ts.map +1 -0
  493. package/dist/commands/gate/skip.js +95 -0
  494. package/dist/commands/gate/skip.js.map +1 -0
  495. package/dist/commands/hook/list.d.ts +11 -0
  496. package/dist/commands/hook/list.d.ts.map +1 -0
  497. package/dist/commands/hook/list.js +152 -0
  498. package/dist/commands/hook/list.js.map +1 -0
  499. package/dist/commands/hook/run.d.ts +16 -0
  500. package/dist/commands/hook/run.d.ts.map +1 -0
  501. package/dist/commands/hook/run.js +74 -0
  502. package/dist/commands/hook/run.js.map +1 -0
  503. package/dist/commands/hotfix.d.ts +21 -0
  504. package/dist/commands/hotfix.d.ts.map +1 -0
  505. package/dist/commands/hotfix.js +216 -0
  506. package/dist/commands/hotfix.js.map +1 -0
  507. package/dist/commands/implement.d.ts +19 -0
  508. package/dist/commands/implement.d.ts.map +1 -0
  509. package/dist/commands/implement.js +282 -0
  510. package/dist/commands/implement.js.map +1 -0
  511. package/dist/commands/init.d.ts +43 -0
  512. package/dist/commands/init.d.ts.map +1 -0
  513. package/dist/commands/init.js +465 -0
  514. package/dist/commands/init.js.map +1 -0
  515. package/dist/commands/list-agents.d.ts +12 -0
  516. package/dist/commands/list-agents.d.ts.map +1 -0
  517. package/dist/commands/list-agents.js +55 -0
  518. package/dist/commands/list-agents.js.map +1 -0
  519. package/dist/commands/mcp/add.d.ts +21 -0
  520. package/dist/commands/mcp/add.d.ts.map +1 -0
  521. package/dist/commands/mcp/add.js +119 -0
  522. package/dist/commands/mcp/add.js.map +1 -0
  523. package/dist/commands/mcp/list.d.ts +10 -0
  524. package/dist/commands/mcp/list.d.ts.map +1 -0
  525. package/dist/commands/mcp/list.js +54 -0
  526. package/dist/commands/mcp/list.js.map +1 -0
  527. package/dist/commands/mcp/remove.d.ts +10 -0
  528. package/dist/commands/mcp/remove.d.ts.map +1 -0
  529. package/dist/commands/mcp/remove.js +53 -0
  530. package/dist/commands/mcp/remove.js.map +1 -0
  531. package/dist/commands/mcp/sync.d.ts +7 -0
  532. package/dist/commands/mcp/sync.d.ts.map +1 -0
  533. package/dist/commands/mcp/sync.js +31 -0
  534. package/dist/commands/mcp/sync.js.map +1 -0
  535. package/dist/commands/new.d.ts +19 -0
  536. package/dist/commands/new.d.ts.map +1 -0
  537. package/dist/commands/new.js +306 -0
  538. package/dist/commands/new.js.map +1 -0
  539. package/dist/commands/plan.d.ts +17 -0
  540. package/dist/commands/plan.d.ts.map +1 -0
  541. package/dist/commands/plan.js +200 -0
  542. package/dist/commands/plan.js.map +1 -0
  543. package/dist/commands/preset/add.d.ts +13 -0
  544. package/dist/commands/preset/add.d.ts.map +1 -0
  545. package/dist/commands/preset/add.js +66 -0
  546. package/dist/commands/preset/add.js.map +1 -0
  547. package/dist/commands/preset/info.d.ts +13 -0
  548. package/dist/commands/preset/info.d.ts.map +1 -0
  549. package/dist/commands/preset/info.js +80 -0
  550. package/dist/commands/preset/info.js.map +1 -0
  551. package/dist/commands/preset/list.d.ts +10 -0
  552. package/dist/commands/preset/list.d.ts.map +1 -0
  553. package/dist/commands/preset/list.js +63 -0
  554. package/dist/commands/preset/list.js.map +1 -0
  555. package/dist/commands/preset/remove.d.ts +14 -0
  556. package/dist/commands/preset/remove.d.ts.map +1 -0
  557. package/dist/commands/preset/remove.js +60 -0
  558. package/dist/commands/preset/remove.js.map +1 -0
  559. package/dist/commands/repair/constitution.d.ts +11 -0
  560. package/dist/commands/repair/constitution.d.ts.map +1 -0
  561. package/dist/commands/repair/constitution.js +117 -0
  562. package/dist/commands/repair/constitution.js.map +1 -0
  563. package/dist/commands/resync.d.ts +22 -0
  564. package/dist/commands/resync.d.ts.map +1 -0
  565. package/dist/commands/resync.js +103 -0
  566. package/dist/commands/resync.js.map +1 -0
  567. package/dist/commands/skill/add.d.ts +19 -0
  568. package/dist/commands/skill/add.d.ts.map +1 -0
  569. package/dist/commands/skill/add.js +107 -0
  570. package/dist/commands/skill/add.js.map +1 -0
  571. package/dist/commands/skill/list.d.ts +10 -0
  572. package/dist/commands/skill/list.d.ts.map +1 -0
  573. package/dist/commands/skill/list.js +56 -0
  574. package/dist/commands/skill/list.js.map +1 -0
  575. package/dist/commands/skill/remove.d.ts +10 -0
  576. package/dist/commands/skill/remove.d.ts.map +1 -0
  577. package/dist/commands/skill/remove.js +47 -0
  578. package/dist/commands/skill/remove.js.map +1 -0
  579. package/dist/commands/skill/sync.d.ts +7 -0
  580. package/dist/commands/skill/sync.d.ts.map +1 -0
  581. package/dist/commands/skill/sync.js +30 -0
  582. package/dist/commands/skill/sync.js.map +1 -0
  583. package/dist/commands/status.d.ts +17 -0
  584. package/dist/commands/status.d.ts.map +1 -0
  585. package/dist/commands/status.js +265 -0
  586. package/dist/commands/status.js.map +1 -0
  587. package/dist/commands/tasks.d.ts +16 -0
  588. package/dist/commands/tasks.d.ts.map +1 -0
  589. package/dist/commands/tasks.js +176 -0
  590. package/dist/commands/tasks.js.map +1 -0
  591. package/dist/commands/trace.d.ts +16 -0
  592. package/dist/commands/trace.d.ts.map +1 -0
  593. package/dist/commands/trace.js +113 -0
  594. package/dist/commands/trace.js.map +1 -0
  595. package/dist/commands/upgrade.d.ts +20 -0
  596. package/dist/commands/upgrade.d.ts.map +1 -0
  597. package/dist/commands/upgrade.js +178 -0
  598. package/dist/commands/upgrade.js.map +1 -0
  599. package/dist/commands/verify/a11y.d.ts +15 -0
  600. package/dist/commands/verify/a11y.d.ts.map +1 -0
  601. package/dist/commands/verify/a11y.js +121 -0
  602. package/dist/commands/verify/a11y.js.map +1 -0
  603. package/dist/commands/verify/architecture.d.ts +11 -0
  604. package/dist/commands/verify/architecture.d.ts.map +1 -0
  605. package/dist/commands/verify/architecture.js +71 -0
  606. package/dist/commands/verify/architecture.js.map +1 -0
  607. package/dist/commands/verify/audit.d.ts +18 -0
  608. package/dist/commands/verify/audit.d.ts.map +1 -0
  609. package/dist/commands/verify/audit.js +108 -0
  610. package/dist/commands/verify/audit.js.map +1 -0
  611. package/dist/commands/verify/constitution.d.ts +10 -0
  612. package/dist/commands/verify/constitution.d.ts.map +1 -0
  613. package/dist/commands/verify/constitution.js +91 -0
  614. package/dist/commands/verify/constitution.js.map +1 -0
  615. package/dist/commands/verify/os-matrix.d.ts +14 -0
  616. package/dist/commands/verify/os-matrix.d.ts.map +1 -0
  617. package/dist/commands/verify/os-matrix.js +108 -0
  618. package/dist/commands/verify/os-matrix.js.map +1 -0
  619. package/dist/commands/verify/perf.d.ts +17 -0
  620. package/dist/commands/verify/perf.d.ts.map +1 -0
  621. package/dist/commands/verify/perf.js +106 -0
  622. package/dist/commands/verify/perf.js.map +1 -0
  623. package/dist/commands/verify/stores.d.ts +14 -0
  624. package/dist/commands/verify/stores.d.ts.map +1 -0
  625. package/dist/commands/verify/stores.js +98 -0
  626. package/dist/commands/verify/stores.js.map +1 -0
  627. package/dist/commands/verify.d.ts +14 -0
  628. package/dist/commands/verify.d.ts.map +1 -0
  629. package/dist/commands/verify.js +97 -0
  630. package/dist/commands/verify.js.map +1 -0
  631. package/dist/commands/workflow/catalog.d.ts +11 -0
  632. package/dist/commands/workflow/catalog.d.ts.map +1 -0
  633. package/dist/commands/workflow/catalog.js +164 -0
  634. package/dist/commands/workflow/catalog.js.map +1 -0
  635. package/dist/commands/workflow/list.d.ts +7 -0
  636. package/dist/commands/workflow/list.d.ts.map +1 -0
  637. package/dist/commands/workflow/list.js +50 -0
  638. package/dist/commands/workflow/list.js.map +1 -0
  639. package/dist/commands/workflow/resume.d.ts +13 -0
  640. package/dist/commands/workflow/resume.d.ts.map +1 -0
  641. package/dist/commands/workflow/resume.js +126 -0
  642. package/dist/commands/workflow/resume.js.map +1 -0
  643. package/dist/commands/workflow/run.d.ts +14 -0
  644. package/dist/commands/workflow/run.d.ts.map +1 -0
  645. package/dist/commands/workflow/run.js +139 -0
  646. package/dist/commands/workflow/run.js.map +1 -0
  647. package/dist/commands/workflow/status.d.ts +10 -0
  648. package/dist/commands/workflow/status.d.ts.map +1 -0
  649. package/dist/commands/workflow/status.js +86 -0
  650. package/dist/commands/workflow/status.js.map +1 -0
  651. package/dist/index.d.ts +2 -0
  652. package/dist/index.d.ts.map +1 -0
  653. package/dist/index.js +2 -0
  654. package/dist/index.js.map +1 -0
  655. package/dist/shared/agents.d.ts +12 -0
  656. package/dist/shared/agents.d.ts.map +1 -0
  657. package/dist/shared/agents.js +31 -0
  658. package/dist/shared/agents.js.map +1 -0
  659. package/dist/shared/artifact-io.d.ts +54 -0
  660. package/dist/shared/artifact-io.d.ts.map +1 -0
  661. package/dist/shared/artifact-io.js +71 -0
  662. package/dist/shared/artifact-io.js.map +1 -0
  663. package/dist/shared/feature-prompt.d.ts +18 -0
  664. package/dist/shared/feature-prompt.d.ts.map +1 -0
  665. package/dist/shared/feature-prompt.js +21 -0
  666. package/dist/shared/feature-prompt.js.map +1 -0
  667. package/dist/shared/hooks.d.ts +7 -0
  668. package/dist/shared/hooks.d.ts.map +1 -0
  669. package/dist/shared/hooks.js +52 -0
  670. package/dist/shared/hooks.js.map +1 -0
  671. package/dist/shared/mcp.d.ts +9 -0
  672. package/dist/shared/mcp.d.ts.map +1 -0
  673. package/dist/shared/mcp.js +15 -0
  674. package/dist/shared/mcp.js.map +1 -0
  675. package/dist/shared/project.d.ts +42 -0
  676. package/dist/shared/project.d.ts.map +1 -0
  677. package/dist/shared/project.js +98 -0
  678. package/dist/shared/project.js.map +1 -0
  679. package/dist/shared/workflow-resolver.d.ts +19 -0
  680. package/dist/shared/workflow-resolver.d.ts.map +1 -0
  681. package/dist/shared/workflow-resolver.js +71 -0
  682. package/dist/shared/workflow-resolver.js.map +1 -0
  683. package/dist/workflow/args-builder.d.ts +31 -0
  684. package/dist/workflow/args-builder.d.ts.map +1 -0
  685. package/dist/workflow/args-builder.js +110 -0
  686. package/dist/workflow/args-builder.js.map +1 -0
  687. package/dist/workflow/executor.d.ts +18 -0
  688. package/dist/workflow/executor.d.ts.map +1 -0
  689. package/dist/workflow/executor.js +112 -0
  690. package/dist/workflow/executor.js.map +1 -0
  691. package/extensions/git/commands/rpt.git.feature.md +85 -0
  692. package/extensions/git/extension.yml +47 -0
  693. package/package.json +58 -0
  694. package/scripts/bash/check-prerequisites.sh +149 -0
  695. package/scripts/bash/common.sh +389 -0
  696. package/scripts/bash/create-new-feature.sh +164 -0
  697. package/scripts/bash/setup-plan.sh +113 -0
  698. package/scripts/check-naming.sh +138 -0
  699. package/scripts/check-prompts.sh +165 -0
  700. package/scripts/check-tasks.sh +166 -0
  701. package/scripts/powershell/check-prerequisites.ps1 +117 -0
  702. package/scripts/powershell/common.ps1 +328 -0
  703. package/scripts/powershell/create-new-feature.ps1 +138 -0
  704. package/scripts/powershell/setup-plan.ps1 +96 -0
  705. package/scripts/prepare-npm.mjs +157 -0
  706. package/templates/checklist-template.md +103 -0
  707. package/templates/commands/analyze.md +103 -0
  708. package/templates/commands/checklist.md +87 -0
  709. package/templates/commands/clarify.md +85 -0
  710. package/templates/commands/constitution.md +126 -0
  711. package/templates/commands/implement.md +117 -0
  712. package/templates/commands/plan.md +125 -0
  713. package/templates/commands/specify.md +127 -0
  714. package/templates/commands/tasks.md +98 -0
  715. package/templates/commands/taskstoissues.md +81 -0
  716. package/templates/constitution-template.md +48 -0
  717. package/templates/plan-template.md +150 -0
  718. package/templates/spec-template.md +116 -0
  719. package/templates/tasks-template.md +77 -0
@@ -0,0 +1,102 @@
1
+ import { hashString } from "../audit/hash.js";
2
+ export const CORE_VERSION = "1.0.0-draft.1";
3
+ export const CORE_START_MARKER_PREFIX = "<!-- RAPTOR-CORE START";
4
+ export const CORE_END_MARKER = "<!-- RAPTOR-CORE END -->";
5
+ export const CORE_START_MARKER_RE = /<!-- RAPTOR-CORE START v=([^\s]+) sha256=(sha256:[a-f0-9]{64}) -->/;
6
+ export const CORE_ARTICLES_TEXT = `## Article C1 — Primacy of Specification
7
+
8
+ **Statement.** No production code MAY be written, generated, or modified by an agent without an approved and versioned specification governing that change.
9
+
10
+ **Rationale.** C1 encodes the inversion of authority between code and spec — if code can precede or contradict the spec, the spec is no longer the source of truth and the method collapses into "optional documentation".
11
+
12
+ **Enforcement.** \`raptor implement\` MUST require \`specs/<NNN-slug>/spec.md\` to exist, be in \`status: approved\`, and have a hash recorded in the feature's \`audit.jsonl\` before any generation. Gate \`gate.spec.exists\` (level \`critical\`) runs before \`/implement\`, \`/tasks\`, and any \`before_implement\` hook.
13
+
14
+ **Violation Consequence.** \`critical\` — command aborts with non-zero exit; no diff is written. CI/pre-commit hooks MUST fail when code diffs lack a \`Raptor-Feature:\` trailer.
15
+
16
+ ## Article C2 — Traceability Prompt → Spec → Code
17
+
18
+ **Statement.** Every cognitive transformation conducted by an agent — description to spec, spec to plan, plan to tasks, tasks to code — MUST produce an immutable audit entry linking prompt, agent, model, input artifact, and output artifact by hash.
19
+
20
+ **Rationale.** C2 turns Raptor from "a layer of templates over LLMs" into a forensic registry of human-agent collaboration — a demand of the corporate audience and a precondition for compliance workflows.
21
+
22
+ **Enforcement.** Append-only \`audit.jsonl\` per feature, with SHA-256 hashes for every prompt and referenced artifact. Missing hashes are rejected by \`gate.audit.complete\`. Frontmatter of \`spec.md\`, \`plan.md\`, and \`tasks.md\` MUST carry \`audit_ref\` pointing to the corresponding entry.
23
+
24
+ **Violation Consequence.** \`critical\` — commands that fail to emit an audit entry abort before writing artifacts. \`raptor verify audit\` runs in CI and blocks merge on violation.
25
+
26
+ ## Article C3 — Approved Plan Precedes Tasks
27
+
28
+ **Statement.** No \`tasks.md\` MAY be generated, and no \`/implement\` MAY run, before the feature's \`plan.md\` is in \`status: approved\` and has passed all Phase -1 constitutional gates.
29
+
30
+ **Rationale.** Without C3, the SDD pipeline collapses into a "spec → code" shortcut mediated by agent creativity, reintroducing exactly the problem SDD exists to solve: technical decisions without traceable rationale and without explicit confrontation with the constitution.
31
+
32
+ **Enforcement.** \`gate.plan.approved\` (level \`critical\`) runs before \`/tasks\` and \`/implement\`, reading the plan frontmatter and requiring \`status: approved\` and \`phase_minus_one: passed | justified\`. If \`spec.md\` or the constitution changes after approval, \`plan.md\` automatically returns to \`status: stale\`.
33
+
34
+ **Violation Consequence.** \`critical\` — \`raptor tasks\` or \`raptor implement\` on a feature without an approved plan aborts citing the violated gate. CI validates that every \`raptor/NNN-slug\` branch has an approved plan before permitting merge.
35
+
36
+ ## Article C4 — Constitutional Non-Regression
37
+
38
+ **Statement.** Articles C1–C5 MUST NOT be removed, redefined, weakened, or silently reinterpreted by any project that adopts Raptor. Changes to the core MUST happen exclusively via a major release of the Raptor framework, through formal amendment.
39
+
40
+ **Rationale.** C4 is the self-defense article: without it, any adopting project could hollow the constitution out locally under schedule pressure, turning Raptor into a rhetorical promise rather than an operational guarantee.
41
+
42
+ **Enforcement.** \`raptor verify constitution\` recomputes the hash of the RAPTOR-CORE block and compares it against the hash declared by the installed CLI version. The pre-commit hook blocks any change to the RAPTOR-CORE block; changes outside the block (project extensions) are free. \`raptor upgrade\` rewrites the block with the new version's content, records an \`amendments.log\` entry, and requires human confirmation on major bumps.
43
+
44
+ **Violation Consequence.** \`critical\` — any command that detects inconsistency in the RAPTOR-CORE block aborts with guidance toward \`raptor repair constitution\`. CI detection of a divergent block blocks merge and alerts the tech lead.
45
+
46
+ ## Article C5 — Human Review on Critical Gates
47
+
48
+ **Statement.** No \`critical\`-level gate MAY be approved by an AI agent. Critical-gate approvals MUST be executed by an identified human, with verifiable identity, and the approval MUST be recorded in \`audit.jsonl\` with \`actor.via: human\`.
49
+
50
+ **Rationale.** Agents are local-optimizers; without an unbreakable human-approval point on constitutional decisions, the system drifts toward auto-approving violations under plausible-but-wrong justifications. C5 hard-codes the boundary between "agent proposes" and "human decides" at the points where it matters most.
51
+
52
+ **Enforcement.** \`raptor gate approve <gate-id>\` verifies the author is a human — valid \`user.email\` in git config, bound CLI session, or (future) SSH/GPG key. Approvals from CI bots or agents are rejected. \`actor.via: agent\` on a \`critical\` gate is an automatic violation. The official Raptor GitHub Actions workflow blocks PRs whose critical-gate approvals come from bot comments.
53
+
54
+ **Violation Consequence.** \`critical\` — commands abort on detecting non-human approval of a critical gate and log \`event: violation, article: C5\`. Recurring violations trigger a governance alert to the tech lead.`;
55
+ export function coreBlock() {
56
+ const hash = hashString(CORE_ARTICLES_TEXT);
57
+ return `<!-- RAPTOR-CORE START v=${CORE_VERSION} sha256=${hash} -->
58
+ ${CORE_ARTICLES_TEXT}
59
+ ${CORE_END_MARKER}`;
60
+ }
61
+ export function coreHash() {
62
+ return hashString(CORE_ARTICLES_TEXT);
63
+ }
64
+ export function extractCoreBlock(source) {
65
+ const startMatch = source.match(CORE_START_MARKER_RE);
66
+ if (!startMatch)
67
+ return null;
68
+ const startIdx = source.indexOf(startMatch[0]);
69
+ const endMarkerIdx = source.indexOf(CORE_END_MARKER, startIdx);
70
+ if (endMarkerIdx === -1)
71
+ return null;
72
+ const bodyStart = startIdx + startMatch[0].length;
73
+ const body = source
74
+ .slice(bodyStart, endMarkerIdx)
75
+ .replace(/^\n/, "")
76
+ .replace(/\n$/, "");
77
+ const computed = hashString(body);
78
+ const expectedHash = coreHash();
79
+ return {
80
+ version: startMatch[1],
81
+ declaredHash: startMatch[2],
82
+ body,
83
+ computedHash: computed,
84
+ isIntact: computed === startMatch[2],
85
+ isCanonical: body === CORE_ARTICLES_TEXT && startMatch[1] === CORE_VERSION,
86
+ expectedVersion: CORE_VERSION,
87
+ expectedHash,
88
+ startIndex: startIdx,
89
+ endIndex: endMarkerIdx + CORE_END_MARKER.length,
90
+ };
91
+ }
92
+ export function rewriteCoreBlock(source) {
93
+ const canonical = coreBlock();
94
+ const extracted = extractCoreBlock(source);
95
+ if (!extracted) {
96
+ return `${canonical}\n\n${source.replace(/^\n+/, "")}`;
97
+ }
98
+ return (source.slice(0, extracted.startIndex) +
99
+ canonical +
100
+ source.slice(extracted.endIndex));
101
+ }
102
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/constitution/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAC/B,oEAAoE,CAAC;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yNAgDuL,CAAC;AAE1N,MAAM,UAAU,SAAS;IACvB,MAAM,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC5C,OAAO,4BAA4B,YAAY,WAAW,IAAI;EAC9D,kBAAkB;EAClB,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC;AAeD,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,YAAY,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM;SAChB,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC;SAC9B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAChC,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,CAAC,CAAE;QACvB,YAAY,EAAE,UAAU,CAAC,CAAC,CAAE;QAC5B,IAAI;QACJ,YAAY,EAAE,QAAQ;QACtB,QAAQ,EAAE,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC;QACpC,WAAW,EACT,IAAI,KAAK,kBAAkB,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,YAAY;QAC/D,eAAe,EAAE,YAAY;QAC7B,YAAY;QACZ,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,YAAY,GAAG,eAAe,CAAC,MAAM;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,GAAG,SAAS,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,CACL,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC;QACrC,SAAS;QACT,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CACjC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CORE_VERSION, CORE_ARTICLES_TEXT, CORE_END_MARKER, CORE_START_MARKER_PREFIX, CORE_START_MARKER_RE, coreBlock, coreHash, extractCoreBlock, rewriteCoreBlock, type ExtractedCoreBlock, } from "./core.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constitution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CORE_VERSION, CORE_ARTICLES_TEXT, CORE_END_MARKER, CORE_START_MARKER_PREFIX, CORE_START_MARKER_RE, coreBlock, coreHash, extractCoreBlock, rewriteCoreBlock, } from "./core.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constitution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Extension system — public barrel.
3
+ *
4
+ * Blueprint ref: 03 (integrations & extensions), 17 (multi-agent).
5
+ */
6
+ export * from "./types.js";
7
+ export * from "./manifest.js";
8
+ export * from "./loader.js";
9
+ export * from "./registry.js";
10
+ export * from "./resolver.js";
11
+ export * from "./integrate.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Extension system — public barrel.
3
+ *
4
+ * Blueprint ref: 03 (integrations & extensions), 17 (multi-agent).
5
+ */
6
+ export * from "./types.js";
7
+ export * from "./manifest.js";
8
+ export * from "./loader.js";
9
+ export * from "./registry.js";
10
+ export * from "./resolver.js";
11
+ export * from "./integrate.js";
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Extension integration helpers — tie the registry into the template,
3
+ * hook, and gate subsystems.
4
+ *
5
+ * Each helper is additive: it discovers extra resources declared by
6
+ * extensions (and overrides/presets via the Resolver) WITHOUT breaking
7
+ * the existing project-local lookups. Callers that don't know about
8
+ * extensions get identical behaviour.
9
+ *
10
+ * Blueprint ref: 03 §5, 04 §6.
11
+ */
12
+ import type { ExtensionRegistry } from "./registry.js";
13
+ /**
14
+ * Return absolute paths of every extension-declared hook script for
15
+ * `event` (e.g. "before_new"). Extensions declare hooks via
16
+ * `provides.hooks` — the convention is to organize them by event name
17
+ * (`hooks/<event>/<script>` or `hooks/<event>`). Any file whose
18
+ * relative path starts with `hooks/<event>` is considered a match.
19
+ */
20
+ export declare function resolveExtensionHooks(registry: ExtensionRegistry, event: string): string[];
21
+ export interface ResolvedTemplate {
22
+ /** Absolute path the template was loaded from. */
23
+ path: string;
24
+ /** Raw template source (post-read). */
25
+ source: string;
26
+ /** Which layer answered. */
27
+ layer: "extension" | "bundled";
28
+ /** Extension id when layer === "extension". */
29
+ extensionId?: string;
30
+ }
31
+ /**
32
+ * Walk extensions looking for a template declared as provides.templates
33
+ * matching `templateName`. Returns null if no extension provides it.
34
+ * Callers combine this with the project-local bundled default.
35
+ */
36
+ export declare function findExtensionTemplate(registry: ExtensionRegistry, templateName: string): ResolvedTemplate | null;
37
+ export interface ExtensionGateModule {
38
+ extensionId: string;
39
+ filePath: string;
40
+ /** The exported module (whatever the file `export default`s). */
41
+ module: unknown;
42
+ }
43
+ /**
44
+ * Dynamically import every gate file declared by an extension. Gate
45
+ * files must be `.js`/`.mjs` (compiled) — TypeScript sources are not
46
+ * compiled at runtime here. The caller decides what shape to expect
47
+ * (typically a Gate or Gate[] default export).
48
+ */
49
+ export declare function loadExtensionGates(registry: ExtensionRegistry): Promise<ExtensionGateModule[]>;
50
+ /**
51
+ * Enumerate every workflow file that extensions declare. Returns
52
+ * `{ extensionId, path, source }` tuples ready for the existing
53
+ * workflow parser to consume.
54
+ */
55
+ export declare function collectExtensionWorkflows(registry: ExtensionRegistry): {
56
+ extensionId: string;
57
+ path: string;
58
+ source: string;
59
+ }[];
60
+ /**
61
+ * Quick helper: list extensions grouped by the kinds they provide.
62
+ * Used by `raptor extension list` and doctor diagnostics.
63
+ */
64
+ export declare function summarizeRegistry(registry: ExtensionRegistry): Array<{
65
+ id: string;
66
+ version: string;
67
+ provides: string[];
68
+ }>;
69
+ //# sourceMappingURL=integrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrate.d.ts","sourceRoot":"","sources":["../../src/extensions/integrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOvD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CAaV;AAgBD,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,MAAM,GACnB,gBAAgB,GAAG,IAAI,CAsBzB;AAMD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAmBhC;AAaD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,GAC1B;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,CAgBzD;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,iBAAiB,GAC1B,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqB5D"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Extension integration helpers — tie the registry into the template,
3
+ * hook, and gate subsystems.
4
+ *
5
+ * Each helper is additive: it discovers extra resources declared by
6
+ * extensions (and overrides/presets via the Resolver) WITHOUT breaking
7
+ * the existing project-local lookups. Callers that don't know about
8
+ * extensions get identical behaviour.
9
+ *
10
+ * Blueprint ref: 03 §5, 04 §6.
11
+ */
12
+ import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
13
+ import { basename, join } from "node:path";
14
+ import { pathToFileURL } from "node:url";
15
+ // ---------------------------------------------------------------------------
16
+ // Hooks
17
+ // ---------------------------------------------------------------------------
18
+ /**
19
+ * Return absolute paths of every extension-declared hook script for
20
+ * `event` (e.g. "before_new"). Extensions declare hooks via
21
+ * `provides.hooks` — the convention is to organize them by event name
22
+ * (`hooks/<event>/<script>` or `hooks/<event>`). Any file whose
23
+ * relative path starts with `hooks/<event>` is considered a match.
24
+ */
25
+ export function resolveExtensionHooks(registry, event) {
26
+ const out = [];
27
+ for (const ext of registry.list()) {
28
+ const decl = ext.manifest.provides?.hooks;
29
+ if (!decl || decl.length === 0)
30
+ continue;
31
+ for (const rel of decl) {
32
+ if (!matchesHookEvent(rel, event))
33
+ continue;
34
+ const abs = join(ext.rootDir, rel);
35
+ if (!existsSync(abs))
36
+ continue;
37
+ if (statSync(abs).isFile())
38
+ out.push(abs);
39
+ }
40
+ }
41
+ return out;
42
+ }
43
+ function matchesHookEvent(relPath, event) {
44
+ const norm = relPath.replace(/\\/g, "/");
45
+ if (norm === `hooks/${event}`)
46
+ return true;
47
+ if (norm.startsWith(`hooks/${event}/`))
48
+ return true;
49
+ if (norm.startsWith(`hooks/${event}.d/`))
50
+ return true;
51
+ if (norm === `hooks/${event}.d`)
52
+ return true;
53
+ if (basename(norm) === event)
54
+ return norm.split("/").includes("hooks");
55
+ return false;
56
+ }
57
+ /**
58
+ * Walk extensions looking for a template declared as provides.templates
59
+ * matching `templateName`. Returns null if no extension provides it.
60
+ * Callers combine this with the project-local bundled default.
61
+ */
62
+ export function findExtensionTemplate(registry, templateName) {
63
+ for (const ext of registry.list()) {
64
+ const decl = ext.manifest.provides?.templates;
65
+ if (!decl || decl.length === 0)
66
+ continue;
67
+ for (const rel of decl) {
68
+ const relNorm = rel.replace(/\\/g, "/");
69
+ const matches = relNorm === templateName ||
70
+ relNorm.endsWith(`/${templateName}`) ||
71
+ basename(relNorm) === templateName;
72
+ if (!matches)
73
+ continue;
74
+ const abs = join(ext.rootDir, rel);
75
+ if (!existsSync(abs))
76
+ continue;
77
+ return {
78
+ path: abs,
79
+ source: readFileSync(abs, "utf8"),
80
+ layer: "extension",
81
+ extensionId: ext.manifest.id,
82
+ };
83
+ }
84
+ }
85
+ return null;
86
+ }
87
+ /**
88
+ * Dynamically import every gate file declared by an extension. Gate
89
+ * files must be `.js`/`.mjs` (compiled) — TypeScript sources are not
90
+ * compiled at runtime here. The caller decides what shape to expect
91
+ * (typically a Gate or Gate[] default export).
92
+ */
93
+ export async function loadExtensionGates(registry) {
94
+ const out = [];
95
+ for (const ext of registry.list()) {
96
+ const decl = ext.manifest.provides?.gates;
97
+ if (!decl || decl.length === 0)
98
+ continue;
99
+ for (const rel of decl) {
100
+ const abs = join(ext.rootDir, rel);
101
+ if (!isLoadableModule(abs))
102
+ continue;
103
+ // pathToFileURL handles OS-specific paths safely.
104
+ const url = pathToFileURL(abs).href;
105
+ const imported = await import(url);
106
+ out.push({
107
+ extensionId: ext.manifest.id,
108
+ filePath: abs,
109
+ module: imported,
110
+ });
111
+ }
112
+ }
113
+ return out;
114
+ }
115
+ function isLoadableModule(abs) {
116
+ if (!existsSync(abs))
117
+ return false;
118
+ const s = statSync(abs);
119
+ if (!s.isFile())
120
+ return false;
121
+ return /\.(c?m?js)$/.test(abs);
122
+ }
123
+ // ---------------------------------------------------------------------------
124
+ // Workflows
125
+ // ---------------------------------------------------------------------------
126
+ /**
127
+ * Enumerate every workflow file that extensions declare. Returns
128
+ * `{ extensionId, path, source }` tuples ready for the existing
129
+ * workflow parser to consume.
130
+ */
131
+ export function collectExtensionWorkflows(registry) {
132
+ const out = [];
133
+ for (const ext of registry.list()) {
134
+ const decl = ext.manifest.provides?.workflows;
135
+ if (!decl || decl.length === 0)
136
+ continue;
137
+ for (const rel of decl) {
138
+ const abs = join(ext.rootDir, rel);
139
+ if (!existsSync(abs) || !statSync(abs).isFile())
140
+ continue;
141
+ out.push({
142
+ extensionId: ext.manifest.id,
143
+ path: abs,
144
+ source: readFileSync(abs, "utf8"),
145
+ });
146
+ }
147
+ }
148
+ return out;
149
+ }
150
+ // ---------------------------------------------------------------------------
151
+ // Util
152
+ // ---------------------------------------------------------------------------
153
+ /**
154
+ * Quick helper: list extensions grouped by the kinds they provide.
155
+ * Used by `raptor extension list` and doctor diagnostics.
156
+ */
157
+ export function summarizeRegistry(registry) {
158
+ return registry.list().map((e) => {
159
+ const kinds = [];
160
+ const p = e.manifest.provides;
161
+ if (p) {
162
+ for (const k of [
163
+ "gates",
164
+ "templates",
165
+ "hooks",
166
+ "workflows",
167
+ "presets",
168
+ ]) {
169
+ if (p[k] && p[k].length > 0)
170
+ kinds.push(`${k}(${p[k].length})`);
171
+ }
172
+ }
173
+ return {
174
+ id: e.manifest.id,
175
+ version: e.manifest.version,
176
+ provides: kinds,
177
+ };
178
+ });
179
+ }
180
+ void readdirSync;
181
+ //# sourceMappingURL=integrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/extensions/integrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Extension Loader — discovers extension directories under a project root
3
+ * and returns LoadedExtension records.
4
+ *
5
+ * Default location: `<projectRoot>/.raptor/extensions/<id>/`. Each
6
+ * subdirectory must contain an `extension.yml` manifest. Directories
7
+ * starting with "." or "_" are ignored.
8
+ *
9
+ * Blueprint ref: 03 §3.
10
+ */
11
+ import { type LoadedExtension } from "./types.js";
12
+ export declare const DEFAULT_EXTENSIONS_SUBDIR = ".raptor/extensions";
13
+ export interface LoadExtensionsOptions {
14
+ /** Override the relative subdir (mostly for tests). */
15
+ subdir?: string;
16
+ }
17
+ /**
18
+ * Walk the extensions directory one level deep and load every valid
19
+ * extension. Invalid extensions cause an ExtensionLoadError that
20
+ * aggregates per-extension errors so the user sees all problems at
21
+ * once rather than whack-a-mole.
22
+ */
23
+ export declare function loadExtensions(projectRoot: string, opts?: LoadExtensionsOptions): LoadedExtension[];
24
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/extensions/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAGtE,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,qBAA0B,GAC/B,eAAe,EAAE,CAsDnB"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Extension Loader — discovers extension directories under a project root
3
+ * and returns LoadedExtension records.
4
+ *
5
+ * Default location: `<projectRoot>/.raptor/extensions/<id>/`. Each
6
+ * subdirectory must contain an `extension.yml` manifest. Directories
7
+ * starting with "." or "_" are ignored.
8
+ *
9
+ * Blueprint ref: 03 §3.
10
+ */
11
+ import { existsSync, readdirSync, statSync } from "node:fs";
12
+ import { isAbsolute, join } from "node:path";
13
+ import { ExtensionLoadError } from "./types.js";
14
+ import { loadManifestFromDir } from "./manifest.js";
15
+ export const DEFAULT_EXTENSIONS_SUBDIR = ".raptor/extensions";
16
+ /**
17
+ * Walk the extensions directory one level deep and load every valid
18
+ * extension. Invalid extensions cause an ExtensionLoadError that
19
+ * aggregates per-extension errors so the user sees all problems at
20
+ * once rather than whack-a-mole.
21
+ */
22
+ export function loadExtensions(projectRoot, opts = {}) {
23
+ if (!isAbsolute(projectRoot)) {
24
+ throw new ExtensionLoadError(`projectRoot must be absolute, got "${projectRoot}"`);
25
+ }
26
+ const subdir = opts.subdir ?? DEFAULT_EXTENSIONS_SUBDIR;
27
+ const root = join(projectRoot, subdir);
28
+ if (!existsSync(root))
29
+ return [];
30
+ if (!statSync(root).isDirectory()) {
31
+ throw new ExtensionLoadError(`${root} exists but is not a directory`);
32
+ }
33
+ const entries = readdirSync(root);
34
+ const loaded = [];
35
+ const errors = [];
36
+ const seenIds = new Map();
37
+ for (const entry of entries) {
38
+ if (entry.startsWith(".") || entry.startsWith("_"))
39
+ continue;
40
+ const extDir = join(root, entry);
41
+ let st;
42
+ try {
43
+ st = statSync(extDir);
44
+ }
45
+ catch {
46
+ continue;
47
+ }
48
+ if (!st.isDirectory())
49
+ continue;
50
+ const manifestPath = join(extDir, "extension.yml");
51
+ if (!existsSync(manifestPath))
52
+ continue;
53
+ try {
54
+ const ext = loadManifestFromDir(extDir);
55
+ const prior = seenIds.get(ext.manifest.id);
56
+ if (prior) {
57
+ errors.push(`duplicate extension id "${ext.manifest.id}" found in both ${prior} and ${extDir}`);
58
+ continue;
59
+ }
60
+ seenIds.set(ext.manifest.id, extDir);
61
+ loaded.push(ext);
62
+ }
63
+ catch (err) {
64
+ errors.push(`[${entry}] ${err.message}`);
65
+ }
66
+ }
67
+ if (errors.length > 0) {
68
+ throw new ExtensionLoadError(`failed to load ${errors.length} extension(s):\n - ${errors.join("\n - ")}`);
69
+ }
70
+ loaded.sort((a, b) => a.manifest.id.localeCompare(b.manifest.id));
71
+ return loaded;
72
+ }
73
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/extensions/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Extension Manifest — parser and validator for `extension.yml`.
3
+ *
4
+ * A manifest describes what the extension provides. We parse it, validate
5
+ * the schema discriminator, normalize optional fields, and verify that
6
+ * every declared file actually exists on disk (otherwise the resolver
7
+ * would fail later with confusing errors).
8
+ *
9
+ * Blueprint ref: 03 §4 — "extension.yml".
10
+ */
11
+ import { type ExtensionManifest, type LoadedExtension } from "./types.js";
12
+ /**
13
+ * Parse raw YAML text into a validated ExtensionManifest. Does NOT
14
+ * touch the filesystem beyond what the caller passes as source text.
15
+ */
16
+ export declare function parseManifest(raw: string, manifestPath?: string): ExtensionManifest;
17
+ /**
18
+ * Load an `extension.yml` from disk, validate, and compute file hashes
19
+ * for every file declared under `provides.*`. Returns a LoadedExtension
20
+ * ready to be registered.
21
+ */
22
+ export declare function loadManifestFromDir(rootDir: string): LoadedExtension;
23
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/extensions/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EAGL,KAAK,iBAAiB,EAGtB,KAAK,eAAe,EAErB,MAAM,YAAY,CAAC;AAapB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAwDnF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAoCpE"}