@jungjaehoon/mama-os 0.23.0 → 0.24.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/agent/agent-loop.d.ts +3 -6
- package/dist/agent/agent-loop.d.ts.map +1 -1
- package/dist/agent/agent-loop.js +390 -202
- package/dist/agent/agent-loop.js.map +1 -1
- package/dist/agent/code-act/constants.d.ts +2 -2
- package/dist/agent/code-act/constants.d.ts.map +1 -1
- package/dist/agent/code-act/constants.js +16 -9
- package/dist/agent/code-act/constants.js.map +1 -1
- package/dist/agent/code-act/host-bridge.d.ts +12 -11
- package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
- package/dist/agent/code-act/host-bridge.js +92 -15
- package/dist/agent/code-act/host-bridge.js.map +1 -1
- package/dist/agent/code-act/index.d.ts +2 -0
- package/dist/agent/code-act/index.d.ts.map +1 -1
- package/dist/agent/code-act/index.js +5 -1
- package/dist/agent/code-act/index.js.map +1 -1
- package/dist/agent/code-act/tool-policy.d.ts +42 -0
- package/dist/agent/code-act/tool-policy.d.ts.map +1 -0
- package/dist/agent/code-act/tool-policy.js +122 -0
- package/dist/agent/code-act/tool-policy.js.map +1 -0
- package/dist/agent/code-act/type-definition-generator.d.ts +4 -3
- package/dist/agent/code-act/type-definition-generator.d.ts.map +1 -1
- package/dist/agent/code-act/type-definition-generator.js +26 -48
- package/dist/agent/code-act/type-definition-generator.js.map +1 -1
- package/dist/agent/codex-app-server-process.d.ts +116 -0
- package/dist/agent/codex-app-server-process.d.ts.map +1 -0
- package/dist/agent/codex-app-server-process.js +1382 -0
- package/dist/agent/codex-app-server-process.js.map +1 -0
- package/dist/agent/codex-home.d.ts +9 -0
- package/dist/agent/codex-home.d.ts.map +1 -1
- package/dist/agent/codex-home.js +626 -4
- package/dist/agent/codex-home.js.map +1 -1
- package/dist/agent/codex-thread-registry.d.ts +63 -0
- package/dist/agent/codex-thread-registry.d.ts.map +1 -0
- package/dist/agent/codex-thread-registry.js +433 -0
- package/dist/agent/codex-thread-registry.js.map +1 -0
- package/dist/agent/gateway-tool-executor.d.ts +2 -7
- package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
- package/dist/agent/gateway-tool-executor.js +69 -84
- package/dist/agent/gateway-tool-executor.js.map +1 -1
- package/dist/agent/managed-agent-runtime-sync.d.ts.map +1 -1
- package/dist/agent/managed-agent-runtime-sync.js +0 -3
- package/dist/agent/managed-agent-runtime-sync.js.map +1 -1
- package/dist/agent/managed-agent-validation.js +1 -1
- package/dist/agent/managed-agent-validation.js.map +1 -1
- package/dist/agent/model-runner.d.ts +51 -3
- package/dist/agent/model-runner.d.ts.map +1 -1
- package/dist/agent/model-runner.js +1 -1
- package/dist/agent/model-runner.js.map +1 -1
- package/dist/agent/persistent-cli-adapter.d.ts +1 -0
- package/dist/agent/persistent-cli-adapter.d.ts.map +1 -1
- package/dist/agent/persistent-cli-adapter.js +3 -0
- package/dist/agent/persistent-cli-adapter.js.map +1 -1
- package/dist/agent/session-pool.d.ts +2 -2
- package/dist/agent/session-pool.d.ts.map +1 -1
- package/dist/agent/session-pool.js +6 -6
- package/dist/agent/session-pool.js.map +1 -1
- package/dist/agent/tool-registry.d.ts +14 -0
- package/dist/agent/tool-registry.d.ts.map +1 -1
- package/dist/agent/tool-registry.js +46 -7
- package/dist/agent/tool-registry.js.map +1 -1
- package/dist/agent/types.d.ts +40 -6
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/graph-api.d.ts.map +1 -1
- package/dist/api/graph-api.js +19 -7
- package/dist/api/graph-api.js.map +1 -1
- package/dist/cli/commands/init.d.ts +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +22 -14
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +7 -4
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/start.d.ts +2 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +77 -24
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.js +2 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/config/config-manager.d.ts.map +1 -1
- package/dist/cli/config/config-manager.js +21 -4
- package/dist/cli/config/config-manager.js.map +1 -1
- package/dist/cli/config/types.d.ts +4 -4
- package/dist/cli/config/types.d.ts.map +1 -1
- package/dist/cli/config/types.js +1 -0
- package/dist/cli/config/types.js.map +1 -1
- package/dist/cli/index.js +2 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/runtime/agent-loop-init.d.ts +1 -1
- package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
- package/dist/cli/runtime/agent-loop-init.js +12 -11
- package/dist/cli/runtime/agent-loop-init.js.map +1 -1
- package/dist/cli/runtime/connector-init.d.ts.map +1 -1
- package/dist/cli/runtime/connector-init.js +13 -17
- package/dist/cli/runtime/connector-init.js.map +1 -1
- package/dist/cli/runtime/envelope-bootstrap.d.ts.map +1 -1
- package/dist/cli/runtime/envelope-bootstrap.js +13 -1
- package/dist/cli/runtime/envelope-bootstrap.js.map +1 -1
- package/dist/cli/runtime/gateway-init.d.ts +1 -1
- package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
- package/dist/cli/runtime/gateway-init.js.map +1 -1
- package/dist/cli/runtime/mama-core-init.d.ts +2 -2
- package/dist/cli/runtime/mama-core-init.d.ts.map +1 -1
- package/dist/cli/runtime/mama-core-init.js +17 -0
- package/dist/cli/runtime/mama-core-init.js.map +1 -1
- package/dist/cli/runtime/memory-agent-init.d.ts +1 -1
- package/dist/cli/runtime/memory-agent-init.d.ts.map +1 -1
- package/dist/cli/runtime/memory-agent-init.js +16 -6
- package/dist/cli/runtime/memory-agent-init.js.map +1 -1
- package/dist/cli/runtime/types.d.ts +4 -26
- package/dist/cli/runtime/types.d.ts.map +1 -1
- package/dist/cli/runtime/utilities.js +2 -2
- package/dist/cli/runtime/utilities.js.map +1 -1
- package/dist/connectors/config-loader.d.ts +24 -0
- package/dist/connectors/config-loader.d.ts.map +1 -0
- package/dist/connectors/config-loader.js +205 -0
- package/dist/connectors/config-loader.js.map +1 -0
- package/dist/connectors/framework/types.d.ts +2 -0
- package/dist/connectors/framework/types.d.ts.map +1 -1
- package/dist/connectors/kagemusha/query-tools.js +2 -2
- package/dist/connectors/kagemusha/query-tools.js.map +1 -1
- package/dist/envelope/reactive-config.d.ts +2 -2
- package/dist/envelope/reactive-config.d.ts.map +1 -1
- package/dist/envelope/reactive-config.js +13 -6
- package/dist/envelope/reactive-config.js.map +1 -1
- package/dist/gateways/context-injector.d.ts +2 -1
- package/dist/gateways/context-injector.d.ts.map +1 -1
- package/dist/gateways/context-injector.js.map +1 -1
- package/dist/gateways/message-router.d.ts +1 -0
- package/dist/gateways/message-router.d.ts.map +1 -1
- package/dist/gateways/message-router.js +25 -3
- package/dist/gateways/message-router.js.map +1 -1
- package/dist/gateways/types.d.ts +1 -1
- package/dist/gateways/types.d.ts.map +1 -1
- package/dist/multi-agent/agent-process-manager.d.ts +9 -1
- package/dist/multi-agent/agent-process-manager.d.ts.map +1 -1
- package/dist/multi-agent/agent-process-manager.js +197 -49
- package/dist/multi-agent/agent-process-manager.js.map +1 -1
- package/dist/multi-agent/multi-agent-base.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-base.js +2 -1
- package/dist/multi-agent/multi-agent-base.js.map +1 -1
- package/dist/multi-agent/runtime-process.d.ts +18 -15
- package/dist/multi-agent/runtime-process.d.ts.map +1 -1
- package/dist/multi-agent/runtime-process.js +63 -59
- package/dist/multi-agent/runtime-process.js.map +1 -1
- package/dist/multi-agent/types.d.ts +13 -7
- package/dist/multi-agent/types.d.ts.map +1 -1
- package/dist/multi-agent/types.js.map +1 -1
- package/dist/multi-agent/workflow-engine.js +3 -3
- package/dist/multi-agent/workflow-engine.js.map +1 -1
- package/dist/multi-agent/workflow-types.d.ts +2 -2
- package/dist/multi-agent/workflow-types.d.ts.map +1 -1
- package/dist/operator/operator-trigger-loop.d.ts +3 -0
- package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
- package/dist/operator/operator-trigger-loop.js +1 -0
- package/dist/operator/operator-trigger-loop.js.map +1 -1
- package/dist/operator/report-run.d.ts +4 -4
- package/dist/operator/situation-report.d.ts +3 -0
- package/dist/operator/situation-report.d.ts.map +1 -1
- package/dist/operator/situation-report.js +43 -26
- package/dist/operator/situation-report.js.map +1 -1
- package/dist/operator/trigger-author.d.ts +35 -1
- package/dist/operator/trigger-author.d.ts.map +1 -1
- package/dist/operator/trigger-author.js +73 -10
- package/dist/operator/trigger-author.js.map +1 -1
- package/dist/operator/worker-run.d.ts +30 -0
- package/dist/operator/worker-run.d.ts.map +1 -1
- package/dist/operator/worker-run.js +64 -1
- package/dist/operator/worker-run.js.map +1 -1
- package/dist/operator/workorder-consumer.d.ts +7 -4
- package/dist/operator/workorder-consumer.d.ts.map +1 -1
- package/dist/operator/workorder-consumer.js +8 -3
- package/dist/operator/workorder-consumer.js.map +1 -1
- package/dist/setup/setup-prompt.d.ts +1 -1
- package/dist/setup/setup-prompt.d.ts.map +1 -1
- package/dist/setup/setup-prompt.js +4 -5
- package/dist/setup/setup-prompt.js.map +1 -1
- package/package.json +1 -1
- package/public/viewer/js/modules/agents.js +13 -9
- package/public/viewer/js/modules/settings.js +15 -10
- package/public/viewer/src/modules/agents.ts +12 -10
- package/public/viewer/src/modules/settings.ts +17 -12
- package/public/viewer/src/utils/api.ts +2 -2
- package/templates/AGENTS.codex.md +2 -23
- package/templates/personas/conductor.md +1 -1
- package/dist/agent/codex-mcp-process.d.ts +0 -105
- package/dist/agent/codex-mcp-process.d.ts.map +0 -1
- package/dist/agent/codex-mcp-process.js +0 -748
- package/dist/agent/codex-mcp-process.js.map +0 -1
|
@@ -12,7 +12,7 @@ export interface InitOptions {
|
|
|
12
12
|
/** Skip Claude Code authentication check (for testing) */
|
|
13
13
|
skipAuthCheck?: boolean;
|
|
14
14
|
/** Preferred backend selection mode */
|
|
15
|
-
backend?: 'auto' | 'claude' | 'codex
|
|
15
|
+
backend?: 'auto' | 'claude' | 'codex';
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Execute init command
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiFH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiFH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACvC;AAsDD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwL1E"}
|
|
@@ -75,6 +75,10 @@ async function copyDefaultSkills(skillsDir) {
|
|
|
75
75
|
console.log(' (no template skills found)');
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
const DEFAULT_MODEL_BY_BACKEND = {
|
|
79
|
+
claude: 'claude-sonnet-4-6',
|
|
80
|
+
codex: 'gpt-5.4',
|
|
81
|
+
};
|
|
78
82
|
function resolvePreferredBackend(preferredBackend) {
|
|
79
83
|
const requestedBackend = resolveRequestedBackend(preferredBackend);
|
|
80
84
|
const codexAuthPaths = [(0, config_manager_js_1.expandPath)('~/.mama/.codex/auth.json'), (0, config_manager_js_1.expandPath)('~/.codex/auth.json')];
|
|
@@ -82,8 +86,8 @@ function resolvePreferredBackend(preferredBackend) {
|
|
|
82
86
|
const hasCodexAuth = Boolean(codexAuthPath);
|
|
83
87
|
const hasClaudeAuth = (0, index_js_1.getClaudeCodeAuthStatus)().loggedIn;
|
|
84
88
|
if (requestedBackend) {
|
|
85
|
-
if (requestedBackend === 'codex
|
|
86
|
-
return hasCodexAuth ? { backend: 'codex
|
|
89
|
+
if (requestedBackend === 'codex') {
|
|
90
|
+
return hasCodexAuth ? { backend: 'codex', codexAuthPath } : null;
|
|
87
91
|
}
|
|
88
92
|
return hasClaudeAuth ? { backend: 'claude' } : null;
|
|
89
93
|
}
|
|
@@ -91,7 +95,7 @@ function resolvePreferredBackend(preferredBackend) {
|
|
|
91
95
|
// - if only one backend is authenticated, use it
|
|
92
96
|
// - if both are authenticated, keep compatibility default (claude)
|
|
93
97
|
if (hasCodexAuth && !hasClaudeAuth) {
|
|
94
|
-
return { backend: 'codex
|
|
98
|
+
return { backend: 'codex', codexAuthPath };
|
|
95
99
|
}
|
|
96
100
|
if (hasClaudeAuth) {
|
|
97
101
|
return { backend: 'claude' };
|
|
@@ -99,10 +103,10 @@ function resolvePreferredBackend(preferredBackend) {
|
|
|
99
103
|
return null;
|
|
100
104
|
}
|
|
101
105
|
function resolveRequestedBackend(preferredBackend) {
|
|
102
|
-
if (preferredBackend === 'claude' || preferredBackend === 'codex
|
|
106
|
+
if (preferredBackend === 'claude' || preferredBackend === 'codex') {
|
|
103
107
|
return preferredBackend;
|
|
104
108
|
}
|
|
105
|
-
return process.env.MAMA_DEFAULT_BACKEND === 'codex
|
|
109
|
+
return process.env.MAMA_DEFAULT_BACKEND === 'codex' ||
|
|
106
110
|
process.env.MAMA_DEFAULT_BACKEND === 'claude'
|
|
107
111
|
? process.env.MAMA_DEFAULT_BACKEND
|
|
108
112
|
: undefined;
|
|
@@ -114,15 +118,15 @@ async function initCommand(options = {}) {
|
|
|
114
118
|
console.log('\n🔧 MAMA Standalone Initialization\n');
|
|
115
119
|
const requestedBackend = resolveRequestedBackend(options.backend);
|
|
116
120
|
let selectedBackend = {
|
|
117
|
-
backend: requestedBackend === 'codex
|
|
121
|
+
backend: requestedBackend === 'codex' ? 'codex' : 'claude',
|
|
118
122
|
};
|
|
119
123
|
if (!options.skipAuthCheck) {
|
|
120
124
|
process.stdout.write('Checking backend authentication (Codex/Claude)... ');
|
|
121
125
|
const resolved = resolvePreferredBackend(options.backend);
|
|
122
126
|
if (!resolved) {
|
|
123
127
|
console.log('❌');
|
|
124
|
-
if (requestedBackend === 'codex
|
|
125
|
-
console.error('\n⚠️ Requested backend "codex
|
|
128
|
+
if (requestedBackend === 'codex') {
|
|
129
|
+
console.error('\n⚠️ Requested backend "codex" is not authenticated.');
|
|
126
130
|
console.error(` Expected auth: ${(0, config_manager_js_1.expandPath)('~/.mama/.codex/auth.json')} or ${(0, config_manager_js_1.expandPath)('~/.codex/auth.json')}`);
|
|
127
131
|
console.error('\n Please run: codex login\n');
|
|
128
132
|
process.exit(1);
|
|
@@ -140,21 +144,21 @@ async function initCommand(options = {}) {
|
|
|
140
144
|
process.exit(1);
|
|
141
145
|
}
|
|
142
146
|
console.error('\n⚠️ No authenticated backend found.');
|
|
143
|
-
console.error(` Codex
|
|
147
|
+
console.error(` Codex auth: ${(0, config_manager_js_1.expandPath)('~/.mama/.codex/auth.json')} or ${(0, config_manager_js_1.expandPath)('~/.codex/auth.json')}`);
|
|
144
148
|
console.error(` Claude auth (legacy fallback): ${(0, config_manager_js_1.expandPath)('~/.claude/.credentials.json')}`);
|
|
145
149
|
console.error('\n Please authenticate one backend first:');
|
|
146
|
-
console.error(' - Codex
|
|
150
|
+
console.error(' - Codex: codex login');
|
|
147
151
|
console.error(' - Claude: claude auth login (or install from https://claude.ai/code)\n');
|
|
148
152
|
process.exit(1);
|
|
149
153
|
}
|
|
150
154
|
selectedBackend = resolved;
|
|
151
155
|
console.log('✓');
|
|
152
156
|
}
|
|
153
|
-
if (selectedBackend.backend === 'codex
|
|
157
|
+
if (selectedBackend.backend === 'codex') {
|
|
154
158
|
const authPathMsg = selectedBackend.codexAuthPath
|
|
155
159
|
? ` (auth detected at ${selectedBackend.codexAuthPath})`
|
|
156
160
|
: '';
|
|
157
|
-
console.log(`Selected backend: codex
|
|
161
|
+
console.log(`Selected backend: codex${authPathMsg}`);
|
|
158
162
|
}
|
|
159
163
|
else {
|
|
160
164
|
console.log('Selected backend: claude');
|
|
@@ -170,8 +174,12 @@ async function initCommand(options = {}) {
|
|
|
170
174
|
try {
|
|
171
175
|
const configPath = await (0, config_manager_js_1.createDefaultConfig)(options.force);
|
|
172
176
|
const config = await (0, config_manager_js_1.loadConfig)();
|
|
173
|
-
|
|
174
|
-
config.agent.backend = selectedBackend.backend
|
|
177
|
+
const defaultModel = DEFAULT_MODEL_BY_BACKEND[selectedBackend.backend];
|
|
178
|
+
config.agent.backend = selectedBackend.backend;
|
|
179
|
+
config.agent.model = defaultModel;
|
|
180
|
+
for (const role of Object.values(config.roles?.definitions ?? {})) {
|
|
181
|
+
role.model = defaultModel;
|
|
182
|
+
}
|
|
175
183
|
await (0, config_manager_js_1.saveConfig)(config);
|
|
176
184
|
if (options.skipAuthCheck && requestedBackend) {
|
|
177
185
|
console.log(`Auth check skipped; applied requested backend "${selectedBackend.backend}" to config.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAkGnE"}
|
package/dist/cli/commands/run.js
CHANGED
|
@@ -23,7 +23,7 @@ async function runCommand(options) {
|
|
|
23
23
|
// Load config
|
|
24
24
|
let config;
|
|
25
25
|
try {
|
|
26
|
-
config = await (0, config_manager_js_1.
|
|
26
|
+
config = await (0, config_manager_js_1.initConfig)();
|
|
27
27
|
}
|
|
28
28
|
catch (error) {
|
|
29
29
|
console.error(`Failed to load configuration: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
@@ -32,8 +32,8 @@ async function runCommand(options) {
|
|
|
32
32
|
const backend = config.agent.backend;
|
|
33
33
|
process.env.MAMA_BACKEND = backend;
|
|
34
34
|
let oauthManager;
|
|
35
|
-
if (backend === 'codex
|
|
36
|
-
console.log('✓ Codex
|
|
35
|
+
if (backend === 'codex') {
|
|
36
|
+
console.log('✓ Codex app-server backend (authentication handled by Codex login)');
|
|
37
37
|
oauthManager = new index_js_1.OAuthManager();
|
|
38
38
|
}
|
|
39
39
|
else {
|
|
@@ -96,7 +96,10 @@ async function runCommand(options) {
|
|
|
96
96
|
}
|
|
97
97
|
catch (error) {
|
|
98
98
|
console.error(`\n❌ Execution failed: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
99
|
-
process.
|
|
99
|
+
process.exitCode = 1;
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
await agentLoop.stop();
|
|
100
103
|
}
|
|
101
104
|
}
|
|
102
105
|
//# sourceMappingURL=run.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAmBH,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ import type { CodeActExecutionContext } from '../../api/graph-api-types.js';
|
|
|
13
13
|
import { type MemoryScopeRef } from '../../memory/scope-context.js';
|
|
14
14
|
import { type AgentPersonaConfig } from '../config/types.js';
|
|
15
15
|
import type { DBManagerAdapter as DatabaseAdapter } from '@jungjaehoon/mama-core';
|
|
16
|
+
type RuntimeBackend = 'claude' | 'codex';
|
|
17
|
+
export declare function requireRuntimeBackend(value: unknown): RuntimeBackend;
|
|
16
18
|
export declare function deriveCodeActToolPolicy(requestContext: CodeActExecutionContext | undefined, agentConfig: Omit<AgentPersonaConfig, 'id'> | undefined): {
|
|
17
19
|
allowedTools?: string[];
|
|
18
20
|
blockedTools?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EAMX,MAAM,6BAA6B,CAAC;AAMrC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
45
45
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
46
|
};
|
|
47
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.requireRuntimeBackend = requireRuntimeBackend;
|
|
48
49
|
exports.deriveCodeActToolPolicy = deriveCodeActToolPolicy;
|
|
49
50
|
exports.resolveCodeActAgentPolicy = resolveCodeActAgentPolicy;
|
|
50
51
|
exports.resolveCodeActRawConnectors = resolveCodeActRawConnectors;
|
|
@@ -96,6 +97,12 @@ const debugLogger = __importStar(require("@jungjaehoon/mama-core/debug-logger"))
|
|
|
96
97
|
const mama_core_1 = require("@jungjaehoon/mama-core");
|
|
97
98
|
const { DebugLogger } = debugLogger;
|
|
98
99
|
const codeActLogger = new DebugLogger('CodeAct');
|
|
100
|
+
function requireRuntimeBackend(value) {
|
|
101
|
+
if (value === 'claude' || value === 'codex') {
|
|
102
|
+
return value;
|
|
103
|
+
}
|
|
104
|
+
throw new Error(`Unsupported agent backend: ${String(value)}`);
|
|
105
|
+
}
|
|
99
106
|
const TRUTHY_ENV_VALUES = new Set(['1', 'true', 'yes', 'on']);
|
|
100
107
|
const CODE_ACT_MUTATION_TOOLS = new Set([
|
|
101
108
|
'mama_save',
|
|
@@ -348,12 +355,10 @@ async function startCommand(options = {}) {
|
|
|
348
355
|
console.error(`Failed to load config: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
349
356
|
process.exit(1);
|
|
350
357
|
}
|
|
351
|
-
const
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
if (backend === 'codex' || backend === 'codex-mcp') {
|
|
356
|
-
console.log('✓ Codex-MCP backend (OAuth handled by Codex login)');
|
|
358
|
+
const backend = requireRuntimeBackend(config.agent.backend);
|
|
359
|
+
process.env.MAMA_BACKEND = backend;
|
|
360
|
+
if (backend === 'codex') {
|
|
361
|
+
console.log('✓ Codex app-server backend (authentication handled by Codex login)');
|
|
357
362
|
}
|
|
358
363
|
else {
|
|
359
364
|
console.log('✓ Claude CLI mode (OAuth token not needed)');
|
|
@@ -438,9 +443,7 @@ async function startCommand(options = {}) {
|
|
|
438
443
|
async function runAgentLoop(config, options = {}) {
|
|
439
444
|
// ── Phase 1: Foundation ───────────────────────────────────────────────────
|
|
440
445
|
const startupBackend = config.agent.backend;
|
|
441
|
-
const usesCodexBackend = startupBackend === 'codex' ||
|
|
442
|
-
startupBackend === 'codex-mcp' ||
|
|
443
|
-
(0, utilities_js_1.hasCodexBackendConfigured)(config);
|
|
446
|
+
const usesCodexBackend = startupBackend === 'codex' || (0, utilities_js_1.hasCodexBackendConfigured)(config);
|
|
444
447
|
if (usesCodexBackend) {
|
|
445
448
|
const codexCommand = (0, utilities_js_1.resolveCodexCommandForStartup)();
|
|
446
449
|
process.env.MAMA_CODEX_COMMAND = codexCommand;
|
|
@@ -493,15 +496,9 @@ async function runAgentLoop(config, options = {}) {
|
|
|
493
496
|
envelopeIssuanceMode: envelopeBootstrap.metadata.issuance,
|
|
494
497
|
metricsStore,
|
|
495
498
|
});
|
|
496
|
-
const
|
|
497
|
-
const rawBackend = config.agent.backend;
|
|
498
|
-
const isValidBackend = validBackends.includes(rawBackend);
|
|
499
|
-
const runtimeBackend = isValidBackend ? rawBackend : 'claude';
|
|
499
|
+
const runtimeBackend = requireRuntimeBackend(config.agent.backend);
|
|
500
500
|
process.env.MAMA_BACKEND = runtimeBackend;
|
|
501
|
-
|
|
502
|
-
console.warn(`[Config] Unknown backend "${rawBackend}", falling back to "claude"`);
|
|
503
|
-
}
|
|
504
|
-
const agentLoopBackend = runtimeBackend === 'codex' || runtimeBackend === 'codex-mcp' ? 'codex-mcp' : 'claude';
|
|
501
|
+
const agentLoopBackend = runtimeBackend;
|
|
505
502
|
// Initialize main agent loop + client (reasoning state is closure-scoped inside)
|
|
506
503
|
const { agentLoop, agentLoopClient } = (0, agent_loop_init_js_1.initMainAgentLoop)(config, oauthManager, db, metricsStore, agentLoopBackend, toolExecutor, {
|
|
507
504
|
...options,
|
|
@@ -870,6 +867,11 @@ async function runAgentLoop(config, options = {}) {
|
|
|
870
867
|
// started AFTER it - the boot invariant below enforces that ordering.
|
|
871
868
|
const { readStage2Flag } = await import('../../operator/workorder-publishers.js');
|
|
872
869
|
const stage2Flag = readStage2Flag();
|
|
870
|
+
// Validate the worker-run timeout override at boot (no-fallback): a malformed
|
|
871
|
+
// MAMA_WORKER_TIMEOUT_SECONDS must crash the daemon loudly, not silently
|
|
872
|
+
// revert worker runs to the 300s bound. Mirrors readStage2Flag above.
|
|
873
|
+
const { resolveWorkerRequestTimeoutMs } = await import('../../operator/worker-run.js');
|
|
874
|
+
resolveWorkerRequestTimeoutMs();
|
|
873
875
|
let workOrderConsumer = null;
|
|
874
876
|
gateways.push({
|
|
875
877
|
stop: async () => {
|
|
@@ -928,7 +930,16 @@ async function runAgentLoop(config, options = {}) {
|
|
|
928
930
|
loadBrief: (kind) => loadBrief(kind),
|
|
929
931
|
noticeOwner: (summary) => messageRouter.enqueueOperatorNotice(summary),
|
|
930
932
|
opsAlarm,
|
|
931
|
-
runOptionsFor: (wo) => {
|
|
933
|
+
runOptionsFor: async (wo) => {
|
|
934
|
+
// Worker prompt selects the provider's supported tool path: Claude's
|
|
935
|
+
// text gateway or Codex's injected native host tools. Both avoid the
|
|
936
|
+
// spawn-default code-act path, where per-run envelope/capture overrides
|
|
937
|
+
// cannot reach (shadow-gate §8.2).
|
|
938
|
+
const { buildWorkerSystemPrompt } = await import('../../operator/worker-run.js');
|
|
939
|
+
const { getGatewayToolsPrompt } = await import('../../agent/agent-loop.js');
|
|
940
|
+
const runOptions = {
|
|
941
|
+
systemPrompt: buildWorkerSystemPrompt(getGatewayToolsPrompt(), runtimeBackend),
|
|
942
|
+
};
|
|
932
943
|
if (stage2Flag === 'shadow') {
|
|
933
944
|
// Shadow ≡ board only. A non-board order here (e.g. enqueued at
|
|
934
945
|
// 'on' before a rollback) would run LIVE with no capture seam
|
|
@@ -942,9 +953,41 @@ async function runAgentLoop(config, options = {}) {
|
|
|
942
953
|
if (!shadowCapture) {
|
|
943
954
|
throw new Error('[stage2] shadow capture publisher missing - refusing live publish');
|
|
944
955
|
}
|
|
945
|
-
|
|
956
|
+
runOptions.reportPublisherOverride = shadowCapture.publisher;
|
|
946
957
|
}
|
|
947
|
-
|
|
958
|
+
// Per-run scoped envelope (live-gate finding, 2026-07-18): gateway
|
|
959
|
+
// 'model_tool' executions are envelope-gated, and workerRun is a new
|
|
960
|
+
// caller class with no issuer - without this, every worker tool call
|
|
961
|
+
// (incl. report_publish) dies 'envelope_missing'. Mirrors the report
|
|
962
|
+
// lane's issuance (createPersonaReportAsk wiring below); issuance
|
|
963
|
+
// failure rejects -> failWorkOrder (no envelope-less fallback run).
|
|
964
|
+
if (envelopeBootstrap.envelopeAuthority && envelopeBootstrap.metadata.issuance !== 'off') {
|
|
965
|
+
const projectId = (0, reactive_config_js_1.resolveReactiveProjectRoot)(config, process.env);
|
|
966
|
+
const wallSeconds = Math.min(Math.max(Number(process.env.MAMA_REPORT_WALL_SECONDS) || 900, 60), 1800);
|
|
967
|
+
runOptions.envelope = await envelopeBootstrap.envelopeAuthority.buildAndPersist({
|
|
968
|
+
agent_id: `workorder-${wo.workKind}`,
|
|
969
|
+
instance_id: (0, node_crypto_1.randomUUID)(),
|
|
970
|
+
// 'watch' = daemon-internal issuing source (closed EnvelopeSource
|
|
971
|
+
// union; enforcement authorizes on scope, never on source).
|
|
972
|
+
source: 'watch',
|
|
973
|
+
channel_id: `worker:${wo.workKind}`,
|
|
974
|
+
trigger_context: { user_text: `<stage2 workorder ${wo.workKind}#${wo.id}>` },
|
|
975
|
+
scope: {
|
|
976
|
+
project_refs: [{ kind: 'project', id: projectId }],
|
|
977
|
+
raw_connectors: codeActRawConnectors,
|
|
978
|
+
memory_scopes: resolveCodeActMemoryScopes((0, scope_context_js_1.deriveMemoryScopes)({
|
|
979
|
+
source: 'operator',
|
|
980
|
+
channelId: `worker:${wo.workKind}`,
|
|
981
|
+
projectId,
|
|
982
|
+
}), getAdapter()),
|
|
983
|
+
allowed_destinations: [],
|
|
984
|
+
},
|
|
985
|
+
tier: 2,
|
|
986
|
+
budget: { wall_seconds: wallSeconds },
|
|
987
|
+
expires_at: new Date(Date.now() + wallSeconds * 1000 + 30_000).toISOString(),
|
|
988
|
+
});
|
|
989
|
+
}
|
|
990
|
+
return Object.keys(runOptions).length > 0 ? runOptions : undefined;
|
|
948
991
|
},
|
|
949
992
|
onEvent: (event) => {
|
|
950
993
|
// Telemetry replacement for executeValidatedRun's task_start/complete
|
|
@@ -1024,6 +1067,7 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1024
1067
|
// Runs ONLY with MAMA_TRIGGER_LOOP=1. Placed after initConnectors (which feeds
|
|
1025
1068
|
// connector_event_index) and after mama-core initDB. Read-only: recall/surface/log.
|
|
1026
1069
|
if (process.env.MAMA_TRIGGER_LOOP === '1') {
|
|
1070
|
+
let stopTriggerAgentRuntime;
|
|
1027
1071
|
// Component isolation (PR #119 review): a trigger-loop bootstrap failure (bad import,
|
|
1028
1072
|
// DB permission, registry constructor) must not abort the whole daemon before Phase
|
|
1029
1073
|
// 10/11 - the gateways/viewer/agent serve independently of this optional leg. The
|
|
@@ -1033,7 +1077,7 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1033
1077
|
const { ConnectorDeltaRepo } = await import('../../operator/connector-delta-repo.js');
|
|
1034
1078
|
const { TriggerRegistry } = await import('../../operator/trigger-registry.js');
|
|
1035
1079
|
const { createMamaMemoryPort } = await import('../../operator/mama-memory-port.js');
|
|
1036
|
-
const {
|
|
1080
|
+
const { createTriggerAgentRuntime } = await import('../../operator/trigger-author.js');
|
|
1037
1081
|
const { reviewTriggerCLI } = await import('../../operator/trigger-review.js');
|
|
1038
1082
|
const { ReportScheduler, FileReportScheduleStore, parseReportHours } = await import('../../operator/report-scheduler.js');
|
|
1039
1083
|
const { persistLastFullReport } = await import('../../operator/report-carry.js');
|
|
@@ -1057,15 +1101,22 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1057
1101
|
const reportScheduler = reportOutput
|
|
1058
1102
|
? new ReportScheduler(fullReportHours, new FileReportScheduleStore((0, config_manager_js_1.expandPath)('~/.mama/operator/report-schedule-state.json')))
|
|
1059
1103
|
: undefined;
|
|
1104
|
+
const triggerAgentRuntime = createTriggerAgentRuntime(runtimeBackend, {
|
|
1105
|
+
model: config.agent.model,
|
|
1106
|
+
cwd: (0, config_manager_js_1.expandPath)(config.workspace?.path || '~/.mama/workspace'),
|
|
1107
|
+
command: process.env.MAMA_CODEX_COMMAND,
|
|
1108
|
+
});
|
|
1109
|
+
stopTriggerAgentRuntime = () => triggerAgentRuntime.stop();
|
|
1060
1110
|
const triggerLoop = new OperatorTriggerLoop({
|
|
1111
|
+
backend: runtimeBackend,
|
|
1061
1112
|
delta: new ConnectorDeltaRepo(getAdapter(), (0, config_manager_js_1.expandPath)('~/.mama/operator/trigger-loop-cursors.json')),
|
|
1062
1113
|
memory: createMamaMemoryPort(),
|
|
1063
1114
|
registry: triggerRegistry,
|
|
1064
1115
|
onChannelDelta: (channelKey, lines) => channelDeltaSink.current?.(channelKey, lines),
|
|
1065
|
-
askAgent:
|
|
1116
|
+
askAgent: triggerAgentRuntime.askAuthor,
|
|
1066
1117
|
// M2.2: reports go through the daemon's persona agent (system prompt, pinned model,
|
|
1067
1118
|
// session lanes) instead of the bare CLI - report tone comes from generation inputs.
|
|
1068
|
-
// JSON tasks (authoring/review)
|
|
1119
|
+
// JSON tasks (authoring/review) use a provider-specific, tool-free runtime.
|
|
1069
1120
|
// M3 (GAP1+GAP2): run reports in a dedicated persona session lane so the multi-turn gather
|
|
1070
1121
|
// loop is isolated from chat and continuous across cadences (runWithContent honors
|
|
1071
1122
|
// options.sessionKey - agent-loop.ts:879, no agent-loop internal change). Gateway
|
|
@@ -1127,7 +1178,7 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1127
1178
|
log: (line) => console.log(line),
|
|
1128
1179
|
fullReportTag: OPERATOR_FULL_REPORT_TAG,
|
|
1129
1180
|
}),
|
|
1130
|
-
review: (trigger, context) => reviewTriggerCLI(trigger, context),
|
|
1181
|
+
review: (trigger, context) => reviewTriggerCLI(trigger, context, triggerAgentRuntime.askReview),
|
|
1131
1182
|
output: reportOutput,
|
|
1132
1183
|
reportScheduler,
|
|
1133
1184
|
// M2.3: the scheduled full report self-gathers via the persona agent's gateway tools
|
|
@@ -1175,6 +1226,7 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1175
1226
|
stop: async () => {
|
|
1176
1227
|
triggerLoopNudge.current = null;
|
|
1177
1228
|
stopTriggerLoop();
|
|
1229
|
+
await triggerAgentRuntime.stop();
|
|
1178
1230
|
// The shared operator DB handle is closed by the unconditional stop
|
|
1179
1231
|
// hook above (single owner); nothing to close here.
|
|
1180
1232
|
},
|
|
@@ -1182,6 +1234,7 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1182
1234
|
console.log('✓ Trigger loop enabled (MAMA_TRIGGER_LOOP=1, read-only surface mode)');
|
|
1183
1235
|
}
|
|
1184
1236
|
catch (error) {
|
|
1237
|
+
await stopTriggerAgentRuntime?.().catch(() => { });
|
|
1185
1238
|
console.error('[trigger-loop] FAILED to start - daemon continues WITHOUT the trigger loop. Fix and restart:', error);
|
|
1186
1239
|
}
|
|
1187
1240
|
}
|