@guyghost/swarm-dao-core 0.2.0 → 0.4.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 (101) hide show
  1. package/dist/commands/index.d.ts +2 -0
  2. package/dist/commands/index.d.ts.map +1 -0
  3. package/dist/commands/index.js +2 -0
  4. package/dist/commands/index.js.map +1 -0
  5. package/dist/commands/registry.d.ts +46 -0
  6. package/dist/commands/registry.d.ts.map +1 -0
  7. package/dist/commands/registry.js +352 -0
  8. package/dist/commands/registry.js.map +1 -0
  9. package/dist/control/gates.d.ts.map +1 -1
  10. package/dist/control/gates.js +17 -0
  11. package/dist/control/gates.js.map +1 -1
  12. package/dist/delivery/dependencies.d.ts.map +1 -1
  13. package/dist/delivery/dependencies.js +15 -7
  14. package/dist/delivery/dependencies.js.map +1 -1
  15. package/dist/delivery/execution.d.ts.map +1 -1
  16. package/dist/delivery/execution.js +7 -5
  17. package/dist/delivery/execution.js.map +1 -1
  18. package/dist/governance/agents.d.ts +2 -0
  19. package/dist/governance/agents.d.ts.map +1 -1
  20. package/dist/governance/agents.js +49 -12
  21. package/dist/governance/agents.js.map +1 -1
  22. package/dist/governance/delegation.machine.d.ts +316 -0
  23. package/dist/governance/delegation.machine.d.ts.map +1 -0
  24. package/dist/governance/delegation.machine.js +387 -0
  25. package/dist/governance/delegation.machine.js.map +1 -0
  26. package/dist/governance/delegation.utils.d.ts +55 -0
  27. package/dist/governance/delegation.utils.d.ts.map +1 -0
  28. package/dist/governance/delegation.utils.js +157 -0
  29. package/dist/governance/delegation.utils.js.map +1 -0
  30. package/dist/governance/index.d.ts +2 -0
  31. package/dist/governance/index.d.ts.map +1 -1
  32. package/dist/governance/index.js +2 -0
  33. package/dist/governance/index.js.map +1 -1
  34. package/dist/governance/lifecycle.d.ts +0 -6
  35. package/dist/governance/lifecycle.d.ts.map +1 -1
  36. package/dist/governance/lifecycle.js +7 -31
  37. package/dist/governance/lifecycle.js.map +1 -1
  38. package/dist/governance/proposal.machine.d.ts +65 -81
  39. package/dist/governance/proposal.machine.d.ts.map +1 -1
  40. package/dist/governance/proposal.machine.js +160 -357
  41. package/dist/governance/proposal.machine.js.map +1 -1
  42. package/dist/governance/proposal.utils.d.ts +19 -165
  43. package/dist/governance/proposal.utils.d.ts.map +1 -1
  44. package/dist/governance/proposal.utils.js +49 -119
  45. package/dist/governance/proposal.utils.js.map +1 -1
  46. package/dist/governance/scoring.d.ts.map +1 -1
  47. package/dist/governance/scoring.js +36 -16
  48. package/dist/governance/scoring.js.map +1 -1
  49. package/dist/host-tools/github-config.d.ts +7 -0
  50. package/dist/host-tools/github-config.d.ts.map +1 -0
  51. package/dist/host-tools/github-config.js +33 -0
  52. package/dist/host-tools/github-config.js.map +1 -0
  53. package/dist/host-tools/handlers.d.ts +87 -0
  54. package/dist/host-tools/handlers.d.ts.map +1 -0
  55. package/dist/host-tools/handlers.js +556 -0
  56. package/dist/host-tools/handlers.js.map +1 -0
  57. package/dist/host-tools/index.d.ts +5 -0
  58. package/dist/host-tools/index.d.ts.map +1 -0
  59. package/dist/host-tools/index.js +5 -0
  60. package/dist/host-tools/index.js.map +1 -0
  61. package/dist/host-tools/messages.d.ts +12 -0
  62. package/dist/host-tools/messages.d.ts.map +1 -0
  63. package/dist/host-tools/messages.js +34 -0
  64. package/dist/host-tools/messages.js.map +1 -0
  65. package/dist/host-tools/utils.d.ts +3 -0
  66. package/dist/host-tools/utils.d.ts.map +1 -0
  67. package/dist/host-tools/utils.js +29 -0
  68. package/dist/host-tools/utils.js.map +1 -0
  69. package/dist/index.d.ts +2 -0
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +4 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/integrations/http.d.ts +12 -1
  74. package/dist/integrations/http.d.ts.map +1 -1
  75. package/dist/integrations/http.js +114 -17
  76. package/dist/integrations/http.js.map +1 -1
  77. package/dist/intelligence/delegation.d.ts +40 -0
  78. package/dist/intelligence/delegation.d.ts.map +1 -0
  79. package/dist/intelligence/delegation.js +162 -0
  80. package/dist/intelligence/delegation.js.map +1 -0
  81. package/dist/intelligence/index.d.ts +1 -0
  82. package/dist/intelligence/index.d.ts.map +1 -1
  83. package/dist/intelligence/index.js +1 -0
  84. package/dist/intelligence/index.js.map +1 -1
  85. package/dist/intelligence/model.d.ts +28 -2
  86. package/dist/intelligence/model.d.ts.map +1 -1
  87. package/dist/intelligence/model.js +36 -3
  88. package/dist/intelligence/model.js.map +1 -1
  89. package/dist/intelligence/swarm.d.ts +13 -2
  90. package/dist/intelligence/swarm.d.ts.map +1 -1
  91. package/dist/intelligence/swarm.js +97 -50
  92. package/dist/intelligence/swarm.js.map +1 -1
  93. package/dist/persistence.d.ts +2 -6
  94. package/dist/persistence.d.ts.map +1 -1
  95. package/dist/persistence.js +109 -123
  96. package/dist/persistence.js.map +1 -1
  97. package/dist/types/index.d.ts +70 -0
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/dist/types/index.js +12 -0
  100. package/dist/types/index.js.map +1 -1
  101. package/package.json +1 -1
@@ -1,6 +1,8 @@
1
1
  // Governance Layer (L1) — Proposals, Agents, Voting, Lifecycle, Amendments
2
2
  export * from "./agents.js";
3
3
  export * from "./amendments.js";
4
+ export * from "./delegation.machine.js";
5
+ export * from "./delegation.utils.js";
4
6
  export * from "./lifecycle.js";
5
7
  export * from "./proposal.machine.js";
6
8
  export * from "./proposal.utils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,10 +1,4 @@
1
1
  import type { Proposal, ProposalStatus, RiskZone } from "../types/index.js";
2
- export declare function canTransition(from: ProposalStatus, to: ProposalStatus): boolean;
3
- export declare function transitionProposal(proposal: Proposal, action: "deliberate" | "approve" | "reject" | "control" | "execute" | "fail"): {
4
- success: boolean;
5
- newStatus?: ProposalStatus;
6
- error?: string;
7
- };
8
2
  export declare function classifyRiskZone(proposal: Proposal): RiskZone;
9
3
  export declare function getRequiredApprovals(zone: RiskZone): number;
10
4
  export declare function requiresSecurityReview(zone: RiskZone): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/governance/lifecycle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAe5E,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,GAAG,OAAO,CAE/E;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAC3E;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAmBlE;AAID,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CA4B7D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE3D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAE9D;AAID,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAW1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAEnE"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/governance/lifecycle.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK5E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CA4B7D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE3D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAE9D;AAID,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAW1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAEnE"}
@@ -1,37 +1,13 @@
1
1
  // ============================================================
2
- // Swarm DAO Core — Proposal Lifecycle & State Machine
2
+ // Swarm DAO Core — Proposal Lifecycle Helpers
3
+ // ------------------------------------------------------------
4
+ // Status transitions live in `proposal.machine.ts` (XState) and
5
+ // are applied via `dispatchProposalEvent` (proposal.utils.ts).
6
+ // This module keeps the pure, side-effect-free helpers that the
7
+ // machine guards and the UI consume: risk classification, human
8
+ // approval thresholds, security-review requirements, and labels.
3
9
  // ============================================================
4
10
  import { PROPOSAL_COUNCIL, PROPOSAL_TYPE, RISK_ZONE_DEFINITIONS } from "../types/index.js";
5
- // ── Transitions ──────────────────────────────────────────────
6
- const VALID_TRANSITIONS = {
7
- open: ["deliberating"],
8
- deliberating: ["approved", "rejected"],
9
- approved: ["controlled", "rejected", "failed"],
10
- controlled: ["executed", "failed"],
11
- rejected: [],
12
- executed: [],
13
- failed: [],
14
- };
15
- export function canTransition(from, to) {
16
- return VALID_TRANSITIONS[from]?.includes(to) ?? false;
17
- }
18
- export function transitionProposal(proposal, action) {
19
- const transitions = {
20
- open: { deliberate: "deliberating" },
21
- deliberating: { approve: "approved", reject: "rejected" },
22
- approved: { control: "controlled", reject: "rejected", fail: "failed" },
23
- controlled: { execute: "executed", fail: "failed" },
24
- };
25
- const newStatus = transitions[proposal.status]?.[action];
26
- if (!newStatus) {
27
- return { success: false, error: `Cannot ${action} from ${proposal.status}` };
28
- }
29
- proposal.status = newStatus;
30
- if (["rejected", "executed", "failed"].includes(newStatus)) {
31
- proposal.resolvedAt = new Date().toISOString();
32
- }
33
- return { success: true, newStatus };
34
- }
35
11
  // ── Risk Zone Classification ─────────────────────────────────
36
12
  export function classifyRiskZone(proposal) {
37
13
  // Security and governance changes are classified as red
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/governance/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/governance/lifecycle.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,8CAA8C;AAC9C,+DAA+D;AAC/D,gEAAgE;AAChE,+DAA+D;AAC/D,gEAAgE;AAChE,gEAAgE;AAChE,iEAAiE;AACjE,+DAA+D;AAG/D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE3F,gEAAgE;AAEhE,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IACjD,wDAAwD;IACxD,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,eAAe,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,iBAAiB,EAAE,CAAC;QACzG,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;IACvE,MAAM,WAAW,GAAG;QAClB,MAAM;QACN,YAAY;QACZ,UAAU;QACV,YAAY;QACZ,QAAQ;QACR,OAAO;QACP,UAAU;QACV,YAAY;QACZ,UAAU;KACX,CAAC;IACF,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wBAAwB;IACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC;IACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,eAAe;QAAE,OAAO,QAAQ,CAAC;IAErE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAc;IACjD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACnD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC;AAC5D,CAAC;AAED,gEAAgE;AAEhE,MAAM,UAAU,WAAW,CAAC,MAAsB;IAChD,MAAM,MAAM,GAAmC;QAC7C,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,YAAY;QACtB,UAAU,EAAE,gBAAgB;QAC5B,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,WAAW;KACpB,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC"}
@@ -1,131 +1,115 @@
1
- import type { PipelineStage, Proposal, ProposalStatus, RiskZone } from "../types/index.js";
1
+ import type { ControlCheckResult, Proposal, ProposalStatus, TallyResult } from "../types/index.js";
2
2
  export interface ProposalContext {
3
3
  proposal: Proposal;
4
- stage: PipelineStage;
5
- status: ProposalStatus;
6
- riskZone?: RiskZone;
7
- deliberationCount: number;
8
- retryCount: number;
9
4
  errorMessage?: string;
10
5
  lastTransitionTime: string;
11
6
  }
12
7
  export interface ProposalMachineInput {
13
8
  proposal: Proposal;
14
- stage?: PipelineStage;
15
- status?: ProposalStatus;
16
- riskZone?: RiskZone;
17
- deliberationCount?: number;
18
- retryCount?: number;
19
- errorMessage?: string;
20
9
  lastTransitionTime?: string;
21
10
  }
22
11
  export type ProposalEvent = {
23
- type: "SUBMIT";
24
- } | {
25
- type: "QUALIFY";
26
- } | {
27
- type: "ANALYZE";
28
- } | {
29
- type: "CRITIQUE";
30
- } | {
31
- type: "SCORE";
32
- } | {
33
- type: "SEND_TO_COUNCIL";
34
- } | {
35
- type: "VOTE";
12
+ type: "DELIBERATE";
36
13
  } | {
37
14
  type: "APPROVE";
15
+ tally: TallyResult;
38
16
  } | {
39
17
  type: "REJECT";
40
18
  } | {
41
- type: "REQUEST_SPEC";
42
- } | {
43
- type: "REVIEW_SPEC";
19
+ type: "CONTROL_PASS";
20
+ result: ControlCheckResult;
44
21
  } | {
45
- type: "APPROVE_SPEC";
22
+ type: "CONTROL_FAIL";
46
23
  } | {
47
- type: "EXECUTION_GATE_PASS";
24
+ type: "EXECUTE_SUCCESS";
48
25
  } | {
49
- type: "EXECUTION_GATE_FAIL";
50
- } | {
51
- type: "EXECUTE";
52
- } | {
53
- type: "EXECUTION_SUCCESS";
54
- } | {
55
- type: "EXECUTION_FAILED";
56
- } | {
57
- type: "POSTMORTEM";
58
- } | {
59
- type: "RETRY";
26
+ type: "FAIL";
60
27
  } | {
61
28
  type: "DISCARD";
62
29
  } | {
63
30
  type: "ERROR";
64
31
  message: string;
65
32
  };
66
- export declare const proposalMachine: import("xstate").StateMachine<ProposalContext, {
67
- type: "SUBMIT";
68
- } | {
69
- type: "QUALIFY";
70
- } | {
71
- type: "ANALYZE";
72
- } | {
73
- type: "CRITIQUE";
33
+ export declare const PROPOSAL_FINAL_STATUSES: ReadonlySet<ProposalStatus>;
34
+ export declare function isProposalFinal(status: ProposalStatus): boolean;
35
+ declare function buildProposalMachine(initial: ProposalStatus): import("xstate").StateMachine<ProposalContext, {
36
+ type: "DELIBERATE";
74
37
  } | {
75
- type: "SCORE";
38
+ type: "APPROVE";
39
+ tally: TallyResult;
76
40
  } | {
77
- type: "SEND_TO_COUNCIL";
41
+ type: "REJECT";
78
42
  } | {
79
- type: "VOTE";
43
+ type: "CONTROL_PASS";
44
+ result: ControlCheckResult;
80
45
  } | {
81
- type: "APPROVE";
46
+ type: "CONTROL_FAIL";
82
47
  } | {
83
- type: "REJECT";
48
+ type: "EXECUTE_SUCCESS";
84
49
  } | {
85
- type: "REQUEST_SPEC";
50
+ type: "FAIL";
86
51
  } | {
87
- type: "REVIEW_SPEC";
52
+ type: "DISCARD";
88
53
  } | {
89
- type: "APPROVE_SPEC";
54
+ type: "ERROR";
55
+ message: string;
56
+ }, {}, never, never, {
57
+ type: "tallyApproved";
58
+ params: unknown;
90
59
  } | {
91
- type: "EXECUTION_GATE_PASS";
60
+ type: "gatesPassed";
61
+ params: unknown;
62
+ }, never, "open" | "deliberating" | "approved" | "controlled" | "rejected" | "executed" | "failed", string, ProposalMachineInput, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
63
+ id: "proposalLifecycle";
64
+ states: {
65
+ readonly open: {};
66
+ readonly deliberating: {};
67
+ readonly approved: {};
68
+ readonly controlled: {};
69
+ readonly executed: {};
70
+ readonly failed: {};
71
+ readonly rejected: {};
72
+ };
73
+ }>;
74
+ export declare function createProposalMachine(initial: ProposalStatus): import("xstate").StateMachine<ProposalContext, {
75
+ type: "DELIBERATE";
92
76
  } | {
93
- type: "EXECUTION_GATE_FAIL";
77
+ type: "APPROVE";
78
+ tally: TallyResult;
94
79
  } | {
95
- type: "EXECUTE";
80
+ type: "REJECT";
96
81
  } | {
97
- type: "EXECUTION_SUCCESS";
82
+ type: "CONTROL_PASS";
83
+ result: ControlCheckResult;
98
84
  } | {
99
- type: "EXECUTION_FAILED";
85
+ type: "CONTROL_FAIL";
100
86
  } | {
101
- type: "POSTMORTEM";
87
+ type: "EXECUTE_SUCCESS";
102
88
  } | {
103
- type: "RETRY";
89
+ type: "FAIL";
104
90
  } | {
105
91
  type: "DISCARD";
106
92
  } | {
107
93
  type: "ERROR";
108
94
  message: string;
109
- }, {}, 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, {
95
+ }, {}, never, never, {
96
+ type: "tallyApproved";
97
+ params: unknown;
98
+ } | {
99
+ type: "gatesPassed";
100
+ params: unknown;
101
+ }, never, "open" | "deliberating" | "approved" | "controlled" | "rejected" | "executed" | "failed", string, ProposalMachineInput, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
110
102
  id: "proposalLifecycle";
111
103
  states: {
112
- readonly draft: {};
113
- readonly intake: {};
114
- readonly qualification: {};
115
- readonly analysis: {};
116
- readonly critique: {};
117
- readonly scoring: {};
118
- readonly council: {};
119
- readonly voting: {};
120
- readonly specDraft: {};
121
- readonly specReview: {};
122
- readonly executionGate: {};
123
- readonly executing: {};
124
- readonly executionError: {};
125
- readonly postmortem: {};
104
+ readonly open: {};
105
+ readonly deliberating: {};
106
+ readonly approved: {};
107
+ readonly controlled: {};
108
+ readonly executed: {};
109
+ readonly failed: {};
126
110
  readonly rejected: {};
127
- readonly completed: {};
128
111
  };
129
112
  }>;
130
- export type ProposalMachine = typeof proposalMachine;
113
+ export type ProposalMachine = ReturnType<typeof buildProposalMachine>;
114
+ export {};
131
115
  //# sourceMappingURL=proposal.machine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposal.machine.d.ts","sourceRoot":"","sources":["../../src/governance/proposal.machine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAM3F,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAMvC,eAAO,MAAM,eAAe;UA1BhB,QAAQ;;UACR,SAAS;;UACT,SAAS;;UACT,UAAU;;UACV,OAAO;;UACP,iBAAiB;;UACjB,MAAM;;UACN,SAAS;;UACT,QAAQ;;UACR,cAAc;;UACd,aAAa;;UACb,cAAc;;UACd,qBAAqB;;UACrB,qBAAqB;;UACrB,SAAS;;UACT,mBAAmB;;UACnB,kBAAkB;;UAClB,YAAY;;UACZ,OAAO;;UACP,SAAS;;UACT,OAAO;aAAW,MAAM;;;;;;;;;;;;;;;;;;;;;EA2YlC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"proposal.machine.d.ts","sourceRoot":"","sources":["../../src/governance/proposal.machine.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAInG,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvC,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,cAAc,CAA+C,CAAC;AAEhH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE/D;AA2BD,iBAAS,oBAAoB,CAAC,OAAO,EAAE,cAAc;UA3CzC,YAAY;;UACZ,SAAS;WAAS,WAAW;;UAC7B,QAAQ;;UACR,cAAc;YAAU,kBAAkB;;UAC1C,cAAc;;UACd,iBAAiB;;UACjB,MAAM;;UACN,SAAS;;UACT,OAAO;aAAW,MAAM;;;;;;;;;;;;;;;;;;GAgKnC;AAUD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc;UAlLjD,YAAY;;UACZ,SAAS;WAAS,WAAW;;UAC7B,QAAQ;;UACR,cAAc;YAAU,kBAAkB;;UAC1C,cAAc;;UACd,iBAAiB;;UACjB,MAAM;;UACN,SAAS;;UACT,OAAO;aAAW,MAAM;;;;;;;;;;;;;;;;;;GAiLnC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC"}