@getpaseo/server 0.1.74 → 0.1.75

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 (113) hide show
  1. package/dist/scripts/supervisor-entrypoint.js +2 -21
  2. package/dist/scripts/supervisor-entrypoint.js.map +1 -1
  3. package/dist/scripts/supervisor-log-config.js +31 -0
  4. package/dist/scripts/supervisor-log-config.js.map +1 -0
  5. package/dist/server/server/agent/agent-manager.d.ts +4 -1
  6. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  7. package/dist/server/server/agent/agent-manager.js +139 -14
  8. package/dist/server/server/agent/agent-manager.js.map +1 -1
  9. package/dist/server/server/agent/agent-prompt.d.ts.map +1 -1
  10. package/dist/server/server/agent/agent-prompt.js +27 -0
  11. package/dist/server/server/agent/agent-prompt.js.map +1 -1
  12. package/dist/server/server/agent/agent-sdk-types.d.ts +2 -0
  13. package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
  14. package/dist/server/server/agent/agent-sdk-types.js +3 -0
  15. package/dist/server/server/agent/agent-sdk-types.js.map +1 -1
  16. package/dist/server/server/agent/foreground-run-state.d.ts +1 -1
  17. package/dist/server/server/agent/foreground-run-state.d.ts.map +1 -1
  18. package/dist/server/server/agent/foreground-run-state.js +2 -4
  19. package/dist/server/server/agent/foreground-run-state.js.map +1 -1
  20. package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
  21. package/dist/server/server/agent/provider-manifest.js +3 -3
  22. package/dist/server/server/agent/provider-manifest.js.map +1 -1
  23. package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
  24. package/dist/server/server/agent/provider-registry.js +13 -5
  25. package/dist/server/server/agent/provider-registry.js.map +1 -1
  26. package/dist/server/server/agent/providers/acp-agent.d.ts +39 -1
  27. package/dist/server/server/agent/providers/acp-agent.d.ts.map +1 -1
  28. package/dist/server/server/agent/providers/acp-agent.js +121 -14
  29. package/dist/server/server/agent/providers/acp-agent.js.map +1 -1
  30. package/dist/server/server/agent/providers/claude/agent.d.ts +1 -1
  31. package/dist/server/server/agent/providers/claude/agent.d.ts.map +1 -1
  32. package/dist/server/server/agent/providers/claude/agent.js +80 -24
  33. package/dist/server/server/agent/providers/claude/agent.js.map +1 -1
  34. package/dist/server/server/agent/providers/codex/app-server-transport.d.ts +7 -1
  35. package/dist/server/server/agent/providers/codex/app-server-transport.d.ts.map +1 -1
  36. package/dist/server/server/agent/providers/codex/app-server-transport.js +28 -1
  37. package/dist/server/server/agent/providers/codex/app-server-transport.js.map +1 -1
  38. package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts.map +1 -1
  39. package/dist/server/server/agent/providers/codex/tool-call-mapper.js +36 -7
  40. package/dist/server/server/agent/providers/codex/tool-call-mapper.js.map +1 -1
  41. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +14 -4
  42. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
  43. package/dist/server/server/agent/providers/codex-app-server-agent.js +121 -15
  44. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
  45. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +10 -1
  46. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts.map +1 -1
  47. package/dist/server/server/agent/providers/copilot-acp-agent.js +114 -7
  48. package/dist/server/server/agent/providers/copilot-acp-agent.js.map +1 -1
  49. package/dist/server/server/agent/providers/opencode-agent.d.ts +6 -4
  50. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
  51. package/dist/server/server/agent/providers/opencode-agent.js +48 -34
  52. package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
  53. package/dist/server/server/agent/providers/pi-direct-agent.d.ts +1 -1
  54. package/dist/server/server/agent/providers/pi-direct-agent.d.ts.map +1 -1
  55. package/dist/server/server/agent/providers/pi-direct-agent.js +2 -15
  56. package/dist/server/server/agent/providers/pi-direct-agent.js.map +1 -1
  57. package/dist/server/server/agent/providers/provider-runner.d.ts +1 -1
  58. package/dist/server/server/agent/providers/provider-runner.d.ts.map +1 -1
  59. package/dist/server/server/agent/providers/provider-runner.js +2 -1
  60. package/dist/server/server/agent/providers/provider-runner.js.map +1 -1
  61. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts +1 -1
  62. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts.map +1 -1
  63. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js +2 -1
  64. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js.map +1 -1
  65. package/dist/server/server/agent/stt-manager.d.ts +5 -1
  66. package/dist/server/server/agent/stt-manager.d.ts.map +1 -1
  67. package/dist/server/server/agent/stt-manager.js +3 -2
  68. package/dist/server/server/agent/stt-manager.js.map +1 -1
  69. package/dist/server/server/bootstrap.d.ts +5 -0
  70. package/dist/server/server/bootstrap.d.ts.map +1 -1
  71. package/dist/server/server/bootstrap.js.map +1 -1
  72. package/dist/server/server/dictation/dictation-stream-manager.d.ts +2 -0
  73. package/dist/server/server/dictation/dictation-stream-manager.d.ts.map +1 -1
  74. package/dist/server/server/dictation/dictation-stream-manager.js +2 -1
  75. package/dist/server/server/dictation/dictation-stream-manager.js.map +1 -1
  76. package/dist/server/server/logger.js +1 -1
  77. package/dist/server/server/logger.js.map +1 -1
  78. package/dist/server/server/persisted-config.d.ts +18 -0
  79. package/dist/server/server/persisted-config.d.ts.map +1 -1
  80. package/dist/server/server/persisted-config.js +2 -0
  81. package/dist/server/server/persisted-config.js.map +1 -1
  82. package/dist/server/server/schedule/service.d.ts.map +1 -1
  83. package/dist/server/server/schedule/service.js +14 -1
  84. package/dist/server/server/schedule/service.js.map +1 -1
  85. package/dist/server/server/session.d.ts +3 -0
  86. package/dist/server/server/session.d.ts.map +1 -1
  87. package/dist/server/server/session.js +89 -18
  88. package/dist/server/server/session.js.map +1 -1
  89. package/dist/server/server/speech/providers/local/config.d.ts +5 -0
  90. package/dist/server/server/speech/providers/local/config.d.ts.map +1 -1
  91. package/dist/server/server/speech/providers/local/config.js +35 -0
  92. package/dist/server/server/speech/providers/local/config.js.map +1 -1
  93. package/dist/server/server/speech/speech-config-resolver.d.ts.map +1 -1
  94. package/dist/server/server/speech/speech-config-resolver.js +1 -0
  95. package/dist/server/server/speech/speech-config-resolver.js.map +1 -1
  96. package/dist/server/server/speech/speech-runtime.d.ts +2 -0
  97. package/dist/server/server/speech/speech-runtime.d.ts.map +1 -1
  98. package/dist/server/server/speech/speech-runtime.js +2 -0
  99. package/dist/server/server/speech/speech-runtime.js.map +1 -1
  100. package/dist/server/server/voice/voice-turn-controller.d.ts +1 -0
  101. package/dist/server/server/voice/voice-turn-controller.d.ts.map +1 -1
  102. package/dist/server/server/voice/voice-turn-controller.js +1 -1
  103. package/dist/server/server/voice/voice-turn-controller.js.map +1 -1
  104. package/dist/server/server/websocket-server.d.ts.map +1 -1
  105. package/dist/server/server/websocket-server.js +2 -0
  106. package/dist/server/server/websocket-server.js.map +1 -1
  107. package/dist/src/server/agent/agent-sdk-types.js +3 -0
  108. package/dist/src/server/agent/agent-sdk-types.js.map +1 -1
  109. package/dist/src/server/agent/provider-manifest.js +3 -3
  110. package/dist/src/server/agent/provider-manifest.js.map +1 -1
  111. package/dist/src/server/persisted-config.js +2 -0
  112. package/dist/src/server/persisted-config.js.map +1 -1
  113. package/package.json +3 -3
@@ -12,6 +12,7 @@ import { formatDiagnosticStatus, formatProviderDiagnostic, formatProviderDiagnos
12
12
  import { appendOrReplaceGrowingAssistantMessage, runProviderTurn } from "../provider-runner.js";
13
13
  import { renderPromptAttachmentAsText } from "../../prompt-attachments.js";
14
14
  import { claudeQuery } from "./query.js";
15
+ import { getAgentStreamEventTurnId, } from "../../agent-sdk-types.js";
15
16
  import { createProviderEnv, createProviderEnvSpec, } from "../../provider-launch-config.js";
16
17
  import { findExecutable, isCommandAvailable } from "../../../../utils/executable.js";
17
18
  import { withTimeout } from "../../../../utils/promise-timeout.js";
@@ -837,7 +838,6 @@ export function readEventIdentifiers(message) {
837
838
  ]),
838
839
  };
839
840
  }
840
- const claudeDebug = process.env.PASEO_CLAUDE_DEBUG === "1";
841
841
  export class ClaudeAgentClient {
842
842
  constructor(options) {
843
843
  this.provider = "claude";
@@ -853,6 +853,7 @@ export class ClaudeAgentClient {
853
853
  return new ClaudeAgentSession(claudeConfig, {
854
854
  defaults: this.defaults,
855
855
  runtimeSettings: this.runtimeSettings,
856
+ agentId: launchContext?.agentId,
856
857
  launchEnv: launchContext?.env,
857
858
  persistSession: options?.persistSession,
858
859
  logger: this.logger,
@@ -876,6 +877,7 @@ export class ClaudeAgentClient {
876
877
  defaults: this.defaults,
877
878
  runtimeSettings: this.runtimeSettings,
878
879
  handle,
880
+ agentId: launchContext?.agentId,
879
881
  launchEnv: launchContext?.env,
880
882
  logger: this.logger,
881
883
  queryFactory: this.queryFactory,
@@ -1202,10 +1204,11 @@ class ClaudeAgentSession {
1202
1204
  };
1203
1205
  this.config = config;
1204
1206
  this.launchEnv = options.launchEnv;
1207
+ this.agentId = options.agentId;
1205
1208
  this.defaults = options.defaults;
1206
1209
  this.runtimeSettings = options.runtimeSettings;
1207
1210
  this.persistSession = options.persistSession;
1208
- this.logger = options.logger;
1211
+ this.logger = options.logger.child({ agentId: this.agentId });
1209
1212
  this.queryFactory = options.queryFactory;
1210
1213
  this.resolveBinary = options.resolveBinary;
1211
1214
  const handle = options.handle;
@@ -1494,12 +1497,15 @@ class ClaudeAgentSession {
1494
1497
  }
1495
1498
  async close() {
1496
1499
  this.logger.trace({
1497
- claudeSessionId: this.claudeSessionId,
1500
+ agentId: this.agentId,
1501
+ provider: "claude",
1502
+ sessionId: this.claudeSessionId,
1503
+ turnId: this.activeForegroundTurnId ?? this.autonomousTurn?.id ?? undefined,
1498
1504
  turnState: this.turnState,
1499
1505
  hasQuery: Boolean(this.query),
1500
1506
  hasInput: Boolean(this.input),
1501
1507
  hasActiveForegroundTurnId: Boolean(this.activeForegroundTurnId),
1502
- }, "Claude session close: start");
1508
+ }, "provider.claude.session_close.start");
1503
1509
  this.closed = true;
1504
1510
  this.rejectAllPendingPermissions(new Error("Claude session closed"));
1505
1511
  this.cancelCurrentTurn?.();
@@ -1530,7 +1536,12 @@ class ClaudeAgentSession {
1530
1536
  }
1531
1537
  }
1532
1538
  }
1533
- this.logger.trace({ claudeSessionId: this.claudeSessionId, turnState: this.turnState }, "Claude session close: completed");
1539
+ this.logger.trace({
1540
+ agentId: this.agentId,
1541
+ provider: "claude",
1542
+ sessionId: this.claudeSessionId,
1543
+ turnState: this.turnState,
1544
+ }, "provider.claude.session_close.complete");
1534
1545
  }
1535
1546
  async listCommands() {
1536
1547
  const q = await this.ensureQuery();
@@ -1763,14 +1774,33 @@ class ClaudeAgentSession {
1763
1774
  }
1764
1775
  async awaitWithTimeout(promise, label) {
1765
1776
  if (!promise) {
1766
- this.logger.trace({ label }, "Claude query operation skipped (no promise)");
1777
+ this.logger.trace({
1778
+ agentId: this.agentId,
1779
+ provider: "claude",
1780
+ sessionId: this.claudeSessionId,
1781
+ turnId: this.activeForegroundTurnId ?? this.autonomousTurn?.id ?? undefined,
1782
+ label,
1783
+ }, "provider.claude.query_operation.skip");
1767
1784
  return;
1768
1785
  }
1769
1786
  const startedAt = Date.now();
1770
- this.logger.trace({ label }, "Claude query operation wait start");
1787
+ this.logger.trace({
1788
+ agentId: this.agentId,
1789
+ provider: "claude",
1790
+ sessionId: this.claudeSessionId,
1791
+ turnId: this.activeForegroundTurnId ?? this.autonomousTurn?.id ?? undefined,
1792
+ label,
1793
+ }, "provider.claude.query_operation.start");
1771
1794
  try {
1772
1795
  await withTimeout(promise, 3000, "timeout");
1773
- this.logger.trace({ label, durationMs: Date.now() - startedAt }, "Claude query operation settled");
1796
+ this.logger.trace({
1797
+ agentId: this.agentId,
1798
+ provider: "claude",
1799
+ sessionId: this.claudeSessionId,
1800
+ turnId: this.activeForegroundTurnId ?? this.autonomousTurn?.id ?? undefined,
1801
+ label,
1802
+ durationMs: Date.now() - startedAt,
1803
+ }, "provider.claude.query_operation.settled");
1774
1804
  }
1775
1805
  catch (error) {
1776
1806
  this.logger.warn({ err: error, label }, "Claude query operation did not settle cleanly");
@@ -2107,7 +2137,13 @@ class ClaudeAgentSession {
2107
2137
  return;
2108
2138
  }
2109
2139
  const pump = this.runQueryPump().catch((error) => {
2110
- this.logger.trace({ err: error }, "Claude query pump exited unexpectedly");
2140
+ this.logger.trace({
2141
+ agentId: this.agentId,
2142
+ provider: "claude",
2143
+ sessionId: this.claudeSessionId,
2144
+ turnId: this.activeForegroundTurnId ?? this.autonomousTurn?.id ?? undefined,
2145
+ err: error,
2146
+ }, "provider.claude.query_pump.exit_unexpected");
2111
2147
  });
2112
2148
  this.queryPumpPromise = pump;
2113
2149
  void pump.finally(() => {
@@ -2122,21 +2158,28 @@ class ClaudeAgentSession {
2122
2158
  activeQuery = await this.ensureQuery();
2123
2159
  }
2124
2160
  catch (error) {
2125
- this.logger.trace({ err: error }, "Failed to initialize Claude query pump");
2161
+ this.logger.trace({
2162
+ agentId: this.agentId,
2163
+ provider: "claude",
2164
+ sessionId: this.claudeSessionId,
2165
+ turnId: this.activeForegroundTurnId ?? this.autonomousTurn?.id ?? undefined,
2166
+ err: error,
2167
+ }, "provider.claude.query_pump.init_failed");
2126
2168
  this.failActiveTurns(error instanceof Error ? error.message : "Claude stream failed");
2127
2169
  return;
2128
2170
  }
2129
2171
  let consecutiveInterruptAbortRecoveries = 0;
2130
2172
  const logRawMessage = (message) => {
2131
- if (!claudeDebug) {
2132
- return;
2133
- }
2134
2173
  this.logger.trace({
2135
- claudeSessionId: this.claudeSessionId,
2174
+ agentId: this.agentId,
2175
+ provider: "claude",
2176
+ sessionId: this.claudeSessionId,
2177
+ turnId: this.activeForegroundTurnId ?? this.autonomousTurn?.id ?? undefined,
2136
2178
  messageType: message.type,
2137
2179
  messageSubtype: "subtype" in message ? message.subtype : undefined,
2138
2180
  messageUuid: "uuid" in message ? message.uuid : undefined,
2139
- }, "Claude query pump: raw SDK message");
2181
+ rawEvent: message,
2182
+ }, "provider.claude.raw_event");
2140
2183
  };
2141
2184
  const handlePumpedMessage = async (message) => {
2142
2185
  logRawMessage(message);
@@ -2234,13 +2277,15 @@ class ClaudeAgentSession {
2234
2277
  }
2235
2278
  const turnId = this.activeForegroundTurnId ?? this.autonomousTurn?.id ?? null;
2236
2279
  const identifiers = readEventIdentifiers(message);
2237
- if (claudeDebug) {
2238
- this.logger.trace({
2239
- claudeSessionId: this.claudeSessionId,
2240
- messageType: message.type,
2241
- turnId,
2242
- }, "Claude query pump: SDK message");
2243
- }
2280
+ this.logger.trace({
2281
+ agentId: this.agentId,
2282
+ provider: "claude",
2283
+ sessionId: this.claudeSessionId,
2284
+ turnId: turnId ?? undefined,
2285
+ messageType: message.type,
2286
+ identifiers,
2287
+ rawEvent: message,
2288
+ }, "provider.claude.parsed_event");
2244
2289
  const messageEvents = this.translateMessageToEvents(message, {
2245
2290
  suppressAssistantText: true,
2246
2291
  suppressReasoning: true,
@@ -2284,7 +2329,6 @@ class ClaudeAgentSession {
2284
2329
  return false;
2285
2330
  }
2286
2331
  this.logger.warn({
2287
- claudeSessionId: this.claudeSessionId,
2288
2332
  error: staleResumeError,
2289
2333
  }, "Claude resumed session no longer exists; invalidating persisted session");
2290
2334
  this.failActiveTurns(staleResumeError);
@@ -2307,7 +2351,12 @@ class ClaudeAgentSession {
2307
2351
  async interruptActiveTurn() {
2308
2352
  const queryToInterrupt = this.query;
2309
2353
  if (!queryToInterrupt || typeof queryToInterrupt.interrupt !== "function") {
2310
- this.logger.trace("interruptActiveTurn: no query to interrupt");
2354
+ this.logger.trace({
2355
+ agentId: this.agentId,
2356
+ provider: "claude",
2357
+ sessionId: this.claudeSessionId,
2358
+ turnId: this.activeForegroundTurnId ?? this.autonomousTurn?.id ?? undefined,
2359
+ }, "provider.claude.interrupt.no_query");
2311
2360
  return;
2312
2361
  }
2313
2362
  this.pendingInterruptAbort = true;
@@ -2759,6 +2808,13 @@ class ClaudeAgentSession {
2759
2808
  notifySubscribers(event) {
2760
2809
  const turnId = this.activeForegroundTurnId ?? this.autonomousTurn?.id;
2761
2810
  const tagged = turnId ? { ...event, turnId } : event;
2811
+ this.logger.trace({
2812
+ agentId: this.agentId,
2813
+ provider: "claude",
2814
+ sessionId: this.claudeSessionId,
2815
+ turnId: getAgentStreamEventTurnId(tagged),
2816
+ event: tagged,
2817
+ }, "provider.claude.event_emit");
2762
2818
  for (const callback of this.subscribers) {
2763
2819
  try {
2764
2820
  callback(tagged);