@guyghost/swarm-dao-core 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/dist/adapters/attention/fs-attention.store.d.ts +17 -0
  2. package/dist/adapters/attention/fs-attention.store.d.ts.map +1 -0
  3. package/dist/adapters/attention/fs-attention.store.js +59 -0
  4. package/dist/adapters/attention/fs-attention.store.js.map +1 -0
  5. package/dist/adapters/git-workspace.d.ts +26 -0
  6. package/dist/adapters/git-workspace.d.ts.map +1 -0
  7. package/dist/adapters/git-workspace.js +84 -0
  8. package/dist/adapters/git-workspace.js.map +1 -0
  9. package/dist/adapters/index.d.ts +6 -0
  10. package/dist/adapters/index.d.ts.map +1 -0
  11. package/dist/adapters/index.js +6 -0
  12. package/dist/adapters/index.js.map +1 -0
  13. package/dist/adapters/persistence/file-dao-state.repository.d.ts +15 -0
  14. package/dist/adapters/persistence/file-dao-state.repository.d.ts.map +1 -0
  15. package/dist/adapters/persistence/file-dao-state.repository.js +85 -0
  16. package/dist/adapters/persistence/file-dao-state.repository.js.map +1 -0
  17. package/dist/adapters/persistence/in-memory-dao-state.repository.d.ts +10 -0
  18. package/dist/adapters/persistence/in-memory-dao-state.repository.d.ts.map +1 -0
  19. package/dist/adapters/persistence/in-memory-dao-state.repository.js +14 -0
  20. package/dist/adapters/persistence/in-memory-dao-state.repository.js.map +1 -0
  21. package/dist/adapters/persistence/legacy-dao-state.repository.d.ts +11 -0
  22. package/dist/adapters/persistence/legacy-dao-state.repository.d.ts.map +1 -0
  23. package/dist/adapters/persistence/legacy-dao-state.repository.js +14 -0
  24. package/dist/adapters/persistence/legacy-dao-state.repository.js.map +1 -0
  25. package/dist/application/index.d.ts +16 -0
  26. package/dist/application/index.d.ts.map +1 -0
  27. package/dist/application/index.js +16 -0
  28. package/dist/application/index.js.map +1 -0
  29. package/dist/application/initialize-dao.use-case.d.ts +20 -0
  30. package/dist/application/initialize-dao.use-case.d.ts.map +1 -0
  31. package/dist/application/initialize-dao.use-case.js +17 -0
  32. package/dist/application/initialize-dao.use-case.js.map +1 -0
  33. package/dist/application/proposals/control-proposal.use-case.d.ts +23 -0
  34. package/dist/application/proposals/control-proposal.use-case.d.ts.map +1 -0
  35. package/dist/application/proposals/control-proposal.use-case.js +53 -0
  36. package/dist/application/proposals/control-proposal.use-case.js.map +1 -0
  37. package/dist/application/proposals/create-amendment-proposal.use-case.d.ts +25 -0
  38. package/dist/application/proposals/create-amendment-proposal.use-case.d.ts.map +1 -0
  39. package/dist/application/proposals/create-amendment-proposal.use-case.js +39 -0
  40. package/dist/application/proposals/create-amendment-proposal.use-case.js.map +1 -0
  41. package/dist/application/proposals/create-proposal.use-case.d.ts +34 -0
  42. package/dist/application/proposals/create-proposal.use-case.d.ts.map +1 -0
  43. package/dist/application/proposals/create-proposal.use-case.js +49 -0
  44. package/dist/application/proposals/create-proposal.use-case.js.map +1 -0
  45. package/dist/application/proposals/deliberate-proposal.use-case.d.ts +35 -0
  46. package/dist/application/proposals/deliberate-proposal.use-case.d.ts.map +1 -0
  47. package/dist/application/proposals/deliberate-proposal.use-case.js +67 -0
  48. package/dist/application/proposals/deliberate-proposal.use-case.js.map +1 -0
  49. package/dist/application/proposals/dry-run-proposal.use-case.d.ts +21 -0
  50. package/dist/application/proposals/dry-run-proposal.use-case.d.ts.map +1 -0
  51. package/dist/application/proposals/dry-run-proposal.use-case.js +20 -0
  52. package/dist/application/proposals/dry-run-proposal.use-case.js.map +1 -0
  53. package/dist/application/proposals/execute-proposal.use-case.d.ts +29 -0
  54. package/dist/application/proposals/execute-proposal.use-case.d.ts.map +1 -0
  55. package/dist/application/proposals/execute-proposal.use-case.js +66 -0
  56. package/dist/application/proposals/execute-proposal.use-case.js.map +1 -0
  57. package/dist/application/proposals/rate-proposal.use-case.d.ts +24 -0
  58. package/dist/application/proposals/rate-proposal.use-case.d.ts.map +1 -0
  59. package/dist/application/proposals/rate-proposal.use-case.js +33 -0
  60. package/dist/application/proposals/rate-proposal.use-case.js.map +1 -0
  61. package/dist/application/proposals/record-deliberation-outputs.use-case.d.ts +21 -0
  62. package/dist/application/proposals/record-deliberation-outputs.use-case.d.ts.map +1 -0
  63. package/dist/application/proposals/record-deliberation-outputs.use-case.js +65 -0
  64. package/dist/application/proposals/record-deliberation-outputs.use-case.js.map +1 -0
  65. package/dist/application/proposals/rollback-proposal.use-case.d.ts +20 -0
  66. package/dist/application/proposals/rollback-proposal.use-case.d.ts.map +1 -0
  67. package/dist/application/proposals/rollback-proposal.use-case.js +17 -0
  68. package/dist/application/proposals/rollback-proposal.use-case.js.map +1 -0
  69. package/dist/application/proposals/round-table.use-case.d.ts +27 -0
  70. package/dist/application/proposals/round-table.use-case.d.ts.map +1 -0
  71. package/dist/application/proposals/round-table.use-case.js +55 -0
  72. package/dist/application/proposals/round-table.use-case.js.map +1 -0
  73. package/dist/application/proposals/ship-proposal.use-case.d.ts +26 -0
  74. package/dist/application/proposals/ship-proposal.use-case.d.ts.map +1 -0
  75. package/dist/application/proposals/ship-proposal.use-case.js +60 -0
  76. package/dist/application/proposals/ship-proposal.use-case.js.map +1 -0
  77. package/dist/application/proposals/start-deliberation.use-case.d.ts +21 -0
  78. package/dist/application/proposals/start-deliberation.use-case.d.ts.map +1 -0
  79. package/dist/application/proposals/start-deliberation.use-case.js +30 -0
  80. package/dist/application/proposals/start-deliberation.use-case.js.map +1 -0
  81. package/dist/application/proposals/transition-proposal.use-case.d.ts +20 -0
  82. package/dist/application/proposals/transition-proposal.use-case.d.ts.map +1 -0
  83. package/dist/application/proposals/transition-proposal.use-case.js +19 -0
  84. package/dist/application/proposals/transition-proposal.use-case.js.map +1 -0
  85. package/dist/application/proposals/update-proposal.use-case.d.ts +26 -0
  86. package/dist/application/proposals/update-proposal.use-case.d.ts.map +1 -0
  87. package/dist/application/proposals/update-proposal.use-case.js +19 -0
  88. package/dist/application/proposals/update-proposal.use-case.js.map +1 -0
  89. package/dist/commands/index.d.ts +2 -0
  90. package/dist/commands/index.d.ts.map +1 -0
  91. package/dist/commands/index.js +2 -0
  92. package/dist/commands/index.js.map +1 -0
  93. package/dist/commands/registry.d.ts +46 -0
  94. package/dist/commands/registry.d.ts.map +1 -0
  95. package/dist/commands/registry.js +367 -0
  96. package/dist/commands/registry.js.map +1 -0
  97. package/dist/config.d.ts +17 -0
  98. package/dist/config.d.ts.map +1 -1
  99. package/dist/config.js +9 -1
  100. package/dist/config.js.map +1 -1
  101. package/dist/control/gates.d.ts +4 -1
  102. package/dist/control/gates.d.ts.map +1 -1
  103. package/dist/control/gates.js +22 -10
  104. package/dist/control/gates.js.map +1 -1
  105. package/dist/delivery/dependencies.d.ts.map +1 -1
  106. package/dist/delivery/dependencies.js +15 -7
  107. package/dist/delivery/dependencies.js.map +1 -1
  108. package/dist/delivery/dry-run.d.ts.map +1 -1
  109. package/dist/delivery/dry-run.js +3 -44
  110. package/dist/delivery/dry-run.js.map +1 -1
  111. package/dist/delivery/execution-isolation.d.ts +34 -0
  112. package/dist/delivery/execution-isolation.d.ts.map +1 -0
  113. package/dist/delivery/execution-isolation.js +97 -0
  114. package/dist/delivery/execution-isolation.js.map +1 -0
  115. package/dist/delivery/execution.d.ts.map +1 -1
  116. package/dist/delivery/execution.js +7 -5
  117. package/dist/delivery/execution.js.map +1 -1
  118. package/dist/delivery/index.d.ts +1 -0
  119. package/dist/delivery/index.d.ts.map +1 -1
  120. package/dist/delivery/index.js +1 -0
  121. package/dist/delivery/index.js.map +1 -1
  122. package/dist/delivery/plans.d.ts +3 -1
  123. package/dist/delivery/plans.d.ts.map +1 -1
  124. package/dist/delivery/plans.js +2 -2
  125. package/dist/delivery/plans.js.map +1 -1
  126. package/dist/domain/dry-run.d.ts +3 -0
  127. package/dist/domain/dry-run.d.ts.map +1 -0
  128. package/dist/domain/dry-run.js +28 -0
  129. package/dist/domain/dry-run.js.map +1 -0
  130. package/dist/domain/index.d.ts +6 -0
  131. package/dist/domain/index.d.ts.map +1 -0
  132. package/dist/domain/index.js +7 -0
  133. package/dist/domain/index.js.map +1 -0
  134. package/dist/governance/agents.d.ts +2 -0
  135. package/dist/governance/agents.d.ts.map +1 -1
  136. package/dist/governance/agents.js +148 -173
  137. package/dist/governance/agents.js.map +1 -1
  138. package/dist/governance/charter.d.ts +14 -0
  139. package/dist/governance/charter.d.ts.map +1 -0
  140. package/dist/governance/charter.js +65 -0
  141. package/dist/governance/charter.js.map +1 -0
  142. package/dist/governance/delegation.machine.d.ts +316 -0
  143. package/dist/governance/delegation.machine.d.ts.map +1 -0
  144. package/dist/governance/delegation.machine.js +387 -0
  145. package/dist/governance/delegation.machine.js.map +1 -0
  146. package/dist/governance/delegation.utils.d.ts +55 -0
  147. package/dist/governance/delegation.utils.d.ts.map +1 -0
  148. package/dist/governance/delegation.utils.js +157 -0
  149. package/dist/governance/delegation.utils.js.map +1 -0
  150. package/dist/governance/edit-gate.d.ts +47 -0
  151. package/dist/governance/edit-gate.d.ts.map +1 -0
  152. package/dist/governance/edit-gate.js +156 -0
  153. package/dist/governance/edit-gate.js.map +1 -0
  154. package/dist/governance/index.d.ts +3 -0
  155. package/dist/governance/index.d.ts.map +1 -1
  156. package/dist/governance/index.js +3 -0
  157. package/dist/governance/index.js.map +1 -1
  158. package/dist/governance/lifecycle.d.ts +0 -6
  159. package/dist/governance/lifecycle.d.ts.map +1 -1
  160. package/dist/governance/lifecycle.js +7 -31
  161. package/dist/governance/lifecycle.js.map +1 -1
  162. package/dist/governance/proposal.machine.d.ts +2 -130
  163. package/dist/governance/proposal.machine.d.ts.map +1 -1
  164. package/dist/governance/proposal.machine.js +2 -377
  165. package/dist/governance/proposal.machine.js.map +1 -1
  166. package/dist/governance/proposal.utils.d.ts +22 -165
  167. package/dist/governance/proposal.utils.d.ts.map +1 -1
  168. package/dist/governance/proposal.utils.js +52 -119
  169. package/dist/governance/proposal.utils.js.map +1 -1
  170. package/dist/governance/scoring.d.ts.map +1 -1
  171. package/dist/governance/scoring.js +36 -16
  172. package/dist/governance/scoring.js.map +1 -1
  173. package/dist/governance/voting.d.ts.map +1 -1
  174. package/dist/governance/voting.js +24 -14
  175. package/dist/governance/voting.js.map +1 -1
  176. package/dist/host-tools/github-config.d.ts.map +1 -1
  177. package/dist/host-tools/github-config.js +17 -5
  178. package/dist/host-tools/github-config.js.map +1 -1
  179. package/dist/host-tools/handlers.d.ts +14 -11
  180. package/dist/host-tools/handlers.d.ts.map +1 -1
  181. package/dist/host-tools/handlers.js +204 -335
  182. package/dist/host-tools/handlers.js.map +1 -1
  183. package/dist/host-tools/messages.d.ts +10 -4
  184. package/dist/host-tools/messages.d.ts.map +1 -1
  185. package/dist/host-tools/messages.js +14 -17
  186. package/dist/host-tools/messages.js.map +1 -1
  187. package/dist/index.d.ts +6 -0
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js +12 -0
  190. package/dist/index.js.map +1 -1
  191. package/dist/integrations/github.d.ts.map +1 -1
  192. package/dist/integrations/github.js +5 -2
  193. package/dist/integrations/github.js.map +1 -1
  194. package/dist/integrations/http.d.ts +12 -1
  195. package/dist/integrations/http.d.ts.map +1 -1
  196. package/dist/integrations/http.js +114 -17
  197. package/dist/integrations/http.js.map +1 -1
  198. package/dist/intelligence/delegation.d.ts +41 -0
  199. package/dist/intelligence/delegation.d.ts.map +1 -0
  200. package/dist/intelligence/delegation.js +162 -0
  201. package/dist/intelligence/delegation.js.map +1 -0
  202. package/dist/intelligence/index.d.ts +2 -0
  203. package/dist/intelligence/index.d.ts.map +1 -1
  204. package/dist/intelligence/index.js +2 -0
  205. package/dist/intelligence/index.js.map +1 -1
  206. package/dist/intelligence/model.d.ts +28 -2
  207. package/dist/intelligence/model.d.ts.map +1 -1
  208. package/dist/intelligence/model.js +36 -3
  209. package/dist/intelligence/model.js.map +1 -1
  210. package/dist/intelligence/roundtable.d.ts +4 -2
  211. package/dist/intelligence/roundtable.d.ts.map +1 -1
  212. package/dist/intelligence/roundtable.js +2 -2
  213. package/dist/intelligence/roundtable.js.map +1 -1
  214. package/dist/intelligence/sequential.d.ts +36 -0
  215. package/dist/intelligence/sequential.d.ts.map +1 -0
  216. package/dist/intelligence/sequential.js +91 -0
  217. package/dist/intelligence/sequential.js.map +1 -0
  218. package/dist/intelligence/swarm.d.ts +19 -4
  219. package/dist/intelligence/swarm.d.ts.map +1 -1
  220. package/dist/intelligence/swarm.js +107 -53
  221. package/dist/intelligence/swarm.js.map +1 -1
  222. package/dist/intelligence/synthesis.d.ts.map +1 -1
  223. package/dist/intelligence/synthesis.js +16 -4
  224. package/dist/intelligence/synthesis.js.map +1 -1
  225. package/dist/models/graph-engineering.machine.d.ts +219 -0
  226. package/dist/models/graph-engineering.machine.d.ts.map +1 -0
  227. package/dist/models/graph-engineering.machine.js +214 -0
  228. package/dist/models/graph-engineering.machine.js.map +1 -0
  229. package/dist/models/improvement-loop.machine.d.ts +239 -0
  230. package/dist/models/improvement-loop.machine.d.ts.map +1 -0
  231. package/dist/models/improvement-loop.machine.js +254 -0
  232. package/dist/models/improvement-loop.machine.js.map +1 -0
  233. package/dist/models/index.d.ts +5 -0
  234. package/dist/models/index.d.ts.map +1 -0
  235. package/dist/models/index.js +5 -0
  236. package/dist/models/index.js.map +1 -0
  237. package/dist/models/product-loop.machine.d.ts +531 -0
  238. package/dist/models/product-loop.machine.d.ts.map +1 -0
  239. package/dist/models/product-loop.machine.js +699 -0
  240. package/dist/models/product-loop.machine.js.map +1 -0
  241. package/dist/models/proposal.machine.d.ts +82 -0
  242. package/dist/models/proposal.machine.d.ts.map +1 -0
  243. package/dist/models/proposal.machine.js +68 -0
  244. package/dist/models/proposal.machine.js.map +1 -0
  245. package/dist/observability/attention.d.ts +40 -0
  246. package/dist/observability/attention.d.ts.map +1 -0
  247. package/dist/observability/attention.js +119 -0
  248. package/dist/observability/attention.js.map +1 -0
  249. package/dist/observability/index.d.ts +1 -0
  250. package/dist/observability/index.d.ts.map +1 -1
  251. package/dist/observability/index.js +1 -0
  252. package/dist/observability/index.js.map +1 -1
  253. package/dist/observability/logging.d.ts +6 -0
  254. package/dist/observability/logging.d.ts.map +1 -1
  255. package/dist/observability/logging.js +36 -6
  256. package/dist/observability/logging.js.map +1 -1
  257. package/dist/observability/metrics.d.ts +7 -0
  258. package/dist/observability/metrics.d.ts.map +1 -1
  259. package/dist/observability/metrics.js +179 -43
  260. package/dist/observability/metrics.js.map +1 -1
  261. package/dist/persistence.d.ts +5 -6
  262. package/dist/persistence.d.ts.map +1 -1
  263. package/dist/persistence.js +197 -140
  264. package/dist/persistence.js.map +1 -1
  265. package/dist/ports/clock.d.ts +7 -0
  266. package/dist/ports/clock.d.ts.map +1 -0
  267. package/dist/ports/clock.js +5 -0
  268. package/dist/ports/clock.js.map +1 -0
  269. package/dist/ports/host.d.ts +8 -0
  270. package/dist/ports/host.d.ts.map +1 -0
  271. package/dist/ports/host.js +2 -0
  272. package/dist/ports/host.js.map +1 -0
  273. package/dist/ports/index.d.ts +5 -0
  274. package/dist/ports/index.d.ts.map +1 -0
  275. package/dist/ports/index.js +5 -0
  276. package/dist/ports/index.js.map +1 -0
  277. package/dist/ports/repository.d.ts +7 -0
  278. package/dist/ports/repository.d.ts.map +1 -0
  279. package/dist/ports/repository.js +2 -0
  280. package/dist/ports/repository.js.map +1 -0
  281. package/dist/ports/workspace.d.ts +14 -0
  282. package/dist/ports/workspace.d.ts.map +1 -0
  283. package/dist/ports/workspace.js +14 -0
  284. package/dist/ports/workspace.js.map +1 -0
  285. package/dist/presenters/index.d.ts +2 -0
  286. package/dist/presenters/index.d.ts.map +1 -0
  287. package/dist/presenters/index.js +2 -0
  288. package/dist/presenters/index.js.map +1 -0
  289. package/dist/presenters/proposal.presenter.d.ts +30 -0
  290. package/dist/presenters/proposal.presenter.d.ts.map +1 -0
  291. package/dist/presenters/proposal.presenter.js +47 -0
  292. package/dist/presenters/proposal.presenter.js.map +1 -0
  293. package/dist/types/index.d.ts +70 -0
  294. package/dist/types/index.d.ts.map +1 -1
  295. package/dist/types/index.js +12 -0
  296. package/dist/types/index.js.map +1 -1
  297. package/dist/utils/host.d.ts.map +1 -1
  298. package/dist/utils/host.js +77 -6
  299. package/dist/utils/host.js.map +1 -1
  300. package/dist/utils/security.d.ts +7 -1
  301. package/dist/utils/security.d.ts.map +1 -1
  302. package/dist/utils/security.js +18 -2
  303. package/dist/utils/security.js.map +1 -1
  304. package/package.json +13 -1
@@ -1,378 +1,3 @@
1
- import { assign, setup } from "xstate";
2
- // ============================================================
3
- // XState Machine Definition
4
- // ============================================================
5
- export const proposalMachine = setup({
6
- types: {
7
- context: {},
8
- input: {},
9
- events: {},
10
- },
11
- }).createMachine({
12
- id: "proposalLifecycle",
13
- initial: "draft",
14
- context: ({ input }) => ({
15
- proposal: input.proposal,
16
- stage: input.stage ?? "intake",
17
- status: input.status ?? "open",
18
- riskZone: input.riskZone,
19
- deliberationCount: input.deliberationCount ?? 0,
20
- retryCount: input.retryCount ?? 0,
21
- errorMessage: input.errorMessage,
22
- lastTransitionTime: input.lastTransitionTime ?? new Date().toISOString(),
23
- }),
24
- on: {
25
- DISCARD: {
26
- target: ".rejected",
27
- actions: assign({
28
- status: "rejected",
29
- lastTransitionTime: () => new Date().toISOString(),
30
- }),
31
- },
32
- ERROR: {
33
- target: ".executionError",
34
- actions: assign({
35
- status: "failed",
36
- errorMessage: ({ event }) => event.message,
37
- lastTransitionTime: () => new Date().toISOString(),
38
- }),
39
- },
40
- },
41
- states: {
42
- // ───────────────────────────────────────────────────────
43
- // INTAKE PHASE
44
- // ───────────────────────────────────────────────────────
45
- draft: {
46
- on: {
47
- SUBMIT: {
48
- target: "intake",
49
- actions: assign({
50
- status: "open",
51
- stage: "intake",
52
- lastTransitionTime: () => new Date().toISOString(),
53
- }),
54
- },
55
- },
56
- },
57
- intake: {
58
- on: {
59
- QUALIFY: {
60
- target: "qualification",
61
- actions: assign({
62
- status: "open",
63
- stage: "qualification",
64
- lastTransitionTime: () => new Date().toISOString(),
65
- }),
66
- },
67
- REJECT: {
68
- target: "rejected",
69
- actions: assign({
70
- status: "rejected",
71
- stage: "council",
72
- lastTransitionTime: () => new Date().toISOString(),
73
- }),
74
- },
75
- },
76
- },
77
- // ───────────────────────────────────────────────────────
78
- // QUALIFICATION PHASE
79
- // ───────────────────────────────────────────────────────
80
- qualification: {
81
- on: {
82
- ANALYZE: {
83
- target: "analysis",
84
- actions: assign({
85
- status: "open",
86
- stage: "analysis",
87
- lastTransitionTime: () => new Date().toISOString(),
88
- }),
89
- },
90
- REJECT: {
91
- target: "rejected",
92
- actions: assign({
93
- status: "rejected",
94
- stage: "council",
95
- lastTransitionTime: () => new Date().toISOString(),
96
- }),
97
- },
98
- },
99
- },
100
- // ───────────────────────────────────────────────────────
101
- // ANALYSIS PHASE
102
- // ───────────────────────────────────────────────────────
103
- analysis: {
104
- on: {
105
- CRITIQUE: {
106
- target: "critique",
107
- actions: assign({
108
- status: "deliberating",
109
- stage: "critique",
110
- deliberationCount: ({ context }) => context.deliberationCount + 1,
111
- lastTransitionTime: () => new Date().toISOString(),
112
- }),
113
- },
114
- REJECT: {
115
- target: "rejected",
116
- actions: assign({
117
- status: "rejected",
118
- stage: "council",
119
- lastTransitionTime: () => new Date().toISOString(),
120
- }),
121
- },
122
- },
123
- },
124
- // ───────────────────────────────────────────────────────
125
- // CRITIQUE PHASE
126
- // ───────────────────────────────────────────────────────
127
- critique: {
128
- on: {
129
- SCORE: {
130
- target: "scoring",
131
- actions: assign({
132
- status: "deliberating",
133
- stage: "scoring",
134
- deliberationCount: ({ context }) => context.deliberationCount + 1,
135
- lastTransitionTime: () => new Date().toISOString(),
136
- }),
137
- },
138
- REJECT: {
139
- target: "rejected",
140
- actions: assign({
141
- status: "rejected",
142
- stage: "council",
143
- lastTransitionTime: () => new Date().toISOString(),
144
- }),
145
- },
146
- },
147
- },
148
- // ───────────────────────────────────────────────────────
149
- // SCORING PHASE
150
- // ───────────────────────────────────────────────────────
151
- scoring: {
152
- on: {
153
- SEND_TO_COUNCIL: {
154
- target: "council",
155
- actions: assign({
156
- status: "deliberating",
157
- stage: "council",
158
- deliberationCount: ({ context }) => context.deliberationCount + 1,
159
- lastTransitionTime: () => new Date().toISOString(),
160
- }),
161
- },
162
- REJECT: {
163
- target: "rejected",
164
- actions: assign({
165
- status: "rejected",
166
- stage: "council",
167
- lastTransitionTime: () => new Date().toISOString(),
168
- }),
169
- },
170
- },
171
- },
172
- // ───────────────────────────────────────────────────────
173
- // COUNCIL PHASE
174
- // ───────────────────────────────────────────────────────
175
- council: {
176
- on: {
177
- VOTE: {
178
- target: "voting",
179
- actions: assign({
180
- status: "deliberating",
181
- stage: "vote",
182
- lastTransitionTime: () => new Date().toISOString(),
183
- }),
184
- },
185
- REJECT: {
186
- target: "rejected",
187
- actions: assign({
188
- status: "rejected",
189
- stage: "council",
190
- lastTransitionTime: () => new Date().toISOString(),
191
- }),
192
- },
193
- },
194
- },
195
- // ───────────────────────────────────────────────────────
196
- // VOTING PHASE
197
- // ───────────────────────────────────────────────────────
198
- voting: {
199
- on: {
200
- APPROVE: {
201
- target: "specDraft",
202
- actions: assign({
203
- status: "approved",
204
- stage: "spec",
205
- retryCount: 0,
206
- lastTransitionTime: () => new Date().toISOString(),
207
- }),
208
- },
209
- REJECT: {
210
- target: "rejected",
211
- actions: assign({
212
- status: "rejected",
213
- stage: "council",
214
- lastTransitionTime: () => new Date().toISOString(),
215
- }),
216
- },
217
- },
218
- },
219
- // ───────────────────────────────────────────────────────
220
- // SPECIFICATION PHASE
221
- // ───────────────────────────────────────────────────────
222
- specDraft: {
223
- on: {
224
- REQUEST_SPEC: {
225
- target: "specReview",
226
- actions: assign({
227
- status: "approved",
228
- stage: "spec",
229
- lastTransitionTime: () => new Date().toISOString(),
230
- }),
231
- },
232
- REVIEW_SPEC: {
233
- target: "specReview",
234
- actions: assign({
235
- status: "approved",
236
- stage: "spec",
237
- lastTransitionTime: () => new Date().toISOString(),
238
- }),
239
- },
240
- REJECT: {
241
- target: "rejected",
242
- actions: assign({
243
- status: "rejected",
244
- stage: "council",
245
- lastTransitionTime: () => new Date().toISOString(),
246
- }),
247
- },
248
- },
249
- },
250
- specReview: {
251
- on: {
252
- APPROVE_SPEC: {
253
- target: "executionGate",
254
- actions: assign({
255
- status: "approved",
256
- stage: "spec",
257
- lastTransitionTime: () => new Date().toISOString(),
258
- }),
259
- },
260
- REQUEST_SPEC: {
261
- target: "specDraft",
262
- actions: assign({
263
- status: "approved",
264
- stage: "spec",
265
- lastTransitionTime: () => new Date().toISOString(),
266
- }),
267
- },
268
- REJECT: {
269
- target: "rejected",
270
- actions: assign({
271
- status: "rejected",
272
- stage: "council",
273
- lastTransitionTime: () => new Date().toISOString(),
274
- }),
275
- },
276
- },
277
- },
278
- // ───────────────────────────────────────────────────────
279
- // EXECUTION GATE PHASE
280
- // ───────────────────────────────────────────────────────
281
- executionGate: {
282
- on: {
283
- EXECUTION_GATE_PASS: {
284
- target: "executing",
285
- actions: assign({
286
- status: "controlled",
287
- stage: "execution-gate",
288
- lastTransitionTime: () => new Date().toISOString(),
289
- }),
290
- },
291
- EXECUTE: {
292
- target: "executing",
293
- actions: assign({
294
- status: "controlled",
295
- stage: "execution-gate",
296
- lastTransitionTime: () => new Date().toISOString(),
297
- }),
298
- },
299
- EXECUTION_GATE_FAIL: {
300
- target: "rejected",
301
- actions: assign({
302
- status: "rejected",
303
- stage: "execution-gate",
304
- lastTransitionTime: () => new Date().toISOString(),
305
- }),
306
- },
307
- },
308
- },
309
- // ───────────────────────────────────────────────────────
310
- // EXECUTION PHASE
311
- // ───────────────────────────────────────────────────────
312
- executing: {
313
- on: {
314
- EXECUTION_SUCCESS: {
315
- target: "postmortem",
316
- actions: assign({
317
- status: "executed",
318
- stage: "postmortem",
319
- retryCount: 0,
320
- lastTransitionTime: () => new Date().toISOString(),
321
- }),
322
- },
323
- EXECUTION_FAILED: {
324
- target: "executionError",
325
- actions: assign({
326
- errorMessage: "Execution failed",
327
- lastTransitionTime: () => new Date().toISOString(),
328
- }),
329
- },
330
- },
331
- },
332
- executionError: {
333
- on: {
334
- RETRY: [
335
- {
336
- target: "executing",
337
- guard: ({ context }) => context.retryCount < 3,
338
- actions: assign({
339
- retryCount: ({ context }) => context.retryCount + 1,
340
- lastTransitionTime: () => new Date().toISOString(),
341
- }),
342
- },
343
- ],
344
- EXECUTION_FAILED: {
345
- target: "postmortem",
346
- actions: assign({
347
- status: "failed",
348
- stage: "postmortem",
349
- lastTransitionTime: () => new Date().toISOString(),
350
- }),
351
- },
352
- },
353
- },
354
- // ───────────────────────────────────────────────────────
355
- // POSTMORTEM PHASE
356
- // ───────────────────────────────────────────────────────
357
- postmortem: {
358
- on: {
359
- POSTMORTEM: {
360
- target: "completed",
361
- actions: assign({
362
- lastTransitionTime: () => new Date().toISOString(),
363
- }),
364
- },
365
- },
366
- },
367
- // ───────────────────────────────────────────────────────
368
- // TERMINAL STATES
369
- // ───────────────────────────────────────────────────────
370
- rejected: {
371
- type: "final",
372
- },
373
- completed: {
374
- type: "final",
375
- },
376
- },
377
- });
1
+ /** @deprecated Behavioral models now live in `/models`, the source of truth. */
2
+ export * from "../models/proposal.machine.js";
378
3
  //# sourceMappingURL=proposal.machine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.machine.js","sourceRoot":"","sources":["../../src/governance/proposal.machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposal.machine.js","sourceRoot":"","sources":["../../src/governance/proposal.machine.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,cAAc,+BAA+B,CAAC"}
@@ -1,166 +1,23 @@
1
- import type { PipelineStage, Proposal } from "../types/index.js";
2
- import { type ProposalContext, type ProposalEvent, type ProposalMachineInput } from "./proposal.machine.js";
3
- /**
4
- * Creates an XState actor for a proposal
5
- */
6
- export declare function createProposalActor(proposal: Proposal, initialStage?: PipelineStage): import("xstate").Actor<import("xstate").StateMachine<ProposalContext, {
7
- type: "SUBMIT";
8
- } | {
9
- type: "QUALIFY";
10
- } | {
11
- type: "ANALYZE";
12
- } | {
13
- type: "CRITIQUE";
14
- } | {
15
- type: "SCORE";
16
- } | {
17
- type: "SEND_TO_COUNCIL";
18
- } | {
19
- type: "VOTE";
20
- } | {
21
- type: "APPROVE";
22
- } | {
23
- type: "REJECT";
24
- } | {
25
- type: "REQUEST_SPEC";
26
- } | {
27
- type: "REVIEW_SPEC";
28
- } | {
29
- type: "APPROVE_SPEC";
30
- } | {
31
- type: "EXECUTION_GATE_PASS";
32
- } | {
33
- type: "EXECUTION_GATE_FAIL";
34
- } | {
35
- type: "EXECUTE";
36
- } | {
37
- type: "EXECUTION_SUCCESS";
38
- } | {
39
- type: "EXECUTION_FAILED";
40
- } | {
41
- type: "POSTMORTEM";
42
- } | {
43
- type: "RETRY";
44
- } | {
45
- type: "DISCARD";
46
- } | {
47
- type: "ERROR";
48
- message: string;
49
- }, {}, never, never, never, never, "intake" | "qualification" | "analysis" | "critique" | "scoring" | "council" | "postmortem" | "rejected" | "draft" | "voting" | "specDraft" | "specReview" | "executionGate" | "executing" | "executionError" | "completed", string, ProposalMachineInput, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
50
- id: "proposalLifecycle";
51
- states: {
52
- readonly draft: {};
53
- readonly intake: {};
54
- readonly qualification: {};
55
- readonly analysis: {};
56
- readonly critique: {};
57
- readonly scoring: {};
58
- readonly council: {};
59
- readonly voting: {};
60
- readonly specDraft: {};
61
- readonly specReview: {};
62
- readonly executionGate: {};
63
- readonly executing: {};
64
- readonly executionError: {};
65
- readonly postmortem: {};
66
- readonly rejected: {};
67
- readonly completed: {};
68
- };
69
- }>>;
70
- /**
71
- * Moves a proposal through its states sequentially
72
- */
73
- export declare function sendProposalEvent(actor: ReturnType<typeof createProposalActor>, event: ProposalEvent): import("xstate").MachineSnapshot<ProposalContext, {
74
- type: "SUBMIT";
75
- } | {
76
- type: "QUALIFY";
77
- } | {
78
- type: "ANALYZE";
79
- } | {
80
- type: "CRITIQUE";
81
- } | {
82
- type: "SCORE";
83
- } | {
84
- type: "SEND_TO_COUNCIL";
85
- } | {
86
- type: "VOTE";
87
- } | {
88
- type: "APPROVE";
89
- } | {
90
- type: "REJECT";
91
- } | {
92
- type: "REQUEST_SPEC";
93
- } | {
94
- type: "REVIEW_SPEC";
95
- } | {
96
- type: "APPROVE_SPEC";
97
- } | {
98
- type: "EXECUTION_GATE_PASS";
99
- } | {
100
- type: "EXECUTION_GATE_FAIL";
101
- } | {
102
- type: "EXECUTE";
103
- } | {
104
- type: "EXECUTION_SUCCESS";
105
- } | {
106
- type: "EXECUTION_FAILED";
107
- } | {
108
- type: "POSTMORTEM";
109
- } | {
110
- type: "RETRY";
111
- } | {
112
- type: "DISCARD";
113
- } | {
114
- type: "ERROR";
115
- message: string;
116
- }, {}, "intake" | "qualification" | "analysis" | "critique" | "scoring" | "council" | "postmortem" | "rejected" | "draft" | "voting" | "specDraft" | "specReview" | "executionGate" | "executing" | "executionError" | "completed", string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject, {
117
- id: "proposalLifecycle";
118
- states: {
119
- readonly draft: {};
120
- readonly intake: {};
121
- readonly qualification: {};
122
- readonly analysis: {};
123
- readonly critique: {};
124
- readonly scoring: {};
125
- readonly council: {};
126
- readonly voting: {};
127
- readonly specDraft: {};
128
- readonly specReview: {};
129
- readonly executionGate: {};
130
- readonly executing: {};
131
- readonly executionError: {};
132
- readonly postmortem: {};
133
- readonly rejected: {};
134
- readonly completed: {};
135
- };
136
- }>;
137
- /**
138
- * Returns the machine's current context
139
- */
140
- export declare function getProposalContext(actor: ReturnType<typeof createProposalActor>): ProposalContext;
141
- /**
142
- * Returns the machine's current state
143
- */
144
- export declare function getProposalState(actor: ReturnType<typeof createProposalActor>): "intake" | "qualification" | "analysis" | "critique" | "scoring" | "council" | "postmortem" | "rejected" | "draft" | "voting" | "specDraft" | "specReview" | "executionGate" | "executing" | "executionError" | "completed";
145
- /**
146
- * Checks whether the proposal can take a given transition
147
- */
148
- export declare function canSendProposalEvent(actor: ReturnType<typeof createProposalActor>, eventType: string): boolean;
149
- /**
150
- * Returns all possible transitions from the current state
151
- */
152
- export declare function getAvailableProposalEvents(actor: ReturnType<typeof createProposalActor>): string[];
153
- /**
154
- * Helper for auto-progressing a proposal through the pipeline
155
- * Uses linear progression events
156
- */
157
- export declare function progressProposal(actor: ReturnType<typeof createProposalActor>): string | null;
158
- /**
159
- * Creates a helper to trigger rejection events easily
160
- */
161
- export declare function rejectProposal(actor: ReturnType<typeof createProposalActor>): "intake" | "qualification" | "analysis" | "critique" | "scoring" | "council" | "postmortem" | "rejected" | "draft" | "voting" | "specDraft" | "specReview" | "executionGate" | "executing" | "executionError" | "completed";
162
- /**
163
- * Listener for observing state changes
164
- */
165
- export declare function onProposalStateChange(actor: ReturnType<typeof createProposalActor>, callback: (state: string, context: ProposalContext) => void): () => void;
1
+ import { type ProposalEvent } from "../models/proposal.machine.js";
2
+ import type { ClockPort } from "../ports/clock.js";
3
+ import type { Proposal, ProposalStatus } from "../types/index.js";
4
+ export type DispatchResult = {
5
+ ok: true;
6
+ status: ProposalStatus;
7
+ } | {
8
+ ok: false;
9
+ error: string;
10
+ };
11
+ /**
12
+ * Apply a lifecycle event to a proposal. Enforces the machine's
13
+ * topology AND its guards. On success, `proposal.status` (and
14
+ * `proposal.resolvedAt` for terminal states) is updated in place.
15
+ *
16
+ * Returns `{ ok: false, error }` when the event is not permitted
17
+ * from the current status — the caller must surface that error and
18
+ * MUST NOT mutate the status itself.
19
+ */
20
+ export declare function dispatchProposalEvent(proposal: Proposal, event: ProposalEvent, options?: {
21
+ clock?: ClockPort;
22
+ }): DispatchResult;
166
23
  //# sourceMappingURL=proposal.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.utils.d.ts","sourceRoot":"","sources":["../../src/governance/proposal.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAE1B,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAenF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAAE,KAAK,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGpG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,mBAE/E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,+NAE7E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAW9G;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,GAAG,MAAM,EAAE,CAyBlG;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,GAAG,MAAM,GAAG,IAAI,CAwB7F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,+NAG3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,cAM5D"}
1
+ {"version":3,"file":"proposal.utils.d.ts","sourceRoot":"","sources":["../../src/governance/proposal.utils.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAA;CAAO,GAClC,cAAc,CAwChB"}