@guyghost/swarm-dao-core 0.12.1 → 0.14.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/application/index.d.ts +1 -0
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +1 -0
- package/dist/application/index.js.map +1 -1
- package/dist/application/proposals/deliberate-proposal.use-case.d.ts +2 -0
- package/dist/application/proposals/deliberate-proposal.use-case.d.ts.map +1 -1
- package/dist/application/proposals/deliberate-proposal.use-case.js +16 -7
- package/dist/application/proposals/deliberate-proposal.use-case.js.map +1 -1
- package/dist/application/proposals/record-deliberation-outputs.use-case.d.ts.map +1 -1
- package/dist/application/proposals/record-deliberation-outputs.use-case.js +4 -2
- package/dist/application/proposals/record-deliberation-outputs.use-case.js.map +1 -1
- package/dist/application/proposals/reject-proposal.use-case.d.ts +31 -0
- package/dist/application/proposals/reject-proposal.use-case.d.ts.map +1 -0
- package/dist/application/proposals/reject-proposal.use-case.js +47 -0
- package/dist/application/proposals/reject-proposal.use-case.js.map +1 -0
- package/dist/application/proposals/round-table.use-case.d.ts +2 -0
- package/dist/application/proposals/round-table.use-case.d.ts.map +1 -1
- package/dist/application/proposals/round-table.use-case.js +11 -1
- package/dist/application/proposals/round-table.use-case.js.map +1 -1
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/registry.js +20 -3
- package/dist/commands/registry.js.map +1 -1
- package/dist/config.d.ts +14 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/governance/agents.d.ts +0 -1
- package/dist/governance/agents.d.ts.map +1 -1
- package/dist/governance/agents.js +199 -73
- package/dist/governance/agents.js.map +1 -1
- package/dist/governance/voting.d.ts +7 -0
- package/dist/governance/voting.d.ts.map +1 -1
- package/dist/governance/voting.js +16 -1
- package/dist/governance/voting.js.map +1 -1
- package/dist/host-tools/github-config.d.ts +6 -4
- package/dist/host-tools/github-config.d.ts.map +1 -1
- package/dist/host-tools/github-config.js +15 -24
- package/dist/host-tools/github-config.js.map +1 -1
- package/dist/host-tools/handlers.d.ts +2 -1
- package/dist/host-tools/handlers.d.ts.map +1 -1
- package/dist/host-tools/handlers.js +24 -5
- package/dist/host-tools/handlers.js.map +1 -1
- package/dist/host-tools/project-brief.d.ts +6 -0
- package/dist/host-tools/project-brief.d.ts.map +1 -0
- package/dist/host-tools/project-brief.js +180 -0
- package/dist/host-tools/project-brief.js.map +1 -0
- package/dist/integrations/github.d.ts +4 -2
- package/dist/integrations/github.d.ts.map +1 -1
- package/dist/integrations/github.js +112 -66
- package/dist/integrations/github.js.map +1 -1
- package/dist/intelligence/roundtable.d.ts +3 -1
- package/dist/intelligence/roundtable.d.ts.map +1 -1
- package/dist/intelligence/roundtable.js +9 -7
- package/dist/intelligence/roundtable.js.map +1 -1
- package/dist/intelligence/sequential.d.ts +2 -0
- package/dist/intelligence/sequential.d.ts.map +1 -1
- package/dist/intelligence/sequential.js +3 -1
- package/dist/intelligence/sequential.js.map +1 -1
- package/dist/intelligence/swarm.d.ts +5 -1
- package/dist/intelligence/swarm.d.ts.map +1 -1
- package/dist/intelligence/swarm.js +6 -5
- package/dist/intelligence/swarm.js.map +1 -1
- package/dist/presenters/proposal.presenter.d.ts +4 -0
- package/dist/presenters/proposal.presenter.d.ts.map +1 -1
- package/dist/presenters/proposal.presenter.js +3 -0
- package/dist/presenters/proposal.presenter.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
// ============================================================
|
|
2
|
-
// Swarm DAO Core — GitHub Integration
|
|
2
|
+
// Swarm DAO Core — GitHub Integration (via the `gh` CLI)
|
|
3
3
|
// ============================================================
|
|
4
|
+
//
|
|
5
|
+
// Authentication is delegated to the GitHub CLI: the user runs
|
|
6
|
+
// `gh auth login` once and Swarm DAO never stores or transmits
|
|
7
|
+
// tokens. Every API call is a `gh api` subprocess, so credentials
|
|
8
|
+
// are managed entirely by `gh`.
|
|
9
|
+
import { spawn } from "node:child_process";
|
|
4
10
|
import { logger } from "../observability/logging.js";
|
|
5
|
-
import { HttpRequestError, requestJson } from "./http.js";
|
|
6
11
|
import { slugify } from "./utils.js";
|
|
7
12
|
let config = null;
|
|
8
13
|
export function configureGitHub(cfg) {
|
|
@@ -11,25 +16,84 @@ export function configureGitHub(cfg) {
|
|
|
11
16
|
export function getGitHubConfig() {
|
|
12
17
|
return config;
|
|
13
18
|
}
|
|
14
|
-
function getAuthToken() {
|
|
15
|
-
const token = config?.token;
|
|
16
|
-
if (token && token !== "[REDACTED]") {
|
|
17
|
-
return token;
|
|
18
|
-
}
|
|
19
|
-
return process.env.DAO_GITHUB_TOKEN;
|
|
20
|
-
}
|
|
21
19
|
export function isGitHubEnabled() {
|
|
22
|
-
return config?.enabled === true && !!
|
|
20
|
+
return config?.enabled === true && !!config.owner && !!config.repo;
|
|
21
|
+
}
|
|
22
|
+
/** Whether proposal modifications should be mirrored to GitHub issues. */
|
|
23
|
+
export function isIssueSyncEnabled() {
|
|
24
|
+
return isGitHubEnabled() && config?.issues === true;
|
|
23
25
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
const GH_TIMEOUT_MS = 30_000;
|
|
27
|
+
function runGh(args, input) {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
const child = spawn("gh", args, { stdio: [input === undefined ? "ignore" : "pipe", "pipe", "pipe"] });
|
|
30
|
+
const stdoutStream = child.stdout;
|
|
31
|
+
const stderrStream = child.stderr;
|
|
32
|
+
const stdinStream = child.stdin;
|
|
33
|
+
let stdout = "";
|
|
34
|
+
let stderr = "";
|
|
35
|
+
let settled = false;
|
|
36
|
+
const timer = setTimeout(() => {
|
|
37
|
+
child.kill("SIGTERM");
|
|
38
|
+
if (!settled) {
|
|
39
|
+
settled = true;
|
|
40
|
+
reject(new Error(`gh ${args.join(" ")} timed out after ${GH_TIMEOUT_MS}ms`));
|
|
41
|
+
}
|
|
42
|
+
}, GH_TIMEOUT_MS);
|
|
43
|
+
stdoutStream?.on("data", (chunk) => {
|
|
44
|
+
stdout += chunk;
|
|
45
|
+
});
|
|
46
|
+
stderrStream?.on("data", (chunk) => {
|
|
47
|
+
stderr += chunk;
|
|
48
|
+
});
|
|
49
|
+
child.on("error", (error) => {
|
|
50
|
+
if (!settled) {
|
|
51
|
+
settled = true;
|
|
52
|
+
clearTimeout(timer);
|
|
53
|
+
reject(error);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
child.on("close", (code) => {
|
|
57
|
+
clearTimeout(timer);
|
|
58
|
+
if (settled)
|
|
59
|
+
return;
|
|
60
|
+
settled = true;
|
|
61
|
+
if (code === 0)
|
|
62
|
+
resolve(stdout);
|
|
63
|
+
else
|
|
64
|
+
reject(new Error(stderr.trim() || `gh exited with code ${code}`));
|
|
65
|
+
});
|
|
66
|
+
if (input !== undefined) {
|
|
67
|
+
stdinStream?.on("error", () => { });
|
|
68
|
+
stdinStream?.write(input);
|
|
69
|
+
stdinStream?.end();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
26
72
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"X
|
|
32
|
-
|
|
73
|
+
/** Call `gh api <route>` and parse the JSON response (null for empty bodies). */
|
|
74
|
+
async function ghApi(route, options) {
|
|
75
|
+
const args = ["api", route];
|
|
76
|
+
if (options?.method)
|
|
77
|
+
args.push("-X", options.method);
|
|
78
|
+
if (options?.body !== undefined)
|
|
79
|
+
args.push("--input", "-");
|
|
80
|
+
let stdout;
|
|
81
|
+
try {
|
|
82
|
+
stdout = await runGh(args, options?.body === undefined ? undefined : JSON.stringify(options.body));
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
throw new Error(`gh api ${route} failed: ${error instanceof Error ? error.message : String(error)}. ` +
|
|
86
|
+
"Ensure the GitHub CLI is installed and authenticated (`gh auth login`).");
|
|
87
|
+
}
|
|
88
|
+
const text = stdout.trim();
|
|
89
|
+
if (!text)
|
|
90
|
+
return null;
|
|
91
|
+
try {
|
|
92
|
+
return JSON.parse(text);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
throw new Error(`Invalid JSON from gh api ${route}: ${error instanceof Error ? error.message : String(error)}`);
|
|
96
|
+
}
|
|
33
97
|
}
|
|
34
98
|
export function ghBranchNameFor(proposal) {
|
|
35
99
|
return `dao/${proposal.id}-${slugify(proposal.title)}`;
|
|
@@ -39,66 +103,49 @@ export async function ghCreateBranch(branchName, baseBranch) {
|
|
|
39
103
|
return null;
|
|
40
104
|
const base = baseBranch || config?.defaultBranch || "main";
|
|
41
105
|
// Get base branch SHA
|
|
42
|
-
|
|
106
|
+
const refData = await ghApi(`repos/${config?.owner}/${config?.repo}/git/ref/heads/${base}`);
|
|
107
|
+
const sha = refData?.object?.sha;
|
|
108
|
+
if (!sha)
|
|
109
|
+
return null;
|
|
110
|
+
// Create branch. A 422 "already exists" is tolerated so re-runs are
|
|
111
|
+
// idempotent (matching the previous REST integration behaviour).
|
|
43
112
|
try {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
113
|
+
await ghApi(`repos/${config?.owner}/${config?.repo}/git/refs`, {
|
|
114
|
+
method: "POST",
|
|
115
|
+
body: { ref: `refs/heads/${branchName}`, sha },
|
|
116
|
+
});
|
|
47
117
|
}
|
|
48
118
|
catch (error) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
throw error;
|
|
119
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
120
|
+
if (!message.includes("already exists"))
|
|
121
|
+
throw error;
|
|
53
122
|
}
|
|
54
|
-
const sha = refData?.object?.sha;
|
|
55
|
-
if (!sha)
|
|
56
|
-
return null;
|
|
57
|
-
// Create branch
|
|
58
|
-
await requestJson(`${getApiBase()}/repos/${config?.owner}/${config?.repo}/git/refs`, {
|
|
59
|
-
method: "POST",
|
|
60
|
-
headers: { ...getAuthHeaders(), "Content-Type": "application/json" },
|
|
61
|
-
body: JSON.stringify({ ref: `refs/heads/${branchName}`, sha }),
|
|
62
|
-
allowStatuses: [422],
|
|
63
|
-
});
|
|
64
123
|
return { ref: `refs/heads/${branchName}`, sha };
|
|
65
124
|
}
|
|
66
125
|
export async function ghCreatePullRequest(proposal, options) {
|
|
67
126
|
if (!isGitHubEnabled())
|
|
68
127
|
return null;
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
base: options.baseBranch || config?.defaultBranch || "main",
|
|
80
|
-
draft: options.draft ?? false,
|
|
81
|
-
}),
|
|
82
|
-
}));
|
|
83
|
-
}
|
|
84
|
-
catch (error) {
|
|
85
|
-
if (error instanceof HttpRequestError) {
|
|
86
|
-
throw new Error(`Failed to create PR: ${error.status}`);
|
|
87
|
-
}
|
|
88
|
-
throw error;
|
|
89
|
-
}
|
|
128
|
+
const data = await ghApi(`repos/${config?.owner}/${config?.repo}/pulls`, {
|
|
129
|
+
method: "POST",
|
|
130
|
+
body: {
|
|
131
|
+
title: proposal.title,
|
|
132
|
+
body: buildPRBody(proposal, options.linkedIssue),
|
|
133
|
+
head: options.headBranch,
|
|
134
|
+
base: options.baseBranch || config?.defaultBranch || "main",
|
|
135
|
+
draft: options.draft ?? false,
|
|
136
|
+
},
|
|
137
|
+
});
|
|
90
138
|
if (!data)
|
|
91
139
|
return null;
|
|
92
140
|
return { number: data.number, url: data.html_url };
|
|
93
141
|
}
|
|
94
142
|
export async function ghCreateIssue(title, body, labels) {
|
|
95
|
-
if (!
|
|
143
|
+
if (!isIssueSyncEnabled())
|
|
96
144
|
return null;
|
|
97
145
|
try {
|
|
98
|
-
const
|
|
146
|
+
const data = await ghApi(`repos/${config?.owner}/${config?.repo}/issues`, {
|
|
99
147
|
method: "POST",
|
|
100
|
-
|
|
101
|
-
body: JSON.stringify({ title, body, labels: labels ?? ["dao-proposal"] }),
|
|
148
|
+
body: { title, body, labels: labels ?? ["dao-proposal"] },
|
|
102
149
|
});
|
|
103
150
|
if (!data)
|
|
104
151
|
return null;
|
|
@@ -110,13 +157,12 @@ export async function ghCreateIssue(title, body, labels) {
|
|
|
110
157
|
}
|
|
111
158
|
}
|
|
112
159
|
export async function ghUpdateIssue(issueNumber, updates) {
|
|
113
|
-
if (!
|
|
160
|
+
if (!isIssueSyncEnabled())
|
|
114
161
|
return false;
|
|
115
162
|
try {
|
|
116
|
-
await
|
|
163
|
+
await ghApi(`repos/${config?.owner}/${config?.repo}/issues/${issueNumber}`, {
|
|
117
164
|
method: "PATCH",
|
|
118
|
-
|
|
119
|
-
body: JSON.stringify(updates),
|
|
165
|
+
body: updates,
|
|
120
166
|
});
|
|
121
167
|
return true;
|
|
122
168
|
}
|
|
@@ -143,7 +189,7 @@ function buildPRBody(proposal, linkedIssue) {
|
|
|
143
189
|
}
|
|
144
190
|
// ── Proposal Sync ────────────────────────────────────────────
|
|
145
191
|
export async function ghSyncProposal(proposal, issueNumber) {
|
|
146
|
-
if (!
|
|
192
|
+
if (!isIssueSyncEnabled())
|
|
147
193
|
return null;
|
|
148
194
|
const body = `## DAO Proposal #${proposal.id}\n\n**Type:** ${proposal.type}\n**Risk Zone:** ${proposal.riskZone ?? "unknown"}\n**Status:** ${proposal.status}\n\n${proposal.description}\n\n${proposal.problemStatement ? `### Problem Statement\n${proposal.problemStatement}\n` : ""}`;
|
|
149
195
|
if (issueNumber) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/integrations/github.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/integrations/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export interface RoundTableSuggestion {
|
|
|
14
14
|
proposalId?: number;
|
|
15
15
|
error?: string;
|
|
16
16
|
}
|
|
17
|
-
export declare function runRoundTable(adapter: AgentWorkerPort, agents: DAOAgent[], maxConcurrent: number, modelContext: ModelResolutionContext, clock?: ClockPort
|
|
17
|
+
export declare function runRoundTable(adapter: AgentWorkerPort, agents: DAOAgent[], maxConcurrent: number, modelContext: ModelResolutionContext, clock?: ClockPort, options?: {
|
|
18
|
+
projectBrief?: string;
|
|
19
|
+
}): Promise<RoundTableSuggestion[]>;
|
|
18
20
|
export declare function formatRoundTableResults(suggestions: RoundTableSuggestion[], _proposalIds?: Map<string, number>, proposalTitles?: Map<number, string>): string;
|
|
19
21
|
//# sourceMappingURL=roundtable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundtable.d.ts","sourceRoot":"","sources":["../../src/intelligence/roundtable.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,KAAK,sBAAsB,EAAqB,MAAM,YAAY,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,YAAY,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"roundtable.d.ts","sourceRoot":"","sources":["../../src/intelligence/roundtable.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,KAAK,sBAAsB,EAAqB,MAAM,YAAY,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,YAAY,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiBD,wBAAsB,aAAa,CACjC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,QAAQ,EAAE,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,sBAAsB,EACpC,KAAK,GAAE,SAAmD,EAC1D,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACtC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAsDjC;AAmBD,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,oBAAoB,EAAE,EACnC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CAoCR"}
|
|
@@ -5,19 +5,21 @@ import { PROPOSAL_TYPE, PROPOSAL_TYPES } from "../types/index.js";
|
|
|
5
5
|
import { resolveAgentModel } from "./model.js";
|
|
6
6
|
const SUGGESTION_PROMPT = `You are participating in a DAO Round Table.
|
|
7
7
|
|
|
8
|
-
Your task: suggest ONE concrete proposal that would improve the project.
|
|
8
|
+
Your task: suggest ONE concrete proposal that would improve the project described above (see the Project Brief when provided).
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Grounding rules (mandatory):
|
|
11
|
+
- Cite actual files, modules, commands, docs, or recent commits from the Project Brief.
|
|
12
|
+
- Never propose generic improvements (e.g. "add tests", "improve docs", "add CI", "refactor code") unless the brief shows a concrete, named gap.
|
|
13
|
+
- Never re-propose anything already listed under "Recent proposals" or visible in "Recent commits" — propose what is MISSING or BROKEN, not what exists.
|
|
11
14
|
|
|
12
15
|
Output format:
|
|
13
16
|
## Suggested Proposal
|
|
14
17
|
**Title:** [short title]
|
|
15
18
|
**Type:** [product-feature | security-change | technical-change | release-change | governance-change]
|
|
16
|
-
**Description:** [2-3 sentences describing what and why]
|
|
17
|
-
|
|
18
|
-
Be specific. Reference actual files, patterns, or problems if you can.`;
|
|
19
|
-
export async function runRoundTable(adapter, agents, maxConcurrent, modelContext, clock = { now: () => new Date().toISOString() }) {
|
|
19
|
+
**Description:** [2-3 sentences describing what and why, grounded in specific files/commits/docs]`;
|
|
20
|
+
export async function runRoundTable(adapter, agents, maxConcurrent, modelContext, clock = { now: () => new Date().toISOString() }, options = {}) {
|
|
20
21
|
const suggestions = [];
|
|
22
|
+
const brief = options.projectBrief?.trim();
|
|
21
23
|
// Process in batches
|
|
22
24
|
for (let i = 0; i < agents.length; i += maxConcurrent) {
|
|
23
25
|
const batch = agents.slice(i, i + maxConcurrent);
|
|
@@ -36,7 +38,7 @@ export async function runRoundTable(adapter, agents, maxConcurrent, modelContext
|
|
|
36
38
|
agentOutputs: [],
|
|
37
39
|
createdAt: clock.now(),
|
|
38
40
|
},
|
|
39
|
-
systemPrompt: `${agent.systemPrompt}\n\n${SUGGESTION_PROMPT}`,
|
|
41
|
+
systemPrompt: `${agent.systemPrompt}\n\n${brief ? `${brief}\n\n` : ""}${SUGGESTION_PROMPT}`,
|
|
40
42
|
model: resolveAgentModel(agent, modelContext),
|
|
41
43
|
timeoutMs: 60_000,
|
|
42
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundtable.js","sourceRoot":"","sources":["../../src/intelligence/roundtable.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,0DAA0D;AAC1D,+DAA+D;AAK/D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAA+B,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAe5E,MAAM,iBAAiB,GAAG
|
|
1
|
+
{"version":3,"file":"roundtable.js","sourceRoot":"","sources":["../../src/intelligence/roundtable.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ export interface SequentialDispatchOptions extends PriorAnalysesOptions {
|
|
|
24
24
|
agentName: string;
|
|
25
25
|
phase: "started" | "completed" | "error";
|
|
26
26
|
}) => void;
|
|
27
|
+
/** Shared project brief injected into every participant's prompt. */
|
|
28
|
+
projectBrief?: string;
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
31
|
* Dispatch deliberation as a sequential pipeline: agents run in the given
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequential.d.ts","sourceRoot":"","sources":["../../src/intelligence/sequential.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAWR;AAED,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"sequential.d.ts","sourceRoot":"","sources":["../../src/intelligence/sequential.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAWR;AAED,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9G,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,sBAAsB,EACpC,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,WAAW,EAAE,CAAC,CA6CxB"}
|
|
@@ -49,7 +49,9 @@ export function buildPriorAnalysesSection(priorOutputs, options = {}) {
|
|
|
49
49
|
* dispatch.
|
|
50
50
|
*/
|
|
51
51
|
export async function dispatchSequentialSwarm(proposal, agents, adapter, modelContext, options = {}) {
|
|
52
|
-
const instructions = buildDispatchInstructions(proposal, [...agents], modelContext
|
|
52
|
+
const instructions = buildDispatchInstructions(proposal, [...agents], modelContext, {
|
|
53
|
+
projectBrief: options.projectBrief,
|
|
54
|
+
});
|
|
53
55
|
const agentById = new Map(agents.map((agent) => [agent.id, agent]));
|
|
54
56
|
const outputs = [];
|
|
55
57
|
for (const instruction of instructions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../src/intelligence/sequential.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,sDAAsD;AACtD,+DAA+D;AAC/D,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,gEAAgE;AAChE,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,kDAAkD;AAKlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAOD,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,YAAoC,EACpC,UAAgC,EAAE;IAElC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,IAAI,uBAAuB,CAAC;IAC/D,MAAM,OAAO,GAAG,YAAY;SACzB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpF,OAAO,QAAQ,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,SAAS,UAAU,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/F,CAAC,CAAC,CAAC;IACL,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,+IAA+I,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/K,CAAC;
|
|
1
|
+
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../src/intelligence/sequential.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,9 @@ export interface DispatchInstruction {
|
|
|
20
20
|
* Build dispatch instructions for each agent.
|
|
21
21
|
* Host adapters use these to spawn sub-agents.
|
|
22
22
|
*/
|
|
23
|
-
export declare function buildDispatchInstructions(proposal: Proposal, agents: DAOAgent[], modelContext: ModelResolutionContext
|
|
23
|
+
export declare function buildDispatchInstructions(proposal: Proposal, agents: DAOAgent[], modelContext: ModelResolutionContext, options?: {
|
|
24
|
+
projectBrief?: string;
|
|
25
|
+
}): DispatchInstruction[];
|
|
24
26
|
export declare function formatDispatchPlan(proposal: Proposal, instructions: DispatchInstruction[], options?: {
|
|
25
27
|
strategy?: "parallel" | "sequential";
|
|
26
28
|
charsPerAgent?: number;
|
|
@@ -42,6 +44,8 @@ export declare function createDispatchModelContext(configDefaultModel: string, a
|
|
|
42
44
|
*/
|
|
43
45
|
export declare function dispatchSwarm(proposal: Proposal, agents: DAOAgent[], adapter: AgentWorkerPort, maxConcurrent: number, modelContext: ModelResolutionContext, onUpdate?: (update: SwarmProgressUpdate) => void, delegation?: {
|
|
44
46
|
config: DAOConfig;
|
|
47
|
+
}, options?: {
|
|
48
|
+
projectBrief?: string;
|
|
45
49
|
}): Promise<AgentOutput[]>;
|
|
46
50
|
/** Clear the coordinator registry for a proposal once deliberation is over. */
|
|
47
51
|
export declare function resetDelegationRegistry(proposalId: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/intelligence/swarm.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAGL,KAAK,sBAAsB,EAE5B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACrD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAAE,EAClB,YAAY,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/intelligence/swarm.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAGL,KAAK,sBAAsB,EAE5B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACrD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAAE,EAClB,YAAY,EAAE,sBAAsB,EACpC,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACtC,mBAAmB,EAAE,CA+BvB;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,mBAAmB,EAAE,EACnC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7E,MAAM,CA+BR;AAED,wBAAgB,0BAA0B,CACxC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,GACnE,sBAAsB,CAKxB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,EAAE,EAClB,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,sBAAsB,EACpC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,EAChD,UAAU,CAAC,EAAE;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,EAClC,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,OAAO,CAAC,WAAW,EAAE,CAAC,CAkGxB;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEhE"}
|
|
@@ -8,7 +8,9 @@ import { buildModelResolutionContext, describeModelResolution, resolveAgentModel
|
|
|
8
8
|
* Build dispatch instructions for each agent.
|
|
9
9
|
* Host adapters use these to spawn sub-agents.
|
|
10
10
|
*/
|
|
11
|
-
export function buildDispatchInstructions(proposal, agents, modelContext) {
|
|
11
|
+
export function buildDispatchInstructions(proposal, agents, modelContext, options = {}) {
|
|
12
|
+
const brief = options.projectBrief?.trim();
|
|
13
|
+
const briefSection = brief ? `${brief}\n\n` : "";
|
|
12
14
|
const basePrompt = `You are participating in DAO governance deliberation for the following proposal.
|
|
13
15
|
|
|
14
16
|
## Proposal #${proposal.id}: ${proposal.title}
|
|
@@ -22,8 +24,7 @@ ${Array.isArray(proposal.acceptanceCriteria) && proposal.acceptanceCriteria.leng
|
|
|
22
24
|
? `**Acceptance Criteria:**\n${proposal.acceptanceCriteria.map((ac, _i) => `- ${typeof ac === "string" ? ac : ac.id}: ${typeof ac === "string" ? ac : `${ac.given} / ${ac.when} / ${ac.then}`}`).join("\n")}\n\n`
|
|
23
25
|
: ""}
|
|
24
26
|
${proposal.successMetrics?.length ? `**Success Metrics:**\n${proposal.successMetrics.map((m) => `- ${m}`).join("\n")}\n\n` : ""}
|
|
25
|
-
|
|
26
|
-
Evaluate this proposal carefully. Provide your analysis, vote, and scoring.`;
|
|
27
|
+
${briefSection}Evaluate this proposal carefully. Provide your analysis, vote, and scoring.`;
|
|
27
28
|
return agents.map((agent) => {
|
|
28
29
|
const model = resolveAgentModel(agent, modelContext);
|
|
29
30
|
return {
|
|
@@ -82,8 +83,8 @@ export function createDispatchModelContext(configDefaultModel, adapter, options)
|
|
|
82
83
|
* coordinators are registered for the `delegation-closed` gate (INV-8) and
|
|
83
84
|
* drained on completion.
|
|
84
85
|
*/
|
|
85
|
-
export async function dispatchSwarm(proposal, agents, adapter, maxConcurrent, modelContext, onUpdate, delegation) {
|
|
86
|
-
const instructions = buildDispatchInstructions(proposal, agents, modelContext);
|
|
86
|
+
export async function dispatchSwarm(proposal, agents, adapter, maxConcurrent, modelContext, onUpdate, delegation, options) {
|
|
87
|
+
const instructions = buildDispatchInstructions(proposal, agents, modelContext, options);
|
|
87
88
|
const outputs = [];
|
|
88
89
|
const agentById = new Map(agents.map((a) => [a.id, a]));
|
|
89
90
|
const delegationEnabled = delegation?.config?.delegation?.enabled === true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/intelligence/swarm.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kCAAkC;AAClC,+DAA+D;AAE/D,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAG5G,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EAEvB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAmBpB;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAkB,EAClB,MAAkB,EAClB,YAAoC;
|
|
1
|
+
{"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/intelligence/swarm.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { InitializeDaoResult } from "../application/initialize-dao.use-case
|
|
|
2
2
|
import type { CreateAmendmentProposalResult } from "../application/proposals/create-amendment-proposal.use-case.js";
|
|
3
3
|
import type { DeliberateProposalResult } from "../application/proposals/deliberate-proposal.use-case.js";
|
|
4
4
|
import type { ExecuteProposalResult } from "../application/proposals/execute-proposal.use-case.js";
|
|
5
|
+
import type { RejectProposalResult } from "../application/proposals/reject-proposal.use-case.js";
|
|
5
6
|
import type { RollbackProposalResult } from "../application/proposals/rollback-proposal.use-case.js";
|
|
6
7
|
import type { ShipProposalResult } from "../application/proposals/ship-proposal.use-case.js";
|
|
7
8
|
import type { ControlCheckResult, DryRunResult, OutcomeRating, Proposal } from "../types/index.js";
|
|
@@ -27,4 +28,7 @@ export declare function presentDryRun(result: DryRunResult): string;
|
|
|
27
28
|
export declare function presentRating(rating: OutcomeRating): string;
|
|
28
29
|
export declare function presentProposalUpdated(proposal: Proposal): string;
|
|
29
30
|
export declare function presentRollback(result: RollbackProposalResult): string;
|
|
31
|
+
export declare function presentRejection(result: Extract<RejectProposalResult, {
|
|
32
|
+
ok: true;
|
|
33
|
+
}>): string;
|
|
30
34
|
//# sourceMappingURL=proposal.presenter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal.presenter.d.ts","sourceRoot":"","sources":["../../src/presenters/proposal.presenter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gEAAgE,CAAC;AACpH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACzG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AACrG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAM7F,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGnG,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAGzE;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,wBAAwB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,EACvD,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACxD,MAAM,CAGR;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAElE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,MAAM,CAK7F;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,MAAM,CAErF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,6BAA6B,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,MAAM,CAErG;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEjE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAEtE"}
|
|
1
|
+
{"version":3,"file":"proposal.presenter.d.ts","sourceRoot":"","sources":["../../src/presenters/proposal.presenter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gEAAgE,CAAC;AACpH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACzG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AACrG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAM7F,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGnG,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAGzE;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,wBAAwB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,EACvD,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACxD,MAAM,CAGR;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAElE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,MAAM,CAK7F;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,MAAM,CAErF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,6BAA6B,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,MAAM,CAErG;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEjE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAEtE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,GAAG,MAAM,CAE5F"}
|
|
@@ -44,4 +44,7 @@ export function presentProposalUpdated(proposal) {
|
|
|
44
44
|
export function presentRollback(result) {
|
|
45
45
|
return result.ok ? `# ⏪ Rollback Successful\n\n${result.message}` : `# ❌ Rollback Failed\n\n${result.error}`;
|
|
46
46
|
}
|
|
47
|
+
export function presentRejection(result) {
|
|
48
|
+
return `# 🚫 Proposal Rejected — #${result.proposalId}\n\n**Via:** ${result.via}\n**Status:** rejected (terminal)\n\nThe rejection and its reason are recorded in the audit trail.`;
|
|
49
|
+
}
|
|
47
50
|
//# sourceMappingURL=proposal.presenter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal.presenter.js","sourceRoot":"","sources":["../../src/presenters/proposal.presenter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proposal.presenter.js","sourceRoot":"","sources":["../../src/presenters/proposal.presenter.ts"],"names":[],"mappings":"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"}
|