copilot-hub 0.1.16 → 0.1.18

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.
@@ -120,6 +120,10 @@ async function handleWorkerRequest(message) {
120
120
  result = await runtime.reloadCapabilities(capabilityDefinitions);
121
121
  break;
122
122
  }
123
+ case "setProviderOptions": {
124
+ result = await runtime.setProviderOptions(payload);
125
+ break;
126
+ }
123
127
  case "setProjectRoot": {
124
128
  const projectRoot = String(payload.projectRoot ?? "").trim();
125
129
  if (!projectRoot) {
@@ -122,6 +122,10 @@ async function handleWorkerRequest(message) {
122
122
  result = await runtime.reloadCapabilities(capabilityDefinitions);
123
123
  break;
124
124
  }
125
+ case "setProviderOptions": {
126
+ result = await runtime.setProviderOptions(payload);
127
+ break;
128
+ }
125
129
  case "setProjectRoot": {
126
130
  const projectRoot = String(payload.projectRoot ?? "").trim();
127
131
  if (!projectRoot) {
@@ -245,6 +245,40 @@ export async function applyBotModelPolicy({ apiPost, botId, botState, model, })
245
245
  model,
246
246
  });
247
247
  }
248
+ export function getRuntimeModel(runtime) {
249
+ if (!runtime || typeof runtime.getProviderOptions !== "function") {
250
+ return null;
251
+ }
252
+ const options = runtime.getProviderOptions();
253
+ if (!isObject(options)) {
254
+ return null;
255
+ }
256
+ const model = String(options.model ?? "").trim();
257
+ return model || null;
258
+ }
259
+ export async function applyRuntimeModelPolicy({ runtime, model, }) {
260
+ if (!runtime || typeof runtime.setProviderOptions !== "function") {
261
+ throw new Error("Hub model update is not available on this runtime.");
262
+ }
263
+ await runtime.setProviderOptions({ model });
264
+ }
265
+ export function resolveSharedModel(models) {
266
+ let normalizedModel;
267
+ for (const entry of Array.isArray(models) ? models : []) {
268
+ const nextModel = String(entry ?? "").trim() || null;
269
+ if (normalizedModel === undefined) {
270
+ normalizedModel = nextModel;
271
+ continue;
272
+ }
273
+ if (normalizedModel !== nextModel) {
274
+ return { mode: "mixed" };
275
+ }
276
+ }
277
+ return {
278
+ mode: "uniform",
279
+ model: normalizedModel ?? null,
280
+ };
281
+ }
248
282
  export async function applyModelPolicyToBots({ apiPost, bots, model, }) {
249
283
  const updatedBotIds = [];
250
284
  const failures = [];
@@ -1,5 +1,5 @@
1
1
  import { randomBytes } from "node:crypto";
2
- import { applyBotModelPolicy, applyModelPolicyToBots, buildSessionModelOptions, fetchCodexModelOptions, formatModelButtonText, formatModelLabel, getBotPolicyState, parseSetModelAllCommand, parseSetModelCommand, resolveModelSelectionFromAction, } from "./hub-model-utils.js";
2
+ import { applyBotModelPolicy, applyModelPolicyToBots, applyRuntimeModelPolicy, buildSessionModelOptions, fetchCodexModelOptions, formatModelButtonText, formatModelLabel, getBotPolicyState, getRuntimeModel, parseSetModelAllCommand, parseSetModelCommand, resolveModelSelectionFromAction, resolveSharedModel, } from "./hub-model-utils.js";
3
3
  const MENU_TTL_MS = 15 * 60 * 1000;
4
4
  const FLOW_TTL_MS = 10 * 60 * 1000;
5
5
  const TELEGRAM_VERIFY_TIMEOUT_MS = 10_000;
@@ -214,7 +214,7 @@ export async function maybeHandleHubOpsCommand({ ctx, runtime, channelId, }) {
214
214
  .split(/\s+/)
215
215
  .filter(Boolean).length;
216
216
  if (tokenCount <= 1) {
217
- await renderGlobalModelMenu(ctx, { editMessage: false });
217
+ await renderGlobalModelMenu(ctx, { editMessage: false, runtime: runtime ?? null });
218
218
  return true;
219
219
  }
220
220
  const parsed = parseSetModelAllCommand(text);
@@ -223,27 +223,17 @@ export async function maybeHandleHubOpsCommand({ ctx, runtime, channelId, }) {
223
223
  return true;
224
224
  }
225
225
  const bots = await fetchBots();
226
- if (bots.length === 0) {
227
- await ctx.reply("No agents found.");
228
- return true;
229
- }
230
- const result = await applyModelPolicyToBots({
231
- apiPost,
226
+ const result = await applyGlobalModelSelection({
232
227
  bots,
233
228
  model: parsed.model,
229
+ runtime: runtime ?? null,
234
230
  });
235
- const modelLabel = parsed.model ? parsed.model : "auto (workspace default)";
236
- const lines = [
237
- `Model updated for all agents: ${modelLabel}`,
238
- `Updated: ${result.updatedBotIds.length}/${bots.length}`,
239
- ];
240
- if (result.failures.length > 0) {
241
- const failedIds = result.failures.map((entry) => entry.botId).filter(Boolean);
242
- lines.push(`Warnings: ${result.failures.length}`);
243
- if (failedIds.length > 0) {
244
- lines.push(`Failed: ${failedIds.join(", ")}`);
245
- }
231
+ if (result.totalTargets === 0) {
232
+ await ctx.reply("No agents found and hub model control is unavailable.");
233
+ return true;
246
234
  }
235
+ const modelLabel = parsed.model ? parsed.model : "auto (workspace default)";
236
+ const lines = buildGlobalModelUpdateLines({ modelLabel, result });
247
237
  lines.push("Change applies on next message while preserving conversation history.");
248
238
  await ctx.reply(lines.join("\n"));
249
239
  return true;
@@ -412,7 +402,7 @@ async function handleCodexSwitchFlow({ ctx, flowKey, flow, text, }) {
412
402
  return true;
413
403
  }
414
404
  }
415
- export async function maybeHandleHubOpsCallback({ ctx }) {
405
+ export async function maybeHandleHubOpsCallback({ ctx, runtime, }) {
416
406
  const rawData = String(ctx.callbackQuery?.data ?? "").trim();
417
407
  if (!rawData.startsWith("hub:")) {
418
408
  return false;
@@ -454,6 +444,7 @@ export async function maybeHandleHubOpsCallback({ ctx }) {
454
444
  await renderGlobalModelMenu(ctx, {
455
445
  sessionId: action.sessionId,
456
446
  editMessage: true,
447
+ runtime: runtime ?? null,
457
448
  });
458
449
  await answerCallbackQuerySafe(ctx);
459
450
  return true;
@@ -478,37 +469,37 @@ export async function maybeHandleHubOpsCallback({ ctx }) {
478
469
  await renderGlobalModelMenu(ctx, {
479
470
  sessionId: action.sessionId,
480
471
  editMessage: true,
472
+ runtime: runtime ?? null,
481
473
  notice: "Model options expired. Open /set_model_all again.",
482
474
  });
483
475
  await answerCallbackQuerySafe(ctx, "Model menu expired");
484
476
  return true;
485
477
  }
486
478
  const bots = await fetchBots();
487
- if (bots.length === 0) {
488
- await renderBotsMenu(ctx, { editMessage: true, notice: "No agents found." });
489
- await answerCallbackQuerySafe(ctx, "No agents");
490
- return true;
491
- }
492
- const result = await applyModelPolicyToBots({
493
- apiPost,
479
+ const result = await applyGlobalModelSelection({
494
480
  bots,
495
481
  model: selection.model,
482
+ runtime: runtime ?? null,
496
483
  });
497
- const lines = [
498
- `Model updated for all agents: ${selection.label}`,
499
- `Updated: ${result.updatedBotIds.length}/${bots.length}`,
500
- ];
501
- if (result.failures.length > 0) {
502
- const failedIds = result.failures.map((entry) => entry.botId).filter(Boolean);
503
- lines.push(`Warnings: ${result.failures.length}`);
504
- if (failedIds.length > 0) {
505
- lines.push(`Failed: ${failedIds.join(", ")}`);
506
- }
484
+ if (result.totalTargets === 0) {
485
+ await renderGlobalModelMenu(ctx, {
486
+ sessionId: action.sessionId,
487
+ editMessage: true,
488
+ runtime: runtime ?? null,
489
+ notice: "No agents found and hub model control is unavailable.",
490
+ });
491
+ await answerCallbackQuerySafe(ctx, "No targets");
492
+ return true;
507
493
  }
494
+ const lines = buildGlobalModelUpdateLines({
495
+ modelLabel: selection.label,
496
+ result,
497
+ });
508
498
  lines.push("Change applies on next message while preserving conversation history.");
509
499
  await renderGlobalModelMenu(ctx, {
510
500
  sessionId: action.sessionId,
511
501
  editMessage: true,
502
+ runtime: runtime ?? null,
512
503
  notice: lines.join("\n"),
513
504
  });
514
505
  await answerCallbackQuerySafe(ctx, "Model updated");
@@ -700,7 +691,7 @@ function buildHelpText(runtimeName) {
700
691
  "All agent actions start from that agent workspace.",
701
692
  "Model changes apply on next message and keep conversation history.",
702
693
  "/set_model opens a clickable agent->model flow.",
703
- "/set_model_all opens a clickable model list for all agents.",
694
+ "/set_model_all opens a clickable model list for all agents and the hub.",
704
695
  "",
705
696
  "For development tasks, send a normal message to the assistant.",
706
697
  ].join("\n");
@@ -854,9 +845,10 @@ function buildBotsMenuKeyboard(sessionId, bots) {
854
845
  rows.push([{ text: "Create agent", callback_data: "hub:create" }]);
855
846
  return rows;
856
847
  }
857
- async function renderGlobalModelMenu(ctx, { sessionId = "", editMessage = false, notice = "", } = {}) {
848
+ async function renderGlobalModelMenu(ctx, { sessionId = "", editMessage = false, runtime = null, notice = "", } = {}) {
858
849
  const bots = await fetchBots();
859
- if (bots.length === 0) {
850
+ const hubIncluded = isHubModelControlAvailable(runtime);
851
+ if (bots.length === 0 && !hubIncluded) {
860
852
  await renderBotsMenu(ctx, {
861
853
  editMessage,
862
854
  notice: notice || "No agents found.",
@@ -873,7 +865,7 @@ async function renderGlobalModelMenu(ctx, { sessionId = "", editMessage = false,
873
865
  });
874
866
  return;
875
867
  }
876
- const sharedModel = resolveSharedModelForBots(bots);
868
+ const sharedModel = resolveSharedModelForGlobalTargets(bots, runtime);
877
869
  const modelCatalog = await fetchCodexModelOptions(apiGet);
878
870
  const currentModel = sharedModel.mode === "uniform" ? (sharedModel.model ?? "") : "__mixed__";
879
871
  const modelOptions = buildSessionModelOptions({
@@ -886,11 +878,16 @@ async function renderGlobalModelMenu(ctx, { sessionId = "", editMessage = false,
886
878
  if (notice) {
887
879
  lines.push(notice, "");
888
880
  }
889
- lines.push("Global model for all agents:");
881
+ lines.push(hubIncluded ? "Global model for all agents and hub:" : "Global model for all agents:");
890
882
  lines.push(`agents: ${bots.length}`);
883
+ if (hubIncluded) {
884
+ lines.push("hub: included");
885
+ }
891
886
  lines.push(`current: ${sharedModel.mode === "uniform"
892
887
  ? formatModelLabel(sharedModel.model)
893
- : "mixed (agents use different models)"}`);
888
+ : hubIncluded
889
+ ? "mixed (agents and hub use different models)"
890
+ : "mixed (agents use different models)"}`);
894
891
  lines.push(modelCatalog.available
895
892
  ? `available models: ${modelCatalog.models.length}`
896
893
  : "available models: unavailable right now");
@@ -1281,24 +1278,66 @@ function parseMenuAction(rawData) {
1281
1278
  }
1282
1279
  return null;
1283
1280
  }
1284
- function resolveSharedModelForBots(bots) {
1285
- let normalizedModel;
1286
- for (const bot of bots) {
1287
- const rawModel = bot?.provider?.options?.model;
1288
- const nextModel = String(rawModel ?? "").trim() || null;
1289
- if (normalizedModel === undefined) {
1290
- normalizedModel = nextModel;
1291
- continue;
1281
+ function isHubModelControlAvailable(runtime) {
1282
+ return Boolean(runtime && typeof runtime.setProviderOptions === "function");
1283
+ }
1284
+ function resolveSharedModelForGlobalTargets(bots, runtime) {
1285
+ const models = bots.map((bot) => bot?.provider?.options?.model);
1286
+ if (runtime && typeof runtime.getProviderOptions === "function") {
1287
+ models.push(getRuntimeModel(runtime));
1288
+ }
1289
+ return resolveSharedModel(models);
1290
+ }
1291
+ async function applyGlobalModelSelection({ bots, model, runtime, }) {
1292
+ const hubIncluded = isHubModelControlAvailable(runtime);
1293
+ const botResult = await applyModelPolicyToBots({
1294
+ apiPost,
1295
+ bots,
1296
+ model,
1297
+ });
1298
+ let hubError = null;
1299
+ let hubUpdated = false;
1300
+ if (hubIncluded) {
1301
+ try {
1302
+ await applyRuntimeModelPolicy({
1303
+ runtime,
1304
+ model,
1305
+ });
1306
+ hubUpdated = true;
1292
1307
  }
1293
- if (normalizedModel !== nextModel) {
1294
- return { mode: "mixed" };
1308
+ catch (error) {
1309
+ hubError = sanitizeError(error);
1295
1310
  }
1296
1311
  }
1297
1312
  return {
1298
- mode: "uniform",
1299
- model: normalizedModel ?? null,
1313
+ updatedCount: botResult.updatedBotIds.length + (hubUpdated ? 1 : 0),
1314
+ totalTargets: bots.length + (hubIncluded ? 1 : 0),
1315
+ botFailures: botResult.failures,
1316
+ hubIncluded,
1317
+ hubError,
1300
1318
  };
1301
1319
  }
1320
+ function buildGlobalModelUpdateLines({ modelLabel, result, }) {
1321
+ const lines = [
1322
+ result.hubIncluded
1323
+ ? `Model updated for all agents and hub: ${modelLabel}`
1324
+ : `Model updated for all agents: ${modelLabel}`,
1325
+ `Updated: ${result.updatedCount}/${result.totalTargets}`,
1326
+ ];
1327
+ if (result.botFailures.length > 0 || result.hubError) {
1328
+ lines.push(`Warnings: ${result.botFailures.length + (result.hubError ? 1 : 0)}`);
1329
+ }
1330
+ if (result.botFailures.length > 0) {
1331
+ const failedIds = result.botFailures.map((entry) => entry.botId).filter(Boolean);
1332
+ if (failedIds.length > 0) {
1333
+ lines.push(`Failed agents: ${failedIds.join(", ")}`);
1334
+ }
1335
+ }
1336
+ if (result.hubError) {
1337
+ lines.push(`Hub warning: ${result.hubError}`);
1338
+ }
1339
+ return lines;
1340
+ }
1302
1341
  function parseMenuIndex(value) {
1303
1342
  const index = Number.parseInt(String(value ?? ""), 10);
1304
1343
  if (!Number.isFinite(index) || index < 0 || index > 9999) {
@@ -251,6 +251,7 @@ export class TelegramChannel {
251
251
  }
252
252
  const hubHandled = await maybeHandleHubOpsCallback({
253
253
  ctx: context,
254
+ runtime: this.runtime,
254
255
  });
255
256
  if (hubHandled) {
256
257
  return;
@@ -91,7 +91,7 @@ test("fetchCodexModelOptions normalizes model catalog from API", async () => {
91
91
  });
92
92
  });
93
93
  test("policy resolvers keep safe defaults", async () => {
94
- const { applyBotModelPolicy, applyModelPolicyToBots, getBotPolicyState, resolveApprovalPolicy, resolveSandboxMode, } = await loadUtils();
94
+ const { applyBotModelPolicy, applyModelPolicyToBots, applyRuntimeModelPolicy, getRuntimeModel, getBotPolicyState, resolveSharedModel, resolveApprovalPolicy, resolveSandboxMode, } = await loadUtils();
95
95
  assert.equal(resolveSandboxMode("read-only"), "read-only");
96
96
  assert.equal(resolveSandboxMode("invalid"), "danger-full-access");
97
97
  assert.equal(resolveApprovalPolicy("on-request"), "on-request");
@@ -167,4 +167,28 @@ test("policy resolvers keep safe defaults", async () => {
167
167
  assert.equal(batchResult.failures.length, 1);
168
168
  assert.equal(batchResult.failures[0].botId, "worker-b");
169
169
  assert.equal(posted.length, 2);
170
+ assert.equal(getRuntimeModel({
171
+ getProviderOptions: () => ({
172
+ model: "gpt-5",
173
+ }),
174
+ }), "gpt-5");
175
+ let runtimePayload = null;
176
+ await applyRuntimeModelPolicy({
177
+ runtime: {
178
+ setProviderOptions: async (payload) => {
179
+ runtimePayload = payload;
180
+ },
181
+ },
182
+ model: null,
183
+ });
184
+ assert.deepEqual(runtimePayload, {
185
+ model: null,
186
+ });
187
+ assert.deepEqual(resolveSharedModel(["gpt-5", "gpt-5", "gpt-5"]), {
188
+ mode: "uniform",
189
+ model: "gpt-5",
190
+ });
191
+ assert.deepEqual(resolveSharedModel(["gpt-5", null]), {
192
+ mode: "mixed",
193
+ });
170
194
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "copilot-hub",
3
- "version": "0.1.16",
3
+ "version": "0.1.18",
4
4
  "description": "Copilot Hub CLI and runtime bundle",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -80,6 +80,7 @@ export declare class AgentSupervisor {
80
80
  lastHeartbeatAt: string | null;
81
81
  lastHeartbeatError: string | null;
82
82
  statusCache: WorkerStatusBase;
83
+ expectedExitChildren: WeakSet<ChildProcess>;
83
84
  constructor({ botConfig, providerDefaults, turnActivityTimeoutMs, maxMessages, webPublicBaseUrl, workerScriptPath, onKernelAction, }: {
84
85
  botConfig: BotConfig;
85
86
  providerDefaults: ProviderDefaults;
@@ -1,4 +1,5 @@
1
1
  import { fork } from "node:child_process";
2
+ import { mergeProviderOptions } from "./provider-options.js";
2
3
  const REQUEST_TIMEOUT_MS = 15000;
3
4
  const HEARTBEAT_TIMEOUT_MS = 4000;
4
5
  const WORKER_READY_TIMEOUT_MS = 30000;
@@ -27,6 +28,7 @@ export class AgentSupervisor {
27
28
  lastHeartbeatAt;
28
29
  lastHeartbeatError;
29
30
  statusCache;
31
+ expectedExitChildren;
30
32
  constructor({ botConfig, providerDefaults, turnActivityTimeoutMs, maxMessages, webPublicBaseUrl, workerScriptPath, onKernelAction = null, }) {
31
33
  this.botConfig = botConfig;
32
34
  this.providerDefaults = providerDefaults;
@@ -47,6 +49,7 @@ export class AgentSupervisor {
47
49
  this.recoveryPromise = null;
48
50
  this.lastHeartbeatAt = null;
49
51
  this.lastHeartbeatError = null;
52
+ this.expectedExitChildren = new WeakSet();
50
53
  this.statusCache = createInitialStatus(botConfig);
51
54
  }
52
55
  get id() {
@@ -91,6 +94,10 @@ export class AgentSupervisor {
91
94
  await this.startingPromise;
92
95
  return;
93
96
  }
97
+ if (this.restartTimer) {
98
+ clearTimeout(this.restartTimer);
99
+ this.restartTimer = null;
100
+ }
94
101
  this.startingPromise = this.#spawnWorker();
95
102
  try {
96
103
  await this.startingPromise;
@@ -144,26 +151,10 @@ export class AgentSupervisor {
144
151
  const previousProvider = previousConfig?.provider && typeof previousConfig.provider === "object"
145
152
  ? previousConfig.provider
146
153
  : { kind: "codex", options: {} };
147
- const mergedOptions = {
148
- ...(previousProvider.options && typeof previousProvider.options === "object"
149
- ? previousProvider.options
150
- : {}),
151
- };
152
- if (typeof nextOptions?.sandboxMode === "string" && nextOptions.sandboxMode.trim()) {
153
- mergedOptions.sandboxMode = nextOptions.sandboxMode.trim();
154
- }
155
- if (typeof nextOptions?.approvalPolicy === "string" && nextOptions.approvalPolicy.trim()) {
156
- mergedOptions.approvalPolicy = nextOptions.approvalPolicy.trim();
157
- }
158
- if (Object.prototype.hasOwnProperty.call(nextOptions ?? {}, "model")) {
159
- const normalizedModel = String(nextOptions?.model ?? "").trim();
160
- if (normalizedModel) {
161
- mergedOptions.model = normalizedModel;
162
- }
163
- else {
164
- delete mergedOptions.model;
165
- }
166
- }
154
+ const previousProviderOptions = previousProvider.options && typeof previousProvider.options === "object"
155
+ ? { ...previousProvider.options }
156
+ : {};
157
+ const mergedOptions = mergeProviderOptions(previousProviderOptions, nextOptions);
167
158
  this.botConfig = {
168
159
  ...previousConfig,
169
160
  provider: {
@@ -173,11 +164,34 @@ export class AgentSupervisor {
173
164
  },
174
165
  };
175
166
  try {
176
- const status = await this.forceRestart("provider options updated");
167
+ let status;
168
+ if (this.child && this.child.connected) {
169
+ status = await this.request("setProviderOptions", mergedOptions);
170
+ }
171
+ else if (this.desiredChannelsRunning) {
172
+ await this.ensureWorker();
173
+ status = await this.request("setProviderOptions", mergedOptions);
174
+ }
175
+ else {
176
+ return this.getStatus();
177
+ }
177
178
  this.#updateStatus(status);
178
179
  return this.getStatus();
179
180
  }
180
181
  catch (error) {
182
+ this.botConfig = previousConfig;
183
+ try {
184
+ if (this.child && this.child.connected) {
185
+ const rollbackStatus = await this.request("setProviderOptions", previousProviderOptions);
186
+ this.#updateStatus(rollbackStatus);
187
+ }
188
+ else if (this.desiredChannelsRunning) {
189
+ await this.forceRestart("provider options rollback");
190
+ }
191
+ }
192
+ catch {
193
+ // Best effort rollback only.
194
+ }
181
195
  if (isWorkerReadyTimeoutError(error)) {
182
196
  const recoveredStatus = await waitForWorkerRecovery(this).catch(() => null);
183
197
  if (recoveredStatus) {
@@ -185,13 +199,6 @@ export class AgentSupervisor {
185
199
  return this.getStatus();
186
200
  }
187
201
  }
188
- this.botConfig = previousConfig;
189
- try {
190
- await this.forceRestart("provider options rollback");
191
- }
192
- catch {
193
- // Best effort rollback only.
194
- }
195
202
  throw error;
196
203
  }
197
204
  }
@@ -259,6 +266,7 @@ export class AgentSupervisor {
259
266
  const child = this.child;
260
267
  if (child && child.connected) {
261
268
  this.shutdownRequested = true;
269
+ this.expectedExitChildren.add(child);
262
270
  try {
263
271
  child.kill("SIGKILL");
264
272
  }
@@ -302,6 +310,9 @@ export class AgentSupervisor {
302
310
  // Continue hard-stop path.
303
311
  }
304
312
  const child = this.child;
313
+ if (child) {
314
+ this.expectedExitChildren.add(child);
315
+ }
305
316
  this.child = null;
306
317
  try {
307
318
  child?.kill("SIGTERM");
@@ -371,13 +382,13 @@ export class AgentSupervisor {
371
382
  process.stderr.write(chunk);
372
383
  });
373
384
  child.on("message", (message) => {
374
- this.#handleWorkerMessage(message);
385
+ this.#handleWorkerMessage(child, message);
375
386
  });
376
387
  child.on("exit", (code, signal) => {
377
- this.#handleWorkerExit({ code, signal });
388
+ this.#handleWorkerExit(child, { code, signal });
378
389
  });
379
390
  child.on("error", (error) => {
380
- this.#rejectAllPending(error);
391
+ this.#handleWorkerError(child, error);
381
392
  });
382
393
  await waitForWorkerReady(this, child);
383
394
  if (this.desiredChannelsRunning) {
@@ -387,7 +398,10 @@ export class AgentSupervisor {
387
398
  }
388
399
  await this.refreshStatus();
389
400
  }
390
- #handleWorkerMessage(message) {
401
+ #handleWorkerMessage(child, message) {
402
+ if (child !== this.child) {
403
+ return;
404
+ }
391
405
  const record = asRecord(message);
392
406
  if (!record.type) {
393
407
  return;
@@ -470,13 +484,21 @@ export class AgentSupervisor {
470
484
  // Ignore response send errors.
471
485
  }
472
486
  }
473
- #handleWorkerExit({ code, signal, }) {
474
- if (this.child) {
475
- this.child = null;
487
+ #handleWorkerError(child, error) {
488
+ if (child !== this.child) {
489
+ return;
476
490
  }
491
+ this.#rejectAllPending(error);
492
+ }
493
+ #handleWorkerExit(child, { code, signal, }) {
494
+ const expectedExit = this.expectedExitChildren.delete(child);
495
+ if (child !== this.child) {
496
+ return;
497
+ }
498
+ this.child = null;
477
499
  this.#rejectAllPending(new Error(`Worker '${this.id}' exited (code=${String(code ?? "null")}, signal=${String(signal ?? "null")}).`));
478
500
  this.#setOfflineStatus();
479
- if (this.shutdownRequested) {
501
+ if (this.shutdownRequested || expectedExit) {
480
502
  return;
481
503
  }
482
504
  const delayMs = calculateRestartDelay(this.restartAttempt);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-supervisor.js","sourceRoot":"","sources":["../src/agent-supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAqB,MAAM,oBAAoB,CAAC;AAE7D,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAC7C,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAwF7C,MAAM,OAAO,eAAe;IAC1B,SAAS,CAAY;IACrB,gBAAgB,CAAmB;IACnC,qBAAqB,CAAS;IAC9B,WAAW,CAAS;IACpB,gBAAgB,CAAS;IACzB,gBAAgB,CAAS;IACzB,cAAc,CAA6B;IAC3C,KAAK,CAAsB;IAC3B,eAAe,CAAuB;IACtC,iBAAiB,CAAU;IAC3B,YAAY,CAAwB;IACpC,cAAc,CAAS;IACvB,aAAa,CAAS;IACtB,eAAe,CAA8B;IAC7C,sBAAsB,CAAU;IAChC,iBAAiB,CAAmC;IACpD,eAAe,CAAuB;IACtC,eAAe,CAAgB;IAC/B,kBAAkB,CAAgB;IAClC,WAAW,CAAmB;IAE9B,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GAAG,IAAI,GAStB;QACC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QAEnF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO;YACL,GAAG,IAAI,CAAC,WAAW;YACnB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,KAAK,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC9E,gDAAgD;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAiB;QAC1C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,QAAQ,GAKT;QACC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE;YAC5C,QAAQ;YACR,UAAU;YACV,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,gBAAyB;QACvC,IAAI,CAAC,SAAS,GAAG;YACf,GAAG,IAAI,CAAC,SAAS;YACjB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;SACtE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAoC;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,MAAM,gBAAgB,GACpB,cAAc,EAAE,QAAQ,IAAI,OAAO,cAAc,CAAC,QAAQ,KAAK,QAAQ;YACrE,CAAC,CAAC,cAAc,CAAC,QAAQ;YACzB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG;YACpB,GAAG,CAAC,gBAAgB,CAAC,OAAO,IAAI,OAAO,gBAAgB,CAAC,OAAO,KAAK,QAAQ;gBAC1E,CAAC,CAAC,gBAAgB,CAAC,OAAO;gBAC1B,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,IAAI,OAAO,WAAW,EAAE,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACnF,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,WAAW,EAAE,cAAc,KAAK,QAAQ,IAAI,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YACzF,aAAa,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;YACrE,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAChE,IAAI,eAAe,EAAE,CAAC;gBACpB,aAAa,CAAC,KAAK,GAAG,eAAe,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,OAAO,aAAa,CAAC,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,GAAG;YACf,GAAG,cAAc;YACjB,QAAQ,EAAE;gBACR,GAAG,gBAAgB;gBACnB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO;gBAChE,OAAO,EAAE,aAAa;aACvB;SACF,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;YACnE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC5E,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;oBACpC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,mBAA4B,IAAI;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;QACnD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAS,GAAG,kBAAkB;QAChD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EACd,SAAS,GAAG,oBAAoB,MAG9B,EAAE;QACJ,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACnD,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBACxE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,gBAAgB;QAC1C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC;oBACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,sBAAsB;gBACxB,CAAC;gBACD,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC7C,uFAAuF;gBACzF,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,MAAM,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,eAAe,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,CACL,MAAc,EACd,UAAmB,IAAI,EACvB,SAAS,GAAG,kBAAkB;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,MAAM,qBAAqB,SAAS,KAAK,CAAC,CAAC,CAAC;YAClF,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE;gBAClC,OAAO;gBACP,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,SAAS;oBACf,SAAS;oBACT,MAAM;oBACN,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,MAAM,kBAAkB,GACtB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAE,EAAE,WAAW,EAAE,IAAI,EAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE;YAC5C,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrD,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBACzE,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBAClE,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC5C,yBAAyB,EAAE,IAAI,CAAC,gBAAgB;gBAChD,+BAA+B,EAAE,MAAM,CAAC,kBAAkB,CAAC;aAC5D;YACD,GAAG,kBAAkB;YACrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;SACzC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAgB,EAAE,EAAE;YACvC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAmB,EAAE,MAA6B,EAAE,EAAE;YACtE,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,MAAM,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAA+B,CAAC;YACjD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,MAA4B,CAAC;YAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,oBAAoB,CAAC,MAAoC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAmC;QAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC;gBACvB,SAAS;gBACT,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,2CAA2C;aACnD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;gBACvC,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBACnC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;aACpC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC;gBACvB,SAAS;gBACT,EAAE,EAAE,IAAI;gBACR,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,mBAAmB,CAAC;gBACvB,SAAS;gBACT,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,EAClB,SAAS,EACT,EAAE,EACF,MAAM,GAAG,IAAI,EACb,KAAK,GAAG,IAAI,GAMb;QACC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,gBAAgB;gBACtB,SAAS;gBACT,EAAE;gBACF,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,EAChB,IAAI,EACJ,MAAM,GAIP;QACC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,iBAAiB,CACpB,IAAI,KAAK,CACP,WAAW,IAAI,CAAC,EAAE,kBAAkB,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CACnG,CACF,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,4BAA4B,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,KAAc;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,MAAe;QAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GACX,OAAO,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAC9F,IAAI,CAAC,WAAW,GAAG;YACjB,GAAG,IAAI,CAAC,WAAW;YACnB,GAAG,YAAY;YACf,OAAO;SACR,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,WAAW,GAAG;YACjB,GAAG,IAAI,CAAC,WAAW;YACnB,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;CACF;AAED,KAAK,UAAU,kBAAkB,CAAC,UAA2B,EAAE,KAAmB;IAChF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,uBAAuB,CAAC;IAE1C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,+BAA+B,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,CAAC,EAAE,iCAAiC,SAAS,KAAK,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAoB;IAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QAC5B,OAAO,EAAE,SAAS,CAAC,OAAO,KAAK,KAAK;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;QACvC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI,QAAQ,CAAC;QACpD,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC;QACtD,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC;QAC9C,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,KAAK;QACtB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;QAC9C,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;QAClC,YAAY,EAAE;YACZ,OAAO,EAAE,YAAY,CAAC,OAAO,KAAK,IAAI;YACtC,cAAc,EAAE,mBAAmB,CAAC,YAAY,CAAC,cAAc,CAAC;YAChE,cAAc,EAAE,mBAAmB,CAAC,YAAY,CAAC,cAAc,CAAC;SACjE;QACD,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA0B,EAAE,SAAiB;IACrE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,SAAS,KAAK,CAAC,CAAC,CAAC;QACxE,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,UAA2B;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,0BAA0B,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;YAC/E,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,WAAW,UAAU,CAAC,EAAE,4BAA4B,0BAA0B,2BAA2B,CAC1G,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC/C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK;aACT,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"agent-supervisor.js","sourceRoot":"","sources":["../src/agent-supervisor.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,8 @@ type ChannelRuntime = {
110
110
  runtimeName: string;
111
111
  getWorkspaceRoot: () => string;
112
112
  buildWebBotUrl: () => string;
113
+ getProviderOptions: () => Record<string, unknown>;
114
+ setProviderOptions: (options: Record<string, unknown>) => Promise<BotRuntimeStatus>;
113
115
  refreshProviderSession: (reason?: string) => Promise<{
114
116
  refreshed: boolean;
115
117
  channelsRestarted: boolean;
@@ -206,6 +208,7 @@ export declare class BotRuntime {
206
208
  channelsRestarted: boolean;
207
209
  reason: string;
208
210
  }>;
211
+ setProviderOptions(nextOptions: Record<string, unknown>): Promise<BotRuntimeStatus>;
209
212
  resetWebThread(): Promise<ConversationThreadPayload>;
210
213
  listPendingApprovals(threadId?: string): Promise<unknown[]>;
211
214
  resolvePendingApproval({ threadId, approvalId, decision, }: RuntimeApprovalPayload): Promise<unknown>;
@@ -223,6 +226,7 @@ export declare class BotRuntime {
223
226
  assistantText: string;
224
227
  } & Record<string, unknown>>;
225
228
  getStatus(): BotRuntimeStatus;
229
+ getProviderOptions(): Record<string, unknown>;
226
230
  reloadCapabilities(nextDefinitions?: unknown): Promise<BotRuntimeStatus>;
227
231
  onApprovalRequested(approval: Record<string, unknown>): Promise<void>;
228
232
  buildWebBotUrl(): string;
@@ -4,6 +4,7 @@ import { createChannelAdapter } from "./channel-factory.js";
4
4
  import { CapabilityManager } from "./capability-manager.js";
5
5
  import { KERNEL_VERSION } from "./kernel-version.js";
6
6
  import { createProjectFingerprint } from "./project-fingerprint.js";
7
+ import { mergeProviderOptions } from "./provider-options.js";
7
8
  import { JsonStateStore } from "./state-store.js";
8
9
  import { createAssistantProvider } from "./provider-factory.js";
9
10
  const DEFAULT_WEB_THREAD_SUFFIX = "web-main";
@@ -85,20 +86,8 @@ export class BotRuntime {
85
86
  this.store = new JsonStateStore(stateFilePath);
86
87
  await this.store.init();
87
88
  await this.#ensureStoreFingerprint();
88
- this.provider = createAssistantProvider({
89
- providerConfig: this.config.provider,
90
- providerDefaults: this.providerDefaults,
91
- workspaceRoot: this.projectRoot,
92
- turnActivityTimeoutMs: this.turnActivityTimeoutMs,
93
- });
94
- this.engine = new ConversationEngine({
95
- store: this.store,
96
- assistantProvider: this.provider,
97
- projectRoot: this.projectRoot,
98
- turnActivityTimeoutMs: this.turnActivityTimeoutMs,
99
- maxMessages: this.maxMessages,
100
- onApprovalRequested: (approval) => this.onApprovalRequested(approval),
101
- });
89
+ this.provider = this.#createProvider();
90
+ this.engine = this.#createConversationEngine(this.provider);
102
91
  this.capabilityManager = new CapabilityManager({
103
92
  runtimeId: this.id,
104
93
  kernelVersion: KERNEL_VERSION,
@@ -171,18 +160,51 @@ export class BotRuntime {
171
160
  }
172
161
  }
173
162
  async refreshProviderSession(reason = "manual provider session refresh") {
174
- const hadRunningChannels = this.channels.some((channel) => channel.getStatus().running);
175
- await this.shutdown();
176
163
  await this.ensureInitialized();
177
- if (hadRunningChannels) {
178
- await this.startChannels();
179
- }
164
+ await this.#recreateProviderSession();
180
165
  return {
181
166
  refreshed: true,
182
- channelsRestarted: hadRunningChannels,
167
+ channelsRestarted: false,
183
168
  reason: String(reason ?? "manual provider session refresh"),
184
169
  };
185
170
  }
171
+ async setProviderOptions(nextOptions) {
172
+ const previousProvider = {
173
+ kind: String(this.config.provider?.kind ?? "codex").trim() || "codex",
174
+ options: { ...asRecord(this.config.provider?.options) },
175
+ };
176
+ const nextProvider = {
177
+ ...previousProvider,
178
+ options: mergeProviderOptions(previousProvider.options, nextOptions),
179
+ };
180
+ this.config = {
181
+ ...this.config,
182
+ provider: nextProvider,
183
+ };
184
+ if (!this.initPromise && !this.store && !this.engine && !this.provider) {
185
+ return this.getStatus();
186
+ }
187
+ try {
188
+ await this.ensureInitialized();
189
+ await this.#recreateProviderSession();
190
+ return this.getStatus();
191
+ }
192
+ catch (error) {
193
+ this.config = {
194
+ ...this.config,
195
+ provider: previousProvider,
196
+ };
197
+ try {
198
+ if (this.store || this.engine || this.provider) {
199
+ await this.#recreateProviderSession();
200
+ }
201
+ }
202
+ catch {
203
+ // Best effort rollback only.
204
+ }
205
+ throw error;
206
+ }
207
+ }
186
208
  async resetWebThread() {
187
209
  await this.ensureInitialized();
188
210
  return this.#requireEngine().resetThread(this.webThreadId);
@@ -291,6 +313,9 @@ export class BotRuntime {
291
313
  channels: this.channels.map((channel) => channel.getStatus()),
292
314
  };
293
315
  }
316
+ getProviderOptions() {
317
+ return { ...asRecord(this.config.provider?.options) };
318
+ }
294
319
  async reloadCapabilities(nextDefinitions = null) {
295
320
  await this.ensureInitialized();
296
321
  if (Array.isArray(nextDefinitions)) {
@@ -348,6 +373,8 @@ export class BotRuntime {
348
373
  runtimeName: this.name,
349
374
  getWorkspaceRoot: () => this.projectRoot,
350
375
  buildWebBotUrl: () => this.buildWebBotUrl(),
376
+ getProviderOptions: () => this.getProviderOptions(),
377
+ setProviderOptions: (options) => this.setProviderOptions(options),
351
378
  refreshProviderSession: (reason) => this.refreshProviderSession(reason),
352
379
  isKernelControlEnabled: () => this.isKernelControlEnabled(),
353
380
  executeKernelAction: (payload) => this.executeKernelAction(payload),
@@ -409,6 +436,40 @@ export class BotRuntime {
409
436
  }
410
437
  return this.capabilityManager;
411
438
  }
439
+ #createProvider() {
440
+ return createAssistantProvider({
441
+ providerConfig: this.config.provider,
442
+ providerDefaults: this.providerDefaults,
443
+ workspaceRoot: this.projectRoot,
444
+ turnActivityTimeoutMs: this.turnActivityTimeoutMs,
445
+ });
446
+ }
447
+ #createConversationEngine(provider) {
448
+ return new ConversationEngine({
449
+ store: this.#requireStore(),
450
+ assistantProvider: provider,
451
+ projectRoot: this.projectRoot,
452
+ turnActivityTimeoutMs: this.turnActivityTimeoutMs,
453
+ maxMessages: this.maxMessages,
454
+ onApprovalRequested: (approval) => this.onApprovalRequested(approval),
455
+ });
456
+ }
457
+ async #recreateProviderSession() {
458
+ await this.ensureInitialized();
459
+ const previousEngine = this.engine;
460
+ const previousProvider = this.provider;
461
+ this.engine = null;
462
+ this.provider = null;
463
+ if (previousEngine) {
464
+ await previousEngine.shutdown();
465
+ }
466
+ else if (previousProvider) {
467
+ await previousProvider.shutdown();
468
+ }
469
+ this.provider = this.#createProvider();
470
+ this.engine = this.#createConversationEngine(this.provider);
471
+ await this.#requireStore().ensureThread(this.webThreadId);
472
+ }
412
473
  }
413
474
  function asRecord(value) {
414
475
  return value && typeof value === "object" ? value : {};
@@ -1 +1 @@
1
- {"version":3,"file":"bot-runtime.js","sourceRoot":"","sources":["../src/bot-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-runtime.js","sourceRoot":"","sources":["../src/bot-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function mergeProviderOptions(currentOptions: unknown, nextOptions: unknown): Record<string, unknown>;
@@ -0,0 +1,47 @@
1
+ function asRecord(value) {
2
+ return value && typeof value === "object" ? value : {};
3
+ }
4
+ export function mergeProviderOptions(currentOptions, nextOptions) {
5
+ const merged = {
6
+ ...asRecord(currentOptions),
7
+ };
8
+ for (const [key, rawValue] of Object.entries(asRecord(nextOptions))) {
9
+ if (key === "model") {
10
+ const normalizedModel = normalizeModel(rawValue);
11
+ if (normalizedModel) {
12
+ merged.model = normalizedModel;
13
+ }
14
+ else {
15
+ delete merged.model;
16
+ }
17
+ continue;
18
+ }
19
+ if (typeof rawValue === "string") {
20
+ const normalizedValue = rawValue.trim();
21
+ if (!normalizedValue) {
22
+ continue;
23
+ }
24
+ merged[key] = normalizedValue;
25
+ continue;
26
+ }
27
+ if (rawValue !== undefined) {
28
+ merged[key] = rawValue;
29
+ }
30
+ }
31
+ return merged;
32
+ }
33
+ function normalizeModel(value) {
34
+ if (value === null || value === undefined) {
35
+ return null;
36
+ }
37
+ const normalized = String(value).trim();
38
+ if (!normalized) {
39
+ return null;
40
+ }
41
+ const keyword = normalized.toLowerCase();
42
+ if (keyword === "auto" || keyword === "default") {
43
+ return null;
44
+ }
45
+ return normalized;
46
+ }
47
+ //# sourceMappingURL=provider-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-options.js","sourceRoot":"","sources":["../src/provider-options.ts"],"names":[],"mappings":"AAAA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,cAAuB,EACvB,WAAoB;IAEpB,MAAM,MAAM,GAAG;QACb,GAAG,QAAQ,CAAC,cAAc,CAAC;KAC5B,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}