@excitedjs/dreamux 0.8.0 → 0.9.1

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 (47) hide show
  1. package/dist/admin/socket.js +18 -20
  2. package/dist/admin/socket.js.map +1 -1
  3. package/dist/channel/chat-bots-store.js +26 -28
  4. package/dist/channel/chat-bots-store.js.map +1 -1
  5. package/dist/channel/feishu-gate.js +16 -9
  6. package/dist/channel/feishu-gate.js.map +1 -1
  7. package/dist/cli/doctor.js +56 -17
  8. package/dist/cli/doctor.js.map +1 -1
  9. package/dist/cli/dreamux.js +112 -5
  10. package/dist/cli/dreamux.js.map +1 -1
  11. package/dist/cli/server.js +7 -7
  12. package/dist/cli/server.js.map +1 -1
  13. package/dist/codex/supervisor.js +31 -32
  14. package/dist/codex/supervisor.js.map +1 -1
  15. package/dist/daemon/install.js +80 -0
  16. package/dist/daemon/install.js.map +1 -0
  17. package/dist/daemon/restart-intent.js +166 -0
  18. package/dist/daemon/restart-intent.js.map +1 -0
  19. package/dist/daemon/service-control.js +56 -0
  20. package/dist/daemon/service-control.js.map +1 -0
  21. package/dist/dispatcher/runtime.js +53 -17
  22. package/dist/dispatcher/runtime.js.map +1 -1
  23. package/dist/dispatcher/turn-manager.js +42 -0
  24. package/dist/dispatcher/turn-manager.js.map +1 -1
  25. package/dist/onboard/dispatcher-skill.js +13 -8
  26. package/dist/onboard/dispatcher-skill.js.map +1 -1
  27. package/dist/onboard/ledger.js +33 -23
  28. package/dist/onboard/ledger.js.map +1 -1
  29. package/dist/onboard/run.js +29 -19
  30. package/dist/onboard/run.js.map +1 -1
  31. package/dist/onboard/service.js +101 -16
  32. package/dist/onboard/service.js.map +1 -1
  33. package/dist/onboard/uninstall.js +43 -55
  34. package/dist/onboard/uninstall.js.map +1 -1
  35. package/dist/runtime/config.js +32 -22
  36. package/dist/runtime/config.js.map +1 -1
  37. package/dist/runtime/dispatcher-codex-home.js +22 -12
  38. package/dist/runtime/dispatcher-codex-home.js.map +1 -1
  39. package/dist/runtime/dispatcher-store.js +48 -21
  40. package/dist/runtime/dispatcher-store.js.map +1 -1
  41. package/dist/runtime/logger.js +36 -11
  42. package/dist/runtime/logger.js.map +1 -1
  43. package/dist/runtime/paths.js +9 -0
  44. package/dist/runtime/paths.js.map +1 -1
  45. package/dist/server.js +47 -14
  46. package/dist/server.js.map +1 -1
  47. package/package.json +6 -3
@@ -1,8 +1,18 @@
1
- import { existsSync, rmSync } from 'node:fs';
1
+ import { access, rm } from 'node:fs/promises';
2
2
  import { homedir } from 'node:os';
3
3
  import { basename, join, resolve, sep } from 'node:path';
4
+ /** Async existence probe — the fs/promises replacement for `existsSync`. */
5
+ async function pathExists(path) {
6
+ try {
7
+ await access(path);
8
+ return true;
9
+ }
10
+ catch {
11
+ return false;
12
+ }
13
+ }
4
14
  import { ExecaCommandRunner } from './commands.js';
5
- import { LAUNCHD_LABEL, serviceUnitPath, SYSTEMD_UNIT, } from './service.js';
15
+ import { removeUserService } from './service.js';
6
16
  import { assertNoLegacyTomlOnly, expandHome, globalConfigDir, globalConfigFile, loadConfig, } from '../runtime/config.js';
7
17
  import { dispatcherWorkspaceSkillPath, logsRoot, stateRoot, } from '../runtime/paths.js';
8
18
  export async function runUninstall(options = {}) {
@@ -11,53 +21,54 @@ export async function runUninstall(options = {}) {
11
21
  const configDir = normalizePath(options.configDir ?? globalConfigDir());
12
22
  const entries = [];
13
23
  const warnings = [];
14
- const unit = serviceUnitPath(options.platform, options.homeDir ?? homedir());
15
- warnIfConfigIsNotReadable(configDir, warnings);
24
+ await warnIfConfigIsNotReadable(configDir, warnings);
16
25
  const stateDir = normalizePath(stateRoot());
17
26
  const logDir = normalizePath(logsRoot());
18
27
  assertSafeOwnedDirectory(stateDir, 'dreamux state directory');
19
28
  assertSafeOwnedDirectory(logDir, 'dreamux logs directory');
20
29
  assertSafeOwnedDirectory(configDir, 'dreamux config directory');
21
- const workspaceSkillPaths = collectWorkspaceSkillPaths(configDir);
22
- await unregisterService({
23
- unitPath: unit.path,
24
- platform: unit.platform,
30
+ const workspaceSkillPaths = await collectWorkspaceSkillPaths(configDir);
31
+ // Service removal (unit-only) is shared with `dreamux daemon uninstall`.
32
+ const removal = await removeUserService({
25
33
  runner,
26
- dryRun,
34
+ platform: options.platform,
35
+ homeDir: options.homeDir ?? homedir(),
27
36
  uid: options.uid,
37
+ dryRun,
28
38
  });
29
- removePath(unit.path, entries, `${unit.platform} unit`, dryRun);
30
- if (unit.platform === 'systemd') {
31
- await runBestEffort(runner, 'systemctl', ['--user', 'daemon-reload'], dryRun);
32
- }
33
- reportWorkspaceSkills(workspaceSkillPaths, entries);
34
- removeOwnedDirectory(stateDir, entries, 'dreamux state directory', dryRun);
35
- removeOwnedDirectory(logDir, entries, 'dreamux logs directory', dryRun);
36
- removeOwnedDirectory(configDir, entries, 'dreamux config directory', dryRun);
39
+ entries.push({
40
+ path: removal.unitPath,
41
+ status: removal.removed ? 'removed' : 'missing',
42
+ reason: `${removal.platform} unit`,
43
+ });
44
+ await reportWorkspaceSkills(workspaceSkillPaths, entries);
45
+ await removeOwnedDirectory(stateDir, entries, 'dreamux state directory', dryRun);
46
+ await removeOwnedDirectory(logDir, entries, 'dreamux logs directory', dryRun);
47
+ await removeOwnedDirectory(configDir, entries, 'dreamux config directory', dryRun);
37
48
  return {
38
49
  entries: entries.sort((a, b) => a.path.localeCompare(b.path)),
39
50
  warnings,
40
51
  service: {
41
- platform: unit.platform,
42
- unitPath: unit.path,
52
+ platform: removal.platform,
53
+ unitPath: removal.unitPath,
43
54
  },
44
55
  };
45
56
  }
46
- function warnIfConfigIsNotReadable(configDir, warnings) {
57
+ async function warnIfConfigIsNotReadable(configDir, warnings) {
47
58
  try {
48
- assertNoLegacyTomlOnly({ configDir });
49
- if (!existsSync(globalConfigFile({ configDir })))
59
+ await assertNoLegacyTomlOnly({ configDir });
60
+ if (!(await pathExists(globalConfigFile({ configDir }))))
50
61
  return;
51
- loadConfig({ configDir });
62
+ await loadConfig({ configDir });
52
63
  }
53
64
  catch (err) {
54
65
  const message = err instanceof Error ? err.message : String(err);
55
66
  warnings.push(`could not validate dreamux config before uninstall; continuing with fixed state/log paths: ${message}`);
56
67
  }
57
68
  }
58
- function collectWorkspaceSkillPaths(configDir) {
69
+ async function collectWorkspaceSkillPaths(configDir) {
59
70
  try {
60
- return loadConfig({ configDir }).config.dispatchers
71
+ return (await loadConfig({ configDir })).config.dispatchers
61
72
  .map(dispatcherWorkspaceSkillPathFromConfig)
62
73
  .filter((path) => path !== null);
63
74
  }
@@ -70,49 +81,26 @@ function dispatcherWorkspaceSkillPathFromConfig(dispatcher) {
70
81
  return null;
71
82
  return dispatcherWorkspaceSkillPath(dispatcher.cwd);
72
83
  }
73
- function reportWorkspaceSkills(paths, entries) {
84
+ async function reportWorkspaceSkills(paths, entries) {
74
85
  for (const path of uniquePaths(paths)) {
75
86
  entries.push({
76
87
  path,
77
- status: existsSync(path) ? 'skipped' : 'missing',
88
+ status: (await pathExists(path)) ? 'skipped' : 'missing',
78
89
  reason: 'workspace-local dispatcher skill (not removed)',
79
90
  });
80
91
  }
81
92
  }
82
- async function unregisterService(options) {
83
- if (options.platform === 'launchd') {
84
- const uid = options.uid ?? process.getuid?.();
85
- if (uid === undefined) {
86
- throw new Error('launchd user service uninstall requires a numeric uid');
87
- }
88
- const serviceTarget = `gui/${uid}/${LAUNCHD_LABEL}`;
89
- const loaded = await options.runner.check('launchctl', ['print', serviceTarget], { dryRun: options.dryRun });
90
- if (loaded) {
91
- await runBestEffort(options.runner, 'launchctl', ['bootout', serviceTarget], options.dryRun);
92
- }
93
- return;
94
- }
95
- await runBestEffort(options.runner, 'systemctl', ['--user', 'disable', '--now', SYSTEMD_UNIT], options.dryRun);
96
- }
97
- async function runBestEffort(runner, command, args, dryRun) {
98
- try {
99
- await runner.run(command, args, { dryRun });
100
- }
101
- catch {
102
- /* The unit may already be absent or stopped; file deletion below is authoritative. */
103
- }
104
- }
105
- function removeOwnedDirectory(path, entries, reason, dryRun) {
93
+ async function removeOwnedDirectory(path, entries, reason, dryRun) {
106
94
  assertSafeOwnedDirectory(path, reason);
107
- removePath(path, entries, reason, dryRun);
95
+ await removePath(path, entries, reason, dryRun);
108
96
  }
109
- function removePath(path, entries, reason, dryRun) {
110
- if (!existsSync(path)) {
97
+ async function removePath(path, entries, reason, dryRun) {
98
+ if (!(await pathExists(path))) {
111
99
  entries.push({ path, status: 'missing', reason });
112
100
  return;
113
101
  }
114
102
  if (!dryRun) {
115
- rmSync(path, {
103
+ await rm(path, {
116
104
  recursive: true,
117
105
  force: true,
118
106
  });
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/onboard/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/onboard/uninstall.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,18 @@
8
8
  */
9
9
  import { homedir } from 'node:os';
10
10
  import { dirname, isAbsolute, join } from 'node:path';
11
- import { closeSync, existsSync, mkdirSync, openSync, readFileSync, statSync, writeSync, } from 'node:fs';
11
+ import { access, mkdir, open, readFile, stat } from 'node:fs/promises';
12
12
  import { validateDispatcherId } from './dispatcher-id.js';
13
+ /** Async existence probe — the fs/promises replacement for `existsSync`. */
14
+ async function pathExists(path) {
15
+ try {
16
+ await access(path);
17
+ return true;
18
+ }
19
+ catch {
20
+ return false;
21
+ }
22
+ }
13
23
  export const BUILT_IN_DEFAULTS = {
14
24
  codex: {
15
25
  bin: 'codex',
@@ -37,18 +47,18 @@ export function globalConfigFile(overrides = {}) {
37
47
  export function legacyGlobalConfigFile(overrides = {}) {
38
48
  return join(globalConfigDir(overrides), 'config.toml');
39
49
  }
40
- export function loadOrInitConfig(overrides = {}) {
50
+ export async function loadOrInitConfig(overrides = {}) {
41
51
  const file = globalConfigFile(overrides);
42
- assertNoLegacyTomlOnly(overrides);
43
- mkdirSync(dirname(file), { recursive: true });
44
- const createdOnThisBoot = atomicWriteIfAbsent(file, DEFAULT_CONFIG_JSON);
45
- const config = readConfigFile(file);
52
+ await assertNoLegacyTomlOnly(overrides);
53
+ await mkdir(dirname(file), { recursive: true });
54
+ const createdOnThisBoot = await atomicWriteIfAbsent(file, DEFAULT_CONFIG_JSON);
55
+ const config = await readConfigFile(file);
46
56
  return { config, configFile: file, createdOnThisBoot };
47
57
  }
48
- export function loadConfig(overrides = {}) {
58
+ export async function loadConfig(overrides = {}) {
49
59
  const file = globalConfigFile(overrides);
50
- assertNoLegacyTomlOnly(overrides);
51
- return { config: readConfigFile(file), configFile: file };
60
+ await assertNoLegacyTomlOnly(overrides);
61
+ return { config: await readConfigFile(file), configFile: file };
52
62
  }
53
63
  export function stringifyConfig(config) {
54
64
  return `${JSON.stringify(config, null, 2)}\n`;
@@ -66,13 +76,13 @@ export function redactConfigForDisplay(raw, file) {
66
76
  redactFeishuSecrets(parsed);
67
77
  return `${JSON.stringify(parsed, null, 2)}\n`;
68
78
  }
69
- function readConfigFile(file) {
70
- if (!existsSync(file)) {
79
+ async function readConfigFile(file) {
80
+ if (!(await pathExists(file))) {
71
81
  throw new Error(`dreamux config is missing at ${file}.\n` +
72
82
  'Run `dreamux onboard` to create it before starting the server.');
73
83
  }
74
- assertConfigFileMode(file);
75
- const raw = readFileSync(file, 'utf8');
84
+ await assertConfigFileMode(file);
85
+ const raw = await readFile(file, 'utf8');
76
86
  let parsed;
77
87
  try {
78
88
  parsed = JSON.parse(raw);
@@ -84,19 +94,19 @@ function readConfigFile(file) {
84
94
  }
85
95
  return mergeWithDefaults(parsed, file);
86
96
  }
87
- export function assertNoLegacyTomlOnly(overrides = {}) {
97
+ export async function assertNoLegacyTomlOnly(overrides = {}) {
88
98
  const jsonFile = globalConfigFile(overrides);
89
99
  const tomlFile = legacyGlobalConfigFile(overrides);
90
- if (existsSync(jsonFile) || !existsSync(tomlFile))
100
+ if ((await pathExists(jsonFile)) || !(await pathExists(tomlFile)))
91
101
  return;
92
102
  throw new Error(`legacy dreamux config detected at ${tomlFile}, but ${jsonFile} does not exist.\n` +
93
103
  'dreamux no longer reads TOML config and will not create default JSON over an existing install.\n' +
94
104
  `Create ${jsonFile} manually with a dispatchers array, then move ${tomlFile} aside.`);
95
105
  }
96
- function atomicWriteIfAbsent(file, content) {
97
- let fd;
106
+ async function atomicWriteIfAbsent(file, content) {
107
+ let handle;
98
108
  try {
99
- fd = openSync(file, 'wx', 0o600);
109
+ handle = await open(file, 'wx', 0o600);
100
110
  }
101
111
  catch (err) {
102
112
  if (err.code === 'EEXIST')
@@ -104,17 +114,17 @@ function atomicWriteIfAbsent(file, content) {
104
114
  throw err;
105
115
  }
106
116
  try {
107
- writeSync(fd, content);
117
+ await handle.writeFile(content);
108
118
  }
109
119
  finally {
110
- closeSync(fd);
120
+ await handle.close();
111
121
  }
112
122
  return true;
113
123
  }
114
- export function assertConfigFileMode(file) {
124
+ export async function assertConfigFileMode(file) {
115
125
  if (process.platform === 'win32')
116
126
  return;
117
- const mode = statSync(file).mode & 0o777;
127
+ const mode = (await stat(file)).mode & 0o777;
118
128
  if (mode === 0o600)
119
129
  return;
120
130
  throw new Error(`dreamux config file must be mode 0600: ${file} has mode 0${mode.toString(8)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
- import { existsSync, readFileSync, } from 'node:fs';
1
+ import { access, readFile } from 'node:fs/promises';
2
2
  import { join, normalize, sep } from 'node:path';
3
+ /** Async existence probe — the fs/promises replacement for `existsSync`. */
4
+ async function pathExists(path) {
5
+ try {
6
+ await access(path);
7
+ return true;
8
+ }
9
+ catch {
10
+ return false;
11
+ }
12
+ }
3
13
  import { parse as parseToml, TomlError } from 'smol-toml';
4
14
  import { DREAMUX_UNIX_SOCKET_PATH_MAX_BYTES, dispatcherAppServerControlDir, dispatcherCodexCwd, dispatcherCodexConfigPath, dispatcherCodexHome, dispatcherWorkspaceCodexSkillsDir, dispatcherWorkspaceSkillPath, dispatcherSocketPath, unixSocketPathFitsBudget, } from './paths.js';
5
15
  export const DISPATCHER_APP_SERVER_SOCKET_PATH_MAX_BYTES = DREAMUX_UNIX_SOCKET_PATH_MAX_BYTES;
@@ -17,7 +27,7 @@ export function dispatcherCodexHomeDoctorContext(dispatcherId, options = {}) {
17
27
  codexCliArgs: options.codexCliArgs ?? [],
18
28
  };
19
29
  }
20
- export function validateDispatcherCodexHome(input, options = {}) {
30
+ export async function validateDispatcherCodexHome(input, options = {}) {
21
31
  const context = typeof input === 'string'
22
32
  ? dispatcherCodexHomeDoctorContext(input, {
23
33
  codexCliArgs: options.codexCliArgs,
@@ -28,9 +38,9 @@ export function validateDispatcherCodexHome(input, options = {}) {
28
38
  };
29
39
  const errors = [];
30
40
  const env = options.env ?? process.env;
31
- if (existsSync(context.configPath)) {
41
+ if (await pathExists(context.configPath)) {
32
42
  try {
33
- const parsed = parseToml(readFileSync(context.configPath, 'utf8'));
43
+ const parsed = parseToml(await readFile(context.configPath, 'utf8'));
34
44
  if (!isRecord(parsed)) {
35
45
  errors.push(`Codex config must be a TOML table: ${context.configPath}`);
36
46
  }
@@ -39,7 +49,7 @@ export function validateDispatcherCodexHome(input, options = {}) {
39
49
  errors.push(formatTomlError(err, context.configPath));
40
50
  }
41
51
  }
42
- if (!existsSync(context.codexHome)) {
52
+ if (!(await pathExists(context.codexHome))) {
43
53
  errors.push(`missing Codex home directory: ${context.codexHome}`);
44
54
  }
45
55
  if (isTmpPath(context.socketPath)) {
@@ -49,10 +59,10 @@ export function validateDispatcherCodexHome(input, options = {}) {
49
59
  const bytes = Buffer.byteLength(context.socketPath, 'utf8');
50
60
  errors.push(`dispatcher app-server socket path is too long for Unix sockets (${bytes} bytes > ${DISPATCHER_APP_SERVER_SOCKET_PATH_MAX_BYTES} safe bytes): ${context.socketPath}`);
51
61
  }
52
- if (!dispatcherSkillExists(context.skillPath)) {
62
+ if (!(await dispatcherSkillExists(context.skillPath))) {
53
63
  errors.push(`missing dispatcher skill: ${context.skillPath}`);
54
64
  }
55
- if (!hasAuth(context.codexHome, env)) {
65
+ if (!(await hasAuth(context.codexHome, env))) {
56
66
  errors.push(`missing Codex auth state in ${context.codexHome} or a supported auth environment variable`);
57
67
  }
58
68
  return {
@@ -62,7 +72,7 @@ export function validateDispatcherCodexHome(input, options = {}) {
62
72
  };
63
73
  }
64
74
  export async function assertDispatcherCodexHomeReady(context) {
65
- const result = validateDispatcherCodexHome(context);
75
+ const result = await validateDispatcherCodexHome(context);
66
76
  if (result.ok)
67
77
  return;
68
78
  throw new Error(formatDispatcherCodexHomeErrors(result));
@@ -81,11 +91,11 @@ function formatTomlError(err, file) {
81
91
  const msg = err instanceof Error ? err.message : String(err);
82
92
  return `Codex config parse error in ${file}: ${msg}`;
83
93
  }
84
- function dispatcherSkillExists(skillPath) {
85
- return existsSync(skillPath);
94
+ async function dispatcherSkillExists(skillPath) {
95
+ return pathExists(skillPath);
86
96
  }
87
- function hasAuth(codexHome, env) {
88
- if (existsSync(join(codexHome, 'auth.json')))
97
+ async function hasAuth(codexHome, env) {
98
+ if (await pathExists(join(codexHome, 'auth.json')))
89
99
  return true;
90
100
  return ['OPENAI_API_KEY', 'CODEX_API_KEY', 'CODEX_ACCESS_TOKEN'].some((name) => {
91
101
  const value = env[name];
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher-codex-home.js","sourceRoot":"","sources":["../../src/runtime/dispatcher-codex-home.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher-codex-home.js","sourceRoot":"","sources":["../../src/runtime/dispatcher-codex-home.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,28 @@
1
- import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, } from 'node:fs';
1
+ import { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
2
2
  import { dirname } from 'node:path';
3
3
  import { dispatcherStatusPath } from './paths.js';
4
4
  export class DispatcherStore {
5
5
  rows = new Map();
6
+ seedDispatchers;
6
7
  constructor(config) {
7
8
  const now = Date.now();
9
+ this.seedDispatchers = config.dispatchers;
10
+ // Build in-memory rows from config only. Persisted per-dispatcher status
11
+ // files are merged later by `hydrate()`: that read is async and must not
12
+ // run in a constructor.
8
13
  for (const dispatcher of config.dispatchers) {
9
- const row = rowFromConfig(dispatcher, now);
10
- this.rows.set(row.dispatcher_id, row);
14
+ this.rows.set(dispatcher.id, rowDefaults(dispatcher, now));
15
+ }
16
+ }
17
+ /**
18
+ * Merge each dispatcher's persisted `status.json` into its in-memory row.
19
+ * Restores thread_id / status / timestamps across restarts. The server calls
20
+ * this once during `start()`, before any dispatcher is launched. Idempotent.
21
+ */
22
+ async hydrate() {
23
+ const now = Date.now();
24
+ for (const dispatcher of this.seedDispatchers) {
25
+ this.rows.set(dispatcher.id, await rowFromConfig(dispatcher, now));
11
26
  }
12
27
  }
13
28
  create(input) {
@@ -66,11 +81,11 @@ export class DispatcherStore {
66
81
  listEnabled() {
67
82
  return this.list().filter((row) => row.enabled === 1);
68
83
  }
69
- remove(id) {
84
+ async remove(id) {
70
85
  this.rows.delete(id);
71
- rmSync(dispatcherStatusPath(id), { force: true });
86
+ await rm(dispatcherStatusPath(id), { force: true });
72
87
  }
73
- setStatus(id, status, extras = {}) {
88
+ async setStatus(id, status, extras = {}) {
74
89
  const row = this.mustRow(id);
75
90
  row.status = status;
76
91
  row.updated_at = Date.now();
@@ -82,21 +97,21 @@ export class DispatcherStore {
82
97
  if (extras.last_ready_at !== undefined) {
83
98
  row.last_ready_at = extras.last_ready_at;
84
99
  }
85
- this.persist(row);
100
+ await this.persist(row);
86
101
  }
87
- setThreadId(id, threadId) {
102
+ async setThreadId(id, threadId) {
88
103
  const row = this.mustRow(id);
89
104
  row.thread_id = threadId;
90
105
  row.updated_at = Date.now();
91
- this.persist(row);
106
+ await this.persist(row);
92
107
  }
93
- recordLostThread(id, lostThreadId, newThreadId, error) {
108
+ async recordLostThread(id, lostThreadId, newThreadId, error) {
94
109
  const row = this.mustRow(id);
95
110
  row.thread_id = newThreadId;
96
111
  row.last_lost_thread_id = lostThreadId;
97
112
  row.last_error = error;
98
113
  row.updated_at = Date.now();
99
- this.persist(row);
114
+ await this.persist(row);
100
115
  }
101
116
  mustRow(id) {
102
117
  const row = this.rows.get(id);
@@ -104,8 +119,8 @@ export class DispatcherStore {
104
119
  throw new Error(`no dispatcher '${id}'`);
105
120
  return row;
106
121
  }
107
- persist(row) {
108
- mkdirSync(dirname(dispatcherStatusPath(row.dispatcher_id)), {
122
+ async persist(row) {
123
+ await mkdir(dirname(dispatcherStatusPath(row.dispatcher_id)), {
109
124
  recursive: true,
110
125
  });
111
126
  const status = {
@@ -119,20 +134,34 @@ export class DispatcherStore {
119
134
  last_error: row.last_error,
120
135
  last_lost_thread_id: row.last_lost_thread_id,
121
136
  };
122
- writeFileSync(dispatcherStatusPath(row.dispatcher_id), `${JSON.stringify(status, null, 2)}\n`, { mode: 0o600 });
137
+ await writeFile(dispatcherStatusPath(row.dispatcher_id), `${JSON.stringify(status, null, 2)}\n`, { mode: 0o600 });
123
138
  }
124
139
  }
125
- function rowFromConfig(config, now) {
126
- const status = readStatusFile(config.id);
140
+ /** Config-only row (no persisted status); used before `hydrate()` runs. */
141
+ function rowDefaults(config, now) {
127
142
  return {
128
143
  dispatcher_id: config.id,
129
144
  bot_app_id: config.feishu.app_id,
130
145
  bot_secret_ref: `config:${config.id}`,
131
146
  codex_args_json: dispatcherCodexArgsJson(config),
132
147
  codex_cwd: config.cwd,
148
+ thread_id: null,
149
+ status: 'declared',
150
+ enabled: config.enabled ? 1 : 0,
151
+ created_at: now,
152
+ updated_at: now,
153
+ last_started_at: null,
154
+ last_ready_at: null,
155
+ last_error: null,
156
+ last_lost_thread_id: null,
157
+ };
158
+ }
159
+ async function rowFromConfig(config, now) {
160
+ const status = await readStatusFile(config.id);
161
+ return {
162
+ ...rowDefaults(config, now),
133
163
  thread_id: status?.thread_id ?? null,
134
164
  status: status?.status ?? 'declared',
135
- enabled: config.enabled ? 1 : 0,
136
165
  created_at: status?.updated_at ?? now,
137
166
  updated_at: status?.updated_at ?? now,
138
167
  last_started_at: status?.last_started_at ?? null,
@@ -156,12 +185,10 @@ function dispatcherCodexArgsJson(config) {
156
185
  // into CLI args.
157
186
  return JSON.stringify(raw);
158
187
  }
159
- function readStatusFile(id) {
188
+ async function readStatusFile(id) {
160
189
  const path = dispatcherStatusPath(id);
161
- if (!existsSync(path))
162
- return null;
163
190
  try {
164
- const raw = JSON.parse(readFileSync(path, 'utf8'));
191
+ const raw = JSON.parse(await readFile(path, 'utf8'));
165
192
  if (raw.version !== 1 || raw.dispatcher_id !== id)
166
193
  return null;
167
194
  return {