@specforge/canary-cli 0.1.12 → 0.1.14

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 (243) hide show
  1. package/dist/tools/core/git-injection.d.ts +8 -0
  2. package/dist/tools/core/git-injection.d.ts.map +1 -1
  3. package/dist/tools/core/git-injection.js +5 -0
  4. package/dist/tools/core/git-injection.js.map +1 -1
  5. package/dist/tools/index.d.ts.map +1 -1
  6. package/dist/tools/index.js +20 -2
  7. package/dist/tools/index.js.map +1 -1
  8. package/node_modules/@specforge/session-types/CHANGELOG.md +56 -0
  9. package/node_modules/@specforge/session-types/README.md +18 -0
  10. package/node_modules/@specforge/session-types/dist/index.d.ts +47 -0
  11. package/node_modules/@specforge/session-types/dist/index.d.ts.map +1 -0
  12. package/node_modules/@specforge/session-types/dist/index.js +47 -0
  13. package/node_modules/@specforge/session-types/dist/index.js.map +1 -0
  14. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.d.ts +46 -0
  15. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.d.ts.map +1 -0
  16. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.js +41 -0
  17. package/node_modules/@specforge/session-types/dist/runtime/aggregator-input.js.map +1 -0
  18. package/node_modules/@specforge/session-types/dist/runtime/discovery.d.ts +9 -0
  19. package/node_modules/@specforge/session-types/dist/runtime/discovery.d.ts.map +1 -0
  20. package/node_modules/@specforge/session-types/dist/runtime/discovery.js +2 -0
  21. package/node_modules/@specforge/session-types/dist/runtime/discovery.js.map +1 -0
  22. package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts +51 -0
  23. package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts.map +1 -0
  24. package/node_modules/@specforge/session-types/dist/runtime/enums.js +162 -0
  25. package/node_modules/@specforge/session-types/dist/runtime/enums.js.map +1 -0
  26. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.d.ts +177 -0
  27. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.d.ts.map +1 -0
  28. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.js +90 -0
  29. package/node_modules/@specforge/session-types/dist/runtime/implementation-config.js.map +1 -0
  30. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.d.ts +8 -0
  31. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.d.ts.map +1 -0
  32. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.js +2 -0
  33. package/node_modules/@specforge/session-types/dist/runtime/implementation-record-event.js.map +1 -0
  34. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.d.ts +433 -0
  35. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.d.ts.map +1 -0
  36. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.js +128 -0
  37. package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.js.map +1 -0
  38. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.d.ts +8 -0
  39. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.d.ts.map +1 -0
  40. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.js +2 -0
  41. package/node_modules/@specforge/session-types/dist/runtime/implementation-session.js.map +1 -0
  42. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.d.ts +315 -0
  43. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.d.ts.map +1 -0
  44. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.js +2 -0
  45. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-contract.js.map +1 -0
  46. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.d.ts +128 -0
  47. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.d.ts.map +1 -0
  48. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.js +30 -0
  49. package/node_modules/@specforge/session-types/dist/runtime/lifecycle-planning-guidance.js.map +1 -0
  50. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.d.ts +4 -0
  51. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.d.ts.map +1 -0
  52. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.js +2 -0
  53. package/node_modules/@specforge/session-types/dist/runtime/parsed-git-evidence.js.map +1 -0
  54. package/node_modules/@specforge/session-types/dist/runtime/planning-config.d.ts +82 -0
  55. package/node_modules/@specforge/session-types/dist/runtime/planning-config.d.ts.map +1 -0
  56. package/node_modules/@specforge/session-types/dist/runtime/planning-config.js +61 -0
  57. package/node_modules/@specforge/session-types/dist/runtime/planning-config.js.map +1 -0
  58. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.d.ts +34 -0
  59. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.d.ts.map +1 -0
  60. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.js +14 -0
  61. package/node_modules/@specforge/session-types/dist/runtime/planning-entity-score-datapoint.js.map +1 -0
  62. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.d.ts +6 -0
  63. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.d.ts.map +1 -0
  64. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.js +32 -0
  65. package/node_modules/@specforge/session-types/dist/runtime/planning-operations.js.map +1 -0
  66. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.d.ts +34 -0
  67. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.d.ts.map +1 -0
  68. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.js +22 -0
  69. package/node_modules/@specforge/session-types/dist/runtime/planning-phase-transition.js.map +1 -0
  70. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.d.ts +73 -0
  71. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.d.ts.map +1 -0
  72. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.js +56 -0
  73. package/node_modules/@specforge/session-types/dist/runtime/planning-session-action.js.map +1 -0
  74. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.d.ts +239 -0
  75. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.d.ts.map +1 -0
  76. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.js +88 -0
  77. package/node_modules/@specforge/session-types/dist/runtime/planning-session-aggregate.js.map +1 -0
  78. package/node_modules/@specforge/session-types/dist/runtime/planning-session.d.ts +574 -0
  79. package/node_modules/@specforge/session-types/dist/runtime/planning-session.d.ts.map +1 -0
  80. package/node_modules/@specforge/session-types/dist/runtime/planning-session.js +40 -0
  81. package/node_modules/@specforge/session-types/dist/runtime/planning-session.js.map +1 -0
  82. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.d.ts +221 -0
  83. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.d.ts.map +1 -0
  84. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.js +41 -0
  85. package/node_modules/@specforge/session-types/dist/runtime/process-guidance.js.map +1 -0
  86. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.d.ts +4 -0
  87. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.d.ts.map +1 -0
  88. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.js +2 -0
  89. package/node_modules/@specforge/session-types/dist/runtime/work-session-acceptance-check.js.map +1 -0
  90. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.d.ts +9 -0
  91. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.d.ts.map +1 -0
  92. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.js +2 -0
  93. package/node_modules/@specforge/session-types/dist/runtime/work-session-action.js.map +1 -0
  94. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.d.ts +4 -0
  95. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.d.ts.map +1 -0
  96. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.js +2 -0
  97. package/node_modules/@specforge/session-types/dist/runtime/work-session-file-change.js.map +1 -0
  98. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.d.ts +4 -0
  99. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.d.ts.map +1 -0
  100. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.js +2 -0
  101. package/node_modules/@specforge/session-types/dist/runtime/work-session-impl-step-completion.js.map +1 -0
  102. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.d.ts +4 -0
  103. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.d.ts.map +1 -0
  104. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.js +2 -0
  105. package/node_modules/@specforge/session-types/dist/runtime/work-session-resolution.js.map +1 -0
  106. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.d.ts +4 -0
  107. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.d.ts.map +1 -0
  108. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.js +2 -0
  109. package/node_modules/@specforge/session-types/dist/runtime/work-session-test-result.js.map +1 -0
  110. package/node_modules/@specforge/session-types/dist/runtime/work-session.d.ts +4 -0
  111. package/node_modules/@specforge/session-types/dist/runtime/work-session.d.ts.map +1 -0
  112. package/node_modules/@specforge/session-types/dist/runtime/work-session.js +2 -0
  113. package/node_modules/@specforge/session-types/dist/runtime/work-session.js.map +1 -0
  114. package/node_modules/@specforge/session-types/dist/runtime/working-context.d.ts +43 -0
  115. package/node_modules/@specforge/session-types/dist/runtime/working-context.d.ts.map +1 -0
  116. package/node_modules/@specforge/session-types/dist/runtime/working-context.js +2 -0
  117. package/node_modules/@specforge/session-types/dist/runtime/working-context.js.map +1 -0
  118. package/node_modules/@specforge/session-types/dist/runtime/write-plan.d.ts +146 -0
  119. package/node_modules/@specforge/session-types/dist/runtime/write-plan.d.ts.map +1 -0
  120. package/node_modules/@specforge/session-types/dist/runtime/write-plan.js +2 -0
  121. package/node_modules/@specforge/session-types/dist/runtime/write-plan.js.map +1 -0
  122. package/node_modules/@specforge/session-types/dist/schema/discovery.d.ts +76 -0
  123. package/node_modules/@specforge/session-types/dist/schema/discovery.d.ts.map +1 -0
  124. package/node_modules/@specforge/session-types/dist/schema/discovery.js +42 -0
  125. package/node_modules/@specforge/session-types/dist/schema/discovery.js.map +1 -0
  126. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.d.ts +48 -0
  127. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.d.ts.map +1 -0
  128. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.js +28 -0
  129. package/node_modules/@specforge/session-types/dist/schema/implementation-record-event.js.map +1 -0
  130. package/node_modules/@specforge/session-types/dist/schema/implementation-session.d.ts +37 -0
  131. package/node_modules/@specforge/session-types/dist/schema/implementation-session.d.ts.map +1 -0
  132. package/node_modules/@specforge/session-types/dist/schema/implementation-session.js +24 -0
  133. package/node_modules/@specforge/session-types/dist/schema/implementation-session.js.map +1 -0
  134. package/node_modules/@specforge/session-types/dist/schema/index.d.ts +12 -0
  135. package/node_modules/@specforge/session-types/dist/schema/index.d.ts.map +1 -0
  136. package/node_modules/@specforge/session-types/dist/schema/index.js +12 -0
  137. package/node_modules/@specforge/session-types/dist/schema/index.js.map +1 -0
  138. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.d.ts +74 -0
  139. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.d.ts.map +1 -0
  140. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.js +31 -0
  141. package/node_modules/@specforge/session-types/dist/schema/parsed-git-evidence.js.map +1 -0
  142. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.d.ts +27 -0
  143. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.d.ts.map +1 -0
  144. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.js +11 -0
  145. package/node_modules/@specforge/session-types/dist/schema/work-session-acceptance-check.js.map +1 -0
  146. package/node_modules/@specforge/session-types/dist/schema/work-session-action.d.ts +91 -0
  147. package/node_modules/@specforge/session-types/dist/schema/work-session-action.d.ts.map +1 -0
  148. package/node_modules/@specforge/session-types/dist/schema/work-session-action.js +71 -0
  149. package/node_modules/@specforge/session-types/dist/schema/work-session-action.js.map +1 -0
  150. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.d.ts +42 -0
  151. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.d.ts.map +1 -0
  152. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.js +25 -0
  153. package/node_modules/@specforge/session-types/dist/schema/work-session-file-change.js.map +1 -0
  154. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.d.ts +27 -0
  155. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.d.ts.map +1 -0
  156. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.js +11 -0
  157. package/node_modules/@specforge/session-types/dist/schema/work-session-impl-step-completion.js.map +1 -0
  158. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.d.ts +42 -0
  159. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.d.ts.map +1 -0
  160. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.js +28 -0
  161. package/node_modules/@specforge/session-types/dist/schema/work-session-resolution.js.map +1 -0
  162. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.d.ts +72 -0
  163. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.d.ts.map +1 -0
  164. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.js +32 -0
  165. package/node_modules/@specforge/session-types/dist/schema/work-session-test-result.js.map +1 -0
  166. package/node_modules/@specforge/session-types/dist/schema/work-session.d.ts +174 -0
  167. package/node_modules/@specforge/session-types/dist/schema/work-session.d.ts.map +1 -0
  168. package/node_modules/@specforge/session-types/dist/schema/work-session.js +63 -0
  169. package/node_modules/@specforge/session-types/dist/schema/work-session.js.map +1 -0
  170. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.d.ts +17 -0
  171. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.d.ts.map +1 -0
  172. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.js +2 -0
  173. package/node_modules/@specforge/session-types/dist/stores/config-store-interface.js.map +1 -0
  174. package/node_modules/@specforge/session-types/dist/stores/discovery-store.d.ts +31 -0
  175. package/node_modules/@specforge/session-types/dist/stores/discovery-store.d.ts.map +1 -0
  176. package/node_modules/@specforge/session-types/dist/stores/discovery-store.js +2 -0
  177. package/node_modules/@specforge/session-types/dist/stores/discovery-store.js.map +1 -0
  178. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.d.ts +19 -0
  179. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.d.ts.map +1 -0
  180. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.js +2 -0
  181. package/node_modules/@specforge/session-types/dist/stores/implementation-record-event-store.js.map +1 -0
  182. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.d.ts +16 -0
  183. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.d.ts.map +1 -0
  184. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.js +2 -0
  185. package/node_modules/@specforge/session-types/dist/stores/implementation-session-aggregate-store.js.map +1 -0
  186. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.d.ts +28 -0
  187. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.d.ts.map +1 -0
  188. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.js +2 -0
  189. package/node_modules/@specforge/session-types/dist/stores/implementation-session-store.js.map +1 -0
  190. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.d.ts +12 -0
  191. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.d.ts.map +1 -0
  192. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.js +2 -0
  193. package/node_modules/@specforge/session-types/dist/stores/planning-entity-score-datapoint-store.js.map +1 -0
  194. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.d.ts +10 -0
  195. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.d.ts.map +1 -0
  196. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.js +2 -0
  197. package/node_modules/@specforge/session-types/dist/stores/planning-phase-transition-store.js.map +1 -0
  198. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.d.ts +13 -0
  199. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.d.ts.map +1 -0
  200. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.js +2 -0
  201. package/node_modules/@specforge/session-types/dist/stores/planning-session-action-store.js.map +1 -0
  202. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.d.ts +10 -0
  203. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.d.ts.map +1 -0
  204. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.js +2 -0
  205. package/node_modules/@specforge/session-types/dist/stores/planning-session-aggregate-store.js.map +1 -0
  206. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.d.ts +20 -0
  207. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.d.ts.map +1 -0
  208. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.js +2 -0
  209. package/node_modules/@specforge/session-types/dist/stores/planning-session-store.js.map +1 -0
  210. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.d.ts +15 -0
  211. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.d.ts.map +1 -0
  212. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.js +2 -0
  213. package/node_modules/@specforge/session-types/dist/stores/work-session-acceptance-check-store.js.map +1 -0
  214. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.d.ts +29 -0
  215. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.d.ts.map +1 -0
  216. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.js +2 -0
  217. package/node_modules/@specforge/session-types/dist/stores/work-session-action-store.js.map +1 -0
  218. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.d.ts +9 -0
  219. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.d.ts.map +1 -0
  220. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.js +2 -0
  221. package/node_modules/@specforge/session-types/dist/stores/work-session-file-change-store.js.map +1 -0
  222. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.d.ts +9 -0
  223. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.d.ts.map +1 -0
  224. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.js +2 -0
  225. package/node_modules/@specforge/session-types/dist/stores/work-session-impl-step-completion-store.js.map +1 -0
  226. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.d.ts +10 -0
  227. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.d.ts.map +1 -0
  228. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.js +2 -0
  229. package/node_modules/@specforge/session-types/dist/stores/work-session-resolution-store.js.map +1 -0
  230. package/node_modules/@specforge/session-types/dist/stores/work-session-store.d.ts +14 -0
  231. package/node_modules/@specforge/session-types/dist/stores/work-session-store.d.ts.map +1 -0
  232. package/node_modules/@specforge/session-types/dist/stores/work-session-store.js +2 -0
  233. package/node_modules/@specforge/session-types/dist/stores/work-session-store.js.map +1 -0
  234. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.d.ts +8 -0
  235. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.d.ts.map +1 -0
  236. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.js +2 -0
  237. package/node_modules/@specforge/session-types/dist/stores/work-session-test-result-store.js.map +1 -0
  238. package/node_modules/@specforge/session-types/dist/stores/working-context-store.d.ts +27 -0
  239. package/node_modules/@specforge/session-types/dist/stores/working-context-store.d.ts.map +1 -0
  240. package/node_modules/@specforge/session-types/dist/stores/working-context-store.js +2 -0
  241. package/node_modules/@specforge/session-types/dist/stores/working-context-store.js.map +1 -0
  242. package/node_modules/@specforge/session-types/package.json +43 -0
  243. package/package.json +6 -5
@@ -0,0 +1,88 @@
1
+ import { z } from 'zod';
2
+ import { PLANNING_PHASES, GUIDANCE_VARIANTS, FINDING_CATEGORIES } from './enums.js';
3
+ export const PlanningSessionAggregateSchema = z.object({
4
+ planningSessionId: z.string(),
5
+ projectId: z.string(),
6
+ specificationId: z.string(),
7
+ phaseTimeline: z.array(z.object({
8
+ phase: z.enum(PLANNING_PHASES),
9
+ enteredAt: z.string().datetime(),
10
+ exitedAt: z.string().datetime().optional(),
11
+ durationMs: z.number().int().nonnegative().optional(),
12
+ // MB.4.6 (R3) — the global readiness score as of this phase's EXIT. Populated
13
+ // by the projector on close from the running `scoreHistoryGlobal` (the last real
14
+ // score point at or before `exitedAt`). Optional: the OPEN/terminal entry has no
15
+ // exit (⇒ no score), and a phase that closes before any real score was recorded
16
+ // (e.g. an early `planning_spec` exit) has none either. WITHOUT declaring it here
17
+ // the Zod `z.object()` STRIPS it on any parse/round-trip, so the Planning Timeline
18
+ // widget's "· score" clause would stay blank. Amplify `phaseTimeline` is `a.json()`
19
+ // (no model change needed).
20
+ scoreAtExit: z.number().optional(),
21
+ })),
22
+ currentScores: z.object({
23
+ global: z.number().optional(),
24
+ perEntity: z.record(z.string(), z.object({
25
+ type: z.enum(['spec', 'epic', 'ticket']),
26
+ score: z.number(),
27
+ })),
28
+ }),
29
+ entityCounts: z.object({
30
+ epic: z.number().int().nonnegative(),
31
+ ticket: z.number().int().nonnegative(),
32
+ blueprint: z.number().int().nonnegative(),
33
+ dependency: z.number().int().nonnegative(),
34
+ }),
35
+ entityRevisions: z.record(z.string(), z.object({
36
+ type: z.enum(['epic', 'ticket', 'blueprint']),
37
+ title: z.string(),
38
+ count: z.number().int().nonnegative(),
39
+ lastRevisedAt: z.string().datetime(),
40
+ })),
41
+ opsMix: z.record(z.string(), z.number().int().nonnegative()),
42
+ // MB.3.3 (MON-C) — first-class monitoring counters. `actionsTotal` == the total
43
+ // number of folded action rows (≡ Σ opsMix by construction, incl.
44
+ // get_planning_status/start/handover); `deniedTotal` == the denied subset. The
45
+ // observatory source-of-truth mirror of `PlanningSession.actionsCount`. Defaulted
46
+ // to 0 so legacy aggregate rows (which lack these fields) still parse.
47
+ actionsTotal: z.number().int().nonnegative().default(0),
48
+ deniedTotal: z.number().int().nonnegative().default(0),
49
+ scoreHistoryGlobal: z.array(z.object({
50
+ at: z.string().datetime(),
51
+ score: z.number(),
52
+ triggerActionId: z.string(),
53
+ })),
54
+ // ── §2.4c telemetry breakdowns (M10.0a) ────────────────────────────────────
55
+ // All defaulted to empty objects so legacy aggregate rows (which lack these
56
+ // fields) still parse. Folded by the planning-aggregate-projector (M10.0c).
57
+ // DeniedActionsByReason (#17): count of denied actions per denyReason.
58
+ deniedByReason: z.record(z.string(), z.number().int().nonnegative()).default({}),
59
+ // ActorMixPerPhase (#18): per-phase agent vs human action counts.
60
+ actorMixPerPhase: z.record(z.enum(PLANNING_PHASES), z.object({
61
+ agent: z.number().int().nonnegative(),
62
+ human: z.number().int().nonnegative(),
63
+ })).default({}),
64
+ // PhaseTransitionTriggerBreakdown (#19): count of transitions per trigger.
65
+ triggerBreakdown: z.record(z.string(), z.number().int().nonnegative()).default({}),
66
+ // GuidanceVariantHistogram (#20): count of actions per produced guidance variant.
67
+ guidanceVariantCounts: z.record(z.enum(GUIDANCE_VARIANTS), z.number().int().nonnegative()).default({}),
68
+ // FindingsByCategory (#21): count of findings per FINDING_CATEGORY across actions.
69
+ findingsByCategory: z.record(z.enum(FINDING_CATEGORIES), z.number().int().nonnegative()).default({}),
70
+ // ScoreDeltaPerOperation (#24): accumulated {sum,count} of consecutive
71
+ // scoreAfter deltas keyed by operation (mean = sum/count).
72
+ scoreDeltaByOperation: z.record(z.string(), z.object({
73
+ sum: z.number(),
74
+ count: z.number().int().nonnegative(),
75
+ })).default({}),
76
+ lastProcessedActionId: z.string().optional(),
77
+ lastProcessedTransitionId: z.string().optional(),
78
+ // MB.3.2 (MON-A) — windowed dedup state. Beyond the monotonic floor
79
+ // (`lastProcessed*Id`), the projector keeps a bounded, time-windowed set of
80
+ // recently-processed ids so a late, out-of-order stream record (id below the
81
+ // floor but within the skew window) is re-folded EXACTLY ONCE instead of being
82
+ // silently dropped. Persisted as a compact CSV of ULIDs (bounded by
83
+ // DEDUP_WINDOW_MAX_IDS → item-size-safe). Optional/absent on legacy rows.
84
+ recentActionWindow: z.string().optional(),
85
+ recentTransitionWindow: z.string().optional(),
86
+ lastUpdatedAt: z.string().datetime(),
87
+ });
88
+ //# sourceMappingURL=planning-session-aggregate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-session-aggregate.js","sourceRoot":"","sources":["../../src/runtime/planning-session-aggregate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,574 @@
1
+ import { z } from 'zod';
2
+ export declare const PendingHumanFeedbackSchema: z.ZodObject<{
3
+ content: z.ZodString;
4
+ recordedAt: z.ZodString;
5
+ recordedByUserId: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ content: string;
8
+ recordedAt: string;
9
+ recordedByUserId: string;
10
+ }, {
11
+ content: string;
12
+ recordedAt: string;
13
+ recordedByUserId: string;
14
+ }>;
15
+ export type PendingHumanFeedback = z.infer<typeof PendingHumanFeedbackSchema>;
16
+ export declare const PlanningSessionSchema: z.ZodObject<{
17
+ id: z.ZodString;
18
+ specificationId: z.ZodString;
19
+ projectId: z.ZodString;
20
+ status: z.ZodEnum<["active", "awaiting_human_review", "closed"]>;
21
+ currentPhase: z.ZodEnum<["planning_spec", "epic_decomposition", "epic_expansion", "ticket_decomposition", "ticket_expansion", "cross_validation", "planned"]>;
22
+ startedAt: z.ZodString;
23
+ lastActionAt: z.ZodString;
24
+ completedAt: z.ZodOptional<z.ZodString>;
25
+ closedAt: z.ZodOptional<z.ZodString>;
26
+ lastScore: z.ZodOptional<z.ZodNumber>;
27
+ lastGlobalScore: z.ZodOptional<z.ZodNumber>;
28
+ actionsCount: z.ZodDefault<z.ZodNumber>;
29
+ lastProcessGuidance: z.ZodOptional<z.ZodObject<{
30
+ variant: z.ZodEnum<["denied", "gate_failed", "gate_passed", "human_handover", "human_feedback", "phase_advance", "phase_rollback", "phase_complete", "phase_status_report", "awaiting_human_review_handover", "human_feedback_received", "human_rejected_no_feedback", "phase_advanced_after_approve", "session_closed"]>;
31
+ headline: z.ZodString;
32
+ status: z.ZodObject<{
33
+ sessionStatus: z.ZodEnum<["active", "awaiting_human_review", "closed"]>;
34
+ currentPhase: z.ZodEnum<["planning_spec", "epic_decomposition", "epic_expansion", "ticket_decomposition", "ticket_expansion", "cross_validation", "planned"]>;
35
+ score: z.ZodOptional<z.ZodObject<{
36
+ current: z.ZodNumber;
37
+ threshold: z.ZodNumber;
38
+ gateResult: z.ZodEnum<["pass", "fail"]>;
39
+ globalContribution: z.ZodOptional<z.ZodNumber>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ current: number;
42
+ threshold: number;
43
+ gateResult: "pass" | "fail";
44
+ globalContribution?: number | undefined;
45
+ }, {
46
+ current: number;
47
+ threshold: number;
48
+ gateResult: "pass" | "fail";
49
+ globalContribution?: number | undefined;
50
+ }>>;
51
+ actionsCount: z.ZodNumber;
52
+ }, "strip", z.ZodTypeAny, {
53
+ sessionStatus: "active" | "awaiting_human_review" | "closed";
54
+ currentPhase: "planning_spec" | "epic_decomposition" | "epic_expansion" | "ticket_decomposition" | "ticket_expansion" | "cross_validation" | "planned";
55
+ actionsCount: number;
56
+ score?: {
57
+ current: number;
58
+ threshold: number;
59
+ gateResult: "pass" | "fail";
60
+ globalContribution?: number | undefined;
61
+ } | undefined;
62
+ }, {
63
+ sessionStatus: "active" | "awaiting_human_review" | "closed";
64
+ currentPhase: "planning_spec" | "epic_decomposition" | "epic_expansion" | "ticket_decomposition" | "ticket_expansion" | "cross_validation" | "planned";
65
+ actionsCount: number;
66
+ score?: {
67
+ current: number;
68
+ threshold: number;
69
+ gateResult: "pass" | "fail";
70
+ globalContribution?: number | undefined;
71
+ } | undefined;
72
+ }>;
73
+ findings: z.ZodOptional<z.ZodObject<{
74
+ summary: z.ZodString;
75
+ truncated: z.ZodDefault<z.ZodBoolean>;
76
+ grouped: z.ZodArray<z.ZodObject<{
77
+ category: z.ZodEnum<["rubric", "count", "cross-cut", "cascade", "cross-validation", "schema"]>;
78
+ items: z.ZodArray<z.ZodObject<{
79
+ entityId: z.ZodOptional<z.ZodString>;
80
+ entityType: z.ZodOptional<z.ZodString>;
81
+ path: z.ZodOptional<z.ZodString>;
82
+ message: z.ZodString;
83
+ severity: z.ZodEnum<["finding", "denial"]>;
84
+ pointsLost: z.ZodOptional<z.ZodNumber>;
85
+ globalImpactOnFix: z.ZodOptional<z.ZodNumber>;
86
+ }, "strip", z.ZodTypeAny, {
87
+ message: string;
88
+ severity: "finding" | "denial";
89
+ path?: string | undefined;
90
+ entityId?: string | undefined;
91
+ entityType?: string | undefined;
92
+ pointsLost?: number | undefined;
93
+ globalImpactOnFix?: number | undefined;
94
+ }, {
95
+ message: string;
96
+ severity: "finding" | "denial";
97
+ path?: string | undefined;
98
+ entityId?: string | undefined;
99
+ entityType?: string | undefined;
100
+ pointsLost?: number | undefined;
101
+ globalImpactOnFix?: number | undefined;
102
+ }>, "many">;
103
+ }, "strip", z.ZodTypeAny, {
104
+ category: "rubric" | "count" | "cross-cut" | "cascade" | "cross-validation" | "schema";
105
+ items: {
106
+ message: string;
107
+ severity: "finding" | "denial";
108
+ path?: string | undefined;
109
+ entityId?: string | undefined;
110
+ entityType?: string | undefined;
111
+ pointsLost?: number | undefined;
112
+ globalImpactOnFix?: number | undefined;
113
+ }[];
114
+ }, {
115
+ category: "rubric" | "count" | "cross-cut" | "cascade" | "cross-validation" | "schema";
116
+ items: {
117
+ message: string;
118
+ severity: "finding" | "denial";
119
+ path?: string | undefined;
120
+ entityId?: string | undefined;
121
+ entityType?: string | undefined;
122
+ pointsLost?: number | undefined;
123
+ globalImpactOnFix?: number | undefined;
124
+ }[];
125
+ }>, "many">;
126
+ }, "strip", z.ZodTypeAny, {
127
+ summary: string;
128
+ truncated: boolean;
129
+ grouped: {
130
+ category: "rubric" | "count" | "cross-cut" | "cascade" | "cross-validation" | "schema";
131
+ items: {
132
+ message: string;
133
+ severity: "finding" | "denial";
134
+ path?: string | undefined;
135
+ entityId?: string | undefined;
136
+ entityType?: string | undefined;
137
+ pointsLost?: number | undefined;
138
+ globalImpactOnFix?: number | undefined;
139
+ }[];
140
+ }[];
141
+ }, {
142
+ summary: string;
143
+ grouped: {
144
+ category: "rubric" | "count" | "cross-cut" | "cascade" | "cross-validation" | "schema";
145
+ items: {
146
+ message: string;
147
+ severity: "finding" | "denial";
148
+ path?: string | undefined;
149
+ entityId?: string | undefined;
150
+ entityType?: string | undefined;
151
+ pointsLost?: number | undefined;
152
+ globalImpactOnFix?: number | undefined;
153
+ }[];
154
+ }[];
155
+ truncated?: boolean | undefined;
156
+ }>>;
157
+ recommendedMoves: z.ZodOptional<z.ZodArray<z.ZodObject<{
158
+ operation: z.ZodString;
159
+ rationale: z.ZodString;
160
+ examplePayload: z.ZodOptional<z.ZodUnknown>;
161
+ }, "strip", z.ZodTypeAny, {
162
+ operation: string;
163
+ rationale: string;
164
+ examplePayload?: unknown;
165
+ }, {
166
+ operation: string;
167
+ rationale: string;
168
+ examplePayload?: unknown;
169
+ }>, "many">>;
170
+ body: z.ZodString;
171
+ composedAt: z.ZodString;
172
+ }, "strip", z.ZodTypeAny, {
173
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
174
+ status: {
175
+ sessionStatus: "active" | "awaiting_human_review" | "closed";
176
+ currentPhase: "planning_spec" | "epic_decomposition" | "epic_expansion" | "ticket_decomposition" | "ticket_expansion" | "cross_validation" | "planned";
177
+ actionsCount: number;
178
+ score?: {
179
+ current: number;
180
+ threshold: number;
181
+ gateResult: "pass" | "fail";
182
+ globalContribution?: number | undefined;
183
+ } | undefined;
184
+ };
185
+ headline: string;
186
+ body: string;
187
+ composedAt: string;
188
+ findings?: {
189
+ summary: string;
190
+ truncated: boolean;
191
+ grouped: {
192
+ category: "rubric" | "count" | "cross-cut" | "cascade" | "cross-validation" | "schema";
193
+ items: {
194
+ message: string;
195
+ severity: "finding" | "denial";
196
+ path?: string | undefined;
197
+ entityId?: string | undefined;
198
+ entityType?: string | undefined;
199
+ pointsLost?: number | undefined;
200
+ globalImpactOnFix?: number | undefined;
201
+ }[];
202
+ }[];
203
+ } | undefined;
204
+ recommendedMoves?: {
205
+ operation: string;
206
+ rationale: string;
207
+ examplePayload?: unknown;
208
+ }[] | undefined;
209
+ }, {
210
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
211
+ status: {
212
+ sessionStatus: "active" | "awaiting_human_review" | "closed";
213
+ currentPhase: "planning_spec" | "epic_decomposition" | "epic_expansion" | "ticket_decomposition" | "ticket_expansion" | "cross_validation" | "planned";
214
+ actionsCount: number;
215
+ score?: {
216
+ current: number;
217
+ threshold: number;
218
+ gateResult: "pass" | "fail";
219
+ globalContribution?: number | undefined;
220
+ } | undefined;
221
+ };
222
+ headline: string;
223
+ body: string;
224
+ composedAt: string;
225
+ findings?: {
226
+ summary: string;
227
+ grouped: {
228
+ category: "rubric" | "count" | "cross-cut" | "cascade" | "cross-validation" | "schema";
229
+ items: {
230
+ message: string;
231
+ severity: "finding" | "denial";
232
+ path?: string | undefined;
233
+ entityId?: string | undefined;
234
+ entityType?: string | undefined;
235
+ pointsLost?: number | undefined;
236
+ globalImpactOnFix?: number | undefined;
237
+ }[];
238
+ }[];
239
+ truncated?: boolean | undefined;
240
+ } | undefined;
241
+ recommendedMoves?: {
242
+ operation: string;
243
+ rationale: string;
244
+ examplePayload?: unknown;
245
+ }[] | undefined;
246
+ }>>;
247
+ lastLifecyclePlanningGuidance: z.ZodOptional<z.ZodObject<{
248
+ variant: z.ZodEnum<["denied", "gate_failed", "gate_passed", "human_handover", "human_feedback", "phase_advance", "phase_rollback", "phase_complete", "phase_status_report", "awaiting_human_review_handover", "human_feedback_received", "human_rejected_no_feedback", "phase_advanced_after_approve", "session_closed"]>;
249
+ fieldsToFill: z.ZodOptional<z.ZodArray<z.ZodObject<{
250
+ fieldId: z.ZodString;
251
+ name: z.ZodString;
252
+ description: z.ZodString;
253
+ required: z.ZodBoolean;
254
+ currentState: z.ZodEnum<["empty", "partial", "filled", "na"]>;
255
+ minCount: z.ZodOptional<z.ZodNumber>;
256
+ examples: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
257
+ shape: z.ZodOptional<z.ZodString>;
258
+ interview_hooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
259
+ naEligible: z.ZodOptional<z.ZodBoolean>;
260
+ na_when: z.ZodOptional<z.ZodString>;
261
+ tier: z.ZodOptional<z.ZodEnum<["critical", "recommended", "standard"]>>;
262
+ }, "strip", z.ZodTypeAny, {
263
+ fieldId: string;
264
+ name: string;
265
+ description: string;
266
+ required: boolean;
267
+ currentState: "empty" | "partial" | "filled" | "na";
268
+ minCount?: number | undefined;
269
+ examples?: string[] | undefined;
270
+ shape?: string | undefined;
271
+ interview_hooks?: string[] | undefined;
272
+ naEligible?: boolean | undefined;
273
+ na_when?: string | undefined;
274
+ tier?: "critical" | "recommended" | "standard" | undefined;
275
+ }, {
276
+ fieldId: string;
277
+ name: string;
278
+ description: string;
279
+ required: boolean;
280
+ currentState: "empty" | "partial" | "filled" | "na";
281
+ minCount?: number | undefined;
282
+ examples?: string[] | undefined;
283
+ shape?: string | undefined;
284
+ interview_hooks?: string[] | undefined;
285
+ naEligible?: boolean | undefined;
286
+ na_when?: string | undefined;
287
+ tier?: "critical" | "recommended" | "standard" | undefined;
288
+ }>, "many">>;
289
+ humanHandoff: z.ZodOptional<z.ZodObject<{
290
+ message: z.ZodString;
291
+ observatoryLink: z.ZodOptional<z.ZodString>;
292
+ iterationNeeded: z.ZodOptional<z.ZodObject<{
293
+ focus: z.ZodString;
294
+ suggestion: z.ZodString;
295
+ }, "strip", z.ZodTypeAny, {
296
+ focus: string;
297
+ suggestion: string;
298
+ }, {
299
+ focus: string;
300
+ suggestion: string;
301
+ }>>;
302
+ }, "strip", z.ZodTypeAny, {
303
+ message: string;
304
+ observatoryLink?: string | undefined;
305
+ iterationNeeded?: {
306
+ focus: string;
307
+ suggestion: string;
308
+ } | undefined;
309
+ }, {
310
+ message: string;
311
+ observatoryLink?: string | undefined;
312
+ iterationNeeded?: {
313
+ focus: string;
314
+ suggestion: string;
315
+ } | undefined;
316
+ }>>;
317
+ postApprovalActions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
318
+ composedAt: z.ZodString;
319
+ }, "strip", z.ZodTypeAny, {
320
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
321
+ composedAt: string;
322
+ fieldsToFill?: {
323
+ fieldId: string;
324
+ name: string;
325
+ description: string;
326
+ required: boolean;
327
+ currentState: "empty" | "partial" | "filled" | "na";
328
+ minCount?: number | undefined;
329
+ examples?: string[] | undefined;
330
+ shape?: string | undefined;
331
+ interview_hooks?: string[] | undefined;
332
+ naEligible?: boolean | undefined;
333
+ na_when?: string | undefined;
334
+ tier?: "critical" | "recommended" | "standard" | undefined;
335
+ }[] | undefined;
336
+ humanHandoff?: {
337
+ message: string;
338
+ observatoryLink?: string | undefined;
339
+ iterationNeeded?: {
340
+ focus: string;
341
+ suggestion: string;
342
+ } | undefined;
343
+ } | undefined;
344
+ postApprovalActions?: string[] | undefined;
345
+ }, {
346
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
347
+ composedAt: string;
348
+ fieldsToFill?: {
349
+ fieldId: string;
350
+ name: string;
351
+ description: string;
352
+ required: boolean;
353
+ currentState: "empty" | "partial" | "filled" | "na";
354
+ minCount?: number | undefined;
355
+ examples?: string[] | undefined;
356
+ shape?: string | undefined;
357
+ interview_hooks?: string[] | undefined;
358
+ naEligible?: boolean | undefined;
359
+ na_when?: string | undefined;
360
+ tier?: "critical" | "recommended" | "standard" | undefined;
361
+ }[] | undefined;
362
+ humanHandoff?: {
363
+ message: string;
364
+ observatoryLink?: string | undefined;
365
+ iterationNeeded?: {
366
+ focus: string;
367
+ suggestion: string;
368
+ } | undefined;
369
+ } | undefined;
370
+ postApprovalActions?: string[] | undefined;
371
+ }>>;
372
+ pendingHumanFeedback: z.ZodOptional<z.ZodNullable<z.ZodObject<{
373
+ content: z.ZodString;
374
+ recordedAt: z.ZodString;
375
+ recordedByUserId: z.ZodString;
376
+ }, "strip", z.ZodTypeAny, {
377
+ content: string;
378
+ recordedAt: string;
379
+ recordedByUserId: string;
380
+ }, {
381
+ content: string;
382
+ recordedAt: string;
383
+ recordedByUserId: string;
384
+ }>>>;
385
+ lastTransitionTrigger: z.ZodEnum<["auto_initial", "ai_agent", "human_approve", "human_reject_with_feedback", "human_reject_no_feedback"]>;
386
+ lastTransitionAt: z.ZodString;
387
+ lastReadAt: z.ZodString;
388
+ lastValidatorOutput: z.ZodOptional<z.ZodUnknown>;
389
+ lastGateResult: z.ZodOptional<z.ZodEnum<["pass", "fail"]>>;
390
+ lastValidatedAt: z.ZodOptional<z.ZodString>;
391
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
392
+ }, "strip", z.ZodTypeAny, {
393
+ status: "active" | "awaiting_human_review" | "closed";
394
+ currentPhase: "planning_spec" | "epic_decomposition" | "epic_expansion" | "ticket_decomposition" | "ticket_expansion" | "cross_validation" | "planned";
395
+ actionsCount: number;
396
+ id: string;
397
+ specificationId: string;
398
+ projectId: string;
399
+ startedAt: string;
400
+ lastActionAt: string;
401
+ lastTransitionTrigger: "auto_initial" | "ai_agent" | "human_approve" | "human_reject_with_feedback" | "human_reject_no_feedback";
402
+ lastTransitionAt: string;
403
+ lastReadAt: string;
404
+ completedAt?: string | undefined;
405
+ closedAt?: string | undefined;
406
+ lastScore?: number | undefined;
407
+ lastGlobalScore?: number | undefined;
408
+ lastProcessGuidance?: {
409
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
410
+ status: {
411
+ sessionStatus: "active" | "awaiting_human_review" | "closed";
412
+ currentPhase: "planning_spec" | "epic_decomposition" | "epic_expansion" | "ticket_decomposition" | "ticket_expansion" | "cross_validation" | "planned";
413
+ actionsCount: number;
414
+ score?: {
415
+ current: number;
416
+ threshold: number;
417
+ gateResult: "pass" | "fail";
418
+ globalContribution?: number | undefined;
419
+ } | undefined;
420
+ };
421
+ headline: string;
422
+ body: string;
423
+ composedAt: string;
424
+ findings?: {
425
+ summary: string;
426
+ truncated: boolean;
427
+ grouped: {
428
+ category: "rubric" | "count" | "cross-cut" | "cascade" | "cross-validation" | "schema";
429
+ items: {
430
+ message: string;
431
+ severity: "finding" | "denial";
432
+ path?: string | undefined;
433
+ entityId?: string | undefined;
434
+ entityType?: string | undefined;
435
+ pointsLost?: number | undefined;
436
+ globalImpactOnFix?: number | undefined;
437
+ }[];
438
+ }[];
439
+ } | undefined;
440
+ recommendedMoves?: {
441
+ operation: string;
442
+ rationale: string;
443
+ examplePayload?: unknown;
444
+ }[] | undefined;
445
+ } | undefined;
446
+ lastLifecyclePlanningGuidance?: {
447
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
448
+ composedAt: string;
449
+ fieldsToFill?: {
450
+ fieldId: string;
451
+ name: string;
452
+ description: string;
453
+ required: boolean;
454
+ currentState: "empty" | "partial" | "filled" | "na";
455
+ minCount?: number | undefined;
456
+ examples?: string[] | undefined;
457
+ shape?: string | undefined;
458
+ interview_hooks?: string[] | undefined;
459
+ naEligible?: boolean | undefined;
460
+ na_when?: string | undefined;
461
+ tier?: "critical" | "recommended" | "standard" | undefined;
462
+ }[] | undefined;
463
+ humanHandoff?: {
464
+ message: string;
465
+ observatoryLink?: string | undefined;
466
+ iterationNeeded?: {
467
+ focus: string;
468
+ suggestion: string;
469
+ } | undefined;
470
+ } | undefined;
471
+ postApprovalActions?: string[] | undefined;
472
+ } | undefined;
473
+ pendingHumanFeedback?: {
474
+ content: string;
475
+ recordedAt: string;
476
+ recordedByUserId: string;
477
+ } | null | undefined;
478
+ lastValidatorOutput?: unknown;
479
+ lastGateResult?: "pass" | "fail" | undefined;
480
+ lastValidatedAt?: string | undefined;
481
+ metadata?: Record<string, unknown> | undefined;
482
+ }, {
483
+ status: "active" | "awaiting_human_review" | "closed";
484
+ currentPhase: "planning_spec" | "epic_decomposition" | "epic_expansion" | "ticket_decomposition" | "ticket_expansion" | "cross_validation" | "planned";
485
+ id: string;
486
+ specificationId: string;
487
+ projectId: string;
488
+ startedAt: string;
489
+ lastActionAt: string;
490
+ lastTransitionTrigger: "auto_initial" | "ai_agent" | "human_approve" | "human_reject_with_feedback" | "human_reject_no_feedback";
491
+ lastTransitionAt: string;
492
+ lastReadAt: string;
493
+ actionsCount?: number | undefined;
494
+ completedAt?: string | undefined;
495
+ closedAt?: string | undefined;
496
+ lastScore?: number | undefined;
497
+ lastGlobalScore?: number | undefined;
498
+ lastProcessGuidance?: {
499
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
500
+ status: {
501
+ sessionStatus: "active" | "awaiting_human_review" | "closed";
502
+ currentPhase: "planning_spec" | "epic_decomposition" | "epic_expansion" | "ticket_decomposition" | "ticket_expansion" | "cross_validation" | "planned";
503
+ actionsCount: number;
504
+ score?: {
505
+ current: number;
506
+ threshold: number;
507
+ gateResult: "pass" | "fail";
508
+ globalContribution?: number | undefined;
509
+ } | undefined;
510
+ };
511
+ headline: string;
512
+ body: string;
513
+ composedAt: string;
514
+ findings?: {
515
+ summary: string;
516
+ grouped: {
517
+ category: "rubric" | "count" | "cross-cut" | "cascade" | "cross-validation" | "schema";
518
+ items: {
519
+ message: string;
520
+ severity: "finding" | "denial";
521
+ path?: string | undefined;
522
+ entityId?: string | undefined;
523
+ entityType?: string | undefined;
524
+ pointsLost?: number | undefined;
525
+ globalImpactOnFix?: number | undefined;
526
+ }[];
527
+ }[];
528
+ truncated?: boolean | undefined;
529
+ } | undefined;
530
+ recommendedMoves?: {
531
+ operation: string;
532
+ rationale: string;
533
+ examplePayload?: unknown;
534
+ }[] | undefined;
535
+ } | undefined;
536
+ lastLifecyclePlanningGuidance?: {
537
+ variant: "denied" | "gate_failed" | "gate_passed" | "human_handover" | "human_feedback" | "phase_advance" | "phase_rollback" | "phase_complete" | "phase_status_report" | "awaiting_human_review_handover" | "human_feedback_received" | "human_rejected_no_feedback" | "phase_advanced_after_approve" | "session_closed";
538
+ composedAt: string;
539
+ fieldsToFill?: {
540
+ fieldId: string;
541
+ name: string;
542
+ description: string;
543
+ required: boolean;
544
+ currentState: "empty" | "partial" | "filled" | "na";
545
+ minCount?: number | undefined;
546
+ examples?: string[] | undefined;
547
+ shape?: string | undefined;
548
+ interview_hooks?: string[] | undefined;
549
+ naEligible?: boolean | undefined;
550
+ na_when?: string | undefined;
551
+ tier?: "critical" | "recommended" | "standard" | undefined;
552
+ }[] | undefined;
553
+ humanHandoff?: {
554
+ message: string;
555
+ observatoryLink?: string | undefined;
556
+ iterationNeeded?: {
557
+ focus: string;
558
+ suggestion: string;
559
+ } | undefined;
560
+ } | undefined;
561
+ postApprovalActions?: string[] | undefined;
562
+ } | undefined;
563
+ pendingHumanFeedback?: {
564
+ content: string;
565
+ recordedAt: string;
566
+ recordedByUserId: string;
567
+ } | null | undefined;
568
+ lastValidatorOutput?: unknown;
569
+ lastGateResult?: "pass" | "fail" | undefined;
570
+ lastValidatedAt?: string | undefined;
571
+ metadata?: Record<string, unknown> | undefined;
572
+ }>;
573
+ export type PlanningSession = z.infer<typeof PlanningSessionSchema>;
574
+ //# sourceMappingURL=planning-session.d.ts.map