@jungjaehoon/mama-os 0.9.2 → 0.9.3

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 (78) hide show
  1. package/README.md +41 -7
  2. package/dist/api/graph-api.js +1 -1
  3. package/dist/api/graph-api.js.map +1 -1
  4. package/dist/cli/config/config-manager.d.ts.map +1 -1
  5. package/dist/cli/config/config-manager.js +60 -15
  6. package/dist/cli/config/config-manager.js.map +1 -1
  7. package/dist/cli/config/types.d.ts +16 -4
  8. package/dist/cli/config/types.d.ts.map +1 -1
  9. package/dist/cli/config/types.js.map +1 -1
  10. package/dist/gateways/slack.d.ts.map +1 -1
  11. package/dist/gateways/slack.js +0 -10
  12. package/dist/gateways/slack.js.map +1 -1
  13. package/dist/multi-agent/agent-process-manager.d.ts +3 -1
  14. package/dist/multi-agent/agent-process-manager.d.ts.map +1 -1
  15. package/dist/multi-agent/agent-process-manager.js +21 -12
  16. package/dist/multi-agent/agent-process-manager.js.map +1 -1
  17. package/dist/multi-agent/background-task-manager.d.ts +2 -2
  18. package/dist/multi-agent/background-task-manager.js +2 -2
  19. package/dist/multi-agent/council-engine.d.ts +60 -0
  20. package/dist/multi-agent/council-engine.d.ts.map +1 -0
  21. package/dist/multi-agent/council-engine.js +284 -0
  22. package/dist/multi-agent/council-engine.js.map +1 -0
  23. package/dist/multi-agent/multi-agent-base.d.ts +17 -9
  24. package/dist/multi-agent/multi-agent-base.d.ts.map +1 -1
  25. package/dist/multi-agent/multi-agent-base.js +109 -30
  26. package/dist/multi-agent/multi-agent-base.js.map +1 -1
  27. package/dist/multi-agent/multi-agent-discord.d.ts +3 -35
  28. package/dist/multi-agent/multi-agent-discord.d.ts.map +1 -1
  29. package/dist/multi-agent/multi-agent-discord.js +57 -300
  30. package/dist/multi-agent/multi-agent-discord.js.map +1 -1
  31. package/dist/multi-agent/multi-agent-slack.d.ts +0 -25
  32. package/dist/multi-agent/multi-agent-slack.d.ts.map +1 -1
  33. package/dist/multi-agent/multi-agent-slack.js +95 -234
  34. package/dist/multi-agent/multi-agent-slack.js.map +1 -1
  35. package/dist/multi-agent/shared-context.d.ts.map +1 -1
  36. package/dist/multi-agent/shared-context.js +4 -4
  37. package/dist/multi-agent/shared-context.js.map +1 -1
  38. package/dist/multi-agent/system-reminder.d.ts +1 -1
  39. package/dist/multi-agent/system-reminder.js +1 -1
  40. package/dist/multi-agent/types.d.ts +11 -15
  41. package/dist/multi-agent/types.d.ts.map +1 -1
  42. package/dist/multi-agent/types.js +1 -3
  43. package/dist/multi-agent/types.js.map +1 -1
  44. package/dist/multi-agent/ultrawork-state.d.ts +57 -0
  45. package/dist/multi-agent/ultrawork-state.d.ts.map +1 -0
  46. package/dist/multi-agent/ultrawork-state.js +191 -0
  47. package/dist/multi-agent/ultrawork-state.js.map +1 -0
  48. package/dist/multi-agent/ultrawork.d.ts +37 -19
  49. package/dist/multi-agent/ultrawork.d.ts.map +1 -1
  50. package/dist/multi-agent/ultrawork.js +587 -41
  51. package/dist/multi-agent/ultrawork.js.map +1 -1
  52. package/dist/multi-agent/workflow-engine.d.ts.map +1 -1
  53. package/dist/multi-agent/workflow-engine.js +39 -14
  54. package/dist/multi-agent/workflow-engine.js.map +1 -1
  55. package/dist/multi-agent/workflow-types.d.ts +69 -0
  56. package/dist/multi-agent/workflow-types.d.ts.map +1 -1
  57. package/dist/onboarding/complete-autonomous-prompt.d.ts +1 -1
  58. package/dist/onboarding/complete-autonomous-prompt.d.ts.map +1 -1
  59. package/dist/onboarding/complete-autonomous-prompt.js +27 -10
  60. package/dist/onboarding/complete-autonomous-prompt.js.map +1 -1
  61. package/dist/onboarding/phase-7-integrations.d.ts.map +1 -1
  62. package/dist/onboarding/phase-7-integrations.js +23 -3
  63. package/dist/onboarding/phase-7-integrations.js.map +1 -1
  64. package/dist/onboarding/phase-9-finalization.d.ts.map +1 -1
  65. package/dist/onboarding/phase-9-finalization.js +33 -0
  66. package/dist/onboarding/phase-9-finalization.js.map +1 -1
  67. package/package.json +1 -1
  68. package/templates/personas/architect.md +70 -0
  69. package/templates/personas/conductor.md +302 -0
  70. package/templates/personas/developer.md +20 -7
  71. package/templates/personas/pm.md +49 -33
  72. package/templates/personas/reviewer.md +18 -5
  73. package/dist/multi-agent/pr-review-poller.d.ts +0 -197
  74. package/dist/multi-agent/pr-review-poller.d.ts.map +0 -1
  75. package/dist/multi-agent/pr-review-poller.js +0 -972
  76. package/dist/multi-agent/pr-review-poller.js.map +0 -1
  77. package/templates/personas/sisyphus-builtin-en.md +0 -161
  78. package/templates/personas/sisyphus.md +0 -218
@@ -84,7 +84,7 @@ export type ReminderLanguage = 'en' | 'ko';
84
84
  * taskId: 'bg_abc12345',
85
85
  * description: 'Implement auth module',
86
86
  * agentId: 'developer',
87
- * requestedBy: 'sisyphus',
87
+ * requestedBy: 'conductor',
88
88
  * channelId: 'channel-123',
89
89
  * timestamp: Date.now(),
90
90
  * });
@@ -113,7 +113,7 @@ function truncate(text, maxLength) {
113
113
  * taskId: 'bg_abc12345',
114
114
  * description: 'Implement auth module',
115
115
  * agentId: 'developer',
116
- * requestedBy: 'sisyphus',
116
+ * requestedBy: 'conductor',
117
117
  * channelId: 'channel-123',
118
118
  * timestamp: Date.now(),
119
119
  * });
@@ -152,16 +152,6 @@ export interface LoopPreventionConfig {
152
152
  */
153
153
  chain_window_ms: number;
154
154
  }
155
- /**
156
- * PR review poller configuration
157
- */
158
- export interface PRReviewPollerConfig {
159
- /**
160
- * Enable autonomous PR review polling and follow-up wake-up workflows
161
- * @default false
162
- */
163
- enabled: boolean;
164
- }
165
155
  /**
166
156
  * Multi-agent system configuration
167
157
  */
@@ -184,6 +174,7 @@ export interface MultiAgentConfig {
184
174
  * Free chat mode - all agents respond to every human message
185
175
  * regardless of keyword matching or explicit triggers
186
176
  * @default false
177
+ * @deprecated Use council_plan for multi-agent discussions instead
187
178
  */
188
179
  free_chat?: boolean;
189
180
  /**
@@ -232,11 +223,6 @@ export interface MultiAgentConfig {
232
223
  * @default false
233
224
  */
234
225
  mention_delegation?: boolean;
235
- /**
236
- * PR review polling configuration
237
- * @default false
238
- */
239
- pr_review_poller?: PRReviewPollerConfig;
240
226
  /**
241
227
  * Maximum depth of @mention delegation chains
242
228
  * Prevents infinite agent-to-agent mention loops
@@ -254,6 +240,12 @@ export interface MultiAgentConfig {
254
240
  * that spawn ephemeral agents to execute multi-step tasks.
255
241
  */
256
242
  workflow?: import('./workflow-types.js').WorkflowConfig;
243
+ /**
244
+ * Council mode configuration
245
+ * When enabled, Conductor can generate council_plan blocks
246
+ * to initiate multi-round discussions among existing named agents.
247
+ */
248
+ council?: import('./workflow-types.js').CouncilConfig;
257
249
  }
258
250
  /**
259
251
  * Runtime-only options for multi-agent process execution backend.
@@ -309,6 +301,10 @@ export interface UltraWorkConfig {
309
301
  max_duration?: number;
310
302
  /** Maximum autonomous steps @default 20 */
311
303
  max_steps?: number;
304
+ /** Enable file-based state persistence (Ralph Loop pattern) @default true */
305
+ persist_state?: boolean;
306
+ /** Enable 3-phase structured loop (plan->build->retrospective) @default true */
307
+ phased_loop?: boolean;
312
308
  }
313
309
  /**
314
310
  * Task continuation configuration
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/multi-agent/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/multi-agent/types.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,6 @@ exports.DEFAULT_MULTI_AGENT_CONFIG = {
22
22
  enabled: false,
23
23
  agents: {},
24
24
  loop_prevention: exports.DEFAULT_LOOP_PREVENTION,
25
- pr_review_poller: {
26
- enabled: false,
27
- },
25
+ workflow: { enabled: true },
28
26
  };
29
27
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/multi-agent/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAubH;;GAEG;AACU,QAAA,uBAAuB,GAAyB;IAC3D,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF;;GAEG;AACU,QAAA,0BAA0B,GAAqB;IAC1D,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,EAAE;IACV,eAAe,EAAE,+BAAuB;IACxC,gBAAgB,EAAE;QAChB,OAAO,EAAE,KAAK;KACf;CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/multi-agent/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAkbH;;GAEG;AACU,QAAA,uBAAuB,GAAyB;IAC3D,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF;;GAEG;AACU,QAAA,0BAA0B,GAAqB;IAC1D,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,EAAE;IACV,eAAe,EAAE,+BAAuB;IACxC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CAC5B,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * UltraWork State Manager
3
+ *
4
+ * File-based session state persistence for the Ralph Loop pattern.
5
+ * Each session gets its own directory under ~/.mama/workspace/ultrawork/{session_id}/
6
+ *
7
+ * Directory structure:
8
+ * session.json - Session metadata (task, phase, agents)
9
+ * plan.md - Phase 1 result: implementation plan
10
+ * progress.json - Completed steps array
11
+ * retrospective.md - Phase 3 result: retrospective notes
12
+ */
13
+ export type UltraWorkPhase = 'planning' | 'building' | 'retrospective' | 'completed';
14
+ export interface UltraWorkSessionState {
15
+ id: string;
16
+ task: string;
17
+ phase: UltraWorkPhase;
18
+ agents: string[];
19
+ createdAt: number;
20
+ updatedAt: number;
21
+ }
22
+ export interface UltraWorkStepRecord {
23
+ stepNumber: number;
24
+ agentId: string;
25
+ action: string;
26
+ responseSummary: string;
27
+ isDelegation: boolean;
28
+ duration: number;
29
+ timestamp: number;
30
+ }
31
+ export declare class UltraWorkStateManager {
32
+ private baseDir;
33
+ private sessionLocks;
34
+ constructor(baseDir?: string);
35
+ /**
36
+ * Validates sessionId to prevent path traversal attacks.
37
+ * Only allows alphanumeric, hyphen, and underscore characters.
38
+ */
39
+ private validateSessionId;
40
+ private sessionDir;
41
+ /**
42
+ * Executes a function with an exclusive lock on the given sessionId.
43
+ * Prevents TOCTOU race conditions on read-modify-write operations.
44
+ */
45
+ private withSessionLock;
46
+ createSession(sessionId: string, task: string, agents: string[]): Promise<void>;
47
+ loadSession(sessionId: string): Promise<UltraWorkSessionState | null>;
48
+ updatePhase(sessionId: string, phase: UltraWorkPhase): Promise<void>;
49
+ savePlan(sessionId: string, plan: string): Promise<void>;
50
+ loadPlan(sessionId: string): Promise<string | null>;
51
+ recordStep(sessionId: string, step: UltraWorkStepRecord): Promise<void>;
52
+ loadProgress(sessionId: string): Promise<UltraWorkStepRecord[]>;
53
+ saveRetrospective(sessionId: string, retro: string): Promise<void>;
54
+ deleteSession(sessionId: string): Promise<void>;
55
+ listSessions(): Promise<string[]>;
56
+ }
57
+ //# sourceMappingURL=ultrawork-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ultrawork-state.d.ts","sourceRoot":"","sources":["../../src/multi-agent/ultrawork-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,eAAe,GAAG,WAAW,CAAC;AAErF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAoC;gBAE5C,OAAO,CAAC,EAAE,MAAM;IAI5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,UAAU;IAKlB;;;OAGG;YACW,eAAe;IAmBvB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/E,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAerE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWnD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvE,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAe/D,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAWxC"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ /**
3
+ * UltraWork State Manager
4
+ *
5
+ * File-based session state persistence for the Ralph Loop pattern.
6
+ * Each session gets its own directory under ~/.mama/workspace/ultrawork/{session_id}/
7
+ *
8
+ * Directory structure:
9
+ * session.json - Session metadata (task, phase, agents)
10
+ * plan.md - Phase 1 result: implementation plan
11
+ * progress.json - Completed steps array
12
+ * retrospective.md - Phase 3 result: retrospective notes
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || (function () {
31
+ var ownKeys = function(o) {
32
+ ownKeys = Object.getOwnPropertyNames || function (o) {
33
+ var ar = [];
34
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
+ return ar;
36
+ };
37
+ return ownKeys(o);
38
+ };
39
+ return function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ })();
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.UltraWorkStateManager = void 0;
49
+ const fs = __importStar(require("fs/promises"));
50
+ const path = __importStar(require("path"));
51
+ const os = __importStar(require("os"));
52
+ class UltraWorkStateManager {
53
+ baseDir;
54
+ sessionLocks = new Map();
55
+ constructor(baseDir) {
56
+ this.baseDir = baseDir ?? path.join(os.homedir(), '.mama', 'workspace', 'ultrawork');
57
+ }
58
+ /**
59
+ * Validates sessionId to prevent path traversal attacks.
60
+ * Only allows alphanumeric, hyphen, and underscore characters.
61
+ */
62
+ validateSessionId(sessionId) {
63
+ if (!/^[A-Za-z0-9_-]+$/.test(sessionId)) {
64
+ throw new Error(`Invalid sessionId: "${sessionId}" — must match /^[A-Za-z0-9_-]+$/`);
65
+ }
66
+ // Double-check with path resolution
67
+ const resolved = path.resolve(this.baseDir, sessionId);
68
+ const base = path.resolve(this.baseDir);
69
+ if (!resolved.startsWith(base + path.sep)) {
70
+ throw new Error(`Invalid sessionId: "${sessionId}" — path traversal detected`);
71
+ }
72
+ }
73
+ sessionDir(sessionId) {
74
+ this.validateSessionId(sessionId);
75
+ return path.join(this.baseDir, sessionId);
76
+ }
77
+ /**
78
+ * Executes a function with an exclusive lock on the given sessionId.
79
+ * Prevents TOCTOU race conditions on read-modify-write operations.
80
+ */
81
+ async withSessionLock(sessionId, fn) {
82
+ const prev = this.sessionLocks.get(sessionId) ?? Promise.resolve();
83
+ let release;
84
+ const next = new Promise((res) => {
85
+ release = res;
86
+ });
87
+ const chained = prev.then(() => next);
88
+ this.sessionLocks.set(sessionId, chained);
89
+ await prev;
90
+ try {
91
+ return await fn();
92
+ }
93
+ finally {
94
+ release();
95
+ if (this.sessionLocks.get(sessionId) === chained) {
96
+ this.sessionLocks.delete(sessionId);
97
+ }
98
+ }
99
+ }
100
+ async createSession(sessionId, task, agents) {
101
+ const dir = this.sessionDir(sessionId);
102
+ await fs.mkdir(dir, { recursive: true });
103
+ const state = {
104
+ id: sessionId,
105
+ task,
106
+ phase: 'planning',
107
+ agents,
108
+ createdAt: Date.now(),
109
+ updatedAt: Date.now(),
110
+ };
111
+ await fs.writeFile(path.join(dir, 'session.json'), JSON.stringify(state, null, 2));
112
+ await fs.writeFile(path.join(dir, 'progress.json'), '[]');
113
+ }
114
+ async loadSession(sessionId) {
115
+ try {
116
+ const data = await fs.readFile(path.join(this.sessionDir(sessionId), 'session.json'), 'utf-8');
117
+ return JSON.parse(data);
118
+ }
119
+ catch (err) {
120
+ if (err.code === 'ENOENT') {
121
+ return null;
122
+ }
123
+ throw err;
124
+ }
125
+ }
126
+ async updatePhase(sessionId, phase) {
127
+ return this.withSessionLock(sessionId, async () => {
128
+ const state = await this.loadSession(sessionId);
129
+ if (!state) {
130
+ return;
131
+ }
132
+ state.phase = phase;
133
+ state.updatedAt = Date.now();
134
+ await fs.writeFile(path.join(this.sessionDir(sessionId), 'session.json'), JSON.stringify(state, null, 2));
135
+ });
136
+ }
137
+ async savePlan(sessionId, plan) {
138
+ await fs.writeFile(path.join(this.sessionDir(sessionId), 'plan.md'), plan);
139
+ }
140
+ async loadPlan(sessionId) {
141
+ try {
142
+ return await fs.readFile(path.join(this.sessionDir(sessionId), 'plan.md'), 'utf-8');
143
+ }
144
+ catch (err) {
145
+ if (err.code === 'ENOENT') {
146
+ return null;
147
+ }
148
+ throw err;
149
+ }
150
+ }
151
+ async recordStep(sessionId, step) {
152
+ return this.withSessionLock(sessionId, async () => {
153
+ const steps = await this.loadProgress(sessionId);
154
+ steps.push(step);
155
+ await fs.writeFile(path.join(this.sessionDir(sessionId), 'progress.json'), JSON.stringify(steps, null, 2));
156
+ });
157
+ }
158
+ async loadProgress(sessionId) {
159
+ try {
160
+ const data = await fs.readFile(path.join(this.sessionDir(sessionId), 'progress.json'), 'utf-8');
161
+ return JSON.parse(data);
162
+ }
163
+ catch (err) {
164
+ if (err.code === 'ENOENT') {
165
+ return [];
166
+ }
167
+ throw err;
168
+ }
169
+ }
170
+ async saveRetrospective(sessionId, retro) {
171
+ await fs.writeFile(path.join(this.sessionDir(sessionId), 'retrospective.md'), retro);
172
+ }
173
+ async deleteSession(sessionId) {
174
+ // force: true already suppresses ENOENT, so no need to catch
175
+ await fs.rm(this.sessionDir(sessionId), { recursive: true, force: true });
176
+ }
177
+ async listSessions() {
178
+ try {
179
+ const entries = await fs.readdir(this.baseDir, { withFileTypes: true });
180
+ return entries.filter((e) => e.isDirectory()).map((e) => e.name);
181
+ }
182
+ catch (err) {
183
+ if (err.code === 'ENOENT') {
184
+ return [];
185
+ }
186
+ throw err;
187
+ }
188
+ }
189
+ }
190
+ exports.UltraWorkStateManager = UltraWorkStateManager;
191
+ //# sourceMappingURL=ultrawork-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ultrawork-state.js","sourceRoot":"","sources":["../../src/multi-agent/ultrawork-state.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,12 @@
4
4
  * Manages autonomous multi-step work sessions that combine
5
5
  * delegation and task continuation for extended workflows.
6
6
  *
7
- * UltraWork sessions allow a Tier 1 lead agent to autonomously
8
- * orchestrate work by delegating tasks, continuing incomplete
9
- * responses, and coordinating with other agents.
7
+ * Supports two modes:
8
+ * 1. **Phased Loop** (Ralph Loop, default): Plan -> Build -> Retrospective
9
+ * - File-based state persist for crash recovery
10
+ * - Council integration at plan and retrospective phases
11
+ * - Structured task execution from plan
12
+ * 2. **Freeform Loop** (legacy): Lead agent freely delegates and continues
10
13
  *
11
14
  * Constraints:
12
15
  * - max_duration (default 30 min)
@@ -16,6 +19,15 @@
16
19
  import type { UltraWorkConfig, AgentPersonaConfig } from './types.js';
17
20
  import { ToolPermissionManager } from './tool-permission-manager.js';
18
21
  import { type DelegationExecuteCallback, type DelegationNotifyCallback } from './delegation-manager.js';
22
+ import { UltraWorkStateManager } from './ultrawork-state.js';
23
+ /**
24
+ * Callback to intercept agent responses for workflow/council plan execution.
25
+ * Returns the processed result if a plan was found, or null to continue normal processing.
26
+ */
27
+ export type ResponseInterceptor = (agentResponse: string, channelId: string) => Promise<{
28
+ result: string;
29
+ type: 'workflow' | 'council';
30
+ } | null>;
19
31
  /**
20
32
  * UltraWork session state
21
33
  */
@@ -66,6 +78,7 @@ export interface UltraWorkStep {
66
78
  export declare class UltraWorkManager {
67
79
  private config;
68
80
  private permissionManager;
81
+ private stateManager;
69
82
  /** Active sessions per channel */
70
83
  private sessions;
71
84
  /** Session counter for unique IDs */
@@ -78,7 +91,7 @@ export declare class UltraWorkManager {
78
91
  /**
79
92
  * Start a new UltraWork session.
80
93
  */
81
- startSession(channelId: string, leadAgentId: string, task: string, agents: AgentPersonaConfig[], executeCallback: DelegationExecuteCallback, notifyCallback: DelegationNotifyCallback): Promise<UltraWorkSession>;
94
+ startSession(channelId: string, leadAgentId: string, task: string, agents: AgentPersonaConfig[], executeCallback: DelegationExecuteCallback, notifyCallback: DelegationNotifyCallback, responseInterceptor?: ResponseInterceptor): Promise<UltraWorkSession>;
82
95
  /**
83
96
  * Check if a session should continue.
84
97
  */
@@ -104,28 +117,33 @@ export declare class UltraWorkManager {
104
117
  */
105
118
  updateConfig(config: UltraWorkConfig): void;
106
119
  /**
107
- * Execute callback with timeout protection.
108
- * Prevents long-running agent responses from blocking indefinitely.
109
- *
110
- * @param executeCallback - The callback to execute
111
- * @param agentId - Agent ID for error messages
112
- * @param prompt - Prompt to send to agent
113
- * @param timeoutMs - Timeout in milliseconds (default: 5 minutes)
114
- * @returns Promise that rejects on timeout
120
+ * Get the state manager (for testing).
115
121
  */
116
- private executeWithTimeout;
122
+ getStateManager(): UltraWorkStateManager | null;
117
123
  /**
118
- * Run the autonomous session loop.
119
- * Lead agent works on the task, delegating and continuing as needed.
124
+ * Override state manager (for testing with temp dirs).
120
125
  */
121
- private runSessionLoop;
126
+ setStateManager(sm: UltraWorkStateManager | null): void;
122
127
  /**
123
- * Build the initial prompt for the lead agent.
128
+ * Execute callback with timeout protection.
124
129
  */
125
- private buildInitialPrompt;
130
+ private executeWithTimeout;
126
131
  /**
127
- * Build continuation prompt after a delegation completes.
132
+ * Run the autonomous session loop dispatches to phased or freeform mode.
128
133
  */
134
+ private runSessionLoop;
135
+ private runPlanningPhase;
136
+ private runBuildingPhase;
137
+ private runRetrospectivePhase;
138
+ private runPhasedLoop;
139
+ private runFreeformLoop;
140
+ private buildPlanningPrompt;
141
+ private buildBuildingPrompt;
142
+ private buildRetrospectivePrompt;
143
+ private buildInitialPrompt;
129
144
  private buildContinuationAfterDelegation;
145
+ private isBuildComplete;
146
+ private isRetroComplete;
147
+ private endSession;
130
148
  }
131
149
  //# sourceMappingURL=ultrawork.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ultrawork.d.ts","sourceRoot":"","sources":["../../src/multi-agent/ultrawork.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AAMjC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB;IAChB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAaD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAAwB;IAEjD,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAA4C;IAE5D,qCAAqC;IACrC,OAAO,CAAC,cAAc,CAAK;gBAEf,MAAM,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,qBAAqB;IAK9E;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAS5C;;OAEG;IACG,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,kBAAkB,EAAE,EAC5B,eAAe,EAAE,yBAAyB,EAC1C,cAAc,EAAE,wBAAwB,GACvC,OAAO,CAAC,gBAAgB,CAAC;IAoD5B;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAOlD;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IASvD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAItD;;OAEG;IACH,iBAAiB,IAAI,gBAAgB,EAAE;IAIvC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAI3C;;;;;;;;;OASG;YACW,kBAAkB;IAsBhC;;;OAGG;YACW,cAAc;IA4J5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,gCAAgC;CASzC"}
1
+ {"version":3,"file":"ultrawork.d.ts","sourceRoot":"","sources":["../../src/multi-agent/ultrawork.ts"],"names":[],"mappings":"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"}