@dexto/core 1.6.25 → 1.6.27

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 (150) hide show
  1. package/dist/agent/DextoAgent.cjs +102 -104
  2. package/dist/agent/DextoAgent.d.ts +11 -10
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +103 -105
  5. package/dist/agent/error-codes.cjs +1 -0
  6. package/dist/agent/error-codes.d.ts +1 -0
  7. package/dist/agent/error-codes.d.ts.map +1 -1
  8. package/dist/agent/error-codes.js +1 -0
  9. package/dist/agent/errors.cjs +13 -0
  10. package/dist/agent/errors.d.ts +6 -0
  11. package/dist/agent/errors.d.ts.map +1 -1
  12. package/dist/agent/errors.js +13 -0
  13. package/dist/agent/index.d.ts +1 -0
  14. package/dist/agent/index.d.ts.map +1 -1
  15. package/dist/agent/schemas.d.ts +2 -2
  16. package/dist/agent/types.d.ts +11 -0
  17. package/dist/agent/types.d.ts.map +1 -1
  18. package/dist/approval/factory.cjs +1 -0
  19. package/dist/approval/factory.d.ts.map +1 -1
  20. package/dist/approval/factory.js +1 -0
  21. package/dist/approval/manager.cjs +345 -182
  22. package/dist/approval/manager.d.ts +45 -31
  23. package/dist/approval/manager.d.ts.map +1 -1
  24. package/dist/approval/manager.js +345 -182
  25. package/dist/approval/schemas.cjs +10 -0
  26. package/dist/approval/schemas.d.ts +305 -0
  27. package/dist/approval/schemas.d.ts.map +1 -1
  28. package/dist/approval/schemas.js +10 -0
  29. package/dist/approval/session-approval-store.cjs +91 -0
  30. package/dist/approval/session-approval-store.d.ts +55 -0
  31. package/dist/approval/session-approval-store.d.ts.map +1 -0
  32. package/dist/approval/session-approval-store.js +68 -0
  33. package/dist/events/index.cjs +210 -75
  34. package/dist/events/index.d.ts +44 -181
  35. package/dist/events/index.d.ts.map +1 -1
  36. package/dist/events/index.js +206 -74
  37. package/dist/hooks/manager.cjs +5 -2
  38. package/dist/hooks/manager.d.ts +2 -0
  39. package/dist/hooks/manager.d.ts.map +1 -1
  40. package/dist/hooks/manager.js +5 -2
  41. package/dist/hooks/types.d.ts +3 -0
  42. package/dist/hooks/types.d.ts.map +1 -1
  43. package/dist/index.browser.d.ts +1 -0
  44. package/dist/index.browser.d.ts.map +1 -1
  45. package/dist/index.cjs +3 -1
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/llm/executor/turn-executor.cjs +15 -7
  50. package/dist/llm/executor/turn-executor.d.ts +3 -1
  51. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  52. package/dist/llm/executor/turn-executor.js +15 -7
  53. package/dist/llm/services/factory.cjs +10 -4
  54. package/dist/llm/services/factory.d.ts +2 -21
  55. package/dist/llm/services/factory.d.ts.map +1 -1
  56. package/dist/llm/services/factory.js +11 -7
  57. package/dist/llm/services/types.d.ts +33 -2
  58. package/dist/llm/services/types.d.ts.map +1 -1
  59. package/dist/llm/services/vercel.cjs +33 -11
  60. package/dist/llm/services/vercel.d.ts +6 -3
  61. package/dist/llm/services/vercel.d.ts.map +1 -1
  62. package/dist/llm/services/vercel.js +29 -8
  63. package/dist/logger/default-logger-factory.d.ts +12 -12
  64. package/dist/logger/v2/schemas.d.ts +6 -6
  65. package/dist/mcp/manager.cjs +7 -2
  66. package/dist/mcp/manager.d.ts +3 -1
  67. package/dist/mcp/manager.d.ts.map +1 -1
  68. package/dist/mcp/manager.js +7 -2
  69. package/dist/mcp/mcp-client.cjs +71 -62
  70. package/dist/mcp/mcp-client.d.ts +3 -2
  71. package/dist/mcp/mcp-client.d.ts.map +1 -1
  72. package/dist/mcp/mcp-client.js +71 -62
  73. package/dist/mcp/schemas.d.ts +10 -10
  74. package/dist/resources/handlers/filesystem-handler.cjs +22 -3
  75. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  76. package/dist/resources/handlers/filesystem-handler.js +22 -3
  77. package/dist/runtime/host-runtime.cjs +163 -0
  78. package/dist/runtime/host-runtime.d.ts +23 -0
  79. package/dist/runtime/host-runtime.d.ts.map +1 -0
  80. package/dist/runtime/host-runtime.js +133 -0
  81. package/dist/runtime/index.cjs +42 -0
  82. package/dist/runtime/index.d.ts +2 -0
  83. package/dist/runtime/index.d.ts.map +1 -0
  84. package/dist/runtime/index.js +21 -0
  85. package/dist/runtime/run-context.cjs +53 -0
  86. package/dist/runtime/run-context.d.ts +13 -0
  87. package/dist/runtime/run-context.d.ts.map +1 -0
  88. package/dist/runtime/run-context.js +34 -0
  89. package/dist/session/chat-session.cjs +67 -71
  90. package/dist/session/chat-session.d.ts +25 -25
  91. package/dist/session/chat-session.d.ts.map +1 -1
  92. package/dist/session/chat-session.js +68 -72
  93. package/dist/session/error-codes.cjs +1 -0
  94. package/dist/session/error-codes.d.ts +2 -1
  95. package/dist/session/error-codes.d.ts.map +1 -1
  96. package/dist/session/error-codes.js +1 -0
  97. package/dist/session/errors.cjs +13 -0
  98. package/dist/session/errors.d.ts +6 -0
  99. package/dist/session/errors.d.ts.map +1 -1
  100. package/dist/session/errors.js +13 -0
  101. package/dist/session/message-queue-store.cjs +75 -0
  102. package/dist/session/message-queue-store.d.ts +16 -0
  103. package/dist/session/message-queue-store.d.ts.map +1 -0
  104. package/dist/session/message-queue-store.js +52 -0
  105. package/dist/session/message-queue.cjs +140 -46
  106. package/dist/session/message-queue.d.ts +18 -6
  107. package/dist/session/message-queue.d.ts.map +1 -1
  108. package/dist/session/message-queue.js +140 -46
  109. package/dist/session/session-manager.cjs +130 -25
  110. package/dist/session/session-manager.d.ts +18 -1
  111. package/dist/session/session-manager.d.ts.map +1 -1
  112. package/dist/session/session-manager.js +130 -25
  113. package/dist/session/title-generator.cjs +9 -2
  114. package/dist/session/title-generator.d.ts +2 -0
  115. package/dist/session/title-generator.d.ts.map +1 -1
  116. package/dist/session/title-generator.js +9 -2
  117. package/dist/telemetry/decorators.cjs +75 -57
  118. package/dist/telemetry/decorators.d.ts +2 -0
  119. package/dist/telemetry/decorators.d.ts.map +1 -1
  120. package/dist/telemetry/decorators.js +75 -57
  121. package/dist/telemetry/errors.cjs +2 -2
  122. package/dist/telemetry/errors.js +2 -2
  123. package/dist/telemetry/index.d.ts +1 -1
  124. package/dist/telemetry/index.d.ts.map +1 -1
  125. package/dist/telemetry/index.js +3 -1
  126. package/dist/telemetry/telemetry.cjs +62 -21
  127. package/dist/telemetry/telemetry.d.ts +14 -0
  128. package/dist/telemetry/telemetry.d.ts.map +1 -1
  129. package/dist/telemetry/telemetry.js +62 -21
  130. package/dist/telemetry/utils.cjs +9 -6
  131. package/dist/telemetry/utils.d.ts +3 -0
  132. package/dist/telemetry/utils.d.ts.map +1 -1
  133. package/dist/telemetry/utils.js +9 -6
  134. package/dist/test-utils/session-state-stores.cjs +68 -0
  135. package/dist/test-utils/session-state-stores.js +42 -0
  136. package/dist/tools/session-tool-preferences-store.cjs +86 -0
  137. package/dist/tools/session-tool-preferences-store.d.ts +29 -0
  138. package/dist/tools/session-tool-preferences-store.d.ts.map +1 -0
  139. package/dist/tools/session-tool-preferences-store.js +63 -0
  140. package/dist/tools/tool-manager.cjs +223 -68
  141. package/dist/tools/tool-manager.d.ts +29 -9
  142. package/dist/tools/tool-manager.d.ts.map +1 -1
  143. package/dist/tools/tool-manager.js +223 -68
  144. package/dist/tools/types.d.ts +7 -1
  145. package/dist/tools/types.d.ts.map +1 -1
  146. package/dist/utils/service-initializer.cjs +38 -5
  147. package/dist/utils/service-initializer.d.ts +11 -1
  148. package/dist/utils/service-initializer.d.ts.map +1 -1
  149. package/dist/utils/service-initializer.js +36 -4
  150. package/package.json +1 -1
@@ -1,5 +1,4 @@
1
1
  import "../chunk-PTJYTZNU.js";
2
- import { EventEmitter } from "events";
3
2
  const AGENT_EVENT_NAMES = [
4
3
  "session:reset",
5
4
  "session:created",
@@ -28,7 +27,7 @@ const AGENT_EVENT_NAMES = [
28
27
  "tool:background",
29
28
  "tool:background-completed"
30
29
  ];
31
- const SESSION_EVENT_NAMES = [
30
+ const FORWARDED_SESSION_EVENT_NAMES = [
32
31
  "llm:thinking",
33
32
  "llm:chunk",
34
33
  "llm:response",
@@ -37,7 +36,6 @@ const SESSION_EVENT_NAMES = [
37
36
  "llm:tool-call-partial",
38
37
  "llm:tool-result",
39
38
  "llm:error",
40
- "llm:switched",
41
39
  "llm:unsupported-input",
42
40
  "tool:running",
43
41
  "context:compacting",
@@ -48,6 +46,11 @@ const SESSION_EVENT_NAMES = [
48
46
  "message:removed",
49
47
  "run:complete"
50
48
  ];
49
+ const SESSION_ONLY_EVENT_NAMES = ["llm:switched"];
50
+ const SESSION_EVENT_NAMES = [
51
+ ...FORWARDED_SESSION_EVENT_NAMES,
52
+ ...SESSION_ONLY_EVENT_NAMES
53
+ ];
51
54
  const EVENT_NAMES = [...AGENT_EVENT_NAMES, ...SESSION_EVENT_NAMES];
52
55
  const STREAMING_EVENTS = [
53
56
  // LLM events (session-scoped, forwarded to agent bus with sessionId)
@@ -107,16 +110,48 @@ const SessionEventNames = Object.freeze([
107
110
  ]);
108
111
  const EventNames = Object.freeze([...EVENT_NAMES]);
109
112
  class BaseTypedEventEmitter {
110
- // Wrapped EventEmitter instance
111
- _emitter = new EventEmitter();
112
- // Store listeners with their abort controllers for cleanup
113
- // Maps AbortSignal -> Event Name -> Set of listener functions
113
+ _listeners = {};
114
114
  _abortListeners = /* @__PURE__ */ new WeakMap();
115
+ getOrCreateListeners(event) {
116
+ let listeners = this._listeners[event];
117
+ if (listeners === void 0) {
118
+ listeners = /* @__PURE__ */ new Set();
119
+ this._listeners[event] = listeners;
120
+ }
121
+ return listeners;
122
+ }
123
+ registerAbortCleanup(signal, cleanup) {
124
+ let cleanups = this._abortListeners.get(signal);
125
+ if (cleanups === void 0) {
126
+ cleanups = /* @__PURE__ */ new Set();
127
+ this._abortListeners.set(signal, cleanups);
128
+ }
129
+ cleanups.add(cleanup);
130
+ signal.addEventListener("abort", cleanup, { once: true });
131
+ }
132
+ unregisterAbortCleanup(signal, cleanup) {
133
+ const cleanups = this._abortListeners.get(signal);
134
+ if (cleanups === void 0) {
135
+ return;
136
+ }
137
+ cleanups.delete(cleanup);
138
+ signal.removeEventListener("abort", cleanup);
139
+ if (cleanups.size === 0) {
140
+ this._abortListeners.delete(signal);
141
+ }
142
+ }
115
143
  /**
116
144
  * Emit an event with type-safe payload
117
145
  */
118
146
  emit(event, ...args) {
119
- return this._emitter.emit(event, ...args);
147
+ const listeners = this._listeners[event];
148
+ if (listeners === void 0 || listeners.size === 0) {
149
+ return false;
150
+ }
151
+ for (const listener of [...listeners]) {
152
+ listener(...args);
153
+ }
154
+ return true;
120
155
  }
121
156
  /**
122
157
  * Subscribe to an event with type-safe listener
@@ -125,34 +160,15 @@ class BaseTypedEventEmitter {
125
160
  if (options?.signal?.aborted) {
126
161
  return this;
127
162
  }
128
- this._emitter.on(event, listener);
163
+ const listeners = this.getOrCreateListeners(event);
164
+ listeners.add(listener);
129
165
  if (options?.signal) {
130
166
  const signal = options.signal;
131
- if (!this._abortListeners.has(signal)) {
132
- this._abortListeners.set(signal, /* @__PURE__ */ new Map());
133
- }
134
- const eventMap = this._abortListeners.get(signal);
135
- if (!eventMap.has(event)) {
136
- eventMap.set(event, /* @__PURE__ */ new Set());
137
- }
138
- eventMap.get(event).add(listener);
139
- const abortHandler = () => {
167
+ const cleanup = () => {
140
168
  this.off(event, listener);
141
- const eventMap2 = this._abortListeners.get(signal);
142
- if (eventMap2) {
143
- const listenerSet = eventMap2.get(event);
144
- if (listenerSet) {
145
- listenerSet.delete(listener);
146
- if (listenerSet.size === 0) {
147
- eventMap2.delete(event);
148
- }
149
- }
150
- if (eventMap2.size === 0) {
151
- this._abortListeners.delete(signal);
152
- }
153
- }
169
+ this.unregisterAbortCleanup(signal, cleanup);
154
170
  };
155
- signal.addEventListener("abort", abortHandler, { once: true });
171
+ this.registerAbortCleanup(signal, cleanup);
156
172
  }
157
173
  return this;
158
174
  }
@@ -163,52 +179,24 @@ class BaseTypedEventEmitter {
163
179
  if (options?.signal?.aborted) {
164
180
  return this;
165
181
  }
182
+ let cleanupAbortListener;
166
183
  const onceWrapper = (...args) => {
167
- if (options?.signal) {
168
- const eventMap = this._abortListeners.get(options.signal);
169
- if (eventMap) {
170
- const listenerSet = eventMap.get(event);
171
- if (listenerSet) {
172
- listenerSet.delete(onceWrapper);
173
- if (listenerSet.size === 0) {
174
- eventMap.delete(event);
175
- }
176
- }
177
- if (eventMap.size === 0) {
178
- this._abortListeners.delete(options.signal);
179
- }
180
- }
184
+ this.off(event, onceWrapper);
185
+ if (cleanupAbortListener !== void 0 && options?.signal) {
186
+ this.unregisterAbortCleanup(options.signal, cleanupAbortListener);
187
+ cleanupAbortListener = void 0;
181
188
  }
182
189
  listener(...args);
183
190
  };
184
- this._emitter.once(event, onceWrapper);
191
+ this.getOrCreateListeners(event).add(onceWrapper);
185
192
  if (options?.signal) {
186
193
  const signal = options.signal;
187
- if (!this._abortListeners.has(signal)) {
188
- this._abortListeners.set(signal, /* @__PURE__ */ new Map());
189
- }
190
- const eventMap = this._abortListeners.get(signal);
191
- if (!eventMap.has(event)) {
192
- eventMap.set(event, /* @__PURE__ */ new Set());
193
- }
194
- eventMap.get(event).add(onceWrapper);
195
- const abortHandler = () => {
194
+ const abortCleanup = () => {
196
195
  this.off(event, onceWrapper);
197
- const eventMap2 = this._abortListeners.get(signal);
198
- if (eventMap2) {
199
- const listenerSet = eventMap2.get(event);
200
- if (listenerSet) {
201
- listenerSet.delete(onceWrapper);
202
- if (listenerSet.size === 0) {
203
- eventMap2.delete(event);
204
- }
205
- }
206
- if (eventMap2.size === 0) {
207
- this._abortListeners.delete(signal);
208
- }
209
- }
196
+ this.unregisterAbortCleanup(signal, abortCleanup);
210
197
  };
211
- signal.addEventListener("abort", abortHandler, { once: true });
198
+ cleanupAbortListener = abortCleanup;
199
+ this.registerAbortCleanup(signal, abortCleanup);
212
200
  }
213
201
  return this;
214
202
  }
@@ -216,14 +204,21 @@ class BaseTypedEventEmitter {
216
204
  * Unsubscribe from an event
217
205
  */
218
206
  off(event, listener) {
219
- this._emitter.off(event, listener);
207
+ const listeners = this._listeners[event];
208
+ if (listeners === void 0) {
209
+ return this;
210
+ }
211
+ listeners.delete(listener);
212
+ if (listeners.size === 0) {
213
+ delete this._listeners[event];
214
+ }
220
215
  return this;
221
216
  }
222
217
  /**
223
218
  * Configure max listeners for this event bus to avoid noisy warnings when many subscribers exist.
224
219
  */
225
220
  setMaxListeners(count) {
226
- this._emitter.setMaxListeners(count);
221
+ void count;
227
222
  return this;
228
223
  }
229
224
  }
@@ -231,9 +226,143 @@ class AgentEventBus extends BaseTypedEventEmitter {
231
226
  }
232
227
  class SessionEventBus extends BaseTypedEventEmitter {
233
228
  }
234
- class TypedEventEmitter extends BaseTypedEventEmitter {
229
+ class TypedEventEmitter extends AgentEventBus {
235
230
  }
236
231
  const eventBus = new TypedEventEmitter().setMaxListeners(200);
232
+ function withForwardedSessionContext(payload, sessionId, hostRuntime) {
233
+ if (payload.hostRuntime !== void 0 || hostRuntime === void 0) {
234
+ return {
235
+ ...payload,
236
+ sessionId
237
+ };
238
+ }
239
+ return {
240
+ ...payload,
241
+ sessionId,
242
+ hostRuntime
243
+ };
244
+ }
245
+ function forwardSessionEventsToAgentBus({
246
+ sessionEventBus,
247
+ agentEventBus,
248
+ sessionId,
249
+ hostRuntime
250
+ }) {
251
+ const cleanups = [];
252
+ const on = (event, listener) => {
253
+ sessionEventBus.on(event, listener);
254
+ cleanups.push(() => {
255
+ sessionEventBus.off(event, listener);
256
+ });
257
+ };
258
+ on("llm:thinking", (payload) => {
259
+ agentEventBus.emit(
260
+ "llm:thinking",
261
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
262
+ );
263
+ });
264
+ on("llm:chunk", (payload) => {
265
+ agentEventBus.emit(
266
+ "llm:chunk",
267
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
268
+ );
269
+ });
270
+ on("llm:response", (payload) => {
271
+ agentEventBus.emit(
272
+ "llm:response",
273
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
274
+ );
275
+ });
276
+ on("llm:rate-limit-status", (payload) => {
277
+ agentEventBus.emit(
278
+ "llm:rate-limit-status",
279
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
280
+ );
281
+ });
282
+ on("llm:tool-call", (payload) => {
283
+ agentEventBus.emit(
284
+ "llm:tool-call",
285
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
286
+ );
287
+ });
288
+ on("llm:tool-call-partial", (payload) => {
289
+ agentEventBus.emit(
290
+ "llm:tool-call-partial",
291
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
292
+ );
293
+ });
294
+ on("llm:tool-result", (payload) => {
295
+ agentEventBus.emit(
296
+ "llm:tool-result",
297
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
298
+ );
299
+ });
300
+ on("llm:error", (payload) => {
301
+ agentEventBus.emit(
302
+ "llm:error",
303
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
304
+ );
305
+ });
306
+ on("llm:unsupported-input", (payload) => {
307
+ agentEventBus.emit(
308
+ "llm:unsupported-input",
309
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
310
+ );
311
+ });
312
+ on("tool:running", (payload) => {
313
+ agentEventBus.emit(
314
+ "tool:running",
315
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
316
+ );
317
+ });
318
+ on("context:compacting", (payload) => {
319
+ agentEventBus.emit(
320
+ "context:compacting",
321
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
322
+ );
323
+ });
324
+ on("context:compacted", (payload) => {
325
+ agentEventBus.emit(
326
+ "context:compacted",
327
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
328
+ );
329
+ });
330
+ on("context:pruned", (payload) => {
331
+ agentEventBus.emit(
332
+ "context:pruned",
333
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
334
+ );
335
+ });
336
+ on("message:queued", (payload) => {
337
+ agentEventBus.emit(
338
+ "message:queued",
339
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
340
+ );
341
+ });
342
+ on("message:dequeued", (payload) => {
343
+ agentEventBus.emit(
344
+ "message:dequeued",
345
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
346
+ );
347
+ });
348
+ on("message:removed", (payload) => {
349
+ agentEventBus.emit(
350
+ "message:removed",
351
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
352
+ );
353
+ });
354
+ on("run:complete", (payload) => {
355
+ agentEventBus.emit(
356
+ "run:complete",
357
+ withForwardedSessionContext(payload, sessionId, hostRuntime)
358
+ );
359
+ });
360
+ return () => {
361
+ for (const cleanup of cleanups) {
362
+ cleanup();
363
+ }
364
+ };
365
+ }
237
366
  export {
238
367
  AGENT_EVENT_NAMES,
239
368
  AgentEventBus,
@@ -241,11 +370,14 @@ export {
241
370
  BaseTypedEventEmitter,
242
371
  EVENT_NAMES,
243
372
  EventNames,
373
+ FORWARDED_SESSION_EVENT_NAMES,
244
374
  INTEGRATION_EVENTS,
245
375
  SESSION_EVENT_NAMES,
376
+ SESSION_ONLY_EVENT_NAMES,
246
377
  STREAMING_EVENTS,
247
378
  SessionEventBus,
248
379
  SessionEventNames,
249
380
  TypedEventEmitter,
250
- eventBus
381
+ eventBus,
382
+ forwardSessionEventsToAgentBus
251
383
  };
@@ -131,11 +131,14 @@ class HookManager {
131
131
  }
132
132
  let currentPayload = { ...payload };
133
133
  const asyncCtx = (0, import_async_context.getContext)();
134
- const llmConfig = options.stateManager.getLLMConfig(options.sessionId);
134
+ const sessionId = options.runContext?.sessionId ?? options.sessionId;
135
+ const runtimeConfig = options.stateManager.getRuntimeConfig(sessionId);
136
+ const llmConfig = runtimeConfig.llm;
135
137
  const context = {
136
- sessionId: options.sessionId ?? void 0,
138
+ sessionId: sessionId ?? void 0,
137
139
  userId: asyncCtx?.userId ?? void 0,
138
140
  tenantId: asyncCtx?.tenantId ?? void 0,
141
+ hostRuntime: options.runContext?.hostRuntime,
139
142
  llmConfig,
140
143
  logger: this.logger,
141
144
  abortSignal: options.abortSignal ?? void 0,
@@ -6,6 +6,7 @@ import type { MCPManager } from '../mcp/manager.js';
6
6
  import type { ToolManager } from '../tools/tool-manager.js';
7
7
  import type { AgentStateManager } from '../agent/state-manager.js';
8
8
  import type { Logger } from '../logger/v2/types.js';
9
+ import type { AgentRunContext } from '../runtime/run-context.js';
9
10
  /**
10
11
  * Options for HookManager construction.
11
12
  */
@@ -22,6 +23,7 @@ export interface HookExecutionContextOptions {
22
23
  mcpManager: MCPManager;
23
24
  toolManager: ToolManager;
24
25
  stateManager: AgentStateManager;
26
+ runContext?: AgentRunContext | undefined;
25
27
  sessionId?: string;
26
28
  abortSignal?: AbortSignal;
27
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/hooks/manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAwB,IAAI,EAAc,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IACxC,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,qBAAqB,CAA0C;IACvE,OAAO,CAAC,kBAAkB,CAAwC;IAClE,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAS;IAEvB,wDAAwD;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAEnC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM;IAOtE;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAkB7B;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;;;;;;;;OASG;IACG,YAAY,CAAC,CAAC,SAAS,MAAM,EAC/B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,CAAC,CAAC;IAqKb;;;OAGG;YACW,kBAAkB;IA8BhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B;;OAEG;IACH,QAAQ,IAAI;QACR,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;KACpD;IAaD;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM,EAAE;IAMxB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,oBAAoB;CAsB/B"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/hooks/manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAwB,IAAI,EAAc,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IACxC,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,iBAAiB,CAAC;IAChC,UAAU,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,qBAAqB,CAA0C;IACvE,OAAO,CAAC,kBAAkB,CAAwC;IAClE,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAS;IAEvB,wDAAwD;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAEnC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM;IAOtE;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAkB7B;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;;;;;;;;OASG;IACG,YAAY,CAAC,CAAC,SAAS,MAAM,EAC/B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,CAAC,CAAC;IAwKb;;;OAGG;YACW,kBAAkB;IA8BhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B;;OAEG;IACH,QAAQ,IAAI;QACR,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;KACpD;IAaD;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM,EAAE;IAMxB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,oBAAoB;CAsB/B"}
@@ -109,11 +109,14 @@ class HookManager {
109
109
  }
110
110
  let currentPayload = { ...payload };
111
111
  const asyncCtx = getContext();
112
- const llmConfig = options.stateManager.getLLMConfig(options.sessionId);
112
+ const sessionId = options.runContext?.sessionId ?? options.sessionId;
113
+ const runtimeConfig = options.stateManager.getRuntimeConfig(sessionId);
114
+ const llmConfig = runtimeConfig.llm;
113
115
  const context = {
114
- sessionId: options.sessionId ?? void 0,
116
+ sessionId: sessionId ?? void 0,
115
117
  userId: asyncCtx?.userId ?? void 0,
116
118
  tenantId: asyncCtx?.tenantId ?? void 0,
119
+ hostRuntime: options.runContext?.hostRuntime,
117
120
  llmConfig,
118
121
  logger: this.logger,
119
122
  abortSignal: options.abortSignal ?? void 0,
@@ -6,6 +6,7 @@ import type { ToolManager } from '../tools/tool-manager.js';
6
6
  import type { AgentStateManager } from '../agent/state-manager.js';
7
7
  import type { AgentEventBus } from '../events/index.js';
8
8
  import type { StorageManager } from '../storage/index.js';
9
+ import type { HostRuntimeContext } from '../runtime/index.js';
9
10
  /**
10
11
  * Extension point names - fixed for MVP
11
12
  * These are the 4 hook sites from PR #385 converted to generic hook extension points.
@@ -46,6 +47,8 @@ export interface HookExecutionContext {
46
47
  userId?: string | undefined;
47
48
  /** Tenant ID (set by application layer for multi-tenant deployments via AsyncLocalStorage) */
48
49
  tenantId?: string | undefined;
50
+ /** Host-owned runtime IDs for orchestration and correlation */
51
+ hostRuntime?: HostRuntimeContext | undefined;
49
52
  /** Current LLM configuration */
50
53
  llmConfig: ValidatedLLMConfig;
51
54
  /** Logger scoped to this hook execution */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export type { ContributorConfig, SystemPromptConfig } from './systemPrompt/schem
22
22
  export type { SearchOptions, SearchResult, SessionSearchResult, SearchResponse, SessionSearchResponse, } from './search/types.js';
23
23
  export type { AgentEventMap, SessionEventMap } from './events/index.js';
24
24
  export type { ToolCallMetadata } from './tools/tool-call-metadata.js';
25
+ export type { HostRuntimeContext, HostRuntimeIds } from './runtime/host-runtime.js';
25
26
  export type { ModelInfo, ProviderInfo } from './llm/registry/index.js';
26
27
  export type { SupportedFileType } from './llm/types.js';
27
28
  export type { ResourceMetadata } from './resources/types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG1D,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGzE,YAAY,EACR,eAAe,EACf,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,cAAc,EACd,WAAW,EACX,QAAQ,EACR,kBAAkB,GACrB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG/E,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACH,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,GAC9B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EACH,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,6BAA6B,GAChC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,GACf,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGvF,YAAY,EACR,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,qBAAqB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACH,uBAAuB,EACvB,yBAAyB,GAC5B,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG1D,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGzE,YAAY,EACR,eAAe,EACf,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,cAAc,EACd,WAAW,EACX,QAAQ,EACR,kBAAkB,GACrB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG/E,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACH,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,GAC9B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EACH,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,6BAA6B,GAChC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,GACf,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGvF,YAAY,EACR,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,qBAAqB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGpF,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACH,uBAAuB,EACvB,yBAAyB,GAC5B,MAAM,iCAAiC,CAAC"}
package/dist/index.cjs CHANGED
@@ -44,6 +44,7 @@ __reExport(index_exports, require("./memory/index.js"), module.exports);
44
44
  __reExport(index_exports, require("./hooks/index.js"), module.exports);
45
45
  __reExport(index_exports, require("./workspace/index.js"), module.exports);
46
46
  __reExport(index_exports, require("./telemetry/index.js"), module.exports);
47
+ __reExport(index_exports, require("./runtime/index.js"), module.exports);
47
48
  // Annotate the CommonJS export names for ESM import in node:
48
49
  0 && (module.exports = {
49
50
  getFileMediaKind,
@@ -67,5 +68,6 @@ __reExport(index_exports, require("./telemetry/index.js"), module.exports);
67
68
  ...require("./memory/index.js"),
68
69
  ...require("./hooks/index.js"),
69
70
  ...require("./workspace/index.js"),
70
- ...require("./telemetry/index.js")
71
+ ...require("./telemetry/index.js"),
72
+ ...require("./runtime/index.js")
71
73
  });
package/dist/index.d.ts CHANGED
@@ -41,4 +41,5 @@ export * from './memory/index.js';
41
41
  export * from './hooks/index.js';
42
42
  export * from './workspace/index.js';
43
43
  export * from './telemetry/index.js';
44
+ export * from './runtime/index.js';
44
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,cAAc,kBAAkB,CAAC;AAUjC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGvE,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,cAAc,kBAAkB,CAAC;AAUjC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGvE,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ export * from "./memory/index.js";
20
20
  export * from "./hooks/index.js";
21
21
  export * from "./workspace/index.js";
22
22
  export * from "./telemetry/index.js";
23
+ export * from "./runtime/index.js";
23
24
  export {
24
25
  getFileMediaKind,
25
26
  getResourceKind
@@ -90,7 +90,7 @@ var import_codex_base_url = require("../providers/codex-base-url.js");
90
90
  const toolSupportCache = /* @__PURE__ */ new Map();
91
91
  const LOCAL_PROVIDERS = ["ollama", "local"];
92
92
  class TurnExecutor {
93
- constructor(model, toolManager, contextManager, eventBus, resourceManager, sessionId, config, llmContext, logger, messageQueue, modelLimits, externalSignal, compactionStrategy = null) {
93
+ constructor(model, toolManager, contextManager, eventBus, resourceManager, sessionId, config, llmContext, logger, messageQueue, modelLimits, externalSignal, compactionStrategy = null, runContext) {
94
94
  this.model = model;
95
95
  this.toolManager = toolManager;
96
96
  this.contextManager = contextManager;
@@ -102,6 +102,7 @@ class TurnExecutor {
102
102
  this.messageQueue = messageQueue;
103
103
  this.modelLimits = modelLimits;
104
104
  this.externalSignal = externalSignal;
105
+ this.runContext = runContext;
105
106
  this.logger = logger.createChild(import_types3.DextoLogComponent.EXECUTOR);
106
107
  this.stepAbortController = new AbortController();
107
108
  this.compactionStrategy = compactionStrategy;
@@ -154,7 +155,7 @@ class TurnExecutor {
154
155
  let lastStepTokens = null;
155
156
  let lastFinishReason = "unknown";
156
157
  let lastText = "";
157
- this.eventBus.emit("llm:thinking");
158
+ this.eventBus.emit("llm:thinking", {});
158
159
  const supportsTools = await this.validateToolSupport();
159
160
  if (!supportsTools) {
160
161
  const modelKey = `${this.llmContext.provider}:${this.llmContext.model}`;
@@ -187,7 +188,7 @@ class TurnExecutor {
187
188
  once: true
188
189
  });
189
190
  }
190
- const coalesced = this.messageQueue.dequeueAll();
191
+ const coalesced = await this.messageQueue.dequeueAll();
191
192
  if (coalesced) {
192
193
  await this.injectQueuedMessages(coalesced);
193
194
  }
@@ -320,7 +321,7 @@ class TurnExecutor {
320
321
  );
321
322
  }
322
323
  if (result.finishReason !== "tool-calls") {
323
- const queuedOnTerminate = this.messageQueue.dequeueAll();
324
+ const queuedOnTerminate = await this.messageQueue.dequeueAll();
324
325
  if (queuedOnTerminate) {
325
326
  this.logger.debug(
326
327
  `Continuing: ${queuedOnTerminate.messages.length} queued message(s) to process`
@@ -531,8 +532,11 @@ class TurnExecutor {
531
532
  name,
532
533
  args,
533
534
  options.toolCallId,
534
- this.sessionId,
535
- abortSignal
535
+ {
536
+ sessionId: this.sessionId,
537
+ abortSignal,
538
+ ...this.runContext !== void 0 ? { runContext: this.runContext } : {}
539
+ }
536
540
  );
537
541
  const metadata = (() => {
538
542
  const meta = {};
@@ -757,7 +761,11 @@ class TurnExecutor {
757
761
  if (!this.stepAbortController.signal.aborted) {
758
762
  this.stepAbortController.abort();
759
763
  }
760
- this.messageQueue.clear();
764
+ void this.messageQueue.clear().catch((error) => {
765
+ this.logger.warn(
766
+ `Failed to clear queued follow-up messages during cleanup: ${error instanceof Error ? error.message : String(error)}`
767
+ );
768
+ });
761
769
  }
762
770
  /**
763
771
  * Check if context should be compacted based on estimated token count.
@@ -10,6 +10,7 @@ import { DynamicContributorContext } from '../../systemPrompt/types.js';
10
10
  import type { MessageQueueService } from '../../session/message-queue.js';
11
11
  import type { CompactionStrategy } from '../../context/compaction/types.js';
12
12
  import type { ModelLimits } from '../../context/compaction/overflow.js';
13
+ import type { AgentRunContext } from '../../runtime/run-context.js';
13
14
  /**
14
15
  * TurnExecutor orchestrates the agent loop using `stopWhen: stepCountIs(1)`.
15
16
  *
@@ -34,6 +35,7 @@ export declare class TurnExecutor {
34
35
  private messageQueue;
35
36
  private modelLimits?;
36
37
  private externalSignal?;
38
+ private runContext?;
37
39
  private logger;
38
40
  /**
39
41
  * Per-step abort controller. Created fresh for each iteration of the loop.
@@ -53,7 +55,7 @@ export declare class TurnExecutor {
53
55
  baseURL?: string | undefined;
54
56
  usageScopeId?: string | undefined;
55
57
  reasoning?: LLMReasoningConfig | undefined;
56
- }, llmContext: LLMContext, logger: Logger, messageQueue: MessageQueueService, modelLimits?: ModelLimits | undefined, externalSignal?: AbortSignal | undefined, compactionStrategy?: CompactionStrategy | null);
58
+ }, llmContext: LLMContext, logger: Logger, messageQueue: MessageQueueService, modelLimits?: ModelLimits | undefined, externalSignal?: AbortSignal | undefined, compactionStrategy?: CompactionStrategy | null, runContext?: AgentRunContext | undefined);
57
59
  /**
58
60
  * Get StreamProcessor config from TurnExecutor state.
59
61
  * @param estimatedInputTokens Optional estimated input tokens for analytics
@@ -1 +1 @@
1
- {"version":3,"file":"turn-executor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/turn-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAMb,KAAK,YAAY,EAEpB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAQ1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAK1D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAER,kBAAkB,EAClB,UAAU,EAGb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAQ1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAexE;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IAuBjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,cAAc,CAAC;IAzC3B,OAAO,CAAC,MAAM,CAAS;IACvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,kBAAkB,CAAmC;IAC7D;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAQpB;gBAGQ,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,EAC5C,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAElC,SAAS,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;KAC9C,EACO,UAAU,EAAE,UAAU,EAC9B,MAAM,EAAE,MAAM,EACN,YAAY,EAAE,mBAAmB,EACjC,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,cAAc,CAAC,EAAE,WAAW,YAAA,EACpC,kBAAkB,GAAE,kBAAkB,GAAG,IAAW;IAcxD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAoBhC;;;;;;OAMG;IACG,OAAO,CACT,kBAAkB,EAAE,yBAAyB,EAC7C,SAAS,GAAE,OAAc,GAC1B,OAAO,CAAC,cAAc,CAAC;IAsV1B;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;YACW,oBAAoB;IAmBlC;;;;;;;;OAQG;YACW,mBAAmB;IAkFjC;;;;;;;OAOG;YACW,WAAW;IAqIzB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAuF9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAU;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAU;IAE/C;;;;;;;;;;;OAWG;YACW,mBAAmB;IAkDjC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;OAGG;IACH,OAAO,CAAC,OAAO;IAYf;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;;;;;;;;;OAWG;YACW,cAAc;IAwF5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,qBAAqB;IAK7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAyF3B"}
1
+ {"version":3,"file":"turn-executor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/turn-executor.ts"],"names":[],"mappings":"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"}