@copilot-swarm/core 0.0.14 → 0.0.17

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 (68) hide show
  1. package/defaults/agents/cross-model-reviewer.md +2 -1
  2. package/defaults/swarm.config.yaml +4 -0
  3. package/dist/checkpoint.test.js +1 -0
  4. package/dist/checkpoint.test.js.map +1 -1
  5. package/dist/config.d.ts +9 -1
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +38 -3
  8. package/dist/config.js.map +1 -1
  9. package/dist/finish.d.ts +32 -0
  10. package/dist/finish.d.ts.map +1 -0
  11. package/dist/finish.js +235 -0
  12. package/dist/finish.js.map +1 -0
  13. package/dist/global-registry.d.ts +15 -0
  14. package/dist/global-registry.d.ts.map +1 -0
  15. package/dist/global-registry.js +54 -0
  16. package/dist/global-registry.js.map +1 -0
  17. package/dist/index.js +106 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/messages.d.ts +17 -0
  20. package/dist/messages.d.ts.map +1 -1
  21. package/dist/messages.js +19 -0
  22. package/dist/messages.js.map +1 -1
  23. package/dist/orchestrator.d.ts.map +1 -1
  24. package/dist/orchestrator.js +5 -0
  25. package/dist/orchestrator.js.map +1 -1
  26. package/dist/paths.d.ts +6 -6
  27. package/dist/paths.d.ts.map +1 -1
  28. package/dist/paths.js +17 -10
  29. package/dist/paths.js.map +1 -1
  30. package/dist/pipeline-config.d.ts.map +1 -1
  31. package/dist/pipeline-config.js +24 -1
  32. package/dist/pipeline-config.js.map +1 -1
  33. package/dist/pipeline-config.test.js +26 -0
  34. package/dist/pipeline-config.test.js.map +1 -1
  35. package/dist/pipeline-engine.d.ts +11 -0
  36. package/dist/pipeline-engine.d.ts.map +1 -1
  37. package/dist/pipeline-engine.js +113 -4
  38. package/dist/pipeline-engine.js.map +1 -1
  39. package/dist/pipeline-types.d.ts +15 -1
  40. package/dist/pipeline-types.d.ts.map +1 -1
  41. package/dist/planning-engine.d.ts +5 -0
  42. package/dist/planning-engine.d.ts.map +1 -1
  43. package/dist/planning-engine.js +67 -18
  44. package/dist/planning-engine.js.map +1 -1
  45. package/dist/progress-tracker.d.ts +4 -0
  46. package/dist/progress-tracker.d.ts.map +1 -1
  47. package/dist/progress-tracker.js +5 -0
  48. package/dist/progress-tracker.js.map +1 -1
  49. package/dist/session-store.d.ts +38 -0
  50. package/dist/session-store.d.ts.map +1 -0
  51. package/dist/session-store.js +167 -0
  52. package/dist/session-store.js.map +1 -0
  53. package/dist/textarea.d.ts.map +1 -1
  54. package/dist/textarea.js +119 -36
  55. package/dist/textarea.js.map +1 -1
  56. package/dist/tui-renderer.d.ts +2 -0
  57. package/dist/tui-renderer.d.ts.map +1 -1
  58. package/dist/tui-renderer.js +29 -1
  59. package/dist/tui-renderer.js.map +1 -1
  60. package/dist/verify-detect.d.ts +7 -0
  61. package/dist/verify-detect.d.ts.map +1 -0
  62. package/dist/verify-detect.js +84 -0
  63. package/dist/verify-detect.js.map +1 -0
  64. package/dist/verify-detect.test.d.ts +2 -0
  65. package/dist/verify-detect.test.d.ts.map +1 -0
  66. package/dist/verify-detect.test.js +68 -0
  67. package/dist/verify-detect.test.js.map +1 -0
  68. package/package.json +1 -1
@@ -14,6 +14,7 @@ You are an independent Senior Reviewer using a **different AI model** than the o
14
14
  5. **Quality:** Verify error handling, edge cases, performance implications, and adherence to project conventions.
15
15
  6. **Exploratory Testing:** Look for edge cases and scenarios not explicitly covered by the spec or existing tests.
16
16
  7. **Be Specific:** Every issue must include: file path, line number (if applicable), description, severity (critical/major/minor), and a concrete suggestion for the fix.
17
- 8. **Decision:**
17
+ 8. **Stay Focused:** Only report issues that affect correctness, security, or spec compliance. Do not flag style preferences, naming opinions, or suggest refactors that don't fix a real problem. The goal is surgical fixes, not a rewrite.
18
+ 9. **Decision:**
18
19
  - If the code is correct, secure, passes all checks, and fully satisfies the spec, reply: "APPROVED".
19
20
  - If there are issues, provide a detailed numbered list of required fixes.
@@ -63,3 +63,7 @@ pipeline:
63
63
  fixAgent: engineer
64
64
  maxIterations: 3
65
65
  approvalKeyword: APPROVED
66
+
67
+ - phase: verify
68
+ fixAgent: engineer
69
+ maxIterations: 3
@@ -20,6 +20,7 @@ function makeConfig(runId) {
20
20
  maxRetries: 2,
21
21
  maxAutoResume: 3,
22
22
  reviewRunId: undefined,
23
+ sessionId: undefined,
23
24
  };
24
25
  }
25
26
  const cleanupDirs = [];
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.test.js","sourceRoot":"","sources":["../src/checkpoint.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint.test.js","sourceRoot":"","sources":["../src/checkpoint.test.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- export type SwarmCommand = "run" | "plan" | "analyze" | "review";
1
+ import type { VerifyConfig } from "./pipeline-types.js";
2
+ export type SwarmCommand = "run" | "plan" | "analyze" | "review" | "session" | "finish" | "list";
3
+ export declare function readVersion(): string;
2
4
  /**
3
5
  * Core config loaded from environment variables and CLI arguments.
4
6
  * CLI args take precedence over env vars.
@@ -20,6 +22,12 @@ export interface SwarmConfig {
20
22
  readonly maxAutoResume: number;
21
23
  /** For review mode: the runId of the previous run to review (default: latest). */
22
24
  readonly reviewRunId: string | undefined;
25
+ /** Explicit session ID from --session flag. */
26
+ readonly sessionId: string | undefined;
27
+ /** Resolved session ID (set after session resolution). */
28
+ resolvedSessionId?: string;
29
+ /** Verification commands from CLI flags (override YAML and auto-detect). */
30
+ readonly verifyOverrides?: VerifyConfig;
23
31
  }
24
32
  export declare function loadConfig(): Promise<SwarmConfig>;
25
33
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAkCA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AA0KjE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,CA8CvD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA6BxD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAkBjG,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AA8KD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;CACzC;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,CA6DvD"}
package/dist/config.js CHANGED
@@ -32,7 +32,7 @@ function readEnvPositiveInt(key, fallback) {
32
32
  }
33
33
  return parsed;
34
34
  }
35
- function readVersion() {
35
+ export function readVersion() {
36
36
  const dir = path.dirname(fileURLToPath(import.meta.url));
37
37
  const pkgPath = path.join(dir, "..", "package.json");
38
38
  const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
@@ -45,6 +45,9 @@ Commands:
45
45
  plan Interactive planning mode — clarify requirements before running
46
46
  analyze Analyze the repository and generate a context document
47
47
  review Review a previous run — provide feedback for agents to fix/improve
48
+ session Manage sessions: create, list, use (group related runs)
49
+ finish Finalize the active session — summarize, log to changelog, clean up
50
+ list List all sessions across all repositories
48
51
 
49
52
  Options:
50
53
  -v, --verbose Enable verbose streaming output
@@ -53,7 +56,11 @@ Options:
53
56
  -f, --file <file> Read prompt from a file instead of inline text
54
57
  -r, --resume Resume from the last checkpoint (skip completed phases)
55
58
  --run <runId> Specify which run to review (default: latest)
59
+ --session <id> Use a specific session (default: active session)
56
60
  --no-tui Disable TUI dashboard (use plain log output)
61
+ --verify-build <cmd> Shell command to verify the build (e.g. "npm run build")
62
+ --verify-test <cmd> Shell command to run tests (e.g. "npm test")
63
+ --verify-lint <cmd> Shell command to run linting (e.g. "npm run lint")
57
64
  -V, --version Show version number
58
65
  -h, --help Show this help message
59
66
 
@@ -80,6 +87,11 @@ Examples:
80
87
  swarm analyze
81
88
  swarm review "Fix the auth bug" Review latest run with feedback
82
89
  swarm review -e --run 2026-02-17T08-00 Review a specific run
90
+ swarm session create "Dark mode feature" Create a new session
91
+ swarm session list List all sessions
92
+ swarm session use <id> Switch active session
93
+ swarm finish Finalize active session
94
+ swarm finish --session <id> Finalize a specific session
83
95
 
84
96
  Environment variables override defaults; CLI args override env vars.
85
97
  See documentation for all env var options.`;
@@ -97,6 +109,10 @@ function parseCliArgs() {
97
109
  plan: { type: "string", short: "p" },
98
110
  file: { type: "string", short: "f" },
99
111
  run: { type: "string" },
112
+ session: { type: "string" },
113
+ "verify-build": { type: "string" },
114
+ "verify-test": { type: "string" },
115
+ "verify-lint": { type: "string" },
100
116
  },
101
117
  });
102
118
  if (values.version) {
@@ -113,7 +129,10 @@ function parseCliArgs() {
113
129
  (positionals[0] === "plan" ||
114
130
  positionals[0] === "run" ||
115
131
  positionals[0] === "analyze" ||
116
- positionals[0] === "review")) {
132
+ positionals[0] === "review" ||
133
+ positionals[0] === "session" ||
134
+ positionals[0] === "finish" ||
135
+ positionals[0] === "list")) {
117
136
  command = positionals[0];
118
137
  promptParts = positionals.slice(1);
119
138
  }
@@ -127,6 +146,10 @@ function parseCliArgs() {
127
146
  resume: values.resume,
128
147
  noTui: values["no-tui"],
129
148
  reviewRunId: values.run,
149
+ sessionId: values.session,
150
+ verifyBuild: values["verify-build"],
151
+ verifyTest: values["verify-test"],
152
+ verifyLint: values["verify-lint"],
130
153
  };
131
154
  }
132
155
  /** Extract the "Refined Requirements" section (and optional Engineering/Design Decisions) from a plan file. */
@@ -191,12 +214,22 @@ export async function loadConfig() {
191
214
  const raw = cli.prompt ?? process.env.ISSUE_BODY;
192
215
  issueBody = resolveGitHubIssue(raw) ?? raw;
193
216
  }
194
- if (cli.command !== "analyze" && !cli.resume && (!issueBody || issueBody === "")) {
217
+ if (cli.command !== "analyze" &&
218
+ cli.command !== "session" &&
219
+ cli.command !== "finish" &&
220
+ cli.command !== "list" &&
221
+ !cli.resume &&
222
+ (!issueBody || issueBody === "")) {
195
223
  console.error(`Error: No prompt provided. Pass it as an argument, use --editor, --plan, or set ISSUE_BODY.\n\n${HELP_TEXT}`);
196
224
  process.exit(1);
197
225
  }
198
226
  const swarmDir = readEnvString("SWARM_DIR", ".swarm");
199
227
  const runId = new Date().toISOString().replace(/[:.]/g, "-");
228
+ // Build verify overrides from CLI flags (only include flags that were explicitly set)
229
+ const hasVerifyFlags = cli.verifyBuild !== undefined || cli.verifyTest !== undefined || cli.verifyLint !== undefined;
230
+ const verifyOverrides = hasVerifyFlags
231
+ ? { build: cli.verifyBuild, test: cli.verifyTest, lint: cli.verifyLint }
232
+ : undefined;
200
233
  return {
201
234
  command: cli.command,
202
235
  repoRoot,
@@ -212,6 +245,8 @@ export async function loadConfig() {
212
245
  maxRetries: readEnvPositiveInt("MAX_RETRIES", 2),
213
246
  maxAutoResume: readEnvPositiveInt("MAX_AUTO_RESUME", 3),
214
247
  reviewRunId: cli.reviewRunId,
248
+ sessionId: cli.sessionId,
249
+ verifyOverrides,
215
250
  };
216
251
  }
217
252
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Finish command — finalize a session (logical feature).
3
+ *
4
+ * Collects all run/plan/analysis artifacts from the session,
5
+ * writes a summary entry to the central `.swarm/changelog.md`,
6
+ * cleans up checkpoint files, and marks the session as finished.
7
+ */
8
+ import type { SwarmConfig } from "./config.js";
9
+ /** A single entry appended to the changelog. */
10
+ export interface ChangelogEntry {
11
+ sessionId: string;
12
+ sessionName: string;
13
+ finishedAt: string;
14
+ originalRequest: string;
15
+ phases: PhaseRecord[];
16
+ runCount: number;
17
+ }
18
+ interface PhaseRecord {
19
+ mode: string;
20
+ runId: string;
21
+ summary: string;
22
+ }
23
+ /** Collect all context from a session's artifacts and produce a changelog entry. */
24
+ export declare function buildChangelogEntry(config: SwarmConfig, sessionId: string): Promise<ChangelogEntry | null>;
25
+ /** Remove checkpoint.json files from all runs in the session. */
26
+ export declare function cleanupCheckpoints(config: SwarmConfig, sessionId: string): Promise<number>;
27
+ /** Mark session as finished by adding a `finished` timestamp to session.json. */
28
+ export declare function markSessionFinished(config: SwarmConfig, sessionId: string): Promise<void>;
29
+ /** Append a changelog entry to .swarm/changelog.md */
30
+ export declare function appendChangelog(config: SwarmConfig, entry: ChangelogEntry): Promise<string>;
31
+ export {};
32
+ //# sourceMappingURL=finish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finish.d.ts","sourceRoot":"","sources":["../src/finish.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oFAAoF;AACpF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAkDhH;AAED,iEAAiE;AACjE,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAchG;AAED,iFAAiF;AACjF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/F;AAED,sDAAsD;AACtD,wBAAsB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBjG"}
package/dist/finish.js ADDED
@@ -0,0 +1,235 @@
1
+ /**
2
+ * Finish command — finalize a session (logical feature).
3
+ *
4
+ * Collects all run/plan/analysis artifacts from the session,
5
+ * writes a summary entry to the central `.swarm/changelog.md`,
6
+ * cleans up checkpoint files, and marks the session as finished.
7
+ */
8
+ import * as fs from "node:fs/promises";
9
+ import * as path from "node:path";
10
+ import { markRegistryFinished } from "./global-registry.js";
11
+ import { swarmRoot } from "./paths.js";
12
+ import { getSession } from "./session-store.js";
13
+ /** Collect all context from a session's artifacts and produce a changelog entry. */
14
+ export async function buildChangelogEntry(config, sessionId) {
15
+ const session = await getSession(config, sessionId);
16
+ if (!session)
17
+ return null;
18
+ const sessionDir = path.join(swarmRoot(config), "sessions", sessionId);
19
+ const phases = [];
20
+ let originalRequest = "";
21
+ // Collect plan artifacts
22
+ const plansPath = path.join(sessionDir, "plans");
23
+ const latestPlan = path.join(plansPath, "plan-latest.md");
24
+ try {
25
+ const content = await fs.readFile(latestPlan, "utf-8");
26
+ const reqMatch = content.match(/## Original Request\n\n([\s\S]*?)(?=\n##|\n#[^#]|$)/);
27
+ if (reqMatch)
28
+ originalRequest = reqMatch[1].trim();
29
+ phases.push({ mode: "plan", runId: "plan", summary: extractPlanSummary(content) });
30
+ }
31
+ catch {
32
+ // No plan
33
+ }
34
+ // Collect analysis artifacts
35
+ const analysisPath = path.join(sessionDir, "analysis", "repo-analysis.md");
36
+ try {
37
+ const content = await fs.readFile(analysisPath, "utf-8");
38
+ phases.push({ mode: "analyze", runId: "analysis", summary: truncate(content, 500) });
39
+ }
40
+ catch {
41
+ // No analysis
42
+ }
43
+ // Collect run artifacts (sorted chronologically)
44
+ const runsPath = path.join(sessionDir, "runs");
45
+ const runs = await listRunDirs(runsPath);
46
+ for (const runId of runs) {
47
+ const record = await collectRunRecord(runsPath, runId);
48
+ if (record) {
49
+ if (!originalRequest && record.issueBody)
50
+ originalRequest = record.issueBody;
51
+ phases.push(record);
52
+ }
53
+ }
54
+ if (!originalRequest)
55
+ originalRequest = "(no prompt recorded)";
56
+ return {
57
+ sessionId,
58
+ sessionName: session.name,
59
+ finishedAt: new Date().toISOString(),
60
+ originalRequest,
61
+ phases,
62
+ runCount: runs.length,
63
+ };
64
+ }
65
+ /** Remove checkpoint.json files from all runs in the session. */
66
+ export async function cleanupCheckpoints(config, sessionId) {
67
+ const runsPath = path.join(swarmRoot(config), "sessions", sessionId, "runs");
68
+ const runs = await listRunDirs(runsPath);
69
+ let cleaned = 0;
70
+ for (const runId of runs) {
71
+ const cp = path.join(runsPath, runId, "checkpoint.json");
72
+ try {
73
+ await fs.unlink(cp);
74
+ cleaned++;
75
+ }
76
+ catch {
77
+ // Already gone
78
+ }
79
+ }
80
+ return cleaned;
81
+ }
82
+ /** Mark session as finished by adding a `finished` timestamp to session.json. */
83
+ export async function markSessionFinished(config, sessionId) {
84
+ const jsonPath = path.join(swarmRoot(config), "sessions", sessionId, "session.json");
85
+ try {
86
+ const content = await fs.readFile(jsonPath, "utf-8");
87
+ const session = JSON.parse(content);
88
+ session.finished = new Date().toISOString();
89
+ await fs.writeFile(jsonPath, JSON.stringify(session, null, 2));
90
+ }
91
+ catch {
92
+ // Ignore if session file missing
93
+ }
94
+ // Update global registry
95
+ await markRegistryFinished(sessionId, config.repoRoot);
96
+ }
97
+ /** Append a changelog entry to .swarm/changelog.md */
98
+ export async function appendChangelog(config, entry) {
99
+ const changelogPath = path.join(swarmRoot(config), "changelog.md");
100
+ const section = formatChangelogEntry(entry);
101
+ let existing = "";
102
+ try {
103
+ existing = await fs.readFile(changelogPath, "utf-8");
104
+ }
105
+ catch {
106
+ // First entry — write header
107
+ existing = "# Copilot Swarm Changelog\n\nCompleted features and sessions.\n\n";
108
+ }
109
+ // Insert new entry after the header (newest first)
110
+ const headerEnd = existing.indexOf("\n\n", existing.indexOf("\n\n") + 1);
111
+ const before = existing.substring(0, headerEnd + 2);
112
+ const after = existing.substring(headerEnd + 2);
113
+ await fs.writeFile(changelogPath, `${before}${section}\n${after}`);
114
+ return changelogPath;
115
+ }
116
+ // --- Internal helpers ---
117
+ function formatChangelogEntry(entry) {
118
+ const date = entry.finishedAt.split("T")[0];
119
+ const lines = [];
120
+ lines.push(`## ${entry.sessionName}`);
121
+ lines.push("");
122
+ lines.push(`- **Session:** \`${entry.sessionId}\``);
123
+ lines.push(`- **Finished:** ${date}`);
124
+ lines.push(`- **Runs:** ${entry.runCount}`);
125
+ lines.push("");
126
+ lines.push("### Request");
127
+ lines.push("");
128
+ lines.push(truncate(entry.originalRequest, 500));
129
+ lines.push("");
130
+ if (entry.phases.length > 0) {
131
+ lines.push("### Activity");
132
+ lines.push("");
133
+ for (const phase of entry.phases) {
134
+ lines.push(`#### ${phase.mode} (${phase.runId})`);
135
+ lines.push("");
136
+ lines.push(phase.summary);
137
+ lines.push("");
138
+ }
139
+ }
140
+ lines.push("---");
141
+ lines.push("");
142
+ return lines.join("\n");
143
+ }
144
+ async function listRunDirs(runsPath) {
145
+ try {
146
+ const entries = await fs.readdir(runsPath, { withFileTypes: true });
147
+ return entries
148
+ .filter((e) => e.isDirectory())
149
+ .map((e) => e.name)
150
+ .sort();
151
+ }
152
+ catch {
153
+ return [];
154
+ }
155
+ }
156
+ async function collectRunRecord(runsPath, runId) {
157
+ const dir = path.join(runsPath, runId);
158
+ // Try checkpoint first for structured data
159
+ const cpPath = path.join(dir, "checkpoint.json");
160
+ try {
161
+ const content = await fs.readFile(cpPath, "utf-8");
162
+ const cp = JSON.parse(content);
163
+ return {
164
+ mode: cp.mode ?? "run",
165
+ runId,
166
+ summary: buildRunSummary(cp),
167
+ issueBody: cp.issueBody,
168
+ };
169
+ }
170
+ catch {
171
+ // Fall through
172
+ }
173
+ // Reconstruct from role files
174
+ const rolesPath = path.join(dir, "roles");
175
+ const roleSummaries = await collectRoleSummaries(rolesPath);
176
+ if (roleSummaries.length === 0)
177
+ return null;
178
+ return {
179
+ mode: "run",
180
+ runId,
181
+ summary: roleSummaries.join("\n\n"),
182
+ };
183
+ }
184
+ function buildRunSummary(cp) {
185
+ const parts = [];
186
+ if (cp.completedPhases.length > 0) {
187
+ parts.push(`**Completed phases:** ${cp.completedPhases.join(", ")}`);
188
+ }
189
+ if (cp.spec) {
190
+ parts.push(`**Spec:** ${truncate(cp.spec, 200)}`);
191
+ }
192
+ if (cp.tasks.length > 0) {
193
+ parts.push(`**Tasks:** ${cp.tasks.length} task(s)`);
194
+ for (const task of cp.tasks) {
195
+ parts.push(` - ${truncate(task, 120)}`);
196
+ }
197
+ }
198
+ if (cp.designSpec) {
199
+ parts.push(`**Design spec:** ${truncate(cp.designSpec, 150)}`);
200
+ }
201
+ if (cp.streamResults.length > 0) {
202
+ parts.push(`**Streams:** ${cp.streamResults.length} completed`);
203
+ }
204
+ return parts.join("\n");
205
+ }
206
+ async function collectRoleSummaries(rolesPath) {
207
+ try {
208
+ const entries = await fs.readdir(rolesPath);
209
+ const summaries = [];
210
+ for (const file of entries.filter((f) => f.endsWith(".md")).sort()) {
211
+ const content = await fs.readFile(path.join(rolesPath, file), "utf-8");
212
+ const role = file.replace(/\.md$/, "");
213
+ summaries.push(`**${role}:** ${truncate(content, 200)}`);
214
+ }
215
+ return summaries;
216
+ }
217
+ catch {
218
+ return [];
219
+ }
220
+ }
221
+ function extractPlanSummary(planContent) {
222
+ // Try to extract the refined requirements section
223
+ const refinedMatch = planContent.match(/## Refined Requirements\n\n([\s\S]*?)(?=\n##|\n#[^#]|$)/);
224
+ if (refinedMatch)
225
+ return truncate(refinedMatch[1].trim(), 500);
226
+ // Fall back to truncated content (skip header)
227
+ const bodyStart = planContent.indexOf("\n\n");
228
+ return truncate(planContent.substring(bodyStart + 2), 500);
229
+ }
230
+ function truncate(text, maxLen) {
231
+ if (text.length <= maxLen)
232
+ return text;
233
+ return `${text.substring(0, maxLen)}…`;
234
+ }
235
+ //# sourceMappingURL=finish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finish.js","sourceRoot":"","sources":["../src/finish.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAqB,MAAM,oBAAoB,CAAC;AAkBnE,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAmB,EAAE,SAAiB;IAC9E,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACtF,IAAI,QAAQ;YAAE,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,UAAU;IACZ,CAAC;IAED,6BAA6B;IAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;IAED,iDAAiD;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,SAAS;gBAAE,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;YAC7E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,eAAe;QAAE,eAAe,GAAG,sBAAsB,CAAC;IAE/D,OAAO;QACL,SAAS;QACT,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,eAAe;QACf,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAmB,EAAE,SAAiB;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAmB,EAAE,SAAiB;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACrF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAyC,CAAC;QAC5E,OAAO,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,yBAAyB;IACzB,MAAM,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAmB,EAAE,KAAqB;IAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;QAC7B,QAAQ,GAAG,mEAAmE,CAAC;IACjF,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,MAAM,GAAG,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC;IAEnE,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,2BAA2B;AAE3B,SAAS,oBAAoB,CAAC,KAAqB;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAgB;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,KAAa;IAEb,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEvC,2CAA2C;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;QACrD,OAAO;YACL,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK;YACtB,KAAK;YACL,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;YAC5B,SAAS,EAAE,EAAE,CAAC,SAAS;SACxB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,OAAO;QACL,IAAI,EAAE,KAAK;QACX,KAAK;QACL,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAsB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,oBAAoB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,MAAM,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACvE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,kDAAkD;IAClD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAClG,IAAI,YAAY;QAAE,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/D,+CAA+C;IAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,MAAc;IAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;AACzC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface GlobalSessionRecord {
2
+ sessionId: string;
3
+ name: string;
4
+ repoRoot: string;
5
+ swarmDir: string;
6
+ created: string;
7
+ finished?: string;
8
+ }
9
+ /** Register a new session in the global registry. */
10
+ export declare function registerSession(record: GlobalSessionRecord): Promise<void>;
11
+ /** Mark a session as finished in the global registry. */
12
+ export declare function markRegistryFinished(sessionId: string, repoRoot: string): Promise<void>;
13
+ /** List all sessions from the global registry, newest first. */
14
+ export declare function listGlobalSessions(): Promise<GlobalSessionRecord[]>;
15
+ //# sourceMappingURL=global-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-registry.d.ts","sourceRoot":"","sources":["../src/global-registry.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA+BD,qDAAqD;AACrD,wBAAsB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhF;AAED,yDAAyD;AACzD,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7F;AAED,gEAAgE;AAChE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAGzE"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Global session registry — stores session records across all repos
3
+ * in a central config directory (~/.config/copilot-swarm/sessions.json).
4
+ */
5
+ import * as fs from "node:fs/promises";
6
+ import * as os from "node:os";
7
+ import * as path from "node:path";
8
+ function registryDir() {
9
+ const xdg = process.env.XDG_CONFIG_HOME;
10
+ const base = xdg && xdg !== "" ? xdg : path.join(os.homedir(), ".config");
11
+ return path.join(base, "copilot-swarm");
12
+ }
13
+ function registryPath() {
14
+ return path.join(registryDir(), "sessions.json");
15
+ }
16
+ async function readRegistry() {
17
+ try {
18
+ const content = await fs.readFile(registryPath(), "utf-8");
19
+ return JSON.parse(content);
20
+ }
21
+ catch {
22
+ return { sessions: [] };
23
+ }
24
+ }
25
+ async function writeRegistry(data) {
26
+ const dir = registryDir();
27
+ await fs.mkdir(dir, { recursive: true });
28
+ await fs.writeFile(registryPath(), JSON.stringify(data, null, 2));
29
+ }
30
+ /** Register a new session in the global registry. */
31
+ export async function registerSession(record) {
32
+ const data = await readRegistry();
33
+ // Deduplicate by sessionId + repoRoot
34
+ data.sessions = data.sessions.filter((s) => !(s.sessionId === record.sessionId && s.repoRoot === record.repoRoot));
35
+ data.sessions.unshift(record); // Newest first
36
+ await writeRegistry(data);
37
+ }
38
+ /** Mark a session as finished in the global registry. */
39
+ export async function markRegistryFinished(sessionId, repoRoot) {
40
+ const data = await readRegistry();
41
+ for (const s of data.sessions) {
42
+ if (s.sessionId === sessionId && s.repoRoot === repoRoot) {
43
+ s.finished = new Date().toISOString();
44
+ break;
45
+ }
46
+ }
47
+ await writeRegistry(data);
48
+ }
49
+ /** List all sessions from the global registry, newest first. */
50
+ export async function listGlobalSessions() {
51
+ const data = await readRegistry();
52
+ return data.sessions;
53
+ }
54
+ //# sourceMappingURL=global-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-registry.js","sourceRoot":"","sources":["../src/global-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAelC,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAkB;IAC7C,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAA2B;IAC/D,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,sCAAsC;IACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe;IAC9C,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,QAAgB;IAC5E,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzD,CAAC,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM;QACR,CAAC;IACH,CAAC;IACD,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB,CAAC"}