@matthias-hausberger/beige 1.0.6 → 1.0.7

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/dist/cli.js +14 -7
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config/schema.d.ts +8 -0
  4. package/dist/config/schema.d.ts.map +1 -1
  5. package/dist/config/schema.js +11 -0
  6. package/dist/config/schema.js.map +1 -1
  7. package/dist/gateway/agent-manager.d.ts +13 -2
  8. package/dist/gateway/agent-manager.d.ts.map +1 -1
  9. package/dist/gateway/agent-manager.js +62 -32
  10. package/dist/gateway/agent-manager.js.map +1 -1
  11. package/dist/gateway/api.d.ts.map +1 -1
  12. package/dist/gateway/api.js +17 -7
  13. package/dist/gateway/api.js.map +1 -1
  14. package/dist/gateway/audit.d.ts +22 -2
  15. package/dist/gateway/audit.d.ts.map +1 -1
  16. package/dist/gateway/audit.js +29 -10
  17. package/dist/gateway/audit.js.map +1 -1
  18. package/dist/gateway/gateway.d.ts.map +1 -1
  19. package/dist/gateway/gateway.js +4 -1
  20. package/dist/gateway/gateway.js.map +1 -1
  21. package/dist/gateway/log-rotation.d.ts +44 -0
  22. package/dist/gateway/log-rotation.d.ts.map +1 -0
  23. package/dist/gateway/log-rotation.js +79 -0
  24. package/dist/gateway/log-rotation.js.map +1 -0
  25. package/dist/gateway/logger.d.ts +2 -0
  26. package/dist/gateway/logger.d.ts.map +1 -1
  27. package/dist/gateway/logger.js +2 -0
  28. package/dist/gateway/logger.js.map +1 -1
  29. package/dist/gateway/sessions.d.ts +22 -0
  30. package/dist/gateway/sessions.d.ts.map +1 -1
  31. package/dist/gateway/sessions.js +43 -0
  32. package/dist/gateway/sessions.js.map +1 -1
  33. package/dist/plugins/context.d.ts.map +1 -1
  34. package/dist/plugins/context.js +6 -0
  35. package/dist/plugins/context.js.map +1 -1
  36. package/dist/plugins/types.d.ts +16 -0
  37. package/dist/plugins/types.d.ts.map +1 -1
  38. package/dist/socket/server.d.ts.map +1 -1
  39. package/dist/socket/server.js +8 -2
  40. package/dist/socket/server.js.map +1 -1
  41. package/dist/tools/core.js +33 -13
  42. package/dist/tools/core.js.map +1 -1
  43. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -26,13 +26,9 @@ import { runSetup } from "./install.js";
26
26
  import { beigeDir } from "./paths.js";
27
27
  import { installPlugins, removePlugin, updatePlugin, updateAllPlugins, listPluginsFromConfig, } from "./plugins/installer.js";
28
28
  // ── Timestamp helpers ────────────────────────────────────────────────
29
- /** Returns a local-time HH:MM:SS prefix, e.g. "14:03:07". */
29
+ /** Returns a full ISO-8601 timestamp prefix, e.g. "2026-03-29T14:03:07.123Z". */
30
30
  function timestampPrefix() {
31
- const d = new Date();
32
- const hh = String(d.getHours()).padStart(2, "0");
33
- const mm = String(d.getMinutes()).padStart(2, "0");
34
- const ss = String(d.getSeconds()).padStart(2, "0");
35
- return `${hh}:${mm}:${ss}`;
31
+ return new Date().toISOString();
36
32
  }
37
33
  // Save original stderr.write before wrapping (for immediate flush on shutdown)
38
34
  const originalStderrWrite = process.stderr.write.bind(process.stderr);
@@ -276,6 +272,12 @@ async function cmdGatewayStart(configPath, foreground, timeoutMs) {
276
272
  const host = config.gateway?.host ?? "127.0.0.1";
277
273
  ensureDirs();
278
274
  const logFile = getLogFile();
275
+ // Rotate the previous run's log before opening a fresh file.
276
+ // In daemon mode stdout/stderr are tied to an open fd, so mid-run rotation
277
+ // isn't feasible — rotating on startup is the clean alternative.
278
+ const { rotateFile } = await import("./gateway/log-rotation.js");
279
+ const logMaxFiles = config.gateway?.log?.maxFiles;
280
+ rotateFile(logFile, logMaxFiles);
279
281
  const logFd = openSync(logFile, "a");
280
282
  const isTs = process.argv[1].endsWith(".ts");
281
283
  const spawnArgs = isTs
@@ -320,7 +322,12 @@ async function cmdGatewayStart(configPath, foreground, timeoutMs) {
320
322
  // When running in foreground mode we also tee every line to gateway.log so
321
323
  // the persistent log file always contains a full record of the run.
322
324
  ensureDirs();
323
- installTimestampInjector(getLogFile());
325
+ // Only tee to the log file when stdout is a real TTY (i.e. the user ran
326
+ // `beige gateway start --foreground` directly). When the gateway is
327
+ // launched as a daemon the child's stdout/stderr are already redirected to
328
+ // logFd (the log file), so passing logFilePath here would cause every line
329
+ // to be written twice — once via appendFileSync and once via the fd redirect.
330
+ installTimestampInjector(process.stdout.isTTY ? getLogFile() : undefined);
324
331
  const { loadConfig } = await import("./config/loader.js");
325
332
  console.log(`[BEIGE] Loading config from: ${resolve(configPath)}`);
326
333
  const config = loadConfig(configPath);
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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"}
@@ -59,6 +59,10 @@ declare const GatewayServerConfig: import("@sinclair/typebox").TObject<{
59
59
  host: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
60
60
  port: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
61
61
  logFile: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
62
+ log: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
63
+ maxSizeBytes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
64
+ maxFiles: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
65
+ }>>;
62
66
  }>;
63
67
  export declare const BeigeConfigSchema: import("@sinclair/typebox").TObject<{
64
68
  llm: import("@sinclair/typebox").TObject<{
@@ -104,6 +108,10 @@ export declare const BeigeConfigSchema: import("@sinclair/typebox").TObject<{
104
108
  host: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
105
109
  port: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
106
110
  logFile: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
111
+ log: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
112
+ maxSizeBytes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
113
+ maxFiles: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
114
+ }>>;
107
115
  }>>;
108
116
  }>;
109
117
  export type BeigeConfig = Static<typeof BeigeConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKtD,QAAA,MAAM,QAAQ;;;;;EA6Bb,CAAC;AAEF,QAAA,MAAM,aAAa;;;;;EA0BlB,CAAC;AAEF,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;EAqChB,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;EA8BtB,CAAC;AAYF,QAAA,MAAM,YAAY;;;;EAqBjB,CAAC;AAEF,QAAA,MAAM,WAAW;;EAQhB,CAAC;AAEF,QAAA,MAAM,mBAAmB;;;;EAgBxB,CAAC;AAIF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB7B,CAAC;AAIF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIrE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAID,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAmC3D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,IAAI,CAWN"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKtD,QAAA,MAAM,QAAQ;;;;;EA6Bb,CAAC;AAEF,QAAA,MAAM,aAAa;;;;;EA0BlB,CAAC;AAEF,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;EAqChB,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;EA8BtB,CAAC;AAYF,QAAA,MAAM,YAAY;;;;EAqBjB,CAAC;AAEF,QAAA,MAAM,WAAW;;EAQhB,CAAC;AAoBF,QAAA,MAAM,mBAAmB;;;;;;;;EAsBxB,CAAC;AAIF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB7B,CAAC;AAIF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIrE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAID,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAmC3D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,IAAI,CAWN"}
@@ -98,12 +98,23 @@ const SkillConfig = Type.Object({
98
98
  description: "Path to the skill package directory. Resolved relative to the config file unless absolute.",
99
99
  }),
100
100
  }, { title: "SkillConfig" });
101
+ const LogRotationConfig = Type.Object({
102
+ maxSizeBytes: Type.Optional(Type.Number({
103
+ description: "Rotate a log file when it exceeds this size in bytes. Default: 10485760 (10 MB).",
104
+ })),
105
+ maxFiles: Type.Optional(Type.Number({
106
+ description: "Number of rotated log files to keep (.1 … .N). Oldest is deleted when the limit is reached. Default: 5.",
107
+ })),
108
+ }, { title: "LogRotationConfig" });
101
109
  const GatewayServerConfig = Type.Object({
102
110
  host: Type.Optional(Type.String({ description: 'HTTP API bind address. Default: "127.0.0.1"' })),
103
111
  port: Type.Optional(Type.Number({ description: "HTTP API port. Default: 7433" })),
104
112
  logFile: Type.Optional(Type.String({
105
113
  description: "Daemon stdout/stderr log file. Default: ~/.beige/logs/gateway.log",
106
114
  })),
115
+ log: Type.Optional(Type.Composite([LogRotationConfig], {
116
+ description: "Log rotation settings applied to gateway.log (on startup) and audit.jsonl (on each write).",
117
+ })),
107
118
  }, { title: "GatewayServerConfig" });
108
119
  // ── Root schema ──────────────────────────────────────────────────────────────
109
120
  export const BeigeConfigSchema = Type.Object({
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -136,8 +136,19 @@ export declare class AgentManager {
136
136
  */
137
137
  private runWithFallback;
138
138
  /**
139
- * Get the list of models to try, skipping those in cooldown.
140
- * Returns primary model + fallbacks that are not currently rate-limited.
139
+ * Get the ordered list of models to try for a session prompt.
140
+ *
141
+ * If the session has an active per-session model override (set by the user
142
+ * via /model, Ctrl+P, or a channel command), we start the fallback chain
143
+ * from that model rather than always from the agent's primary model.
144
+ * This preserves per-session model selection across gateway restarts and
145
+ * across multiple messages in the same session.
146
+ *
147
+ * Fallback order when an override is active:
148
+ * [override, …remaining fallbacks after override in config order]
149
+ *
150
+ * Fallback order when no override is set:
151
+ * [primary, …fallbackModels]
141
152
  */
142
153
  private getModelsToTry;
143
154
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/gateway/agent-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../../src/gateway/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -162,24 +162,29 @@ export class AgentManager {
162
162
  return blocked;
163
163
  }
164
164
  const effectiveMessage = preResult.message;
165
- // Build list of models to try: override (if set) or primary + fallbacks
165
+ // Build list of models to try: explicit override per-session override primary + fallbacks.
166
+ // getModelsToTry respects per-session model preferences so a user's /model choice is
167
+ // preserved across messages and gateway restarts rather than always starting from primary.
166
168
  const modelsToTry = opts.modelOverride
167
169
  ? [opts.modelOverride]
168
- : this.getModelsToTry(agentConfig);
170
+ : this.getModelsToTry(agentConfig, sessionKey);
169
171
  let lastError;
170
172
  for (const modelRef of modelsToTry) {
171
173
  const { provider, model: modelId } = modelRef;
174
+ const modelLabel = `${provider}/${modelId}`;
175
+ const modelLogger = createLogger({ agent: agentName, session: sessionKey, model: modelLabel });
172
176
  // Skip if this model is in cooldown
173
177
  if (this.providerHealth.isCoolingDown(provider, modelId)) {
174
178
  const remaining = this.providerHealth.getRemainingCooldown(provider, modelId);
175
- createLogger({ agent: agentName, session: sessionKey }).log("[AGENT]", `Skipping ${provider}/${modelId} — in cooldown for ${Math.round(remaining / 1000)}s`);
179
+ modelLogger.log("[AGENT]", `Skipping — in cooldown for ${Math.round(remaining / 1000)}s`);
176
180
  continue;
177
181
  }
178
- createLogger({ agent: agentName, session: sessionKey }).log("[AGENT]", `Attempting ${opts.operationLabel} with ${provider}/${modelId}`);
182
+ modelLogger.log("[AGENT]", `Attempting ${opts.operationLabel}`);
179
183
  try {
180
184
  const result = await this.executePromptWithModel(sessionKey, agentName, effectiveMessage, modelRef, opts);
181
185
  // Success — mark provider as healthy
182
186
  this.providerHealth.markHealthy(provider, modelId);
187
+ modelLogger.log("[AGENT]", `${opts.operationLabel} succeeded`);
183
188
  // Execute postResponse hooks — may transform or suppress the response
184
189
  const postResult = await this.pluginRegistry.executePostResponse({
185
190
  response: result,
@@ -194,22 +199,21 @@ export class AgentManager {
194
199
  lastError = error;
195
200
  // Check if it's a rate limit
196
201
  const rateLimitInfo = extractRateLimitInfo(err);
197
- const sessionLogger = createLogger({ agent: agentName, session: sessionKey });
198
202
  if (rateLimitInfo.isRateLimit) {
199
203
  this.providerHealth.markRateLimited(provider, modelId, rateLimitInfo.retryAfterMs, error.message);
200
- sessionLogger.log("[AGENT]", `${provider}/${modelId} rate limited, trying next model`);
204
+ modelLogger.warn("[AGENT]", `Rate limited trying next model. Retry-after: ${rateLimitInfo.retryAfterMs != null ? `${Math.round(rateLimitInfo.retryAfterMs / 1000)}s` : "unknown"}`);
201
205
  continue;
202
206
  }
203
207
  // Non-rate-limit error — mark as failed but try next
204
208
  this.providerHealth.markFailed(provider, modelId, error.message);
205
- sessionLogger.error("[AGENT]", `${provider}/${modelId} failed: ${error.message}`, error.stack ?? "(no stack trace)");
206
- logErrorAuto(error, { operation: opts.operationLabel, agent: agentName, session: sessionKey, model: `${provider}/${modelId}` });
209
+ modelLogger.error("[AGENT]", `Failed: ${error.message}`, error.stack ?? "(no stack trace)");
210
+ logErrorAuto(error, { operation: opts.operationLabel, agent: agentName, session: sessionKey, model: modelLabel });
207
211
  // If the session timed out, the underlying AgentSession is stuck and
208
212
  // must be disposed before the next model attempt — otherwise
209
213
  // getOrCreateSessionWithModel would return the same poisoned session.
210
214
  if (error.isPromptTimeout) {
211
215
  await this.disposeSession(sessionKey);
212
- sessionLogger.log("[AGENT]", `Disposed stuck session after timeout; next attempt will start fresh`);
216
+ modelLogger.log("[AGENT]", `Disposed stuck session after timeout; next attempt will start fresh`);
213
217
  }
214
218
  }
215
219
  }
@@ -217,15 +221,42 @@ export class AgentManager {
217
221
  throw new Error(`All models failed for agent '${agentName}'. Last error: ${lastError?.message ?? "unknown"}`);
218
222
  }
219
223
  /**
220
- * Get the list of models to try, skipping those in cooldown.
221
- * Returns primary model + fallbacks that are not currently rate-limited.
224
+ * Get the ordered list of models to try for a session prompt.
225
+ *
226
+ * If the session has an active per-session model override (set by the user
227
+ * via /model, Ctrl+P, or a channel command), we start the fallback chain
228
+ * from that model rather than always from the agent's primary model.
229
+ * This preserves per-session model selection across gateway restarts and
230
+ * across multiple messages in the same session.
231
+ *
232
+ * Fallback order when an override is active:
233
+ * [override, …remaining fallbacks after override in config order]
234
+ *
235
+ * Fallback order when no override is set:
236
+ * [primary, …fallbackModels]
222
237
  */
223
- getModelsToTry(agentConfig) {
224
- const models = [agentConfig.model];
225
- if (agentConfig.fallbackModels) {
226
- models.push(...agentConfig.fallbackModels);
238
+ getModelsToTry(agentConfig, sessionKey) {
239
+ const allModels = [agentConfig.model, ...(agentConfig.fallbackModels ?? [])];
240
+ if (sessionKey) {
241
+ // Check in-memory session first (cheapest, most up-to-date).
242
+ const inMemory = this.sessions.get(sessionKey);
243
+ const overrideRef = inMemory?.currentModel
244
+ ?? (() => {
245
+ // Fall back to stored metadata when no in-memory session exists yet.
246
+ const stored = this.sessionStore.getEntry(sessionKey)?.metadata?.activeModel;
247
+ if (!stored)
248
+ return undefined;
249
+ return allModels.find((m) => m.provider === stored.provider && m.model === stored.modelId);
250
+ })();
251
+ if (overrideRef) {
252
+ const startIdx = allModels.findIndex((m) => m.provider === overrideRef.provider && m.model === overrideRef.model);
253
+ if (startIdx > 0) {
254
+ // Start from the override model; if it fails, continue with remaining fallbacks.
255
+ return allModels.slice(startIdx);
256
+ }
257
+ }
227
258
  }
228
- return models;
259
+ return allModels;
229
260
  }
230
261
  /**
231
262
  * Execute a prompt with a specific model (internal).
@@ -247,8 +278,8 @@ export class AgentManager {
247
278
  // from the subscriber, so a busy agent (many tool calls, long LLM turns)
248
279
  // can run indefinitely without being killed — the timeout only triggers
249
280
  // when the session has been completely silent (truly stuck / hung).
250
- const promptLogger = createLogger({ agent: agentName, session: sessionKey });
251
281
  const modelLabel = `${modelRef.provider}/${modelRef.model}`;
282
+ const promptLogger = createLogger({ agent: agentName, session: sessionKey, model: modelLabel });
252
283
  let watchdog;
253
284
  const armWatchdog = () => {
254
285
  clearTimeout(watchdog);
@@ -334,7 +365,6 @@ export class AgentManager {
334
365
  validateModelAllowed(modelRef.provider, modelRef.model, allowedModels);
335
366
  // Check if we need to recreate the session with a different model
336
367
  const existing = this.sessions.get(sessionKey);
337
- const sessionLogger = createLogger({ agent: agentName, session: sessionKey });
338
368
  // If session exists with the same model, return it (but update onToolStart
339
369
  // if the caller provided a new one — this is needed for runtime verbose
340
370
  // toggles and other callback changes without recreating the session).
@@ -350,7 +380,7 @@ export class AgentManager {
350
380
  return existing;
351
381
  }
352
382
  // Different model — dispose and recreate
353
- sessionLogger.log("[AGENT]", `Switching model from ${currentRef.provider}/${currentRef.model} to ${provider}/${modelId}`);
383
+ createLogger({ agent: agentName, session: sessionKey, model: `${currentRef.provider}/${currentRef.model}` }).log("[AGENT]", `Switching model to ${provider}/${modelId}`);
354
384
  existing.session.dispose();
355
385
  this.sessions.delete(sessionKey);
356
386
  }
@@ -382,14 +412,13 @@ export class AgentManager {
382
412
  const allRefs = [agentConfig.model, ...(agentConfig.fallbackModels ?? [])];
383
413
  const storedRef = allRefs.find((m) => m.provider === storedModel.provider && m.model === storedModel.modelId);
384
414
  if (storedRef && (storedRef.provider !== modelRef.provider || storedRef.model !== modelRef.model)) {
385
- sessionLogger.log("[AGENT]", `Restoring stored model preference ${storedRef.provider}/${storedRef.model} ` +
386
- `(overrides default ${modelRef.provider}/${modelRef.model})`);
415
+ createLogger({ agent: agentName, session: sessionKey, model: `${storedRef.provider}/${storedRef.model}` }).log("[AGENT]", `Restoring stored model preference (overrides default ${modelRef.provider}/${modelRef.model})`);
387
416
  modelRef = storedRef;
388
417
  }
389
418
  }
390
419
  }
391
420
  }
392
- sessionLogger.log("[AGENT]", `Creating session with model ${modelRef.provider}/${modelRef.model}`);
421
+ createLogger({ agent: agentName, session: sessionKey, model: `${modelRef.provider}/${modelRef.model}` }).log("[AGENT]", `Creating session`);
393
422
  // Resolve the full SDK model so we have the `input` capability array.
394
423
  // This is also used below for the pi session; resolve once and reuse.
395
424
  const resolvedModel = this.resolveModelFromRef(modelRef);
@@ -443,7 +472,7 @@ export class AgentManager {
443
472
  customTools: coreTools,
444
473
  sessionManager,
445
474
  settingsManager: SettingsManager.inMemory({
446
- compaction: buildCompactionSettings(modelRef, model.contextWindow),
475
+ compaction: buildCompactionSettings(modelRef, model.contextWindow, createLogger({ agent: agentName, session: sessionKey, model: `${modelRef.provider}/${modelRef.model}` })),
447
476
  retry: { enabled: true, maxRetries: 3 },
448
477
  }),
449
478
  resourceLoader,
@@ -461,13 +490,13 @@ export class AgentManager {
461
490
  currentModelRef,
462
491
  };
463
492
  this.sessions.set(sessionKey, managed);
464
- sessionLogger.log("[AGENT]", `Session ready`);
493
+ createLogger({ agent: agentName, session: sessionKey, model: `${modelRef.provider}/${modelRef.model}` }).log("[AGENT]", `Session ready`);
465
494
  // Fire sessionCreated hook (fire-and-forget — don't block session return)
466
495
  this.pluginRegistry.executeSessionCreated({
467
496
  sessionKey,
468
497
  agentName,
469
498
  channel: parseSessionKey(sessionKey).channel,
470
- }).catch((err) => console.error(`[AGENT] sessionCreated hook error:`, err));
499
+ }).catch((err) => createLogger({ agent: agentName, session: sessionKey, model: `${modelRef.provider}/${modelRef.model}` }).error(`[AGENT]`, `sessionCreated hook error:`, err));
471
500
  return managed;
472
501
  }
473
502
  /**
@@ -559,7 +588,7 @@ export class AgentManager {
559
588
  sessionKey,
560
589
  agentName: existing.agentName,
561
590
  channel: parseSessionKey(sessionKey).channel,
562
- }).catch((err) => console.error(`[AGENT] sessionDisposed hook error:`, err));
591
+ }).catch((err) => createLogger({ agent: existing.agentName, session: sessionKey, model: `${existing.currentModel.provider}/${existing.currentModel.model}` }).error(`[AGENT]`, `sessionDisposed hook error:`, err));
563
592
  }
564
593
  }
565
594
  /**
@@ -694,7 +723,7 @@ export class AgentManager {
694
723
  if (!managed) {
695
724
  throw new Error("Failed to restore session. Send a message first.");
696
725
  }
697
- const compactLogger = createLogger({ agent: managed.agentName, session: sessionKey });
726
+ const compactLogger = createLogger({ agent: managed.agentName, session: sessionKey, model: `${managed.currentModel.provider}/${managed.currentModel.model}` });
698
727
  compactLogger.log("[AGENT]", "Manual compaction requested");
699
728
  const result = await managed.session.compact();
700
729
  compactLogger.log("[AGENT]", `Compaction complete: ${result.tokensBefore} tokens freed`);
@@ -814,19 +843,20 @@ function makeSessionSubscriber(params) {
814
843
  * → reserveTokens = contextWindow - compactionThreshold
815
844
  *
816
845
  * Falls back to pi's default (reserveTokens = 16384) when no threshold is set.
846
+ *
847
+ * @param logger Scoped logger carrying the current agent/session/model context.
817
848
  */
818
- function buildCompactionSettings(modelRef, contextWindow) {
849
+ function buildCompactionSettings(modelRef, contextWindow, logger) {
819
850
  if (modelRef.compactionThreshold === undefined) {
820
851
  return { enabled: true };
821
852
  }
822
853
  const reserveTokens = contextWindow - modelRef.compactionThreshold;
823
854
  if (reserveTokens <= 0) {
824
- console.warn(`[AGENT] compactionThreshold ${modelRef.compactionThreshold} is >= contextWindow ` +
825
- `${contextWindow} for ${modelRef.provider}/${modelRef.model} — using default threshold.`);
855
+ logger.warn("[AGENT]", `compactionThreshold ${modelRef.compactionThreshold} is >= contextWindow ` +
856
+ `${contextWindow} — using default threshold.`);
826
857
  return { enabled: true };
827
858
  }
828
- console.log(`[AGENT] Custom compaction threshold: ${modelRef.compactionThreshold} tokens ` +
829
- `(reserveTokens=${reserveTokens}) for ${modelRef.provider}/${modelRef.model}`);
859
+ logger.log("[AGENT]", `Custom compaction threshold: ${modelRef.compactionThreshold} tokens (reserveTokens=${reserveTokens})`);
830
860
  return { enabled: true, reserveTokens };
831
861
  }
832
862
  function extractLLMError(messages) {