@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.
- package/dist/scripts/supervisor-entrypoint.js +2 -21
- package/dist/scripts/supervisor-entrypoint.js.map +1 -1
- package/dist/scripts/supervisor-log-config.js +31 -0
- package/dist/scripts/supervisor-log-config.js.map +1 -0
- package/dist/server/server/agent/agent-manager.d.ts +4 -1
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +139 -14
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-prompt.d.ts.map +1 -1
- package/dist/server/server/agent/agent-prompt.js +27 -0
- package/dist/server/server/agent/agent-prompt.js.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts +2 -0
- package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.js +3 -0
- package/dist/server/server/agent/agent-sdk-types.js.map +1 -1
- package/dist/server/server/agent/foreground-run-state.d.ts +1 -1
- package/dist/server/server/agent/foreground-run-state.d.ts.map +1 -1
- package/dist/server/server/agent/foreground-run-state.js +2 -4
- package/dist/server/server/agent/foreground-run-state.js.map +1 -1
- package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
- package/dist/server/server/agent/provider-manifest.js +3 -3
- package/dist/server/server/agent/provider-manifest.js.map +1 -1
- package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
- package/dist/server/server/agent/provider-registry.js +13 -5
- package/dist/server/server/agent/provider-registry.js.map +1 -1
- package/dist/server/server/agent/providers/acp-agent.d.ts +39 -1
- package/dist/server/server/agent/providers/acp-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/acp-agent.js +121 -14
- package/dist/server/server/agent/providers/acp-agent.js.map +1 -1
- package/dist/server/server/agent/providers/claude/agent.d.ts +1 -1
- package/dist/server/server/agent/providers/claude/agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude/agent.js +80 -24
- package/dist/server/server/agent/providers/claude/agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex/app-server-transport.d.ts +7 -1
- package/dist/server/server/agent/providers/codex/app-server-transport.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex/app-server-transport.js +28 -1
- package/dist/server/server/agent/providers/codex/app-server-transport.js.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.js +36 -7
- package/dist/server/server/agent/providers/codex/tool-call-mapper.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +14 -4
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +121 -15
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +10 -1
- package/dist/server/server/agent/providers/copilot-acp-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/copilot-acp-agent.js +114 -7
- package/dist/server/server/agent/providers/copilot-acp-agent.js.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.d.ts +6 -4
- package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.js +48 -34
- package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
- package/dist/server/server/agent/providers/pi-direct-agent.d.ts +1 -1
- package/dist/server/server/agent/providers/pi-direct-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/pi-direct-agent.js +2 -15
- package/dist/server/server/agent/providers/pi-direct-agent.js.map +1 -1
- package/dist/server/server/agent/providers/provider-runner.d.ts +1 -1
- package/dist/server/server/agent/providers/provider-runner.d.ts.map +1 -1
- package/dist/server/server/agent/providers/provider-runner.js +2 -1
- package/dist/server/server/agent/providers/provider-runner.js.map +1 -1
- package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts +1 -1
- package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts.map +1 -1
- package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js +2 -1
- package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js.map +1 -1
- package/dist/server/server/agent/stt-manager.d.ts +5 -1
- package/dist/server/server/agent/stt-manager.d.ts.map +1 -1
- package/dist/server/server/agent/stt-manager.js +3 -2
- package/dist/server/server/agent/stt-manager.js.map +1 -1
- package/dist/server/server/bootstrap.d.ts +5 -0
- package/dist/server/server/bootstrap.d.ts.map +1 -1
- package/dist/server/server/bootstrap.js.map +1 -1
- package/dist/server/server/dictation/dictation-stream-manager.d.ts +2 -0
- package/dist/server/server/dictation/dictation-stream-manager.d.ts.map +1 -1
- package/dist/server/server/dictation/dictation-stream-manager.js +2 -1
- package/dist/server/server/dictation/dictation-stream-manager.js.map +1 -1
- package/dist/server/server/logger.js +1 -1
- package/dist/server/server/logger.js.map +1 -1
- package/dist/server/server/persisted-config.d.ts +18 -0
- package/dist/server/server/persisted-config.d.ts.map +1 -1
- package/dist/server/server/persisted-config.js +2 -0
- package/dist/server/server/persisted-config.js.map +1 -1
- package/dist/server/server/schedule/service.d.ts.map +1 -1
- package/dist/server/server/schedule/service.js +14 -1
- package/dist/server/server/schedule/service.js.map +1 -1
- package/dist/server/server/session.d.ts +3 -0
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +89 -18
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/speech/providers/local/config.d.ts +5 -0
- package/dist/server/server/speech/providers/local/config.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/config.js +35 -0
- package/dist/server/server/speech/providers/local/config.js.map +1 -1
- package/dist/server/server/speech/speech-config-resolver.d.ts.map +1 -1
- package/dist/server/server/speech/speech-config-resolver.js +1 -0
- package/dist/server/server/speech/speech-config-resolver.js.map +1 -1
- package/dist/server/server/speech/speech-runtime.d.ts +2 -0
- package/dist/server/server/speech/speech-runtime.d.ts.map +1 -1
- package/dist/server/server/speech/speech-runtime.js +2 -0
- package/dist/server/server/speech/speech-runtime.js.map +1 -1
- package/dist/server/server/voice/voice-turn-controller.d.ts +1 -0
- package/dist/server/server/voice/voice-turn-controller.d.ts.map +1 -1
- package/dist/server/server/voice/voice-turn-controller.js +1 -1
- package/dist/server/server/voice/voice-turn-controller.js.map +1 -1
- package/dist/server/server/websocket-server.d.ts.map +1 -1
- package/dist/server/server/websocket-server.js +2 -0
- package/dist/server/server/websocket-server.js.map +1 -1
- package/dist/src/server/agent/agent-sdk-types.js +3 -0
- package/dist/src/server/agent/agent-sdk-types.js.map +1 -1
- package/dist/src/server/agent/provider-manifest.js +3 -3
- package/dist/src/server/agent/provider-manifest.js.map +1 -1
- package/dist/src/server/persisted-config.js +2 -0
- package/dist/src/server/persisted-config.js.map +1 -1
- package/package.json +3 -3
|
@@ -38,6 +38,7 @@ import { buildStoredAgentPayload, resolveEffectiveThinkingOptionId, resolveStore
|
|
|
38
38
|
import { appendTimelineItemIfAgentKnown, emitLiveTimelineItemIfAgentKnown, } from "./agent/timeline-append.js";
|
|
39
39
|
import { projectTimelineRows, selectTimelineWindowByProjectedLimit, } from "./agent/timeline-projection.js";
|
|
40
40
|
import { DEFAULT_STRUCTURED_GENERATION_PROVIDERS, StructuredAgentFallbackError, StructuredAgentResponseError, generateStructuredAgentResponseWithFallback, } from "./agent/agent-response-loop.js";
|
|
41
|
+
import { getAgentStreamEventTurnId, } from "./agent/agent-sdk-types.js";
|
|
41
42
|
import { ImportSessionsRequestError, importProviderSession, listImportableProviderSessions, normalizeImportAgentRequest, } from "./agent/import-sessions.js";
|
|
42
43
|
import { checkoutLiteFromGitSnapshot, normalizeWorkspaceId as normalizePersistedWorkspaceId, deriveProjectGroupingName, classifyDirectoryForProjectMembership, deriveWorkspaceDisplayName, } from "./workspace-registry-model.js";
|
|
43
44
|
import { createPersistedProjectRecord, createPersistedWorkspaceRecord, } from "./workspace-registry.js";
|
|
@@ -322,7 +323,7 @@ export class Session {
|
|
|
322
323
|
}
|
|
323
324
|
},
|
|
324
325
|
});
|
|
325
|
-
const { clientId, appVersion, clientCapabilities, onMessage, onBinaryMessage, onLifecycleIntent, logger, downloadTokenStore, pushTokenStore, paseoHome, agentManager, agentStorage, projectRegistry, workspaceRegistry, chatService, scheduleService, loopService, checkoutDiffManager, github, workspaceGitService, daemonConfigStore, mcpBaseUrl, stt, tts, terminalManager, providerSnapshotManager, scriptRouteStore, scriptRuntimeStore, workspaceSetupSnapshots, onBranchChanged, getDaemonTcpPort, getDaemonTcpHost, resolveScriptHealth, voice, voiceBridge, dictation, agentProviderRuntimeSettings, providerOverrides, isDev, } = options;
|
|
326
|
+
const { clientId, appVersion, clientCapabilities, onMessage, onBinaryMessage, onLifecycleIntent, logger, downloadTokenStore, pushTokenStore, paseoHome, agentManager, agentStorage, projectRegistry, workspaceRegistry, chatService, scheduleService, loopService, checkoutDiffManager, github, workspaceGitService, daemonConfigStore, mcpBaseUrl, stt, sttLanguage, tts, terminalManager, providerSnapshotManager, scriptRouteStore, scriptRuntimeStore, workspaceSetupSnapshots, onBranchChanged, getDaemonTcpPort, getDaemonTcpHost, resolveScriptHealth, voice, voiceBridge, dictation, agentProviderRuntimeSettings, providerOverrides, isDev, } = options;
|
|
326
327
|
this.clientId = clientId;
|
|
327
328
|
this.appVersion = appVersion ?? null;
|
|
328
329
|
this.clientCapabilities = parseClientCapabilities(clientCapabilities);
|
|
@@ -367,6 +368,7 @@ export class Session {
|
|
|
367
368
|
this.getDaemonTcpPort = getDaemonTcpPort ?? null;
|
|
368
369
|
this.getDaemonTcpHost = getDaemonTcpHost ?? null;
|
|
369
370
|
this.resolveScriptHealth = resolveScriptHealth ?? null;
|
|
371
|
+
this.sttLanguage = sttLanguage ?? "en";
|
|
370
372
|
this.subscribeToOptionalManagers();
|
|
371
373
|
this.bindVoiceBridges({ voice, voiceBridge, dictation });
|
|
372
374
|
this.agentProviderRuntimeSettings = agentProviderRuntimeSettings;
|
|
@@ -381,11 +383,11 @@ export class Session {
|
|
|
381
383
|
isProviderVisibleToClient: (provider) => this.isProviderVisibleToClient(provider),
|
|
382
384
|
buildWorkspaceDescriptor: (input) => this.buildWorkspaceDescriptor(input),
|
|
383
385
|
});
|
|
384
|
-
this.initializePerSessionManagers({ tts, stt, dictation });
|
|
386
|
+
this.initializePerSessionManagers({ tts, stt, sttLanguage, dictation });
|
|
385
387
|
// Initialize agent MCP client asynchronously
|
|
386
388
|
void this.initializeAgentMcp();
|
|
387
389
|
this.subscribeToAgentEvents();
|
|
388
|
-
this.sessionLogger.trace("
|
|
390
|
+
this.sessionLogger.trace({}, "agent.session.lifecycle.created");
|
|
389
391
|
}
|
|
390
392
|
updateAppVersion(appVersion) {
|
|
391
393
|
if (appVersion && appVersion !== this.appVersion) {
|
|
@@ -477,12 +479,17 @@ export class Session {
|
|
|
477
479
|
async interruptAgentIfRunning(agentId) {
|
|
478
480
|
const snapshot = this.agentManager.getAgent(agentId);
|
|
479
481
|
if (!snapshot) {
|
|
480
|
-
this.sessionLogger.trace({ agentId }, "
|
|
482
|
+
this.sessionLogger.trace({ agentId }, "agent.session.interrupt.not_found");
|
|
481
483
|
throw new Error(`Agent ${agentId} not found`);
|
|
482
484
|
}
|
|
483
485
|
const hasInFlightRun = this.agentManager.hasInFlightRun(agentId);
|
|
484
486
|
if (!hasInFlightRun) {
|
|
485
|
-
this.sessionLogger.trace({
|
|
487
|
+
this.sessionLogger.trace({
|
|
488
|
+
agentId,
|
|
489
|
+
provider: snapshot.provider,
|
|
490
|
+
lifecycle: snapshot.lifecycle,
|
|
491
|
+
hasInFlightRun,
|
|
492
|
+
}, "agent.session.interrupt.skip_not_running");
|
|
486
493
|
return;
|
|
487
494
|
}
|
|
488
495
|
this.sessionLogger.debug({ agentId, lifecycle: snapshot.lifecycle, hasInFlightRun }, "interruptAgentIfRunning: interrupting");
|
|
@@ -507,14 +514,14 @@ export class Session {
|
|
|
507
514
|
agentId,
|
|
508
515
|
promptType: typeof prompt === "string" ? "string" : "structured",
|
|
509
516
|
hasRunOptions: Boolean(runOptions),
|
|
510
|
-
}, "
|
|
517
|
+
}, "agent.session.start_stream.request");
|
|
511
518
|
let iterator;
|
|
512
519
|
try {
|
|
513
520
|
const shouldReplace = this.agentManager.hasInFlightRun(agentId);
|
|
514
521
|
iterator = shouldReplace
|
|
515
522
|
? this.agentManager.replaceAgentRun(agentId, prompt, runOptions)
|
|
516
523
|
: this.agentManager.streamAgent(agentId, prompt, runOptions);
|
|
517
|
-
this.sessionLogger.trace({ agentId, shouldReplace }, "
|
|
524
|
+
this.sessionLogger.trace({ agentId, shouldReplace }, "agent.session.start_stream.iterator_returned");
|
|
518
525
|
}
|
|
519
526
|
catch (error) {
|
|
520
527
|
this.handleAgentRunError(agentId, error, "Failed to start agent run");
|
|
@@ -525,10 +532,10 @@ export class Session {
|
|
|
525
532
|
for await (const _ of iterator) {
|
|
526
533
|
// Events are forwarded via the session's AgentManager subscription.
|
|
527
534
|
}
|
|
528
|
-
this.sessionLogger.trace({ agentId }, "
|
|
535
|
+
this.sessionLogger.trace({ agentId }, "agent.session.iterator.drained");
|
|
529
536
|
}
|
|
530
537
|
catch (error) {
|
|
531
|
-
this.sessionLogger.trace({ agentId, err: error }, "
|
|
538
|
+
this.sessionLogger.trace({ agentId, err: error }, "agent.session.iterator.error");
|
|
532
539
|
this.handleAgentRunError(agentId, error, "Agent stream failed");
|
|
533
540
|
}
|
|
534
541
|
})();
|
|
@@ -562,7 +569,7 @@ export class Session {
|
|
|
562
569
|
});
|
|
563
570
|
this.agentTools = (await this.agentMcpClient.tools());
|
|
564
571
|
const agentToolCount = Object.keys(this.agentTools ?? {}).length;
|
|
565
|
-
this.sessionLogger.trace({ agentToolCount },
|
|
572
|
+
this.sessionLogger.trace({ agentToolCount }, "agent.session.mcp_init");
|
|
566
573
|
}
|
|
567
574
|
catch (error) {
|
|
568
575
|
this.sessionLogger.error({ err: error }, "Failed to initialize Agent MCP");
|
|
@@ -602,14 +609,17 @@ export class Session {
|
|
|
602
609
|
this.getSpeechReadiness = dictation?.getSpeechReadiness;
|
|
603
610
|
}
|
|
604
611
|
initializePerSessionManagers(params) {
|
|
605
|
-
const { tts, stt, dictation } = params;
|
|
612
|
+
const { tts, stt, sttLanguage, dictation } = params;
|
|
606
613
|
this.ttsManager = new TTSManager(this.sessionId, this.sessionLogger, tts);
|
|
607
|
-
this.sttManager = new STTManager(this.sessionId, this.sessionLogger, stt
|
|
614
|
+
this.sttManager = new STTManager(this.sessionId, this.sessionLogger, stt, {
|
|
615
|
+
language: sttLanguage,
|
|
616
|
+
});
|
|
608
617
|
this.dictationStreamManager = new DictationStreamManager({
|
|
609
618
|
logger: this.sessionLogger,
|
|
610
619
|
sessionId: this.sessionId,
|
|
611
620
|
emit: (msg) => this.handleDictationManagerMessage(msg),
|
|
612
621
|
stt: dictation?.stt ?? null,
|
|
622
|
+
language: dictation?.sttLanguage,
|
|
613
623
|
finalTimeoutMs: dictation?.finalTimeoutMs,
|
|
614
624
|
});
|
|
615
625
|
}
|
|
@@ -619,6 +629,13 @@ export class Session {
|
|
|
619
629
|
}
|
|
620
630
|
this.unsubscribeAgentEvents = this.agentManager.subscribe((event) => {
|
|
621
631
|
if (event.type === "agent_state") {
|
|
632
|
+
this.sessionLogger.trace({
|
|
633
|
+
agentId: event.agent.id,
|
|
634
|
+
provider: event.agent.provider,
|
|
635
|
+
providerSessionId: event.agent.persistence?.sessionId ?? undefined,
|
|
636
|
+
turnId: event.agent.activeForegroundTurnId ?? undefined,
|
|
637
|
+
lifecycle: event.agent.lifecycle,
|
|
638
|
+
}, "agent.session.forward_update");
|
|
622
639
|
void this.forwardAgentUpdate(event.agent);
|
|
623
640
|
return;
|
|
624
641
|
}
|
|
@@ -661,6 +678,14 @@ export class Session {
|
|
|
661
678
|
if (!serializedEvent) {
|
|
662
679
|
return;
|
|
663
680
|
}
|
|
681
|
+
this.sessionLogger.trace({
|
|
682
|
+
agentId: event.agentId,
|
|
683
|
+
provider: event.event.provider,
|
|
684
|
+
turnId: getAgentStreamEventTurnId(event.event),
|
|
685
|
+
seq: event.seq,
|
|
686
|
+
epoch: event.epoch,
|
|
687
|
+
event: event.event,
|
|
688
|
+
}, "agent.session.forward_stream");
|
|
664
689
|
const payload = {
|
|
665
690
|
agentId: event.agentId,
|
|
666
691
|
event: serializedEvent,
|
|
@@ -933,7 +958,10 @@ export class Session {
|
|
|
933
958
|
this.peakInflightRequests = this.inflightRequests;
|
|
934
959
|
}
|
|
935
960
|
try {
|
|
936
|
-
this.sessionLogger.trace({
|
|
961
|
+
this.sessionLogger.trace({
|
|
962
|
+
messageType: msg.type,
|
|
963
|
+
payloadBytes: JSON.stringify(msg).length,
|
|
964
|
+
}, "agent.session.inbound");
|
|
937
965
|
try {
|
|
938
966
|
await this.dispatchInboundMessage(msg);
|
|
939
967
|
}
|
|
@@ -1857,6 +1885,7 @@ export class Session {
|
|
|
1857
1885
|
logger: this.sessionLogger.child({ component: "voice-turn-controller" }),
|
|
1858
1886
|
turnDetection,
|
|
1859
1887
|
stt,
|
|
1888
|
+
sttLanguage: this.sttLanguage,
|
|
1860
1889
|
callbacks: {
|
|
1861
1890
|
onSpeechStarted: async () => {
|
|
1862
1891
|
this.sessionLogger.debug("Voice VAD speech_started");
|
|
@@ -2079,6 +2108,17 @@ export class Session {
|
|
|
2079
2108
|
const { handle, overrides, requestId } = msg;
|
|
2080
2109
|
if (!handle) {
|
|
2081
2110
|
this.sessionLogger.warn("Resume request missing persistence handle");
|
|
2111
|
+
if (requestId) {
|
|
2112
|
+
this.emit({
|
|
2113
|
+
type: "rpc_error",
|
|
2114
|
+
payload: {
|
|
2115
|
+
requestId,
|
|
2116
|
+
requestType: msg.type,
|
|
2117
|
+
error: "Unable to resume agent: missing persistence handle",
|
|
2118
|
+
code: "agent_resume_failed",
|
|
2119
|
+
},
|
|
2120
|
+
});
|
|
2121
|
+
}
|
|
2082
2122
|
this.emit({
|
|
2083
2123
|
type: "activity_log",
|
|
2084
2124
|
payload: {
|
|
@@ -2113,14 +2153,26 @@ export class Session {
|
|
|
2113
2153
|
}
|
|
2114
2154
|
}
|
|
2115
2155
|
catch (error) {
|
|
2156
|
+
const message = getErrorMessage(error);
|
|
2116
2157
|
this.sessionLogger.error({ err: error }, "Failed to resume agent");
|
|
2158
|
+
if (requestId) {
|
|
2159
|
+
this.emit({
|
|
2160
|
+
type: "rpc_error",
|
|
2161
|
+
payload: {
|
|
2162
|
+
requestId,
|
|
2163
|
+
requestType: msg.type,
|
|
2164
|
+
error: message,
|
|
2165
|
+
code: "agent_resume_failed",
|
|
2166
|
+
},
|
|
2167
|
+
});
|
|
2168
|
+
}
|
|
2117
2169
|
this.emit({
|
|
2118
2170
|
type: "activity_log",
|
|
2119
2171
|
payload: {
|
|
2120
2172
|
id: uuidv4(),
|
|
2121
2173
|
timestamp: new Date(),
|
|
2122
2174
|
type: "error",
|
|
2123
|
-
content: `Failed to resume agent: ${
|
|
2175
|
+
content: `Failed to resume agent: ${message}`,
|
|
2124
2176
|
},
|
|
2125
2177
|
});
|
|
2126
2178
|
}
|
|
@@ -2228,14 +2280,26 @@ export class Session {
|
|
|
2228
2280
|
}
|
|
2229
2281
|
}
|
|
2230
2282
|
catch (error) {
|
|
2283
|
+
const message = getErrorMessage(error);
|
|
2231
2284
|
this.sessionLogger.error({ err: error, agentId }, `Failed to refresh agent ${agentId}`);
|
|
2285
|
+
if (requestId) {
|
|
2286
|
+
this.emit({
|
|
2287
|
+
type: "rpc_error",
|
|
2288
|
+
payload: {
|
|
2289
|
+
requestId,
|
|
2290
|
+
requestType: msg.type,
|
|
2291
|
+
error: message,
|
|
2292
|
+
code: "agent_refresh_failed",
|
|
2293
|
+
},
|
|
2294
|
+
});
|
|
2295
|
+
}
|
|
2232
2296
|
this.emit({
|
|
2233
2297
|
type: "activity_log",
|
|
2234
2298
|
payload: {
|
|
2235
2299
|
id: uuidv4(),
|
|
2236
2300
|
timestamp: new Date(),
|
|
2237
2301
|
type: "error",
|
|
2238
|
-
content: `Failed to refresh agent: ${
|
|
2302
|
+
content: `Failed to refresh agent: ${message}`,
|
|
2239
2303
|
},
|
|
2240
2304
|
});
|
|
2241
2305
|
}
|
|
@@ -5459,7 +5523,11 @@ export class Session {
|
|
|
5459
5523
|
try {
|
|
5460
5524
|
const agentId = resolved.agentId;
|
|
5461
5525
|
const prompt = this.buildAgentPrompt(msg.text, msg.images, msg.attachments);
|
|
5462
|
-
this.sessionLogger.trace({
|
|
5526
|
+
this.sessionLogger.trace({
|
|
5527
|
+
agentId,
|
|
5528
|
+
messageId: msg.messageId,
|
|
5529
|
+
textPrefix: msg.text.slice(0, 80),
|
|
5530
|
+
}, "agent.session.send_agent_message");
|
|
5463
5531
|
let dispatchResult;
|
|
5464
5532
|
try {
|
|
5465
5533
|
dispatchResult = await sendPromptToAgent({
|
|
@@ -6082,7 +6150,10 @@ export class Session {
|
|
|
6082
6150
|
* Emit a message to the client
|
|
6083
6151
|
*/
|
|
6084
6152
|
emit(msg) {
|
|
6085
|
-
this.sessionLogger.trace({
|
|
6153
|
+
this.sessionLogger.trace({
|
|
6154
|
+
messageType: msg.type,
|
|
6155
|
+
payloadBytes: JSON.stringify(msg).length,
|
|
6156
|
+
}, "agent.session.outbound");
|
|
6086
6157
|
if (msg.type === "audio_output" &&
|
|
6087
6158
|
(process.env.TTS_DEBUG_AUDIO_DIR || isPaseoDictationDebugEnabled()) &&
|
|
6088
6159
|
msg.payload.groupId &&
|
|
@@ -6137,7 +6208,7 @@ export class Session {
|
|
|
6137
6208
|
* Clean up session resources
|
|
6138
6209
|
*/
|
|
6139
6210
|
async cleanup() {
|
|
6140
|
-
this.sessionLogger.trace(
|
|
6211
|
+
this.sessionLogger.trace({}, "agent.session.lifecycle.cleanup");
|
|
6141
6212
|
if (this.unsubscribeAgentEvents) {
|
|
6142
6213
|
this.unsubscribeAgentEvents();
|
|
6143
6214
|
this.unsubscribeAgentEvents = null;
|