@specforge/cli 0.1.0 → 0.2.4

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 (643) hide show
  1. package/dist/cli/commands/debug/register.js +1 -1
  2. package/dist/cli/commands/debug/register.js.map +1 -1
  3. package/dist/cli/commands/debug/types.d.ts.map +1 -1
  4. package/dist/cli/commands/debug/types.js +4 -2
  5. package/dist/cli/commands/debug/types.js.map +1 -1
  6. package/dist/cli/commands/init.types.d.ts +4 -4
  7. package/dist/cli/commands/init.types.d.ts.map +1 -1
  8. package/dist/cli/commands/init.types.js.map +1 -1
  9. package/dist/cli/commands/scaffold/agent-types.js +1 -1
  10. package/dist/cli/commands/scaffold/agent-types.js.map +1 -1
  11. package/dist/cli/config/agent-teams.types.d.ts +35 -12
  12. package/dist/cli/config/agent-teams.types.d.ts.map +1 -1
  13. package/dist/cli/config/agent-teams.types.js.map +1 -1
  14. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts +21 -3
  15. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts.map +1 -1
  16. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js +114 -48
  17. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js.map +1 -1
  18. package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts.map +1 -1
  19. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js +124 -83
  20. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js.map +1 -1
  21. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts +22 -3
  22. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts.map +1 -1
  23. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js +225 -160
  24. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js.map +1 -1
  25. package/dist/cli/templates/agents/content/core/sfag-work-resolver.d.ts +16 -0
  26. package/dist/cli/templates/agents/content/core/sfag-work-resolver.d.ts.map +1 -0
  27. package/dist/cli/templates/agents/content/core/sfag-work-resolver.js +199 -0
  28. package/dist/cli/templates/agents/content/core/sfag-work-resolver.js.map +1 -0
  29. package/dist/cli/templates/agents/index.d.ts.map +1 -1
  30. package/dist/cli/templates/agents/index.js +2 -0
  31. package/dist/cli/templates/agents/index.js.map +1 -1
  32. package/dist/cli/templates/content/sf-commit.d.ts +1 -1
  33. package/dist/cli/templates/content/sf-commit.d.ts.map +1 -1
  34. package/dist/cli/templates/content/sf-commit.js +2 -2
  35. package/dist/cli/templates/content/sf-commit.js.map +1 -1
  36. package/dist/cli/templates/content/sf-reset.d.ts +5 -2
  37. package/dist/cli/templates/content/sf-reset.d.ts.map +1 -1
  38. package/dist/cli/templates/content/sf-reset.js +41 -27
  39. package/dist/cli/templates/content/sf-reset.js.map +1 -1
  40. package/dist/lib/prompt-generator.d.ts +15 -3
  41. package/dist/lib/prompt-generator.d.ts.map +1 -1
  42. package/dist/lib/prompt-generator.js +14 -6
  43. package/dist/lib/prompt-generator.js.map +1 -1
  44. package/dist/lib/workflow-definitions.js +2 -2
  45. package/dist/lib/workflow-definitions.js.map +1 -1
  46. package/dist/server.d.ts.map +1 -1
  47. package/dist/server.js +2 -1
  48. package/dist/server.js.map +1 -1
  49. package/dist/tools/__tests__/complete-planning-double-call.test.d.ts +2 -0
  50. package/dist/tools/__tests__/complete-planning-double-call.test.d.ts.map +1 -0
  51. package/dist/tools/core/__tests__/file-existence-injection.test.d.ts +2 -0
  52. package/dist/tools/core/__tests__/file-existence-injection.test.d.ts.map +1 -0
  53. package/dist/tools/core/__tests__/git-injection.test.d.ts +2 -0
  54. package/dist/tools/core/__tests__/git-injection.test.d.ts.map +1 -0
  55. package/dist/tools/core/file-existence-injection.d.ts +22 -0
  56. package/dist/tools/core/file-existence-injection.d.ts.map +1 -0
  57. package/dist/tools/core/file-existence-injection.js +49 -0
  58. package/dist/tools/core/file-existence-injection.js.map +1 -0
  59. package/dist/tools/core/git-injection.d.ts +58 -0
  60. package/dist/tools/core/git-injection.d.ts.map +1 -0
  61. package/dist/tools/core/git-injection.js +79 -0
  62. package/dist/tools/core/git-injection.js.map +1 -0
  63. package/dist/tools/core/index.d.ts +1 -0
  64. package/dist/tools/core/index.d.ts.map +1 -1
  65. package/dist/tools/core/index.js +1 -0
  66. package/dist/tools/core/index.js.map +1 -1
  67. package/dist/tools/index.d.ts.map +1 -1
  68. package/dist/tools/index.js +358 -440
  69. package/dist/tools/index.js.map +1 -1
  70. package/dist/types/index.d.ts +12 -32
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/index.js.map +1 -1
  73. package/dist/validation/index.d.ts.map +1 -1
  74. package/dist/validation/index.js +0 -15
  75. package/dist/validation/index.js.map +1 -1
  76. package/node_modules/@specforge/api-types/README.md +38 -0
  77. package/node_modules/@specforge/api-types/dist/client/appsync-client.d.ts +21 -0
  78. package/node_modules/@specforge/api-types/dist/client/appsync-client.d.ts.map +1 -0
  79. package/node_modules/@specforge/api-types/dist/client/appsync-client.js +2 -0
  80. package/node_modules/@specforge/api-types/dist/client/appsync-client.js.map +1 -0
  81. package/node_modules/@specforge/api-types/dist/client/index.d.ts +2 -0
  82. package/node_modules/@specforge/api-types/dist/client/index.d.ts.map +1 -0
  83. package/node_modules/@specforge/api-types/dist/client/index.js +2 -0
  84. package/node_modules/@specforge/api-types/dist/client/index.js.map +1 -0
  85. package/node_modules/@specforge/api-types/dist/index.d.ts +5 -0
  86. package/node_modules/@specforge/api-types/dist/index.d.ts.map +1 -0
  87. package/node_modules/@specforge/api-types/dist/index.js +9 -0
  88. package/node_modules/@specforge/api-types/dist/index.js.map +1 -0
  89. package/node_modules/@specforge/api-types/dist/mcp/error-guidance.d.ts +74 -0
  90. package/node_modules/@specforge/api-types/dist/mcp/error-guidance.d.ts.map +1 -0
  91. package/node_modules/@specforge/api-types/dist/mcp/error-guidance.js +21 -0
  92. package/node_modules/@specforge/api-types/dist/mcp/error-guidance.js.map +1 -0
  93. package/node_modules/@specforge/api-types/dist/mcp/index.d.ts +4 -0
  94. package/node_modules/@specforge/api-types/dist/mcp/index.d.ts.map +1 -0
  95. package/node_modules/@specforge/api-types/dist/mcp/index.js +8 -0
  96. package/node_modules/@specforge/api-types/dist/mcp/index.js.map +1 -0
  97. package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.d.ts +18 -0
  98. package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.d.ts.map +1 -0
  99. package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.js +2 -0
  100. package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.js.map +1 -0
  101. package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.d.ts +39 -0
  102. package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.d.ts.map +1 -0
  103. package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.js +2 -0
  104. package/node_modules/@specforge/api-types/dist/mcp/standard-envelope.js.map +1 -0
  105. package/node_modules/@specforge/api-types/dist/runtime/billing-record.d.ts +18 -0
  106. package/node_modules/@specforge/api-types/dist/runtime/billing-record.d.ts.map +1 -0
  107. package/node_modules/@specforge/api-types/dist/runtime/billing-record.js +7 -0
  108. package/node_modules/@specforge/api-types/dist/runtime/billing-record.js.map +1 -0
  109. package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.d.ts +40 -0
  110. package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.d.ts.map +1 -0
  111. package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.js +19 -0
  112. package/node_modules/@specforge/api-types/dist/runtime/blueprint-record.js.map +1 -0
  113. package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.d.ts +96 -0
  114. package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.d.ts.map +1 -0
  115. package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.js +23 -0
  116. package/node_modules/@specforge/api-types/dist/runtime/dependency-tree.js.map +1 -0
  117. package/node_modules/@specforge/api-types/dist/runtime/epic-record.d.ts +117 -0
  118. package/node_modules/@specforge/api-types/dist/runtime/epic-record.d.ts.map +1 -0
  119. package/node_modules/@specforge/api-types/dist/runtime/epic-record.js +13 -0
  120. package/node_modules/@specforge/api-types/dist/runtime/epic-record.js.map +1 -0
  121. package/node_modules/@specforge/api-types/dist/runtime/feedback-record.d.ts +27 -0
  122. package/node_modules/@specforge/api-types/dist/runtime/feedback-record.d.ts.map +1 -0
  123. package/node_modules/@specforge/api-types/dist/runtime/feedback-record.js +7 -0
  124. package/node_modules/@specforge/api-types/dist/runtime/feedback-record.js.map +1 -0
  125. package/node_modules/@specforge/api-types/dist/runtime/fields.d.ts +31 -0
  126. package/node_modules/@specforge/api-types/dist/runtime/fields.d.ts.map +1 -0
  127. package/node_modules/@specforge/api-types/dist/runtime/fields.js +156 -0
  128. package/node_modules/@specforge/api-types/dist/runtime/fields.js.map +1 -0
  129. package/node_modules/@specforge/api-types/dist/runtime/index.d.ts +18 -0
  130. package/node_modules/@specforge/api-types/dist/runtime/index.d.ts.map +1 -0
  131. package/node_modules/@specforge/api-types/dist/runtime/index.js +18 -0
  132. package/node_modules/@specforge/api-types/dist/runtime/index.js.map +1 -0
  133. package/node_modules/@specforge/api-types/dist/runtime/pagination.d.ts +38 -0
  134. package/node_modules/@specforge/api-types/dist/runtime/pagination.d.ts.map +1 -0
  135. package/node_modules/@specforge/api-types/dist/runtime/pagination.js +54 -0
  136. package/node_modules/@specforge/api-types/dist/runtime/pagination.js.map +1 -0
  137. package/node_modules/@specforge/api-types/dist/runtime/project-invitation.d.ts +14 -0
  138. package/node_modules/@specforge/api-types/dist/runtime/project-invitation.d.ts.map +1 -0
  139. package/node_modules/@specforge/api-types/dist/runtime/project-invitation.js +2 -0
  140. package/node_modules/@specforge/api-types/dist/runtime/project-invitation.js.map +1 -0
  141. package/node_modules/@specforge/api-types/dist/runtime/project-member.d.ts +13 -0
  142. package/node_modules/@specforge/api-types/dist/runtime/project-member.d.ts.map +1 -0
  143. package/node_modules/@specforge/api-types/dist/runtime/project-member.js +2 -0
  144. package/node_modules/@specforge/api-types/dist/runtime/project-member.js.map +1 -0
  145. package/node_modules/@specforge/api-types/dist/runtime/project-validation.d.ts +26 -0
  146. package/node_modules/@specforge/api-types/dist/runtime/project-validation.d.ts.map +1 -0
  147. package/node_modules/@specforge/api-types/dist/runtime/project-validation.js +5 -0
  148. package/node_modules/@specforge/api-types/dist/runtime/project-validation.js.map +1 -0
  149. package/node_modules/@specforge/api-types/dist/runtime/project.d.ts +55 -0
  150. package/node_modules/@specforge/api-types/dist/runtime/project.d.ts.map +1 -0
  151. package/node_modules/@specforge/api-types/dist/runtime/project.js +10 -0
  152. package/node_modules/@specforge/api-types/dist/runtime/project.js.map +1 -0
  153. package/node_modules/@specforge/api-types/dist/runtime/response.d.ts +22 -0
  154. package/node_modules/@specforge/api-types/dist/runtime/response.d.ts.map +1 -0
  155. package/node_modules/@specforge/api-types/dist/runtime/response.js +14 -0
  156. package/node_modules/@specforge/api-types/dist/runtime/response.js.map +1 -0
  157. package/node_modules/@specforge/api-types/dist/runtime/specification-record.d.ts +90 -0
  158. package/node_modules/@specforge/api-types/dist/runtime/specification-record.d.ts.map +1 -0
  159. package/node_modules/@specforge/api-types/dist/runtime/specification-record.js +11 -0
  160. package/node_modules/@specforge/api-types/dist/runtime/specification-record.js.map +1 -0
  161. package/node_modules/@specforge/api-types/dist/runtime/status.d.ts +26 -0
  162. package/node_modules/@specforge/api-types/dist/runtime/status.d.ts.map +1 -0
  163. package/node_modules/@specforge/api-types/dist/runtime/status.js +56 -0
  164. package/node_modules/@specforge/api-types/dist/runtime/status.js.map +1 -0
  165. package/node_modules/@specforge/api-types/dist/runtime/summary.d.ts +58 -0
  166. package/node_modules/@specforge/api-types/dist/runtime/summary.d.ts.map +1 -0
  167. package/node_modules/@specforge/api-types/dist/runtime/summary.js +42 -0
  168. package/node_modules/@specforge/api-types/dist/runtime/summary.js.map +1 -0
  169. package/node_modules/@specforge/api-types/dist/runtime/ticket-record.d.ts +212 -0
  170. package/node_modules/@specforge/api-types/dist/runtime/ticket-record.d.ts.map +1 -0
  171. package/node_modules/@specforge/api-types/dist/runtime/ticket-record.js +18 -0
  172. package/node_modules/@specforge/api-types/dist/runtime/ticket-record.js.map +1 -0
  173. package/node_modules/@specforge/api-types/dist/runtime/user.d.ts +13 -0
  174. package/node_modules/@specforge/api-types/dist/runtime/user.d.ts.map +1 -0
  175. package/node_modules/@specforge/api-types/dist/runtime/user.js +9 -0
  176. package/node_modules/@specforge/api-types/dist/runtime/user.js.map +1 -0
  177. package/node_modules/@specforge/api-types/dist/stores/i-billing-store.d.ts +17 -0
  178. package/node_modules/@specforge/api-types/dist/stores/i-billing-store.d.ts.map +1 -0
  179. package/node_modules/@specforge/api-types/dist/stores/i-billing-store.js +2 -0
  180. package/node_modules/@specforge/api-types/dist/stores/i-billing-store.js.map +1 -0
  181. package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.d.ts +59 -0
  182. package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.d.ts.map +1 -0
  183. package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.js +2 -0
  184. package/node_modules/@specforge/api-types/dist/stores/i-blueprint-store.js.map +1 -0
  185. package/node_modules/@specforge/api-types/dist/stores/i-epic-store.d.ts +120 -0
  186. package/node_modules/@specforge/api-types/dist/stores/i-epic-store.d.ts.map +1 -0
  187. package/node_modules/@specforge/api-types/dist/stores/i-epic-store.js +2 -0
  188. package/node_modules/@specforge/api-types/dist/stores/i-epic-store.js.map +1 -0
  189. package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.d.ts +13 -0
  190. package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.d.ts.map +1 -0
  191. package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.js +2 -0
  192. package/node_modules/@specforge/api-types/dist/stores/i-feedback-store.js.map +1 -0
  193. package/node_modules/@specforge/api-types/dist/stores/i-project-store.d.ts +48 -0
  194. package/node_modules/@specforge/api-types/dist/stores/i-project-store.d.ts.map +1 -0
  195. package/node_modules/@specforge/api-types/dist/stores/i-project-store.js +2 -0
  196. package/node_modules/@specforge/api-types/dist/stores/i-project-store.js.map +1 -0
  197. package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.d.ts +37 -0
  198. package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.d.ts.map +1 -0
  199. package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.js +2 -0
  200. package/node_modules/@specforge/api-types/dist/stores/i-sharing-store.js.map +1 -0
  201. package/node_modules/@specforge/api-types/dist/stores/i-spec-store.d.ts +159 -0
  202. package/node_modules/@specforge/api-types/dist/stores/i-spec-store.d.ts.map +1 -0
  203. package/node_modules/@specforge/api-types/dist/stores/i-spec-store.js +2 -0
  204. package/node_modules/@specforge/api-types/dist/stores/i-spec-store.js.map +1 -0
  205. package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.d.ts +87 -0
  206. package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.d.ts.map +1 -0
  207. package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.js +2 -0
  208. package/node_modules/@specforge/api-types/dist/stores/i-ticket-dependency-store.js.map +1 -0
  209. package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.d.ts +347 -0
  210. package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.d.ts.map +1 -0
  211. package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.js +2 -0
  212. package/node_modules/@specforge/api-types/dist/stores/i-ticket-store.js.map +1 -0
  213. package/node_modules/@specforge/api-types/dist/stores/i-user-store.d.ts +5 -0
  214. package/node_modules/@specforge/api-types/dist/stores/i-user-store.d.ts.map +1 -0
  215. package/node_modules/@specforge/api-types/dist/stores/i-user-store.js +2 -0
  216. package/node_modules/@specforge/api-types/dist/stores/i-user-store.js.map +1 -0
  217. package/node_modules/@specforge/api-types/dist/stores/index.d.ts +11 -0
  218. package/node_modules/@specforge/api-types/dist/stores/index.d.ts.map +1 -0
  219. package/node_modules/@specforge/api-types/dist/stores/index.js +11 -0
  220. package/node_modules/@specforge/api-types/dist/stores/index.js.map +1 -0
  221. package/node_modules/@specforge/api-types/package.json +43 -0
  222. package/node_modules/@specforge/report-types/README.md +11 -0
  223. package/node_modules/@specforge/report-types/dist/index.d.ts +2 -0
  224. package/node_modules/@specforge/report-types/dist/index.d.ts.map +1 -0
  225. package/node_modules/@specforge/report-types/dist/index.js +2 -0
  226. package/node_modules/@specforge/report-types/dist/index.js.map +1 -0
  227. package/node_modules/@specforge/report-types/dist/reports.d.ts +90 -0
  228. package/node_modules/@specforge/report-types/dist/reports.d.ts.map +1 -0
  229. package/node_modules/@specforge/report-types/dist/reports.js +15 -0
  230. package/node_modules/@specforge/report-types/dist/reports.js.map +1 -0
  231. package/node_modules/@specforge/report-types/package.json +40 -0
  232. package/node_modules/@specforge/session-types/CHANGELOG.md +56 -0
  233. package/node_modules/@specforge/session-types/README.md +18 -0
  234. package/node_modules/@specforge/session-types/dist/index.d.ts +47 -0
  235. package/node_modules/@specforge/session-types/dist/index.d.ts.map +1 -0
  236. package/node_modules/@specforge/session-types/dist/index.js +47 -0
  237. package/node_modules/@specforge/session-types/dist/index.js.map +1 -0
  238. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.d.ts +46 -0
  239. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.d.ts.map +1 -0
  240. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.js +41 -0
  241. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.js.map +1 -0
  242. package/node_modules/@specforge/session-types/dist/runtime/discovery.d.ts +9 -0
  243. package/node_modules/@specforge/session-types/dist/runtime/discovery.d.ts.map +1 -0
  244. package/node_modules/@specforge/session-types/dist/runtime/discovery.js +2 -0
  245. package/node_modules/@specforge/session-types/dist/runtime/discovery.js.map +1 -0
  246. package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts +51 -0
  247. package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts.map +1 -0
  248. package/node_modules/@specforge/session-types/dist/runtime/enums.js +161 -0
  249. package/node_modules/@specforge/session-types/dist/runtime/enums.js.map +1 -0
  250. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.d.ts +177 -0
  251. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.d.ts.map +1 -0
  252. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.js +96 -0
  253. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.js.map +1 -0
  254. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.d.ts +8 -0
  255. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.d.ts.map +1 -0
  256. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.js +2 -0
  257. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.js.map +1 -0
  258. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.d.ts +489 -0
  259. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.d.ts.map +1 -0
  260. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.js +152 -0
  261. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.js.map +1 -0
  262. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.d.ts +8 -0
  263. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.d.ts.map +1 -0
  264. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.js +2 -0
  265. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.js.map +1 -0
  266. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.d.ts +319 -0
  267. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.d.ts.map +1 -0
  268. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.js +2 -0
  269. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.js.map +1 -0
  270. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.d.ts +128 -0
  271. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.d.ts.map +1 -0
  272. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.js +30 -0
  273. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.js.map +1 -0
  274. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.d.ts +4 -0
  275. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.d.ts.map +1 -0
  276. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.js +2 -0
  277. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.js.map +1 -0
  278. package/node_modules/@specforge/session-types/dist/runtime/planning-config.d.ts +82 -0
  279. package/node_modules/@specforge/session-types/dist/runtime/planning-config.d.ts.map +1 -0
  280. package/node_modules/@specforge/session-types/dist/runtime/planning-config.js +61 -0
  281. package/node_modules/@specforge/session-types/dist/runtime/planning-config.js.map +1 -0
  282. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.d.ts +34 -0
  283. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.d.ts.map +1 -0
  284. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.js +14 -0
  285. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.js.map +1 -0
  286. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.d.ts +6 -0
  287. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.d.ts.map +1 -0
  288. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.js +65 -0
  289. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.js.map +1 -0
  290. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.d.ts +34 -0
  291. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.d.ts.map +1 -0
  292. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.js +22 -0
  293. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.js.map +1 -0
  294. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.d.ts +73 -0
  295. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.d.ts.map +1 -0
  296. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.js +61 -0
  297. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.js.map +1 -0
  298. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.d.ts +249 -0
  299. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.d.ts.map +1 -0
  300. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.js +96 -0
  301. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.js.map +1 -0
  302. package/node_modules/@specforge/session-types/dist/runtime/planning-session.d.ts +574 -0
  303. package/node_modules/@specforge/session-types/dist/runtime/planning-session.d.ts.map +1 -0
  304. package/node_modules/@specforge/session-types/dist/runtime/planning-session.js +40 -0
  305. package/node_modules/@specforge/session-types/dist/runtime/planning-session.js.map +1 -0
  306. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.d.ts +221 -0
  307. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.d.ts.map +1 -0
  308. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.js +41 -0
  309. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.js.map +1 -0
  310. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.d.ts +4 -0
  311. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.d.ts.map +1 -0
  312. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.js +2 -0
  313. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.js.map +1 -0
  314. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.d.ts +9 -0
  315. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.d.ts.map +1 -0
  316. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.js +2 -0
  317. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.js.map +1 -0
  318. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.d.ts +4 -0
  319. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.d.ts.map +1 -0
  320. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.js +2 -0
  321. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.js.map +1 -0
  322. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.d.ts +4 -0
  323. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.d.ts.map +1 -0
  324. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.js +2 -0
  325. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.js.map +1 -0
  326. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.d.ts +4 -0
  327. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.d.ts.map +1 -0
  328. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.js +2 -0
  329. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.js.map +1 -0
  330. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.d.ts +4 -0
  331. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.d.ts.map +1 -0
  332. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.js +2 -0
  333. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.js.map +1 -0
  334. package/node_modules/@specforge/session-types/dist/runtime/work-session.d.ts +4 -0
  335. package/node_modules/@specforge/session-types/dist/runtime/work-session.d.ts.map +1 -0
  336. package/node_modules/@specforge/session-types/dist/runtime/work-session.js +2 -0
  337. package/node_modules/@specforge/session-types/dist/runtime/work-session.js.map +1 -0
  338. package/node_modules/@specforge/session-types/dist/runtime/working-context.d.ts +43 -0
  339. package/node_modules/@specforge/session-types/dist/runtime/working-context.d.ts.map +1 -0
  340. package/node_modules/@specforge/session-types/dist/runtime/working-context.js +2 -0
  341. package/node_modules/@specforge/session-types/dist/runtime/working-context.js.map +1 -0
  342. package/node_modules/@specforge/session-types/dist/runtime/write-plan.d.ts +146 -0
  343. package/node_modules/@specforge/session-types/dist/runtime/write-plan.d.ts.map +1 -0
  344. package/node_modules/@specforge/session-types/dist/runtime/write-plan.js +2 -0
  345. package/node_modules/@specforge/session-types/dist/runtime/write-plan.js.map +1 -0
  346. package/node_modules/@specforge/session-types/dist/schema/discovery.d.ts +76 -0
  347. package/node_modules/@specforge/session-types/dist/schema/discovery.d.ts.map +1 -0
  348. package/node_modules/@specforge/session-types/dist/schema/discovery.js +42 -0
  349. package/node_modules/@specforge/session-types/dist/schema/discovery.js.map +1 -0
  350. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.d.ts +48 -0
  351. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.d.ts.map +1 -0
  352. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.js +28 -0
  353. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.js.map +1 -0
  354. package/node_modules/@specforge/session-types/dist/schema/implementation-session.d.ts +37 -0
  355. package/node_modules/@specforge/session-types/dist/schema/implementation-session.d.ts.map +1 -0
  356. package/node_modules/@specforge/session-types/dist/schema/implementation-session.js +24 -0
  357. package/node_modules/@specforge/session-types/dist/schema/implementation-session.js.map +1 -0
  358. package/node_modules/@specforge/session-types/dist/schema/index.d.ts +12 -0
  359. package/node_modules/@specforge/session-types/dist/schema/index.d.ts.map +1 -0
  360. package/node_modules/@specforge/session-types/dist/schema/index.js +12 -0
  361. package/node_modules/@specforge/session-types/dist/schema/index.js.map +1 -0
  362. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.d.ts +74 -0
  363. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.d.ts.map +1 -0
  364. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.js +31 -0
  365. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.js.map +1 -0
  366. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.d.ts +27 -0
  367. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.d.ts.map +1 -0
  368. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.js +11 -0
  369. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.js.map +1 -0
  370. package/node_modules/@specforge/session-types/dist/schema/work-session-action.d.ts +94 -0
  371. package/node_modules/@specforge/session-types/dist/schema/work-session-action.d.ts.map +1 -0
  372. package/node_modules/@specforge/session-types/dist/schema/work-session-action.js +76 -0
  373. package/node_modules/@specforge/session-types/dist/schema/work-session-action.js.map +1 -0
  374. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.d.ts +42 -0
  375. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.d.ts.map +1 -0
  376. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.js +25 -0
  377. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.js.map +1 -0
  378. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.d.ts +27 -0
  379. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.d.ts.map +1 -0
  380. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.js +11 -0
  381. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.js.map +1 -0
  382. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.d.ts +42 -0
  383. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.d.ts.map +1 -0
  384. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.js +28 -0
  385. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.js.map +1 -0
  386. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.d.ts +72 -0
  387. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.d.ts.map +1 -0
  388. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.js +43 -0
  389. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.js.map +1 -0
  390. package/node_modules/@specforge/session-types/dist/schema/work-session.d.ts +203 -0
  391. package/node_modules/@specforge/session-types/dist/schema/work-session.d.ts.map +1 -0
  392. package/node_modules/@specforge/session-types/dist/schema/work-session.js +86 -0
  393. package/node_modules/@specforge/session-types/dist/schema/work-session.js.map +1 -0
  394. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.d.ts +17 -0
  395. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.d.ts.map +1 -0
  396. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.js +2 -0
  397. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.js.map +1 -0
  398. package/node_modules/@specforge/session-types/dist/stores/discovery-store.d.ts +31 -0
  399. package/node_modules/@specforge/session-types/dist/stores/discovery-store.d.ts.map +1 -0
  400. package/node_modules/@specforge/session-types/dist/stores/discovery-store.js +2 -0
  401. package/node_modules/@specforge/session-types/dist/stores/discovery-store.js.map +1 -0
  402. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.d.ts +19 -0
  403. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.d.ts.map +1 -0
  404. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.js +2 -0
  405. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.js.map +1 -0
  406. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.d.ts +16 -0
  407. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.d.ts.map +1 -0
  408. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.js +2 -0
  409. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.js.map +1 -0
  410. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.d.ts +28 -0
  411. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.d.ts.map +1 -0
  412. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.js +2 -0
  413. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.js.map +1 -0
  414. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.d.ts +12 -0
  415. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.d.ts.map +1 -0
  416. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.js +2 -0
  417. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.js.map +1 -0
  418. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.d.ts +10 -0
  419. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.d.ts.map +1 -0
  420. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.js +2 -0
  421. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.js.map +1 -0
  422. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.d.ts +13 -0
  423. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.d.ts.map +1 -0
  424. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.js +2 -0
  425. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.js.map +1 -0
  426. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.d.ts +10 -0
  427. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.d.ts.map +1 -0
  428. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.js +2 -0
  429. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.js.map +1 -0
  430. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.d.ts +20 -0
  431. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.d.ts.map +1 -0
  432. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.js +2 -0
  433. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.js.map +1 -0
  434. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.d.ts +15 -0
  435. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.d.ts.map +1 -0
  436. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.js +2 -0
  437. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.js.map +1 -0
  438. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.d.ts +29 -0
  439. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.d.ts.map +1 -0
  440. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.js +2 -0
  441. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.js.map +1 -0
  442. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.d.ts +9 -0
  443. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.d.ts.map +1 -0
  444. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.js +2 -0
  445. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.js.map +1 -0
  446. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.d.ts +9 -0
  447. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.d.ts.map +1 -0
  448. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.js +2 -0
  449. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.js.map +1 -0
  450. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.d.ts +10 -0
  451. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.d.ts.map +1 -0
  452. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.js +2 -0
  453. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.js.map +1 -0
  454. package/node_modules/@specforge/session-types/dist/stores/work-session-store.d.ts +23 -0
  455. package/node_modules/@specforge/session-types/dist/stores/work-session-store.d.ts.map +1 -0
  456. package/node_modules/@specforge/session-types/dist/stores/work-session-store.js +2 -0
  457. package/node_modules/@specforge/session-types/dist/stores/work-session-store.js.map +1 -0
  458. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.d.ts +8 -0
  459. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.d.ts.map +1 -0
  460. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.js +2 -0
  461. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.js.map +1 -0
  462. package/node_modules/@specforge/session-types/dist/stores/working-context-store.d.ts +27 -0
  463. package/node_modules/@specforge/session-types/dist/stores/working-context-store.d.ts.map +1 -0
  464. package/node_modules/@specforge/session-types/dist/stores/working-context-store.js +2 -0
  465. package/node_modules/@specforge/session-types/dist/stores/working-context-store.js.map +1 -0
  466. package/node_modules/@specforge/session-types/package.json +43 -0
  467. package/node_modules/@specforge/spec-types/README.md +28 -0
  468. package/node_modules/@specforge/spec-types/dist/index.d.ts +4 -0
  469. package/node_modules/@specforge/spec-types/dist/index.d.ts.map +1 -0
  470. package/node_modules/@specforge/spec-types/dist/index.js +6 -0
  471. package/node_modules/@specforge/spec-types/dist/index.js.map +1 -0
  472. package/node_modules/@specforge/spec-types/dist/json-schema/v1.1/openspec.schema.json +1129 -0
  473. package/node_modules/@specforge/spec-types/dist/openspec-schema.d.ts +4 -0
  474. package/node_modules/@specforge/spec-types/dist/openspec-schema.d.ts.map +1 -0
  475. package/node_modules/@specforge/spec-types/dist/openspec-schema.js +77 -0
  476. package/node_modules/@specforge/spec-types/dist/openspec-schema.js.map +1 -0
  477. package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.d.ts +14 -0
  478. package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.d.ts.map +1 -0
  479. package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.js +2 -0
  480. package/node_modules/@specforge/spec-types/dist/runtime/auxiliary.js.map +1 -0
  481. package/node_modules/@specforge/spec-types/dist/runtime/blueprint.d.ts +7 -0
  482. package/node_modules/@specforge/spec-types/dist/runtime/blueprint.d.ts.map +1 -0
  483. package/node_modules/@specforge/spec-types/dist/runtime/blueprint.js +2 -0
  484. package/node_modules/@specforge/spec-types/dist/runtime/blueprint.js.map +1 -0
  485. package/node_modules/@specforge/spec-types/dist/runtime/epic.d.ts +2 -0
  486. package/node_modules/@specforge/spec-types/dist/runtime/epic.d.ts.map +1 -0
  487. package/node_modules/@specforge/spec-types/dist/runtime/epic.js +2 -0
  488. package/node_modules/@specforge/spec-types/dist/runtime/epic.js.map +1 -0
  489. package/node_modules/@specforge/spec-types/dist/runtime/index.d.ts +7 -0
  490. package/node_modules/@specforge/spec-types/dist/runtime/index.d.ts.map +1 -0
  491. package/node_modules/@specforge/spec-types/dist/runtime/index.js +7 -0
  492. package/node_modules/@specforge/spec-types/dist/runtime/index.js.map +1 -0
  493. package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.d.ts +2 -0
  494. package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.d.ts.map +1 -0
  495. package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.js +2 -0
  496. package/node_modules/@specforge/spec-types/dist/runtime/planning/api-contract.js.map +1 -0
  497. package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.d.ts +2 -0
  498. package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.d.ts.map +1 -0
  499. package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.js +2 -0
  500. package/node_modules/@specforge/spec-types/dist/runtime/planning/goal.js.map +1 -0
  501. package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.d.ts +2 -0
  502. package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.d.ts.map +1 -0
  503. package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.js +2 -0
  504. package/node_modules/@specforge/spec-types/dist/runtime/planning/guardrail.js.map +1 -0
  505. package/node_modules/@specforge/spec-types/dist/runtime/planning/index.d.ts +10 -0
  506. package/node_modules/@specforge/spec-types/dist/runtime/planning/index.d.ts.map +1 -0
  507. package/node_modules/@specforge/spec-types/dist/runtime/planning/index.js +10 -0
  508. package/node_modules/@specforge/spec-types/dist/runtime/planning/index.js.map +1 -0
  509. package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.d.ts +2 -0
  510. package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.d.ts.map +1 -0
  511. package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.js +2 -0
  512. package/node_modules/@specforge/spec-types/dist/runtime/planning/nfr.js.map +1 -0
  513. package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.d.ts +2 -0
  514. package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.d.ts.map +1 -0
  515. package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.js +2 -0
  516. package/node_modules/@specforge/spec-types/dist/runtime/planning/requirement.js.map +1 -0
  517. package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.d.ts +2 -0
  518. package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.d.ts.map +1 -0
  519. package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.js +2 -0
  520. package/node_modules/@specforge/spec-types/dist/runtime/planning/scope.js.map +1 -0
  521. package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.d.ts +2 -0
  522. package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.d.ts.map +1 -0
  523. package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.js +2 -0
  524. package/node_modules/@specforge/spec-types/dist/runtime/planning/shared-pattern.js.map +1 -0
  525. package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.d.ts +2 -0
  526. package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.d.ts.map +1 -0
  527. package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.js +2 -0
  528. package/node_modules/@specforge/spec-types/dist/runtime/planning/structure-item.js.map +1 -0
  529. package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.d.ts +2 -0
  530. package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.d.ts.map +1 -0
  531. package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.js +2 -0
  532. package/node_modules/@specforge/spec-types/dist/runtime/planning/tech-stack.js.map +1 -0
  533. package/node_modules/@specforge/spec-types/dist/runtime/specification.d.ts +2 -0
  534. package/node_modules/@specforge/spec-types/dist/runtime/specification.d.ts.map +1 -0
  535. package/node_modules/@specforge/spec-types/dist/runtime/specification.js +2 -0
  536. package/node_modules/@specforge/spec-types/dist/runtime/specification.js.map +1 -0
  537. package/node_modules/@specforge/spec-types/dist/runtime/ticket.d.ts +2 -0
  538. package/node_modules/@specforge/spec-types/dist/runtime/ticket.d.ts.map +1 -0
  539. package/node_modules/@specforge/spec-types/dist/runtime/ticket.js +2 -0
  540. package/node_modules/@specforge/spec-types/dist/runtime/ticket.js.map +1 -0
  541. package/node_modules/@specforge/spec-types/dist/schema/auxiliary.d.ts +266 -0
  542. package/node_modules/@specforge/spec-types/dist/schema/auxiliary.d.ts.map +1 -0
  543. package/node_modules/@specforge/spec-types/dist/schema/auxiliary.js +143 -0
  544. package/node_modules/@specforge/spec-types/dist/schema/auxiliary.js.map +1 -0
  545. package/node_modules/@specforge/spec-types/dist/schema/blueprint.d.ts +47 -0
  546. package/node_modules/@specforge/spec-types/dist/schema/blueprint.d.ts.map +1 -0
  547. package/node_modules/@specforge/spec-types/dist/schema/blueprint.js +33 -0
  548. package/node_modules/@specforge/spec-types/dist/schema/blueprint.js.map +1 -0
  549. package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.d.ts +33 -0
  550. package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.d.ts.map +1 -0
  551. package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.js +181 -0
  552. package/node_modules/@specforge/spec-types/dist/schema/entity-field-schemas.js.map +1 -0
  553. package/node_modules/@specforge/spec-types/dist/schema/epic.d.ts +955 -0
  554. package/node_modules/@specforge/spec-types/dist/schema/epic.d.ts.map +1 -0
  555. package/node_modules/@specforge/spec-types/dist/schema/epic.js +33 -0
  556. package/node_modules/@specforge/spec-types/dist/schema/epic.js.map +1 -0
  557. package/node_modules/@specforge/spec-types/dist/schema/index.d.ts +12 -0
  558. package/node_modules/@specforge/spec-types/dist/schema/index.d.ts.map +1 -0
  559. package/node_modules/@specforge/spec-types/dist/schema/index.js +25 -0
  560. package/node_modules/@specforge/spec-types/dist/schema/index.js.map +1 -0
  561. package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.d.ts +174 -0
  562. package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.d.ts.map +1 -0
  563. package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.js +317 -0
  564. package/node_modules/@specforge/spec-types/dist/schema/node-verb-steps.js.map +1 -0
  565. package/node_modules/@specforge/spec-types/dist/schema/patterns.d.ts +274 -0
  566. package/node_modules/@specforge/spec-types/dist/schema/patterns.d.ts.map +1 -0
  567. package/node_modules/@specforge/spec-types/dist/schema/patterns.js +106 -0
  568. package/node_modules/@specforge/spec-types/dist/schema/patterns.js.map +1 -0
  569. package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.d.ts +44 -0
  570. package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.d.ts.map +1 -0
  571. package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.js +13 -0
  572. package/node_modules/@specforge/spec-types/dist/schema/planning/api-contract.js.map +1 -0
  573. package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.d.ts +21 -0
  574. package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.d.ts.map +1 -0
  575. package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.js +14 -0
  576. package/node_modules/@specforge/spec-types/dist/schema/planning/epic-category.js.map +1 -0
  577. package/node_modules/@specforge/spec-types/dist/schema/planning/goal.d.ts +27 -0
  578. package/node_modules/@specforge/spec-types/dist/schema/planning/goal.d.ts.map +1 -0
  579. package/node_modules/@specforge/spec-types/dist/schema/planning/goal.js +13 -0
  580. package/node_modules/@specforge/spec-types/dist/schema/planning/goal.js.map +1 -0
  581. package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.d.ts +29 -0
  582. package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.d.ts.map +1 -0
  583. package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.js +14 -0
  584. package/node_modules/@specforge/spec-types/dist/schema/planning/guardrail.js.map +1 -0
  585. package/node_modules/@specforge/spec-types/dist/schema/planning/index.d.ts +12 -0
  586. package/node_modules/@specforge/spec-types/dist/schema/planning/index.d.ts.map +1 -0
  587. package/node_modules/@specforge/spec-types/dist/schema/planning/index.js +12 -0
  588. package/node_modules/@specforge/spec-types/dist/schema/planning/index.js.map +1 -0
  589. package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.d.ts +27 -0
  590. package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.d.ts.map +1 -0
  591. package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.js +15 -0
  592. package/node_modules/@specforge/spec-types/dist/schema/planning/nfr.js.map +1 -0
  593. package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.d.ts +17 -0
  594. package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.d.ts.map +1 -0
  595. package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.js +16 -0
  596. package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.js.map +1 -0
  597. package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.d.ts +63 -0
  598. package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.d.ts.map +1 -0
  599. package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.js +16 -0
  600. package/node_modules/@specforge/spec-types/dist/schema/planning/requirement.js.map +1 -0
  601. package/node_modules/@specforge/spec-types/dist/schema/planning/scope.d.ts +19 -0
  602. package/node_modules/@specforge/spec-types/dist/schema/planning/scope.d.ts.map +1 -0
  603. package/node_modules/@specforge/spec-types/dist/schema/planning/scope.js +8 -0
  604. package/node_modules/@specforge/spec-types/dist/schema/planning/scope.js.map +1 -0
  605. package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.d.ts +51 -0
  606. package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.d.ts.map +1 -0
  607. package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.js +16 -0
  608. package/node_modules/@specforge/spec-types/dist/schema/planning/shared-pattern.js.map +1 -0
  609. package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.d.ts +19 -0
  610. package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.d.ts.map +1 -0
  611. package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.js +8 -0
  612. package/node_modules/@specforge/spec-types/dist/schema/planning/structure-item.js.map +1 -0
  613. package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.d.ts +27 -0
  614. package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.d.ts.map +1 -0
  615. package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.js +14 -0
  616. package/node_modules/@specforge/spec-types/dist/schema/planning/tech-stack.js.map +1 -0
  617. package/node_modules/@specforge/spec-types/dist/schema/specification.d.ts +1839 -0
  618. package/node_modules/@specforge/spec-types/dist/schema/specification.d.ts.map +1 -0
  619. package/node_modules/@specforge/spec-types/dist/schema/specification.js +43 -0
  620. package/node_modules/@specforge/spec-types/dist/schema/specification.js.map +1 -0
  621. package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.d.ts +58 -0
  622. package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.d.ts.map +1 -0
  623. package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.js +73 -0
  624. package/node_modules/@specforge/spec-types/dist/schema/step-link-coverage.js.map +1 -0
  625. package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.d.ts +71 -0
  626. package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.d.ts.map +1 -0
  627. package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.js +96 -0
  628. package/node_modules/@specforge/spec-types/dist/schema/step-link-ids.js.map +1 -0
  629. package/node_modules/@specforge/spec-types/dist/schema/ticket.d.ts +444 -0
  630. package/node_modules/@specforge/spec-types/dist/schema/ticket.d.ts.map +1 -0
  631. package/node_modules/@specforge/spec-types/dist/schema/ticket.js +49 -0
  632. package/node_modules/@specforge/spec-types/dist/schema/ticket.js.map +1 -0
  633. package/node_modules/@specforge/spec-types/package.json +41 -0
  634. package/package.json +40 -25
  635. package/src/cli/templates/agents/content/core/sfag-orchestrator.ts +135 -51
  636. package/src/cli/templates/agents/content/core/sfag-spec-creator.ts +124 -83
  637. package/src/cli/templates/agents/content/core/sfag-ticket-implementer.ts +247 -163
  638. package/src/cli/templates/agents/content/core/sfag-work-resolver.ts +211 -0
  639. package/src/cli/templates/agents/index.ts +2 -0
  640. package/src/cli/templates/content/sf-commit.ts +2 -2
  641. package/src/cli/templates/content/sf-reset.ts +45 -28
  642. package/src/cli/templates/skills/specforge-orchestrator.md +15 -10
  643. package/src/cli/templates/skills/specforge-worker.md +4 -3
@@ -0,0 +1,1839 @@
1
+ import { z } from 'zod';
2
+ export declare const SpecStatusEnum: z.ZodEnum<["draft", "planning", "ready", "in_progress", "done"]>;
3
+ export type SpecificationStatus = z.infer<typeof SpecStatusEnum>;
4
+ export declare const SpecificationSchema: z.ZodObject<{
5
+ schemaVersion: z.ZodLiteral<"1.1">;
6
+ id: z.ZodString;
7
+ projectId: z.ZodString;
8
+ title: z.ZodString;
9
+ description: z.ZodOptional<z.ZodString>;
10
+ status: z.ZodString;
11
+ goals: z.ZodArray<z.ZodObject<{
12
+ id: z.ZodString;
13
+ title: z.ZodString;
14
+ description: z.ZodString;
15
+ type: z.ZodEnum<["business", "technical", "user", "operational"]>;
16
+ successCriteria: z.ZodArray<z.ZodString, "many">;
17
+ kpi: z.ZodOptional<z.ZodString>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ type: "business" | "technical" | "user" | "operational";
20
+ id: string;
21
+ description: string;
22
+ title: string;
23
+ successCriteria: string[];
24
+ kpi?: string | undefined;
25
+ }, {
26
+ type: "business" | "technical" | "user" | "operational";
27
+ id: string;
28
+ description: string;
29
+ title: string;
30
+ successCriteria: string[];
31
+ kpi?: string | undefined;
32
+ }>, "many">;
33
+ requirements: z.ZodArray<z.ZodObject<{
34
+ id: z.ZodString;
35
+ title: z.ZodString;
36
+ description: z.ZodString;
37
+ type: z.ZodEnum<["functional", "business-rule", "integration"]>;
38
+ source: z.ZodOptional<z.ZodString>;
39
+ acceptanceCriteria: z.ZodArray<z.ZodObject<{
40
+ id: z.ZodString;
41
+ given: z.ZodString;
42
+ when: z.ZodString;
43
+ then: z.ZodString;
44
+ order: z.ZodNumber;
45
+ }, "strip", z.ZodTypeAny, {
46
+ id: string;
47
+ given: string;
48
+ when: string;
49
+ then: string;
50
+ order: number;
51
+ }, {
52
+ id: string;
53
+ given: string;
54
+ when: string;
55
+ then: string;
56
+ order: number;
57
+ }>, "many">;
58
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
59
+ constraints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
60
+ }, "strip", z.ZodTypeAny, {
61
+ type: "integration" | "functional" | "business-rule";
62
+ id: string;
63
+ description: string;
64
+ title: string;
65
+ acceptanceCriteria: {
66
+ id: string;
67
+ given: string;
68
+ when: string;
69
+ then: string;
70
+ order: number;
71
+ }[];
72
+ source?: string | undefined;
73
+ dependsOn?: string[] | undefined;
74
+ constraints?: string[] | undefined;
75
+ }, {
76
+ type: "integration" | "functional" | "business-rule";
77
+ id: string;
78
+ description: string;
79
+ title: string;
80
+ acceptanceCriteria: {
81
+ id: string;
82
+ given: string;
83
+ when: string;
84
+ then: string;
85
+ order: number;
86
+ }[];
87
+ source?: string | undefined;
88
+ dependsOn?: string[] | undefined;
89
+ constraints?: string[] | undefined;
90
+ }>, "many">;
91
+ architecture: z.ZodString;
92
+ scope: z.ZodObject<{
93
+ inScope: z.ZodArray<z.ZodString, "many">;
94
+ outOfScope: z.ZodArray<z.ZodString, "many">;
95
+ assumptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
96
+ externalDependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ inScope: string[];
99
+ outOfScope: string[];
100
+ assumptions?: string[] | undefined;
101
+ externalDependencies?: string[] | undefined;
102
+ }, {
103
+ inScope: string[];
104
+ outOfScope: string[];
105
+ assumptions?: string[] | undefined;
106
+ externalDependencies?: string[] | undefined;
107
+ }>;
108
+ techStack: z.ZodArray<z.ZodObject<{
109
+ id: z.ZodString;
110
+ name: z.ZodString;
111
+ version: z.ZodOptional<z.ZodString>;
112
+ layer: z.ZodEnum<["database", "backend", "frontend", "infrastructure", "devops", "observability", "auth", "integration", "testing"]>;
113
+ rationale: z.ZodOptional<z.ZodString>;
114
+ alternativesConsidered: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
115
+ }, "strip", z.ZodTypeAny, {
116
+ id: string;
117
+ name: string;
118
+ layer: "integration" | "observability" | "database" | "backend" | "frontend" | "infrastructure" | "devops" | "auth" | "testing";
119
+ version?: string | undefined;
120
+ rationale?: string | undefined;
121
+ alternativesConsidered?: string[] | undefined;
122
+ }, {
123
+ id: string;
124
+ name: string;
125
+ layer: "integration" | "observability" | "database" | "backend" | "frontend" | "infrastructure" | "devops" | "auth" | "testing";
126
+ version?: string | undefined;
127
+ rationale?: string | undefined;
128
+ alternativesConsidered?: string[] | undefined;
129
+ }>, "many">;
130
+ folderStructures: z.ZodArray<z.ZodObject<{
131
+ id: z.ZodString;
132
+ scope: z.ZodString;
133
+ description: z.ZodOptional<z.ZodString>;
134
+ content: z.ZodString;
135
+ }, "strip", z.ZodTypeAny, {
136
+ id: string;
137
+ content: string;
138
+ scope: string;
139
+ description?: string | undefined;
140
+ }, {
141
+ id: string;
142
+ content: string;
143
+ scope: string;
144
+ description?: string | undefined;
145
+ }>, "many">;
146
+ acceptanceCriteria: z.ZodArray<z.ZodObject<{
147
+ id: z.ZodString;
148
+ given: z.ZodString;
149
+ when: z.ZodString;
150
+ then: z.ZodString;
151
+ order: z.ZodNumber;
152
+ }, "strip", z.ZodTypeAny, {
153
+ id: string;
154
+ given: string;
155
+ when: string;
156
+ then: string;
157
+ order: number;
158
+ }, {
159
+ id: string;
160
+ given: string;
161
+ when: string;
162
+ then: string;
163
+ order: number;
164
+ }>, "many">;
165
+ nonFunctionalRequirements: z.ZodArray<z.ZodObject<{
166
+ id: z.ZodString;
167
+ description: z.ZodString;
168
+ category: z.ZodEnum<["performance", "security", "scalability", "reliability", "availability", "usability", "maintainability", "observability", "compliance", "accessibility"]>;
169
+ metric: z.ZodString;
170
+ target: z.ZodString;
171
+ measurementMethod: z.ZodOptional<z.ZodString>;
172
+ }, "strip", z.ZodTypeAny, {
173
+ id: string;
174
+ description: string;
175
+ category: "performance" | "security" | "scalability" | "reliability" | "availability" | "usability" | "maintainability" | "observability" | "compliance" | "accessibility";
176
+ metric: string;
177
+ target: string;
178
+ measurementMethod?: string | undefined;
179
+ }, {
180
+ id: string;
181
+ description: string;
182
+ category: "performance" | "security" | "scalability" | "reliability" | "availability" | "usability" | "maintainability" | "observability" | "compliance" | "accessibility";
183
+ metric: string;
184
+ target: string;
185
+ measurementMethod?: string | undefined;
186
+ }>, "many">;
187
+ sharedPatterns: z.ZodOptional<z.ZodArray<z.ZodObject<{
188
+ id: z.ZodString;
189
+ name: z.ZodString;
190
+ description: z.ZodString;
191
+ codeStandards: z.ZodOptional<z.ZodObject<{
192
+ errorHandling: z.ZodOptional<z.ZodString>;
193
+ naming: z.ZodOptional<z.ZodString>;
194
+ language: z.ZodOptional<z.ZodString>;
195
+ }, "strip", z.ZodString, z.objectOutputType<{
196
+ errorHandling: z.ZodOptional<z.ZodString>;
197
+ naming: z.ZodOptional<z.ZodString>;
198
+ language: z.ZodOptional<z.ZodString>;
199
+ }, z.ZodString, "strip">, z.objectInputType<{
200
+ errorHandling: z.ZodOptional<z.ZodString>;
201
+ naming: z.ZodOptional<z.ZodString>;
202
+ language: z.ZodOptional<z.ZodString>;
203
+ }, z.ZodString, "strip">>>;
204
+ commonImports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
205
+ returnTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
206
+ additionalImports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
207
+ commonFiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
208
+ }, "strip", z.ZodTypeAny, {
209
+ id: string;
210
+ description: string;
211
+ name: string;
212
+ codeStandards?: z.objectOutputType<{
213
+ errorHandling: z.ZodOptional<z.ZodString>;
214
+ naming: z.ZodOptional<z.ZodString>;
215
+ language: z.ZodOptional<z.ZodString>;
216
+ }, z.ZodString, "strip"> | undefined;
217
+ commonImports?: string[] | undefined;
218
+ returnTypes?: Record<string, string> | undefined;
219
+ additionalImports?: string[] | undefined;
220
+ commonFiles?: Record<string, string> | undefined;
221
+ }, {
222
+ id: string;
223
+ description: string;
224
+ name: string;
225
+ codeStandards?: z.objectInputType<{
226
+ errorHandling: z.ZodOptional<z.ZodString>;
227
+ naming: z.ZodOptional<z.ZodString>;
228
+ language: z.ZodOptional<z.ZodString>;
229
+ }, z.ZodString, "strip"> | undefined;
230
+ commonImports?: string[] | undefined;
231
+ returnTypes?: Record<string, string> | undefined;
232
+ additionalImports?: string[] | undefined;
233
+ commonFiles?: Record<string, string> | undefined;
234
+ }>, "many">>;
235
+ guardrails: z.ZodArray<z.ZodObject<{
236
+ id: z.ZodString;
237
+ description: z.ZodString;
238
+ category: z.ZodEnum<["technical", "business", "regulatory", "ethical", "operational"]>;
239
+ rationale: z.ZodString;
240
+ consequence: z.ZodString;
241
+ scope: z.ZodOptional<z.ZodEnum<["spec", "epic", "ticket"]>>;
242
+ }, "strip", z.ZodTypeAny, {
243
+ id: string;
244
+ description: string;
245
+ category: "business" | "technical" | "operational" | "regulatory" | "ethical";
246
+ rationale: string;
247
+ consequence: string;
248
+ scope?: "ticket" | "spec" | "epic" | undefined;
249
+ }, {
250
+ id: string;
251
+ description: string;
252
+ category: "business" | "technical" | "operational" | "regulatory" | "ethical";
253
+ rationale: string;
254
+ consequence: string;
255
+ scope?: "ticket" | "spec" | "epic" | undefined;
256
+ }>, "many">;
257
+ background: z.ZodOptional<z.ZodString>;
258
+ epics: z.ZodArray<z.ZodObject<{
259
+ id: z.ZodString;
260
+ specificationId: z.ZodString;
261
+ title: z.ZodString;
262
+ description: z.ZodString;
263
+ objective: z.ZodString;
264
+ order: z.ZodOptional<z.ZodNumber>;
265
+ estimatedMinutes: z.ZodOptional<z.ZodNumber>;
266
+ architecture: z.ZodOptional<z.ZodString>;
267
+ scope: z.ZodOptional<z.ZodObject<{
268
+ inScope: z.ZodArray<z.ZodString, "many">;
269
+ outOfScope: z.ZodArray<z.ZodString, "many">;
270
+ assumptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
271
+ externalDependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
272
+ }, "strip", z.ZodTypeAny, {
273
+ inScope: string[];
274
+ outOfScope: string[];
275
+ assumptions?: string[] | undefined;
276
+ externalDependencies?: string[] | undefined;
277
+ }, {
278
+ inScope: string[];
279
+ outOfScope: string[];
280
+ assumptions?: string[] | undefined;
281
+ externalDependencies?: string[] | undefined;
282
+ }>>;
283
+ goals: z.ZodOptional<z.ZodArray<z.ZodObject<{
284
+ id: z.ZodString;
285
+ title: z.ZodString;
286
+ description: z.ZodString;
287
+ type: z.ZodEnum<["business", "technical", "user", "operational"]>;
288
+ successCriteria: z.ZodArray<z.ZodString, "many">;
289
+ kpi: z.ZodOptional<z.ZodString>;
290
+ }, "strip", z.ZodTypeAny, {
291
+ type: "business" | "technical" | "user" | "operational";
292
+ id: string;
293
+ description: string;
294
+ title: string;
295
+ successCriteria: string[];
296
+ kpi?: string | undefined;
297
+ }, {
298
+ type: "business" | "technical" | "user" | "operational";
299
+ id: string;
300
+ description: string;
301
+ title: string;
302
+ successCriteria: string[];
303
+ kpi?: string | undefined;
304
+ }>, "many">>;
305
+ acceptanceCriteria: z.ZodOptional<z.ZodArray<z.ZodObject<{
306
+ id: z.ZodString;
307
+ given: z.ZodString;
308
+ when: z.ZodString;
309
+ then: z.ZodString;
310
+ order: z.ZodNumber;
311
+ }, "strip", z.ZodTypeAny, {
312
+ id: string;
313
+ given: string;
314
+ when: string;
315
+ then: string;
316
+ order: number;
317
+ }, {
318
+ id: string;
319
+ given: string;
320
+ when: string;
321
+ then: string;
322
+ order: number;
323
+ }>, "many">>;
324
+ validationCommands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
325
+ apiContracts: z.ZodOptional<z.ZodArray<z.ZodObject<{
326
+ id: z.ZodString;
327
+ name: z.ZodString;
328
+ type: z.ZodEnum<["rest", "graphql", "rpc", "event", "cli"]>;
329
+ description: z.ZodOptional<z.ZodString>;
330
+ blueprintReferences: z.ZodOptional<z.ZodArray<z.ZodObject<{
331
+ blueprintId: z.ZodString;
332
+ context: z.ZodOptional<z.ZodNullable<z.ZodString>>;
333
+ section: z.ZodOptional<z.ZodNullable<z.ZodString>>;
334
+ }, "strip", z.ZodTypeAny, {
335
+ blueprintId: string;
336
+ context?: string | null | undefined;
337
+ section?: string | null | undefined;
338
+ }, {
339
+ blueprintId: string;
340
+ context?: string | null | undefined;
341
+ section?: string | null | undefined;
342
+ }>, "many">>;
343
+ }, "strip", z.ZodTypeAny, {
344
+ type: "rest" | "graphql" | "rpc" | "event" | "cli";
345
+ id: string;
346
+ name: string;
347
+ description?: string | undefined;
348
+ blueprintReferences?: {
349
+ blueprintId: string;
350
+ context?: string | null | undefined;
351
+ section?: string | null | undefined;
352
+ }[] | undefined;
353
+ }, {
354
+ type: "rest" | "graphql" | "rpc" | "event" | "cli";
355
+ id: string;
356
+ name: string;
357
+ description?: string | undefined;
358
+ blueprintReferences?: {
359
+ blueprintId: string;
360
+ context?: string | null | undefined;
361
+ section?: string | null | undefined;
362
+ }[] | undefined;
363
+ }>, "many">>;
364
+ sharedPatterns: z.ZodOptional<z.ZodArray<z.ZodObject<{
365
+ id: z.ZodString;
366
+ name: z.ZodString;
367
+ description: z.ZodString;
368
+ codeStandards: z.ZodOptional<z.ZodObject<{
369
+ errorHandling: z.ZodOptional<z.ZodString>;
370
+ naming: z.ZodOptional<z.ZodString>;
371
+ language: z.ZodOptional<z.ZodString>;
372
+ }, "strip", z.ZodString, z.objectOutputType<{
373
+ errorHandling: z.ZodOptional<z.ZodString>;
374
+ naming: z.ZodOptional<z.ZodString>;
375
+ language: z.ZodOptional<z.ZodString>;
376
+ }, z.ZodString, "strip">, z.objectInputType<{
377
+ errorHandling: z.ZodOptional<z.ZodString>;
378
+ naming: z.ZodOptional<z.ZodString>;
379
+ language: z.ZodOptional<z.ZodString>;
380
+ }, z.ZodString, "strip">>>;
381
+ commonImports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
382
+ returnTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
383
+ additionalImports: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
384
+ commonFiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
385
+ }, "strip", z.ZodTypeAny, {
386
+ id: string;
387
+ description: string;
388
+ name: string;
389
+ codeStandards?: z.objectOutputType<{
390
+ errorHandling: z.ZodOptional<z.ZodString>;
391
+ naming: z.ZodOptional<z.ZodString>;
392
+ language: z.ZodOptional<z.ZodString>;
393
+ }, z.ZodString, "strip"> | undefined;
394
+ commonImports?: string[] | undefined;
395
+ returnTypes?: Record<string, string> | undefined;
396
+ additionalImports?: string[] | undefined;
397
+ commonFiles?: Record<string, string> | undefined;
398
+ }, {
399
+ id: string;
400
+ description: string;
401
+ name: string;
402
+ codeStandards?: z.objectInputType<{
403
+ errorHandling: z.ZodOptional<z.ZodString>;
404
+ naming: z.ZodOptional<z.ZodString>;
405
+ language: z.ZodOptional<z.ZodString>;
406
+ }, z.ZodString, "strip"> | undefined;
407
+ commonImports?: string[] | undefined;
408
+ returnTypes?: Record<string, string> | undefined;
409
+ additionalImports?: string[] | undefined;
410
+ commonFiles?: Record<string, string> | undefined;
411
+ }>, "many">>;
412
+ fileStructures: z.ZodOptional<z.ZodArray<z.ZodObject<{
413
+ id: z.ZodString;
414
+ scope: z.ZodString;
415
+ description: z.ZodOptional<z.ZodString>;
416
+ content: z.ZodString;
417
+ }, "strip", z.ZodTypeAny, {
418
+ id: string;
419
+ content: string;
420
+ scope: string;
421
+ description?: string | undefined;
422
+ }, {
423
+ id: string;
424
+ content: string;
425
+ scope: string;
426
+ description?: string | undefined;
427
+ }>, "many">>;
428
+ requirementsCovered: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
429
+ nfrsCovered: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
430
+ goalsCovered: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
431
+ tickets: z.ZodArray<z.ZodObject<{
432
+ id: z.ZodString;
433
+ epicId: z.ZodString;
434
+ ticketNumber: z.ZodOptional<z.ZodNumber>;
435
+ title: z.ZodString;
436
+ description: z.ZodOptional<z.ZodString>;
437
+ ticketType: z.ZodEnum<["implementation", "verification"]>;
438
+ complexity: z.ZodEnum<["small", "medium", "large", "xlarge"]>;
439
+ estimatedMinutes: z.ZodNumber;
440
+ order: z.ZodOptional<z.ZodNumber>;
441
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
442
+ acceptanceCriteria: z.ZodArray<z.ZodObject<{
443
+ id: z.ZodString;
444
+ given: z.ZodString;
445
+ when: z.ZodString;
446
+ then: z.ZodString;
447
+ order: z.ZodNumber;
448
+ }, "strip", z.ZodTypeAny, {
449
+ id: string;
450
+ given: string;
451
+ when: string;
452
+ then: string;
453
+ order: number;
454
+ }, {
455
+ id: string;
456
+ given: string;
457
+ when: string;
458
+ then: string;
459
+ order: number;
460
+ }>, "many">;
461
+ implementationSteps: z.ZodArray<z.ZodObject<{
462
+ id: z.ZodString;
463
+ text: z.ZodString;
464
+ order: z.ZodNumber;
465
+ files: z.ZodOptional<z.ZodArray<z.ZodObject<{
466
+ path: z.ZodString;
467
+ role: z.ZodString;
468
+ symbol: z.ZodOptional<z.ZodString>;
469
+ why: z.ZodOptional<z.ZodString>;
470
+ }, "strip", z.ZodTypeAny, {
471
+ path: string;
472
+ role: string;
473
+ symbol?: string | undefined;
474
+ why?: string | undefined;
475
+ }, {
476
+ path: string;
477
+ role: string;
478
+ symbol?: string | undefined;
479
+ why?: string | undefined;
480
+ }>, "many">>;
481
+ linkedFileIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
482
+ linkedCodeSnippetIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
483
+ linkedTypeSnippetIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
484
+ }, "strip", z.ZodTypeAny, {
485
+ id: string;
486
+ order: number;
487
+ text: string;
488
+ files?: {
489
+ path: string;
490
+ role: string;
491
+ symbol?: string | undefined;
492
+ why?: string | undefined;
493
+ }[] | undefined;
494
+ linkedFileIds?: string[] | undefined;
495
+ linkedCodeSnippetIds?: string[] | undefined;
496
+ linkedTypeSnippetIds?: string[] | undefined;
497
+ }, {
498
+ id: string;
499
+ order: number;
500
+ text: string;
501
+ files?: {
502
+ path: string;
503
+ role: string;
504
+ symbol?: string | undefined;
505
+ why?: string | undefined;
506
+ }[] | undefined;
507
+ linkedFileIds?: string[] | undefined;
508
+ linkedCodeSnippetIds?: string[] | undefined;
509
+ linkedTypeSnippetIds?: string[] | undefined;
510
+ }>, "many">;
511
+ filesToBeCreated: z.ZodArray<z.ZodString, "many">;
512
+ filesToBeModified: z.ZodArray<z.ZodString, "many">;
513
+ filesToBeDeleted: z.ZodArray<z.ZodString, "many">;
514
+ filesToBeReferenced: z.ZodArray<z.ZodString, "many">;
515
+ testSpecification: z.ZodOptional<z.ZodObject<{
516
+ testTypes: z.ZodArray<z.ZodEnum<["unit", "integration", "e2e", "typecheck", "lint", "build", "contract", "structural", "layout", "a11y", "performance"]>, "many">;
517
+ qualityGates: z.ZodArray<z.ZodString, "many">;
518
+ testCommands: z.ZodArray<z.ZodString, "many">;
519
+ coverageTarget: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
520
+ }, "strip", z.ZodTypeAny, {
521
+ testTypes: ("unit" | "integration" | "e2e" | "typecheck" | "lint" | "build" | "contract" | "structural" | "layout" | "a11y" | "performance")[];
522
+ qualityGates: string[];
523
+ testCommands: string[];
524
+ coverageTarget?: number | null | undefined;
525
+ }, {
526
+ testTypes: ("unit" | "integration" | "e2e" | "typecheck" | "lint" | "build" | "contract" | "structural" | "layout" | "a11y" | "performance")[];
527
+ qualityGates: string[];
528
+ testCommands: string[];
529
+ coverageTarget?: number | null | undefined;
530
+ }>>;
531
+ guardrails: z.ZodArray<z.ZodString, "many">;
532
+ codeReferences: z.ZodArray<z.ZodObject<{
533
+ filePath: z.ZodString;
534
+ symbol: z.ZodOptional<z.ZodString>;
535
+ description: z.ZodOptional<z.ZodString>;
536
+ }, "strip", z.ZodTypeAny, {
537
+ filePath: string;
538
+ symbol?: string | undefined;
539
+ description?: string | undefined;
540
+ }, {
541
+ filePath: string;
542
+ symbol?: string | undefined;
543
+ description?: string | undefined;
544
+ }>, "many">;
545
+ typeReferences: z.ZodArray<z.ZodObject<{
546
+ filePath: z.ZodString;
547
+ typeName: z.ZodString;
548
+ description: z.ZodOptional<z.ZodString>;
549
+ }, "strip", z.ZodTypeAny, {
550
+ filePath: string;
551
+ typeName: string;
552
+ description?: string | undefined;
553
+ }, {
554
+ filePath: string;
555
+ typeName: string;
556
+ description?: string | undefined;
557
+ }>, "many">;
558
+ codeSnippets: z.ZodOptional<z.ZodArray<z.ZodObject<{
559
+ id: z.ZodString;
560
+ language: z.ZodString;
561
+ description: z.ZodOptional<z.ZodString>;
562
+ content: z.ZodString;
563
+ order: z.ZodOptional<z.ZodNumber>;
564
+ sourcePath: z.ZodOptional<z.ZodString>;
565
+ }, "strip", z.ZodTypeAny, {
566
+ id: string;
567
+ language: string;
568
+ content: string;
569
+ order?: number | undefined;
570
+ description?: string | undefined;
571
+ sourcePath?: string | undefined;
572
+ }, {
573
+ id: string;
574
+ language: string;
575
+ content: string;
576
+ order?: number | undefined;
577
+ description?: string | undefined;
578
+ sourcePath?: string | undefined;
579
+ }>, "many">>;
580
+ typeSnippets: z.ZodOptional<z.ZodArray<z.ZodObject<{
581
+ id: z.ZodString;
582
+ language: z.ZodString;
583
+ description: z.ZodOptional<z.ZodString>;
584
+ content: z.ZodString;
585
+ order: z.ZodOptional<z.ZodNumber>;
586
+ sourcePath: z.ZodOptional<z.ZodString>;
587
+ }, "strip", z.ZodTypeAny, {
588
+ id: string;
589
+ language: string;
590
+ content: string;
591
+ order?: number | undefined;
592
+ description?: string | undefined;
593
+ sourcePath?: string | undefined;
594
+ }, {
595
+ id: string;
596
+ language: string;
597
+ content: string;
598
+ order?: number | undefined;
599
+ description?: string | undefined;
600
+ sourcePath?: string | undefined;
601
+ }>, "many">>;
602
+ blueprintReferences: z.ZodArray<z.ZodObject<{
603
+ blueprintId: z.ZodString;
604
+ context: z.ZodOptional<z.ZodNullable<z.ZodString>>;
605
+ section: z.ZodOptional<z.ZodNullable<z.ZodString>>;
606
+ }, "strip", z.ZodTypeAny, {
607
+ blueprintId: string;
608
+ context?: string | null | undefined;
609
+ section?: string | null | undefined;
610
+ }, {
611
+ blueprintId: string;
612
+ context?: string | null | undefined;
613
+ section?: string | null | undefined;
614
+ }>, "many">;
615
+ dependencies: z.ZodArray<z.ZodObject<{
616
+ ticketId: z.ZodString;
617
+ type: z.ZodEnum<["requires", "blocks"]>;
618
+ origin: z.ZodOptional<z.ZodObject<{
619
+ provenance: z.ZodOptional<z.ZodBoolean>;
620
+ scaffold: z.ZodOptional<z.ZodBoolean>;
621
+ semantic: z.ZodOptional<z.ZodBoolean>;
622
+ }, "strip", z.ZodTypeAny, {
623
+ provenance?: boolean | undefined;
624
+ scaffold?: boolean | undefined;
625
+ semantic?: boolean | undefined;
626
+ }, {
627
+ provenance?: boolean | undefined;
628
+ scaffold?: boolean | undefined;
629
+ semantic?: boolean | undefined;
630
+ }>>;
631
+ }, "strip", z.ZodTypeAny, {
632
+ type: "requires" | "blocks";
633
+ ticketId: string;
634
+ origin?: {
635
+ provenance?: boolean | undefined;
636
+ scaffold?: boolean | undefined;
637
+ semantic?: boolean | undefined;
638
+ } | undefined;
639
+ }, {
640
+ type: "requires" | "blocks";
641
+ ticketId: string;
642
+ origin?: {
643
+ provenance?: boolean | undefined;
644
+ scaffold?: boolean | undefined;
645
+ semantic?: boolean | undefined;
646
+ } | undefined;
647
+ }>, "many">;
648
+ fieldDeclarations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
649
+ value: z.ZodLiteral<"N/A">;
650
+ reason: z.ZodString;
651
+ }, "strip", z.ZodTypeAny, {
652
+ value: "N/A";
653
+ reason: string;
654
+ }, {
655
+ value: "N/A";
656
+ reason: string;
657
+ }>>>;
658
+ fileChangeRefs: z.ZodOptional<z.ZodArray<z.ZodObject<{
659
+ id: z.ZodString;
660
+ path: z.ZodString;
661
+ kind: z.ZodString;
662
+ symbol: z.ZodOptional<z.ZodString>;
663
+ why: z.ZodOptional<z.ZodString>;
664
+ }, "strip", z.ZodTypeAny, {
665
+ path: string;
666
+ id: string;
667
+ kind: string;
668
+ symbol?: string | undefined;
669
+ why?: string | undefined;
670
+ }, {
671
+ path: string;
672
+ id: string;
673
+ kind: string;
674
+ symbol?: string | undefined;
675
+ why?: string | undefined;
676
+ }>, "many">>;
677
+ }, "strip", z.ZodTypeAny, {
678
+ id: string;
679
+ title: string;
680
+ epicId: string;
681
+ ticketType: "implementation" | "verification";
682
+ complexity: "small" | "medium" | "large" | "xlarge";
683
+ estimatedMinutes: number;
684
+ acceptanceCriteria: {
685
+ id: string;
686
+ given: string;
687
+ when: string;
688
+ then: string;
689
+ order: number;
690
+ }[];
691
+ implementationSteps: {
692
+ id: string;
693
+ order: number;
694
+ text: string;
695
+ files?: {
696
+ path: string;
697
+ role: string;
698
+ symbol?: string | undefined;
699
+ why?: string | undefined;
700
+ }[] | undefined;
701
+ linkedFileIds?: string[] | undefined;
702
+ linkedCodeSnippetIds?: string[] | undefined;
703
+ linkedTypeSnippetIds?: string[] | undefined;
704
+ }[];
705
+ filesToBeCreated: string[];
706
+ filesToBeModified: string[];
707
+ filesToBeDeleted: string[];
708
+ filesToBeReferenced: string[];
709
+ guardrails: string[];
710
+ codeReferences: {
711
+ filePath: string;
712
+ symbol?: string | undefined;
713
+ description?: string | undefined;
714
+ }[];
715
+ typeReferences: {
716
+ filePath: string;
717
+ typeName: string;
718
+ description?: string | undefined;
719
+ }[];
720
+ blueprintReferences: {
721
+ blueprintId: string;
722
+ context?: string | null | undefined;
723
+ section?: string | null | undefined;
724
+ }[];
725
+ dependencies: {
726
+ type: "requires" | "blocks";
727
+ ticketId: string;
728
+ origin?: {
729
+ provenance?: boolean | undefined;
730
+ scaffold?: boolean | undefined;
731
+ semantic?: boolean | undefined;
732
+ } | undefined;
733
+ }[];
734
+ order?: number | undefined;
735
+ description?: string | undefined;
736
+ tags?: string[] | undefined;
737
+ ticketNumber?: number | undefined;
738
+ testSpecification?: {
739
+ testTypes: ("unit" | "integration" | "e2e" | "typecheck" | "lint" | "build" | "contract" | "structural" | "layout" | "a11y" | "performance")[];
740
+ qualityGates: string[];
741
+ testCommands: string[];
742
+ coverageTarget?: number | null | undefined;
743
+ } | undefined;
744
+ codeSnippets?: {
745
+ id: string;
746
+ language: string;
747
+ content: string;
748
+ order?: number | undefined;
749
+ description?: string | undefined;
750
+ sourcePath?: string | undefined;
751
+ }[] | undefined;
752
+ typeSnippets?: {
753
+ id: string;
754
+ language: string;
755
+ content: string;
756
+ order?: number | undefined;
757
+ description?: string | undefined;
758
+ sourcePath?: string | undefined;
759
+ }[] | undefined;
760
+ fieldDeclarations?: Record<string, {
761
+ value: "N/A";
762
+ reason: string;
763
+ }> | undefined;
764
+ fileChangeRefs?: {
765
+ path: string;
766
+ id: string;
767
+ kind: string;
768
+ symbol?: string | undefined;
769
+ why?: string | undefined;
770
+ }[] | undefined;
771
+ }, {
772
+ id: string;
773
+ title: string;
774
+ epicId: string;
775
+ ticketType: "implementation" | "verification";
776
+ complexity: "small" | "medium" | "large" | "xlarge";
777
+ estimatedMinutes: number;
778
+ acceptanceCriteria: {
779
+ id: string;
780
+ given: string;
781
+ when: string;
782
+ then: string;
783
+ order: number;
784
+ }[];
785
+ implementationSteps: {
786
+ id: string;
787
+ order: number;
788
+ text: string;
789
+ files?: {
790
+ path: string;
791
+ role: string;
792
+ symbol?: string | undefined;
793
+ why?: string | undefined;
794
+ }[] | undefined;
795
+ linkedFileIds?: string[] | undefined;
796
+ linkedCodeSnippetIds?: string[] | undefined;
797
+ linkedTypeSnippetIds?: string[] | undefined;
798
+ }[];
799
+ filesToBeCreated: string[];
800
+ filesToBeModified: string[];
801
+ filesToBeDeleted: string[];
802
+ filesToBeReferenced: string[];
803
+ guardrails: string[];
804
+ codeReferences: {
805
+ filePath: string;
806
+ symbol?: string | undefined;
807
+ description?: string | undefined;
808
+ }[];
809
+ typeReferences: {
810
+ filePath: string;
811
+ typeName: string;
812
+ description?: string | undefined;
813
+ }[];
814
+ blueprintReferences: {
815
+ blueprintId: string;
816
+ context?: string | null | undefined;
817
+ section?: string | null | undefined;
818
+ }[];
819
+ dependencies: {
820
+ type: "requires" | "blocks";
821
+ ticketId: string;
822
+ origin?: {
823
+ provenance?: boolean | undefined;
824
+ scaffold?: boolean | undefined;
825
+ semantic?: boolean | undefined;
826
+ } | undefined;
827
+ }[];
828
+ order?: number | undefined;
829
+ description?: string | undefined;
830
+ tags?: string[] | undefined;
831
+ ticketNumber?: number | undefined;
832
+ testSpecification?: {
833
+ testTypes: ("unit" | "integration" | "e2e" | "typecheck" | "lint" | "build" | "contract" | "structural" | "layout" | "a11y" | "performance")[];
834
+ qualityGates: string[];
835
+ testCommands: string[];
836
+ coverageTarget?: number | null | undefined;
837
+ } | undefined;
838
+ codeSnippets?: {
839
+ id: string;
840
+ language: string;
841
+ content: string;
842
+ order?: number | undefined;
843
+ description?: string | undefined;
844
+ sourcePath?: string | undefined;
845
+ }[] | undefined;
846
+ typeSnippets?: {
847
+ id: string;
848
+ language: string;
849
+ content: string;
850
+ order?: number | undefined;
851
+ description?: string | undefined;
852
+ sourcePath?: string | undefined;
853
+ }[] | undefined;
854
+ fieldDeclarations?: Record<string, {
855
+ value: "N/A";
856
+ reason: string;
857
+ }> | undefined;
858
+ fileChangeRefs?: {
859
+ path: string;
860
+ id: string;
861
+ kind: string;
862
+ symbol?: string | undefined;
863
+ why?: string | undefined;
864
+ }[] | undefined;
865
+ }>, "many">;
866
+ fieldDeclarations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
867
+ value: z.ZodLiteral<"N/A">;
868
+ reason: z.ZodString;
869
+ }, "strip", z.ZodTypeAny, {
870
+ value: "N/A";
871
+ reason: string;
872
+ }, {
873
+ value: "N/A";
874
+ reason: string;
875
+ }>>>;
876
+ category: z.ZodOptional<z.ZodEnum<["foundation", "functional", "non_functional", "verification"]>>;
877
+ }, "strip", z.ZodTypeAny, {
878
+ id: string;
879
+ description: string;
880
+ title: string;
881
+ specificationId: string;
882
+ objective: string;
883
+ tickets: {
884
+ id: string;
885
+ title: string;
886
+ epicId: string;
887
+ ticketType: "implementation" | "verification";
888
+ complexity: "small" | "medium" | "large" | "xlarge";
889
+ estimatedMinutes: number;
890
+ acceptanceCriteria: {
891
+ id: string;
892
+ given: string;
893
+ when: string;
894
+ then: string;
895
+ order: number;
896
+ }[];
897
+ implementationSteps: {
898
+ id: string;
899
+ order: number;
900
+ text: string;
901
+ files?: {
902
+ path: string;
903
+ role: string;
904
+ symbol?: string | undefined;
905
+ why?: string | undefined;
906
+ }[] | undefined;
907
+ linkedFileIds?: string[] | undefined;
908
+ linkedCodeSnippetIds?: string[] | undefined;
909
+ linkedTypeSnippetIds?: string[] | undefined;
910
+ }[];
911
+ filesToBeCreated: string[];
912
+ filesToBeModified: string[];
913
+ filesToBeDeleted: string[];
914
+ filesToBeReferenced: string[];
915
+ guardrails: string[];
916
+ codeReferences: {
917
+ filePath: string;
918
+ symbol?: string | undefined;
919
+ description?: string | undefined;
920
+ }[];
921
+ typeReferences: {
922
+ filePath: string;
923
+ typeName: string;
924
+ description?: string | undefined;
925
+ }[];
926
+ blueprintReferences: {
927
+ blueprintId: string;
928
+ context?: string | null | undefined;
929
+ section?: string | null | undefined;
930
+ }[];
931
+ dependencies: {
932
+ type: "requires" | "blocks";
933
+ ticketId: string;
934
+ origin?: {
935
+ provenance?: boolean | undefined;
936
+ scaffold?: boolean | undefined;
937
+ semantic?: boolean | undefined;
938
+ } | undefined;
939
+ }[];
940
+ order?: number | undefined;
941
+ description?: string | undefined;
942
+ tags?: string[] | undefined;
943
+ ticketNumber?: number | undefined;
944
+ testSpecification?: {
945
+ testTypes: ("unit" | "integration" | "e2e" | "typecheck" | "lint" | "build" | "contract" | "structural" | "layout" | "a11y" | "performance")[];
946
+ qualityGates: string[];
947
+ testCommands: string[];
948
+ coverageTarget?: number | null | undefined;
949
+ } | undefined;
950
+ codeSnippets?: {
951
+ id: string;
952
+ language: string;
953
+ content: string;
954
+ order?: number | undefined;
955
+ description?: string | undefined;
956
+ sourcePath?: string | undefined;
957
+ }[] | undefined;
958
+ typeSnippets?: {
959
+ id: string;
960
+ language: string;
961
+ content: string;
962
+ order?: number | undefined;
963
+ description?: string | undefined;
964
+ sourcePath?: string | undefined;
965
+ }[] | undefined;
966
+ fieldDeclarations?: Record<string, {
967
+ value: "N/A";
968
+ reason: string;
969
+ }> | undefined;
970
+ fileChangeRefs?: {
971
+ path: string;
972
+ id: string;
973
+ kind: string;
974
+ symbol?: string | undefined;
975
+ why?: string | undefined;
976
+ }[] | undefined;
977
+ }[];
978
+ order?: number | undefined;
979
+ architecture?: string | undefined;
980
+ category?: "verification" | "functional" | "foundation" | "non_functional" | undefined;
981
+ estimatedMinutes?: number | undefined;
982
+ acceptanceCriteria?: {
983
+ id: string;
984
+ given: string;
985
+ when: string;
986
+ then: string;
987
+ order: number;
988
+ }[] | undefined;
989
+ fieldDeclarations?: Record<string, {
990
+ value: "N/A";
991
+ reason: string;
992
+ }> | undefined;
993
+ scope?: {
994
+ inScope: string[];
995
+ outOfScope: string[];
996
+ assumptions?: string[] | undefined;
997
+ externalDependencies?: string[] | undefined;
998
+ } | undefined;
999
+ goals?: {
1000
+ type: "business" | "technical" | "user" | "operational";
1001
+ id: string;
1002
+ description: string;
1003
+ title: string;
1004
+ successCriteria: string[];
1005
+ kpi?: string | undefined;
1006
+ }[] | undefined;
1007
+ validationCommands?: string[] | undefined;
1008
+ apiContracts?: {
1009
+ type: "rest" | "graphql" | "rpc" | "event" | "cli";
1010
+ id: string;
1011
+ name: string;
1012
+ description?: string | undefined;
1013
+ blueprintReferences?: {
1014
+ blueprintId: string;
1015
+ context?: string | null | undefined;
1016
+ section?: string | null | undefined;
1017
+ }[] | undefined;
1018
+ }[] | undefined;
1019
+ sharedPatterns?: {
1020
+ id: string;
1021
+ description: string;
1022
+ name: string;
1023
+ codeStandards?: z.objectOutputType<{
1024
+ errorHandling: z.ZodOptional<z.ZodString>;
1025
+ naming: z.ZodOptional<z.ZodString>;
1026
+ language: z.ZodOptional<z.ZodString>;
1027
+ }, z.ZodString, "strip"> | undefined;
1028
+ commonImports?: string[] | undefined;
1029
+ returnTypes?: Record<string, string> | undefined;
1030
+ additionalImports?: string[] | undefined;
1031
+ commonFiles?: Record<string, string> | undefined;
1032
+ }[] | undefined;
1033
+ fileStructures?: {
1034
+ id: string;
1035
+ content: string;
1036
+ scope: string;
1037
+ description?: string | undefined;
1038
+ }[] | undefined;
1039
+ requirementsCovered?: string[] | undefined;
1040
+ nfrsCovered?: string[] | undefined;
1041
+ goalsCovered?: string[] | undefined;
1042
+ }, {
1043
+ id: string;
1044
+ description: string;
1045
+ title: string;
1046
+ specificationId: string;
1047
+ objective: string;
1048
+ tickets: {
1049
+ id: string;
1050
+ title: string;
1051
+ epicId: string;
1052
+ ticketType: "implementation" | "verification";
1053
+ complexity: "small" | "medium" | "large" | "xlarge";
1054
+ estimatedMinutes: number;
1055
+ acceptanceCriteria: {
1056
+ id: string;
1057
+ given: string;
1058
+ when: string;
1059
+ then: string;
1060
+ order: number;
1061
+ }[];
1062
+ implementationSteps: {
1063
+ id: string;
1064
+ order: number;
1065
+ text: string;
1066
+ files?: {
1067
+ path: string;
1068
+ role: string;
1069
+ symbol?: string | undefined;
1070
+ why?: string | undefined;
1071
+ }[] | undefined;
1072
+ linkedFileIds?: string[] | undefined;
1073
+ linkedCodeSnippetIds?: string[] | undefined;
1074
+ linkedTypeSnippetIds?: string[] | undefined;
1075
+ }[];
1076
+ filesToBeCreated: string[];
1077
+ filesToBeModified: string[];
1078
+ filesToBeDeleted: string[];
1079
+ filesToBeReferenced: string[];
1080
+ guardrails: string[];
1081
+ codeReferences: {
1082
+ filePath: string;
1083
+ symbol?: string | undefined;
1084
+ description?: string | undefined;
1085
+ }[];
1086
+ typeReferences: {
1087
+ filePath: string;
1088
+ typeName: string;
1089
+ description?: string | undefined;
1090
+ }[];
1091
+ blueprintReferences: {
1092
+ blueprintId: string;
1093
+ context?: string | null | undefined;
1094
+ section?: string | null | undefined;
1095
+ }[];
1096
+ dependencies: {
1097
+ type: "requires" | "blocks";
1098
+ ticketId: string;
1099
+ origin?: {
1100
+ provenance?: boolean | undefined;
1101
+ scaffold?: boolean | undefined;
1102
+ semantic?: boolean | undefined;
1103
+ } | undefined;
1104
+ }[];
1105
+ order?: number | undefined;
1106
+ description?: string | undefined;
1107
+ tags?: string[] | undefined;
1108
+ ticketNumber?: number | undefined;
1109
+ testSpecification?: {
1110
+ testTypes: ("unit" | "integration" | "e2e" | "typecheck" | "lint" | "build" | "contract" | "structural" | "layout" | "a11y" | "performance")[];
1111
+ qualityGates: string[];
1112
+ testCommands: string[];
1113
+ coverageTarget?: number | null | undefined;
1114
+ } | undefined;
1115
+ codeSnippets?: {
1116
+ id: string;
1117
+ language: string;
1118
+ content: string;
1119
+ order?: number | undefined;
1120
+ description?: string | undefined;
1121
+ sourcePath?: string | undefined;
1122
+ }[] | undefined;
1123
+ typeSnippets?: {
1124
+ id: string;
1125
+ language: string;
1126
+ content: string;
1127
+ order?: number | undefined;
1128
+ description?: string | undefined;
1129
+ sourcePath?: string | undefined;
1130
+ }[] | undefined;
1131
+ fieldDeclarations?: Record<string, {
1132
+ value: "N/A";
1133
+ reason: string;
1134
+ }> | undefined;
1135
+ fileChangeRefs?: {
1136
+ path: string;
1137
+ id: string;
1138
+ kind: string;
1139
+ symbol?: string | undefined;
1140
+ why?: string | undefined;
1141
+ }[] | undefined;
1142
+ }[];
1143
+ order?: number | undefined;
1144
+ architecture?: string | undefined;
1145
+ category?: "verification" | "functional" | "foundation" | "non_functional" | undefined;
1146
+ estimatedMinutes?: number | undefined;
1147
+ acceptanceCriteria?: {
1148
+ id: string;
1149
+ given: string;
1150
+ when: string;
1151
+ then: string;
1152
+ order: number;
1153
+ }[] | undefined;
1154
+ fieldDeclarations?: Record<string, {
1155
+ value: "N/A";
1156
+ reason: string;
1157
+ }> | undefined;
1158
+ scope?: {
1159
+ inScope: string[];
1160
+ outOfScope: string[];
1161
+ assumptions?: string[] | undefined;
1162
+ externalDependencies?: string[] | undefined;
1163
+ } | undefined;
1164
+ goals?: {
1165
+ type: "business" | "technical" | "user" | "operational";
1166
+ id: string;
1167
+ description: string;
1168
+ title: string;
1169
+ successCriteria: string[];
1170
+ kpi?: string | undefined;
1171
+ }[] | undefined;
1172
+ validationCommands?: string[] | undefined;
1173
+ apiContracts?: {
1174
+ type: "rest" | "graphql" | "rpc" | "event" | "cli";
1175
+ id: string;
1176
+ name: string;
1177
+ description?: string | undefined;
1178
+ blueprintReferences?: {
1179
+ blueprintId: string;
1180
+ context?: string | null | undefined;
1181
+ section?: string | null | undefined;
1182
+ }[] | undefined;
1183
+ }[] | undefined;
1184
+ sharedPatterns?: {
1185
+ id: string;
1186
+ description: string;
1187
+ name: string;
1188
+ codeStandards?: z.objectInputType<{
1189
+ errorHandling: z.ZodOptional<z.ZodString>;
1190
+ naming: z.ZodOptional<z.ZodString>;
1191
+ language: z.ZodOptional<z.ZodString>;
1192
+ }, z.ZodString, "strip"> | undefined;
1193
+ commonImports?: string[] | undefined;
1194
+ returnTypes?: Record<string, string> | undefined;
1195
+ additionalImports?: string[] | undefined;
1196
+ commonFiles?: Record<string, string> | undefined;
1197
+ }[] | undefined;
1198
+ fileStructures?: {
1199
+ id: string;
1200
+ content: string;
1201
+ scope: string;
1202
+ description?: string | undefined;
1203
+ }[] | undefined;
1204
+ requirementsCovered?: string[] | undefined;
1205
+ nfrsCovered?: string[] | undefined;
1206
+ goalsCovered?: string[] | undefined;
1207
+ }>, "many">;
1208
+ blueprints: z.ZodArray<z.ZodObject<{
1209
+ id: z.ZodString;
1210
+ title: z.ZodString;
1211
+ description: z.ZodOptional<z.ZodString>;
1212
+ slug: z.ZodOptional<z.ZodString>;
1213
+ category: z.ZodEnum<["flowchart", "architecture", "state", "sequence", "erd", "mockup", "adr", "component", "deployment", "api", "algorithm", "protocol", "glossary", "design_system"]>;
1214
+ format: z.ZodOptional<z.ZodEnum<["markdown", "mermaid", "ascii", "mixed", "html", "svg", "image"]>>;
1215
+ coverageType: z.ZodDefault<z.ZodEnum<["ticket", "all"]>>;
1216
+ content: z.ZodString;
1217
+ notes: z.ZodOptional<z.ZodString>;
1218
+ version: z.ZodOptional<z.ZodString>;
1219
+ order: z.ZodOptional<z.ZodNumber>;
1220
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1221
+ }, "strip", z.ZodTypeAny, {
1222
+ id: string;
1223
+ content: string;
1224
+ title: string;
1225
+ category: "flowchart" | "architecture" | "state" | "sequence" | "erd" | "mockup" | "adr" | "component" | "deployment" | "api" | "algorithm" | "protocol" | "glossary" | "design_system";
1226
+ coverageType: "ticket" | "all";
1227
+ order?: number | undefined;
1228
+ description?: string | undefined;
1229
+ slug?: string | undefined;
1230
+ format?: "markdown" | "mermaid" | "ascii" | "mixed" | "html" | "svg" | "image" | undefined;
1231
+ notes?: string | undefined;
1232
+ version?: string | undefined;
1233
+ tags?: string[] | undefined;
1234
+ }, {
1235
+ id: string;
1236
+ content: string;
1237
+ title: string;
1238
+ category: "flowchart" | "architecture" | "state" | "sequence" | "erd" | "mockup" | "adr" | "component" | "deployment" | "api" | "algorithm" | "protocol" | "glossary" | "design_system";
1239
+ order?: number | undefined;
1240
+ description?: string | undefined;
1241
+ slug?: string | undefined;
1242
+ format?: "markdown" | "mermaid" | "ascii" | "mixed" | "html" | "svg" | "image" | undefined;
1243
+ coverageType?: "ticket" | "all" | undefined;
1244
+ notes?: string | undefined;
1245
+ version?: string | undefined;
1246
+ tags?: string[] | undefined;
1247
+ }>, "many">;
1248
+ fieldDeclarations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1249
+ value: z.ZodLiteral<"N/A">;
1250
+ reason: z.ZodString;
1251
+ }, "strip", z.ZodTypeAny, {
1252
+ value: "N/A";
1253
+ reason: string;
1254
+ }, {
1255
+ value: "N/A";
1256
+ reason: string;
1257
+ }>>>;
1258
+ epicTargets: z.ZodOptional<z.ZodObject<{
1259
+ foundation: z.ZodNumber;
1260
+ functional: z.ZodNumber;
1261
+ nonFunctional: z.ZodNumber;
1262
+ verification: z.ZodNumber;
1263
+ }, "strip", z.ZodTypeAny, {
1264
+ verification: number;
1265
+ functional: number;
1266
+ foundation: number;
1267
+ nonFunctional: number;
1268
+ }, {
1269
+ verification: number;
1270
+ functional: number;
1271
+ foundation: number;
1272
+ nonFunctional: number;
1273
+ }>>;
1274
+ estimatedMinutes: z.ZodOptional<z.ZodNumber>;
1275
+ }, "strip", z.ZodTypeAny, {
1276
+ status: string;
1277
+ id: string;
1278
+ architecture: string;
1279
+ title: string;
1280
+ acceptanceCriteria: {
1281
+ id: string;
1282
+ given: string;
1283
+ when: string;
1284
+ then: string;
1285
+ order: number;
1286
+ }[];
1287
+ guardrails: {
1288
+ id: string;
1289
+ description: string;
1290
+ category: "business" | "technical" | "operational" | "regulatory" | "ethical";
1291
+ rationale: string;
1292
+ consequence: string;
1293
+ scope?: "ticket" | "spec" | "epic" | undefined;
1294
+ }[];
1295
+ scope: {
1296
+ inScope: string[];
1297
+ outOfScope: string[];
1298
+ assumptions?: string[] | undefined;
1299
+ externalDependencies?: string[] | undefined;
1300
+ };
1301
+ goals: {
1302
+ type: "business" | "technical" | "user" | "operational";
1303
+ id: string;
1304
+ description: string;
1305
+ title: string;
1306
+ successCriteria: string[];
1307
+ kpi?: string | undefined;
1308
+ }[];
1309
+ schemaVersion: "1.1";
1310
+ projectId: string;
1311
+ requirements: {
1312
+ type: "integration" | "functional" | "business-rule";
1313
+ id: string;
1314
+ description: string;
1315
+ title: string;
1316
+ acceptanceCriteria: {
1317
+ id: string;
1318
+ given: string;
1319
+ when: string;
1320
+ then: string;
1321
+ order: number;
1322
+ }[];
1323
+ source?: string | undefined;
1324
+ dependsOn?: string[] | undefined;
1325
+ constraints?: string[] | undefined;
1326
+ }[];
1327
+ techStack: {
1328
+ id: string;
1329
+ name: string;
1330
+ layer: "integration" | "observability" | "database" | "backend" | "frontend" | "infrastructure" | "devops" | "auth" | "testing";
1331
+ version?: string | undefined;
1332
+ rationale?: string | undefined;
1333
+ alternativesConsidered?: string[] | undefined;
1334
+ }[];
1335
+ folderStructures: {
1336
+ id: string;
1337
+ content: string;
1338
+ scope: string;
1339
+ description?: string | undefined;
1340
+ }[];
1341
+ nonFunctionalRequirements: {
1342
+ id: string;
1343
+ description: string;
1344
+ category: "performance" | "security" | "scalability" | "reliability" | "availability" | "usability" | "maintainability" | "observability" | "compliance" | "accessibility";
1345
+ metric: string;
1346
+ target: string;
1347
+ measurementMethod?: string | undefined;
1348
+ }[];
1349
+ epics: {
1350
+ id: string;
1351
+ description: string;
1352
+ title: string;
1353
+ specificationId: string;
1354
+ objective: string;
1355
+ tickets: {
1356
+ id: string;
1357
+ title: string;
1358
+ epicId: string;
1359
+ ticketType: "implementation" | "verification";
1360
+ complexity: "small" | "medium" | "large" | "xlarge";
1361
+ estimatedMinutes: number;
1362
+ acceptanceCriteria: {
1363
+ id: string;
1364
+ given: string;
1365
+ when: string;
1366
+ then: string;
1367
+ order: number;
1368
+ }[];
1369
+ implementationSteps: {
1370
+ id: string;
1371
+ order: number;
1372
+ text: string;
1373
+ files?: {
1374
+ path: string;
1375
+ role: string;
1376
+ symbol?: string | undefined;
1377
+ why?: string | undefined;
1378
+ }[] | undefined;
1379
+ linkedFileIds?: string[] | undefined;
1380
+ linkedCodeSnippetIds?: string[] | undefined;
1381
+ linkedTypeSnippetIds?: string[] | undefined;
1382
+ }[];
1383
+ filesToBeCreated: string[];
1384
+ filesToBeModified: string[];
1385
+ filesToBeDeleted: string[];
1386
+ filesToBeReferenced: string[];
1387
+ guardrails: string[];
1388
+ codeReferences: {
1389
+ filePath: string;
1390
+ symbol?: string | undefined;
1391
+ description?: string | undefined;
1392
+ }[];
1393
+ typeReferences: {
1394
+ filePath: string;
1395
+ typeName: string;
1396
+ description?: string | undefined;
1397
+ }[];
1398
+ blueprintReferences: {
1399
+ blueprintId: string;
1400
+ context?: string | null | undefined;
1401
+ section?: string | null | undefined;
1402
+ }[];
1403
+ dependencies: {
1404
+ type: "requires" | "blocks";
1405
+ ticketId: string;
1406
+ origin?: {
1407
+ provenance?: boolean | undefined;
1408
+ scaffold?: boolean | undefined;
1409
+ semantic?: boolean | undefined;
1410
+ } | undefined;
1411
+ }[];
1412
+ order?: number | undefined;
1413
+ description?: string | undefined;
1414
+ tags?: string[] | undefined;
1415
+ ticketNumber?: number | undefined;
1416
+ testSpecification?: {
1417
+ testTypes: ("unit" | "integration" | "e2e" | "typecheck" | "lint" | "build" | "contract" | "structural" | "layout" | "a11y" | "performance")[];
1418
+ qualityGates: string[];
1419
+ testCommands: string[];
1420
+ coverageTarget?: number | null | undefined;
1421
+ } | undefined;
1422
+ codeSnippets?: {
1423
+ id: string;
1424
+ language: string;
1425
+ content: string;
1426
+ order?: number | undefined;
1427
+ description?: string | undefined;
1428
+ sourcePath?: string | undefined;
1429
+ }[] | undefined;
1430
+ typeSnippets?: {
1431
+ id: string;
1432
+ language: string;
1433
+ content: string;
1434
+ order?: number | undefined;
1435
+ description?: string | undefined;
1436
+ sourcePath?: string | undefined;
1437
+ }[] | undefined;
1438
+ fieldDeclarations?: Record<string, {
1439
+ value: "N/A";
1440
+ reason: string;
1441
+ }> | undefined;
1442
+ fileChangeRefs?: {
1443
+ path: string;
1444
+ id: string;
1445
+ kind: string;
1446
+ symbol?: string | undefined;
1447
+ why?: string | undefined;
1448
+ }[] | undefined;
1449
+ }[];
1450
+ order?: number | undefined;
1451
+ architecture?: string | undefined;
1452
+ category?: "verification" | "functional" | "foundation" | "non_functional" | undefined;
1453
+ estimatedMinutes?: number | undefined;
1454
+ acceptanceCriteria?: {
1455
+ id: string;
1456
+ given: string;
1457
+ when: string;
1458
+ then: string;
1459
+ order: number;
1460
+ }[] | undefined;
1461
+ fieldDeclarations?: Record<string, {
1462
+ value: "N/A";
1463
+ reason: string;
1464
+ }> | undefined;
1465
+ scope?: {
1466
+ inScope: string[];
1467
+ outOfScope: string[];
1468
+ assumptions?: string[] | undefined;
1469
+ externalDependencies?: string[] | undefined;
1470
+ } | undefined;
1471
+ goals?: {
1472
+ type: "business" | "technical" | "user" | "operational";
1473
+ id: string;
1474
+ description: string;
1475
+ title: string;
1476
+ successCriteria: string[];
1477
+ kpi?: string | undefined;
1478
+ }[] | undefined;
1479
+ validationCommands?: string[] | undefined;
1480
+ apiContracts?: {
1481
+ type: "rest" | "graphql" | "rpc" | "event" | "cli";
1482
+ id: string;
1483
+ name: string;
1484
+ description?: string | undefined;
1485
+ blueprintReferences?: {
1486
+ blueprintId: string;
1487
+ context?: string | null | undefined;
1488
+ section?: string | null | undefined;
1489
+ }[] | undefined;
1490
+ }[] | undefined;
1491
+ sharedPatterns?: {
1492
+ id: string;
1493
+ description: string;
1494
+ name: string;
1495
+ codeStandards?: z.objectOutputType<{
1496
+ errorHandling: z.ZodOptional<z.ZodString>;
1497
+ naming: z.ZodOptional<z.ZodString>;
1498
+ language: z.ZodOptional<z.ZodString>;
1499
+ }, z.ZodString, "strip"> | undefined;
1500
+ commonImports?: string[] | undefined;
1501
+ returnTypes?: Record<string, string> | undefined;
1502
+ additionalImports?: string[] | undefined;
1503
+ commonFiles?: Record<string, string> | undefined;
1504
+ }[] | undefined;
1505
+ fileStructures?: {
1506
+ id: string;
1507
+ content: string;
1508
+ scope: string;
1509
+ description?: string | undefined;
1510
+ }[] | undefined;
1511
+ requirementsCovered?: string[] | undefined;
1512
+ nfrsCovered?: string[] | undefined;
1513
+ goalsCovered?: string[] | undefined;
1514
+ }[];
1515
+ blueprints: {
1516
+ id: string;
1517
+ content: string;
1518
+ title: string;
1519
+ category: "flowchart" | "architecture" | "state" | "sequence" | "erd" | "mockup" | "adr" | "component" | "deployment" | "api" | "algorithm" | "protocol" | "glossary" | "design_system";
1520
+ coverageType: "ticket" | "all";
1521
+ order?: number | undefined;
1522
+ description?: string | undefined;
1523
+ slug?: string | undefined;
1524
+ format?: "markdown" | "mermaid" | "ascii" | "mixed" | "html" | "svg" | "image" | undefined;
1525
+ notes?: string | undefined;
1526
+ version?: string | undefined;
1527
+ tags?: string[] | undefined;
1528
+ }[];
1529
+ description?: string | undefined;
1530
+ estimatedMinutes?: number | undefined;
1531
+ fieldDeclarations?: Record<string, {
1532
+ value: "N/A";
1533
+ reason: string;
1534
+ }> | undefined;
1535
+ sharedPatterns?: {
1536
+ id: string;
1537
+ description: string;
1538
+ name: string;
1539
+ codeStandards?: z.objectOutputType<{
1540
+ errorHandling: z.ZodOptional<z.ZodString>;
1541
+ naming: z.ZodOptional<z.ZodString>;
1542
+ language: z.ZodOptional<z.ZodString>;
1543
+ }, z.ZodString, "strip"> | undefined;
1544
+ commonImports?: string[] | undefined;
1545
+ returnTypes?: Record<string, string> | undefined;
1546
+ additionalImports?: string[] | undefined;
1547
+ commonFiles?: Record<string, string> | undefined;
1548
+ }[] | undefined;
1549
+ background?: string | undefined;
1550
+ epicTargets?: {
1551
+ verification: number;
1552
+ functional: number;
1553
+ foundation: number;
1554
+ nonFunctional: number;
1555
+ } | undefined;
1556
+ }, {
1557
+ status: string;
1558
+ id: string;
1559
+ architecture: string;
1560
+ title: string;
1561
+ acceptanceCriteria: {
1562
+ id: string;
1563
+ given: string;
1564
+ when: string;
1565
+ then: string;
1566
+ order: number;
1567
+ }[];
1568
+ guardrails: {
1569
+ id: string;
1570
+ description: string;
1571
+ category: "business" | "technical" | "operational" | "regulatory" | "ethical";
1572
+ rationale: string;
1573
+ consequence: string;
1574
+ scope?: "ticket" | "spec" | "epic" | undefined;
1575
+ }[];
1576
+ scope: {
1577
+ inScope: string[];
1578
+ outOfScope: string[];
1579
+ assumptions?: string[] | undefined;
1580
+ externalDependencies?: string[] | undefined;
1581
+ };
1582
+ goals: {
1583
+ type: "business" | "technical" | "user" | "operational";
1584
+ id: string;
1585
+ description: string;
1586
+ title: string;
1587
+ successCriteria: string[];
1588
+ kpi?: string | undefined;
1589
+ }[];
1590
+ schemaVersion: "1.1";
1591
+ projectId: string;
1592
+ requirements: {
1593
+ type: "integration" | "functional" | "business-rule";
1594
+ id: string;
1595
+ description: string;
1596
+ title: string;
1597
+ acceptanceCriteria: {
1598
+ id: string;
1599
+ given: string;
1600
+ when: string;
1601
+ then: string;
1602
+ order: number;
1603
+ }[];
1604
+ source?: string | undefined;
1605
+ dependsOn?: string[] | undefined;
1606
+ constraints?: string[] | undefined;
1607
+ }[];
1608
+ techStack: {
1609
+ id: string;
1610
+ name: string;
1611
+ layer: "integration" | "observability" | "database" | "backend" | "frontend" | "infrastructure" | "devops" | "auth" | "testing";
1612
+ version?: string | undefined;
1613
+ rationale?: string | undefined;
1614
+ alternativesConsidered?: string[] | undefined;
1615
+ }[];
1616
+ folderStructures: {
1617
+ id: string;
1618
+ content: string;
1619
+ scope: string;
1620
+ description?: string | undefined;
1621
+ }[];
1622
+ nonFunctionalRequirements: {
1623
+ id: string;
1624
+ description: string;
1625
+ category: "performance" | "security" | "scalability" | "reliability" | "availability" | "usability" | "maintainability" | "observability" | "compliance" | "accessibility";
1626
+ metric: string;
1627
+ target: string;
1628
+ measurementMethod?: string | undefined;
1629
+ }[];
1630
+ epics: {
1631
+ id: string;
1632
+ description: string;
1633
+ title: string;
1634
+ specificationId: string;
1635
+ objective: string;
1636
+ tickets: {
1637
+ id: string;
1638
+ title: string;
1639
+ epicId: string;
1640
+ ticketType: "implementation" | "verification";
1641
+ complexity: "small" | "medium" | "large" | "xlarge";
1642
+ estimatedMinutes: number;
1643
+ acceptanceCriteria: {
1644
+ id: string;
1645
+ given: string;
1646
+ when: string;
1647
+ then: string;
1648
+ order: number;
1649
+ }[];
1650
+ implementationSteps: {
1651
+ id: string;
1652
+ order: number;
1653
+ text: string;
1654
+ files?: {
1655
+ path: string;
1656
+ role: string;
1657
+ symbol?: string | undefined;
1658
+ why?: string | undefined;
1659
+ }[] | undefined;
1660
+ linkedFileIds?: string[] | undefined;
1661
+ linkedCodeSnippetIds?: string[] | undefined;
1662
+ linkedTypeSnippetIds?: string[] | undefined;
1663
+ }[];
1664
+ filesToBeCreated: string[];
1665
+ filesToBeModified: string[];
1666
+ filesToBeDeleted: string[];
1667
+ filesToBeReferenced: string[];
1668
+ guardrails: string[];
1669
+ codeReferences: {
1670
+ filePath: string;
1671
+ symbol?: string | undefined;
1672
+ description?: string | undefined;
1673
+ }[];
1674
+ typeReferences: {
1675
+ filePath: string;
1676
+ typeName: string;
1677
+ description?: string | undefined;
1678
+ }[];
1679
+ blueprintReferences: {
1680
+ blueprintId: string;
1681
+ context?: string | null | undefined;
1682
+ section?: string | null | undefined;
1683
+ }[];
1684
+ dependencies: {
1685
+ type: "requires" | "blocks";
1686
+ ticketId: string;
1687
+ origin?: {
1688
+ provenance?: boolean | undefined;
1689
+ scaffold?: boolean | undefined;
1690
+ semantic?: boolean | undefined;
1691
+ } | undefined;
1692
+ }[];
1693
+ order?: number | undefined;
1694
+ description?: string | undefined;
1695
+ tags?: string[] | undefined;
1696
+ ticketNumber?: number | undefined;
1697
+ testSpecification?: {
1698
+ testTypes: ("unit" | "integration" | "e2e" | "typecheck" | "lint" | "build" | "contract" | "structural" | "layout" | "a11y" | "performance")[];
1699
+ qualityGates: string[];
1700
+ testCommands: string[];
1701
+ coverageTarget?: number | null | undefined;
1702
+ } | undefined;
1703
+ codeSnippets?: {
1704
+ id: string;
1705
+ language: string;
1706
+ content: string;
1707
+ order?: number | undefined;
1708
+ description?: string | undefined;
1709
+ sourcePath?: string | undefined;
1710
+ }[] | undefined;
1711
+ typeSnippets?: {
1712
+ id: string;
1713
+ language: string;
1714
+ content: string;
1715
+ order?: number | undefined;
1716
+ description?: string | undefined;
1717
+ sourcePath?: string | undefined;
1718
+ }[] | undefined;
1719
+ fieldDeclarations?: Record<string, {
1720
+ value: "N/A";
1721
+ reason: string;
1722
+ }> | undefined;
1723
+ fileChangeRefs?: {
1724
+ path: string;
1725
+ id: string;
1726
+ kind: string;
1727
+ symbol?: string | undefined;
1728
+ why?: string | undefined;
1729
+ }[] | undefined;
1730
+ }[];
1731
+ order?: number | undefined;
1732
+ architecture?: string | undefined;
1733
+ category?: "verification" | "functional" | "foundation" | "non_functional" | undefined;
1734
+ estimatedMinutes?: number | undefined;
1735
+ acceptanceCriteria?: {
1736
+ id: string;
1737
+ given: string;
1738
+ when: string;
1739
+ then: string;
1740
+ order: number;
1741
+ }[] | undefined;
1742
+ fieldDeclarations?: Record<string, {
1743
+ value: "N/A";
1744
+ reason: string;
1745
+ }> | undefined;
1746
+ scope?: {
1747
+ inScope: string[];
1748
+ outOfScope: string[];
1749
+ assumptions?: string[] | undefined;
1750
+ externalDependencies?: string[] | undefined;
1751
+ } | undefined;
1752
+ goals?: {
1753
+ type: "business" | "technical" | "user" | "operational";
1754
+ id: string;
1755
+ description: string;
1756
+ title: string;
1757
+ successCriteria: string[];
1758
+ kpi?: string | undefined;
1759
+ }[] | undefined;
1760
+ validationCommands?: string[] | undefined;
1761
+ apiContracts?: {
1762
+ type: "rest" | "graphql" | "rpc" | "event" | "cli";
1763
+ id: string;
1764
+ name: string;
1765
+ description?: string | undefined;
1766
+ blueprintReferences?: {
1767
+ blueprintId: string;
1768
+ context?: string | null | undefined;
1769
+ section?: string | null | undefined;
1770
+ }[] | undefined;
1771
+ }[] | undefined;
1772
+ sharedPatterns?: {
1773
+ id: string;
1774
+ description: string;
1775
+ name: string;
1776
+ codeStandards?: z.objectInputType<{
1777
+ errorHandling: z.ZodOptional<z.ZodString>;
1778
+ naming: z.ZodOptional<z.ZodString>;
1779
+ language: z.ZodOptional<z.ZodString>;
1780
+ }, z.ZodString, "strip"> | undefined;
1781
+ commonImports?: string[] | undefined;
1782
+ returnTypes?: Record<string, string> | undefined;
1783
+ additionalImports?: string[] | undefined;
1784
+ commonFiles?: Record<string, string> | undefined;
1785
+ }[] | undefined;
1786
+ fileStructures?: {
1787
+ id: string;
1788
+ content: string;
1789
+ scope: string;
1790
+ description?: string | undefined;
1791
+ }[] | undefined;
1792
+ requirementsCovered?: string[] | undefined;
1793
+ nfrsCovered?: string[] | undefined;
1794
+ goalsCovered?: string[] | undefined;
1795
+ }[];
1796
+ blueprints: {
1797
+ id: string;
1798
+ content: string;
1799
+ title: string;
1800
+ category: "flowchart" | "architecture" | "state" | "sequence" | "erd" | "mockup" | "adr" | "component" | "deployment" | "api" | "algorithm" | "protocol" | "glossary" | "design_system";
1801
+ order?: number | undefined;
1802
+ description?: string | undefined;
1803
+ slug?: string | undefined;
1804
+ format?: "markdown" | "mermaid" | "ascii" | "mixed" | "html" | "svg" | "image" | undefined;
1805
+ coverageType?: "ticket" | "all" | undefined;
1806
+ notes?: string | undefined;
1807
+ version?: string | undefined;
1808
+ tags?: string[] | undefined;
1809
+ }[];
1810
+ description?: string | undefined;
1811
+ estimatedMinutes?: number | undefined;
1812
+ fieldDeclarations?: Record<string, {
1813
+ value: "N/A";
1814
+ reason: string;
1815
+ }> | undefined;
1816
+ sharedPatterns?: {
1817
+ id: string;
1818
+ description: string;
1819
+ name: string;
1820
+ codeStandards?: z.objectInputType<{
1821
+ errorHandling: z.ZodOptional<z.ZodString>;
1822
+ naming: z.ZodOptional<z.ZodString>;
1823
+ language: z.ZodOptional<z.ZodString>;
1824
+ }, z.ZodString, "strip"> | undefined;
1825
+ commonImports?: string[] | undefined;
1826
+ returnTypes?: Record<string, string> | undefined;
1827
+ additionalImports?: string[] | undefined;
1828
+ commonFiles?: Record<string, string> | undefined;
1829
+ }[] | undefined;
1830
+ background?: string | undefined;
1831
+ epicTargets?: {
1832
+ verification: number;
1833
+ functional: number;
1834
+ foundation: number;
1835
+ nonFunctional: number;
1836
+ } | undefined;
1837
+ }>;
1838
+ export type Specification = z.infer<typeof SpecificationSchema>;
1839
+ //# sourceMappingURL=specification.d.ts.map