@jungjaehoon/mama-os 0.8.2 → 0.8.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.
- package/README.md +1 -1
- package/dist/agent/codex-cli-wrapper.d.ts.map +1 -1
- package/dist/agent/codex-cli-wrapper.js +16 -13
- package/dist/agent/codex-cli-wrapper.js.map +1 -1
- package/dist/api/graph-api-types.d.ts +2 -0
- package/dist/api/graph-api-types.d.ts.map +1 -1
- package/dist/api/graph-api.d.ts.map +1 -1
- package/dist/api/graph-api.js +141 -12
- package/dist/api/graph-api.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +92 -5
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/config/config-manager.d.ts.map +1 -1
- package/dist/cli/config/config-manager.js +61 -2
- package/dist/cli/config/config-manager.js.map +1 -1
- package/dist/cli/config/types.d.ts +8 -0
- package/dist/cli/config/types.d.ts.map +1 -1
- package/dist/cli/config/types.js.map +1 -1
- package/dist/gateways/discord.d.ts +4 -0
- package/dist/gateways/discord.d.ts.map +1 -1
- package/dist/gateways/discord.js +94 -8
- package/dist/gateways/discord.js.map +1 -1
- package/dist/gateways/slack.d.ts +4 -0
- package/dist/gateways/slack.d.ts.map +1 -1
- package/dist/gateways/slack.js +4 -2
- package/dist/gateways/slack.js.map +1 -1
- package/dist/multi-agent/agent-message-queue.d.ts +2 -2
- package/dist/multi-agent/agent-message-queue.d.ts.map +1 -1
- package/dist/multi-agent/agent-message-queue.js.map +1 -1
- package/dist/multi-agent/agent-process-manager.d.ts +11 -6
- package/dist/multi-agent/agent-process-manager.d.ts.map +1 -1
- package/dist/multi-agent/agent-process-manager.js +118 -55
- package/dist/multi-agent/agent-process-manager.js.map +1 -1
- package/dist/multi-agent/agent-process-pool.d.ts +6 -6
- package/dist/multi-agent/agent-process-pool.d.ts.map +1 -1
- package/dist/multi-agent/agent-process-pool.js +2 -2
- package/dist/multi-agent/agent-process-pool.js.map +1 -1
- package/dist/multi-agent/delegation-format-validator.d.ts.map +1 -1
- package/dist/multi-agent/delegation-format-validator.js +2 -8
- package/dist/multi-agent/delegation-format-validator.js.map +1 -1
- package/dist/multi-agent/multi-agent-base.d.ts +2 -2
- package/dist/multi-agent/multi-agent-base.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-base.js +23 -10
- package/dist/multi-agent/multi-agent-base.js.map +1 -1
- package/dist/multi-agent/multi-agent-discord.d.ts +13 -4
- package/dist/multi-agent/multi-agent-discord.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-discord.js +171 -50
- package/dist/multi-agent/multi-agent-discord.js.map +1 -1
- package/dist/multi-agent/multi-agent-slack.d.ts +19 -2
- package/dist/multi-agent/multi-agent-slack.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-slack.js +145 -14
- package/dist/multi-agent/multi-agent-slack.js.map +1 -1
- package/dist/multi-agent/multi-bot-manager.d.ts.map +1 -1
- package/dist/multi-agent/multi-bot-manager.js +83 -27
- package/dist/multi-agent/multi-bot-manager.js.map +1 -1
- package/dist/multi-agent/orchestrator.d.ts +9 -0
- package/dist/multi-agent/orchestrator.d.ts.map +1 -1
- package/dist/multi-agent/orchestrator.js +49 -15
- package/dist/multi-agent/orchestrator.js.map +1 -1
- package/dist/multi-agent/pr-review-poller.d.ts +32 -4
- package/dist/multi-agent/pr-review-poller.d.ts.map +1 -1
- package/dist/multi-agent/pr-review-poller.js +128 -55
- package/dist/multi-agent/pr-review-poller.js.map +1 -1
- package/dist/multi-agent/runtime-process.d.ts +37 -0
- package/dist/multi-agent/runtime-process.d.ts.map +1 -0
- package/dist/multi-agent/runtime-process.js +89 -0
- package/dist/multi-agent/runtime-process.js.map +1 -0
- package/dist/multi-agent/swarm/swarm-task-runner.js.map +1 -1
- package/dist/multi-agent/types.d.ts +37 -1
- package/dist/multi-agent/types.d.ts.map +1 -1
- package/dist/multi-agent/types.js +3 -0
- package/dist/multi-agent/types.js.map +1 -1
- package/dist/onboarding/phase-7-integrations.js +1 -1
- package/package.json +1 -1
- package/public/viewer/js/modules/settings.js +101 -3
package/README.md
CHANGED
|
@@ -409,7 +409,7 @@ multi_agent:
|
|
|
409
409
|
trigger_prefix: '!review'
|
|
410
410
|
persona_file: '~/.mama/personas/reviewer.md'
|
|
411
411
|
bot_token: 'DISCORD_BOT_TOKEN_3'
|
|
412
|
-
tier:
|
|
412
|
+
tier: 1 # Full access for code changes
|
|
413
413
|
auto_respond_keywords: ['review', 'check', '리뷰', '검토']
|
|
414
414
|
|
|
415
415
|
# Regex-based category routing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-cli-wrapper.d.ts","sourceRoot":"","sources":["../../src/agent/codex-cli-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IACjE,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACnE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAUD,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAyB;gBAE5B,OAAO,GAAE,sBAA2B;IAKhD;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACpD,OAAO,CAAC,YAAY,CAAC;IAgCxB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIrC,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"codex-cli-wrapper.d.ts","sourceRoot":"","sources":["../../src/agent/codex-cli-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IACjE,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACnE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAUD,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAyB;gBAE5B,OAAO,GAAE,sBAA2B;IAKhD;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACpD,OAAO,CAAC,YAAY,CAAC;IAgCxB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIrC,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,SAAS;IAsFjB,OAAO,CAAC,OAAO;IAiDf,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,UAAU;CAsCnB"}
|
|
@@ -92,12 +92,6 @@ class CodexCLIWrapper {
|
|
|
92
92
|
const cwd = this.options.cwd;
|
|
93
93
|
if (options?.resumeSession) {
|
|
94
94
|
args.push('exec', 'resume');
|
|
95
|
-
if (this.sessionId) {
|
|
96
|
-
args.push(this.sessionId);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
args.push('--last');
|
|
100
|
-
}
|
|
101
95
|
}
|
|
102
96
|
else {
|
|
103
97
|
args.push('exec');
|
|
@@ -111,6 +105,14 @@ class CodexCLIWrapper {
|
|
|
111
105
|
if (sandbox === 'danger-full-access') {
|
|
112
106
|
args.push('--dangerously-bypass-approvals-and-sandbox');
|
|
113
107
|
}
|
|
108
|
+
// For `codex exec resume`, keep options before positional args so they are
|
|
109
|
+
// never parsed as PROMPT.
|
|
110
|
+
if (this.sessionId) {
|
|
111
|
+
args.push(this.sessionId);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
args.push('--last');
|
|
115
|
+
}
|
|
114
116
|
}
|
|
115
117
|
else {
|
|
116
118
|
args.push('--json', '--output-last-message', outputFile, '--color', 'never');
|
|
@@ -144,14 +146,15 @@ class CodexCLIWrapper {
|
|
|
144
146
|
args.push('--add-dir', dir);
|
|
145
147
|
}
|
|
146
148
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
// configOverrides and model are not supported in resume mode
|
|
150
|
+
for (const override of configOverrides) {
|
|
151
|
+
if (override) {
|
|
152
|
+
args.push('-c', override);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (model) {
|
|
156
|
+
args.push('--model', model);
|
|
151
157
|
}
|
|
152
|
-
}
|
|
153
|
-
if (model) {
|
|
154
|
-
args.push('--model', model);
|
|
155
158
|
}
|
|
156
159
|
// Read prompt from stdin to avoid arg length issues
|
|
157
160
|
args.push('-');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-cli-wrapper.js","sourceRoot":"","sources":["../../src/agent/codex-cli-wrapper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codex-cli-wrapper.js","sourceRoot":"","sources":["../../src/agent/codex-cli-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,8 @@ export interface CheckpointData {
|
|
|
34
34
|
export interface GraphHandlerOptions {
|
|
35
35
|
getAgentStates?: () => Map<string, string>;
|
|
36
36
|
getSwarmTasks?: (limit: number) => SwarmTask[];
|
|
37
|
+
applyMultiAgentConfig?: (config: Record<string, unknown>) => Promise<void>;
|
|
38
|
+
restartMultiAgentAgent?: (agentId: string) => Promise<void>;
|
|
37
39
|
}
|
|
38
40
|
export interface SwarmTask {
|
|
39
41
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-api-types.d.ts","sourceRoot":"","sources":["../../src/api/graph-api-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAI5D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAID,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-api-types.d.ts","sourceRoot":"","sources":["../../src/api/graph-api-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-api.d.ts","sourceRoot":"","sources":["../../src/api/graph-api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EAET,cAAc,EACd,mBAAmB,EAGnB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAmB9B,QAAA,MAAM,gBAAgB,QAAuC,CAAC;AAC9D,QAAA,MAAM,eAAe,QAAsC,CAAC;AAC5D,QAAA,MAAM,cAAc,QAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-api.d.ts","sourceRoot":"","sources":["../../src/api/graph-api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EAET,cAAc,EACd,mBAAmB,EAGnB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAmB9B,QAAA,MAAM,gBAAgB,QAAuC,CAAC;AAC9D,QAAA,MAAM,eAAe,QAAsC,CAAC;AAC5D,QAAA,MAAM,cAAc,QAAqC,CAAC;AAsC1D,iBAAe,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAmCjD;AAED,iBAAe,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CA0BjD;AAWD,iBAAe,iBAAiB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAiC5D;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAGrD;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CAE1E;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAG/E;AAyjBD,iBAAS,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,cAAc,CA+W7E;AAq5CD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,CAAC;AAEF,YAAY,EACV,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
|
package/dist/api/graph-api.js
CHANGED
|
@@ -46,6 +46,37 @@ exports.VIEWER_JS_PATH = VIEWER_JS_PATH;
|
|
|
46
46
|
const SW_JS_PATH = path_1.default.join(VIEWER_DIR, 'sw.js');
|
|
47
47
|
const MANIFEST_JSON_PATH = path_1.default.join(VIEWER_DIR, 'manifest.json');
|
|
48
48
|
const FAVICON_PATH = path_1.default.join(__dirname, '../../public/favicon.ico');
|
|
49
|
+
// Model pattern helpers (used in multiple validation functions)
|
|
50
|
+
const isClaudeModel = (model) => /^claude-/i.test(model);
|
|
51
|
+
const isCodexModel = (model) => /^(gpt-|o\d|codex)/i.test(model);
|
|
52
|
+
// Allowed directories for persona files (security: prevent arbitrary file read)
|
|
53
|
+
const ALLOWED_PERSONA_DIRS = [
|
|
54
|
+
path_1.default.join(os_1.default.homedir(), '.mama', 'personas'),
|
|
55
|
+
path_1.default.join(os_1.default.homedir(), '.mama', 'workspace'),
|
|
56
|
+
];
|
|
57
|
+
/**
|
|
58
|
+
* Validate persona_file path to prevent arbitrary file read attacks.
|
|
59
|
+
* Only allows paths within ~/.mama/personas/ or ~/.mama/workspace/.
|
|
60
|
+
* Uses fs.realpathSync to resolve symlinks and prevent symlink escape attacks.
|
|
61
|
+
*/
|
|
62
|
+
function isValidPersonaPath(filePath) {
|
|
63
|
+
if (!filePath) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
const expandedPath = filePath.startsWith('~/')
|
|
67
|
+
? path_1.default.join(os_1.default.homedir(), filePath.slice(2))
|
|
68
|
+
: path_1.default.resolve(filePath);
|
|
69
|
+
const normalizedPath = path_1.default.normalize(expandedPath);
|
|
70
|
+
let resolvedPath;
|
|
71
|
+
try {
|
|
72
|
+
resolvedPath = fs_1.default.realpathSync(normalizedPath);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// File doesn't exist or can't be resolved - reject
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
return ALLOWED_PERSONA_DIRS.some((dir) => resolvedPath.startsWith(dir + path_1.default.sep));
|
|
79
|
+
}
|
|
49
80
|
async function getAllNodes() {
|
|
50
81
|
const adapter = getAdapter();
|
|
51
82
|
const stmt = adapter.prepare(`
|
|
@@ -774,7 +805,7 @@ function createGraphHandler(options = {}) {
|
|
|
774
805
|
}
|
|
775
806
|
// Route: PUT /api/config - update config
|
|
776
807
|
if (pathname === '/api/config' && req.method === 'PUT') {
|
|
777
|
-
await handleUpdateConfigRequest(req, res);
|
|
808
|
+
await handleUpdateConfigRequest(req, res, options);
|
|
778
809
|
return true;
|
|
779
810
|
}
|
|
780
811
|
// Route: POST /api/restart - graceful restart via mama CLI
|
|
@@ -804,7 +835,6 @@ function createGraphHandler(options = {}) {
|
|
|
804
835
|
stdio: 'ignore',
|
|
805
836
|
}).unref();
|
|
806
837
|
process.exit(0);
|
|
807
|
-
return;
|
|
808
838
|
}
|
|
809
839
|
// Spawn detached daemon directly, then exit current process
|
|
810
840
|
// Cannot use `mama start` because it checks PID (current process still alive)
|
|
@@ -844,7 +874,7 @@ function createGraphHandler(options = {}) {
|
|
|
844
874
|
}
|
|
845
875
|
// Route: PUT /api/multi-agent/agents/:id - update agent config
|
|
846
876
|
if (pathname.startsWith('/api/multi-agent/agents/') && req.method === 'PUT') {
|
|
847
|
-
await handleMultiAgentUpdateAgentRequest(req, res, pathname);
|
|
877
|
+
await handleMultiAgentUpdateAgentRequest(req, res, pathname, options);
|
|
848
878
|
return true;
|
|
849
879
|
}
|
|
850
880
|
// Route: GET /api/multi-agent/delegations - get recent delegations
|
|
@@ -1149,6 +1179,7 @@ async function handleGetConfigRequest(_req, res) {
|
|
|
1149
1179
|
default_agent: config.multi_agent.default_agent || null,
|
|
1150
1180
|
mention_delegation: config.multi_agent.mention_delegation || false,
|
|
1151
1181
|
max_mention_depth: config.multi_agent.max_mention_depth || 3,
|
|
1182
|
+
pr_review_poller: config.multi_agent.pr_review_poller || { enabled: false },
|
|
1152
1183
|
}
|
|
1153
1184
|
: undefined,
|
|
1154
1185
|
};
|
|
@@ -1166,7 +1197,7 @@ async function handleGetConfigRequest(_req, res) {
|
|
|
1166
1197
|
}));
|
|
1167
1198
|
}
|
|
1168
1199
|
}
|
|
1169
|
-
async function handleUpdateConfigRequest(req, res) {
|
|
1200
|
+
async function handleUpdateConfigRequest(req, res, options = {}) {
|
|
1170
1201
|
try {
|
|
1171
1202
|
// Verify authentication for config modifications
|
|
1172
1203
|
if (!isAuthenticated(req)) {
|
|
@@ -1208,6 +1239,14 @@ async function handleUpdateConfigRequest(req, res) {
|
|
|
1208
1239
|
return;
|
|
1209
1240
|
}
|
|
1210
1241
|
saveMAMAConfig(updatedConfig);
|
|
1242
|
+
if (updatedConfig.multi_agent && options.applyMultiAgentConfig) {
|
|
1243
|
+
try {
|
|
1244
|
+
await options.applyMultiAgentConfig(updatedConfig.multi_agent);
|
|
1245
|
+
}
|
|
1246
|
+
catch (err) {
|
|
1247
|
+
logger.warn('Multi-agent hot-apply failed after config update:', err instanceof Error ? err.message : String(err));
|
|
1248
|
+
}
|
|
1249
|
+
}
|
|
1211
1250
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1212
1251
|
res.end(JSON.stringify({
|
|
1213
1252
|
success: true,
|
|
@@ -1415,6 +1454,20 @@ function validateConfigUpdate(config) {
|
|
|
1415
1454
|
if (config.agent.timeout && config.agent.timeout < 1000) {
|
|
1416
1455
|
errors.push('timeout must be at least 1000ms');
|
|
1417
1456
|
}
|
|
1457
|
+
if (config.agent.backend &&
|
|
1458
|
+
!['claude', 'codex'].includes(String(config.agent.backend).toLowerCase())) {
|
|
1459
|
+
errors.push('agent.backend must be "claude" or "codex"');
|
|
1460
|
+
}
|
|
1461
|
+
if (config.agent.backend && config.agent.model && typeof config.agent.model === 'string') {
|
|
1462
|
+
const backend = String(config.agent.backend).toLowerCase();
|
|
1463
|
+
const model = config.agent.model;
|
|
1464
|
+
if (backend === 'claude' && !isClaudeModel(model)) {
|
|
1465
|
+
errors.push('agent.model must be a Claude model when agent.backend is "claude"');
|
|
1466
|
+
}
|
|
1467
|
+
if (backend === 'codex' && !isCodexModel(model)) {
|
|
1468
|
+
errors.push('agent.model must be a Codex/OpenAI model when agent.backend is "codex"');
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1418
1471
|
}
|
|
1419
1472
|
if (config.heartbeat) {
|
|
1420
1473
|
if (config.heartbeat.interval && config.heartbeat.interval < 60000) {
|
|
@@ -1424,6 +1477,29 @@ function validateConfigUpdate(config) {
|
|
|
1424
1477
|
if (config.use_claude_cli !== undefined && typeof config.use_claude_cli !== 'boolean') {
|
|
1425
1478
|
errors.push('use_claude_cli must be a boolean');
|
|
1426
1479
|
}
|
|
1480
|
+
const globalBackend = config.agent?.backend;
|
|
1481
|
+
if (config.multi_agent?.agents && typeof config.multi_agent.agents === 'object') {
|
|
1482
|
+
for (const [agentId, agentConfig] of Object.entries(config.multi_agent.agents)) {
|
|
1483
|
+
const cfg = agentConfig;
|
|
1484
|
+
const backendRaw = cfg.backend ?? globalBackend;
|
|
1485
|
+
const modelRaw = cfg.model;
|
|
1486
|
+
if (backendRaw !== undefined) {
|
|
1487
|
+
const backend = String(backendRaw).toLowerCase();
|
|
1488
|
+
if (!['claude', 'codex'].includes(backend)) {
|
|
1489
|
+
errors.push(`multi_agent.agents.${agentId}.backend must be "claude" or "codex"`);
|
|
1490
|
+
continue;
|
|
1491
|
+
}
|
|
1492
|
+
if (typeof modelRaw === 'string' && modelRaw.trim()) {
|
|
1493
|
+
if (backend === 'claude' && !isClaudeModel(modelRaw)) {
|
|
1494
|
+
errors.push(`multi_agent.agents.${agentId}.model must be a Claude model when backend is "claude"`);
|
|
1495
|
+
}
|
|
1496
|
+
if (backend === 'codex' && !isCodexModel(modelRaw)) {
|
|
1497
|
+
errors.push(`multi_agent.agents.${agentId}.model must be a Codex/OpenAI model when backend is "codex"`);
|
|
1498
|
+
}
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1501
|
+
}
|
|
1502
|
+
}
|
|
1427
1503
|
return errors;
|
|
1428
1504
|
}
|
|
1429
1505
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1576,6 +1652,7 @@ async function handleMultiAgentAgentsRequest(_req, res) {
|
|
|
1576
1652
|
name: agentConfig.name || id,
|
|
1577
1653
|
display_name: agentConfig.display_name || agentConfig.name || id,
|
|
1578
1654
|
tier: agentConfig.tier || 1,
|
|
1655
|
+
backend: agentConfig.backend || null,
|
|
1579
1656
|
model: agentConfig.model || null,
|
|
1580
1657
|
enabled: agentConfig.enabled !== false,
|
|
1581
1658
|
persona_file: agentConfig.persona_file || null,
|
|
@@ -1608,7 +1685,7 @@ async function handleMultiAgentAgentsRequest(_req, res) {
|
|
|
1608
1685
|
}));
|
|
1609
1686
|
}
|
|
1610
1687
|
}
|
|
1611
|
-
async function handleMultiAgentUpdateAgentRequest(req, res, pathname) {
|
|
1688
|
+
async function handleMultiAgentUpdateAgentRequest(req, res, pathname, options = {}) {
|
|
1612
1689
|
try {
|
|
1613
1690
|
// Security: require authentication for config-writing endpoint
|
|
1614
1691
|
if (!isAuthenticated(req)) {
|
|
@@ -1675,6 +1752,21 @@ async function handleMultiAgentUpdateAgentRequest(req, res, pathname) {
|
|
|
1675
1752
|
if (body.can_delegate !== undefined && typeof body.can_delegate !== 'boolean') {
|
|
1676
1753
|
validationErrors.push('can_delegate must be a boolean');
|
|
1677
1754
|
}
|
|
1755
|
+
if (body.backend !== undefined &&
|
|
1756
|
+
(typeof body.backend !== 'string' ||
|
|
1757
|
+
!['claude', 'codex'].includes(String(body.backend).toLowerCase()))) {
|
|
1758
|
+
validationErrors.push('backend must be "claude" or "codex"');
|
|
1759
|
+
}
|
|
1760
|
+
const nextBackend = (body.backend !== undefined ? String(body.backend).toLowerCase() : currentAgent.backend);
|
|
1761
|
+
const nextModel = (body.model !== undefined ? body.model : currentAgent.model);
|
|
1762
|
+
if (typeof nextBackend === 'string' && typeof nextModel === 'string' && nextModel.trim()) {
|
|
1763
|
+
if (nextBackend === 'claude' && !isClaudeModel(nextModel)) {
|
|
1764
|
+
validationErrors.push('model must be a Claude model when backend is "claude"');
|
|
1765
|
+
}
|
|
1766
|
+
if (nextBackend === 'codex' && !isCodexModel(nextModel)) {
|
|
1767
|
+
validationErrors.push('model must be a Codex/OpenAI model when backend is "codex"');
|
|
1768
|
+
}
|
|
1769
|
+
}
|
|
1678
1770
|
if (validationErrors.length > 0) {
|
|
1679
1771
|
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
1680
1772
|
res.end(JSON.stringify({
|
|
@@ -1684,18 +1776,34 @@ async function handleMultiAgentUpdateAgentRequest(req, res, pathname) {
|
|
|
1684
1776
|
}));
|
|
1685
1777
|
return;
|
|
1686
1778
|
}
|
|
1687
|
-
if (body.name !== undefined)
|
|
1779
|
+
if (body.name !== undefined) {
|
|
1688
1780
|
updatedAgent.name = body.name;
|
|
1689
|
-
|
|
1781
|
+
}
|
|
1782
|
+
if (body.display_name !== undefined) {
|
|
1690
1783
|
updatedAgent.display_name = body.display_name;
|
|
1691
|
-
|
|
1784
|
+
}
|
|
1785
|
+
if (body.tier !== undefined) {
|
|
1692
1786
|
updatedAgent.tier = body.tier;
|
|
1693
|
-
|
|
1787
|
+
}
|
|
1788
|
+
if (body.backend !== undefined) {
|
|
1789
|
+
updatedAgent.backend = String(body.backend).toLowerCase();
|
|
1790
|
+
}
|
|
1791
|
+
if (body.model !== undefined) {
|
|
1694
1792
|
updatedAgent.model = body.model;
|
|
1695
|
-
|
|
1793
|
+
}
|
|
1794
|
+
if (body.enabled !== undefined) {
|
|
1696
1795
|
updatedAgent.enabled = body.enabled;
|
|
1697
|
-
|
|
1796
|
+
}
|
|
1797
|
+
if (body.persona_file !== undefined && body.persona_file !== null) {
|
|
1798
|
+
if (typeof body.persona_file !== 'string' || !isValidPersonaPath(body.persona_file)) {
|
|
1799
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
1800
|
+
res.end(JSON.stringify({
|
|
1801
|
+
error: 'Invalid persona_file path. Must be within ~/.mama/personas/ or ~/.mama/workspace/',
|
|
1802
|
+
}));
|
|
1803
|
+
return;
|
|
1804
|
+
}
|
|
1698
1805
|
updatedAgent.persona_file = body.persona_file;
|
|
1806
|
+
}
|
|
1699
1807
|
if (body.trigger_prefix !== undefined)
|
|
1700
1808
|
updatedAgent.trigger_prefix = body.trigger_prefix;
|
|
1701
1809
|
if (body.auto_respond_keywords !== undefined)
|
|
@@ -1722,10 +1830,31 @@ async function handleMultiAgentUpdateAgentRequest(req, res, pathname) {
|
|
|
1722
1830
|
}
|
|
1723
1831
|
config.multi_agent.agents[agentId] = updatedAgent;
|
|
1724
1832
|
saveMAMAConfig(config);
|
|
1833
|
+
let runtimeReloaded = true;
|
|
1834
|
+
if (options.applyMultiAgentConfig) {
|
|
1835
|
+
try {
|
|
1836
|
+
await options.applyMultiAgentConfig(config.multi_agent);
|
|
1837
|
+
}
|
|
1838
|
+
catch (err) {
|
|
1839
|
+
runtimeReloaded = false;
|
|
1840
|
+
logger.warn(`Multi-agent hot-apply failed for ${agentId}:`, err instanceof Error ? err.message : String(err));
|
|
1841
|
+
}
|
|
1842
|
+
}
|
|
1843
|
+
if (options.restartMultiAgentAgent) {
|
|
1844
|
+
try {
|
|
1845
|
+
await options.restartMultiAgentAgent(agentId);
|
|
1846
|
+
}
|
|
1847
|
+
catch (err) {
|
|
1848
|
+
runtimeReloaded = false;
|
|
1849
|
+
logger.warn(`Agent runtime restart failed for ${agentId}:`, err instanceof Error ? err.message : String(err));
|
|
1850
|
+
}
|
|
1851
|
+
}
|
|
1725
1852
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1726
1853
|
res.end(JSON.stringify({
|
|
1727
1854
|
success: true,
|
|
1728
|
-
message:
|
|
1855
|
+
message: runtimeReloaded
|
|
1856
|
+
? `Agent '${agentId}' updated successfully (runtime reloaded)`
|
|
1857
|
+
: `Agent '${agentId}' config saved (runtime reload skipped or failed)`,
|
|
1729
1858
|
}));
|
|
1730
1859
|
}
|
|
1731
1860
|
catch (error) {
|