discord-agent-bridge 0.2.0 → 0.4.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.
Files changed (43) hide show
  1. package/README.ko.md +386 -0
  2. package/README.md +302 -116
  3. package/dist/app.js +7 -10
  4. package/dist/app.js.map +1 -1
  5. package/dist/cli.js +11 -4
  6. package/dist/cli.js.map +1 -1
  7. package/dist/core/configResolver.js +4 -0
  8. package/dist/core/configResolver.js.map +1 -1
  9. package/dist/core/configSchema.js +8 -0
  10. package/dist/core/configSchema.js.map +1 -1
  11. package/dist/core/providerCatalog.js +10 -35
  12. package/dist/core/providerCatalog.js.map +1 -1
  13. package/dist/core/sessionOrchestrator.js +148 -4
  14. package/dist/core/sessionOrchestrator.js.map +1 -1
  15. package/dist/discord/configPanel.js +38 -6
  16. package/dist/discord/configPanel.js.map +1 -1
  17. package/dist/discord/format.js +30 -11
  18. package/dist/discord/format.js.map +1 -1
  19. package/dist/discord/i18n.js +4 -0
  20. package/dist/discord/i18n.js.map +1 -1
  21. package/dist/discord/interactionRouter.js +32 -8
  22. package/dist/discord/interactionRouter.js.map +1 -1
  23. package/dist/discord/renderers/index.js +63 -11
  24. package/dist/discord/renderers/index.js.map +1 -1
  25. package/dist/discord/renderers/streamEmbed.js +11 -0
  26. package/dist/discord/renderers/streamEmbed.js.map +1 -1
  27. package/dist/modes/claude/session.js +6 -0
  28. package/dist/modes/claude/session.js.map +1 -1
  29. package/dist/modes/codex/index.js +3 -0
  30. package/dist/modes/codex/index.js.map +1 -1
  31. package/dist/service/index.js +140 -0
  32. package/dist/service/index.js.map +1 -0
  33. package/dist/service/launchd.js +106 -0
  34. package/dist/service/launchd.js.map +1 -0
  35. package/dist/service/runScript.js +37 -0
  36. package/dist/service/runScript.js.map +1 -0
  37. package/dist/service/schtasks.js +78 -0
  38. package/dist/service/schtasks.js.map +1 -0
  39. package/dist/service/systemd.js +87 -0
  40. package/dist/service/systemd.js.map +1 -0
  41. package/dist/service/types.js +10 -0
  42. package/dist/service/types.js.map +1 -0
  43. package/package.json +2 -2
package/dist/cli.js CHANGED
@@ -4,12 +4,14 @@ import * as path from 'node:path';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { startBot } from './app.js';
6
6
  import { runSetup } from './setup/wizard.js';
7
+ import { runServiceCommand } from './service/index.js';
7
8
  import { ConfigStore } from './core/config.js';
8
9
  // Thin entrypoint (§4): `--version` prints the package version, `--setup` runs the
9
- // first-run wizard only (explicit re-configure), and the default/no-flag path is a
10
- // one-command first-run it runs the wizard automatically when nothing is
11
- // configured yet, then boots the bot. All real work lives in app.ts /
12
- // setup/wizard.ts; this file only parses argv, decides, and dispatches.
10
+ // first-run wizard only (explicit re-configure), `service <sub>` manages OS auto-start
11
+ // registration (never boots the bot), and the default/no-flag path is a one-command
12
+ // first-run it runs the wizard automatically when nothing is configured yet, then
13
+ // boots the bot. All real work lives in app.ts / setup/wizard.ts / service/; this file
14
+ // only parses argv, decides, and dispatches.
13
15
  // Read the package version from package.json (two levels up from dist/cli.js, and
14
16
  // from src/cli.ts in dev). Kept as a function so a test can call it directly.
15
17
  export function readVersion() {
@@ -41,6 +43,11 @@ export async function run(argv) {
41
43
  await runSetup();
42
44
  return;
43
45
  }
46
+ // OS auto-start management. Handles its own subcommands and MUST NOT boot the bot.
47
+ if (argv[0] === 'service') {
48
+ await runServiceCommand(argv.slice(1));
49
+ return;
50
+ }
44
51
  // No flags: one-command first-run. When nothing is configured yet, run the wizard
45
52
  // and then start the bot in the same process; when already configured, start
46
53
  // directly. If setup was cancelled (or still wrote nothing usable), startBot's
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,8 @@ export class ConfigResolver {
61
61
  codexHome: global.defaults.codexHome,
62
62
  codexCliCommand: global.defaults.codexCliCommand,
63
63
  codexCliVersion: global.defaults.codexCliVersion,
64
+ claudeEffort: global.defaults.claudeEffort,
65
+ codexEffort: global.defaults.codexEffort,
64
66
  limits: { ...global.limits },
65
67
  };
66
68
  // Level 2: server override (only the fields §8.1 allows a server to set).
@@ -72,6 +74,8 @@ export class ConfigResolver {
72
74
  permissionMode: server.defaults?.permissionMode,
73
75
  permissionProfile: server.defaults?.permissionProfile,
74
76
  codexHome: server.defaults?.codexHome,
77
+ claudeEffort: server.defaults?.claudeEffort,
78
+ codexEffort: server.defaults?.codexEffort,
75
79
  limits: server.limits,
76
80
  });
77
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"configResolver.js","sourceRoot":"","sources":["../../src/core/configResolver.ts"],"names":[],"mappings":"AA8BA,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAYD,SAAS,SAAS,CAAI,IAAO,EAAE,IAAgC;IAC7D,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,IAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC;AAED,MAAM,OAAO,cAAc;IAEN;IACA;IAFnB,YACmB,WAAwB,EACxB,eAAgC;QADhC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;IAChD,CAAC;IAEJ,+EAA+E;IAC/E,gFAAgF;IAChF,wCAAwC;IACxC,OAAO,CAAC,OAAe,EAAE,SAAiB;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,wEAAwE;IACxE,iBAAiB,CAAC,OAAe,EAAE,SAAiB;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO;YACL,KAAK,EAAE,CAAC,CAAC,WAAW;YACpB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,SAAS;YAC/C,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB;YACnD,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;SACxC,CAAC;IACJ,CAAC;IAED,uEAAuE;IAC/D,KAAK,CACX,MAAiB,EACjB,MAA2B,EAC3B,OAAmC;QAEnC,4BAA4B;QAC5B,IAAI,MAAM,GAAmB;YAC3B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC1B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;YACxC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU;YACtC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc;YAC9C,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB;YACpD,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YACpC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe;YAChD,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe;YAChD,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;SAC7B,CAAC;QAEF,0EAA0E;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI;gBAC3B,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW;gBACzC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU;gBACvC,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc;gBAC/C,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB;gBACrD,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS;gBACrC,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,6EAA6E;QAC7E,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,cAAc,EAAE,OAAO,CAAC,QAAQ;gBAChC,iBAAiB,EAAE,OAAO,CAAC,OAAO;aACnC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"configResolver.js","sourceRoot":"","sources":["../../src/core/configResolver.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,12 @@ export const configSchema = z.object({
43
43
  codexHome: z.string(),
44
44
  codexCliCommand: z.string(),
45
45
  codexCliVersion: z.string().nullable(),
46
+ // Reasoning effort per backend. Optional: an unset value defers to each mode's
47
+ // own default (Claude SDK's EffortLevel default; Codex CLI's config.toml
48
+ // model_reasoning_effort). The wizard / `/config` panel offer per-backend option
49
+ // lists narrowed by the SDK's supportedEffortLevels when reported.
50
+ claudeEffort: z.string().optional(),
51
+ codexEffort: z.string().optional(),
46
52
  }),
47
53
  limits: z.object({
48
54
  maxSessionsPerUser: z.number(),
@@ -86,6 +92,8 @@ export const serverConfigSchema = z.object({
86
92
  permissionMode: permModeSchema,
87
93
  permissionProfile: z.string().nullable(),
88
94
  codexHome: z.string(),
95
+ claudeEffort: z.string(),
96
+ codexEffort: z.string(),
89
97
  })
90
98
  .partial()
91
99
  .optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/core/configSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/core/configSchema.ts"],"names":[],"mappings":"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"}
@@ -109,17 +109,11 @@ export function effortChoicesFor(backend, supportedClaudeLevels) {
109
109
  export const CLAUDE_MODEL_FALLBACK = ['opus', 'sonnet', 'haiku'];
110
110
  // How long we wait for supportedModels() before giving up and using the fallback.
111
111
  const SUPPORTED_MODELS_TIMEOUT_MS = 5_000;
112
- // Module-level cache: the resolved English model list is fetched ONCE and reused.
113
- // We cache the ModelChoice[] itself (not the promise) so a failed fetch is not
114
- // memoized a later render can retry (and will still fall back safely meanwhile).
115
- let cachedClaudeModels = null;
116
- // In-flight fetch shared by concurrent callers so we never launch two probe queries.
112
+ // In-flight fetch shared by concurrent callers within the same tick so a burst of
113
+ // interactions (e.g. `/config` re-open) does not launch two probe queries at once.
114
+ // NO cross-invocation cache: every logical open re-probes the SDK, so a model added
115
+ // or removed on the account reflects on the next open.
117
116
  let inFlight = null;
118
- // Reset the cache (tests only) so each case starts from a cold catalog.
119
- export function __resetClaudeModelCache() {
120
- cachedClaudeModels = null;
121
- inFlight = null;
122
- }
123
117
  // A prompt stream that yields nothing and ends immediately: we only need the query
124
118
  // object alive long enough to answer the supportedModels() control request. No user
125
119
  // turn is ever sent, so this never spends tokens.
@@ -180,39 +174,20 @@ function withTimeout(promise, ms) {
180
174
  });
181
175
  });
182
176
  }
183
- // The Claude model list as English {value,label}. Cached: the first call fetches
184
- // (via the SDK), later calls reuse the cached list. Concurrent callers share one
185
- // in-flight fetch. On failure the fallback is returned but NOT cached, so a later
186
- // call can retry once auth/network is available.
177
+ // The Claude model list as English {value,label}. Always fetches live from the SDK
178
+ // so a model added or removed on the account is reflected on the very next call.
179
+ // Concurrent callers within the same tick share one in-flight probe so a burst of
180
+ // interactions does not spawn multiple probes. On failure/timeout the alias fallback
181
+ // is returned; no result is retained across calls.
187
182
  export async function getClaudeModels(deps = {}) {
188
- if (cachedClaudeModels)
189
- return cachedClaudeModels;
190
183
  if (inFlight)
191
184
  return inFlight;
192
185
  const queryFn = deps.queryFn ?? realQuery;
193
- inFlight = fetchClaudeModels(queryFn, deps.logger)
194
- .then((choices) => {
195
- // Cache only a real (non-fallback) result so a transient failure can retry.
196
- const isFallback = choices.length === CLAUDE_MODEL_FALLBACK.length &&
197
- choices.every((c, i) => c.value === CLAUDE_MODEL_FALLBACK[i]);
198
- if (!isFallback)
199
- cachedClaudeModels = choices;
200
- return choices;
201
- })
202
- .finally(() => {
186
+ inFlight = fetchClaudeModels(queryFn, deps.logger).finally(() => {
203
187
  inFlight = null;
204
188
  });
205
189
  return inFlight;
206
190
  }
207
- // The Claude model list WITHOUT blocking: returns the cached English list if present,
208
- // otherwise kicks off the async fetch (fire-and-forget) and returns the alias fallback
209
- // for THIS render. Lets an interaction ack immediately; the next render sees the cache.
210
- export function getClaudeModelsCachedOrFallback(deps = {}) {
211
- if (cachedClaudeModels)
212
- return cachedClaudeModels;
213
- void getClaudeModels(deps); // warm the cache for the next render
214
- return fallbackChoices();
215
- }
216
191
  // ---- Codex models — honest static default (NOT auto-fetched) -----------------
217
192
  // Codex has no model-list API and `codex exec -m` is FREE-FORM (any OpenAI model the
218
193
  // account can reach works), so this is a documented convenience list, not a dynamic
@@ -1 +1 @@
1
- {"version":3,"file":"providerCatalog.js","sourceRoot":"","sources":["../../src/core/providerCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providerCatalog.js","sourceRoot":"","sources":["../../src/core/providerCatalog.ts"],"names":[],"mappings":"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"}
@@ -155,9 +155,52 @@ export class SessionOrchestrator {
155
155
  // emitted and the turn is not sent).
156
156
  async send(guildId, channelId, turn) {
157
157
  const key = channelKey(guildId, channelId);
158
- const channel = this.active.get(key);
158
+ let channel = this.active.get(key);
159
159
  if (!channel) {
160
- throw new Error(`No active session for channel ${key}. Run /agent start first.`);
160
+ // On-demand reactivation: a persisted, non-archived binding whose live
161
+ // session was dropped (bot restart between resumeAll() and the first
162
+ // turn, or resumeAll() itself skipped this channel because sessionId=null
163
+ // and no catalog match existed) should transparently come back on the
164
+ // next turn instead of forcing the operator to re-run /agent start.
165
+ const binding = this.channelRegistry.get(guildId, channelId);
166
+ if (!binding || binding.archived) {
167
+ throw new Error(`No active session for channel ${key}. Run /agent start first.`);
168
+ }
169
+ this.logger.info('reactivating channel on demand', {
170
+ guildId,
171
+ channelId,
172
+ mode: binding.mode,
173
+ hasSessionId: binding.sessionId !== null,
174
+ });
175
+ const params = {
176
+ guildId,
177
+ channelId,
178
+ mode: binding.mode,
179
+ cwd: binding.cwd,
180
+ ownerId: binding.ownerId,
181
+ permMode: binding.permMode,
182
+ ...(binding.profile !== null ? { profile: binding.profile } : {}),
183
+ };
184
+ try {
185
+ if (binding.sessionId !== null) {
186
+ await this.resume(params, binding.sessionId);
187
+ }
188
+ else {
189
+ await this.start(params);
190
+ }
191
+ }
192
+ catch (err) {
193
+ this.logger.error('reactivation failed', {
194
+ guildId,
195
+ channelId,
196
+ err: String(err),
197
+ });
198
+ throw new Error(`No active session for channel ${key}. Run /agent start first.`);
199
+ }
200
+ channel = this.active.get(key);
201
+ if (!channel) {
202
+ throw new Error(`No active session for channel ${key}. Run /agent start first.`);
203
+ }
161
204
  }
162
205
  const violation = this.findConfinementViolation(channel.cwd, turn);
163
206
  if (violation) {
@@ -279,9 +322,83 @@ export class SessionOrchestrator {
279
322
  allowedTools: perm.allowedTools,
280
323
  });
281
324
  // A binding with no backend sessionId cannot be resumed against a
282
- // specific id; skip it (the channel starts fresh on its next turn).
325
+ // specific id directly. Try to recover: ask the mode for its resumable
326
+ // catalog (Claude SDK listSessions, Codex ~/.codex index) and match on
327
+ // cwd. Falls back to the original skip when nothing lines up. This
328
+ // repairs bindings persisted before the first `onSessionIdReady`
329
+ // callback ever fired (pre-fix boots wrote sessionId=null for every
330
+ // channel).
283
331
  if (sessionId === null) {
284
- this.logger.warn('skipping resume: no sessionId', { guildId, channelId, mode });
332
+ let recovered = null;
333
+ try {
334
+ const candidates = (await agentMode.listResumable?.(ctx)) ?? [];
335
+ // A Codex resumed session records cwd='' (informational, Q4); such
336
+ // rows must NOT match an arbitrary channel — exclude them.
337
+ const match = candidates.find((s) => s.cwd !== '' && s.cwd === cwd) ?? null;
338
+ recovered = match?.sessionId ?? null;
339
+ }
340
+ catch (err) {
341
+ this.logger.warn('listResumable failed during boot recovery', {
342
+ guildId,
343
+ channelId,
344
+ mode,
345
+ err: String(err),
346
+ });
347
+ }
348
+ if (recovered === null) {
349
+ this.logger.warn('skipping resume: no sessionId and no recoverable candidate', {
350
+ guildId,
351
+ channelId,
352
+ mode,
353
+ });
354
+ continue;
355
+ }
356
+ this.logger.info('boot recovered sessionId from mode catalog', {
357
+ guildId,
358
+ channelId,
359
+ mode,
360
+ sessionId: recovered,
361
+ });
362
+ const recoveredSession = await agentMode.resume(ctx, recovered);
363
+ this.active.set(channelKey(guildId, channelId), {
364
+ guildId,
365
+ channelId,
366
+ mode,
367
+ cwd,
368
+ ownerId,
369
+ permMode,
370
+ session: recoveredSession,
371
+ queue: [],
372
+ running: false,
373
+ });
374
+ // Codex's resume(ctx, sessionId) sets this.sessionId in the constructor,
375
+ // so its onSessionIdReady callback will NOT fire on the next turn (the
376
+ // "first capture" guard). Persist the recovered id here so state.json
377
+ // is repaired on this same boot instead of relying on the callback.
378
+ this.channelRegistry.set({
379
+ guildId,
380
+ channelId,
381
+ mode: mode,
382
+ sessionId: recovered,
383
+ cwd,
384
+ ownerId,
385
+ permMode,
386
+ profile: binding.profile,
387
+ ...(binding.projectAuth !== undefined ? { projectAuth: binding.projectAuth } : {}),
388
+ });
389
+ this.auditLog.record({
390
+ actorId: ownerId,
391
+ roleTier: 'execute',
392
+ guildId,
393
+ channelId,
394
+ action: 'resume',
395
+ mode,
396
+ permMode,
397
+ cwd,
398
+ status: 'ok',
399
+ outcome: 'boot-recovered',
400
+ });
401
+ resumed++;
285
402
  continue;
286
403
  }
287
404
  const session = await agentMode.resume(ctx, sessionId);
@@ -404,6 +521,33 @@ export class SessionOrchestrator {
404
521
  audit: (entry) => {
405
522
  this.auditLog.record(entry);
406
523
  },
524
+ // A mode calls this the first time it captures a real backend sessionId
525
+ // (Claude system/init, Codex first turn result). Persist immediately so a
526
+ // channel that was saved with sessionId=null (start() persisted BEFORE the
527
+ // id was known) gets its id written and can resume across restarts.
528
+ onSessionIdReady: (sessionId) => {
529
+ const binding = this.channelRegistry.get(guildId, channelId);
530
+ if (!binding || binding.archived)
531
+ return;
532
+ if (binding.sessionId === sessionId)
533
+ return;
534
+ this.channelRegistry.set({
535
+ guildId,
536
+ channelId,
537
+ mode: binding.mode,
538
+ sessionId,
539
+ cwd: binding.cwd,
540
+ ownerId: binding.ownerId,
541
+ permMode: binding.permMode,
542
+ profile: binding.profile,
543
+ ...(binding.projectAuth !== undefined ? { projectAuth: binding.projectAuth } : {}),
544
+ });
545
+ this.logger.info('registry updated with backend sessionId', {
546
+ guildId,
547
+ channelId,
548
+ sessionId,
549
+ });
550
+ },
407
551
  };
408
552
  }
409
553
  // Build a MINIMAL read-only ModeContext for a mode's listResumable (resume UX): it
@@ -1 +1 @@
1
- {"version":3,"file":"sessionOrchestrator.js","sourceRoot":"","sources":["../../src/core/sessionOrchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionOrchestrator.js","sourceRoot":"","sources":["../../src/core/sessionOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@ import { t } from './i18n.js';
13
13
  // limit per message (the primary reply and a follow-up):
14
14
  // - Role tiers (3 role-selects) batch into a pending set and persist together on
15
15
  // the Save button — they share the primary message (3 selects + Save = 4 rows).
16
- // - Defaults (backend / model / permMode / locale selects) AUTO-SAVE on each
17
- // change: one changed field is written immediately. This lets the defaults
18
- // follow-up hold 4 selects = 4 rows with no Save button — respecting the budget.
16
+ // - Defaults (backend / model / effort / permMode / locale selects) AUTO-SAVE on
17
+ // each change: one changed field is written immediately. The defaults follow-up
18
+ // holds 5 selects with no Save button — exactly at Discord's 5-row budget.
19
19
  //
20
20
  // Codex home is NOT configured here: it resolves automatically to `~/.codex` (like
21
21
  // Claude's `~/.claude`) via the config default / resolveCodexHome. The actual PROJECT
@@ -28,6 +28,7 @@ const IDS = {
28
28
  roleReadOnly: 'config.role.readOnly',
29
29
  backend: 'config.default.backend',
30
30
  model: 'config.default.model',
31
+ effort: 'config.default.effort',
31
32
  permMode: 'config.default.permMode',
32
33
  locale: 'config.default.locale',
33
34
  save: 'config.save',
@@ -81,6 +82,10 @@ export class ConfigPanel {
81
82
  if (!input.value)
82
83
  return { kind: 'pending' };
83
84
  return this.autosaveModel(input.value);
85
+ case IDS.effort:
86
+ if (!input.value)
87
+ return { kind: 'pending' };
88
+ return this.autosaveEffort(input.value);
84
89
  case IDS.permMode:
85
90
  if (!input.value)
86
91
  return { kind: 'pending' };
@@ -115,6 +120,18 @@ export class ConfigPanel {
115
120
  this.patchDefaults({ claudeModel: model });
116
121
  return { kind: 'autosaved', notice: t('config.autosaved.model', { model }) };
117
122
  }
123
+ // Reasoning-effort auto-save. The persisted backend at write time picks the key:
124
+ // Codex → codexEffort, anything else → claudeEffort. Reads the SERVER override
125
+ // (may have been auto-saved earlier in this same panel session by the backend
126
+ // select); falls back to the panel-open default, which was already resolved
127
+ // global→server by the caller.
128
+ autosaveEffort(effort) {
129
+ const server = this.opts.configStore.loadServerConfig(this.opts.guildId);
130
+ const backend = server?.defaults?.mode ?? this.opts.defaults.backend;
131
+ const patch = backend === 'codex' ? { codexEffort: effort } : { claudeEffort: effort };
132
+ this.patchDefaults(patch);
133
+ return { kind: 'autosaved', notice: t('config.autosaved.effort', { effort }) };
134
+ }
118
135
  autosavePermMode(permMode) {
119
136
  this.patchDefaults({ permissionMode: permMode });
120
137
  return { kind: 'autosaved', notice: t('config.autosaved.permMode', { perm: t(`perm.${permMode}`) }) };
@@ -249,9 +266,9 @@ export class ConfigPanel {
249
266
  };
250
267
  }
251
268
  // Render the panel as plain component specs. `roleRows` (3 role tiers + Save = 4
252
- // rows) go on the primary reply; `defaultRows` (backend/model/permMode/locale
253
- // selects = 4 rows) go on a follow-up — both within Discord's 5-action-row-per-
254
- // message limit. Each defaults select marks its currently-saved option with
269
+ // rows) go on the primary reply; `defaultRows` (backend/model/effort/permMode/
270
+ // locale selects = 5 rows) go on a follow-up — both within Discord's 5-action-row-
271
+ // per-message limit. Each defaults select marks its currently-saved option with
255
272
  // `default: true` so the dropdown shows the REAL current value (not the last
256
273
  // option), and role-selects pre-select the tier's current roles. The adapter maps
257
274
  // these onto discord.js; tests assert on them directly.
@@ -281,6 +298,20 @@ export class ConfigPanel {
281
298
  default: m.value === d.model,
282
299
  })),
283
300
  };
301
+ const effortSelect = {
302
+ type: 'select',
303
+ customId: IDS.effort,
304
+ placeholder: t('config.default.effort.placeholder'),
305
+ // English identifiers from the catalog, not localized. Options reflect the CURRENT
306
+ // backend at panel-open time; a backend change in this same panel session persists
307
+ // but does not re-render the effort options (matches the model dropdown's snapshot
308
+ // behavior — reopen /config to refresh).
309
+ options: this.opts.efforts.map((e) => ({
310
+ label: e.label,
311
+ value: e.value,
312
+ default: e.value === d.effort,
313
+ })),
314
+ };
284
315
  const permSelect = {
285
316
  type: 'select',
286
317
  customId: IDS.permMode,
@@ -318,6 +349,7 @@ export class ConfigPanel {
318
349
  defaultRows: [
319
350
  { components: [backendSelect] },
320
351
  { components: [modelSelect] },
352
+ { components: [effortSelect] },
321
353
  { components: [permSelect] },
322
354
  { components: [localeSelect] },
323
355
  ],