@framers/agentos 0.15.71 → 0.15.73

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 (95) hide show
  1. package/.github/badges/tests.json +1 -1
  2. package/dist/api/generateText.d.ts.map +1 -1
  3. package/dist/api/generateText.js +28 -64
  4. package/dist/api/generateText.js.map +1 -1
  5. package/dist/api/runtime/responseFormatForProvider.d.ts +2 -3
  6. package/dist/api/runtime/responseFormatForProvider.d.ts.map +1 -1
  7. package/dist/api/runtime/responseFormatForProvider.js +2 -3
  8. package/dist/api/runtime/responseFormatForProvider.js.map +1 -1
  9. package/dist/api/server/AgentOSServer.d.ts +9 -0
  10. package/dist/api/server/AgentOSServer.d.ts.map +1 -1
  11. package/dist/api/server/AgentOSServer.js +92 -6
  12. package/dist/api/server/AgentOSServer.js.map +1 -1
  13. package/dist/api/streamText.d.ts.map +1 -1
  14. package/dist/api/streamText.js +26 -56
  15. package/dist/api/streamText.js.map +1 -1
  16. package/dist/core/llm/providers/AIModelProviderManager.d.ts +5 -5
  17. package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
  18. package/dist/core/llm/providers/AIModelProviderManager.js +11 -14
  19. package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
  20. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts +7 -6
  21. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
  22. package/dist/core/llm/providers/implementations/OpenAIProvider.js +39 -54
  23. package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -1
  24. package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts.map +1 -1
  25. package/dist/core/llm/providers/implementations/OpenRouterProvider.js +20 -30
  26. package/dist/core/llm/providers/implementations/OpenRouterProvider.js.map +1 -1
  27. package/dist/core/logging/ILogger.d.ts +12 -0
  28. package/dist/core/logging/ILogger.d.ts.map +1 -1
  29. package/dist/core/logging/ILogger.js +5 -0
  30. package/dist/core/logging/ILogger.js.map +1 -1
  31. package/dist/core/logging/Logger.d.ts +52 -0
  32. package/dist/core/logging/Logger.d.ts.map +1 -0
  33. package/dist/core/logging/Logger.js +11 -0
  34. package/dist/core/logging/Logger.js.map +1 -0
  35. package/dist/core/logging/PinoLogger.d.ts +24 -2
  36. package/dist/core/logging/PinoLogger.d.ts.map +1 -1
  37. package/dist/core/logging/PinoLogger.js +39 -3
  38. package/dist/core/logging/PinoLogger.js.map +1 -1
  39. package/dist/core/logging/contentSafeTelemetry.d.ts +1 -1
  40. package/dist/core/logging/contentSafeTelemetry.d.ts.map +1 -1
  41. package/dist/core/logging/contentSafeTelemetry.js +1 -1
  42. package/dist/core/logging/contentSafeTelemetry.js.map +1 -1
  43. package/dist/core/logging/events.d.ts +349 -0
  44. package/dist/core/logging/events.d.ts.map +1 -0
  45. package/dist/core/logging/events.js +164 -0
  46. package/dist/core/logging/events.js.map +1 -0
  47. package/dist/core/logging/forward.d.ts +93 -0
  48. package/dist/core/logging/forward.d.ts.map +1 -0
  49. package/dist/core/logging/forward.js +167 -0
  50. package/dist/core/logging/forward.js.map +1 -0
  51. package/dist/core/logging/index.d.ts +8 -3
  52. package/dist/core/logging/index.d.ts.map +1 -1
  53. package/dist/core/logging/index.js +7 -3
  54. package/dist/core/logging/index.js.map +1 -1
  55. package/dist/core/logging/kit/allowList.d.ts +68 -0
  56. package/dist/core/logging/kit/allowList.d.ts.map +1 -0
  57. package/dist/core/logging/kit/allowList.js +219 -0
  58. package/dist/core/logging/kit/allowList.js.map +1 -0
  59. package/dist/core/logging/kit/burst.d.ts +38 -0
  60. package/dist/core/logging/kit/burst.d.ts.map +1 -0
  61. package/dist/core/logging/kit/burst.js +91 -0
  62. package/dist/core/logging/kit/burst.js.map +1 -0
  63. package/dist/core/logging/kit/consoleCapture.d.ts +47 -0
  64. package/dist/core/logging/kit/consoleCapture.d.ts.map +1 -0
  65. package/dist/core/logging/kit/consoleCapture.js +121 -0
  66. package/dist/core/logging/kit/consoleCapture.js.map +1 -0
  67. package/dist/core/logging/kit/index.d.ts +12 -0
  68. package/dist/core/logging/kit/index.d.ts.map +1 -0
  69. package/dist/core/logging/kit/index.js +12 -0
  70. package/dist/core/logging/kit/index.js.map +1 -0
  71. package/dist/core/logging/kit/processHandlers.d.ts +48 -0
  72. package/dist/core/logging/kit/processHandlers.d.ts.map +1 -0
  73. package/dist/core/logging/kit/processHandlers.js +77 -0
  74. package/dist/core/logging/kit/processHandlers.js.map +1 -0
  75. package/dist/core/logging/level.d.ts +33 -0
  76. package/dist/core/logging/level.d.ts.map +1 -0
  77. package/dist/core/logging/level.js +36 -0
  78. package/dist/core/logging/level.js.map +1 -0
  79. package/dist/core/logging/loggerFactory.d.ts +74 -15
  80. package/dist/core/logging/loggerFactory.d.ts.map +1 -1
  81. package/dist/core/logging/loggerFactory.js +138 -18
  82. package/dist/core/logging/loggerFactory.js.map +1 -1
  83. package/dist/core/logging/state.d.ts +77 -0
  84. package/dist/core/logging/state.d.ts.map +1 -0
  85. package/dist/core/logging/state.js +25 -0
  86. package/dist/core/logging/state.js.map +1 -0
  87. package/dist/core/utils/terminal.d.ts +22 -0
  88. package/dist/core/utils/terminal.d.ts.map +1 -0
  89. package/dist/core/utils/terminal.js +27 -0
  90. package/dist/core/utils/terminal.js.map +1 -0
  91. package/dist/io/voice-pipeline/providers/OpenAIRealtimeTTS.d.ts +23 -4
  92. package/dist/io/voice-pipeline/providers/OpenAIRealtimeTTS.d.ts.map +1 -1
  93. package/dist/io/voice-pipeline/providers/OpenAIRealtimeTTS.js +296 -71
  94. package/dist/io/voice-pipeline/providers/OpenAIRealtimeTTS.js.map +1 -1
  95. package/package.json +6 -1
@@ -110,9 +110,8 @@ export function responseFormatCarriesSchema(responseFormat) {
110
110
  return responseFormat.type === 'json_schema' || responseFormat._gemini !== undefined;
111
111
  }
112
112
  /**
113
- * Compact label for a structured-output payload shape, used by the
114
- * `fallback_fired` log line (`rebuiltResponseFormatType`) as the live
115
- * verification signal that per-leg rebuild is active.
113
+ * Compact label for a structured-output payload shape, naming which form a
114
+ * per-leg rebuild produced.
116
115
  *
117
116
  * @returns `'none'` | `'anthropic_json_schema'` | `'anthropic_tool'` |
118
117
  * `'gemini_response_schema'` | the payload's `type` string (`'json_schema'`
@@ -1 +1 @@
1
- {"version":3,"file":"responseFormatForProvider.js","sourceRoot":"","sources":["../../../src/api/runtime/responseFormatForProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responseFormatForProvider.js","sourceRoot":"","sources":["../../../src/api/runtime/responseFormatForProvider.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,15 @@ export declare class AgentOSServer {
8
8
  private readonly config;
9
9
  private agentReady;
10
10
  constructor(agentOSConfig: AgentOSConfig, serverConfig: AgentOSServerConfig);
11
+ /**
12
+ * Runs one request under a fresh id. The id is returned in `x-request-id`, and every AgentOS event line written
13
+ * while the request runs carries it as `requestId`. When the response closes, one `http.request` line gives the
14
+ * method, the route as the server names it, the status (0 when no status was sent), the milliseconds and the
15
+ * outcome: `error` for a 5xx status or a handler that threw, even when the connection then closed early, otherwise
16
+ * `aborted` when the connection closed before the response finished, otherwise `ok`. It is written at `error`,
17
+ * `warn` or `info` to match. A handler's failure is written once, as `http.handler_failed`.
18
+ */
19
+ private receive;
11
20
  private handleRequest;
12
21
  /**
13
22
  * Test seam: replace the embedded AgentOS (unit tests only). Silences the
@@ -1 +1 @@
1
- {"version":3,"file":"AgentOSServer.d.ts","sourceRoot":"","sources":["../../../src/api/server/AgentOSServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,MAAM,IAAI,UAAU,EAAkB,MAAM,MAAM,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAW5D,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,UAAU,CAAgB;gBAEtB,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB;YAO7D,aAAa;IAsD3B;;;;OAIG;IACI,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;YAMlC,yBAAyB;YAUzB,iBAAiB;IAmC/B,OAAO,CAAC,QAAQ;IAwBhB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,QAAQ;IAKH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,SAAS,IAAI,UAAU;CAG/B"}
1
+ {"version":3,"file":"AgentOSServer.d.ts","sourceRoot":"","sources":["../../../src/api/server/AgentOSServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,MAAM,IAAI,UAAU,EAAkB,MAAM,MAAM,CAAC;AAG3F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAgD5D,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,UAAU,CAAgB;gBAEtB,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB;IAO3E;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;YA0BD,aAAa;IAkE3B;;;;OAIG;IACI,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;YAMlC,yBAAyB;YAUzB,iBAAiB;IAmC/B,OAAO,CAAC,QAAQ;IAwBhB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,QAAQ;IAKH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,SAAS,IAAI,UAAU;CAG/B"}
@@ -1,17 +1,90 @@
1
1
  import { createServer } from 'http';
2
+ import { randomUUID } from 'node:crypto';
3
+ import { performance } from 'node:perf_hooks';
2
4
  import { AgentOS } from '../AgentOS.js';
5
+ import { moduleLogger } from '../../core/logging/loggerFactory.js';
6
+ import { getLoggingState } from '../../core/logging/state.js';
7
+ import { errorFields } from '../../core/logging/events.js';
8
+ /** The server's events, to the target current when each is written; each line of a request carries its id. */
9
+ const log = moduleLogger('http', 'agentos_server');
10
+ /** The methods an `http.request` line names; any other is written as `OTHER`. */
11
+ const METHODS = ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS', 'CONNECT', 'TRACE'];
12
+ /**
13
+ * The route a request names before AgentOS is ready, from its method and path alone, so a request given up on while
14
+ * AgentOS starts keeps its route. An extension's request reads `unmatched` until a handler takes it.
15
+ */
16
+ function routeOf(req) {
17
+ if (req.method === 'OPTIONS')
18
+ return 'preflight';
19
+ let path;
20
+ try {
21
+ path = new URL(req.url ?? '/', 'http://localhost').pathname;
22
+ }
23
+ catch {
24
+ return 'unmatched';
25
+ }
26
+ if (req.method === 'GET' && path === '/health')
27
+ return '/health';
28
+ if (req.method === 'GET' && path === '/api/agentos/personas')
29
+ return '/api/agentos/personas';
30
+ if (req.method === 'POST' && path === '/api/agentos/chat')
31
+ return '/api/agentos/chat';
32
+ return 'unmatched';
33
+ }
3
34
  export class AgentOSServer {
4
35
  constructor(agentOSConfig, serverConfig) {
5
36
  this.config = serverConfig;
6
37
  this.agentOS = new AgentOS();
7
38
  this.agentReady = this.agentOS.initialize(agentOSConfig);
8
- this.server = createServer((req, res) => this.handleRequest(req, res));
39
+ this.server = createServer((req, res) => this.receive(req, res));
40
+ }
41
+ /**
42
+ * Runs one request under a fresh id. The id is returned in `x-request-id`, and every AgentOS event line written
43
+ * while the request runs carries it as `requestId`. When the response closes, one `http.request` line gives the
44
+ * method, the route as the server names it, the status (0 when no status was sent), the milliseconds and the
45
+ * outcome: `error` for a 5xx status or a handler that threw, even when the connection then closed early, otherwise
46
+ * `aborted` when the connection closed before the response finished, otherwise `ok`. It is written at `error`,
47
+ * `warn` or `info` to match. A handler's failure is written once, as `http.handler_failed`.
48
+ */
49
+ receive(req, res) {
50
+ const requestId = randomUUID();
51
+ const started = performance.now();
52
+ const record = { route: routeOf(req), failed: false };
53
+ const requests = getLoggingState().requests;
54
+ res.setHeader('x-request-id', requestId);
55
+ // A close that comes from the socket runs outside the request's context, so the line enters it again.
56
+ res.once('close', () => requests.run({ requestId }, () => {
57
+ const status = res.headersSent ? res.statusCode : 0;
58
+ const outcome = record.failed || status >= 500 ? 'error' : !res.writableFinished ? 'aborted' : 'ok';
59
+ const method = METHODS.includes(req.method ?? '') ? req.method : 'OTHER';
60
+ const fields = { method, route: record.route, status, ms: Math.max(0, Math.round(performance.now() - started)), outcome };
61
+ if (outcome === 'ok')
62
+ log.info('http.request', fields);
63
+ else if (outcome === 'error')
64
+ log.error('http.request', fields);
65
+ else
66
+ log.warn('http.request', fields);
67
+ }));
68
+ requests.run({ requestId }, () => {
69
+ void this.handleRequest(req, res, record).catch((error) => {
70
+ // A failure an extension's handler already wrote is not written again.
71
+ if (!record.failed) {
72
+ record.failed = true;
73
+ log.error('http.handler_failed', errorFields(error));
74
+ }
75
+ if (!res.headersSent)
76
+ this.sendJson(res, 500, { error: 'Internal Server Error' });
77
+ else
78
+ res.destroy();
79
+ });
80
+ });
9
81
  }
10
- async handleRequest(req, res) {
82
+ async handleRequest(req, res, record) {
11
83
  try {
12
84
  await this.agentReady;
13
85
  }
14
86
  catch (error) {
87
+ record.route = 'unready';
15
88
  this.sendJson(res, 500, { error: 'AgentOS failed to initialise', details: error.message });
16
89
  return;
17
90
  }
@@ -20,38 +93,51 @@ export class AgentOSServer {
20
93
  res.setHeader('Access-Control-Allow-Origin', this.config.corsOrigin ?? '*');
21
94
  res.setHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS');
22
95
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
96
+ res.setHeader('Access-Control-Expose-Headers', 'x-request-id');
23
97
  }
24
98
  if (req.method === 'OPTIONS') {
99
+ record.route = 'preflight';
25
100
  res.writeHead(204);
26
101
  res.end();
27
102
  return;
28
103
  }
29
104
  const url = new URL(req.url ?? '/', `http://${req.headers.host || this.config.host || 'localhost'}`);
30
105
  if (req.method === 'GET' && url.pathname === '/health') {
106
+ record.route = '/health';
31
107
  this.sendJson(res, 200, { status: 'ok', service: 'agentos-server' });
32
108
  return;
33
109
  }
34
110
  if (req.method === 'GET' && url.pathname === '/api/agentos/personas') {
111
+ record.route = '/api/agentos/personas';
35
112
  await this.handleListPersonasRequest(url, res);
36
113
  return;
37
114
  }
38
115
  if (req.method === 'POST' && url.pathname === '/api/agentos/chat') {
116
+ record.route = '/api/agentos/chat';
39
117
  await this.handleChatRequest(req, res);
40
118
  return;
41
119
  }
42
120
  if (this.config.dispatchExtensionHandlers !== false) {
43
121
  for (const handler of this.agentOS.getHttpHandlers()) {
122
+ // Set before the call: a handler that claims the request may answer it before it returns.
123
+ record.route = 'extension';
44
124
  try {
45
125
  if (await handler(req, res))
46
126
  return;
47
127
  }
48
128
  catch (error) {
49
- // Log the detail server-side; never echo arbitrary extension error
50
- // text back to the client (it can carry internal/sensitive strings).
51
- console.error('[AgentOSServer] Extension HTTP handler error:', error.message);
52
- this.sendJson(res, 500, { error: 'Extension HTTP handler error' });
129
+ // The error is written as its type and code alone; its text, which can carry internal or sensitive strings,
130
+ // reaches neither the line nor the client.
131
+ record.failed = true;
132
+ log.error('http.handler_failed', errorFields(error));
133
+ // A handler that began its response before it threw has its connection closed; a status cannot follow.
134
+ if (!res.headersSent)
135
+ this.sendJson(res, 500, { error: 'Extension HTTP handler error' });
136
+ else
137
+ res.destroy();
53
138
  return;
54
139
  }
140
+ record.route = 'unmatched';
55
141
  }
56
142
  }
57
143
  this.sendJson(res, 404, { error: 'Not Found' });
@@ -1 +1 @@
1
- {"version":3,"file":"AgentOSServer.js","sourceRoot":"","sources":["../../../src/api/server/AgentOSServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentOSServer.js","sourceRoot":"","sources":["../../../src/api/server/AgentOSServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"streamText.d.ts","sourceRoot":"","sources":["../../src/api/streamText.ts"],"names":[],"mappings":"AAkBA,OAAO,EAsBL,KAAK,cAAc,EAEnB,KAAK,mBAAmB,EAIxB,KAAK,UAAU,EAEf,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AA4F3E;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7B,kBAAkB,CAiBpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,oCAAoC,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAC/F,2FAA2F;IAC3F,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,yEAAyE;IACzE,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtC;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,2EAA2E;IAC3E,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrC;;;;;;;;;OASG;IACH,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAC/C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C;;;;;;;OAOG;IACH,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,iBAAiB,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3C;AAgCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,mBAAmB,GAAG,gBAAgB,CAowDtE"}
1
+ {"version":3,"file":"streamText.d.ts","sourceRoot":"","sources":["../../src/api/streamText.ts"],"names":[],"mappings":"AAkBA,OAAO,EAsBL,KAAK,cAAc,EAEnB,KAAK,mBAAmB,EAIxB,KAAK,UAAU,EAEf,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAuG3E;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7B,kBAAkB,CAiBpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,oCAAoC,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAC/F,2FAA2F;IAC3F,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,yEAAyE;IACzE,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtC;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,2EAA2E;IAC3E,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrC;;;;;;;;;OASG;IACH,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAC/C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C;;;;;;;OAOG;IACH,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,iBAAiB,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3C;AAgCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,mBAAmB,GAAG,gBAAgB,CAutDtE"}
@@ -26,17 +26,32 @@ import { resolveDynamicToolCalls } from './runtime/dynamicToolCalling.js';
26
26
  import { StreamingReconstructor } from '../core/llm/streaming/StreamingReconstructor.js';
27
27
  import { globalLLMProviderHealth } from '../core/safety/LLMProviderHealthRegistry.js';
28
28
  import { recordAgentOSTurnMetrics, startAgentOSSpan } from '../safety/evaluation/observability/otel.js';
29
- import { lazyLogger } from './runtime/lazyLogger.js';
29
+ import { moduleLogger } from '../core/logging/loggerFactory.js';
30
+ import { errorFields, providerName } from '../core/logging/events.js';
30
31
  import { isCallMask } from './runtime/pool/redact.js';
31
32
  import { createContentSafeConsole } from '../core/logging/contentSafeConsole.js';
32
33
  /** This module's fixed diagnostic origin; no runtime name enters telemetry. */
33
34
  const console = createContentSafeConsole('stream_text');
34
35
  /**
35
- * The `fallback` component's lines, to the logger the host's factory makes when
36
- * each line is written: a factory set with `setLoggerFactory` after this module
37
- * was imported still receives every failover line.
36
+ * The `fallback` component's events, to the target current when each is
37
+ * written: a logger or a factory set with `setLogger` or `setLoggerFactory`
38
+ * after this module was imported still receives every failover event.
38
39
  */
39
- const fallbackLogger = lazyLogger('fallback');
40
+ const fallbackLogger = moduleLogger('fallback', 'stream_text');
41
+ // A fallback skip's reason as one of the fixed words `llm.fallback_skipped` takes, never the reason's own text.
42
+ function skipReason(reason) {
43
+ if (reason.includes('duplicate') || reason.includes('primary'))
44
+ return 'duplicate';
45
+ if (reason.includes('exclud'))
46
+ return 'excluded';
47
+ if (reason.includes('capabil'))
48
+ return 'capability';
49
+ if (reason.includes('refus') || reason.includes('claude'))
50
+ return 'refusal';
51
+ if (reason.includes('refill'))
52
+ return 'refill';
53
+ return 'unknown';
54
+ }
40
55
  async function recordAgentOSUsageLazy(input) {
41
56
  const { recordAgentOSUsage } = await import('./runtime/usageLedger.js');
42
57
  return recordAgentOSUsage(input);
@@ -1383,14 +1398,7 @@ export function streamText(opts) {
1383
1398
  const chainEntries = opts.fallbackProviders === undefined
1384
1399
  ? buildPolicyAwareFallbackChain(walkTier, recordedProviderId)
1385
1400
  : opts.fallbackProviders;
1386
- const logLegSkip = (entry, reason) => fallbackLogger.info('streaming provider fallback skipped', {
1387
- event: 'fallback_leg_skipped',
1388
- api: 'streamText',
1389
- reason,
1390
- primaryProvider: recordedProviderId,
1391
- fallbackProvider: entry.provider,
1392
- fallbackModel: entry.model,
1393
- });
1401
+ const logLegSkip = (entry, reason) => fallbackLogger.warn('llm.fallback_skipped', { api: 'streamText', primaryProvider: providerName(recordedProviderId), fallbackProvider: providerName(entry.provider), reason: skipReason(reason) });
1394
1402
  // A stream that already handed text or tool activity to the consumer
1395
1403
  // is not restarted on another provider (a refusal after text
1396
1404
  // included): the consumer would receive the partial answer followed by
@@ -1454,14 +1462,7 @@ export function streamText(opts) {
1454
1462
  const legProvider = fallbackEntrySentAs(fb).provider;
1455
1463
  const legOnSharedCredentials = fb.apiKey === undefined && fb.baseUrl === undefined && opts.__strictCredentials !== true;
1456
1464
  if (legOnSharedCredentials && globalLLMProviderHealth.isOpen(legProvider)) {
1457
- fallbackLogger.info('streaming provider fallback skipped (circuit open)', {
1458
- event: 'fallback_skipped_circuit_open',
1459
- api: 'streamText',
1460
- primaryProvider: recordedProviderId,
1461
- fallbackProvider: legProvider,
1462
- fallbackModel: fb.model,
1463
- attempt,
1464
- });
1465
+ fallbackLogger.warn('llm.fallback_circuit_open', { api: 'streamText', primaryProvider: providerName(recordedProviderId), fallbackProvider: providerName(legProvider), attempt });
1465
1466
  // An open breaker is an availability failure: a standing leg is
1466
1467
  // owed a refill.
1467
1468
  walkState = advanceFallbackWalk(walkState, fb.walkRole, undefined);
@@ -1474,17 +1475,7 @@ export function streamText(opts) {
1474
1475
  // The run this leg reports as the one that answered, once it ended.
1475
1476
  let legAnswer;
1476
1477
  try {
1477
- fallbackLogger.info('streaming provider fallback triggered', {
1478
- event: 'fallback_fired',
1479
- api: 'streamText',
1480
- primaryProvider: recordedProviderId,
1481
- fallbackProvider: fb.provider,
1482
- fallbackModel: fb.model,
1483
- errorType: lastFallbackError.name,
1484
- // A seat's mask first: a provider's message can echo the key it was sent.
1485
- errorMessage: maskToolText(lastFallbackError.message).slice(0, 200),
1486
- attempt,
1487
- });
1478
+ fallbackLogger.warn('llm.fallback_fired', { api: 'streamText', primaryProvider: providerName(recordedProviderId), fallbackProvider: providerName(fb.provider), attempt, ...errorFields(lastFallbackError) });
1488
1479
  // A seat's callback is handed the error through the seat's mask, as it would leave the seat.
1489
1480
  opts.onFallback?.(opts.__maskError ? opts.__maskError(lastFallbackError) : lastFallbackError, fb.provider);
1490
1481
  const fallbackResult = streamText({
@@ -1608,25 +1599,11 @@ export function streamText(opts) {
1608
1599
  answeredBy = legAnswer ?? answeredBy;
1609
1600
  if (fallbackFinishReason === 'error') {
1610
1601
  outcome = 'failed-after-output';
1611
- fallbackLogger.warn('streaming provider fallback failed after output', {
1612
- event: 'fallback_failed_after_output',
1613
- api: 'streamText',
1614
- primaryProvider: recordedProviderId,
1615
- fallbackProvider: fb.provider,
1616
- fallbackModel: fb.model,
1617
- attempt,
1618
- });
1602
+ fallbackLogger.error('llm.fallback_failed_after_output', { api: 'streamText', primaryProvider: providerName(recordedProviderId), fallbackProvider: providerName(fb.provider), attempt });
1619
1603
  }
1620
1604
  else {
1621
1605
  outcome = 'served';
1622
- fallbackLogger.info('streaming provider fallback succeeded', {
1623
- event: 'fallback_succeeded',
1624
- api: 'streamText',
1625
- primaryProvider: recordedProviderId,
1626
- fallbackProvider: fb.provider,
1627
- fallbackModel: fb.model,
1628
- attempt,
1629
- });
1606
+ fallbackLogger.info('llm.fallback_succeeded', { api: 'streamText', primaryProvider: providerName(recordedProviderId), fallbackProvider: providerName(fb.provider), attempt });
1630
1607
  }
1631
1608
  break;
1632
1609
  }
@@ -1679,14 +1656,7 @@ export function streamText(opts) {
1679
1656
  const walkSignal = opts.abortSignal;
1680
1657
  const walkStoppedBy = walkSignal?.aborted ? abortReasonError(walkSignal) : undefined;
1681
1658
  if (!walkStoppedBy) {
1682
- fallbackLogger.warn('streaming provider fallbacks exhausted', {
1683
- event: 'fallback_exhausted',
1684
- api: 'streamText',
1685
- primaryProvider: recordedProviderId,
1686
- attempts: attempt,
1687
- errorType: lastFallbackError.name,
1688
- errorMessage: maskToolText(lastFallbackError.message).slice(0, 200),
1689
- });
1659
+ fallbackLogger.error('llm.fallback_exhausted', { api: 'streamText', primaryProvider: providerName(recordedProviderId), attempts: attempt, ...errorFields(lastFallbackError) });
1690
1660
  }
1691
1661
  metricStatus = 'error';
1692
1662
  // No leg answered: the trail names this attempt's provider.