@guyghost/swarm-dao-core 0.4.0 → 0.6.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.
- package/dist/adapters/attention/fs-attention.store.d.ts +17 -0
- package/dist/adapters/attention/fs-attention.store.d.ts.map +1 -0
- package/dist/adapters/attention/fs-attention.store.js +59 -0
- package/dist/adapters/attention/fs-attention.store.js.map +1 -0
- package/dist/adapters/git-workspace.d.ts +26 -0
- package/dist/adapters/git-workspace.d.ts.map +1 -0
- package/dist/adapters/git-workspace.js +84 -0
- package/dist/adapters/git-workspace.js.map +1 -0
- package/dist/adapters/index.d.ts +7 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +7 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/persistence/file-dao-state.repository.d.ts +15 -0
- package/dist/adapters/persistence/file-dao-state.repository.d.ts.map +1 -0
- package/dist/adapters/persistence/file-dao-state.repository.js +85 -0
- package/dist/adapters/persistence/file-dao-state.repository.js.map +1 -0
- package/dist/adapters/persistence/in-memory-dao-state.repository.d.ts +10 -0
- package/dist/adapters/persistence/in-memory-dao-state.repository.d.ts.map +1 -0
- package/dist/adapters/persistence/in-memory-dao-state.repository.js +14 -0
- package/dist/adapters/persistence/in-memory-dao-state.repository.js.map +1 -0
- package/dist/adapters/persistence/legacy-dao-state.repository.d.ts +11 -0
- package/dist/adapters/persistence/legacy-dao-state.repository.d.ts.map +1 -0
- package/dist/adapters/persistence/legacy-dao-state.repository.js +14 -0
- package/dist/adapters/persistence/legacy-dao-state.repository.js.map +1 -0
- package/dist/adapters/ship-audit/fs-ship-audit.store.d.ts +12 -0
- package/dist/adapters/ship-audit/fs-ship-audit.store.d.ts.map +1 -0
- package/dist/adapters/ship-audit/fs-ship-audit.store.js +69 -0
- package/dist/adapters/ship-audit/fs-ship-audit.store.js.map +1 -0
- package/dist/application/index.d.ts +16 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +16 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/initialize-dao.use-case.d.ts +20 -0
- package/dist/application/initialize-dao.use-case.d.ts.map +1 -0
- package/dist/application/initialize-dao.use-case.js +17 -0
- package/dist/application/initialize-dao.use-case.js.map +1 -0
- package/dist/application/proposals/control-proposal.use-case.d.ts +23 -0
- package/dist/application/proposals/control-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/control-proposal.use-case.js +53 -0
- package/dist/application/proposals/control-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/create-amendment-proposal.use-case.d.ts +25 -0
- package/dist/application/proposals/create-amendment-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/create-amendment-proposal.use-case.js +39 -0
- package/dist/application/proposals/create-amendment-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/create-proposal.use-case.d.ts +34 -0
- package/dist/application/proposals/create-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/create-proposal.use-case.js +49 -0
- package/dist/application/proposals/create-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/deliberate-proposal.use-case.d.ts +35 -0
- package/dist/application/proposals/deliberate-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/deliberate-proposal.use-case.js +67 -0
- package/dist/application/proposals/deliberate-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/dry-run-proposal.use-case.d.ts +21 -0
- package/dist/application/proposals/dry-run-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/dry-run-proposal.use-case.js +20 -0
- package/dist/application/proposals/dry-run-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/execute-proposal.use-case.d.ts +29 -0
- package/dist/application/proposals/execute-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/execute-proposal.use-case.js +66 -0
- package/dist/application/proposals/execute-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/rate-proposal.use-case.d.ts +24 -0
- package/dist/application/proposals/rate-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/rate-proposal.use-case.js +33 -0
- package/dist/application/proposals/rate-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/record-deliberation-outputs.use-case.d.ts +21 -0
- package/dist/application/proposals/record-deliberation-outputs.use-case.d.ts.map +1 -0
- package/dist/application/proposals/record-deliberation-outputs.use-case.js +65 -0
- package/dist/application/proposals/record-deliberation-outputs.use-case.js.map +1 -0
- package/dist/application/proposals/rollback-proposal.use-case.d.ts +20 -0
- package/dist/application/proposals/rollback-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/rollback-proposal.use-case.js +17 -0
- package/dist/application/proposals/rollback-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/round-table.use-case.d.ts +27 -0
- package/dist/application/proposals/round-table.use-case.d.ts.map +1 -0
- package/dist/application/proposals/round-table.use-case.js +55 -0
- package/dist/application/proposals/round-table.use-case.js.map +1 -0
- package/dist/application/proposals/ship-proposal.use-case.d.ts +26 -0
- package/dist/application/proposals/ship-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/ship-proposal.use-case.js +60 -0
- package/dist/application/proposals/ship-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/start-deliberation.use-case.d.ts +21 -0
- package/dist/application/proposals/start-deliberation.use-case.d.ts.map +1 -0
- package/dist/application/proposals/start-deliberation.use-case.js +30 -0
- package/dist/application/proposals/start-deliberation.use-case.js.map +1 -0
- package/dist/application/proposals/transition-proposal.use-case.d.ts +20 -0
- package/dist/application/proposals/transition-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/transition-proposal.use-case.js +19 -0
- package/dist/application/proposals/transition-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/update-proposal.use-case.d.ts +26 -0
- package/dist/application/proposals/update-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/update-proposal.use-case.js +19 -0
- package/dist/application/proposals/update-proposal.use-case.js.map +1 -0
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/registry.js +18 -3
- package/dist/commands/registry.js.map +1 -1
- package/dist/config.d.ts +23 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -1
- package/dist/config.js.map +1 -1
- package/dist/control/gates.d.ts +4 -1
- package/dist/control/gates.d.ts.map +1 -1
- package/dist/control/gates.js +5 -10
- package/dist/control/gates.js.map +1 -1
- package/dist/delivery/dry-run.d.ts.map +1 -1
- package/dist/delivery/dry-run.js +3 -44
- package/dist/delivery/dry-run.js.map +1 -1
- package/dist/delivery/execution-isolation.d.ts +34 -0
- package/dist/delivery/execution-isolation.d.ts.map +1 -0
- package/dist/delivery/execution-isolation.js +97 -0
- package/dist/delivery/execution-isolation.js.map +1 -0
- package/dist/delivery/index.d.ts +2 -0
- package/dist/delivery/index.d.ts.map +1 -1
- package/dist/delivery/index.js +2 -0
- package/dist/delivery/index.js.map +1 -1
- package/dist/delivery/plans.d.ts +3 -1
- package/dist/delivery/plans.d.ts.map +1 -1
- package/dist/delivery/plans.js +2 -2
- package/dist/delivery/plans.js.map +1 -1
- package/dist/delivery/ship-audit.d.ts +36 -0
- package/dist/delivery/ship-audit.d.ts.map +1 -0
- package/dist/delivery/ship-audit.js +155 -0
- package/dist/delivery/ship-audit.js.map +1 -0
- package/dist/domain/dry-run.d.ts +3 -0
- package/dist/domain/dry-run.d.ts.map +1 -0
- package/dist/domain/dry-run.js +28 -0
- package/dist/domain/dry-run.js.map +1 -0
- package/dist/domain/index.d.ts +6 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +7 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/governance/agents.d.ts.map +1 -1
- package/dist/governance/agents.js +107 -169
- package/dist/governance/agents.js.map +1 -1
- package/dist/governance/charter.d.ts +14 -0
- package/dist/governance/charter.d.ts.map +1 -0
- package/dist/governance/charter.js +65 -0
- package/dist/governance/charter.js.map +1 -0
- package/dist/governance/edit-gate.d.ts +47 -0
- package/dist/governance/edit-gate.d.ts.map +1 -0
- package/dist/governance/edit-gate.js +156 -0
- package/dist/governance/edit-gate.js.map +1 -0
- package/dist/governance/index.d.ts +1 -0
- package/dist/governance/index.d.ts.map +1 -1
- package/dist/governance/index.js +1 -0
- package/dist/governance/index.js.map +1 -1
- package/dist/governance/proposal.machine.d.ts +2 -114
- package/dist/governance/proposal.machine.d.ts.map +1 -1
- package/dist/governance/proposal.machine.js +2 -180
- package/dist/governance/proposal.machine.js.map +1 -1
- package/dist/governance/proposal.utils.d.ts +5 -2
- package/dist/governance/proposal.utils.d.ts.map +1 -1
- package/dist/governance/proposal.utils.js +7 -4
- package/dist/governance/proposal.utils.js.map +1 -1
- package/dist/governance/voting.d.ts.map +1 -1
- package/dist/governance/voting.js +24 -14
- package/dist/governance/voting.js.map +1 -1
- package/dist/host-tools/github-config.d.ts.map +1 -1
- package/dist/host-tools/github-config.js +17 -5
- package/dist/host-tools/github-config.js.map +1 -1
- package/dist/host-tools/handlers.d.ts +14 -11
- package/dist/host-tools/handlers.d.ts.map +1 -1
- package/dist/host-tools/handlers.js +247 -341
- package/dist/host-tools/handlers.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/github.d.ts.map +1 -1
- package/dist/integrations/github.js +5 -2
- package/dist/integrations/github.js.map +1 -1
- package/dist/intelligence/delegation.d.ts +3 -2
- package/dist/intelligence/delegation.d.ts.map +1 -1
- package/dist/intelligence/delegation.js.map +1 -1
- package/dist/intelligence/index.d.ts +1 -0
- package/dist/intelligence/index.d.ts.map +1 -1
- package/dist/intelligence/index.js +1 -0
- package/dist/intelligence/index.js.map +1 -1
- package/dist/intelligence/roundtable.d.ts +4 -2
- package/dist/intelligence/roundtable.d.ts.map +1 -1
- package/dist/intelligence/roundtable.js +2 -2
- package/dist/intelligence/roundtable.js.map +1 -1
- package/dist/intelligence/sequential.d.ts +36 -0
- package/dist/intelligence/sequential.d.ts.map +1 -0
- package/dist/intelligence/sequential.js +91 -0
- package/dist/intelligence/sequential.js.map +1 -0
- package/dist/intelligence/swarm.d.ts +8 -4
- package/dist/intelligence/swarm.d.ts.map +1 -1
- package/dist/intelligence/swarm.js +10 -3
- package/dist/intelligence/swarm.js.map +1 -1
- package/dist/intelligence/synthesis.d.ts.map +1 -1
- package/dist/intelligence/synthesis.js +16 -4
- package/dist/intelligence/synthesis.js.map +1 -1
- package/dist/models/graph-engineering.machine.d.ts +219 -0
- package/dist/models/graph-engineering.machine.d.ts.map +1 -0
- package/dist/models/graph-engineering.machine.js +214 -0
- package/dist/models/graph-engineering.machine.js.map +1 -0
- package/dist/models/improvement-loop.machine.d.ts +239 -0
- package/dist/models/improvement-loop.machine.d.ts.map +1 -0
- package/dist/models/improvement-loop.machine.js +254 -0
- package/dist/models/improvement-loop.machine.js.map +1 -0
- package/dist/models/index.d.ts +6 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +6 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/product-loop.machine.d.ts +531 -0
- package/dist/models/product-loop.machine.d.ts.map +1 -0
- package/dist/models/product-loop.machine.js +699 -0
- package/dist/models/product-loop.machine.js.map +1 -0
- package/dist/models/proposal.machine.d.ts +82 -0
- package/dist/models/proposal.machine.d.ts.map +1 -0
- package/dist/models/proposal.machine.js +68 -0
- package/dist/models/proposal.machine.js.map +1 -0
- package/dist/models/ship-audit.machine.d.ts +103 -0
- package/dist/models/ship-audit.machine.d.ts.map +1 -0
- package/dist/models/ship-audit.machine.js +113 -0
- package/dist/models/ship-audit.machine.js.map +1 -0
- package/dist/observability/attention.d.ts +40 -0
- package/dist/observability/attention.d.ts.map +1 -0
- package/dist/observability/attention.js +119 -0
- package/dist/observability/attention.js.map +1 -0
- package/dist/observability/index.d.ts +1 -0
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +1 -0
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/logging.d.ts +6 -0
- package/dist/observability/logging.d.ts.map +1 -1
- package/dist/observability/logging.js +36 -6
- package/dist/observability/logging.js.map +1 -1
- package/dist/observability/metrics.d.ts +7 -0
- package/dist/observability/metrics.d.ts.map +1 -1
- package/dist/observability/metrics.js +179 -43
- package/dist/observability/metrics.js.map +1 -1
- package/dist/persistence.d.ts +3 -0
- package/dist/persistence.d.ts.map +1 -1
- package/dist/persistence.js +88 -17
- package/dist/persistence.js.map +1 -1
- package/dist/ports/clock.d.ts +7 -0
- package/dist/ports/clock.d.ts.map +1 -0
- package/dist/ports/clock.js +5 -0
- package/dist/ports/clock.js.map +1 -0
- package/dist/ports/host.d.ts +8 -0
- package/dist/ports/host.d.ts.map +1 -0
- package/dist/ports/host.js +2 -0
- package/dist/ports/host.js.map +1 -0
- package/dist/ports/index.d.ts +6 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +6 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/repository.d.ts +7 -0
- package/dist/ports/repository.d.ts.map +1 -0
- package/dist/ports/repository.js +2 -0
- package/dist/ports/repository.js.map +1 -0
- package/dist/ports/ship-audit.d.ts +26 -0
- package/dist/ports/ship-audit.d.ts.map +1 -0
- package/dist/ports/ship-audit.js +9 -0
- package/dist/ports/ship-audit.js.map +1 -0
- package/dist/ports/workspace.d.ts +14 -0
- package/dist/ports/workspace.d.ts.map +1 -0
- package/dist/ports/workspace.js +14 -0
- package/dist/ports/workspace.js.map +1 -0
- package/dist/presenters/index.d.ts +2 -0
- package/dist/presenters/index.d.ts.map +1 -0
- package/dist/presenters/index.js +2 -0
- package/dist/presenters/index.js.map +1 -0
- package/dist/presenters/proposal.presenter.d.ts +30 -0
- package/dist/presenters/proposal.presenter.d.ts.map +1 -0
- package/dist/presenters/proposal.presenter.js +47 -0
- package/dist/presenters/proposal.presenter.js.map +1 -0
- package/dist/utils/host.d.ts.map +1 -1
- package/dist/utils/host.js +77 -6
- package/dist/utils/host.js.map +1 -1
- package/dist/utils/security.d.ts +7 -1
- package/dist/utils/security.d.ts.map +1 -1
- package/dist/utils/security.js +18 -2
- package/dist/utils/security.js.map +1 -1
- package/package.json +13 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/governance/agents.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,mDAAmD;AACnD,+DAA+D;AAE/D,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/governance/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const AGENT_CHARTER = "You are an agent in a DAO governance swarm. The swarm deliberates proposals; the deterministic tally of member votes decides outcomes. Your output is a signal for that tally \u2014 never an authority over it.\n\nCharter (binding on every agent, regardless of role):\n- Deliberate in good faith: ground claims in evidence and state uncertainty explicitly.\n- Your vote is yours alone: form it independently of other agents' votes.\n- Never claim decision authority and never announce state changes \u2014 the model and the human owner decide.\n- Always answer in the exact format below; the tally parses it mechanically.\n\nOutput format:\n## Analysis\n[Your analysis]\n\n## Vote\nfor | against | abstain\n\n## Reasoning\n[Why you voted this way]\n\n## Composite Score Inputs (0-10)\n- userImpact: [0-10]\n- businessImpact: [0-10]\n- effort: [0-10] (lower = less effort)\n- securityRisk: [0-10] (lower = less risk)\n- confidence: [0-10]\n\n## Risk Score (1-10)\n[Overall risk assessment]";
|
|
2
|
+
export interface PromptLayers {
|
|
3
|
+
/** Per-project charter addendum, applied to every agent. */
|
|
4
|
+
projectCharter?: string | null;
|
|
5
|
+
/** Per-agent project instructions, applied to that agent only. */
|
|
6
|
+
agentOverride?: string | null;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Compose an agent's system prompt from its layers. Pure: the same inputs
|
|
10
|
+
* always produce the same prompt, and layers can only append — never
|
|
11
|
+
* replace — the shared charter or the role mission.
|
|
12
|
+
*/
|
|
13
|
+
export declare function composeSystemPrompt(rolePrompt: string, layers?: PromptLayers): string;
|
|
14
|
+
//# sourceMappingURL=charter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../src/governance/charter.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,aAAa,+9BA0BA,CAAC;AAE3B,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAE,YAAiB,GAAG,MAAM,CAYzF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Swarm DAO Core — Agent Charter (layered constitution)
|
|
3
|
+
// ============================================================
|
|
4
|
+
// The swarm-forge constitution pattern, adapted to the DAO: every agent
|
|
5
|
+
// prompt is composed from layers instead of repeating shared law —
|
|
6
|
+
//
|
|
7
|
+
// 1. AGENT_CHARTER — shared law: deliberation conduct + the exact
|
|
8
|
+
// output format the tally parses (defined ONCE here)
|
|
9
|
+
// 2. role prompt — the agent's mission and analysis checklist
|
|
10
|
+
// 3. project charter — .dao/agents/charter.md, appended for every agent
|
|
11
|
+
// 4. agent override — the body of .dao/agents/dao-<id>.md, appended for
|
|
12
|
+
// that agent only
|
|
13
|
+
//
|
|
14
|
+
// Layers only ADD. A project cannot replace the shared charter or a role
|
|
15
|
+
// mission — same rule as swarm-forge's "local-* articles never replace
|
|
16
|
+
// shared articles". Composition is pure and deterministic.
|
|
17
|
+
export const AGENT_CHARTER = `You are an agent in a DAO governance swarm. The swarm deliberates proposals; the deterministic tally of member votes decides outcomes. Your output is a signal for that tally — never an authority over it.
|
|
18
|
+
|
|
19
|
+
Charter (binding on every agent, regardless of role):
|
|
20
|
+
- Deliberate in good faith: ground claims in evidence and state uncertainty explicitly.
|
|
21
|
+
- Your vote is yours alone: form it independently of other agents' votes.
|
|
22
|
+
- Never claim decision authority and never announce state changes — the model and the human owner decide.
|
|
23
|
+
- Always answer in the exact format below; the tally parses it mechanically.
|
|
24
|
+
|
|
25
|
+
Output format:
|
|
26
|
+
## Analysis
|
|
27
|
+
[Your analysis]
|
|
28
|
+
|
|
29
|
+
## Vote
|
|
30
|
+
for | against | abstain
|
|
31
|
+
|
|
32
|
+
## Reasoning
|
|
33
|
+
[Why you voted this way]
|
|
34
|
+
|
|
35
|
+
## Composite Score Inputs (0-10)
|
|
36
|
+
- userImpact: [0-10]
|
|
37
|
+
- businessImpact: [0-10]
|
|
38
|
+
- effort: [0-10] (lower = less effort)
|
|
39
|
+
- securityRisk: [0-10] (lower = less risk)
|
|
40
|
+
- confidence: [0-10]
|
|
41
|
+
|
|
42
|
+
## Risk Score (1-10)
|
|
43
|
+
[Overall risk assessment]`;
|
|
44
|
+
/**
|
|
45
|
+
* Compose an agent's system prompt from its layers. Pure: the same inputs
|
|
46
|
+
* always produce the same prompt, and layers can only append — never
|
|
47
|
+
* replace — the shared charter or the role mission.
|
|
48
|
+
*/
|
|
49
|
+
export function composeSystemPrompt(rolePrompt, layers = {}) {
|
|
50
|
+
// Idempotent: an already-composed prompt (e.g. re-composition across the
|
|
51
|
+
// candidate-dir chain or a user-supplied prompt that embeds the charter)
|
|
52
|
+
// passes through unchanged rather than nesting a second charter.
|
|
53
|
+
if (rolePrompt.startsWith(AGENT_CHARTER))
|
|
54
|
+
return rolePrompt;
|
|
55
|
+
const trimmedRole = rolePrompt.trim();
|
|
56
|
+
const parts = [AGENT_CHARTER, trimmedRole];
|
|
57
|
+
const projectCharter = layers.projectCharter?.trim();
|
|
58
|
+
if (projectCharter)
|
|
59
|
+
parts.push(`## Project Charter Addendum\n\n${projectCharter}`);
|
|
60
|
+
const agentOverride = layers.agentOverride?.trim();
|
|
61
|
+
if (agentOverride)
|
|
62
|
+
parts.push(`## Project Instructions\n\n${agentOverride}`);
|
|
63
|
+
return parts.join("\n\n");
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=charter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charter.js","sourceRoot":"","sources":["../../src/governance/charter.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wDAAwD;AACxD,+DAA+D;AAC/D,wEAAwE;AACxE,mEAAmE;AACnE,EAAE;AACF,sEAAsE;AACtE,4EAA4E;AAC5E,oEAAoE;AACpE,0EAA0E;AAC1E,2EAA2E;AAC3E,yCAAyC;AACzC,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,2DAA2D;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;0BA0BH,CAAC;AAS3B;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,SAAuB,EAAE;IAC/E,yEAAyE;IACzE,yEAAyE;IACzE,iEAAiE;IACjE,IAAI,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5D,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAC;IACnF,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type ActivationMode } from "../config.js";
|
|
2
|
+
/** Proposals whose affectedPaths carry approval authority. */
|
|
3
|
+
export interface EditGateApproval {
|
|
4
|
+
proposalId: number;
|
|
5
|
+
affectedPaths?: string[];
|
|
6
|
+
status: string;
|
|
7
|
+
}
|
|
8
|
+
export interface EditPathVerdict {
|
|
9
|
+
path: string;
|
|
10
|
+
/** True when the path matches a criticalPaths glob. */
|
|
11
|
+
critical: boolean;
|
|
12
|
+
/** May the agent edit this path under the configured mode? */
|
|
13
|
+
allowed: boolean;
|
|
14
|
+
reason: string;
|
|
15
|
+
/** Proposal whose affectedPaths cover this path, when relevant. */
|
|
16
|
+
coveredByProposalId?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface EditGateDecision {
|
|
19
|
+
mode: ActivationMode;
|
|
20
|
+
/** True only when every requested path is allowed. */
|
|
21
|
+
allowed: boolean;
|
|
22
|
+
verdicts: readonly EditPathVerdict[];
|
|
23
|
+
/** Non-blocking nudge (suggest) or required next step (enforce). */
|
|
24
|
+
guidance: string | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Lexically normalize a repository-relative path so glob matching cannot be
|
|
28
|
+
* evaded by spelling variants (absolute paths, `./` prefixes, `a/../b`
|
|
29
|
+
* segments, duplicate slashes). Fail closed: anything that cannot be
|
|
30
|
+
* normalized to a deterministic in-repo path is refused, never allowed.
|
|
31
|
+
*/
|
|
32
|
+
export declare function normalizeEditPath(raw: string): {
|
|
33
|
+
ok: true;
|
|
34
|
+
path: string;
|
|
35
|
+
} | {
|
|
36
|
+
ok: false;
|
|
37
|
+
reason: string;
|
|
38
|
+
};
|
|
39
|
+
export declare function evaluateEditGate(input: {
|
|
40
|
+
paths: readonly string[];
|
|
41
|
+
mode: ActivationMode;
|
|
42
|
+
criticalPaths: readonly string[];
|
|
43
|
+
approved: readonly EditGateApproval[];
|
|
44
|
+
}): EditGateDecision;
|
|
45
|
+
/** Human-readable rendering; pure formatting. */
|
|
46
|
+
export declare function formatEditGate(decision: EditGateDecision): string;
|
|
47
|
+
//# sourceMappingURL=edit-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-gate.d.ts","sourceRoot":"","sources":["../../src/governance/edit-gate.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,cAAc,CAAC;AAEnE,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,oEAAoE;IACpE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAuBzG;AAKD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACvC,GAAG,gBAAgB,CAgGnB;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAYjE"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Swarm DAO Core — Edit Gate (mode-based path governance)
|
|
3
|
+
// ============================================================
|
|
4
|
+
// Wires the `mode` and `criticalPaths` configuration into a deterministic
|
|
5
|
+
// pre-edit decision agents can consult before touching the repository:
|
|
6
|
+
//
|
|
7
|
+
// - opt-in (default): everything is allowed; critical paths are flagged
|
|
8
|
+
// informationally.
|
|
9
|
+
// - suggest: everything is allowed; uncovered critical paths produce a
|
|
10
|
+
// non-blocking nudge toward the proposal workflow.
|
|
11
|
+
// - enforce: critical paths are only editable when an approved,
|
|
12
|
+
// controlled, or executed proposal declares them in affectedPaths.
|
|
13
|
+
//
|
|
14
|
+
// Pure: no I/O, no clock, no host SDK. The host handler feeds it the
|
|
15
|
+
// project config and the approved proposals; the model decides.
|
|
16
|
+
import { isCriticalPath } from "../config.js";
|
|
17
|
+
const AUTHORITY_STATUSES = new Set(["approved", "controlled", "executed"]);
|
|
18
|
+
/**
|
|
19
|
+
* Lexically normalize a repository-relative path so glob matching cannot be
|
|
20
|
+
* evaded by spelling variants (absolute paths, `./` prefixes, `a/../b`
|
|
21
|
+
* segments, duplicate slashes). Fail closed: anything that cannot be
|
|
22
|
+
* normalized to a deterministic in-repo path is refused, never allowed.
|
|
23
|
+
*/
|
|
24
|
+
export function normalizeEditPath(raw) {
|
|
25
|
+
if (raw.length === 0)
|
|
26
|
+
return { ok: false, reason: "empty path" };
|
|
27
|
+
if (raw.startsWith("/") || /^[A-Za-z]:[\\/]/.test(raw)) {
|
|
28
|
+
return { ok: false, reason: "absolute paths are not supported — pass repository-relative paths" };
|
|
29
|
+
}
|
|
30
|
+
if (raw.includes("\\")) {
|
|
31
|
+
return { ok: false, reason: "backslashes are not supported — use forward slashes" };
|
|
32
|
+
}
|
|
33
|
+
const segments = [];
|
|
34
|
+
for (const segment of raw.split("/")) {
|
|
35
|
+
if (segment.length === 0 || segment === ".")
|
|
36
|
+
continue;
|
|
37
|
+
if (segment === "..") {
|
|
38
|
+
if (segments.length === 0) {
|
|
39
|
+
return { ok: false, reason: "path escapes the repository root" };
|
|
40
|
+
}
|
|
41
|
+
segments.pop();
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
segments.push(segment);
|
|
45
|
+
}
|
|
46
|
+
if (segments.length === 0)
|
|
47
|
+
return { ok: false, reason: "path normalizes to the repository root" };
|
|
48
|
+
return { ok: true, path: segments.join("/") };
|
|
49
|
+
}
|
|
50
|
+
const isAuthority = (approval) => AUTHORITY_STATUSES.has(approval.status) && Boolean(approval.affectedPaths?.length);
|
|
51
|
+
export function evaluateEditGate(input) {
|
|
52
|
+
// Fail open on unknown modes, consistent with canEditWithoutProposal():
|
|
53
|
+
// only an explicit "enforce" ever blocks. loadConfig merges unvalidated
|
|
54
|
+
// JSON, so a typo in .dao/config.json must not lock the repository.
|
|
55
|
+
const mode = input.mode === "enforce" || input.mode === "suggest" ? input.mode : "opt-in";
|
|
56
|
+
const authorities = input.approved.filter(isAuthority);
|
|
57
|
+
const seen = new Set();
|
|
58
|
+
const verdicts = [];
|
|
59
|
+
for (const raw of input.paths) {
|
|
60
|
+
const trimmed = raw.trim();
|
|
61
|
+
if (trimmed.length === 0)
|
|
62
|
+
continue;
|
|
63
|
+
// Unmatchable spellings are refused in every mode — a path the gate
|
|
64
|
+
// cannot normalize must never come back as allowed.
|
|
65
|
+
const normalized = normalizeEditPath(trimmed);
|
|
66
|
+
if (!normalized.ok) {
|
|
67
|
+
verdicts.push({
|
|
68
|
+
path: trimmed,
|
|
69
|
+
critical: false,
|
|
70
|
+
allowed: false,
|
|
71
|
+
reason: `unmatchable path: ${normalized.reason}`,
|
|
72
|
+
});
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const path = normalized.path;
|
|
76
|
+
if (seen.has(path))
|
|
77
|
+
continue;
|
|
78
|
+
seen.add(path);
|
|
79
|
+
const critical = isCriticalPath(path, [...input.criticalPaths]);
|
|
80
|
+
const covering = critical
|
|
81
|
+
? authorities.find((approval) => isCriticalPath(path, approval.affectedPaths ?? []))
|
|
82
|
+
: undefined;
|
|
83
|
+
if (!critical) {
|
|
84
|
+
verdicts.push({ path, critical, allowed: true, reason: "not a critical path" });
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
if (mode === "opt-in") {
|
|
88
|
+
verdicts.push({
|
|
89
|
+
path,
|
|
90
|
+
critical,
|
|
91
|
+
allowed: true,
|
|
92
|
+
reason: covering
|
|
93
|
+
? `critical path, covered by approved proposal #${covering.proposalId}`
|
|
94
|
+
: "critical path (mode is opt-in: edits allowed, proposal optional)",
|
|
95
|
+
});
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
if (mode === "suggest") {
|
|
99
|
+
verdicts.push({
|
|
100
|
+
path,
|
|
101
|
+
critical,
|
|
102
|
+
allowed: true,
|
|
103
|
+
reason: covering
|
|
104
|
+
? `critical path, covered by approved proposal #${covering.proposalId}`
|
|
105
|
+
: "critical path — consider governing this change with a proposal",
|
|
106
|
+
...(covering ? { coveredByProposalId: covering.proposalId } : {}),
|
|
107
|
+
});
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
// enforce
|
|
111
|
+
if (covering) {
|
|
112
|
+
verdicts.push({
|
|
113
|
+
path,
|
|
114
|
+
critical,
|
|
115
|
+
allowed: true,
|
|
116
|
+
reason: `critical path covered by approved proposal #${covering.proposalId}`,
|
|
117
|
+
coveredByProposalId: covering.proposalId,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
verdicts.push({
|
|
122
|
+
path,
|
|
123
|
+
critical,
|
|
124
|
+
allowed: false,
|
|
125
|
+
reason: "enforce mode: critical path without an approved proposal",
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const denied = verdicts.filter((verdict) => !verdict.allowed);
|
|
130
|
+
const uncoveredCritical = verdicts.filter((verdict) => verdict.critical && !verdict.coveredByProposalId);
|
|
131
|
+
let guidance = null;
|
|
132
|
+
if (mode === "suggest" && uncoveredCritical.length > 0) {
|
|
133
|
+
guidance =
|
|
134
|
+
"Suggestion: create a proposal (`dao_propose`) covering these critical paths and deliberate it before proceeding.";
|
|
135
|
+
}
|
|
136
|
+
else if (mode === "enforce" && denied.length > 0) {
|
|
137
|
+
guidance =
|
|
138
|
+
"Blocked by enforce mode: create a proposal (`dao_propose`) with these paths in affectedPaths, deliberate, and get it approved before editing.";
|
|
139
|
+
}
|
|
140
|
+
return { mode, allowed: denied.length === 0, verdicts, guidance };
|
|
141
|
+
}
|
|
142
|
+
/** Human-readable rendering; pure formatting. */
|
|
143
|
+
export function formatEditGate(decision) {
|
|
144
|
+
const header = decision.allowed ? "# ✅ Edit Gate — Allowed" : `# 🛑 Edit Gate — Blocked (${decision.mode} mode)`;
|
|
145
|
+
const rows = decision.verdicts
|
|
146
|
+
.map((verdict) => {
|
|
147
|
+
const flag = verdict.allowed ? "✅" : "❌";
|
|
148
|
+
const critical = verdict.critical ? " [critical]" : "";
|
|
149
|
+
const covered = verdict.coveredByProposalId ? ` (covered by #${verdict.coveredByProposalId})` : "";
|
|
150
|
+
return `- ${flag} \`${verdict.path}\`${critical}${covered} — ${verdict.reason}`;
|
|
151
|
+
})
|
|
152
|
+
.join("\n");
|
|
153
|
+
const guidance = decision.guidance ? `\n\n${decision.guidance}` : "";
|
|
154
|
+
return `${header}\n\nMode: **${decision.mode}**\n\n${rows}${guidance}`;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=edit-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-gate.js","sourceRoot":"","sources":["../../src/governance/edit-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ export * from "./agents.js";
|
|
|
2
2
|
export * from "./amendments.js";
|
|
3
3
|
export * from "./delegation.machine.js";
|
|
4
4
|
export * from "./delegation.utils.js";
|
|
5
|
+
export * from "./edit-gate.js";
|
|
5
6
|
export * from "./lifecycle.js";
|
|
6
7
|
export * from "./proposal.machine.js";
|
|
7
8
|
export * from "./proposal.utils.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AACA,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
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
package/dist/governance/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./agents.js";
|
|
|
3
3
|
export * from "./amendments.js";
|
|
4
4
|
export * from "./delegation.machine.js";
|
|
5
5
|
export * from "./delegation.utils.js";
|
|
6
|
+
export * from "./edit-gate.js";
|
|
6
7
|
export * from "./lifecycle.js";
|
|
7
8
|
export * from "./proposal.machine.js";
|
|
8
9
|
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,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
|
+
{"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,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
@@ -1,115 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
proposal: Proposal;
|
|
4
|
-
errorMessage?: string;
|
|
5
|
-
lastTransitionTime: string;
|
|
6
|
-
}
|
|
7
|
-
export interface ProposalMachineInput {
|
|
8
|
-
proposal: Proposal;
|
|
9
|
-
lastTransitionTime?: string;
|
|
10
|
-
}
|
|
11
|
-
export type ProposalEvent = {
|
|
12
|
-
type: "DELIBERATE";
|
|
13
|
-
} | {
|
|
14
|
-
type: "APPROVE";
|
|
15
|
-
tally: TallyResult;
|
|
16
|
-
} | {
|
|
17
|
-
type: "REJECT";
|
|
18
|
-
} | {
|
|
19
|
-
type: "CONTROL_PASS";
|
|
20
|
-
result: ControlCheckResult;
|
|
21
|
-
} | {
|
|
22
|
-
type: "CONTROL_FAIL";
|
|
23
|
-
} | {
|
|
24
|
-
type: "EXECUTE_SUCCESS";
|
|
25
|
-
} | {
|
|
26
|
-
type: "FAIL";
|
|
27
|
-
} | {
|
|
28
|
-
type: "DISCARD";
|
|
29
|
-
} | {
|
|
30
|
-
type: "ERROR";
|
|
31
|
-
message: string;
|
|
32
|
-
};
|
|
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";
|
|
37
|
-
} | {
|
|
38
|
-
type: "APPROVE";
|
|
39
|
-
tally: TallyResult;
|
|
40
|
-
} | {
|
|
41
|
-
type: "REJECT";
|
|
42
|
-
} | {
|
|
43
|
-
type: "CONTROL_PASS";
|
|
44
|
-
result: ControlCheckResult;
|
|
45
|
-
} | {
|
|
46
|
-
type: "CONTROL_FAIL";
|
|
47
|
-
} | {
|
|
48
|
-
type: "EXECUTE_SUCCESS";
|
|
49
|
-
} | {
|
|
50
|
-
type: "FAIL";
|
|
51
|
-
} | {
|
|
52
|
-
type: "DISCARD";
|
|
53
|
-
} | {
|
|
54
|
-
type: "ERROR";
|
|
55
|
-
message: string;
|
|
56
|
-
}, {}, never, never, {
|
|
57
|
-
type: "tallyApproved";
|
|
58
|
-
params: unknown;
|
|
59
|
-
} | {
|
|
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";
|
|
76
|
-
} | {
|
|
77
|
-
type: "APPROVE";
|
|
78
|
-
tally: TallyResult;
|
|
79
|
-
} | {
|
|
80
|
-
type: "REJECT";
|
|
81
|
-
} | {
|
|
82
|
-
type: "CONTROL_PASS";
|
|
83
|
-
result: ControlCheckResult;
|
|
84
|
-
} | {
|
|
85
|
-
type: "CONTROL_FAIL";
|
|
86
|
-
} | {
|
|
87
|
-
type: "EXECUTE_SUCCESS";
|
|
88
|
-
} | {
|
|
89
|
-
type: "FAIL";
|
|
90
|
-
} | {
|
|
91
|
-
type: "DISCARD";
|
|
92
|
-
} | {
|
|
93
|
-
type: "ERROR";
|
|
94
|
-
message: string;
|
|
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, {
|
|
102
|
-
id: "proposalLifecycle";
|
|
103
|
-
states: {
|
|
104
|
-
readonly open: {};
|
|
105
|
-
readonly deliberating: {};
|
|
106
|
-
readonly approved: {};
|
|
107
|
-
readonly controlled: {};
|
|
108
|
-
readonly executed: {};
|
|
109
|
-
readonly failed: {};
|
|
110
|
-
readonly rejected: {};
|
|
111
|
-
};
|
|
112
|
-
}>;
|
|
113
|
-
export type ProposalMachine = ReturnType<typeof buildProposalMachine>;
|
|
114
|
-
export {};
|
|
1
|
+
/** @deprecated Behavioral models now live in `/models`, the source of truth. */
|
|
2
|
+
export * from "../models/proposal.machine.js";
|
|
115
3
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"proposal.machine.d.ts","sourceRoot":"","sources":["../../src/governance/proposal.machine.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,cAAc,+BAA+B,CAAC"}
|