@amodalai/runtime 0.2.0 → 0.2.2

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 (268) hide show
  1. package/dist/src/__fixtures__/README.md +4 -0
  2. package/dist/src/{agent/user-context-fetcher.test.d.ts → __fixtures__/e2e.test.d.ts} +1 -1
  3. package/dist/src/__fixtures__/e2e.test.js +211 -0
  4. package/dist/src/__fixtures__/e2e.test.js.map +1 -0
  5. package/dist/src/__fixtures__/smoke-agent/automations/delivery-callback-test.json +9 -0
  6. package/dist/src/__fixtures__/smoke-agent/connections/mock-mcp/spec.json +1 -1
  7. package/dist/src/__fixtures__/smoke.test.js +715 -29
  8. package/dist/src/__fixtures__/smoke.test.js.map +1 -1
  9. package/dist/src/__fixtures__/test-env.d.ts +27 -0
  10. package/dist/src/__fixtures__/test-env.js +64 -0
  11. package/dist/src/__fixtures__/test-env.js.map +1 -0
  12. package/dist/src/__fixtures__/test-helpers.d.ts +30 -0
  13. package/dist/src/__fixtures__/test-helpers.js +120 -0
  14. package/dist/src/__fixtures__/test-helpers.js.map +1 -0
  15. package/dist/src/agent/agent-types.d.ts +22 -0
  16. package/dist/src/agent/agent-types.js.map +1 -1
  17. package/dist/src/agent/automation-bridge.d.ts +9 -0
  18. package/dist/src/agent/automation-bridge.js +26 -0
  19. package/dist/src/agent/automation-bridge.js.map +1 -1
  20. package/dist/src/agent/automation-bridge.test.js +63 -0
  21. package/dist/src/agent/automation-bridge.test.js.map +1 -1
  22. package/dist/src/agent/local-server.d.ts +0 -7
  23. package/dist/src/agent/local-server.js +274 -87
  24. package/dist/src/agent/local-server.js.map +1 -1
  25. package/dist/src/agent/local-server.test.js +14 -11
  26. package/dist/src/agent/local-server.test.js.map +1 -1
  27. package/dist/src/agent/loop-types.d.ts +81 -7
  28. package/dist/src/agent/loop-types.js +4 -0
  29. package/dist/src/agent/loop-types.js.map +1 -1
  30. package/dist/src/agent/loop.js +16 -3
  31. package/dist/src/agent/loop.js.map +1 -1
  32. package/dist/src/agent/loop.test.js +572 -10
  33. package/dist/src/agent/loop.test.js.map +1 -1
  34. package/dist/src/agent/page-builder.js +20 -17
  35. package/dist/src/agent/page-builder.js.map +1 -1
  36. package/dist/src/agent/proactive/delivery-router.d.ts +68 -0
  37. package/dist/src/agent/proactive/delivery-router.js +337 -0
  38. package/dist/src/agent/proactive/delivery-router.js.map +1 -0
  39. package/dist/src/agent/proactive/delivery-router.test.d.ts +6 -0
  40. package/dist/src/agent/proactive/delivery-router.test.js +455 -0
  41. package/dist/src/agent/proactive/delivery-router.test.js.map +1 -0
  42. package/dist/src/agent/proactive/proactive-runner.d.ts +23 -1
  43. package/dist/src/agent/proactive/proactive-runner.js +42 -10
  44. package/dist/src/agent/proactive/proactive-runner.js.map +1 -1
  45. package/dist/src/agent/proactive/proactive-runner.test.js +0 -3
  46. package/dist/src/agent/proactive/proactive-runner.test.js.map +1 -1
  47. package/dist/src/agent/routes/admin-chat-abort.test.d.ts +6 -0
  48. package/dist/src/agent/routes/admin-chat-abort.test.js +206 -0
  49. package/dist/src/agent/routes/admin-chat-abort.test.js.map +1 -0
  50. package/dist/src/agent/routes/admin-chat.js +0 -3
  51. package/dist/src/agent/routes/admin-chat.js.map +1 -1
  52. package/dist/src/agent/routes/files.js +46 -52
  53. package/dist/src/agent/routes/files.js.map +1 -1
  54. package/dist/src/agent/routes/inspect.js +4 -6
  55. package/dist/src/agent/routes/inspect.js.map +1 -1
  56. package/dist/src/agent/routes/task.test.js +0 -3
  57. package/dist/src/agent/routes/task.test.js.map +1 -1
  58. package/dist/src/agent/snapshot-server.js +37 -3
  59. package/dist/src/agent/snapshot-server.js.map +1 -1
  60. package/dist/src/agent/states/compacting.js +5 -3
  61. package/dist/src/agent/states/compacting.js.map +1 -1
  62. package/dist/src/agent/states/confirming.js +3 -0
  63. package/dist/src/agent/states/confirming.js.map +1 -1
  64. package/dist/src/agent/states/dispatching.js +45 -2
  65. package/dist/src/agent/states/dispatching.js.map +1 -1
  66. package/dist/src/agent/states/executing.js +225 -81
  67. package/dist/src/agent/states/executing.js.map +1 -1
  68. package/dist/src/agent/states/streaming.js +14 -0
  69. package/dist/src/agent/states/streaming.js.map +1 -1
  70. package/dist/src/agent/states/thinking.d.ts +1 -1
  71. package/dist/src/agent/states/thinking.js +246 -29
  72. package/dist/src/agent/states/thinking.js.map +1 -1
  73. package/dist/src/agent/token-estimate.d.ts +20 -6
  74. package/dist/src/agent/token-estimate.js +24 -3
  75. package/dist/src/agent/token-estimate.js.map +1 -1
  76. package/dist/src/agent/token-estimate.test.d.ts +6 -0
  77. package/dist/src/agent/token-estimate.test.js +44 -0
  78. package/dist/src/agent/token-estimate.test.js.map +1 -0
  79. package/dist/src/agent/tool-executor-local.test.js +0 -1
  80. package/dist/src/agent/tool-executor-local.test.js.map +1 -1
  81. package/dist/src/agent/tool-harness-template.js +0 -1
  82. package/dist/src/agent/tool-harness-template.js.map +1 -1
  83. package/dist/src/api/create-agent.js +1 -5
  84. package/dist/src/api/create-agent.js.map +1 -1
  85. package/dist/src/api/types.d.ts +1 -5
  86. package/dist/src/channels/bootstrap.d.ts +59 -0
  87. package/dist/src/channels/bootstrap.js +84 -0
  88. package/dist/src/channels/bootstrap.js.map +1 -0
  89. package/dist/src/channels/channel-session-mapper.d.ts +42 -0
  90. package/dist/src/channels/channel-session-mapper.js +91 -0
  91. package/dist/src/channels/channel-session-mapper.js.map +1 -0
  92. package/dist/src/channels/dedup-cache.d.ts +17 -0
  93. package/dist/src/channels/dedup-cache.js +51 -0
  94. package/dist/src/channels/dedup-cache.js.map +1 -0
  95. package/dist/src/channels/dedup-cache.test.d.ts +6 -0
  96. package/dist/src/channels/dedup-cache.test.js +51 -0
  97. package/dist/src/channels/dedup-cache.test.js.map +1 -0
  98. package/dist/src/channels/errors.d.ts +28 -0
  99. package/dist/src/channels/errors.js +38 -0
  100. package/dist/src/channels/errors.js.map +1 -0
  101. package/dist/src/channels/in-memory-session-mapper.d.ts +34 -0
  102. package/dist/src/channels/in-memory-session-mapper.js +50 -0
  103. package/dist/src/channels/in-memory-session-mapper.js.map +1 -0
  104. package/dist/src/channels/plugin-loader.d.ts +20 -0
  105. package/dist/src/channels/plugin-loader.js +136 -0
  106. package/dist/src/channels/plugin-loader.js.map +1 -0
  107. package/dist/src/channels/plugin-loader.test.d.ts +6 -0
  108. package/dist/src/channels/plugin-loader.test.js +113 -0
  109. package/dist/src/channels/plugin-loader.test.js.map +1 -0
  110. package/dist/src/channels/routes.d.ts +29 -0
  111. package/dist/src/channels/routes.js +165 -0
  112. package/dist/src/channels/routes.js.map +1 -0
  113. package/dist/src/config.d.ts +0 -2
  114. package/dist/src/config.js +0 -1
  115. package/dist/src/config.js.map +1 -1
  116. package/dist/src/config.test.js +0 -2
  117. package/dist/src/config.test.js.map +1 -1
  118. package/dist/src/context/compiler.js +11 -34
  119. package/dist/src/context/compiler.js.map +1 -1
  120. package/dist/src/context/compiler.test.js +7 -60
  121. package/dist/src/context/compiler.test.js.map +1 -1
  122. package/dist/src/context/types.d.ts +0 -4
  123. package/dist/src/env-ref.d.ts +13 -0
  124. package/dist/src/env-ref.js +31 -0
  125. package/dist/src/env-ref.js.map +1 -0
  126. package/dist/src/env-ref.test.d.ts +6 -0
  127. package/dist/src/env-ref.test.js +34 -0
  128. package/dist/src/env-ref.test.js.map +1 -0
  129. package/dist/src/errors.d.ts +15 -0
  130. package/dist/src/errors.js +22 -0
  131. package/dist/src/errors.js.map +1 -1
  132. package/dist/src/errors.test.js +2 -2
  133. package/dist/src/errors.test.js.map +1 -1
  134. package/dist/src/events/event-bus.d.ts +54 -0
  135. package/dist/src/events/event-bus.js +84 -0
  136. package/dist/src/events/event-bus.js.map +1 -0
  137. package/dist/src/events/event-bus.test.d.ts +6 -0
  138. package/dist/src/events/event-bus.test.js +112 -0
  139. package/dist/src/events/event-bus.test.js.map +1 -0
  140. package/dist/src/events/events-route.d.ts +36 -0
  141. package/dist/src/events/events-route.js +80 -0
  142. package/dist/src/events/events-route.js.map +1 -0
  143. package/dist/src/events/events-route.test.d.ts +6 -0
  144. package/dist/src/events/events-route.test.js +134 -0
  145. package/dist/src/events/events-route.test.js.map +1 -0
  146. package/dist/src/events/store-event-wrapper.d.ts +19 -0
  147. package/dist/src/events/store-event-wrapper.js +57 -0
  148. package/dist/src/events/store-event-wrapper.js.map +1 -0
  149. package/dist/src/events/store-event-wrapper.test.d.ts +6 -0
  150. package/dist/src/events/store-event-wrapper.test.js +91 -0
  151. package/dist/src/events/store-event-wrapper.test.js.map +1 -0
  152. package/dist/src/index.d.ts +13 -0
  153. package/dist/src/index.js +10 -0
  154. package/dist/src/index.js.map +1 -1
  155. package/dist/src/middleware/auth.d.ts +0 -2
  156. package/dist/src/middleware/auth.js.map +1 -1
  157. package/dist/src/providers/search-provider.d.ts +64 -0
  158. package/dist/src/providers/search-provider.js +174 -0
  159. package/dist/src/providers/search-provider.js.map +1 -0
  160. package/dist/src/providers/types.d.ts +8 -0
  161. package/dist/src/routes/ai-stream.d.ts +18 -4
  162. package/dist/src/routes/ai-stream.js +10 -2
  163. package/dist/src/routes/ai-stream.js.map +1 -1
  164. package/dist/src/routes/chat-stream.d.ts +9 -1
  165. package/dist/src/routes/chat-stream.js +3 -1
  166. package/dist/src/routes/chat-stream.js.map +1 -1
  167. package/dist/src/routes/chat.d.ts +6 -0
  168. package/dist/src/routes/chat.js +2 -1
  169. package/dist/src/routes/chat.js.map +1 -1
  170. package/dist/src/routes/session-resolver.d.ts +15 -2
  171. package/dist/src/routes/session-resolver.js +22 -25
  172. package/dist/src/routes/session-resolver.js.map +1 -1
  173. package/dist/src/routes/session-resolver.test.js +117 -20
  174. package/dist/src/routes/session-resolver.test.js.map +1 -1
  175. package/dist/src/server.d.ts +35 -1
  176. package/dist/src/server.js +33 -0
  177. package/dist/src/server.js.map +1 -1
  178. package/dist/src/session/drizzle-session-store.d.ts +57 -0
  179. package/dist/src/session/drizzle-session-store.js +204 -0
  180. package/dist/src/session/drizzle-session-store.js.map +1 -0
  181. package/dist/src/session/manager.d.ts +6 -3
  182. package/dist/src/session/manager.js +46 -19
  183. package/dist/src/session/manager.js.map +1 -1
  184. package/dist/src/session/manager.test.js +12 -18
  185. package/dist/src/session/manager.test.js.map +1 -1
  186. package/dist/src/session/pglite-session-store.d.ts +23 -0
  187. package/dist/src/session/pglite-session-store.js +86 -0
  188. package/dist/src/session/pglite-session-store.js.map +1 -0
  189. package/dist/src/session/postgres-session-store.d.ts +44 -0
  190. package/dist/src/session/postgres-session-store.js +153 -0
  191. package/dist/src/session/postgres-session-store.js.map +1 -0
  192. package/dist/src/session/session-builder.d.ts +0 -5
  193. package/dist/src/session/session-builder.js +22 -6
  194. package/dist/src/session/session-builder.js.map +1 -1
  195. package/dist/src/session/session-builder.test.js +3 -8
  196. package/dist/src/session/session-builder.test.js.map +1 -1
  197. package/dist/src/session/session-store-selector.d.ts +49 -0
  198. package/dist/src/session/session-store-selector.js +60 -0
  199. package/dist/src/session/session-store-selector.js.map +1 -0
  200. package/dist/src/session/session-store-selector.test.d.ts +6 -0
  201. package/dist/src/session/session-store-selector.test.js +79 -0
  202. package/dist/src/session/session-store-selector.test.js.map +1 -0
  203. package/dist/src/session/store.d.ts +146 -32
  204. package/dist/src/session/store.js +126 -138
  205. package/dist/src/session/store.js.map +1 -1
  206. package/dist/src/session/store.test.js +385 -107
  207. package/dist/src/session/store.test.js.map +1 -1
  208. package/dist/src/session/tool-context-factory.d.ts +3 -7
  209. package/dist/src/session/tool-context-factory.js +1 -3
  210. package/dist/src/session/tool-context-factory.js.map +1 -1
  211. package/dist/src/session/tool-context-factory.test.js +1 -6
  212. package/dist/src/session/tool-context-factory.test.js.map +1 -1
  213. package/dist/src/session/types.d.ts +13 -10
  214. package/dist/src/stores/schema.d.ts +111 -34
  215. package/dist/src/stores/schema.js +21 -4
  216. package/dist/src/stores/schema.js.map +1 -1
  217. package/dist/src/tools/admin-file-tools.d.ts +29 -0
  218. package/dist/src/tools/admin-file-tools.js +527 -13
  219. package/dist/src/tools/admin-file-tools.js.map +1 -1
  220. package/dist/src/tools/admin-file-tools.test.js +380 -9
  221. package/dist/src/tools/admin-file-tools.test.js.map +1 -1
  222. package/dist/src/tools/custom-tool-adapter.js +0 -1
  223. package/dist/src/tools/custom-tool-adapter.js.map +1 -1
  224. package/dist/src/tools/custom-tool-adapter.test.js +0 -2
  225. package/dist/src/tools/custom-tool-adapter.test.js.map +1 -1
  226. package/dist/src/tools/dispatch-tool.d.ts +4 -4
  227. package/dist/src/tools/fetch-url-tool.d.ts +23 -0
  228. package/dist/src/tools/fetch-url-tool.js +333 -0
  229. package/dist/src/tools/fetch-url-tool.js.map +1 -0
  230. package/dist/src/tools/fetch-url-tool.test.d.ts +6 -0
  231. package/dist/src/tools/fetch-url-tool.test.js +227 -0
  232. package/dist/src/tools/fetch-url-tool.test.js.map +1 -0
  233. package/dist/src/tools/mcp-tool-adapter.test.js +0 -2
  234. package/dist/src/tools/mcp-tool-adapter.test.js.map +1 -1
  235. package/dist/src/tools/registry.test.js +0 -2
  236. package/dist/src/tools/registry.test.js.map +1 -1
  237. package/dist/src/tools/request-tool.test.js +0 -2
  238. package/dist/src/tools/request-tool.test.js.map +1 -1
  239. package/dist/src/tools/store-tools.test.js +0 -2
  240. package/dist/src/tools/store-tools.test.js.map +1 -1
  241. package/dist/src/tools/types.d.ts +20 -7
  242. package/dist/src/tools/web-search-tool.d.ts +31 -0
  243. package/dist/src/tools/web-search-tool.js +170 -0
  244. package/dist/src/tools/web-search-tool.js.map +1 -0
  245. package/dist/src/tools/web-search-tool.test.d.ts +6 -0
  246. package/dist/src/tools/web-search-tool.test.js +152 -0
  247. package/dist/src/tools/web-search-tool.test.js.map +1 -0
  248. package/dist/src/tools/web-tools-shared.d.ts +21 -0
  249. package/dist/src/tools/web-tools-shared.js +32 -0
  250. package/dist/src/tools/web-tools-shared.js.map +1 -0
  251. package/dist/src/types.d.ts +20 -4
  252. package/dist/src/types.js +13 -2
  253. package/dist/src/types.js.map +1 -1
  254. package/dist/src/types.test.js +0 -3
  255. package/dist/src/types.test.js.map +1 -1
  256. package/dist/tsconfig.tsbuildinfo +1 -1
  257. package/package.json +17 -3
  258. package/dist/src/agent/session-store.d.ts +0 -71
  259. package/dist/src/agent/session-store.js +0 -151
  260. package/dist/src/agent/session-store.js.map +0 -1
  261. package/dist/src/agent/user-context-fetcher.d.ts +0 -25
  262. package/dist/src/agent/user-context-fetcher.js +0 -79
  263. package/dist/src/agent/user-context-fetcher.js.map +0 -1
  264. package/dist/src/agent/user-context-fetcher.test.js +0 -121
  265. package/dist/src/agent/user-context-fetcher.test.js.map +0 -1
  266. package/dist/src/session/admin-file-tools.d.ts +0 -136
  267. package/dist/src/session/admin-file-tools.js +0 -240
  268. package/dist/src/session/admin-file-tools.js.map +0 -1
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  */
6
6
  import { bridgeAutomations } from '../automation-bridge.js';
7
- import { deliverResult } from './delivery.js';
7
+ import { DeliveryRouter } from './delivery-router.js';
8
8
  import { SSEEventType } from '../../types.js';
9
9
  import { ToolExecutionError } from '../../errors.js';
10
10
  /**
@@ -19,8 +19,15 @@ export class ProactiveRunner {
19
19
  automations = new Map();
20
20
  cronJobs = new Map();
21
21
  runHistory = new Map();
22
+ deliveryRouter;
22
23
  constructor(repo, config) {
23
24
  this.config = config;
25
+ this.deliveryRouter = new DeliveryRouter({
26
+ logger: config.logger,
27
+ webhookSecret: config.webhookSecret,
28
+ onResult: config.onAutomationResult,
29
+ eventBus: config.eventBus,
30
+ });
24
31
  const bridged = bridgeAutomations(repo.automations);
25
32
  for (const a of bridged) {
26
33
  this.automations.set(a.name, a);
@@ -53,6 +60,7 @@ export class ProactiveRunner {
53
60
  }, intervalMs);
54
61
  this.cronJobs.set(name, { name, timer });
55
62
  this.config.logger.info('automation_started', { name, intervalMs });
63
+ this.config.eventBus?.emit({ type: 'automation_started', name, intervalMs });
56
64
  return { success: true };
57
65
  }
58
66
  /**
@@ -66,6 +74,7 @@ export class ProactiveRunner {
66
74
  clearInterval(job.timer);
67
75
  this.cronJobs.delete(name);
68
76
  this.config.logger.info('automation_stopped', { name });
77
+ this.config.eventBus?.emit({ type: 'automation_stopped', name });
69
78
  return { success: true };
70
79
  }
71
80
  /**
@@ -160,7 +169,10 @@ export class ProactiveRunner {
160
169
  session = created.session;
161
170
  toolContextFactory = created.toolContextFactory;
162
171
  yield { type: 'init', session_id: session.id, automation: name, timestamp: new Date().toISOString() };
163
- for await (const event of this.config.sessionManager.runMessage(session.id, automation.prompt, { buildToolContext: toolContextFactory })) {
172
+ for await (const event of this.config.sessionManager.runMessage(session.id, automation.prompt, {
173
+ buildToolContext: toolContextFactory,
174
+ summarizeToolResult: this.config.summarizeToolResult,
175
+ })) {
164
176
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- SSE event from agent runner
165
177
  yield event;
166
178
  }
@@ -189,6 +201,13 @@ export class ProactiveRunner {
189
201
  }
190
202
  async runAutomation(automation, payload) {
191
203
  this.config.logger.debug('automation_run_start', { name: automation.name });
204
+ const startedAt = Date.now();
205
+ const source = payload ? 'webhook' : (automation.isWebhookTriggered ? 'manual' : 'cron');
206
+ this.config.eventBus?.emit({
207
+ type: 'automation_triggered',
208
+ name: automation.name,
209
+ source,
210
+ });
192
211
  let session;
193
212
  try {
194
213
  const created = this.config.createSessionComponents();
@@ -204,7 +223,10 @@ export class ProactiveRunner {
204
223
  }
205
224
  // Collect full response from agent
206
225
  let responseText = '';
207
- for await (const event of this.config.sessionManager.runMessage(session.id, prompt, { buildToolContext: created.toolContextFactory })) {
226
+ for await (const event of this.config.sessionManager.runMessage(session.id, prompt, {
227
+ buildToolContext: created.toolContextFactory,
228
+ summarizeToolResult: this.config.summarizeToolResult,
229
+ })) {
208
230
  if (event.type === SSEEventType.Error && 'message' in event) {
209
231
  throw new ToolExecutionError(`Automation "${automation.name}" agent error: ${String(event.message)}`, { toolName: automation.name, callId: session.id });
210
232
  }
@@ -212,25 +234,35 @@ export class ProactiveRunner {
212
234
  responseText += String(event.content);
213
235
  }
214
236
  }
215
- // Deliver result
216
- await deliverResult({
217
- automation: automation.name,
218
- response: responseText,
219
- timestamp: new Date().toISOString(),
220
- }, undefined, this.config.webhookSecret);
237
+ // Deliver result to configured targets (webhooks + callbacks)
238
+ await this.deliveryRouter.onSuccess(automation.name, responseText, automation.delivery);
221
239
  if (this.config.onSessionComplete) {
222
240
  this.config.onSessionComplete(session, automation.name);
223
241
  }
224
242
  this.runHistory.set(automation.name, { timestamp: new Date().toISOString(), status: 'success', sessionId: session.id });
225
243
  this.config.logger.debug('automation_run_complete', { name: automation.name, session: session.id });
244
+ this.config.eventBus?.emit({
245
+ type: 'automation_completed',
246
+ name: automation.name,
247
+ durationMs: Date.now() - startedAt,
248
+ });
226
249
  }
227
250
  catch (err) {
228
251
  const msg = err instanceof Error ? err.message : String(err);
229
252
  if (session && this.config.onSessionComplete) {
230
253
  this.config.onSessionComplete(session, automation.name);
231
254
  }
255
+ const durationMs = Date.now() - startedAt;
232
256
  this.runHistory.set(automation.name, { timestamp: new Date().toISOString(), status: 'error', error: msg, sessionId: session?.id });
233
- this.config.logger.error('automation_run_error', { name: automation.name, error: msg });
257
+ this.config.logger.error('automation_run_error', { name: automation.name, error: msg, durationMs });
258
+ this.config.eventBus?.emit({
259
+ type: 'automation_failed',
260
+ name: automation.name,
261
+ error: msg,
262
+ durationMs,
263
+ });
264
+ // Fire failure alert (respects threshold + cooldown)
265
+ await this.deliveryRouter.onFailure(automation.name, msg, automation.failureAlert);
234
266
  throw err;
235
267
  }
236
268
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"proactive-runner.js","sourceRoot":"","sources":["../../../../src/agent/proactive/proactive-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proactive-runner.js","sourceRoot":"","sources":["../../../../src/agent/proactive/proactive-runner.ts"],"names":[],"mappings":"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"}
@@ -48,8 +48,6 @@ function makeRepo(automations) {
48
48
  // Mock session and session manager
49
49
  const mockSession = {
50
50
  id: 'test-session',
51
- tenantId: 'local',
52
- userId: 'automation',
53
51
  provider: {},
54
52
  toolRegistry: { register: vi.fn(), get: vi.fn(), getTools: vi.fn(), names: vi.fn(() => []), subset: vi.fn(), size: 0 },
55
53
  permissionChecker: { check: vi.fn() },
@@ -59,7 +57,6 @@ const mockSession = {
59
57
  usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0 },
60
58
  model: 'test-model',
61
59
  providerName: 'test',
62
- userRoles: [],
63
60
  appId: 'local',
64
61
  metadata: {},
65
62
  createdAt: Date.now(),
@@ -1 +1 @@
1
- {"version":3,"file":"proactive-runner.test.js","sourceRoot":"","sources":["../../../../src/agent/proactive/proactive-runner.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proactive-runner.test.js","sourceRoot":"","sources":["../../../../src/agent/proactive/proactive-runner.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export {};
@@ -0,0 +1,206 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Regression: admin-chat route crashed with an unhandled DOMException
8
+ * [AbortError] when the SSE client disconnected mid-stream.
9
+ *
10
+ * Root cause: `handleStreaming` in states/streaming.ts iterates
11
+ * `state.stream.fullStream` via for-await. When ctx.signal aborts, the
12
+ * provider's fetch rejects, `fullStream.next()` throws, and the for-await
13
+ * propagates that throw BEFORE `await state.stream.text` runs. Without
14
+ * passive handlers attached to the text/usage derived promises, their
15
+ * rejection escapes as an unhandled rejection and crashes the process.
16
+ *
17
+ * The fix attaches `Promise.resolve(state.stream.text).catch(() => {})`
18
+ * (and same for usage) at the top of handleStreaming.
19
+ *
20
+ * This test exercises the real SessionManager + runAgent + admin-chat
21
+ * route path, disconnects the client mid-stream, and asserts no
22
+ * unhandled rejection surfaces. It fails if the passive handlers are
23
+ * removed from streaming.ts.
24
+ */
25
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
26
+ import express from 'express';
27
+ import http from 'node:http';
28
+ import { createAdminChatRouter } from './admin-chat.js';
29
+ import { StandaloneSessionManager } from '../../session/manager.js';
30
+ import { createLogger } from '../../logger.js';
31
+ import { createToolRegistry } from '../../tools/registry.js';
32
+ function makeBundle() {
33
+ return {
34
+ source: 'local',
35
+ origin: '/tmp/fake-repo',
36
+ config: { name: 'test-agent', description: 'test' },
37
+ };
38
+ }
39
+ function makeSharedResources() {
40
+ return {
41
+ storeBackend: {},
42
+ mcpManager: {},
43
+ logger: createLogger({ component: 'test:shared' }),
44
+ toolExecutor: {},
45
+ fieldScrubber: {},
46
+ };
47
+ }
48
+ /**
49
+ * Provider whose streamText returns a StreamTextResult that mirrors the
50
+ * AI SDK's contract: fullStream yields text chunks (respecting abortSignal),
51
+ * and text/usage are derived promises that reject when fullStream throws.
52
+ * This matches the production provider's behavior on abort.
53
+ */
54
+ function abortAwareStreamingProvider() {
55
+ return {
56
+ model: 'test-model',
57
+ provider: 'test-provider',
58
+ languageModel: {},
59
+ streamText(opts) {
60
+ const signal = opts.abortSignal;
61
+ let accumulated = '';
62
+ let settleText;
63
+ let rejectText;
64
+ let settleUsage;
65
+ let rejectUsage;
66
+ const textPromise = new Promise((res, rej) => {
67
+ settleText = res;
68
+ rejectText = rej;
69
+ });
70
+ const usagePromise = new Promise((res, rej) => {
71
+ settleUsage = res;
72
+ rejectUsage = rej;
73
+ });
74
+ async function* innerStream() {
75
+ for (let i = 0; i < 30; i++) {
76
+ await new Promise((resolve, reject) => {
77
+ const timer = setTimeout(resolve, 50);
78
+ if (signal?.aborted) {
79
+ clearTimeout(timer);
80
+ reject(signal.reason);
81
+ return;
82
+ }
83
+ signal?.addEventListener('abort', () => {
84
+ clearTimeout(timer);
85
+ reject(signal.reason);
86
+ }, { once: true });
87
+ });
88
+ const chunk = `chunk${String(i)} `;
89
+ accumulated += chunk;
90
+ yield { type: 'text-delta', textDelta: chunk };
91
+ }
92
+ const usage = { inputTokens: 10, outputTokens: 5, totalTokens: 15 };
93
+ yield { type: 'finish', usage };
94
+ settleText(accumulated);
95
+ settleUsage(usage);
96
+ }
97
+ const wrapped = (async function* () {
98
+ try {
99
+ for await (const ev of innerStream())
100
+ yield ev;
101
+ }
102
+ catch (e) {
103
+ rejectText(e);
104
+ rejectUsage(e);
105
+ throw e;
106
+ }
107
+ })();
108
+ return {
109
+ fullStream: wrapped,
110
+ textStream: (async function* () { })(),
111
+ text: textPromise,
112
+ usage: usagePromise,
113
+ };
114
+ },
115
+ generateText: () => Promise.reject(new Error('unused')),
116
+ };
117
+ }
118
+ async function startServer(sm) {
119
+ const app = express();
120
+ app.use(express.json());
121
+ app.use(createAdminChatRouter({
122
+ sessionManager: sm,
123
+ shared: makeSharedResources(),
124
+ getBundle: () => makeBundle(),
125
+ getPort: () => null,
126
+ }));
127
+ return new Promise((resolve) => {
128
+ const server = app.listen(0, '127.0.0.1', () => {
129
+ const { port } = server.address();
130
+ resolve({
131
+ port,
132
+ close: () => new Promise((r) => server.close(() => r())),
133
+ });
134
+ });
135
+ });
136
+ }
137
+ /** POST to /config/chat, read the first chunk, then destroy the client socket. */
138
+ async function postAndDisconnect(port, sessionId) {
139
+ const body = JSON.stringify({ message: 'test', session_id: sessionId });
140
+ return new Promise((resolve, reject) => {
141
+ const req = http.request({
142
+ host: '127.0.0.1',
143
+ port,
144
+ path: '/config/chat',
145
+ method: 'POST',
146
+ headers: {
147
+ 'Content-Type': 'application/json',
148
+ 'Content-Length': Buffer.byteLength(body).toString(),
149
+ },
150
+ }, (res) => {
151
+ let bytesRead = 0;
152
+ res.on('data', (chunk) => {
153
+ bytesRead += chunk.length;
154
+ if (bytesRead >= 30) {
155
+ req.destroy();
156
+ }
157
+ });
158
+ res.on('close', () => resolve());
159
+ res.on('error', () => resolve());
160
+ });
161
+ req.on('error', (err) => {
162
+ if (err.code === 'ECONNRESET') {
163
+ resolve();
164
+ }
165
+ else {
166
+ reject(err);
167
+ }
168
+ });
169
+ req.write(body);
170
+ req.end();
171
+ });
172
+ }
173
+ describe('admin-chat route — client-disconnect abort handling', () => {
174
+ let unhandled;
175
+ let handler;
176
+ beforeEach(() => {
177
+ unhandled = [];
178
+ handler = (err) => unhandled.push(err);
179
+ process.on('unhandledRejection', handler);
180
+ });
181
+ afterEach(() => {
182
+ process.off('unhandledRejection', handler);
183
+ });
184
+ it('does not leak unhandled rejection when client disconnects mid-stream', async () => {
185
+ const logger = createLogger({ component: 'test:admin-chat-abort' });
186
+ const sm = new StandaloneSessionManager({ logger, ttlMs: 60_000 });
187
+ const session = sm.create({
188
+ provider: abortAwareStreamingProvider(),
189
+ toolRegistry: createToolRegistry(),
190
+ permissionChecker: { check: () => ({ allowed: true }) },
191
+ systemPrompt: 'test',
192
+ appId: 'admin',
193
+ });
194
+ const server = await startServer(sm);
195
+ try {
196
+ await postAndDisconnect(server.port, session.id);
197
+ await new Promise((r) => setTimeout(r, 500));
198
+ expect(unhandled).toHaveLength(0);
199
+ }
200
+ finally {
201
+ await server.close();
202
+ await sm.shutdown();
203
+ }
204
+ });
205
+ });
206
+ //# sourceMappingURL=admin-chat-abort.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-chat-abort.test.js","sourceRoot":"","sources":["../../../../src/agent/routes/admin-chat-abort.test.ts"],"names":[],"mappings":"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"}
@@ -77,13 +77,10 @@ export function createAdminChatRouter(options) {
77
77
  appId: 'admin',
78
78
  });
79
79
  session = options.sessionManager.create({
80
- tenantId: 'local',
81
- userId: 'admin',
82
80
  provider: components.provider,
83
81
  toolRegistry: components.toolRegistry,
84
82
  permissionChecker: components.permissionChecker,
85
83
  systemPrompt: components.systemPrompt,
86
- userRoles: components.userRoles,
87
84
  toolContextFactory: components.toolContextFactory,
88
85
  appId: 'admin',
89
86
  });
@@ -1 +1 @@
1
- {"version":3,"file":"admin-chat.js","sourceRoot":"","sources":["../../../../src/agent/routes/admin-chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-chat.js","sourceRoot":"","sources":["../../../../src/agent/routes/admin-chat.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ import { Router } from 'express';
7
7
  import rateLimit from 'express-rate-limit';
8
8
  import { readdir, readFile, writeFile, stat, mkdir } from 'node:fs/promises';
9
9
  import path from 'node:path';
10
- import { readLockFile, getNpmContextPaths } from '@amodalai/core';
11
10
  import { asyncHandler } from '../../routes/route-helpers.js';
12
11
  /** Convention directories to show in the file tree. */
13
12
  const CONVENTION_DIRS = ['connections', 'skills', 'knowledge', 'automations', 'agents', 'stores', 'tools', 'evals'];
@@ -125,40 +124,42 @@ export function createFilesRouter(options) {
125
124
  catch { /* dir doesn't exist */ }
126
125
  }
127
126
  // Add installed package files (merged into convention directories)
127
+ // Only load packages explicitly declared in amodal.json
128
128
  try {
129
- const lockFile = await readLockFile(repoPath);
130
- if (lockFile && Object.keys(lockFile.packages).length > 0) {
131
- const paths = getNpmContextPaths(repoPath);
132
- const scopeDir = path.join(paths.nodeModules, '@amodalai');
133
- let pkgDirs = [];
129
+ const configRaw = await readFile(path.join(repoPath, 'amodal.json'), 'utf-8');
130
+ const parsed = JSON.parse(configRaw);
131
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- validated object above
132
+ const config = (parsed && typeof parsed === 'object') ? parsed : {};
133
+ const declaredPackages = Array.isArray(config['packages'])
134
+ ? config['packages'].filter((p) => typeof p === 'string')
135
+ : [];
136
+ for (const npmName of declaredPackages) {
137
+ const pkgDir = path.join(repoPath, 'node_modules', ...npmName.split('/'));
134
138
  try {
135
- const entries = await readdir(scopeDir, { withFileTypes: true });
136
- pkgDirs = entries.filter((e) => e.isDirectory()).map((e) => e.name);
137
- }
138
- catch { /* no packages dir */ }
139
- for (const pkgDirName of pkgDirs) {
140
- const npmName = `@amodalai/${pkgDirName}`;
141
- if (!lockFile.packages[npmName])
139
+ const s = await stat(pkgDir);
140
+ if (!s.isDirectory())
142
141
  continue;
143
- const pkgDir = path.join(scopeDir, pkgDirName);
144
- const meta = { source: 'package', packageName: npmName };
145
- const pkgTree = [];
146
- for (const dir of CONVENTION_DIRS) {
147
- const pkgConvDir = path.join(pkgDir, dir);
148
- try {
149
- const s = await stat(pkgConvDir);
150
- if (s.isDirectory()) {
151
- const children = await buildTree(pkgConvDir, pkgDir, 0, meta);
152
- pkgTree.push({ name: dir, path: dir, type: 'directory', children, ...meta });
153
- }
142
+ }
143
+ catch {
144
+ continue; /* package not installed */
145
+ }
146
+ const meta = { source: 'package', packageName: npmName };
147
+ const pkgTree = [];
148
+ for (const dir of CONVENTION_DIRS) {
149
+ const pkgConvDir = path.join(pkgDir, dir);
150
+ try {
151
+ const s = await stat(pkgConvDir);
152
+ if (s.isDirectory()) {
153
+ const children = await buildTree(pkgConvDir, pkgDir, 0, meta);
154
+ pkgTree.push({ name: dir, path: dir, type: 'directory', children, ...meta });
154
155
  }
155
- catch { /* dir doesn't exist in package */ }
156
156
  }
157
- mergePackageTree(tree, pkgTree);
157
+ catch { /* dir doesn't exist in package */ }
158
158
  }
159
+ mergePackageTree(tree, pkgTree);
159
160
  }
160
161
  }
161
- catch { /* lock file read failed, skip packages */ }
162
+ catch { /* config read or package scan failed, skip packages */ }
162
163
  res.json({ tree, repoPath });
163
164
  }
164
165
  catch (err) {
@@ -186,37 +187,30 @@ export function createFilesRouter(options) {
186
187
  content = await readFile(resolved, 'utf-8');
187
188
  }
188
189
  catch { /* not found locally */ }
189
- // Fall back to installed packages
190
+ // Fall back to declared packages
190
191
  if (content === null) {
191
192
  try {
192
- const lockFile = await readLockFile(repoPath);
193
- if (lockFile) {
194
- const paths = getNpmContextPaths(repoPath);
195
- const scopeDir = path.join(paths.nodeModules, '@amodalai');
196
- let pkgDirs = [];
193
+ const configRaw = await readFile(path.join(repoPath, 'amodal.json'), 'utf-8');
194
+ const parsed2 = JSON.parse(configRaw);
195
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- validated object above
196
+ const config = (parsed2 && typeof parsed2 === 'object') ? parsed2 : {};
197
+ const declaredPackages = Array.isArray(config['packages'])
198
+ ? config['packages'].filter((p) => typeof p === 'string')
199
+ : [];
200
+ for (const npmName of declaredPackages) {
201
+ const pkgRoot = path.join(repoPath, 'node_modules', ...npmName.split('/'));
202
+ const pkgFilePath = validateFilePath(pkgRoot, filePath);
203
+ if (!pkgFilePath)
204
+ continue;
197
205
  try {
198
- const entries = await readdir(scopeDir, { withFileTypes: true });
199
- pkgDirs = entries.filter((e) => e.isDirectory()).map((e) => e.name);
200
- }
201
- catch { /* */ }
202
- for (const pkgDirName of pkgDirs) {
203
- const npmName = `@amodalai/${pkgDirName}`;
204
- if (!lockFile.packages[npmName])
205
- continue;
206
- const pkgRoot = path.join(scopeDir, pkgDirName);
207
- const pkgFilePath = validateFilePath(pkgRoot, filePath);
208
- if (!pkgFilePath)
209
- continue;
210
- try {
211
- content = await readFile(pkgFilePath, 'utf-8');
212
- source = 'package';
213
- break;
214
- }
215
- catch { /* not in this package */ }
206
+ content = await readFile(pkgFilePath, 'utf-8');
207
+ source = 'package';
208
+ break;
216
209
  }
210
+ catch { /* not in this package */ }
217
211
  }
218
212
  }
219
- catch { /* lock file read failed */ }
213
+ catch { /* config read or package scan failed */ }
220
214
  }
221
215
  if (content === null) {
222
216
  res.status(404).json({ error: { code: 'NOT_FOUND', message: 'File not found' } });