@wingman-ai/gateway 0.5.3 → 0.6.0

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 (327) hide show
  1. package/dist/agent/backend/filtered-backend.cjs +130 -0
  2. package/dist/agent/backend/filtered-backend.d.ts +10 -0
  3. package/dist/agent/backend/filtered-backend.js +87 -0
  4. package/dist/agent/config/agentConfig.cjs +4 -0
  5. package/dist/agent/config/agentConfig.d.ts +12 -0
  6. package/dist/agent/config/agentConfig.js +4 -0
  7. package/dist/agent/config/toolRegistry.cjs +75 -1
  8. package/dist/agent/config/toolRegistry.d.ts +3 -0
  9. package/dist/agent/config/toolRegistry.js +75 -1
  10. package/dist/agent/middleware/additional-messages.cjs +4 -1
  11. package/dist/agent/middleware/additional-messages.js +4 -1
  12. package/dist/agent/middleware/large-tool-results.cjs +207 -0
  13. package/dist/agent/middleware/large-tool-results.d.ts +16 -0
  14. package/dist/agent/middleware/large-tool-results.js +173 -0
  15. package/dist/agent/tools/browser_control.cjs +9 -1231
  16. package/dist/agent/tools/browser_control.d.ts +126 -234
  17. package/dist/agent/tools/browser_control.js +7 -1226
  18. package/dist/agent/tools/browser_runtime.cjs +1358 -0
  19. package/dist/agent/tools/browser_runtime.d.ts +617 -0
  20. package/dist/agent/tools/browser_runtime.js +1288 -0
  21. package/dist/agent/tools/browser_session.cjs +189 -0
  22. package/dist/agent/tools/browser_session.d.ts +686 -0
  23. package/dist/agent/tools/browser_session.js +146 -0
  24. package/dist/agent/tools/browser_session_manager.cjs +213 -0
  25. package/dist/agent/tools/browser_session_manager.d.ts +70 -0
  26. package/dist/agent/tools/browser_session_manager.js +176 -0
  27. package/dist/cli/commands/init.cjs +80 -98
  28. package/dist/cli/commands/init.js +80 -98
  29. package/dist/cli/config/loader.cjs +0 -5
  30. package/dist/cli/config/loader.js +0 -5
  31. package/dist/cli/config/schema.cjs +3 -7
  32. package/dist/cli/config/schema.d.ts +6 -6
  33. package/dist/cli/config/schema.js +3 -7
  34. package/dist/cli/core/agentInvoker.cjs +88 -22
  35. package/dist/cli/core/agentInvoker.d.ts +10 -3
  36. package/dist/cli/core/agentInvoker.js +88 -25
  37. package/dist/cli/core/outputManager.cjs +7 -2
  38. package/dist/cli/core/outputManager.d.ts +2 -2
  39. package/dist/cli/core/outputManager.js +7 -2
  40. package/dist/cli/core/sessionManager.cjs +208 -41
  41. package/dist/cli/core/sessionManager.d.ts +20 -0
  42. package/dist/cli/core/sessionManager.js +208 -41
  43. package/dist/cli/index.cjs +16 -1
  44. package/dist/cli/index.js +16 -1
  45. package/dist/cli/services/updateCheck.cjs +212 -0
  46. package/dist/cli/services/updateCheck.d.ts +26 -0
  47. package/dist/cli/services/updateCheck.js +166 -0
  48. package/dist/cli/types.d.ts +2 -1
  49. package/dist/gateway/server.cjs +7 -0
  50. package/dist/gateway/server.js +7 -0
  51. package/dist/webui/assets/index-D3x3G75t.css +11 -0
  52. package/dist/webui/assets/index-UpMmcU1f.js +215 -0
  53. package/dist/webui/index.html +2 -2
  54. package/package.json +12 -12
  55. package/templates/agents/README.md +3 -1
  56. package/templates/agents/coding/agent.md +6 -13
  57. package/templates/agents/coding-v2/agent.md +6 -1
  58. package/templates/agents/game-dev/agent.md +9 -2
  59. package/templates/agents/game-dev/game-designer.md +4 -0
  60. package/templates/agents/game-dev/scene-engineer.md +4 -0
  61. package/templates/agents/main/agent.md +7 -2
  62. package/templates/agents/researcher/agent.md +14 -3
  63. package/templates/agents/stock-trader/agent.md +4 -0
  64. package/dist/agent/tests/agentConfig.test.cjs +0 -224
  65. package/dist/agent/tests/agentConfig.test.d.ts +0 -1
  66. package/dist/agent/tests/agentConfig.test.js +0 -218
  67. package/dist/agent/tests/agentLoader.test.cjs +0 -335
  68. package/dist/agent/tests/agentLoader.test.d.ts +0 -1
  69. package/dist/agent/tests/agentLoader.test.js +0 -329
  70. package/dist/agent/tests/backgroundTerminal.test.cjs +0 -70
  71. package/dist/agent/tests/backgroundTerminal.test.d.ts +0 -1
  72. package/dist/agent/tests/backgroundTerminal.test.js +0 -64
  73. package/dist/agent/tests/browserControlHelpers.test.cjs +0 -35
  74. package/dist/agent/tests/browserControlHelpers.test.d.ts +0 -1
  75. package/dist/agent/tests/browserControlHelpers.test.js +0 -29
  76. package/dist/agent/tests/browserControlTool.test.cjs +0 -2117
  77. package/dist/agent/tests/browserControlTool.test.d.ts +0 -1
  78. package/dist/agent/tests/browserControlTool.test.js +0 -2111
  79. package/dist/agent/tests/commandExecuteTool.test.cjs +0 -29
  80. package/dist/agent/tests/commandExecuteTool.test.d.ts +0 -1
  81. package/dist/agent/tests/commandExecuteTool.test.js +0 -23
  82. package/dist/agent/tests/internet_search.test.cjs +0 -107
  83. package/dist/agent/tests/internet_search.test.d.ts +0 -1
  84. package/dist/agent/tests/internet_search.test.js +0 -101
  85. package/dist/agent/tests/mcpClientManager.test.cjs +0 -290
  86. package/dist/agent/tests/mcpClientManager.test.d.ts +0 -1
  87. package/dist/agent/tests/mcpClientManager.test.js +0 -284
  88. package/dist/agent/tests/mcpResourceTools.test.cjs +0 -101
  89. package/dist/agent/tests/mcpResourceTools.test.d.ts +0 -1
  90. package/dist/agent/tests/mcpResourceTools.test.js +0 -95
  91. package/dist/agent/tests/modelFactory.test.cjs +0 -190
  92. package/dist/agent/tests/modelFactory.test.d.ts +0 -1
  93. package/dist/agent/tests/modelFactory.test.js +0 -184
  94. package/dist/agent/tests/terminalSessionManager.test.cjs +0 -121
  95. package/dist/agent/tests/terminalSessionManager.test.d.ts +0 -1
  96. package/dist/agent/tests/terminalSessionManager.test.js +0 -115
  97. package/dist/agent/tests/test-agent-loader.cjs +0 -33
  98. package/dist/agent/tests/test-agent-loader.d.ts +0 -1
  99. package/dist/agent/tests/test-agent-loader.js +0 -27
  100. package/dist/agent/tests/test-subagent-loading.cjs +0 -99
  101. package/dist/agent/tests/test-subagent-loading.d.ts +0 -1
  102. package/dist/agent/tests/test-subagent-loading.js +0 -93
  103. package/dist/agent/tests/toolRegistry.test.cjs +0 -147
  104. package/dist/agent/tests/toolRegistry.test.d.ts +0 -1
  105. package/dist/agent/tests/toolRegistry.test.js +0 -141
  106. package/dist/agent/tests/uiRegistryTools.test.cjs +0 -114
  107. package/dist/agent/tests/uiRegistryTools.test.d.ts +0 -1
  108. package/dist/agent/tests/uiRegistryTools.test.js +0 -105
  109. package/dist/agent/tests/xaiImageModel.test.cjs +0 -194
  110. package/dist/agent/tests/xaiImageModel.test.d.ts +0 -1
  111. package/dist/agent/tests/xaiImageModel.test.js +0 -188
  112. package/dist/tests/additionalMessageMiddleware.test.cjs +0 -216
  113. package/dist/tests/additionalMessageMiddleware.test.d.ts +0 -1
  114. package/dist/tests/additionalMessageMiddleware.test.js +0 -188
  115. package/dist/tests/agent-config-voice.test.cjs +0 -25
  116. package/dist/tests/agent-config-voice.test.d.ts +0 -1
  117. package/dist/tests/agent-config-voice.test.js +0 -19
  118. package/dist/tests/agentInvokerAttachments.test.cjs +0 -190
  119. package/dist/tests/agentInvokerAttachments.test.d.ts +0 -1
  120. package/dist/tests/agentInvokerAttachments.test.js +0 -184
  121. package/dist/tests/agentInvokerSummarization.test.cjs +0 -613
  122. package/dist/tests/agentInvokerSummarization.test.d.ts +0 -1
  123. package/dist/tests/agentInvokerSummarization.test.js +0 -607
  124. package/dist/tests/agentInvokerTokenUsage.test.cjs +0 -124
  125. package/dist/tests/agentInvokerTokenUsage.test.d.ts +0 -1
  126. package/dist/tests/agentInvokerTokenUsage.test.js +0 -118
  127. package/dist/tests/agentInvokerWorkdir.test.cjs +0 -150
  128. package/dist/tests/agentInvokerWorkdir.test.d.ts +0 -1
  129. package/dist/tests/agentInvokerWorkdir.test.js +0 -122
  130. package/dist/tests/agents-api.test.cjs +0 -324
  131. package/dist/tests/agents-api.test.d.ts +0 -1
  132. package/dist/tests/agents-api.test.js +0 -318
  133. package/dist/tests/attachments-utils.test.cjs +0 -46
  134. package/dist/tests/attachments-utils.test.d.ts +0 -1
  135. package/dist/tests/attachments-utils.test.js +0 -40
  136. package/dist/tests/browser-command.test.cjs +0 -264
  137. package/dist/tests/browser-command.test.d.ts +0 -1
  138. package/dist/tests/browser-command.test.js +0 -258
  139. package/dist/tests/browser-relay-server.test.cjs +0 -20
  140. package/dist/tests/browser-relay-server.test.d.ts +0 -1
  141. package/dist/tests/browser-relay-server.test.js +0 -14
  142. package/dist/tests/bunSqliteAdapter.test.cjs +0 -265
  143. package/dist/tests/bunSqliteAdapter.test.d.ts +0 -1
  144. package/dist/tests/bunSqliteAdapter.test.js +0 -259
  145. package/dist/tests/candleRange.test.cjs +0 -48
  146. package/dist/tests/candleRange.test.d.ts +0 -1
  147. package/dist/tests/candleRange.test.js +0 -42
  148. package/dist/tests/cli-config-loader.test.cjs +0 -532
  149. package/dist/tests/cli-config-loader.test.d.ts +0 -1
  150. package/dist/tests/cli-config-loader.test.js +0 -526
  151. package/dist/tests/cli-config-warnings.test.cjs +0 -94
  152. package/dist/tests/cli-config-warnings.test.d.ts +0 -1
  153. package/dist/tests/cli-config-warnings.test.js +0 -88
  154. package/dist/tests/cli-init.test.cjs +0 -225
  155. package/dist/tests/cli-init.test.d.ts +0 -1
  156. package/dist/tests/cli-init.test.js +0 -219
  157. package/dist/tests/cli-workspace-root.test.cjs +0 -114
  158. package/dist/tests/cli-workspace-root.test.d.ts +0 -1
  159. package/dist/tests/cli-workspace-root.test.js +0 -108
  160. package/dist/tests/codex-credentials-precedence.test.cjs +0 -94
  161. package/dist/tests/codex-credentials-precedence.test.d.ts +0 -1
  162. package/dist/tests/codex-credentials-precedence.test.js +0 -88
  163. package/dist/tests/codex-provider.test.cjs +0 -383
  164. package/dist/tests/codex-provider.test.d.ts +0 -1
  165. package/dist/tests/codex-provider.test.js +0 -377
  166. package/dist/tests/config-json-schema.test.cjs +0 -37
  167. package/dist/tests/config-json-schema.test.d.ts +0 -1
  168. package/dist/tests/config-json-schema.test.js +0 -31
  169. package/dist/tests/discord-adapter.test.cjs +0 -89
  170. package/dist/tests/discord-adapter.test.d.ts +0 -1
  171. package/dist/tests/discord-adapter.test.js +0 -83
  172. package/dist/tests/falRuntime.test.cjs +0 -78
  173. package/dist/tests/falRuntime.test.d.ts +0 -1
  174. package/dist/tests/falRuntime.test.js +0 -72
  175. package/dist/tests/falSummary.test.cjs +0 -51
  176. package/dist/tests/falSummary.test.d.ts +0 -1
  177. package/dist/tests/falSummary.test.js +0 -45
  178. package/dist/tests/fs-api.test.cjs +0 -138
  179. package/dist/tests/fs-api.test.d.ts +0 -1
  180. package/dist/tests/fs-api.test.js +0 -132
  181. package/dist/tests/gateway-command-workspace.test.cjs +0 -150
  182. package/dist/tests/gateway-command-workspace.test.d.ts +0 -1
  183. package/dist/tests/gateway-command-workspace.test.js +0 -144
  184. package/dist/tests/gateway-http-security.test.cjs +0 -318
  185. package/dist/tests/gateway-http-security.test.d.ts +0 -1
  186. package/dist/tests/gateway-http-security.test.js +0 -312
  187. package/dist/tests/gateway-node-mode.test.cjs +0 -174
  188. package/dist/tests/gateway-node-mode.test.d.ts +0 -1
  189. package/dist/tests/gateway-node-mode.test.js +0 -168
  190. package/dist/tests/gateway-origin-policy.test.cjs +0 -82
  191. package/dist/tests/gateway-origin-policy.test.d.ts +0 -1
  192. package/dist/tests/gateway-origin-policy.test.js +0 -76
  193. package/dist/tests/gateway-request-execution-overrides.test.cjs +0 -42
  194. package/dist/tests/gateway-request-execution-overrides.test.d.ts +0 -1
  195. package/dist/tests/gateway-request-execution-overrides.test.js +0 -36
  196. package/dist/tests/gateway.test.cjs +0 -700
  197. package/dist/tests/gateway.test.d.ts +0 -1
  198. package/dist/tests/gateway.test.js +0 -694
  199. package/dist/tests/hooks-matcher.test.cjs +0 -309
  200. package/dist/tests/hooks-matcher.test.d.ts +0 -1
  201. package/dist/tests/hooks-matcher.test.js +0 -303
  202. package/dist/tests/hooks-merger.test.cjs +0 -528
  203. package/dist/tests/hooks-merger.test.d.ts +0 -1
  204. package/dist/tests/hooks-merger.test.js +0 -522
  205. package/dist/tests/imagePersistence.test.cjs +0 -169
  206. package/dist/tests/imagePersistence.test.d.ts +0 -1
  207. package/dist/tests/imagePersistence.test.js +0 -163
  208. package/dist/tests/integration/agent-invocation.integration.test.cjs +0 -264
  209. package/dist/tests/integration/agent-invocation.integration.test.d.ts +0 -1
  210. package/dist/tests/integration/agent-invocation.integration.test.js +0 -258
  211. package/dist/tests/integration/finnhub-candles.integration.test.cjs +0 -98
  212. package/dist/tests/integration/finnhub-candles.integration.test.d.ts +0 -1
  213. package/dist/tests/integration/finnhub-candles.integration.test.js +0 -92
  214. package/dist/tests/integration/summarization-e2e.integration.test.cjs +0 -127
  215. package/dist/tests/integration/summarization-e2e.integration.test.d.ts +0 -1
  216. package/dist/tests/integration/summarization-e2e.integration.test.js +0 -121
  217. package/dist/tests/logger.test.cjs +0 -353
  218. package/dist/tests/logger.test.d.ts +0 -1
  219. package/dist/tests/logger.test.js +0 -347
  220. package/dist/tests/mediaCompatibilityMiddleware.test.cjs +0 -106
  221. package/dist/tests/mediaCompatibilityMiddleware.test.d.ts +0 -1
  222. package/dist/tests/mediaCompatibilityMiddleware.test.js +0 -100
  223. package/dist/tests/node-tools.test.cjs +0 -77
  224. package/dist/tests/node-tools.test.d.ts +0 -1
  225. package/dist/tests/node-tools.test.js +0 -71
  226. package/dist/tests/nodes-api.test.cjs +0 -86
  227. package/dist/tests/nodes-api.test.d.ts +0 -1
  228. package/dist/tests/nodes-api.test.js +0 -80
  229. package/dist/tests/outputManagerContextSummarized.test.cjs +0 -43
  230. package/dist/tests/outputManagerContextSummarized.test.d.ts +0 -1
  231. package/dist/tests/outputManagerContextSummarized.test.js +0 -37
  232. package/dist/tests/provider-command-codex.test.cjs +0 -57
  233. package/dist/tests/provider-command-codex.test.d.ts +0 -1
  234. package/dist/tests/provider-command-codex.test.js +0 -51
  235. package/dist/tests/routines-api.test.cjs +0 -107
  236. package/dist/tests/routines-api.test.d.ts +0 -1
  237. package/dist/tests/routines-api.test.js +0 -101
  238. package/dist/tests/run-terminal-bench-official-script.test.cjs +0 -61
  239. package/dist/tests/run-terminal-bench-official-script.test.d.ts +0 -1
  240. package/dist/tests/run-terminal-bench-official-script.test.js +0 -55
  241. package/dist/tests/sessionManager-uionly.test.cjs +0 -50
  242. package/dist/tests/sessionManager-uionly.test.d.ts +0 -1
  243. package/dist/tests/sessionManager-uionly.test.js +0 -44
  244. package/dist/tests/sessionMessageAttachments.test.cjs +0 -197
  245. package/dist/tests/sessionMessageAttachments.test.d.ts +0 -1
  246. package/dist/tests/sessionMessageAttachments.test.js +0 -191
  247. package/dist/tests/sessionMessageRole.test.cjs +0 -44
  248. package/dist/tests/sessionMessageRole.test.d.ts +0 -1
  249. package/dist/tests/sessionMessageRole.test.js +0 -38
  250. package/dist/tests/sessionStateMessages.test.cjs +0 -236
  251. package/dist/tests/sessionStateMessages.test.d.ts +0 -1
  252. package/dist/tests/sessionStateMessages.test.js +0 -230
  253. package/dist/tests/sessions-api.test.cjs +0 -250
  254. package/dist/tests/sessions-api.test.d.ts +0 -1
  255. package/dist/tests/sessions-api.test.js +0 -244
  256. package/dist/tests/skill-activation.test.cjs +0 -86
  257. package/dist/tests/skill-activation.test.d.ts +0 -1
  258. package/dist/tests/skill-activation.test.js +0 -80
  259. package/dist/tests/skill-metadata.test.cjs +0 -119
  260. package/dist/tests/skill-metadata.test.d.ts +0 -1
  261. package/dist/tests/skill-metadata.test.js +0 -113
  262. package/dist/tests/skill-repository.test.cjs +0 -469
  263. package/dist/tests/skill-repository.test.d.ts +0 -1
  264. package/dist/tests/skill-repository.test.js +0 -463
  265. package/dist/tests/skill-security-scanner.test.cjs +0 -126
  266. package/dist/tests/skill-security-scanner.test.d.ts +0 -1
  267. package/dist/tests/skill-security-scanner.test.js +0 -120
  268. package/dist/tests/sms-api.test.cjs +0 -183
  269. package/dist/tests/sms-api.test.d.ts +0 -1
  270. package/dist/tests/sms-api.test.js +0 -177
  271. package/dist/tests/sms-commands.test.cjs +0 -90
  272. package/dist/tests/sms-commands.test.d.ts +0 -1
  273. package/dist/tests/sms-commands.test.js +0 -84
  274. package/dist/tests/sms-policy-store.test.cjs +0 -69
  275. package/dist/tests/sms-policy-store.test.d.ts +0 -1
  276. package/dist/tests/sms-policy-store.test.js +0 -63
  277. package/dist/tests/teams-adapter.test.cjs +0 -58
  278. package/dist/tests/teams-adapter.test.d.ts +0 -1
  279. package/dist/tests/teams-adapter.test.js +0 -52
  280. package/dist/tests/technicalIndicators.test.cjs +0 -82
  281. package/dist/tests/technicalIndicators.test.d.ts +0 -1
  282. package/dist/tests/technicalIndicators.test.js +0 -76
  283. package/dist/tests/terminal-bench-adapters-helpers.test.cjs +0 -64
  284. package/dist/tests/terminal-bench-adapters-helpers.test.d.ts +0 -1
  285. package/dist/tests/terminal-bench-adapters-helpers.test.js +0 -58
  286. package/dist/tests/terminal-bench-cleanup.test.cjs +0 -93
  287. package/dist/tests/terminal-bench-cleanup.test.d.ts +0 -1
  288. package/dist/tests/terminal-bench-cleanup.test.js +0 -87
  289. package/dist/tests/terminal-bench-config.test.cjs +0 -62
  290. package/dist/tests/terminal-bench-config.test.d.ts +0 -1
  291. package/dist/tests/terminal-bench-config.test.js +0 -56
  292. package/dist/tests/terminal-bench-official.test.cjs +0 -194
  293. package/dist/tests/terminal-bench-official.test.d.ts +0 -1
  294. package/dist/tests/terminal-bench-official.test.js +0 -188
  295. package/dist/tests/terminal-bench-runner.test.cjs +0 -82
  296. package/dist/tests/terminal-bench-runner.test.d.ts +0 -1
  297. package/dist/tests/terminal-bench-runner.test.js +0 -76
  298. package/dist/tests/terminal-bench-scoring.test.cjs +0 -128
  299. package/dist/tests/terminal-bench-scoring.test.d.ts +0 -1
  300. package/dist/tests/terminal-bench-scoring.test.js +0 -122
  301. package/dist/tests/terminalProbe.test.cjs +0 -45
  302. package/dist/tests/terminalProbe.test.d.ts +0 -1
  303. package/dist/tests/terminalProbe.test.js +0 -39
  304. package/dist/tests/terminalProbeAuth.test.cjs +0 -85
  305. package/dist/tests/terminalProbeAuth.test.d.ts +0 -1
  306. package/dist/tests/terminalProbeAuth.test.js +0 -79
  307. package/dist/tests/toolDisplayHelpers.test.cjs +0 -46
  308. package/dist/tests/toolDisplayHelpers.test.d.ts +0 -1
  309. package/dist/tests/toolDisplayHelpers.test.js +0 -40
  310. package/dist/tests/uv.test.cjs +0 -47
  311. package/dist/tests/uv.test.d.ts +0 -1
  312. package/dist/tests/uv.test.js +0 -41
  313. package/dist/tests/voice-config.test.cjs +0 -35
  314. package/dist/tests/voice-config.test.d.ts +0 -1
  315. package/dist/tests/voice-config.test.js +0 -29
  316. package/dist/tests/websocket-transport.test.cjs +0 -31
  317. package/dist/tests/websocket-transport.test.d.ts +0 -1
  318. package/dist/tests/websocket-transport.test.js +0 -25
  319. package/dist/tests/yahooCandles.test.cjs +0 -111
  320. package/dist/tests/yahooCandles.test.d.ts +0 -1
  321. package/dist/tests/yahooCandles.test.js +0 -105
  322. package/dist/tools/finance/optionsAnalytics.test.cjs +0 -128
  323. package/dist/tools/finance/optionsAnalytics.test.d.ts +0 -1
  324. package/dist/tools/finance/optionsAnalytics.test.js +0 -122
  325. package/dist/webui/assets/index-BMf95nv5.js +0 -215
  326. package/dist/webui/assets/index-DhJQ8Mbn.css +0 -11
  327. package/dist/webui/assets/wingman_logo-Cogyt3qm.webp +0 -0
@@ -1,38 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { resolveMessageRole } from "../cli/core/sessionManager.js";
3
- describe("resolveMessageRole", ()=>{
4
- it("resolves role from langchain id arrays", ()=>{
5
- const human = {
6
- type: "constructor",
7
- id: [
8
- "langchain_core",
9
- "messages",
10
- "HumanMessage"
11
- ],
12
- kwargs: {
13
- content: "hi"
14
- }
15
- };
16
- const ai = {
17
- type: "constructor",
18
- id: [
19
- "langchain_core",
20
- "messages",
21
- "AIMessageChunk"
22
- ],
23
- kwargs: {
24
- content: "hello"
25
- }
26
- };
27
- expect(resolveMessageRole(human)).toBe("user");
28
- expect(resolveMessageRole(ai)).toBe("assistant");
29
- });
30
- it("resolves role from explicit types", ()=>{
31
- expect(resolveMessageRole({
32
- type: "human"
33
- })).toBe("user");
34
- expect(resolveMessageRole({
35
- type: "ai"
36
- })).toBe("assistant");
37
- });
38
- });
@@ -1,236 +0,0 @@
1
- "use strict";
2
- var __webpack_exports__ = {};
3
- const external_vitest_namespaceObject = require("vitest");
4
- const sessionManager_cjs_namespaceObject = require("../cli/core/sessionManager.cjs");
5
- (0, external_vitest_namespaceObject.describe)("extractMessagesFromState", ()=>{
6
- (0, external_vitest_namespaceObject.it)("maps state messages using createdAt", ()=>{
7
- const state = {
8
- createdAt: "2025-01-01T00:00:00.000Z",
9
- values: {
10
- messages: [
11
- {
12
- role: "user",
13
- content: "hi"
14
- },
15
- {
16
- role: "assistant",
17
- content: "hello"
18
- }
19
- ]
20
- }
21
- };
22
- const result = (0, sessionManager_cjs_namespaceObject.extractMessagesFromState)(state);
23
- (0, external_vitest_namespaceObject.expect)(result).not.toBeNull();
24
- (0, external_vitest_namespaceObject.expect)(result).toHaveLength(2);
25
- (0, external_vitest_namespaceObject.expect)(result?.[0]).toMatchObject({
26
- role: "user",
27
- content: "hi"
28
- });
29
- (0, external_vitest_namespaceObject.expect)(result?.[1]).toMatchObject({
30
- role: "assistant",
31
- content: "hello"
32
- });
33
- const baseTime = new Date("2025-01-01T00:00:00.000Z").getTime();
34
- (0, external_vitest_namespaceObject.expect)(result?.[0]?.createdAt).toBe(baseTime);
35
- (0, external_vitest_namespaceObject.expect)(result?.[1]?.createdAt).toBe(baseTime + 1);
36
- });
37
- (0, external_vitest_namespaceObject.it)("filters non-user messages and ui_hidden entries", ()=>{
38
- const state = {
39
- createdAt: 1000,
40
- values: {
41
- messages: [
42
- {
43
- role: "tool",
44
- content: "skip"
45
- },
46
- {
47
- role: "assistant",
48
- content: "",
49
- additional_kwargs: {
50
- ui_hidden: true
51
- }
52
- },
53
- {
54
- role: "assistant",
55
- content: "keep"
56
- }
57
- ]
58
- }
59
- };
60
- const result = (0, sessionManager_cjs_namespaceObject.extractMessagesFromState)(state);
61
- (0, external_vitest_namespaceObject.expect)(result).not.toBeNull();
62
- (0, external_vitest_namespaceObject.expect)(result).toHaveLength(1);
63
- (0, external_vitest_namespaceObject.expect)(result?.[0]).toMatchObject({
64
- role: "assistant",
65
- content: "keep"
66
- });
67
- });
68
- (0, external_vitest_namespaceObject.it)("extracts content from responses-style text blocks", ()=>{
69
- const state = {
70
- createdAt: 2000,
71
- values: {
72
- messages: [
73
- {
74
- role: "user",
75
- content: [
76
- {
77
- type: "input_text",
78
- text: "Build a plan"
79
- }
80
- ]
81
- },
82
- {
83
- role: "assistant",
84
- content: [
85
- {
86
- type: "output_text",
87
- text: "Here is the plan."
88
- }
89
- ]
90
- }
91
- ]
92
- }
93
- };
94
- const result = (0, sessionManager_cjs_namespaceObject.extractMessagesFromState)(state);
95
- (0, external_vitest_namespaceObject.expect)(result).not.toBeNull();
96
- (0, external_vitest_namespaceObject.expect)(result).toHaveLength(2);
97
- (0, external_vitest_namespaceObject.expect)(result?.[0]).toMatchObject({
98
- role: "user",
99
- content: "Build a plan"
100
- });
101
- (0, external_vitest_namespaceObject.expect)(result?.[1]).toMatchObject({
102
- role: "assistant",
103
- content: "Here is the plan."
104
- });
105
- });
106
- (0, external_vitest_namespaceObject.it)("promotes tool image outputs into assistant attachments", ()=>{
107
- const state = {
108
- createdAt: 3000,
109
- values: {
110
- messages: [
111
- {
112
- role: "user",
113
- content: "Create a puppy image."
114
- },
115
- {
116
- role: "tool",
117
- content: JSON.stringify({
118
- content: [
119
- {
120
- type: "text",
121
- text: "Generated image."
122
- },
123
- {
124
- type: "resource_link",
125
- uri: "/api/fs/file?path=%2Ftmp%2Fpuppy.png",
126
- mimeType: "image/png"
127
- }
128
- ]
129
- })
130
- }
131
- ]
132
- }
133
- };
134
- const result = (0, sessionManager_cjs_namespaceObject.extractMessagesFromState)(state);
135
- (0, external_vitest_namespaceObject.expect)(result).not.toBeNull();
136
- (0, external_vitest_namespaceObject.expect)(result).toHaveLength(2);
137
- (0, external_vitest_namespaceObject.expect)(result?.[1]).toMatchObject({
138
- role: "assistant",
139
- content: "Generated image.",
140
- attachments: [
141
- {
142
- kind: "image",
143
- dataUrl: "/api/fs/file?path=%2Ftmp%2Fpuppy.png"
144
- }
145
- ]
146
- });
147
- });
148
- (0, external_vitest_namespaceObject.it)("extracts tool attachments when MCP payload is wrapped in a text block", ()=>{
149
- const state = {
150
- createdAt: 4000,
151
- values: {
152
- messages: [
153
- {
154
- role: "user",
155
- content: "Generate a landscape image."
156
- },
157
- {
158
- role: "tool",
159
- content: [
160
- {
161
- type: "text",
162
- text: JSON.stringify({
163
- content: [
164
- {
165
- type: "text",
166
- text: "Image ready."
167
- },
168
- {
169
- type: "resource_link",
170
- uri: "/api/fs/file?path=%2Ftmp%2Flandscape.png",
171
- mimeType: "image/png"
172
- }
173
- ]
174
- })
175
- }
176
- ]
177
- }
178
- ]
179
- }
180
- };
181
- const result = (0, sessionManager_cjs_namespaceObject.extractMessagesFromState)(state);
182
- (0, external_vitest_namespaceObject.expect)(result).not.toBeNull();
183
- (0, external_vitest_namespaceObject.expect)(result).toHaveLength(2);
184
- (0, external_vitest_namespaceObject.expect)(result?.[1]).toMatchObject({
185
- role: "assistant",
186
- content: "Image ready.",
187
- attachments: [
188
- {
189
- kind: "image",
190
- dataUrl: "/api/fs/file?path=%2Ftmp%2Flandscape.png"
191
- }
192
- ]
193
- });
194
- });
195
- (0, external_vitest_namespaceObject.it)("extracts tool image attachments from artifact blocks", ()=>{
196
- const state = {
197
- createdAt: 5000,
198
- values: {
199
- messages: [
200
- {
201
- role: "user",
202
- content: "Generate another image."
203
- },
204
- {
205
- role: "tool",
206
- content: "Generated image.",
207
- artifact: [
208
- {
209
- type: "image",
210
- mimeType: "image/png",
211
- data: "abc123"
212
- }
213
- ]
214
- }
215
- ]
216
- }
217
- };
218
- const result = (0, sessionManager_cjs_namespaceObject.extractMessagesFromState)(state);
219
- (0, external_vitest_namespaceObject.expect)(result).not.toBeNull();
220
- (0, external_vitest_namespaceObject.expect)(result).toHaveLength(2);
221
- (0, external_vitest_namespaceObject.expect)(result?.[1]).toMatchObject({
222
- role: "assistant",
223
- content: "Generated image.",
224
- attachments: [
225
- {
226
- kind: "image",
227
- dataUrl: "data:image/png;base64,abc123"
228
- }
229
- ]
230
- });
231
- });
232
- });
233
- for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
234
- Object.defineProperty(exports, '__esModule', {
235
- value: true
236
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,230 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { extractMessagesFromState } from "../cli/core/sessionManager.js";
3
- describe("extractMessagesFromState", ()=>{
4
- it("maps state messages using createdAt", ()=>{
5
- const state = {
6
- createdAt: "2025-01-01T00:00:00.000Z",
7
- values: {
8
- messages: [
9
- {
10
- role: "user",
11
- content: "hi"
12
- },
13
- {
14
- role: "assistant",
15
- content: "hello"
16
- }
17
- ]
18
- }
19
- };
20
- const result = extractMessagesFromState(state);
21
- expect(result).not.toBeNull();
22
- expect(result).toHaveLength(2);
23
- expect(result?.[0]).toMatchObject({
24
- role: "user",
25
- content: "hi"
26
- });
27
- expect(result?.[1]).toMatchObject({
28
- role: "assistant",
29
- content: "hello"
30
- });
31
- const baseTime = new Date("2025-01-01T00:00:00.000Z").getTime();
32
- expect(result?.[0]?.createdAt).toBe(baseTime);
33
- expect(result?.[1]?.createdAt).toBe(baseTime + 1);
34
- });
35
- it("filters non-user messages and ui_hidden entries", ()=>{
36
- const state = {
37
- createdAt: 1000,
38
- values: {
39
- messages: [
40
- {
41
- role: "tool",
42
- content: "skip"
43
- },
44
- {
45
- role: "assistant",
46
- content: "",
47
- additional_kwargs: {
48
- ui_hidden: true
49
- }
50
- },
51
- {
52
- role: "assistant",
53
- content: "keep"
54
- }
55
- ]
56
- }
57
- };
58
- const result = extractMessagesFromState(state);
59
- expect(result).not.toBeNull();
60
- expect(result).toHaveLength(1);
61
- expect(result?.[0]).toMatchObject({
62
- role: "assistant",
63
- content: "keep"
64
- });
65
- });
66
- it("extracts content from responses-style text blocks", ()=>{
67
- const state = {
68
- createdAt: 2000,
69
- values: {
70
- messages: [
71
- {
72
- role: "user",
73
- content: [
74
- {
75
- type: "input_text",
76
- text: "Build a plan"
77
- }
78
- ]
79
- },
80
- {
81
- role: "assistant",
82
- content: [
83
- {
84
- type: "output_text",
85
- text: "Here is the plan."
86
- }
87
- ]
88
- }
89
- ]
90
- }
91
- };
92
- const result = extractMessagesFromState(state);
93
- expect(result).not.toBeNull();
94
- expect(result).toHaveLength(2);
95
- expect(result?.[0]).toMatchObject({
96
- role: "user",
97
- content: "Build a plan"
98
- });
99
- expect(result?.[1]).toMatchObject({
100
- role: "assistant",
101
- content: "Here is the plan."
102
- });
103
- });
104
- it("promotes tool image outputs into assistant attachments", ()=>{
105
- const state = {
106
- createdAt: 3000,
107
- values: {
108
- messages: [
109
- {
110
- role: "user",
111
- content: "Create a puppy image."
112
- },
113
- {
114
- role: "tool",
115
- content: JSON.stringify({
116
- content: [
117
- {
118
- type: "text",
119
- text: "Generated image."
120
- },
121
- {
122
- type: "resource_link",
123
- uri: "/api/fs/file?path=%2Ftmp%2Fpuppy.png",
124
- mimeType: "image/png"
125
- }
126
- ]
127
- })
128
- }
129
- ]
130
- }
131
- };
132
- const result = extractMessagesFromState(state);
133
- expect(result).not.toBeNull();
134
- expect(result).toHaveLength(2);
135
- expect(result?.[1]).toMatchObject({
136
- role: "assistant",
137
- content: "Generated image.",
138
- attachments: [
139
- {
140
- kind: "image",
141
- dataUrl: "/api/fs/file?path=%2Ftmp%2Fpuppy.png"
142
- }
143
- ]
144
- });
145
- });
146
- it("extracts tool attachments when MCP payload is wrapped in a text block", ()=>{
147
- const state = {
148
- createdAt: 4000,
149
- values: {
150
- messages: [
151
- {
152
- role: "user",
153
- content: "Generate a landscape image."
154
- },
155
- {
156
- role: "tool",
157
- content: [
158
- {
159
- type: "text",
160
- text: JSON.stringify({
161
- content: [
162
- {
163
- type: "text",
164
- text: "Image ready."
165
- },
166
- {
167
- type: "resource_link",
168
- uri: "/api/fs/file?path=%2Ftmp%2Flandscape.png",
169
- mimeType: "image/png"
170
- }
171
- ]
172
- })
173
- }
174
- ]
175
- }
176
- ]
177
- }
178
- };
179
- const result = extractMessagesFromState(state);
180
- expect(result).not.toBeNull();
181
- expect(result).toHaveLength(2);
182
- expect(result?.[1]).toMatchObject({
183
- role: "assistant",
184
- content: "Image ready.",
185
- attachments: [
186
- {
187
- kind: "image",
188
- dataUrl: "/api/fs/file?path=%2Ftmp%2Flandscape.png"
189
- }
190
- ]
191
- });
192
- });
193
- it("extracts tool image attachments from artifact blocks", ()=>{
194
- const state = {
195
- createdAt: 5000,
196
- values: {
197
- messages: [
198
- {
199
- role: "user",
200
- content: "Generate another image."
201
- },
202
- {
203
- role: "tool",
204
- content: "Generated image.",
205
- artifact: [
206
- {
207
- type: "image",
208
- mimeType: "image/png",
209
- data: "abc123"
210
- }
211
- ]
212
- }
213
- ]
214
- }
215
- };
216
- const result = extractMessagesFromState(state);
217
- expect(result).not.toBeNull();
218
- expect(result).toHaveLength(2);
219
- expect(result?.[1]).toMatchObject({
220
- role: "assistant",
221
- content: "Generated image.",
222
- attachments: [
223
- {
224
- kind: "image",
225
- dataUrl: "data:image/png;base64,abc123"
226
- }
227
- ]
228
- });
229
- });
230
- });