@excitedjs/dreamux 0.1.2 → 0.1.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 +25 -29
- package/bin/dreamux +3 -2
- package/dist/admin/socket.js +1 -1
- package/dist/admin/socket.js.map +1 -1
- package/dist/cli/doctor.js +273 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/dreamux.js +257 -78
- package/dist/cli/dreamux.js.map +1 -1
- package/dist/cli/server-ctl.js +15 -13
- package/dist/cli/server-ctl.js.map +1 -1
- package/dist/cli/server.js +7 -7
- package/dist/codex/handshake.js +1 -1
- package/dist/codex/handshake.js.map +1 -1
- package/dist/db/repository.js +16 -0
- package/dist/db/repository.js.map +1 -1
- package/dist/dispatcher/runtime.js +8 -1
- package/dist/dispatcher/runtime.js.map +1 -1
- package/dist/feishu/bot.js +3 -3
- package/dist/feishu/bot.js.map +1 -1
- package/dist/onboard/commands.js +34 -0
- package/dist/onboard/commands.js.map +1 -0
- package/dist/onboard/config-files.js +113 -0
- package/dist/onboard/config-files.js.map +1 -0
- package/dist/onboard/ledger.js +113 -0
- package/dist/onboard/ledger.js.map +1 -0
- package/dist/onboard/plugins.js +202 -0
- package/dist/onboard/plugins.js.map +1 -0
- package/dist/onboard/run.js +150 -0
- package/dist/onboard/run.js.map +1 -0
- package/dist/onboard/service.js +138 -0
- package/dist/onboard/service.js.map +1 -0
- package/dist/onboard/types.js +2 -0
- package/dist/onboard/types.js.map +1 -0
- package/dist/onboard/wizard.js +146 -0
- package/dist/onboard/wizard.js.map +1 -0
- package/dist/runtime/config.js +14 -2
- package/dist/runtime/config.js.map +1 -1
- package/dist/runtime/dispatcher-codex-home.js +266 -0
- package/dist/runtime/dispatcher-codex-home.js.map +1 -0
- package/dist/runtime/paths.js +17 -2
- package/dist/runtime/paths.js.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/package.json +17 -15
- package/bin/server +0 -35
- package/bin/server-ctl +0 -28
package/dist/cli/dreamux.js
CHANGED
|
@@ -1,102 +1,281 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `dreamux` — the
|
|
2
|
+
* `dreamux` — the single public CLI entry point.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* dreamux dispatcher add ... # configure a dispatcher
|
|
8
|
-
* dreamux dispatcher remove --id X
|
|
9
|
-
* dreamux dispatcher list
|
|
10
|
-
* dreamux dispatcher status --id X
|
|
11
|
-
* dreamux dispatcher start --id X
|
|
12
|
-
* dreamux dispatcher stop --id X
|
|
13
|
-
*
|
|
14
|
-
* Implementation note: this binary is a thin router. `server start` delegates
|
|
15
|
-
* to the same entrypoint as the legacy `dreamux-server` (`./server.js`);
|
|
16
|
-
* everything else is forwarded to the legacy `server-ctl` flow
|
|
17
|
-
* (`./server-ctl.js`). Both legacy binaries are kept as aliases for users
|
|
18
|
-
* with stale PATH entries (PR #6 shipped them; reverting would break local
|
|
19
|
-
* setups).
|
|
4
|
+
* Issue #18 replaces the old package-global aliases with one bin. This file
|
|
5
|
+
* owns the command tree and delegates implementation slices to focused
|
|
6
|
+
* modules where the runtime already exists.
|
|
20
7
|
*/
|
|
21
8
|
import { spawn } from 'node:child_process';
|
|
9
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
22
10
|
import { dirname, join } from 'node:path';
|
|
23
11
|
import { fileURLToPath } from 'node:url';
|
|
12
|
+
import yargs from 'yargs';
|
|
13
|
+
import { hideBin } from 'yargs/helpers';
|
|
14
|
+
import { globalConfigFile } from '../runtime/config.js';
|
|
15
|
+
import { runOnboard } from '../onboard/run.js';
|
|
16
|
+
import { collectOnboardAnswers, } from '../onboard/wizard.js';
|
|
17
|
+
import { printDoctorResult, runDreamuxDoctor } from './doctor.js';
|
|
24
18
|
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
25
19
|
const SERVER_ENTRY = join(HERE, 'server.js');
|
|
26
20
|
const SERVER_CTL_ENTRY = join(HERE, 'server-ctl.js');
|
|
27
|
-
function
|
|
28
|
-
console.log(`dreamux — Codex-host MVP unified CLI (excitedjs/dreamux#4)
|
|
29
|
-
|
|
30
|
-
Usage:
|
|
31
|
-
dreamux server start
|
|
32
|
-
dreamux server status
|
|
33
|
-
dreamux dispatcher list
|
|
34
|
-
dreamux dispatcher add --id <ID> --bot-app-id <APP_ID> \\
|
|
35
|
-
--bot-secret-ref env:<VAR> [--codex-args-json <JSON>] [--codex-cwd <PATH>]
|
|
36
|
-
dreamux dispatcher status --id <ID>
|
|
37
|
-
dreamux dispatcher start --id <ID>
|
|
38
|
-
dreamux dispatcher stop --id <ID>
|
|
39
|
-
dreamux dispatcher remove --id <ID>
|
|
40
|
-
|
|
41
|
-
Environment:
|
|
42
|
-
CODEX_HOST_RUNTIME_DIR Root dir (default: ~/.codex-host)
|
|
43
|
-
CODEX_HOST_ADMIN_SOCKET Admin Unix socket path
|
|
44
|
-
CODEX_HOST_CODEX_BIN Codex binary (default: 'codex' on PATH)
|
|
45
|
-
BOT_SECRET_<NAME> Each dispatcher's bot secret (referenced via
|
|
46
|
-
bot_secret_ref=env:BOT_SECRET_<NAME>)
|
|
47
|
-
|
|
48
|
-
The legacy 'dreamux-server' and 'server-ctl' binaries remain available as
|
|
49
|
-
aliases for compatibility; new tooling should call 'dreamux'.
|
|
50
|
-
`);
|
|
51
|
-
}
|
|
52
|
-
function fail(msg, code = 2) {
|
|
53
|
-
console.error(`dreamux: ${msg}\n`);
|
|
54
|
-
printRootHelp();
|
|
55
|
-
process.exit(code);
|
|
56
|
-
}
|
|
57
|
-
async function execEntry(entry, argv) {
|
|
58
|
-
// Re-exec node on the target so each subcommand keeps its own argv / process
|
|
59
|
-
// environment; no shared state to leak between subcommands.
|
|
21
|
+
async function execEntry(entry, argv, env = process.env) {
|
|
60
22
|
const child = spawn(process.execPath, [entry, ...argv], {
|
|
23
|
+
env,
|
|
61
24
|
stdio: 'inherit',
|
|
62
25
|
});
|
|
63
|
-
await new Promise((
|
|
64
|
-
child.once('error',
|
|
26
|
+
await new Promise((_resolve, reject) => {
|
|
27
|
+
child.once('error', reject);
|
|
65
28
|
child.once('exit', (code, signal) => {
|
|
66
|
-
if (signal !== null)
|
|
29
|
+
if (signal !== null) {
|
|
67
30
|
process.kill(process.pid, signal);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
68
33
|
process.exit(code ?? 0);
|
|
69
|
-
res();
|
|
70
34
|
});
|
|
71
35
|
});
|
|
72
|
-
process.exit(0);
|
|
36
|
+
process.exit(0);
|
|
73
37
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
38
|
+
function adminEnv() {
|
|
39
|
+
return { ...process.env, DREAMUX_ADMIN_CLI_NAME: 'dreamux' };
|
|
40
|
+
}
|
|
41
|
+
function requiredString(value, name) {
|
|
42
|
+
if (typeof value === 'string' && value.trim() !== '')
|
|
43
|
+
return value;
|
|
44
|
+
throw new Error(`missing required option --${name}`);
|
|
45
|
+
}
|
|
46
|
+
function optionalString(value) {
|
|
47
|
+
if (typeof value !== 'string' || value === '')
|
|
48
|
+
return null;
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
function withRequiredDispatcherId(y) {
|
|
52
|
+
return y.option('id', {
|
|
53
|
+
type: 'string',
|
|
54
|
+
demandOption: true,
|
|
55
|
+
describe: 'Dispatcher id',
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
function buildDispatcherCommands(y) {
|
|
59
|
+
return y
|
|
60
|
+
.command('list', 'List configured dispatchers', (yy) => yy, async () => execEntry(SERVER_CTL_ENTRY, ['dispatcher', 'list'], adminEnv()))
|
|
61
|
+
.command('add', 'Add a dispatcher', (yy) => yy
|
|
62
|
+
.option('id', {
|
|
63
|
+
type: 'string',
|
|
64
|
+
demandOption: true,
|
|
65
|
+
describe: 'Dispatcher id',
|
|
66
|
+
})
|
|
67
|
+
.option('bot-app-id', {
|
|
68
|
+
type: 'string',
|
|
69
|
+
demandOption: true,
|
|
70
|
+
describe: 'Channel bot app id',
|
|
71
|
+
})
|
|
72
|
+
.option('bot-secret-ref', {
|
|
73
|
+
type: 'string',
|
|
74
|
+
demandOption: true,
|
|
75
|
+
describe: 'Secret reference, for example env:BOT_SECRET_NAME',
|
|
76
|
+
})
|
|
77
|
+
.option('codex-args-json', {
|
|
78
|
+
type: 'string',
|
|
79
|
+
describe: 'Dispatcher-specific Codex argument JSON',
|
|
80
|
+
})
|
|
81
|
+
.option('codex-cwd', {
|
|
82
|
+
type: 'string',
|
|
83
|
+
describe: 'Override dispatcher app-server cwd',
|
|
84
|
+
}), async (argv) => {
|
|
85
|
+
const args = [
|
|
86
|
+
'dispatcher',
|
|
87
|
+
'add',
|
|
88
|
+
'--id',
|
|
89
|
+
requiredString(argv.id, 'id'),
|
|
90
|
+
'--bot-app-id',
|
|
91
|
+
requiredString(argv.botAppId, 'bot-app-id'),
|
|
92
|
+
'--bot-secret-ref',
|
|
93
|
+
requiredString(argv.botSecretRef, 'bot-secret-ref'),
|
|
94
|
+
];
|
|
95
|
+
const codexArgsJson = optionalString(argv.codexArgsJson);
|
|
96
|
+
if (codexArgsJson !== null) {
|
|
97
|
+
args.push('--codex-args-json', codexArgsJson);
|
|
90
98
|
}
|
|
91
|
-
|
|
99
|
+
const codexCwd = optionalString(argv.codexCwd);
|
|
100
|
+
if (codexCwd !== null)
|
|
101
|
+
args.push('--codex-cwd', codexCwd);
|
|
102
|
+
await execEntry(SERVER_CTL_ENTRY, args, adminEnv());
|
|
103
|
+
})
|
|
104
|
+
.command(['remove', 'status', 'start', 'stop'], 'Manage one dispatcher', withRequiredDispatcherId, async (argv) => {
|
|
105
|
+
const verb = requiredString(argv._[1], 'dispatcher verb');
|
|
106
|
+
await execEntry(SERVER_CTL_ENTRY, ['dispatcher', verb, '--id', requiredString(argv.id, 'id')], adminEnv());
|
|
107
|
+
})
|
|
108
|
+
.demandCommand(1, 'Choose a dispatcher command')
|
|
109
|
+
.strict();
|
|
110
|
+
}
|
|
111
|
+
function buildOnboardCommand(y) {
|
|
112
|
+
return y
|
|
113
|
+
.option('yes', {
|
|
114
|
+
type: 'boolean',
|
|
115
|
+
describe: 'Accept defaults and require non-default values via options',
|
|
116
|
+
})
|
|
117
|
+
.option('dry-run', {
|
|
118
|
+
type: 'boolean',
|
|
119
|
+
describe: 'Print the planned file ledger without writing or registering',
|
|
120
|
+
})
|
|
121
|
+
.option('config-dir', {
|
|
122
|
+
type: 'string',
|
|
123
|
+
describe: 'dreamux global config directory',
|
|
124
|
+
})
|
|
125
|
+
.option('runtime-dir', {
|
|
126
|
+
type: 'string',
|
|
127
|
+
describe: 'dreamux runtime directory',
|
|
128
|
+
})
|
|
129
|
+
.option('dispatcher-id', {
|
|
130
|
+
type: 'string',
|
|
131
|
+
describe: 'Dispatcher id to create or update',
|
|
132
|
+
})
|
|
133
|
+
.option('codex-bin', {
|
|
134
|
+
type: 'string',
|
|
135
|
+
describe: 'Codex CLI binary or absolute path',
|
|
136
|
+
})
|
|
137
|
+
.option('codex-model', {
|
|
138
|
+
type: 'string',
|
|
139
|
+
describe: 'Model written to dispatcher private CODEX_HOME/config.toml',
|
|
140
|
+
})
|
|
141
|
+
.option('codex-provider', {
|
|
142
|
+
type: 'string',
|
|
143
|
+
describe: 'Provider label used for onboarding prompts and auth guidance',
|
|
144
|
+
})
|
|
145
|
+
.option('auth-env-var', {
|
|
146
|
+
type: 'string',
|
|
147
|
+
describe: 'Auth env var passed to dispatcher Codex runtime',
|
|
148
|
+
})
|
|
149
|
+
.option('codex-marketplace-source', {
|
|
150
|
+
type: 'string',
|
|
151
|
+
describe: 'Codex plugin marketplace source',
|
|
152
|
+
})
|
|
153
|
+
.option('codex-marketplace-sparse', {
|
|
154
|
+
type: 'array',
|
|
155
|
+
string: true,
|
|
156
|
+
describe: 'Sparse checkout path for the Codex marketplace source',
|
|
157
|
+
})
|
|
158
|
+
.option('codex-marketplace-name', {
|
|
159
|
+
type: 'string',
|
|
160
|
+
describe: 'Codex marketplace name',
|
|
161
|
+
})
|
|
162
|
+
.option('codex-plugin-ref', {
|
|
163
|
+
type: 'string',
|
|
164
|
+
describe: 'Codex plugin ref, e.g. codexmux@dreamux',
|
|
165
|
+
})
|
|
166
|
+
.option('claude-bin', {
|
|
167
|
+
type: 'string',
|
|
168
|
+
describe: 'Claude CLI binary or absolute path',
|
|
169
|
+
})
|
|
170
|
+
.option('claude-config-dir', {
|
|
171
|
+
type: 'string',
|
|
172
|
+
describe: 'Claude config directory used for plugin installation',
|
|
173
|
+
})
|
|
174
|
+
.option('claude-marketplace-source', {
|
|
175
|
+
type: 'string',
|
|
176
|
+
describe: 'Claude plugin marketplace source',
|
|
177
|
+
})
|
|
178
|
+
.option('claude-marketplace-sparse', {
|
|
179
|
+
type: 'array',
|
|
180
|
+
string: true,
|
|
181
|
+
describe: 'Sparse checkout path for the Claude marketplace source',
|
|
182
|
+
})
|
|
183
|
+
.option('claude-marketplace-name', {
|
|
184
|
+
type: 'string',
|
|
185
|
+
describe: 'Claude marketplace name',
|
|
186
|
+
})
|
|
187
|
+
.option('claude-plugin-ref', {
|
|
188
|
+
type: 'string',
|
|
189
|
+
describe: 'Claude plugin ref, e.g. claudemux@claudemux',
|
|
190
|
+
})
|
|
191
|
+
.option('bot-app-id', {
|
|
192
|
+
type: 'string',
|
|
193
|
+
describe: 'Channel bot app id',
|
|
194
|
+
})
|
|
195
|
+
.option('bot-secret-ref', {
|
|
196
|
+
type: 'string',
|
|
197
|
+
describe: 'Secret reference, for example env:BOT_SECRET_NAME',
|
|
198
|
+
})
|
|
199
|
+
.option('register-service', {
|
|
200
|
+
type: 'boolean',
|
|
201
|
+
describe: 'Write and register the user-level service',
|
|
202
|
+
})
|
|
203
|
+
.option('start-service', {
|
|
204
|
+
type: 'boolean',
|
|
205
|
+
describe: 'Start the service after registration',
|
|
206
|
+
})
|
|
207
|
+
.option('dreamux-bin', {
|
|
208
|
+
type: 'string',
|
|
209
|
+
describe: 'Absolute dreamux bin path used by the service unit',
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
async function handleOnboard(argv) {
|
|
213
|
+
const answers = await collectOnboardAnswers(argv);
|
|
214
|
+
const result = await runOnboard({ answers });
|
|
215
|
+
printOnboardResult(result);
|
|
216
|
+
}
|
|
217
|
+
function printOnboardResult(result) {
|
|
218
|
+
console.log('dreamux onboard file ledger:');
|
|
219
|
+
for (const entry of result.files) {
|
|
220
|
+
console.log(`${entry.status}\t${entry.path}\t${entry.reason}`);
|
|
92
221
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
222
|
+
console.log(result.doctor.ok
|
|
223
|
+
? 'dreamux onboard doctor: ok'
|
|
224
|
+
: `dreamux onboard doctor: failed (${result.doctor.errors.length} error(s))`);
|
|
225
|
+
if (result.service !== null) {
|
|
226
|
+
console.log(`dreamux onboard service: ${result.service.platform} ${result.service.unitPath}`);
|
|
98
227
|
}
|
|
99
|
-
|
|
228
|
+
}
|
|
229
|
+
function buildConfigCommands(y) {
|
|
230
|
+
return y
|
|
231
|
+
.command('path', 'Print the dreamux global config path', (yy) => yy, () => {
|
|
232
|
+
console.log(globalConfigFile());
|
|
233
|
+
})
|
|
234
|
+
.command('show', 'Print the dreamux global config file', (yy) => yy, () => {
|
|
235
|
+
const file = globalConfigFile();
|
|
236
|
+
if (!existsSync(file)) {
|
|
237
|
+
throw new Error(`config file does not exist: ${file}`);
|
|
238
|
+
}
|
|
239
|
+
process.stdout.write(readFileSync(file, 'utf8'));
|
|
240
|
+
})
|
|
241
|
+
.demandCommand(1, 'Choose a config command')
|
|
242
|
+
.strict();
|
|
243
|
+
}
|
|
244
|
+
async function main() {
|
|
245
|
+
await yargs(hideBin(process.argv))
|
|
246
|
+
.scriptName('dreamux')
|
|
247
|
+
.usage('$0 <command> [options]')
|
|
248
|
+
.command('onboard', 'Run first-time setup', buildOnboardCommand, handleOnboard)
|
|
249
|
+
.command('serve', 'Run the local server in the foreground', (yy) => yy, async () => execEntry(SERVER_ENTRY, []))
|
|
250
|
+
.command('status', 'Show running server status', (yy) => yy, async () => execEntry(SERVER_CTL_ENTRY, ['server', 'status'], adminEnv()))
|
|
251
|
+
.command('doctor', 'Run setup diagnostics', (yy) => yy.option('json', {
|
|
252
|
+
type: 'boolean',
|
|
253
|
+
describe: 'Print machine-readable JSON',
|
|
254
|
+
}), async (argv) => {
|
|
255
|
+
const result = await runDreamuxDoctor();
|
|
256
|
+
if (argv.json === true) {
|
|
257
|
+
console.log(JSON.stringify(result, null, 2));
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
printDoctorResult(result);
|
|
261
|
+
}
|
|
262
|
+
if (!result.ok)
|
|
263
|
+
process.exitCode = 1;
|
|
264
|
+
})
|
|
265
|
+
.command('dispatcher <command>', 'Manage dispatchers', buildDispatcherCommands)
|
|
266
|
+
.command('config <command>', 'Inspect config', buildConfigCommands)
|
|
267
|
+
.demandCommand(1, 'Choose a command')
|
|
268
|
+
.strict()
|
|
269
|
+
.help()
|
|
270
|
+
.alias('h', 'help')
|
|
271
|
+
.fail((msg, err) => {
|
|
272
|
+
const message = err instanceof Error ? err.message : msg;
|
|
273
|
+
if (message !== undefined && message !== '') {
|
|
274
|
+
console.error(`dreamux: ${message}`);
|
|
275
|
+
}
|
|
276
|
+
process.exit(err instanceof Error ? 1 : 2);
|
|
277
|
+
})
|
|
278
|
+
.parseAsync();
|
|
100
279
|
}
|
|
101
280
|
main().catch((err) => {
|
|
102
281
|
console.error(`dreamux: ${err instanceof Error ? err.message : err}`);
|
package/dist/cli/dreamux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreamux.js","sourceRoot":"","sources":["../../src/cli/dreamux.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dreamux.js","sourceRoot":"","sources":["../../src/cli/dreamux.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/server-ctl.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Usage:
|
|
8
8
|
* server-ctl server status
|
|
9
9
|
* server-ctl dispatcher list
|
|
10
|
-
* server-ctl dispatcher add --id flow --bot-app-id
|
|
10
|
+
* server-ctl dispatcher add --id flow --bot-app-id <APP_ID> --bot-secret-ref env:BOT_SECRET_FLOW
|
|
11
11
|
* server-ctl dispatcher status --id flow
|
|
12
12
|
* server-ctl dispatcher start --id flow
|
|
13
13
|
* server-ctl dispatcher stop --id flow
|
|
@@ -38,9 +38,10 @@ function parseArgs(argv) {
|
|
|
38
38
|
return { flags, positional };
|
|
39
39
|
}
|
|
40
40
|
async function main() {
|
|
41
|
+
const programName = process.env['DREAMUX_ADMIN_CLI_NAME'] || 'server-ctl';
|
|
41
42
|
const argv = process.argv.slice(2);
|
|
42
43
|
if (argv.length === 0 || argv[0] === '--help' || argv[0] === '-h') {
|
|
43
|
-
printHelp();
|
|
44
|
+
printHelp(programName);
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
47
|
const { flags, positional } = parseArgs(argv);
|
|
@@ -48,7 +49,7 @@ async function main() {
|
|
|
48
49
|
const method = resolveMethod(obj, verb);
|
|
49
50
|
if (method === null) {
|
|
50
51
|
console.error(`unknown command: ${obj ?? ''} ${verb ?? ''}\n`);
|
|
51
|
-
printHelp();
|
|
52
|
+
printHelp(programName);
|
|
52
53
|
process.exit(2);
|
|
53
54
|
}
|
|
54
55
|
const params = flagsToParams(method, flags);
|
|
@@ -148,25 +149,26 @@ function sendOne(socketPath, request) {
|
|
|
148
149
|
function cryptoRandomId() {
|
|
149
150
|
return `cli-${Date.now()}-${Math.floor(Math.random() * 1e6)}`;
|
|
150
151
|
}
|
|
151
|
-
function printHelp() {
|
|
152
|
-
console.log(
|
|
152
|
+
function printHelp(programName = 'server-ctl') {
|
|
153
|
+
console.log(`${programName} — admin CLI for the dreamux server
|
|
153
154
|
|
|
154
155
|
Usage:
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
${programName} server status
|
|
157
|
+
${programName} dispatcher list
|
|
158
|
+
${programName} dispatcher add --id <ID> --bot-app-id <APP_ID> \\
|
|
158
159
|
--bot-secret-ref env:<VAR> [--codex-args-json <JSON>] [--codex-cwd <PATH>]
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
160
|
+
${programName} dispatcher status --id <ID>
|
|
161
|
+
${programName} dispatcher start --id <ID>
|
|
162
|
+
${programName} dispatcher stop --id <ID>
|
|
163
|
+
${programName} dispatcher remove --id <ID>
|
|
163
164
|
|
|
164
165
|
Environment:
|
|
165
166
|
CODEX_HOST_ADMIN_SOCKET override the admin socket path (default: ~/.codex-host/admin.sock)
|
|
166
167
|
`);
|
|
167
168
|
}
|
|
168
169
|
main().catch((err) => {
|
|
169
|
-
|
|
170
|
+
const programName = process.env['DREAMUX_ADMIN_CLI_NAME'] || 'server-ctl';
|
|
171
|
+
console.error(`${programName}: ${err instanceof Error ? err.message : err}`);
|
|
170
172
|
process.exit(1);
|
|
171
173
|
});
|
|
172
174
|
//# sourceMappingURL=server-ctl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-ctl.js","sourceRoot":"","sources":["../../src/cli/server-ctl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAe,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAQtD,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAClB,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClE,SAAS,
|
|
1
|
+
{"version":3,"file":"server-ctl.js","sourceRoot":"","sources":["../../src/cli/server-ctl.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/server.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Internal server entry point for `dreamux serve`.
|
|
3
3
|
*
|
|
4
4
|
* Usage:
|
|
5
|
-
* dreamux
|
|
6
|
-
* dreamux
|
|
5
|
+
* dreamux serve # run in foreground; logs to stderr
|
|
6
|
+
* dreamux serve --help
|
|
7
7
|
*
|
|
8
8
|
* Configuration sources (highest precedence first):
|
|
9
9
|
* 1. environment variables (CODEX_HOST_RUNTIME_DIR, CODEX_HOST_ADMIN_SOCKET,
|
|
@@ -51,10 +51,10 @@ async function main() {
|
|
|
51
51
|
process.on('SIGINT', () => void shutdown('SIGINT'));
|
|
52
52
|
}
|
|
53
53
|
function printHelp() {
|
|
54
|
-
console.log(`dreamux
|
|
54
|
+
console.log(`dreamux serve — local dreamux server
|
|
55
55
|
|
|
56
56
|
Usage:
|
|
57
|
-
dreamux
|
|
57
|
+
dreamux serve [--help]
|
|
58
58
|
|
|
59
59
|
Global config:
|
|
60
60
|
~/.dreamux/config.toml Auto-created on first boot. Override with the
|
|
@@ -76,8 +76,8 @@ Environment overrides (highest precedence):
|
|
|
76
76
|
BOT_SECRET_<NAME> Each dispatcher's bot secret (referenced via
|
|
77
77
|
bot_secret_ref=env:BOT_SECRET_<NAME>)
|
|
78
78
|
|
|
79
|
-
Add dispatchers
|
|
80
|
-
dreamux dispatcher add --id flow --bot-app-id
|
|
79
|
+
Add dispatchers:
|
|
80
|
+
dreamux dispatcher add --id flow --bot-app-id <APP_ID> \\
|
|
81
81
|
--bot-secret-ref env:BOT_SECRET_FLOW
|
|
82
82
|
`);
|
|
83
83
|
}
|
package/dist/codex/handshake.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/codex/handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH;;;GAGG;AACH,MAAM,mBAAmB,GAAe;IACtC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/codex/handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH;;;GAGG;AACH,MAAM,mBAAmB,GAAe;IACtC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,2BAA2B;IAClC,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,oBAAoB,GAA2B;IACnD,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,qEAAqE;IACrE,6CAA6C;IAC7C,eAAe,EAAE,IAAI;IACrB,6DAA6D;IAC7D,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAgBF;;;;GAIG;AACH,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAqB,EACrB,UAA4B,EAAE;IAE9B,MAAM,MAAM,GAAqB;QAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,mBAAmB;QACrD,YAAY,EACV,OAAO,CAAC,YAAY,KAAK,SAAS;YAChC,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,OAAO,CAAC,YAAY;KAC3B,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,4BAA4B,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,MAAM,CAAC,OAAO,CAAqB,YAAY,EAAE,MAAM,CAAC,EACxD,SAAS,EACT,qDAAqD,SAAS,yFAAyF,CACxJ,CAAC;IACF,uEAAuE;IACvE,gFAAgF;IAChF,qCAAqC;IACrC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAClB,CAAa,EACb,EAAU,EACV,GAAW;IAEX,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,EAAE;YACJ,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/db/repository.js
CHANGED
|
@@ -24,6 +24,22 @@ export class DispatcherRepo {
|
|
|
24
24
|
.run(input.dispatcher_id, input.bot_app_id, input.bot_secret_ref, input.codex_args_json ?? '{}', input.codex_cwd ?? null, now, now);
|
|
25
25
|
return this.get(input.dispatcher_id);
|
|
26
26
|
}
|
|
27
|
+
upsert(input) {
|
|
28
|
+
const existing = this.get(input.dispatcher_id);
|
|
29
|
+
if (existing === null)
|
|
30
|
+
return this.create(input);
|
|
31
|
+
this.db
|
|
32
|
+
.prepare(`UPDATE dispatchers
|
|
33
|
+
SET bot_app_id = ?,
|
|
34
|
+
bot_secret_ref = ?,
|
|
35
|
+
codex_args_json = ?,
|
|
36
|
+
codex_cwd = ?,
|
|
37
|
+
enabled = 1,
|
|
38
|
+
updated_at = ?
|
|
39
|
+
WHERE dispatcher_id = ?`)
|
|
40
|
+
.run(input.bot_app_id, input.bot_secret_ref, input.codex_args_json ?? '{}', input.codex_cwd ?? null, Date.now(), input.dispatcher_id);
|
|
41
|
+
return this.get(input.dispatcher_id);
|
|
42
|
+
}
|
|
27
43
|
get(id) {
|
|
28
44
|
const row = this.db
|
|
29
45
|
.prepare(`SELECT ${DISPATCHER_COLUMNS} FROM dispatchers WHERE dispatcher_id = ?`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/db/repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/db/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,8 @@ import { CodexWsClient } from '../codex/rpc.js';
|
|
|
24
24
|
import { performInitializeHandshake } from '../codex/handshake.js';
|
|
25
25
|
import { TurnManager } from './turn-manager.js';
|
|
26
26
|
import { createFailFastApprovalHandler } from './approval.js';
|
|
27
|
-
import { dispatcherCodexCwd,
|
|
27
|
+
import { dispatcherCodexCwd, dispatcherCodexHome, dispatcherSocketPath, dispatcherStderrLog, dispatcherStdoutLog, } from '../runtime/paths.js';
|
|
28
|
+
import { assertDispatcherCodexHomeReady, dispatcherCodexHomeDoctorContext, } from '../runtime/dispatcher-codex-home.js';
|
|
28
29
|
import { outboundTargetForInbound } from '../channel/outbound.js';
|
|
29
30
|
export class DispatcherRuntime {
|
|
30
31
|
row;
|
|
@@ -79,8 +80,13 @@ export class DispatcherRuntime {
|
|
|
79
80
|
try {
|
|
80
81
|
await this.recoverInboundOnStartup();
|
|
81
82
|
const cwd = this.row.codex_cwd ?? dispatcherCodexCwd(this.dispatcherId);
|
|
83
|
+
const codexHome = dispatcherCodexHome(this.dispatcherId);
|
|
82
84
|
const socketPath = dispatcherSocketPath(this.dispatcherId);
|
|
83
85
|
const extraArgs = this.deps.resolveExtraArgs?.(this.row) ?? [];
|
|
86
|
+
const doctor = this.deps.codexHomeDoctor ?? assertDispatcherCodexHomeReady;
|
|
87
|
+
await doctor(dispatcherCodexHomeDoctorContext(this.dispatcherId, {
|
|
88
|
+
codexCliArgs: extraArgs,
|
|
89
|
+
}));
|
|
84
90
|
const factory = this.deps.codexProcessFactory ?? ((o) => new CodexProcess(o));
|
|
85
91
|
this.process = factory({
|
|
86
92
|
socketPath,
|
|
@@ -89,6 +95,7 @@ export class DispatcherRuntime {
|
|
|
89
95
|
stderrLogPath: dispatcherStderrLog(this.dispatcherId),
|
|
90
96
|
binPath: this.deps.codexBinPath,
|
|
91
97
|
extraArgs,
|
|
98
|
+
env: { ...process.env, CODEX_HOME: codexHome },
|
|
92
99
|
});
|
|
93
100
|
mkdirSync(dirname(socketPath), { recursive: true });
|
|
94
101
|
await this.process.start();
|