agentroam-runtime-darwin-arm64 0.2.0-preview.63 → 0.2.0-preview.64

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 (793) hide show
  1. package/manifest.json +2 -2
  2. package/package.json +1 -1
  3. package/runtime/.next/BUILD_ID +1 -1
  4. package/runtime/.next/app-build-manifest.json +8 -8
  5. package/runtime/.next/app-path-routes-manifest.json +1 -1
  6. package/runtime/.next/build-manifest.json +3 -3
  7. package/runtime/.next/prerender-manifest.json +1 -1
  8. package/runtime/.next/required-server-files.json +1 -1
  9. package/runtime/.next/server/app/_not-found/page.js +1 -1
  10. package/runtime/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/runtime/.next/server/app/_not-found.html +1 -1
  12. package/runtime/.next/server/app/_not-found.rsc +1 -1
  13. package/runtime/.next/server/app/api/agent/abort/route.js +1 -1
  14. package/runtime/.next/server/app/api/agent/answer/route.js +1 -1
  15. package/runtime/.next/server/app/api/agent/codex-sharing/route.js +1 -1
  16. package/runtime/.next/server/app/api/agent/harness/status/route.js +1 -1
  17. package/runtime/.next/server/app/api/agent/model/route.js +1 -1
  18. package/runtime/.next/server/app/api/agent/models/route.js +1 -1
  19. package/runtime/.next/server/app/api/agent/run/route.js +2 -2
  20. package/runtime/.next/server/app/api/agent/runtime-health/route.js +1 -1
  21. package/runtime/.next/server/app/api/agent/steer/route.js +1 -1
  22. package/runtime/.next/server/app/api/agent/stream/route.js +3 -3
  23. package/runtime/.next/server/app/api/agent-workspaces/[workspaceId]/sessions/route.js +1 -1
  24. package/runtime/.next/server/app/api/agent-workspaces/route.js +1 -1
  25. package/runtime/.next/server/app/api/auth/verify/route.js +1 -1
  26. package/runtime/.next/server/app/api/business/route.js +1 -1
  27. package/runtime/.next/server/app/api/client-logs/route.js +1 -1
  28. package/runtime/.next/server/app/api/collaboration/route.js +1 -1
  29. package/runtime/.next/server/app/api/flow/v1/catalog/route.js +1 -1
  30. package/runtime/.next/server/app/api/flow/v1/runs/[runId]/cancel/route.js +1 -1
  31. package/runtime/.next/server/app/api/flow/v1/runs/[runId]/events/route.js +3 -3
  32. package/runtime/.next/server/app/api/flow/v1/runs/route.js +1 -1
  33. package/runtime/.next/server/app/api/flow-studio/config/route.js +1 -1
  34. package/runtime/.next/server/app/api/mcp/connect/route.js +1 -1
  35. package/runtime/.next/server/app/api/mcp/disconnect/route.js +1 -1
  36. package/runtime/.next/server/app/api/mcp/servers/route.js +1 -1
  37. package/runtime/.next/server/app/api/memory/[key]/route.js +1 -1
  38. package/runtime/.next/server/app/api/memory/route.js +1 -1
  39. package/runtime/.next/server/app/api/plugins/load/route.js +1 -1
  40. package/runtime/.next/server/app/api/projects/[id]/route.js +1 -1
  41. package/runtime/.next/server/app/api/projects/check/route.js +1 -1
  42. package/runtime/.next/server/app/api/projects/directories/route.js +1 -1
  43. package/runtime/.next/server/app/api/projects/roots/route.js +1 -1
  44. package/runtime/.next/server/app/api/projects/route.js +1 -1
  45. package/runtime/.next/server/app/api/push/subscribe/route.js +2 -2
  46. package/runtime/.next/server/app/api/push/unsubscribe/route.js +2 -2
  47. package/runtime/.next/server/app/api/push/vapid/route.js +2 -2
  48. package/runtime/.next/server/app/api/push/vapid.body +1 -1
  49. package/runtime/.next/server/app/api/remote-tools/register/route.js +1 -1
  50. package/runtime/.next/server/app/api/sessions/[id]/changes/route.js +2 -2
  51. package/runtime/.next/server/app/api/sessions/[id]/fork/route.js +1 -1
  52. package/runtime/.next/server/app/api/sessions/[id]/fork-at/route.js +1 -1
  53. package/runtime/.next/server/app/api/sessions/[id]/goals/route.js +1 -1
  54. package/runtime/.next/server/app/api/sessions/[id]/handoff/route.js +1 -1
  55. package/runtime/.next/server/app/api/sessions/[id]/native-goal/route.js +1 -1
  56. package/runtime/.next/server/app/api/sessions/[id]/query-index/route.js +1 -1
  57. package/runtime/.next/server/app/api/sessions/[id]/release/route.js +1 -1
  58. package/runtime/.next/server/app/api/sessions/[id]/route.js +1 -1
  59. package/runtime/.next/server/app/api/sessions/[id]/thread-goal/route.js +1 -1
  60. package/runtime/.next/server/app/api/sessions/[id]/tool-result/route.js +1 -1
  61. package/runtime/.next/server/app/api/sessions/route.js +1 -1
  62. package/runtime/.next/server/app/api/settings/route.js +1 -1
  63. package/runtime/.next/server/app/api/skills/route.js +1 -1
  64. package/runtime/.next/server/app/api/tool-policies/[policyId]/route.js +1 -1
  65. package/runtime/.next/server/app/api/tool-policies/route.js +1 -1
  66. package/runtime/.next/server/app/api/tools/route.js +1 -1
  67. package/runtime/.next/server/app/api/update/check/route.js +1 -1
  68. package/runtime/.next/server/app/api/update/install/route.js +1 -1
  69. package/runtime/.next/server/app/api/update/status/route.js +1 -1
  70. package/runtime/.next/server/app/api/web-auth/login/route.js +1 -1
  71. package/runtime/.next/server/app/api/web-auth/logout/route.js +1 -1
  72. package/runtime/.next/server/app/api/web-auth/revoke-all/route.js +1 -1
  73. package/runtime/.next/server/app/api/web-auth/setup/route.js +1 -1
  74. package/runtime/.next/server/app/api/web-auth/status/route.js +1 -1
  75. package/runtime/.next/server/app/api/web-console/bootstrap/route.js +1 -1
  76. package/runtime/.next/server/app/api/web-console/computer-settings/route.js +1 -1
  77. package/runtime/.next/server/app/api/web-console/computers/route.js +1 -1
  78. package/runtime/.next/server/app/api/web-console/device-state/route.js +1 -1
  79. package/runtime/.next/server/app/api/web-console/history/route.js +1 -1
  80. package/runtime/.next/server/app/api/web-console/preferences/route.js +1 -1
  81. package/runtime/.next/server/app/web/page.js +4 -4
  82. package/runtime/.next/server/app/web/page_client-reference-manifest.js +1 -1
  83. package/runtime/.next/server/app-paths-manifest.json +33 -33
  84. package/runtime/.next/server/chunks/5303.js +1 -1
  85. package/runtime/.next/server/middleware-build-manifest.js +1 -1
  86. package/runtime/.next/server/pages/404.html +1 -1
  87. package/runtime/.next/server/pages/500.html +1 -1
  88. package/runtime/.next/server/server-reference-manifest.json +1 -1
  89. package/runtime/.next/static/chunks/app/web/{error-7ac82267d3330344.js → error-4d3646f97c1344d3.js} +1 -1
  90. package/runtime/.next/static/chunks/app/web/layout-c8709c08fb7ad857.js +1 -0
  91. package/runtime/.next/static/chunks/app/web/page-b876912c109021db.js +1 -0
  92. package/runtime/.next/static/chunks/{main-app-51ee029f2d3c9d9e.js → main-app-00dfdb2d5c09719c.js} +1 -1
  93. package/runtime/native/Support.noindex/AgentRoam Remote Desktop.app/Contents/MacOS/agentroam-remote-desktop +0 -0
  94. package/runtime/native/Support.noindex/AgentRoam Remote Desktop.app/Contents/Resources/agentroam-component.json +1 -1
  95. package/runtime/native/Support.noindex/AgentRoam Remote Desktop.app/Contents/_CodeSignature/CodeResources +2 -2
  96. package/runtime/node_modules/.package-lock.json +19 -14
  97. package/runtime/node_modules/@agent/native-runtime/dist/index.js +572 -93
  98. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/bridge.mjs +71 -71
  99. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/browser-sdk.js +37 -37
  100. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core-36zyfan5.mjs +52 -0
  101. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/{core-p79weg14.mjs → core-5682eevd.mjs} +4 -4
  102. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core-nne0e2ds.mjs +40 -0
  103. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/{core-mh5qmqqf.mjs → core-xpxe8nzb.mjs} +1 -1
  104. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core.mjs +10 -10
  105. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/manifest.json +19 -20
  106. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/manifest.zst.json +23 -24
  107. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/package.json +14 -14
  108. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/sdk.mjs +74 -74
  109. package/runtime/node_modules/caniuse-lite/data/agents.js +1 -1
  110. package/runtime/node_modules/caniuse-lite/data/browserVersions.js +1 -1
  111. package/runtime/node_modules/caniuse-lite/data/features/aac.js +1 -1
  112. package/runtime/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  113. package/runtime/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  114. package/runtime/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  115. package/runtime/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  116. package/runtime/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  117. package/runtime/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  118. package/runtime/node_modules/caniuse-lite/data/features/apng.js +1 -1
  119. package/runtime/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  120. package/runtime/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  121. package/runtime/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  122. package/runtime/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
  123. package/runtime/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  124. package/runtime/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  125. package/runtime/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  126. package/runtime/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  127. package/runtime/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
  128. package/runtime/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  129. package/runtime/node_modules/caniuse-lite/data/features/audio.js +1 -1
  130. package/runtime/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  131. package/runtime/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  132. package/runtime/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  133. package/runtime/node_modules/caniuse-lite/data/features/av1.js +1 -1
  134. package/runtime/node_modules/caniuse-lite/data/features/avif.js +1 -1
  135. package/runtime/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  136. package/runtime/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  137. package/runtime/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  138. package/runtime/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  139. package/runtime/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  140. package/runtime/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  141. package/runtime/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  142. package/runtime/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  143. package/runtime/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  144. package/runtime/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  145. package/runtime/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  146. package/runtime/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  147. package/runtime/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  148. package/runtime/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  149. package/runtime/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  150. package/runtime/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  151. package/runtime/node_modules/caniuse-lite/data/features/calc.js +1 -1
  152. package/runtime/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  153. package/runtime/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  154. package/runtime/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  155. package/runtime/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  156. package/runtime/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  157. package/runtime/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  158. package/runtime/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  159. package/runtime/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  160. package/runtime/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  161. package/runtime/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  162. package/runtime/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  163. package/runtime/node_modules/caniuse-lite/data/features/colr.js +1 -1
  164. package/runtime/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  165. package/runtime/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  166. package/runtime/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  167. package/runtime/node_modules/caniuse-lite/data/features/const.js +1 -1
  168. package/runtime/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  169. package/runtime/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
  170. package/runtime/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  171. package/runtime/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  172. package/runtime/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  173. package/runtime/node_modules/caniuse-lite/data/features/cors.js +1 -1
  174. package/runtime/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  175. package/runtime/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  176. package/runtime/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  177. package/runtime/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  178. package/runtime/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  179. package/runtime/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  180. package/runtime/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  181. package/runtime/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  182. package/runtime/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  183. package/runtime/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  184. package/runtime/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  185. package/runtime/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  186. package/runtime/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  187. package/runtime/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  188. package/runtime/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  189. package/runtime/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  190. package/runtime/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
  191. package/runtime/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  192. package/runtime/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  193. package/runtime/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  194. package/runtime/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  195. package/runtime/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  196. package/runtime/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  197. package/runtime/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  198. package/runtime/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  199. package/runtime/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  200. package/runtime/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  201. package/runtime/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  202. package/runtime/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  203. package/runtime/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  204. package/runtime/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  205. package/runtime/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  206. package/runtime/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  207. package/runtime/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  208. package/runtime/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  209. package/runtime/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  210. package/runtime/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  211. package/runtime/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  212. package/runtime/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
  213. package/runtime/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  214. package/runtime/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
  215. package/runtime/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  216. package/runtime/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  217. package/runtime/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
  218. package/runtime/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  219. package/runtime/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  220. package/runtime/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
  221. package/runtime/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  222. package/runtime/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  223. package/runtime/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  224. package/runtime/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  225. package/runtime/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  226. package/runtime/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  227. package/runtime/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
  228. package/runtime/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  229. package/runtime/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  230. package/runtime/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  231. package/runtime/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  232. package/runtime/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  233. package/runtime/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  234. package/runtime/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  235. package/runtime/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  236. package/runtime/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  237. package/runtime/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  238. package/runtime/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  239. package/runtime/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  240. package/runtime/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  241. package/runtime/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  242. package/runtime/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  243. package/runtime/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  244. package/runtime/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  245. package/runtime/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  246. package/runtime/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  247. package/runtime/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  248. package/runtime/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  249. package/runtime/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  250. package/runtime/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  251. package/runtime/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  252. package/runtime/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  253. package/runtime/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
  254. package/runtime/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  255. package/runtime/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  256. package/runtime/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  257. package/runtime/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  258. package/runtime/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  259. package/runtime/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  260. package/runtime/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  261. package/runtime/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  262. package/runtime/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
  263. package/runtime/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  264. package/runtime/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  265. package/runtime/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  266. package/runtime/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  267. package/runtime/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  268. package/runtime/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  269. package/runtime/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  270. package/runtime/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  271. package/runtime/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  272. package/runtime/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  273. package/runtime/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  274. package/runtime/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  275. package/runtime/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  276. package/runtime/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
  277. package/runtime/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  278. package/runtime/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  279. package/runtime/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  280. package/runtime/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  281. package/runtime/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  282. package/runtime/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  283. package/runtime/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  284. package/runtime/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  285. package/runtime/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  286. package/runtime/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  287. package/runtime/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  288. package/runtime/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  289. package/runtime/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  290. package/runtime/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  291. package/runtime/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  292. package/runtime/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  293. package/runtime/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  294. package/runtime/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  295. package/runtime/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  296. package/runtime/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  297. package/runtime/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  298. package/runtime/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  299. package/runtime/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  300. package/runtime/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  301. package/runtime/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
  302. package/runtime/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  303. package/runtime/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  304. package/runtime/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  305. package/runtime/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  306. package/runtime/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  307. package/runtime/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
  308. package/runtime/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  309. package/runtime/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  310. package/runtime/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  311. package/runtime/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  312. package/runtime/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  313. package/runtime/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  314. package/runtime/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  315. package/runtime/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  316. package/runtime/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  317. package/runtime/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  318. package/runtime/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  319. package/runtime/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
  320. package/runtime/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  321. package/runtime/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  322. package/runtime/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  323. package/runtime/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  324. package/runtime/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  325. package/runtime/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  326. package/runtime/node_modules/caniuse-lite/data/features/datauri.js +1 -1
  327. package/runtime/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  328. package/runtime/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  329. package/runtime/node_modules/caniuse-lite/data/features/decorators.js +1 -1
  330. package/runtime/node_modules/caniuse-lite/data/features/details.js +1 -1
  331. package/runtime/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  332. package/runtime/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  333. package/runtime/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  334. package/runtime/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  335. package/runtime/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
  336. package/runtime/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  337. package/runtime/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  338. package/runtime/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
  339. package/runtime/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  340. package/runtime/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  341. package/runtime/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  342. package/runtime/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  343. package/runtime/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  344. package/runtime/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
  345. package/runtime/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
  346. package/runtime/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  347. package/runtime/node_modules/caniuse-lite/data/features/download.js +1 -1
  348. package/runtime/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  349. package/runtime/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  350. package/runtime/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  351. package/runtime/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  352. package/runtime/node_modules/caniuse-lite/data/features/eme.js +1 -1
  353. package/runtime/node_modules/caniuse-lite/data/features/eot.js +1 -1
  354. package/runtime/node_modules/caniuse-lite/data/features/es5.js +1 -1
  355. package/runtime/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  356. package/runtime/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  357. package/runtime/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  358. package/runtime/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  359. package/runtime/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  360. package/runtime/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  361. package/runtime/node_modules/caniuse-lite/data/features/es6.js +1 -1
  362. package/runtime/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  363. package/runtime/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  364. package/runtime/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  365. package/runtime/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  366. package/runtime/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  367. package/runtime/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  368. package/runtime/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  369. package/runtime/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  370. package/runtime/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  371. package/runtime/node_modules/caniuse-lite/data/features/flac.js +1 -1
  372. package/runtime/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  373. package/runtime/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  374. package/runtime/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  375. package/runtime/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  376. package/runtime/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  377. package/runtime/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  378. package/runtime/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  379. package/runtime/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  380. package/runtime/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  381. package/runtime/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  382. package/runtime/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  383. package/runtime/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  384. package/runtime/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  385. package/runtime/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  386. package/runtime/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  387. package/runtime/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  388. package/runtime/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  389. package/runtime/node_modules/caniuse-lite/data/features/forms.js +1 -1
  390. package/runtime/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  391. package/runtime/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  392. package/runtime/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  393. package/runtime/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  394. package/runtime/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  395. package/runtime/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  396. package/runtime/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  397. package/runtime/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  398. package/runtime/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  399. package/runtime/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  400. package/runtime/node_modules/caniuse-lite/data/features/heif.js +1 -1
  401. package/runtime/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  402. package/runtime/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  403. package/runtime/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  404. package/runtime/node_modules/caniuse-lite/data/features/history.js +1 -1
  405. package/runtime/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  406. package/runtime/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  407. package/runtime/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  408. package/runtime/node_modules/caniuse-lite/data/features/http2.js +1 -1
  409. package/runtime/node_modules/caniuse-lite/data/features/http3.js +1 -1
  410. package/runtime/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  411. package/runtime/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  412. package/runtime/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  413. package/runtime/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  414. package/runtime/node_modules/caniuse-lite/data/features/ime.js +1 -1
  415. package/runtime/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
  416. package/runtime/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  417. package/runtime/node_modules/caniuse-lite/data/features/imports.js +1 -1
  418. package/runtime/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  419. package/runtime/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  420. package/runtime/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  421. package/runtime/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  422. package/runtime/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  423. package/runtime/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  424. package/runtime/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  425. package/runtime/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  426. package/runtime/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  427. package/runtime/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  428. package/runtime/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  429. package/runtime/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  430. package/runtime/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  431. package/runtime/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  432. package/runtime/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  433. package/runtime/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  434. package/runtime/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  435. package/runtime/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  436. package/runtime/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  437. package/runtime/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  438. package/runtime/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  439. package/runtime/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  440. package/runtime/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  441. package/runtime/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  442. package/runtime/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  443. package/runtime/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  444. package/runtime/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  445. package/runtime/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  446. package/runtime/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  447. package/runtime/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  448. package/runtime/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
  449. package/runtime/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  450. package/runtime/node_modules/caniuse-lite/data/features/json.js +1 -1
  451. package/runtime/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  452. package/runtime/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  453. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
  454. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  455. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  456. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  457. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  458. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  459. package/runtime/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
  460. package/runtime/node_modules/caniuse-lite/data/features/let.js +1 -1
  461. package/runtime/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  462. package/runtime/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  463. package/runtime/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  464. package/runtime/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  465. package/runtime/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  466. package/runtime/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  467. package/runtime/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  468. package/runtime/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  469. package/runtime/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  470. package/runtime/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  471. package/runtime/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  472. package/runtime/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
  473. package/runtime/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  474. package/runtime/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  475. package/runtime/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  476. package/runtime/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  477. package/runtime/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  478. package/runtime/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  479. package/runtime/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  480. package/runtime/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  481. package/runtime/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  482. package/runtime/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  483. package/runtime/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  484. package/runtime/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  485. package/runtime/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  486. package/runtime/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  487. package/runtime/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  488. package/runtime/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  489. package/runtime/node_modules/caniuse-lite/data/features/menu.js +1 -1
  490. package/runtime/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  491. package/runtime/node_modules/caniuse-lite/data/features/meter.js +1 -1
  492. package/runtime/node_modules/caniuse-lite/data/features/midi.js +1 -1
  493. package/runtime/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  494. package/runtime/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  495. package/runtime/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
  496. package/runtime/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  497. package/runtime/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  498. package/runtime/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  499. package/runtime/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  500. package/runtime/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  501. package/runtime/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  502. package/runtime/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  503. package/runtime/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  504. package/runtime/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  505. package/runtime/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  506. package/runtime/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  507. package/runtime/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  508. package/runtime/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  509. package/runtime/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  510. package/runtime/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  511. package/runtime/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  512. package/runtime/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  513. package/runtime/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  514. package/runtime/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  515. package/runtime/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  516. package/runtime/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  517. package/runtime/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  518. package/runtime/node_modules/caniuse-lite/data/features/opus.js +1 -1
  519. package/runtime/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  520. package/runtime/node_modules/caniuse-lite/data/features/outline.js +1 -1
  521. package/runtime/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  522. package/runtime/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
  523. package/runtime/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  524. package/runtime/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  525. package/runtime/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  526. package/runtime/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  527. package/runtime/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  528. package/runtime/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  529. package/runtime/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  530. package/runtime/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  531. package/runtime/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  532. package/runtime/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  533. package/runtime/node_modules/caniuse-lite/data/features/picture.js +1 -1
  534. package/runtime/node_modules/caniuse-lite/data/features/ping.js +1 -1
  535. package/runtime/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  536. package/runtime/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  537. package/runtime/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  538. package/runtime/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  539. package/runtime/node_modules/caniuse-lite/data/features/portals.js +1 -1
  540. package/runtime/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  541. package/runtime/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  542. package/runtime/node_modules/caniuse-lite/data/features/progress.js +1 -1
  543. package/runtime/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  544. package/runtime/node_modules/caniuse-lite/data/features/promises.js +1 -1
  545. package/runtime/node_modules/caniuse-lite/data/features/proximity.js +1 -1
  546. package/runtime/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  547. package/runtime/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  548. package/runtime/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  549. package/runtime/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  550. package/runtime/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  551. package/runtime/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  552. package/runtime/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  553. package/runtime/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  554. package/runtime/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  555. package/runtime/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  556. package/runtime/node_modules/caniuse-lite/data/features/rem.js +1 -1
  557. package/runtime/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  558. package/runtime/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  559. package/runtime/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  560. package/runtime/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  561. package/runtime/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  562. package/runtime/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  563. package/runtime/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  564. package/runtime/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  565. package/runtime/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  566. package/runtime/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  567. package/runtime/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  568. package/runtime/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  569. package/runtime/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  570. package/runtime/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
  571. package/runtime/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  572. package/runtime/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  573. package/runtime/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  574. package/runtime/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  575. package/runtime/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
  576. package/runtime/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  577. package/runtime/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  578. package/runtime/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  579. package/runtime/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  580. package/runtime/node_modules/caniuse-lite/data/features/sni.js +1 -1
  581. package/runtime/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  582. package/runtime/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  583. package/runtime/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  584. package/runtime/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  585. package/runtime/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  586. package/runtime/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  587. package/runtime/node_modules/caniuse-lite/data/features/stream.js +1 -1
  588. package/runtime/node_modules/caniuse-lite/data/features/streams.js +1 -1
  589. package/runtime/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  590. package/runtime/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  591. package/runtime/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  592. package/runtime/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  593. package/runtime/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  594. package/runtime/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
  595. package/runtime/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  596. package/runtime/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  597. package/runtime/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
  598. package/runtime/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  599. package/runtime/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  600. package/runtime/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  601. package/runtime/node_modules/caniuse-lite/data/features/svg.js +1 -1
  602. package/runtime/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  603. package/runtime/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  604. package/runtime/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  605. package/runtime/node_modules/caniuse-lite/data/features/template.js +1 -1
  606. package/runtime/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  607. package/runtime/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  608. package/runtime/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  609. package/runtime/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  610. package/runtime/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  611. package/runtime/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  612. package/runtime/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  613. package/runtime/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  614. package/runtime/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  615. package/runtime/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  616. package/runtime/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  617. package/runtime/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  618. package/runtime/node_modules/caniuse-lite/data/features/touch.js +1 -1
  619. package/runtime/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  620. package/runtime/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  621. package/runtime/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  622. package/runtime/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  623. package/runtime/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  624. package/runtime/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  625. package/runtime/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  626. package/runtime/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  627. package/runtime/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  628. package/runtime/node_modules/caniuse-lite/data/features/url.js +1 -1
  629. package/runtime/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  630. package/runtime/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  631. package/runtime/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  632. package/runtime/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  633. package/runtime/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  634. package/runtime/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  635. package/runtime/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  636. package/runtime/node_modules/caniuse-lite/data/features/video.js +1 -1
  637. package/runtime/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  638. package/runtime/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  639. package/runtime/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  640. package/runtime/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  641. package/runtime/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  642. package/runtime/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  643. package/runtime/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  644. package/runtime/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  645. package/runtime/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  646. package/runtime/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  647. package/runtime/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  648. package/runtime/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  649. package/runtime/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  650. package/runtime/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  651. package/runtime/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  652. package/runtime/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  653. package/runtime/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  654. package/runtime/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  655. package/runtime/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  656. package/runtime/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  657. package/runtime/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  658. package/runtime/node_modules/caniuse-lite/data/features/wav.js +1 -1
  659. package/runtime/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  660. package/runtime/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  661. package/runtime/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  662. package/runtime/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  663. package/runtime/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  664. package/runtime/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  665. package/runtime/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  666. package/runtime/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  667. package/runtime/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  668. package/runtime/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  669. package/runtime/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  670. package/runtime/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  671. package/runtime/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  672. package/runtime/node_modules/caniuse-lite/data/features/webm.js +1 -1
  673. package/runtime/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  674. package/runtime/node_modules/caniuse-lite/data/features/webp.js +1 -1
  675. package/runtime/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  676. package/runtime/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  677. package/runtime/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  678. package/runtime/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  679. package/runtime/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  680. package/runtime/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  681. package/runtime/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  682. package/runtime/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  683. package/runtime/node_modules/caniuse-lite/data/features/woff.js +1 -1
  684. package/runtime/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  685. package/runtime/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  686. package/runtime/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  687. package/runtime/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  688. package/runtime/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  689. package/runtime/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  690. package/runtime/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
  691. package/runtime/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
  692. package/runtime/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  693. package/runtime/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  694. package/runtime/node_modules/caniuse-lite/data/versionGroups.js +1 -1
  695. package/runtime/node_modules/caniuse-lite/package.json +1 -1
  696. package/runtime/package-lock.json +43 -38
  697. package/runtime/server.js +1 -1
  698. package/runtime/webapp/dist/assets/{AiHubPane-D3O__UGN.js → AiHubPane-D1SGdI6y.js} +1 -1
  699. package/runtime/webapp/dist/assets/{App-DJXr24vO.js → App-Y_UUrP8i.js} +57 -57
  700. package/runtime/webapp/dist/assets/{BrowserLivePanel-DEl_6FZj.js → BrowserLivePanel-CapyOwFL.js} +2 -2
  701. package/runtime/webapp/dist/assets/{CollaborationDashboard-DhLKl7mR.js → CollaborationDashboard-CEF41i5J.js} +1 -1
  702. package/runtime/webapp/dist/assets/CollaborationPage-C8PN5oNe.js +16 -0
  703. package/runtime/webapp/dist/assets/{FilePreview-BQBYZYpb.js → FilePreview-BdB8syBQ.js} +3 -3
  704. package/runtime/webapp/dist/assets/{FileTree-CXiXQO4N.js → FileTree-Cf8wDAVy.js} +1 -1
  705. package/runtime/webapp/dist/assets/{FlowStudioPane-DUjBX_7t.js → FlowStudioPane-DuUmV_ki.js} +1 -1
  706. package/runtime/webapp/dist/assets/{RemoteDesktopPage-BDK0Mq5I.js → RemoteDesktopPage-DBoSlmlh.js} +1 -1
  707. package/runtime/webapp/dist/assets/{TerminalPane-L6DN1Y0T.js → TerminalPane-B2s2ff23.js} +1 -1
  708. package/runtime/webapp/dist/assets/{abnfDiagram-VCTEODGH-Dloq4lbc.js → abnfDiagram-VCTEODGH-CQ78RP8v.js} +1 -1
  709. package/runtime/webapp/dist/assets/{arc-DdmNhDp9.js → arc-B4CNFgtV.js} +1 -1
  710. package/runtime/webapp/dist/assets/{architectureDiagram-5GKGNRK7-BTqm_9oY.js → architectureDiagram-5GKGNRK7-B-pYUJdJ.js} +1 -1
  711. package/runtime/webapp/dist/assets/{artifact-links-BI9xeGhs.js → artifact-links-DrWFmMXT.js} +1 -1
  712. package/runtime/webapp/dist/assets/{blockDiagram-I7D4REHJ-jT-ztA_A.js → blockDiagram-I7D4REHJ-CEEpSPhh.js} +1 -1
  713. package/runtime/webapp/dist/assets/{c4Diagram-7LVT6UL2-DxX89YpZ.js → c4Diagram-7LVT6UL2-Bq7l-OxC.js} +1 -1
  714. package/runtime/webapp/dist/assets/channel-B0Az_kl0.js +1 -0
  715. package/runtime/webapp/dist/assets/{chunk-2Q5K7J3B-BgXNuFPn.js → chunk-2Q5K7J3B-B2yw0jQL.js} +1 -1
  716. package/runtime/webapp/dist/assets/{chunk-5VM5RSS4-Bv7-4JNt.js → chunk-5VM5RSS4-D7AIGjlP.js} +1 -1
  717. package/runtime/webapp/dist/assets/{chunk-F27PBJKO-BNSskrgg.js → chunk-F27PBJKO-_wNxBMaG.js} +1 -1
  718. package/runtime/webapp/dist/assets/{chunk-IMKFNOWR-C166MQKM.js → chunk-IMKFNOWR-bMSiSCLu.js} +1 -1
  719. package/runtime/webapp/dist/assets/{chunk-JWPE2WC7-Bl1a_rZ8.js → chunk-JWPE2WC7-Zu8gSQip.js} +1 -1
  720. package/runtime/webapp/dist/assets/{chunk-POPQ4Y6H-Ck6xvnVw.js → chunk-POPQ4Y6H-8G7L6RqL.js} +1 -1
  721. package/runtime/webapp/dist/assets/{chunk-SVP7TREG-h6j1DDv5.js → chunk-SVP7TREG-a6VVTk08.js} +1 -1
  722. package/runtime/webapp/dist/assets/{chunk-TICWLB2K-BFafTq0K.js → chunk-TICWLB2K-ddeHMudM.js} +1 -1
  723. package/runtime/webapp/dist/assets/{chunk-XXDRQBXY-BQPWRmrg.js → chunk-XXDRQBXY-DSuvta0Q.js} +1 -1
  724. package/runtime/webapp/dist/assets/classDiagram-ZZMXUADV-HNxe_TWF.js +1 -0
  725. package/runtime/webapp/dist/assets/classDiagram-v2-VYDZK3BY-HNxe_TWF.js +1 -0
  726. package/runtime/webapp/dist/assets/{clipboard-B2fwlVD5.js → clipboard-DS4Pu9OB.js} +1 -1
  727. package/runtime/webapp/dist/assets/{codeSyntax-VUYFxRDg.js → codeSyntax-BWSPpoSH.js} +1 -1
  728. package/runtime/webapp/dist/assets/{collaboration-CalhGKdD.js → collaboration-D7MlFa87.js} +1 -1
  729. package/runtime/webapp/dist/assets/{cose-bilkent-JH36ORCC-IgwThNmP.js → cose-bilkent-JH36ORCC-D1TkGbTC.js} +1 -1
  730. package/runtime/webapp/dist/assets/{cynefin-OW5HDTMX-kfamOzdb.js → cynefin-OW5HDTMX-CYPV2qwK.js} +1 -1
  731. package/runtime/webapp/dist/assets/{cynefinDiagram-5FMLGOSQ-TVskTO_2.js → cynefinDiagram-5FMLGOSQ-DH8spH6U.js} +1 -1
  732. package/runtime/webapp/dist/assets/{dagre-GXQ25YYZ-DA85rDs9.js → dagre-GXQ25YYZ-Dkv69aQ5.js} +1 -1
  733. package/runtime/webapp/dist/assets/{diagram-S7CK7UJ4-CK0LkDfU.js → diagram-S7CK7UJ4-Gl094s_z.js} +1 -1
  734. package/runtime/webapp/dist/assets/{diagram-UQ7AKVKN-Bkskt6g2.js → diagram-UQ7AKVKN-DKzCe2K6.js} +1 -1
  735. package/runtime/webapp/dist/assets/{diagram-VSXAHHWV-DN2UO2Hh.js → diagram-VSXAHHWV-Dq1LtLSa.js} +1 -1
  736. package/runtime/webapp/dist/assets/{diagram-VX7I27RA-BLSOCEKl.js → diagram-VX7I27RA-CN9QKehv.js} +1 -1
  737. package/runtime/webapp/dist/assets/{diagram-Z3DM3KII-DNr6MVnd.js → diagram-Z3DM3KII-1J67VxEA.js} +1 -1
  738. package/runtime/webapp/dist/assets/{ebnfDiagram-PWID7BFC-CRASUUeC.js → ebnfDiagram-PWID7BFC-CRyJYtkK.js} +1 -1
  739. package/runtime/webapp/dist/assets/{erDiagram-RLTQ6QDP-1VwQNW79.js → erDiagram-RLTQ6QDP-C0jVGZ7x.js} +1 -1
  740. package/runtime/webapp/dist/assets/{file-types-MDD5RUla.js → file-types-Bi7YTERW.js} +1 -1
  741. package/runtime/webapp/dist/assets/{flowDiagram-HODETNUW-DzhiH-fC.js → flowDiagram-HODETNUW-wm5Kefw0.js} +1 -1
  742. package/runtime/webapp/dist/assets/{ganttDiagram-EL5Y4UJY-DH8HcfJq.js → ganttDiagram-EL5Y4UJY-DN5F7ix3.js} +1 -1
  743. package/runtime/webapp/dist/assets/{gitGraphDiagram-WWUBYQGX-DYOG2d-R.js → gitGraphDiagram-WWUBYQGX-DcpXNY21.js} +1 -1
  744. package/runtime/webapp/dist/assets/{index-Bqpz5--c.js → index-Ddj6oQ7t.js} +3 -3
  745. package/runtime/webapp/dist/assets/index-hju2LxNM.css +1 -0
  746. package/runtime/webapp/dist/assets/{infoDiagram-27XIBGKW-DOjkALCi.js → infoDiagram-27XIBGKW-B1iXrK9c.js} +1 -1
  747. package/runtime/webapp/dist/assets/{ishikawaDiagram-5VMMS53U-DBXZxz82.js → ishikawaDiagram-5VMMS53U-C1jZv655.js} +1 -1
  748. package/runtime/webapp/dist/assets/{journeyDiagram-3NMN7TZE-DEpi9Fbd.js → journeyDiagram-3NMN7TZE-BRSFQ0r1.js} +1 -1
  749. package/runtime/webapp/dist/assets/{kanban-definition-UXKFOSKX-Chbcb2nn.js → kanban-definition-UXKFOSKX-Cl9je8cc.js} +1 -1
  750. package/runtime/webapp/dist/assets/{layout-0ld5oekM.js → layout-CKkSxSc4.js} +1 -1
  751. package/runtime/webapp/dist/assets/{linear-BCRtBckJ.js → linear-CC85eD8_.js} +1 -1
  752. package/runtime/webapp/dist/assets/{loader-circle-DGJsEr0r.js → loader-circle-C63zcjMg.js} +1 -1
  753. package/runtime/webapp/dist/assets/{mermaid.core-ByBSaE2T.js → mermaid.core-DIjc2ZR6.js} +5 -5
  754. package/runtime/webapp/dist/assets/{mindmap-definition-YA3MSWOX-BW9I4Kuv.js → mindmap-definition-YA3MSWOX-mJUtqDVt.js} +1 -1
  755. package/runtime/webapp/dist/assets/{page-DVdz2jp6.js → page-bnT1btVj.js} +6 -6
  756. package/runtime/webapp/dist/assets/{pegDiagram-XKGWAZYB-D9oxCTQA.js → pegDiagram-XKGWAZYB-Dt3xAyl2.js} +1 -1
  757. package/runtime/webapp/dist/assets/{pieDiagram-E7YTZNPT-Ca4vPJj3.js → pieDiagram-E7YTZNPT-DleFmb0m.js} +1 -1
  758. package/runtime/webapp/dist/assets/{quadrantDiagram-AXDQQJYC-DM9Go2ES.js → quadrantDiagram-AXDQQJYC-BpeD8UfU.js} +1 -1
  759. package/runtime/webapp/dist/assets/{railroadDiagram-O6MQD6OU-BinalW7_.js → railroadDiagram-O6MQD6OU-BBQ5ixic.js} +1 -1
  760. package/runtime/webapp/dist/assets/{requirementDiagram-BXWQKSXE-C4KXL_m1.js → requirementDiagram-BXWQKSXE-xO5TSQS3.js} +1 -1
  761. package/runtime/webapp/dist/assets/{rotate-ccw-DrBaBbCR.js → rotate-ccw-AmWkL3kV.js} +1 -1
  762. package/runtime/webapp/dist/assets/{rotate-cw-Ccsl7hB3.js → rotate-cw-DrY9cGmB.js} +1 -1
  763. package/runtime/webapp/dist/assets/{sankeyDiagram-P5KCCOFB-Ba3vi6ln.js → sankeyDiagram-P5KCCOFB-Fyt0-RhU.js} +1 -1
  764. package/runtime/webapp/dist/assets/{send-OgOSXSRs.js → send-ATfKaKHb.js} +1 -1
  765. package/runtime/webapp/dist/assets/{sequenceDiagram-WJ2MYXX4-DJzCQdxN.js → sequenceDiagram-WJ2MYXX4-xkFumv3g.js} +1 -1
  766. package/runtime/webapp/dist/assets/{sizeCapture-INFHLROL-DYsPME1d.js → sizeCapture-INFHLROL-Ch5NIy5j.js} +1 -1
  767. package/runtime/webapp/dist/assets/{smartphone-BaeWE4n-.js → smartphone-BL3ONtnq.js} +1 -1
  768. package/runtime/webapp/dist/assets/{stateDiagram-D77RDMKH-D2prIqK-.js → stateDiagram-D77RDMKH-BYyhiW6f.js} +1 -1
  769. package/runtime/webapp/dist/assets/stateDiagram-v2-MP3YSRHH-BbZH2Sb9.js +1 -0
  770. package/runtime/webapp/dist/assets/{swimlanes-42K2YHIH-NODzX6Rz.js → swimlanes-42K2YHIH-Da71LrsA.js} +1 -1
  771. package/runtime/webapp/dist/assets/swimlanesDiagram-VR7AAH4N-CxBioyEE.js +8 -0
  772. package/runtime/webapp/dist/assets/{timeline-definition-24CTP7MA-CTh1zdtP.js → timeline-definition-24CTP7MA-BaXSS2__.js} +1 -1
  773. package/runtime/webapp/dist/assets/{trash-2-DoqYR_LW.js → trash-2-DBC-hIuM.js} +1 -1
  774. package/runtime/webapp/dist/assets/{vennDiagram-4TSXK5OY-DyjbbvAr.js → vennDiagram-4TSXK5OY-D_V4cbSG.js} +1 -1
  775. package/runtime/webapp/dist/assets/{wardleyDiagram-VM6X3IG4-BFWVhSKh.js → wardleyDiagram-VM6X3IG4-C-31z3KF.js} +1 -1
  776. package/runtime/webapp/dist/assets/{web-W_qr76-r.js → web-C3itPQLn.js} +1 -1
  777. package/runtime/webapp/dist/assets/{web-BeDKAt7R.js → web-Co-fisS2.js} +1 -1
  778. package/runtime/webapp/dist/assets/{x-Dp1u7spG.js → x-qYJy8CK-.js} +1 -1
  779. package/runtime/webapp/dist/assets/{xychartDiagram-S5SC5T6Z-CkRP6Drf.js → xychartDiagram-S5SC5T6Z-DKF--ymA.js} +1 -1
  780. package/runtime/webapp/dist/index.html +2 -2
  781. package/runtime/.next/static/chunks/app/web/layout-4e2120c7c4a57f7c.js +0 -1
  782. package/runtime/.next/static/chunks/app/web/page-aa406cbaa5109651.js +0 -1
  783. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core-50f20fv8.mjs +0 -40
  784. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core-x5tcx9zy.mjs +0 -52
  785. package/runtime/webapp/dist/assets/CollaborationPage-BCzxWWHA.js +0 -16
  786. package/runtime/webapp/dist/assets/channel-9wfiqrt1.js +0 -1
  787. package/runtime/webapp/dist/assets/classDiagram-ZZMXUADV-CTD9Lt2V.js +0 -1
  788. package/runtime/webapp/dist/assets/classDiagram-v2-VYDZK3BY-CTD9Lt2V.js +0 -1
  789. package/runtime/webapp/dist/assets/index-WGJ3Mevp.css +0 -1
  790. package/runtime/webapp/dist/assets/stateDiagram-v2-MP3YSRHH-tpTQhbGu.js +0 -1
  791. package/runtime/webapp/dist/assets/swimlanesDiagram-VR7AAH4N-CUH3ZqiP.js +0 -8
  792. /package/runtime/.next/static/{wybbbDbeFWOi1186WVCZe → 4yVGaJwabJff1LDiyzYia}/_buildManifest.js +0 -0
  793. /package/runtime/.next/static/{wybbbDbeFWOi1186WVCZe → 4yVGaJwabJff1LDiyzYia}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=1904,e.ids=[1904],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},712:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>x,patchFetch:()=>l,requestAsyncStorage:()=>u,routeModule:()=>n,serverHooks:()=>c,staticGenerationAsyncStorage:()=>d});var o={};t.r(o),t.d(o,{POST:()=>p.POST});var s=t(7786),i=t(5042),a=t(2184),p=t(555);let n=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/sessions/[id]/fork-at/route",pathname:"/api/sessions/[id]/fork-at",filename:"route",bundlePath:"app/api/sessions/[id]/fork-at/route"},resolvedPagePath:"/private/tmp/agentroam-preview63-source/packages/server/app/api/sessions/[id]/fork-at/route.ts",nextConfigOutput:"standalone",userland:o}),{requestAsyncStorage:u,staticGenerationAsyncStorage:d,serverHooks:c}=n,x="/api/sessions/[id]/fork-at/route";function l(){return(0,a.patchFetch)({serverHooks:c,staticGenerationAsyncStorage:d})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8375,6703,4621,7519,366],()=>t(712));module.exports=o})();
1
+ "use strict";(()=>{var e={};e.id=1904,e.ids=[1904],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},7756:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>x,patchFetch:()=>l,requestAsyncStorage:()=>u,routeModule:()=>p,serverHooks:()=>c,staticGenerationAsyncStorage:()=>d});var o={};t.r(o),t.d(o,{POST:()=>n.POST});var s=t(7786),a=t(5042),i=t(2184),n=t(555);let p=new s.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/sessions/[id]/fork-at/route",pathname:"/api/sessions/[id]/fork-at",filename:"route",bundlePath:"app/api/sessions/[id]/fork-at/route"},resolvedPagePath:"/private/tmp/agentroam-all64.baB7t1/source/packages/server/app/api/sessions/[id]/fork-at/route.ts",nextConfigOutput:"standalone",userland:o}),{requestAsyncStorage:u,staticGenerationAsyncStorage:d,serverHooks:c}=p,x="/api/sessions/[id]/fork-at/route";function l(){return(0,i.patchFetch)({serverHooks:c,staticGenerationAsyncStorage:d})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[8375,6703,4621,7519,366],()=>t(7756));module.exports=o})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=5937,e.ids=[5937,732],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},3256:(e,t,s)=>{s.r(t),s.d(t,{originalPathname:()=>E,patchFetch:()=>S,requestAsyncStorage:()=>f,routeModule:()=>w,serverHooks:()=>v,staticGenerationAsyncStorage:()=>N});var r={};s.r(r),s.d(r,{DELETE:()=>h,GET:()=>d,PATCH:()=>m,POST:()=>c});var i=s(7786),n=s(5042),a=s(2184),o=s(1890),u=s(732),l=s(1614);async function d(e,{params:t}){try{let e=(0,l.V_)(t.id)?await (0,l.NL)().getGoals(t.id,"web"):await (0,u.getCustomerGoalCoordinator)().get(t.id);return o.NextResponse.json(e)}catch(e){return g(e)}}async function c(e,{params:t}){try{let s=await e.json();if("string"!=typeof s.objective||!s.objective.trim())return o.NextResponse.json({error:"objective is required"},{status:400});if((0,l.V_)(t.id)){let e="message"===s.kind?await (0,l.NL)().enqueueMessage(t.id,{sourceMessageId:"string"==typeof s.sourceMessageId?s.sourceMessageId:crypto.randomUUID(),content:s.objective,messagePayload:p(s.messagePayload)},"web"):await (0,l.NL)().enqueueGoal(t.id,s.objective,"string"==typeof s.sourceMessageId?s.sourceMessageId:void 0,"web");return o.NextResponse.json(e)}if("message"===s.kind)return o.NextResponse.json({state:await (0,u.getCustomerGoalCoordinator)().enqueueMessage(t.id,s.objective,"string"==typeof s.sourceMessageId?s.sourceMessageId:crypto.randomUUID(),p(s.messagePayload))});let r=await (0,u.getCustomerGoalCoordinator)().enqueue(t.id,s.objective,"string"==typeof s.sourceMessageId?s.sourceMessageId:void 0);return o.NextResponse.json({state:r})}catch(e){return g(e)}}async function m(e,{params:t}){try{let s=await e.json();if("message"===s.kind&&"string"==typeof s.messageId){if("string"!=typeof s.objective||!s.objective.trim())return o.NextResponse.json({error:"objective is required"},{status:400});if(!(0,l.V_)(t.id))return o.NextResponse.json(await (0,u.getCustomerGoalCoordinator)().updateMessage(t.id,s.messageId,s.objective,p(s.messagePayload)));return o.NextResponse.json(await (0,l.NL)().updateMessage(t.id,s.messageId,s.objective,p(s.messagePayload)))}if(!Array.isArray(s.orderedIds)||!s.orderedIds.every(e=>"string"==typeof e))return o.NextResponse.json({error:"orderedIds must be a string array"},{status:400});let r=(0,l.V_)(t.id)?"message"===s.kind?await (0,l.NL)().reorderMessages(t.id,s.orderedIds):await (0,l.NL)().reorderGoals(t.id,s.orderedIds):await (0,u.getCustomerGoalCoordinator)().reorder(t.id,s.orderedIds,"message"===s.kind);return o.NextResponse.json(r)}catch(e){return g(e)}}async function h(e,{params:t}){try{let s=new URL(e.url),r=s.searchParams.get("goalId");if(!r)return o.NextResponse.json({error:"goalId is required"},{status:400});let i=(0,l.V_)(t.id)?"message"===s.searchParams.get("kind")?await (0,l.NL)().cancelMessage(t.id,r):await (0,l.NL)().cancelGoal(t.id,r):await (0,u.getCustomerGoalCoordinator)().cancel(t.id,r);return o.NextResponse.json(i)}catch(e){return g(e)}}function p(e){if(!e||"object"!=typeof e)return;let t=Array.isArray(e.images)&&e.images.every(e=>"string"==typeof e)?e.images:void 0,s=Array.isArray(e.agentIds)&&e.agentIds.every(e=>"string"==typeof e)?e.agentIds:void 0;return{...t?.length?{images:t}:{},...s?.length?{agentIds:s}:{},..."string"==typeof e.agentName&&e.agentName?{agentName:e.agentName}:{}}}function g(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Goal operation failed"},{status:(0,l.WW)(e)})}let w=new i.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/goals/route",pathname:"/api/sessions/[id]/goals",filename:"route",bundlePath:"app/api/sessions/[id]/goals/route"},resolvedPagePath:"/private/tmp/agentroam-preview63-source/packages/server/app/api/sessions/[id]/goals/route.ts",nextConfigOutput:"standalone",userland:r}),{requestAsyncStorage:f,staticGenerationAsyncStorage:N,serverHooks:v}=w,E="/api/sessions/[id]/goals/route";function S(){return(0,a.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:N})}},732:(e,t,s)=>{s.d(t,{getCustomerGoalCoordinator:()=>l,U:()=>d});var r=s(1636),i=s(7519);class n{constructor(e,t,s,r,i,n){this.store=e,this.busy=t,this.run=s,this.abort=r,this.steerRun=i,this.persist=n,this.tails=new Map,this.draining=new Set}async get(e,t=!0){let s=(0,r.readSessionGoalState)((await this.require(e)).metadata);return t&&this.resume(e),s}async enqueue(e,t,s){let i=await this.mutate(e,i=>(0,r.enqueueSessionGoal)(i,{id:crypto.randomUUID(),sessionId:e,objective:t,sourceMessageId:s,now:Date.now()}));return this.resume(e),i}async enqueueMessage(e,t,s,i){let n=await this.mutate(e,n=>[n.active,...n.queued,...n.history].some(e=>e?.sourceMessageId===s)?n:(0,r.enqueueSessionMessage)(n,{id:crypto.randomUUID(),sessionId:e,objective:t,sourceMessageId:s,messagePayload:i,now:Date.now(),activate:!1}));return this.resume(e),n}reorder(e,t,s=!1){return this.mutate(e,e=>s?(0,r.reorderQueuedSessionMessages)(e,t):(0,r.reorderQueuedSessionGoals)(e,t))}updateMessage(e,t,s,i){return this.mutate(e,e=>(0,r.updateQueuedSessionMessage)(e,t,s,i))}async cancel(e,t){let s=await this.mutate(e,s=>(s.active?.id===t&&this.draining.has(e)&&this.abort(e),(0,r.cancelSessionGoal)(s,t,Date.now())));return this.resume(e),s}async steer(e,t){return this.mutate(e,async s=>{let i=s.queued.find(e=>e.id===t&&"message"===e.kind);if(!i||!this.busy(e))throw Error("没有可引导的运行或排队消息");if(!await this.steerRun(e,i.objective))throw Error("运行已结束,请继续排队");return(0,r.cancelSessionGoal)(s,t,Date.now())})}resume(e){this.draining.has(e)||(this.draining.add(e),this.drain(e).catch(e=>console.error("Customer queue failed",e)).finally(()=>this.draining.delete(e)))}async drain(e){for(;;){let t;let s=await this.get(e,!1);if(!s.active&&!s.queued.length)return;if(this.busy(e)){await new Promise(e=>setTimeout(e,100));continue}let i=(await this.mutate(e,e=>(0,r.promoteNextSessionQueueItem)(e,Date.now()))).active;if(!i)continue;let n="failed";try{n=await this.run(e,i)}catch(e){if(e?.code==="SESSION_ALREADY_RUNNING")continue;t=e instanceof Error?e.message:String(e)}await this.mutate(e,e=>e.active?.id===i.id?(0,r.finishActiveSessionGoal)(e,n,Date.now(),t):e)}}async require(e){let t=await this.store.get(e);if(!t)throw Error("Session not found");return t}async mutate(e,t){let s=(this.tails.get(e)??Promise.resolve()).catch(()=>{}).then(async()=>{let s=await this.require(e),i=await t((0,r.readSessionGoalState)(s.metadata));if(this.persist)this.persist(e,i);else{let t=await this.require(e);await this.store.update(e,{metadata:(0,r.writeSessionGoalState)(t.metadata,i)})}return i});this.tails.set(e,s);try{return await s}finally{this.tails.get(e)===s&&this.tails.delete(e)}}}var a=s(785);let o=globalThis,u=new Set;function l(){return o.__sharedCustomerQueue??=new n(i.agentHost.getSessionStore(),e=>i.agentHost.isSessionRunning(e),async(e,t)=>{u.add(e);try{return await i.agentHost.startRun(t.objective,e,t.messagePayload?.images,{agentIds:t.messagePayload?.agentIds}).completion,(await i.agentHost.getSessionStore().get(e))?.status==="completed"?"completed":"failed"}finally{u.delete(e)}},e=>{u.has(e)&&i.agentHost.abort(e)},(e,t)=>i.agentHost.steer(t,e),(e,t)=>{(0,r.getDatabase)((0,a.kO)()).db.prepare("UPDATE sessions SET metadata = json_set(metadata, '$.goalState', json(?)), updated = ? WHERE id = ?").run(JSON.stringify(t),new Date().toISOString(),e)})}function d(){for(let e of(0,r.getDatabase)((0,a.kO)()).db.prepare("SELECT id FROM sessions WHERE json_extract(metadata, '$.goalState.active') IS NOT NULL OR json_array_length(metadata, '$.goalState.queued') > 0").all())l().resume(e.id)}},1614:(e,t,s)=>{s.d(t,{NL:()=>N,V_:()=>y,WW:()=>R});var r=s(7561),i=s(612),n=s(9411),a=s(7718),o=s(1636);function u(e){if(!e.trim())return!1;try{return(0,r.accessSync)(e,r.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function d(e){let t=[],s=process.env[e.environmentVariable]?.trim();if(s){let r=u(s);t.push({source:"pin",path:s,executable:r,version:r?l(s):void 0,error:r?void 0:`${e.environmentVariable} "${s}" is not executable`})}let r=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let s=(0,n.resolve)(t,e);if(u(s))return s}}(e.name);return r&&r!==s&&t.push({source:"path",path:r,executable:!0,version:l(r)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var c=s(535),m=s(2847),h=s(785);let p=globalThis;class g{constructor(e,t=async()=>[],s=process.platform){this.runtime=e,this.listProjects=t,this.platform=s,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,s){if(!this.runtime.importWorkspace)throw new m.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,s)}async listWorkspaceSessions(e,t,s){let r=await this.runtime.listWorkspaceSessions(e,t,s);if(s?.cursor)return r;let i=new Set(r.data.map(e=>e.id)),n=r.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),w(e,t)):e});for(let s of this.pendingCreations.values())s.agentType!==e||s.projectId!==t||i.has(s.id)||n.unshift(s);return{...r,data:n}}async list(e){let[t,s]=await Promise.all([this.runtime.list(),this.listProjects()]);return S(this.withPendingCreations(t).map(e=>v(e,s,this.platform)),e)}async refresh(e){let[t,s]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return S(this.withPendingCreations(t).map(e=>v(e,s,this.platform)),e)}async create(e){let t=v(await this.runtime.create(e),await this.listProjects(),this.platform),s=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(s.id,s),s}async fork(e,t){if(!y(e))throw new m.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let s=v(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(s.id,s),s}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let s;try{s=await this.runtime.get(e,t)}catch(r){let s=this.pendingCreations.get(e);if(!s)throw r;return t?{...s,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...s,messages:[],events:[]}}return v(s,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:r}=await Promise.resolve().then(s.t.bind(s,1636,23));return r(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,s,r,i){return this.runtime.run(e,t,s,r,i)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new m.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,s,r="web",i){if(!this.runtime.startRun)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,s,r,i)}async subscribe(e,t,s){if(!this.runtime.subscribe)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,s)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new m.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new m.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new m.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new m.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new m.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,s,r="web"){if(!this.runtime.enqueueGoal)throw new m.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,s,r)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new m.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new m.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,s="web"){if(!this.runtime.enqueueMessage)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,s)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,s,r){if(!this.runtime.updateMessage)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,s,r)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,s=e.map(e=>{t.add(e.id);let s=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),s?w(e,s):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...s]}}function w(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function f(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function N(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,i.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),s=e.filter(e=>(0,r.existsSync)(e)&&!t.includes(e));s.length>0&&(process.env.PATH=[...t,...s].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,h.kO)());p.__nativeRuntimeService=new g((0,m.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=d({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),s=d({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,f("AGENT_CODEX_RUNTIME_ERROR",t),f("AGENT_OPENCODE_RUNTIME_ERROR",s),(0,c.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:s.executable??null,opencodeDetail:s.detail}),(0,m.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,s.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function v(e,t,s=process.platform){let{projectId:r,...i}=e;if(!e.cwd)return i;let a=E(e.cwd,s),o="win32"===s?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:E(e.description,s)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...i,projectId:u.project.id}:i}function E(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let s=n.win32.resolve(e),r=n.win32.parse(s).root;return(s.length>r.length?s.replace(/[\\/]+$/,""):s).toLowerCase()}function S(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function y(e){try{return"customer-agent"!==(0,m.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function R(e){if(e instanceof m.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},1489:(e,t,s)=>{s.d(t,{N:()=>u});var r=s(1636),i=s(2847),n=s(785);class a{constructor(){this.tasks=new r.CronTasks((0,n.kO)()),this.scheduler=new i.CronScheduler(this.tasks,e=>{this.fire(e).catch(e=>console.error("Scheduled Customer Agent run failed",e))},()=>{}),this.scheduler.start()}async fire(e){let{agentHost:t}=await s.e(7519).then(s.bind(s,7519)),{getCustomerGoalCoordinator:r}=await Promise.all([s.e(7519),s.e(732)]).then(s.bind(s,732)),i=e.sessionId;i&&await t.getSessionStore().get(i)||(i=(await t.createSession(e.label||"定时任务")).id,this.tasks.update(e.id,{sessionId:i})),await r().enqueue(i,e.prompt)}call(e,t){let s=String(t[0]||"");switch(e){case"cronList":return this.tasks.list();case"cronCreate":{if("string"!=typeof t[0]||"string"!=typeof t[1]||!t[1].trim())throw Error("cron and prompt required");let e=t[2]&&"object"==typeof t[2]?t[2]:{};return this.tasks.create({cron:t[0],prompt:t[1],recurring:!1!==e.recurring,enabled:!0,durable:!0,..."string"==typeof e.sessionId?{sessionId:e.sessionId}:{},..."string"==typeof e.label?{label:e.label}:{}})}case"cronPause":return this.tasks.pause(s);case"cronResume":return this.tasks.resume(s);case"cronDelete":return this.tasks.delete(s);case"cronDeleteAll":return this.tasks.deleteAll(),{ok:!0};default:throw Error("Unsupported schedule operation")}}}let o=globalThis;function u(){return o.__sharedCronService??=new a}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[8375,6703,4621,7519],()=>s(3256));module.exports=r})();
1
+ "use strict";(()=>{var e={};e.id=5937,e.ids=[5937,732],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},5785:(e,t,s)=>{s.r(t),s.d(t,{originalPathname:()=>E,patchFetch:()=>S,requestAsyncStorage:()=>f,routeModule:()=>w,serverHooks:()=>v,staticGenerationAsyncStorage:()=>N});var r={};s.r(r),s.d(r,{DELETE:()=>h,GET:()=>d,PATCH:()=>m,POST:()=>c});var i=s(7786),n=s(5042),a=s(2184),o=s(1890),u=s(732),l=s(1614);async function d(e,{params:t}){try{let e=(0,l.V_)(t.id)?await (0,l.NL)().getGoals(t.id,"web"):await (0,u.getCustomerGoalCoordinator)().get(t.id);return o.NextResponse.json(e)}catch(e){return g(e)}}async function c(e,{params:t}){try{let s=await e.json();if("string"!=typeof s.objective||!s.objective.trim())return o.NextResponse.json({error:"objective is required"},{status:400});if((0,l.V_)(t.id)){let e="message"===s.kind?await (0,l.NL)().enqueueMessage(t.id,{sourceMessageId:"string"==typeof s.sourceMessageId?s.sourceMessageId:crypto.randomUUID(),content:s.objective,messagePayload:p(s.messagePayload)},"web"):await (0,l.NL)().enqueueGoal(t.id,s.objective,"string"==typeof s.sourceMessageId?s.sourceMessageId:void 0,"web");return o.NextResponse.json(e)}if("message"===s.kind)return o.NextResponse.json({state:await (0,u.getCustomerGoalCoordinator)().enqueueMessage(t.id,s.objective,"string"==typeof s.sourceMessageId?s.sourceMessageId:crypto.randomUUID(),p(s.messagePayload))});let r=await (0,u.getCustomerGoalCoordinator)().enqueue(t.id,s.objective,"string"==typeof s.sourceMessageId?s.sourceMessageId:void 0);return o.NextResponse.json({state:r})}catch(e){return g(e)}}async function m(e,{params:t}){try{let s=await e.json();if("message"===s.kind&&"string"==typeof s.messageId){if("string"!=typeof s.objective||!s.objective.trim())return o.NextResponse.json({error:"objective is required"},{status:400});if(!(0,l.V_)(t.id))return o.NextResponse.json(await (0,u.getCustomerGoalCoordinator)().updateMessage(t.id,s.messageId,s.objective,p(s.messagePayload)));return o.NextResponse.json(await (0,l.NL)().updateMessage(t.id,s.messageId,s.objective,p(s.messagePayload)))}if(!Array.isArray(s.orderedIds)||!s.orderedIds.every(e=>"string"==typeof e))return o.NextResponse.json({error:"orderedIds must be a string array"},{status:400});let r=(0,l.V_)(t.id)?"message"===s.kind?await (0,l.NL)().reorderMessages(t.id,s.orderedIds):await (0,l.NL)().reorderGoals(t.id,s.orderedIds):await (0,u.getCustomerGoalCoordinator)().reorder(t.id,s.orderedIds,"message"===s.kind);return o.NextResponse.json(r)}catch(e){return g(e)}}async function h(e,{params:t}){try{let s=new URL(e.url),r=s.searchParams.get("goalId");if(!r)return o.NextResponse.json({error:"goalId is required"},{status:400});let i=(0,l.V_)(t.id)?"message"===s.searchParams.get("kind")?await (0,l.NL)().cancelMessage(t.id,r):await (0,l.NL)().cancelGoal(t.id,r):await (0,u.getCustomerGoalCoordinator)().cancel(t.id,r);return o.NextResponse.json(i)}catch(e){return g(e)}}function p(e){if(!e||"object"!=typeof e)return;let t=Array.isArray(e.images)&&e.images.every(e=>"string"==typeof e)?e.images:void 0,s=Array.isArray(e.agentIds)&&e.agentIds.every(e=>"string"==typeof e)?e.agentIds:void 0;return{...t?.length?{images:t}:{},...s?.length?{agentIds:s}:{},..."string"==typeof e.agentName&&e.agentName?{agentName:e.agentName}:{}}}function g(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Goal operation failed"},{status:(0,l.WW)(e)})}let w=new i.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/goals/route",pathname:"/api/sessions/[id]/goals",filename:"route",bundlePath:"app/api/sessions/[id]/goals/route"},resolvedPagePath:"/private/tmp/agentroam-all64.baB7t1/source/packages/server/app/api/sessions/[id]/goals/route.ts",nextConfigOutput:"standalone",userland:r}),{requestAsyncStorage:f,staticGenerationAsyncStorage:N,serverHooks:v}=w,E="/api/sessions/[id]/goals/route";function S(){return(0,a.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:N})}},732:(e,t,s)=>{s.d(t,{getCustomerGoalCoordinator:()=>l,U:()=>d});var r=s(1636),i=s(7519);class n{constructor(e,t,s,r,i,n){this.store=e,this.busy=t,this.run=s,this.abort=r,this.steerRun=i,this.persist=n,this.tails=new Map,this.draining=new Set}async get(e,t=!0){let s=(0,r.readSessionGoalState)((await this.require(e)).metadata);return t&&this.resume(e),s}async enqueue(e,t,s){let i=await this.mutate(e,i=>(0,r.enqueueSessionGoal)(i,{id:crypto.randomUUID(),sessionId:e,objective:t,sourceMessageId:s,now:Date.now()}));return this.resume(e),i}async enqueueMessage(e,t,s,i){let n=await this.mutate(e,n=>[n.active,...n.queued,...n.history].some(e=>e?.sourceMessageId===s)?n:(0,r.enqueueSessionMessage)(n,{id:crypto.randomUUID(),sessionId:e,objective:t,sourceMessageId:s,messagePayload:i,now:Date.now(),activate:!1}));return this.resume(e),n}reorder(e,t,s=!1){return this.mutate(e,e=>s?(0,r.reorderQueuedSessionMessages)(e,t):(0,r.reorderQueuedSessionGoals)(e,t))}updateMessage(e,t,s,i){return this.mutate(e,e=>(0,r.updateQueuedSessionMessage)(e,t,s,i))}async cancel(e,t){let s=await this.mutate(e,s=>(s.active?.id===t&&this.draining.has(e)&&this.abort(e),(0,r.cancelSessionGoal)(s,t,Date.now())));return this.resume(e),s}async steer(e,t){return this.mutate(e,async s=>{let i=s.queued.find(e=>e.id===t&&"message"===e.kind);if(!i||!this.busy(e))throw Error("没有可引导的运行或排队消息");if(!await this.steerRun(e,i.objective))throw Error("运行已结束,请继续排队");return(0,r.cancelSessionGoal)(s,t,Date.now())})}resume(e){this.draining.has(e)||(this.draining.add(e),this.drain(e).catch(e=>console.error("Customer queue failed",e)).finally(()=>this.draining.delete(e)))}async drain(e){for(;;){let t;let s=await this.get(e,!1);if(!s.active&&!s.queued.length)return;if(this.busy(e)){await new Promise(e=>setTimeout(e,100));continue}let i=(await this.mutate(e,e=>(0,r.promoteNextSessionQueueItem)(e,Date.now()))).active;if(!i)continue;let n="failed";try{n=await this.run(e,i)}catch(e){if(e?.code==="SESSION_ALREADY_RUNNING")continue;t=e instanceof Error?e.message:String(e)}await this.mutate(e,e=>e.active?.id===i.id?(0,r.finishActiveSessionGoal)(e,n,Date.now(),t):e)}}async require(e){let t=await this.store.get(e);if(!t)throw Error("Session not found");return t}async mutate(e,t){let s=(this.tails.get(e)??Promise.resolve()).catch(()=>{}).then(async()=>{let s=await this.require(e),i=await t((0,r.readSessionGoalState)(s.metadata));if(this.persist)this.persist(e,i);else{let t=await this.require(e);await this.store.update(e,{metadata:(0,r.writeSessionGoalState)(t.metadata,i)})}return i});this.tails.set(e,s);try{return await s}finally{this.tails.get(e)===s&&this.tails.delete(e)}}}var a=s(785);let o=globalThis,u=new Set;function l(){return o.__sharedCustomerQueue??=new n(i.agentHost.getSessionStore(),e=>i.agentHost.isSessionRunning(e),async(e,t)=>{u.add(e);try{return await i.agentHost.startRun(t.objective,e,t.messagePayload?.images,{agentIds:t.messagePayload?.agentIds}).completion,(await i.agentHost.getSessionStore().get(e))?.status==="completed"?"completed":"failed"}finally{u.delete(e)}},e=>{u.has(e)&&i.agentHost.abort(e)},(e,t)=>i.agentHost.steer(t,e),(e,t)=>{(0,r.getDatabase)((0,a.kO)()).db.prepare("UPDATE sessions SET metadata = json_set(metadata, '$.goalState', json(?)), updated = ? WHERE id = ?").run(JSON.stringify(t),new Date().toISOString(),e)})}function d(){for(let e of(0,r.getDatabase)((0,a.kO)()).db.prepare("SELECT id FROM sessions WHERE json_extract(metadata, '$.goalState.active') IS NOT NULL OR json_array_length(metadata, '$.goalState.queued') > 0").all())l().resume(e.id)}},1614:(e,t,s)=>{s.d(t,{NL:()=>N,V_:()=>y,WW:()=>R});var r=s(7561),i=s(612),n=s(9411),a=s(7718),o=s(1636);function u(e){if(!e.trim())return!1;try{return(0,r.accessSync)(e,r.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function d(e){let t=[],s=process.env[e.environmentVariable]?.trim();if(s){let r=u(s);t.push({source:"pin",path:s,executable:r,version:r?l(s):void 0,error:r?void 0:`${e.environmentVariable} "${s}" is not executable`})}let r=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let s=(0,n.resolve)(t,e);if(u(s))return s}}(e.name);return r&&r!==s&&t.push({source:"path",path:r,executable:!0,version:l(r)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var c=s(535),m=s(2847),h=s(785);let p=globalThis;class g{constructor(e,t=async()=>[],s=process.platform){this.runtime=e,this.listProjects=t,this.platform=s,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,s){if(!this.runtime.importWorkspace)throw new m.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,s)}async listWorkspaceSessions(e,t,s){let r=await this.runtime.listWorkspaceSessions(e,t,s);if(s?.cursor)return r;let i=new Set(r.data.map(e=>e.id)),n=r.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),w(e,t)):e});for(let s of this.pendingCreations.values())s.agentType!==e||s.projectId!==t||i.has(s.id)||n.unshift(s);return{...r,data:n}}async list(e){let[t,s]=await Promise.all([this.runtime.list(),this.listProjects()]);return S(this.withPendingCreations(t).map(e=>v(e,s,this.platform)),e)}async refresh(e){let[t,s]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return S(this.withPendingCreations(t).map(e=>v(e,s,this.platform)),e)}async create(e){let t=v(await this.runtime.create(e),await this.listProjects(),this.platform),s=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(s.id,s),s}async fork(e,t){if(!y(e))throw new m.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let s=v(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(s.id,s),s}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let s;try{s=await this.runtime.get(e,t)}catch(r){let s=this.pendingCreations.get(e);if(!s)throw r;return t?{...s,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...s,messages:[],events:[]}}return v(s,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:r}=await Promise.resolve().then(s.t.bind(s,1636,23));return r(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,s,r,i){return this.runtime.run(e,t,s,r,i)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new m.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,s,r="web",i){if(!this.runtime.startRun)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,s,r,i)}async subscribe(e,t,s){if(!this.runtime.subscribe)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,s)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new m.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new m.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new m.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new m.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new m.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new m.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,s,r="web"){if(!this.runtime.enqueueGoal)throw new m.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,s,r)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new m.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new m.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,s="web"){if(!this.runtime.enqueueMessage)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,s)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,s,r){if(!this.runtime.updateMessage)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,s,r)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new m.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,s=e.map(e=>{t.add(e.id);let s=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),s?w(e,s):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...s]}}function w(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function f(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function N(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,i.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),s=e.filter(e=>(0,r.existsSync)(e)&&!t.includes(e));s.length>0&&(process.env.PATH=[...t,...s].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,h.kO)());p.__nativeRuntimeService=new g((0,m.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=d({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),s=d({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,f("AGENT_CODEX_RUNTIME_ERROR",t),f("AGENT_OPENCODE_RUNTIME_ERROR",s),(0,c.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:s.executable??null,opencodeDetail:s.detail}),(0,m.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,s.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function v(e,t,s=process.platform){let{projectId:r,...i}=e;if(!e.cwd)return i;let a=E(e.cwd,s),o="win32"===s?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:E(e.description,s)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...i,projectId:u.project.id}:i}function E(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let s=n.win32.resolve(e),r=n.win32.parse(s).root;return(s.length>r.length?s.replace(/[\\/]+$/,""):s).toLowerCase()}function S(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function y(e){try{return"customer-agent"!==(0,m.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function R(e){if(e instanceof m.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},1489:(e,t,s)=>{s.d(t,{N:()=>u});var r=s(1636),i=s(2847),n=s(785);class a{constructor(){this.tasks=new r.CronTasks((0,n.kO)()),this.scheduler=new i.CronScheduler(this.tasks,e=>{this.fire(e).catch(e=>console.error("Scheduled Customer Agent run failed",e))},()=>{}),this.scheduler.start()}async fire(e){let{agentHost:t}=await s.e(7519).then(s.bind(s,7519)),{getCustomerGoalCoordinator:r}=await Promise.all([s.e(7519),s.e(732)]).then(s.bind(s,732)),i=e.sessionId;i&&await t.getSessionStore().get(i)||(i=(await t.createSession(e.label||"定时任务")).id,this.tasks.update(e.id,{sessionId:i})),await r().enqueue(i,e.prompt)}call(e,t){let s=String(t[0]||"");switch(e){case"cronList":return this.tasks.list();case"cronCreate":{if("string"!=typeof t[0]||"string"!=typeof t[1]||!t[1].trim())throw Error("cron and prompt required");let e=t[2]&&"object"==typeof t[2]?t[2]:{};return this.tasks.create({cron:t[0],prompt:t[1],recurring:!1!==e.recurring,enabled:!0,durable:!0,..."string"==typeof e.sessionId?{sessionId:e.sessionId}:{},..."string"==typeof e.label?{label:e.label}:{}})}case"cronPause":return this.tasks.pause(s);case"cronResume":return this.tasks.resume(s);case"cronDelete":return this.tasks.delete(s);case"cronDeleteAll":return this.tasks.deleteAll(),{ok:!0};default:throw Error("Unsupported schedule operation")}}}let o=globalThis;function u(){return o.__sharedCronService??=new a}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[8375,6703,4621,7519],()=>s(5785));module.exports=r})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=7719,e.ids=[7719],e.modules={1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},2307:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>p,patchFetch:()=>f,requestAsyncStorage:()=>m,routeModule:()=>c,serverHooks:()=>d,staticGenerationAsyncStorage:()=>h});var i={};r.r(i),r.d(i,{POST:()=>l});var s=r(7786),n=r(5042),a=r(2184),o=r(1890),u=r(1614);async function l(e,{params:t}){if(!(0,u.V_)(t.id))return o.NextResponse.json({error:"Only native sessions can be handed off"},{status:405});try{let e=await (0,u.NL)().handoff(t.id,"desktop");return o.NextResponse.json(e)}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Native handoff failed"},{status:(0,u.WW)(e)})}}let c=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/handoff/route",pathname:"/api/sessions/[id]/handoff",filename:"route",bundlePath:"app/api/sessions/[id]/handoff/route"},resolvedPagePath:"/private/tmp/agentroam-preview63-source/packages/server/app/api/sessions/[id]/handoff/route.ts",nextConfigOutput:"standalone",userland:i}),{requestAsyncStorage:m,staticGenerationAsyncStorage:h,serverHooks:d}=c,p="/api/sessions/[id]/handoff/route";function f(){return(0,a.patchFetch)({serverHooks:d,staticGenerationAsyncStorage:h})}},535:(e,t,r)=>{r.d(t,{L:()=>a});var i=r(1636),s=r(785);let n=!1;function a(){let e=(0,i.getGlobalLogger)();if(e)return e;let t=(0,i.installGlobalLogging)({dir:(0,s.ME)(),source:"server",minLevel:"info",handlers:{exitOnUncaughtException:!1}});return n||(n=!0,t.info("server logger attached",{dir:t.dir,pid:process.pid})),t}},1614:(e,t,r)=>{r.d(t,{NL:()=>N,V_:()=>w,WW:()=>P});var i=r(7561),s=r(612),n=r(9411),a=r(7718),o=r(1636);function u(e){if(!e.trim())return!1;try{return(0,i.accessSync)(e,i.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let i=u(r);t.push({source:"pin",path:r,executable:i,version:i?l(r):void 0,error:i?void 0:`${e.environmentVariable} "${r}" is not executable`})}let i=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return i&&i!==r&&t.push({source:"path",path:i,executable:!0,version:l(i)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var m=r(535),h=r(2847),d=r(785);let p=globalThis;class f{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new h.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let i=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return i;let s=new Set(i.data.map(e=>e.id)),n=i.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),E(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||s.has(r.id)||n.unshift(r);return{...i,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>O(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>O(e,r,this.platform)),e)}async create(e){let t=O(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!w(e))throw new h.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=O(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(i){let r=this.pendingCreations.get(e);if(!r)throw i;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return O(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:i}=await Promise.resolve().then(r.t.bind(r,1636,23));return i(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,i,s){return this.runtime.run(e,t,r,i,s)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new h.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,i="web",s){if(!this.runtime.startRun)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,i,s)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,i="web"){if(!this.runtime.enqueueGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,i)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,i){if(!this.runtime.updateMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,i)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?E(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function E(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function v(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function N(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,s.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,i.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,d.kO)());p.__nativeRuntimeService=new f((0,h.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,v("AGENT_CODEX_RUNTIME_ERROR",t),v("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,m.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,h.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function O(e,t,r=process.platform){let{projectId:i,...s}=e;if(!e.cwd)return s;let a=R(e.cwd,r),o="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:R(e.description,r)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...s,projectId:u.project.id}:s}function R(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),i=n.win32.parse(r).root;return(r.length>i.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function g(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function w(e){try{return"customer-agent"!==(0,h.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function P(e){if(e instanceof h.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},785:(e,t,r)=>{r.d(t,{ME:()=>o,kO:()=>a,sr:()=>u});var i=r(9411);let s=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),r=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(r)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=s){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function a(){return n()}function o(e=process.env,t=n(e)){let r=e.AGENT_LOG_DIR?.trim();if(r)return(0,i.resolve)(r);let s=e.AGENTROAM_DATA_DIR?.trim();return s?(0,i.resolve)(s,"logs"):(0,i.join)(t,".agent-data","logs")}function u(){return function(e=process.env,t=s){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,a())}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),i=t.X(0,[8375,6703],()=>r(2307));module.exports=i})();
1
+ "use strict";(()=>{var e={};e.id=7719,e.ids=[7719],e.modules={1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},4307:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>p,patchFetch:()=>f,requestAsyncStorage:()=>m,routeModule:()=>c,serverHooks:()=>d,staticGenerationAsyncStorage:()=>h});var i={};r.r(i),r.d(i,{POST:()=>l});var s=r(7786),n=r(5042),a=r(2184),o=r(1890),u=r(1614);async function l(e,{params:t}){if(!(0,u.V_)(t.id))return o.NextResponse.json({error:"Only native sessions can be handed off"},{status:405});try{let e=await (0,u.NL)().handoff(t.id,"desktop");return o.NextResponse.json(e)}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Native handoff failed"},{status:(0,u.WW)(e)})}}let c=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/handoff/route",pathname:"/api/sessions/[id]/handoff",filename:"route",bundlePath:"app/api/sessions/[id]/handoff/route"},resolvedPagePath:"/private/tmp/agentroam-all64.baB7t1/source/packages/server/app/api/sessions/[id]/handoff/route.ts",nextConfigOutput:"standalone",userland:i}),{requestAsyncStorage:m,staticGenerationAsyncStorage:h,serverHooks:d}=c,p="/api/sessions/[id]/handoff/route";function f(){return(0,a.patchFetch)({serverHooks:d,staticGenerationAsyncStorage:h})}},535:(e,t,r)=>{r.d(t,{L:()=>a});var i=r(1636),s=r(785);let n=!1;function a(){let e=(0,i.getGlobalLogger)();if(e)return e;let t=(0,i.installGlobalLogging)({dir:(0,s.ME)(),source:"server",minLevel:"info",handlers:{exitOnUncaughtException:!1}});return n||(n=!0,t.info("server logger attached",{dir:t.dir,pid:process.pid})),t}},1614:(e,t,r)=>{r.d(t,{NL:()=>v,V_:()=>w,WW:()=>P});var i=r(7561),s=r(612),n=r(9411),a=r(7718),o=r(1636);function u(e){if(!e.trim())return!1;try{return(0,i.accessSync)(e,i.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let i=u(r);t.push({source:"pin",path:r,executable:i,version:i?l(r):void 0,error:i?void 0:`${e.environmentVariable} "${r}" is not executable`})}let i=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return i&&i!==r&&t.push({source:"path",path:i,executable:!0,version:l(i)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var m=r(535),h=r(2847),d=r(785);let p=globalThis;class f{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new h.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let i=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return i;let s=new Set(i.data.map(e=>e.id)),n=i.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),E(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||s.has(r.id)||n.unshift(r);return{...i,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>O(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>O(e,r,this.platform)),e)}async create(e){let t=O(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!w(e))throw new h.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=O(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(i){let r=this.pendingCreations.get(e);if(!r)throw i;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return O(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:i}=await Promise.resolve().then(r.t.bind(r,1636,23));return i(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,i,s){return this.runtime.run(e,t,r,i,s)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new h.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,i="web",s){if(!this.runtime.startRun)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,i,s)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,i="web"){if(!this.runtime.enqueueGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,i)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,i){if(!this.runtime.updateMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,i)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?E(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function E(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function N(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function v(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,s.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,i.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,d.kO)());p.__nativeRuntimeService=new f((0,h.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,N("AGENT_CODEX_RUNTIME_ERROR",t),N("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,m.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,h.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function O(e,t,r=process.platform){let{projectId:i,...s}=e;if(!e.cwd)return s;let a=R(e.cwd,r),o="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:R(e.description,r)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...s,projectId:u.project.id}:s}function R(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),i=n.win32.parse(r).root;return(r.length>i.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function g(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function w(e){try{return"customer-agent"!==(0,h.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function P(e){if(e instanceof h.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},785:(e,t,r)=>{r.d(t,{ME:()=>o,kO:()=>a,sr:()=>u});var i=r(9411);let s=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),r=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(r)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=s){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function a(){return n()}function o(e=process.env,t=n(e)){let r=e.AGENT_LOG_DIR?.trim();if(r)return(0,i.resolve)(r);let s=e.AGENTROAM_DATA_DIR?.trim();return s?(0,i.resolve)(s,"logs"):(0,i.join)(t,".agent-data","logs")}function u(){return function(e=process.env,t=s){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,a())}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),i=t.X(0,[8375,6703],()=>r(4307));module.exports=i})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=5348,e.ids=[5348],e.modules={1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},4341:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>f,patchFetch:()=>g,requestAsyncStorage:()=>v,routeModule:()=>p,serverHooks:()=>E,staticGenerationAsyncStorage:()=>N});var i={};r.r(i),r.d(i,{GET:()=>m,POST:()=>h,dynamic:()=>c});var s=r(7786),n=r(5042),a=r(2184),o=r(1890),u=r(2847),l=r(1614);let c="force-dynamic";async function m(e,{params:t}){if(!(0,l.V_)(t.id))return o.NextResponse.json({error:"此会话不支持原生目标"},{status:400});try{return o.NextResponse.json({goal:await (0,l.NL)().getNativeGoal(t.id)})}catch(e){return d(e)}}async function h(e,{params:t}){let r;if(!(0,l.V_)(t.id))return o.NextResponse.json({error:"此会话不支持原生目标"},{status:400});try{r=(0,u.parseNativeGoalMutation)(await e.json())}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"目标操作格式无效"},{status:400})}try{return o.NextResponse.json({goal:await (0,l.NL)().mutateNativeGoal(t.id,r)})}catch(e){return d(e)}}function d(e){return o.NextResponse.json({error:e instanceof Error?e.message:"原生目标操作失败"},{status:(0,l.WW)(e)})}let p=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/native-goal/route",pathname:"/api/sessions/[id]/native-goal",filename:"route",bundlePath:"app/api/sessions/[id]/native-goal/route"},resolvedPagePath:"/private/tmp/agentroam-preview63-source/packages/server/app/api/sessions/[id]/native-goal/route.ts",nextConfigOutput:"standalone",userland:i}),{requestAsyncStorage:v,staticGenerationAsyncStorage:N,serverHooks:E}=p,f="/api/sessions/[id]/native-goal/route";function g(){return(0,a.patchFetch)({serverHooks:E,staticGenerationAsyncStorage:N})}},535:(e,t,r)=>{r.d(t,{L:()=>a});var i=r(1636),s=r(785);let n=!1;function a(){let e=(0,i.getGlobalLogger)();if(e)return e;let t=(0,i.installGlobalLogging)({dir:(0,s.ME)(),source:"server",minLevel:"info",handlers:{exitOnUncaughtException:!1}});return n||(n=!0,t.info("server logger attached",{dir:t.dir,pid:process.pid})),t}},1614:(e,t,r)=>{r.d(t,{NL:()=>f,V_:()=>w,WW:()=>P});var i=r(7561),s=r(612),n=r(9411),a=r(7718),o=r(1636);function u(e){if(!e.trim())return!1;try{return(0,i.accessSync)(e,i.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let i=u(r);t.push({source:"pin",path:r,executable:i,version:i?l(r):void 0,error:i?void 0:`${e.environmentVariable} "${r}" is not executable`})}let i=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return i&&i!==r&&t.push({source:"path",path:i,executable:!0,version:l(i)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var m=r(535),h=r(2847),d=r(785);let p=globalThis;class v{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new h.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let i=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return i;let s=new Set(i.data.map(e=>e.id)),n=i.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),N(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||s.has(r.id)||n.unshift(r);return{...i,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return O(this.withPendingCreations(t).map(e=>g(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return O(this.withPendingCreations(t).map(e=>g(e,r,this.platform)),e)}async create(e){let t=g(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!w(e))throw new h.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=g(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(i){let r=this.pendingCreations.get(e);if(!r)throw i;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return g(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:i}=await Promise.resolve().then(r.t.bind(r,1636,23));return i(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,i,s){return this.runtime.run(e,t,r,i,s)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new h.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,i="web",s){if(!this.runtime.startRun)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,i,s)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,i="web"){if(!this.runtime.enqueueGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,i)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,i){if(!this.runtime.updateMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,i)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?N(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function N(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function E(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function f(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,s.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,i.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,d.kO)());p.__nativeRuntimeService=new v((0,h.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,E("AGENT_CODEX_RUNTIME_ERROR",t),E("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,m.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,h.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function g(e,t,r=process.platform){let{projectId:i,...s}=e;if(!e.cwd)return s;let a=R(e.cwd,r),o="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:R(e.description,r)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...s,projectId:u.project.id}:s}function R(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),i=n.win32.parse(r).root;return(r.length>i.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function O(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function w(e){try{return"customer-agent"!==(0,h.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function P(e){if(e instanceof h.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},785:(e,t,r)=>{r.d(t,{ME:()=>o,kO:()=>a,sr:()=>u});var i=r(9411);let s=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),r=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(r)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=s){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function a(){return n()}function o(e=process.env,t=n(e)){let r=e.AGENT_LOG_DIR?.trim();if(r)return(0,i.resolve)(r);let s=e.AGENTROAM_DATA_DIR?.trim();return s?(0,i.resolve)(s,"logs"):(0,i.join)(t,".agent-data","logs")}function u(){return function(e=process.env,t=s){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,a())}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),i=t.X(0,[8375,6703],()=>r(4341));module.exports=i})();
1
+ "use strict";(()=>{var e={};e.id=5348,e.ids=[5348],e.modules={1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},6369:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>f,patchFetch:()=>g,requestAsyncStorage:()=>N,routeModule:()=>p,serverHooks:()=>E,staticGenerationAsyncStorage:()=>v});var i={};r.r(i),r.d(i,{GET:()=>m,POST:()=>h,dynamic:()=>c});var s=r(7786),n=r(5042),a=r(2184),o=r(1890),u=r(2847),l=r(1614);let c="force-dynamic";async function m(e,{params:t}){if(!(0,l.V_)(t.id))return o.NextResponse.json({error:"此会话不支持原生目标"},{status:400});try{return o.NextResponse.json({goal:await (0,l.NL)().getNativeGoal(t.id)})}catch(e){return d(e)}}async function h(e,{params:t}){let r;if(!(0,l.V_)(t.id))return o.NextResponse.json({error:"此会话不支持原生目标"},{status:400});try{r=(0,u.parseNativeGoalMutation)(await e.json())}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"目标操作格式无效"},{status:400})}try{return o.NextResponse.json({goal:await (0,l.NL)().mutateNativeGoal(t.id,r)})}catch(e){return d(e)}}function d(e){return o.NextResponse.json({error:e instanceof Error?e.message:"原生目标操作失败"},{status:(0,l.WW)(e)})}let p=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/native-goal/route",pathname:"/api/sessions/[id]/native-goal",filename:"route",bundlePath:"app/api/sessions/[id]/native-goal/route"},resolvedPagePath:"/private/tmp/agentroam-all64.baB7t1/source/packages/server/app/api/sessions/[id]/native-goal/route.ts",nextConfigOutput:"standalone",userland:i}),{requestAsyncStorage:N,staticGenerationAsyncStorage:v,serverHooks:E}=p,f="/api/sessions/[id]/native-goal/route";function g(){return(0,a.patchFetch)({serverHooks:E,staticGenerationAsyncStorage:v})}},535:(e,t,r)=>{r.d(t,{L:()=>a});var i=r(1636),s=r(785);let n=!1;function a(){let e=(0,i.getGlobalLogger)();if(e)return e;let t=(0,i.installGlobalLogging)({dir:(0,s.ME)(),source:"server",minLevel:"info",handlers:{exitOnUncaughtException:!1}});return n||(n=!0,t.info("server logger attached",{dir:t.dir,pid:process.pid})),t}},1614:(e,t,r)=>{r.d(t,{NL:()=>f,V_:()=>w,WW:()=>P});var i=r(7561),s=r(612),n=r(9411),a=r(7718),o=r(1636);function u(e){if(!e.trim())return!1;try{return(0,i.accessSync)(e,i.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let i=u(r);t.push({source:"pin",path:r,executable:i,version:i?l(r):void 0,error:i?void 0:`${e.environmentVariable} "${r}" is not executable`})}let i=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return i&&i!==r&&t.push({source:"path",path:i,executable:!0,version:l(i)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var m=r(535),h=r(2847),d=r(785);let p=globalThis;class N{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new h.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let i=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return i;let s=new Set(i.data.map(e=>e.id)),n=i.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),v(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||s.has(r.id)||n.unshift(r);return{...i,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return O(this.withPendingCreations(t).map(e=>g(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return O(this.withPendingCreations(t).map(e=>g(e,r,this.platform)),e)}async create(e){let t=g(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!w(e))throw new h.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=g(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(i){let r=this.pendingCreations.get(e);if(!r)throw i;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return g(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:i}=await Promise.resolve().then(r.t.bind(r,1636,23));return i(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,i,s){return this.runtime.run(e,t,r,i,s)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new h.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,i="web",s){if(!this.runtime.startRun)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,i,s)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,i="web"){if(!this.runtime.enqueueGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,i)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,i){if(!this.runtime.updateMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,i)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?v(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function v(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function E(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function f(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,s.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,i.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,d.kO)());p.__nativeRuntimeService=new N((0,h.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,E("AGENT_CODEX_RUNTIME_ERROR",t),E("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,m.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,h.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function g(e,t,r=process.platform){let{projectId:i,...s}=e;if(!e.cwd)return s;let a=R(e.cwd,r),o="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:R(e.description,r)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...s,projectId:u.project.id}:s}function R(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),i=n.win32.parse(r).root;return(r.length>i.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function O(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function w(e){try{return"customer-agent"!==(0,h.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function P(e){if(e instanceof h.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},785:(e,t,r)=>{r.d(t,{ME:()=>o,kO:()=>a,sr:()=>u});var i=r(9411);let s=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),r=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(r)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=s){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function a(){return n()}function o(e=process.env,t=n(e)){let r=e.AGENT_LOG_DIR?.trim();if(r)return(0,i.resolve)(r);let s=e.AGENTROAM_DATA_DIR?.trim();return s?(0,i.resolve)(s,"logs"):(0,i.join)(t,".agent-data","logs")}function u(){return function(e=process.env,t=s){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,a())}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),i=t.X(0,[8375,6703],()=>r(6369));module.exports=i})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=3097,e.ids=[3097],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},180:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>f,patchFetch:()=>y,requestAsyncStorage:()=>q,routeModule:()=>m,serverHooks:()=>h,staticGenerationAsyncStorage:()=>v});var s={};t.r(s),t.d(s,{GET:()=>l});var n=t(7786),o=t(5042),i=t(2184),a=t(1890),u=t(1636),p=t(7519),d=t(1614),c=t(8274),x=t(2847);let g=new u.SessionQueryIndexCache;async function l(e,{params:r}){if((0,d.V_)(r.id))try{return a.NextResponse.json(await (0,d.NL)().getQueryIndex(r.id))}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Internal error",...e instanceof x.RuntimeSessionError?{code:e.code}:{}},{status:(0,d.WW)(e)})}let t=await p.agentHost.getSessionStore().get(r.id);if(!t)return a.NextResponse.json({error:"Session not found"},{status:404});let s=(!t.messages?.length&&t.events?.length?c.Q(t.events):t.messages)?.filter(e=>!u.isInternalGoalMessage(e))??[];return a.NextResponse.json(g.getOrCreate(r.id,s))}let m=new n.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/sessions/[id]/query-index/route",pathname:"/api/sessions/[id]/query-index",filename:"route",bundlePath:"app/api/sessions/[id]/query-index/route"},resolvedPagePath:"/private/tmp/agentroam-preview63-source/packages/server/app/api/sessions/[id]/query-index/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:q,staticGenerationAsyncStorage:v,serverHooks:h}=m,f="/api/sessions/[id]/query-index/route";function y(){return(0,i.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:v})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[8375,6703,4621,7519,8532],()=>t(180));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=3097,e.ids=[3097],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},7864:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>f,patchFetch:()=>y,requestAsyncStorage:()=>q,routeModule:()=>m,serverHooks:()=>v,staticGenerationAsyncStorage:()=>h});var s={};t.r(s),t.d(s,{GET:()=>g});var n=t(7786),o=t(5042),i=t(2184),a=t(1890),u=t(1636),p=t(7519),d=t(1614),c=t(8274),x=t(2847);let l=new u.SessionQueryIndexCache;async function g(e,{params:r}){if((0,d.V_)(r.id))try{return a.NextResponse.json(await (0,d.NL)().getQueryIndex(r.id))}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Internal error",...e instanceof x.RuntimeSessionError?{code:e.code}:{}},{status:(0,d.WW)(e)})}let t=await p.agentHost.getSessionStore().get(r.id);if(!t)return a.NextResponse.json({error:"Session not found"},{status:404});let s=(!t.messages?.length&&t.events?.length?c.Q(t.events):t.messages)?.filter(e=>!u.isInternalGoalMessage(e))??[];return a.NextResponse.json(l.getOrCreate(r.id,s))}let m=new n.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/sessions/[id]/query-index/route",pathname:"/api/sessions/[id]/query-index",filename:"route",bundlePath:"app/api/sessions/[id]/query-index/route"},resolvedPagePath:"/private/tmp/agentroam-all64.baB7t1/source/packages/server/app/api/sessions/[id]/query-index/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:q,staticGenerationAsyncStorage:h,serverHooks:v}=m,f="/api/sessions/[id]/query-index/route";function y(){return(0,i.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:h})}}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[8375,6703,4621,7519,8532],()=>t(7864));module.exports=s})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=3610,e.ids=[3610],e.modules={1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},5483:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>p,patchFetch:()=>E,requestAsyncStorage:()=>m,routeModule:()=>c,serverHooks:()=>h,staticGenerationAsyncStorage:()=>d});var i={};r.r(i),r.d(i,{POST:()=>l});var s=r(7786),n=r(5042),a=r(2184),o=r(1890),u=r(1614);async function l(e,{params:t}){if(!(0,u.V_)(t.id)||!t.id.startsWith("runtime:codex:"))return o.NextResponse.json({error:"Only Codex sessions can be released"},{status:405});try{return await (0,u.NL)().release(t.id),o.NextResponse.json({status:"released"})}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Codex release failed"},{status:(0,u.WW)(e)})}}let c=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/release/route",pathname:"/api/sessions/[id]/release",filename:"route",bundlePath:"app/api/sessions/[id]/release/route"},resolvedPagePath:"/private/tmp/agentroam-preview63-source/packages/server/app/api/sessions/[id]/release/route.ts",nextConfigOutput:"standalone",userland:i}),{requestAsyncStorage:m,staticGenerationAsyncStorage:d,serverHooks:h}=c,p="/api/sessions/[id]/release/route";function E(){return(0,a.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:d})}},535:(e,t,r)=>{r.d(t,{L:()=>a});var i=r(1636),s=r(785);let n=!1;function a(){let e=(0,i.getGlobalLogger)();if(e)return e;let t=(0,i.installGlobalLogging)({dir:(0,s.ME)(),source:"server",minLevel:"info",handlers:{exitOnUncaughtException:!1}});return n||(n=!0,t.info("server logger attached",{dir:t.dir,pid:process.pid})),t}},1614:(e,t,r)=>{r.d(t,{NL:()=>f,V_:()=>w,WW:()=>P});var i=r(7561),s=r(612),n=r(9411),a=r(7718),o=r(1636);function u(e){if(!e.trim())return!1;try{return(0,i.accessSync)(e,i.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let i=u(r);t.push({source:"pin",path:r,executable:i,version:i?l(r):void 0,error:i?void 0:`${e.environmentVariable} "${r}" is not executable`})}let i=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return i&&i!==r&&t.push({source:"path",path:i,executable:!0,version:l(i)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var m=r(535),d=r(2847),h=r(785);let p=globalThis;class E{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new d.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let i=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return i;let s=new Set(i.data.map(e=>e.id)),n=i.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),N(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||s.has(r.id)||n.unshift(r);return{...i,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>O(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>O(e,r,this.platform)),e)}async create(e){let t=O(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!w(e))throw new d.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=O(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(i){let r=this.pendingCreations.get(e);if(!r)throw i;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return O(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:i}=await Promise.resolve().then(r.t.bind(r,1636,23));return i(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,i,s){return this.runtime.run(e,t,r,i,s)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new d.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,i="web",s){if(!this.runtime.startRun)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,i,s)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new d.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new d.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new d.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new d.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,i="web"){if(!this.runtime.enqueueGoal)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,i)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,i){if(!this.runtime.updateMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,i)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?N(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function N(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function v(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function f(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,s.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,i.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,h.kO)());p.__nativeRuntimeService=new E((0,d.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,v("AGENT_CODEX_RUNTIME_ERROR",t),v("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,m.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,d.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function O(e,t,r=process.platform){let{projectId:i,...s}=e;if(!e.cwd)return s;let a=R(e.cwd,r),o="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:R(e.description,r)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...s,projectId:u.project.id}:s}function R(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),i=n.win32.parse(r).root;return(r.length>i.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function g(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function w(e){try{return"customer-agent"!==(0,d.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function P(e){if(e instanceof d.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},785:(e,t,r)=>{r.d(t,{ME:()=>o,kO:()=>a,sr:()=>u});var i=r(9411);let s=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),r=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(r)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=s){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function a(){return n()}function o(e=process.env,t=n(e)){let r=e.AGENT_LOG_DIR?.trim();if(r)return(0,i.resolve)(r);let s=e.AGENTROAM_DATA_DIR?.trim();return s?(0,i.resolve)(s,"logs"):(0,i.join)(t,".agent-data","logs")}function u(){return function(e=process.env,t=s){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,a())}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),i=t.X(0,[8375,6703],()=>r(5483));module.exports=i})();
1
+ "use strict";(()=>{var e={};e.id=3610,e.ids=[3610],e.modules={1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},6981:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>p,patchFetch:()=>E,requestAsyncStorage:()=>m,routeModule:()=>c,serverHooks:()=>h,staticGenerationAsyncStorage:()=>d});var i={};r.r(i),r.d(i,{POST:()=>l});var s=r(7786),n=r(5042),a=r(2184),o=r(1890),u=r(1614);async function l(e,{params:t}){if(!(0,u.V_)(t.id)||!t.id.startsWith("runtime:codex:"))return o.NextResponse.json({error:"Only Codex sessions can be released"},{status:405});try{return await (0,u.NL)().release(t.id),o.NextResponse.json({status:"released"})}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Codex release failed"},{status:(0,u.WW)(e)})}}let c=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/release/route",pathname:"/api/sessions/[id]/release",filename:"route",bundlePath:"app/api/sessions/[id]/release/route"},resolvedPagePath:"/private/tmp/agentroam-all64.baB7t1/source/packages/server/app/api/sessions/[id]/release/route.ts",nextConfigOutput:"standalone",userland:i}),{requestAsyncStorage:m,staticGenerationAsyncStorage:d,serverHooks:h}=c,p="/api/sessions/[id]/release/route";function E(){return(0,a.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:d})}},535:(e,t,r)=>{r.d(t,{L:()=>a});var i=r(1636),s=r(785);let n=!1;function a(){let e=(0,i.getGlobalLogger)();if(e)return e;let t=(0,i.installGlobalLogging)({dir:(0,s.ME)(),source:"server",minLevel:"info",handlers:{exitOnUncaughtException:!1}});return n||(n=!0,t.info("server logger attached",{dir:t.dir,pid:process.pid})),t}},1614:(e,t,r)=>{r.d(t,{NL:()=>f,V_:()=>w,WW:()=>P});var i=r(7561),s=r(612),n=r(9411),a=r(7718),o=r(1636);function u(e){if(!e.trim())return!1;try{return(0,i.accessSync)(e,i.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let i=u(r);t.push({source:"pin",path:r,executable:i,version:i?l(r):void 0,error:i?void 0:`${e.environmentVariable} "${r}" is not executable`})}let i=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return i&&i!==r&&t.push({source:"path",path:i,executable:!0,version:l(i)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var m=r(535),d=r(2847),h=r(785);let p=globalThis;class E{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new d.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let i=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return i;let s=new Set(i.data.map(e=>e.id)),n=i.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),N(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||s.has(r.id)||n.unshift(r);return{...i,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>O(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>O(e,r,this.platform)),e)}async create(e){let t=O(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!w(e))throw new d.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=O(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(i){let r=this.pendingCreations.get(e);if(!r)throw i;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return O(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:i}=await Promise.resolve().then(r.t.bind(r,1636,23));return i(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,i,s){return this.runtime.run(e,t,r,i,s)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new d.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,i="web",s){if(!this.runtime.startRun)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,i,s)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new d.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new d.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new d.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new d.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,i="web"){if(!this.runtime.enqueueGoal)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,i)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,i){if(!this.runtime.updateMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,i)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?N(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function N(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function v(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function f(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,s.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,i.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,h.kO)());p.__nativeRuntimeService=new E((0,d.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,v("AGENT_CODEX_RUNTIME_ERROR",t),v("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,m.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,d.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function O(e,t,r=process.platform){let{projectId:i,...s}=e;if(!e.cwd)return s;let a=R(e.cwd,r),o="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:R(e.description,r)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...s,projectId:u.project.id}:s}function R(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),i=n.win32.parse(r).root;return(r.length>i.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function g(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function w(e){try{return"customer-agent"!==(0,d.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function P(e){if(e instanceof d.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},785:(e,t,r)=>{r.d(t,{ME:()=>o,kO:()=>a,sr:()=>u});var i=r(9411);let s=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),r=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(r)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=s){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function a(){return n()}function o(e=process.env,t=n(e)){let r=e.AGENT_LOG_DIR?.trim();if(r)return(0,i.resolve)(r);let s=e.AGENTROAM_DATA_DIR?.trim();return s?(0,i.resolve)(s,"logs"):(0,i.join)(t,".agent-data","logs")}function u(){return function(e=process.env,t=s){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,a())}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),i=t.X(0,[8375,6703],()=>r(6981));module.exports=i})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=5241,e.ids=[5241],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},1132:(e,s,t)=>{t.r(s),t.d(s,{originalPathname:()=>N,patchFetch:()=>R,requestAsyncStorage:()=>x,routeModule:()=>f,serverHooks:()=>h,staticGenerationAsyncStorage:()=>P});var r={};t.r(r),t.d(r,{DELETE:()=>g,GET:()=>c,PATCH:()=>v});var n=t(7786),o=t(5042),i=t(2184),a=t(1890),d=t(1636),u=t(7519),p=t(1614),m=t(2847),l=t(8274);async function c(e,{params:s}){let t=new URL(e.url),r=t.searchParams.get("before"),n=t.searchParams.get("after"),o=t.searchParams.get("anchor"),i=t.searchParams.get("limit"),c=t.searchParams.get("view"),v=t.searchParams.get("revision"),g=t.searchParams.get("turnId"),f="core"===c||"trace"===c?c:void 0,x=null!==r||null!==n||null!==o||null!==i||f||v||g?{before:r||void 0,after:n||void 0,anchor:o||void 0,limit:function(e){if(null===e)return;let s=Number(e);return Number.isFinite(s)?s:void 0}(i),view:f,revision:v||void 0,turnId:g||void 0}:void 0;if((0,p.V_)(s.id))try{let e=await (0,p.NL)().get(s.id,x);return a.NextResponse.json(e)}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Internal error",...e instanceof m.RuntimeSessionError?{code:e.code}:{}},{status:(0,p.WW)(e)})}let P=await u.agentHost.getSessionStore().get(s.id);if(!P)return a.NextResponse.json({error:"Session not found"},{status:404});let h=u.agentHost.getRecoverableRun(P),N=[...(!P.messages?.length&&!h&&Array.isArray(P.events)&&P.events.length>0?l.Q(P.events):P.messages)?.filter(e=>!d.isInternalGoalMessage(e))??[]??[],...h?(0,l.Q)(P.events.slice(h.eventStart),{runId:h.runId,isStreaming:h.running}):[]],R=h?h.running?"active":"failed":P.status,M=h?{runId:h.runId,eventId:h.eventId,running:h.running}:void 0;try{let e=x?{...P,agentType:"customer-agent",status:R,permissionMode:(0,d.normalizeToolPermissionMode)(P.metadata.permissionMode),...M?{activeRun:M}:{},...(0,d.paginateSessionHistory)(N??[],P.events??[],x)}:{...P,agentType:"customer-agent",status:R,messages:N,permissionMode:(0,d.normalizeToolPermissionMode)(P.metadata.permissionMode),...M?{activeRun:M}:{}};return a.NextResponse.json({...e,messageQueueVersion:1,goalState:(0,d.readSessionGoalState)(P.metadata)})}catch(e){if(e instanceof d.StaleSessionAnchorError)return a.NextResponse.json({error:e.message,code:e.code},{status:409});throw e}}async function v(e,{params:s}){let t=await e.json();if(void 0!==t.nativeMode){if(!(0,p.V_)(s.id)||void 0!==t.permissionMode||void 0!==t.nativePermissionPreset||"string"!=typeof t.nativeMode||!t.nativeMode.trim()||t.nativeMode.length>128)return a.NextResponse.json({error:"Invalid native mode"},{status:400});try{return a.NextResponse.json(await (0,p.NL)().setNativeMode(s.id,t.nativeMode))}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Unable to update native mode"},{status:(0,p.WW)(e)})}}if(void 0!==t.nativePermissionPreset){if(!(0,p.V_)(s.id)||void 0!==t.permissionMode||"string"!=typeof t.nativePermissionPreset||!t.nativePermissionPreset.trim()||t.nativePermissionPreset.length>128)return a.NextResponse.json({error:"Invalid native permission preset"},{status:400});try{return a.NextResponse.json(await (0,p.NL)().setNativePermissionPreset(s.id,t.nativePermissionPreset))}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Unable to update native permissions"},{status:(0,p.WW)(e)})}}if(!(0,d.isToolPermissionMode)(t.permissionMode))return a.NextResponse.json({error:"Invalid permission mode"},{status:400});if((0,p.V_)(s.id))try{let e=await (0,p.NL)().setPermissionMode(s.id,t.permissionMode);return a.NextResponse.json(e)}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Unable to update permission mode"},{status:(0,p.WW)(e)})}try{let e=await u.agentHost.setSessionPermissionMode(s.id,t.permissionMode);return a.NextResponse.json({...e,permissionMode:(0,d.normalizeToolPermissionMode)(e.metadata.permissionMode)})}catch(t){let e=t instanceof Error?t.message:"Unable to update permission mode",s=e.startsWith("Session not found")?404:500;return a.NextResponse.json({error:e},{status:s})}}async function g(e,{params:s}){if((0,p.V_)(s.id))try{return await (0,p.NL)().delete(s.id),a.NextResponse.json({status:"deleted"})}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Unable to delete session"},{status:(0,p.WW)(e)})}return u.agentHost.isSessionRunning(s.id)?a.NextResponse.json({error:"Session is currently running"},{status:409}):(await u.agentHost.getSessionStore().delete(s.id),a.NextResponse.json({status:"deleted"}))}let f=new n.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/sessions/[id]/route",pathname:"/api/sessions/[id]",filename:"route",bundlePath:"app/api/sessions/[id]/route"},resolvedPagePath:"/private/tmp/agentroam-preview63-source/packages/server/app/api/sessions/[id]/route.ts",nextConfigOutput:"standalone",userland:r}),{requestAsyncStorage:x,staticGenerationAsyncStorage:P,serverHooks:h}=f,N="/api/sessions/[id]/route";function R(){return(0,i.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:P})}}};var s=require("../../../../webpack-runtime.js");s.C(e);var t=e=>s(s.s=e),r=s.X(0,[8375,6703,4621,7519,8532],()=>t(1132));module.exports=r})();
1
+ "use strict";(()=>{var e={};e.id=5241,e.ids=[5241],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},9025:(e,s,t)=>{t.r(s),t.d(s,{originalPathname:()=>N,patchFetch:()=>R,requestAsyncStorage:()=>x,routeModule:()=>f,serverHooks:()=>h,staticGenerationAsyncStorage:()=>P});var r={};t.r(r),t.d(r,{DELETE:()=>v,GET:()=>c,PATCH:()=>g});var n=t(7786),o=t(5042),i=t(2184),a=t(1890),d=t(1636),u=t(7519),p=t(1614),m=t(2847),l=t(8274);async function c(e,{params:s}){let t=new URL(e.url),r=t.searchParams.get("before"),n=t.searchParams.get("after"),o=t.searchParams.get("anchor"),i=t.searchParams.get("limit"),c=t.searchParams.get("view"),g=t.searchParams.get("revision"),v=t.searchParams.get("turnId"),f="core"===c||"trace"===c?c:void 0,x=null!==r||null!==n||null!==o||null!==i||f||g||v?{before:r||void 0,after:n||void 0,anchor:o||void 0,limit:function(e){if(null===e)return;let s=Number(e);return Number.isFinite(s)?s:void 0}(i),view:f,revision:g||void 0,turnId:v||void 0}:void 0;if((0,p.V_)(s.id))try{let e=await (0,p.NL)().get(s.id,x);return a.NextResponse.json(e)}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Internal error",...e instanceof m.RuntimeSessionError?{code:e.code}:{}},{status:(0,p.WW)(e)})}let P=await u.agentHost.getSessionStore().get(s.id);if(!P)return a.NextResponse.json({error:"Session not found"},{status:404});let h=u.agentHost.getRecoverableRun(P),N=[...(!P.messages?.length&&!h&&Array.isArray(P.events)&&P.events.length>0?l.Q(P.events):P.messages)?.filter(e=>!d.isInternalGoalMessage(e))??[]??[],...h?(0,l.Q)(P.events.slice(h.eventStart),{runId:h.runId,isStreaming:h.running}):[]],R=h?h.running?"active":"failed":P.status,M=h?{runId:h.runId,eventId:h.eventId,running:h.running}:void 0;try{let e=x?{...P,agentType:"customer-agent",status:R,permissionMode:(0,d.normalizeToolPermissionMode)(P.metadata.permissionMode),...M?{activeRun:M}:{},...(0,d.paginateSessionHistory)(N??[],P.events??[],x)}:{...P,agentType:"customer-agent",status:R,messages:N,permissionMode:(0,d.normalizeToolPermissionMode)(P.metadata.permissionMode),...M?{activeRun:M}:{}};return a.NextResponse.json({...e,messageQueueVersion:1,goalState:(0,d.readSessionGoalState)(P.metadata)})}catch(e){if(e instanceof d.StaleSessionAnchorError)return a.NextResponse.json({error:e.message,code:e.code},{status:409});throw e}}async function g(e,{params:s}){let t=await e.json();if(void 0!==t.nativeMode){if(!(0,p.V_)(s.id)||void 0!==t.permissionMode||void 0!==t.nativePermissionPreset||"string"!=typeof t.nativeMode||!t.nativeMode.trim()||t.nativeMode.length>128)return a.NextResponse.json({error:"Invalid native mode"},{status:400});try{return a.NextResponse.json(await (0,p.NL)().setNativeMode(s.id,t.nativeMode))}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Unable to update native mode"},{status:(0,p.WW)(e)})}}if(void 0!==t.nativePermissionPreset){if(!(0,p.V_)(s.id)||void 0!==t.permissionMode||"string"!=typeof t.nativePermissionPreset||!t.nativePermissionPreset.trim()||t.nativePermissionPreset.length>128)return a.NextResponse.json({error:"Invalid native permission preset"},{status:400});try{return a.NextResponse.json(await (0,p.NL)().setNativePermissionPreset(s.id,t.nativePermissionPreset))}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Unable to update native permissions"},{status:(0,p.WW)(e)})}}if(!(0,d.isToolPermissionMode)(t.permissionMode))return a.NextResponse.json({error:"Invalid permission mode"},{status:400});if((0,p.V_)(s.id))try{let e=await (0,p.NL)().setPermissionMode(s.id,t.permissionMode);return a.NextResponse.json(e)}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Unable to update permission mode"},{status:(0,p.WW)(e)})}try{let e=await u.agentHost.setSessionPermissionMode(s.id,t.permissionMode);return a.NextResponse.json({...e,permissionMode:(0,d.normalizeToolPermissionMode)(e.metadata.permissionMode)})}catch(t){let e=t instanceof Error?t.message:"Unable to update permission mode",s=e.startsWith("Session not found")?404:500;return a.NextResponse.json({error:e},{status:s})}}async function v(e,{params:s}){if((0,p.V_)(s.id))try{return await (0,p.NL)().delete(s.id),a.NextResponse.json({status:"deleted"})}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:"Unable to delete session"},{status:(0,p.WW)(e)})}return u.agentHost.isSessionRunning(s.id)?a.NextResponse.json({error:"Session is currently running"},{status:409}):(await u.agentHost.getSessionStore().delete(s.id),a.NextResponse.json({status:"deleted"}))}let f=new n.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/sessions/[id]/route",pathname:"/api/sessions/[id]",filename:"route",bundlePath:"app/api/sessions/[id]/route"},resolvedPagePath:"/private/tmp/agentroam-all64.baB7t1/source/packages/server/app/api/sessions/[id]/route.ts",nextConfigOutput:"standalone",userland:r}),{requestAsyncStorage:x,staticGenerationAsyncStorage:P,serverHooks:h}=f,N="/api/sessions/[id]/route";function R(){return(0,i.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:P})}}};var s=require("../../../../webpack-runtime.js");s.C(e);var t=e=>s(s.s=e),r=s.X(0,[8375,6703,4621,7519,8532],()=>t(9025));module.exports=r})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=6248,e.ids=[6248],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},4444:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>E,patchFetch:()=>R,requestAsyncStorage:()=>f,routeModule:()=>g,serverHooks:()=>w,staticGenerationAsyncStorage:()=>N});var s={};r.r(s),r.d(s,{DELETE:()=>m,GET:()=>c,PATCH:()=>h,PUT:()=>d});var i=r(7786),n=r(5042),a=r(2184),o=r(1890),u=r(1366),l=r(1614);async function c(e,{params:t}){if((0,l.V_)(t.id))return o.NextResponse.json({error:"Thread goal is only available on customer-agent sessions"},{status:400});let r=await (0,u.C)().getGoal(t.id);return o.NextResponse.json({goal:r})}async function d(e,{params:t}){if((0,l.V_)(t.id))return o.NextResponse.json({error:"Thread goal is only available on customer-agent sessions"},{status:400});try{let r=await e.json();if("string"!=typeof r.objective||!r.objective.trim())return o.NextResponse.json({error:"objective is required"},{status:400});let s=null===r.tokenBudget||void 0===r.tokenBudget?void 0:Number(r.tokenBudget);if(void 0!==s&&(!Number.isFinite(s)||s<=0))return o.NextResponse.json({error:"tokenBudget must be a positive number or null"},{status:400});let i=await (0,u.C)().setGoal(t.id,r.objective,{tokenBudget:s??null});return o.NextResponse.json({goal:i})}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Failed to set thread goal"},{status:p(e)})}}async function h(e,{params:t}){if((0,l.V_)(t.id))return o.NextResponse.json({error:"Thread goal is only available on customer-agent sessions"},{status:400});try{let r=await e.json(),s=(0,u.C)();if("pause"===r.action)return o.NextResponse.json({goal:await s.pauseGoal(t.id)});if("resume"===r.action)return o.NextResponse.json({goal:await s.resumeGoal(t.id)});return o.NextResponse.json({error:"action must be 'pause' or 'resume'"},{status:400})}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Failed to update thread goal"},{status:p(e)})}}async function m(e,{params:t}){if((0,l.V_)(t.id))return o.NextResponse.json({error:"Thread goal is only available on customer-agent sessions"},{status:400});let r=await (0,u.C)().clearGoal(t.id);return o.NextResponse.json({cleared:r})}function p(e){let t=e instanceof Error?e.message:"";return/no thread goal|Cannot transition/.test(t)?409:(/required|must be|at most/i.test(t),400)}let g=new i.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/thread-goal/route",pathname:"/api/sessions/[id]/thread-goal",filename:"route",bundlePath:"app/api/sessions/[id]/thread-goal/route"},resolvedPagePath:"/private/tmp/agentroam-preview63-source/packages/server/app/api/sessions/[id]/thread-goal/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:f,staticGenerationAsyncStorage:N,serverHooks:w}=g,E="/api/sessions/[id]/thread-goal/route";function R(){return(0,a.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:N})}},1614:(e,t,r)=>{r.d(t,{NL:()=>w,V_:()=>S,WW:()=>O});var s=r(7561),i=r(612),n=r(9411),a=r(7718),o=r(1636);function u(e){if(!e.trim())return!1;try{return(0,s.accessSync)(e,s.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let s=u(r);t.push({source:"pin",path:r,executable:s,version:s?l(r):void 0,error:s?void 0:`${e.environmentVariable} "${r}" is not executable`})}let s=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return s&&s!==r&&t.push({source:"path",path:s,executable:!0,version:l(s)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var d=r(535),h=r(2847),m=r(785);let p=globalThis;class g{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new h.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let s=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return s;let i=new Set(s.data.map(e=>e.id)),n=s.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),f(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||i.has(r.id)||n.unshift(r);return{...s,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return v(this.withPendingCreations(t).map(e=>E(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return v(this.withPendingCreations(t).map(e=>E(e,r,this.platform)),e)}async create(e){let t=E(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!S(e))throw new h.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=E(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(s){let r=this.pendingCreations.get(e);if(!r)throw s;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return E(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:s}=await Promise.resolve().then(r.t.bind(r,1636,23));return s(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,s,i){return this.runtime.run(e,t,r,s,i)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new h.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,s="web",i){if(!this.runtime.startRun)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,s,i)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,s="web"){if(!this.runtime.enqueueGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,s)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,s){if(!this.runtime.updateMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,s)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?f(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function f(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function N(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function w(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,i.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,s.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,m.kO)());p.__nativeRuntimeService=new g((0,h.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,N("AGENT_CODEX_RUNTIME_ERROR",t),N("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,d.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,h.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function E(e,t,r=process.platform){let{projectId:s,...i}=e;if(!e.cwd)return i;let a=R(e.cwd,r),o="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:R(e.description,r)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...i,projectId:u.project.id}:i}function R(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),s=n.win32.parse(r).root;return(r.length>s.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function v(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function S(e){try{return"customer-agent"!==(0,h.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function O(e){if(e instanceof h.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},1489:(e,t,r)=>{r.d(t,{N:()=>u});var s=r(1636),i=r(2847),n=r(785);class a{constructor(){this.tasks=new s.CronTasks((0,n.kO)()),this.scheduler=new i.CronScheduler(this.tasks,e=>{this.fire(e).catch(e=>console.error("Scheduled Customer Agent run failed",e))},()=>{}),this.scheduler.start()}async fire(e){let{agentHost:t}=await r.e(7519).then(r.bind(r,7519)),{getCustomerGoalCoordinator:s}=await Promise.all([r.e(7519),r.e(732)]).then(r.bind(r,732)),i=e.sessionId;i&&await t.getSessionStore().get(i)||(i=(await t.createSession(e.label||"定时任务")).id,this.tasks.update(e.id,{sessionId:i})),await s().enqueue(i,e.prompt)}call(e,t){let r=String(t[0]||"");switch(e){case"cronList":return this.tasks.list();case"cronCreate":{if("string"!=typeof t[0]||"string"!=typeof t[1]||!t[1].trim())throw Error("cron and prompt required");let e=t[2]&&"object"==typeof t[2]?t[2]:{};return this.tasks.create({cron:t[0],prompt:t[1],recurring:!1!==e.recurring,enabled:!0,durable:!0,..."string"==typeof e.sessionId?{sessionId:e.sessionId}:{},..."string"==typeof e.label?{label:e.label}:{}})}case"cronPause":return this.tasks.pause(r);case"cronResume":return this.tasks.resume(r);case"cronDelete":return this.tasks.delete(r);case"cronDeleteAll":return this.tasks.deleteAll(),{ok:!0};default:throw Error("Unsupported schedule operation")}}}let o=globalThis;function u(){return o.__sharedCronService??=new a}},1366:(e,t,r)=>{r.d(t,{C:()=>o,a:()=>u});var s=r(1636),i=r(7519),n=r(785);let a=globalThis;function o(){if(a.__threadGoalService)return a.__threadGoalService;let e=new s.ThreadGoalService(new s.SQLiteThreadGoalStore((0,n.kO)()),{isSessionRunning:e=>i.agentHost.isSessionRunning(e),startTurn:async(e,t)=>{if(i.agentHost.isSessionRunning(e))return!1;try{return i.agentHost.startRun(t,e,void 0,{source:"goal"}).completion.catch(()=>{}),!0}catch(e){if(e instanceof i.A)return!1;throw e}},steerHidden:(e,t)=>i.agentHost.steer(t,e,"__goal__"),sessionExists:async e=>!!await i.agentHost.getSessionStore().get(e)},{onUpdated:(e,t)=>i.agentHost.publishExternal(e,{type:"goal_updated",goal:t}),onCleared:e=>i.agentHost.publishExternal(e,{type:"goal_cleared",sessionId:e})});return i.agentHost.onRunSettled=t=>{e.onRunSettled({sessionId:t.sessionId,failed:t.failed,usageLimited:t.usageLimited,tokens:t.newTokens,seconds:t.durationMs/1e3}).catch(()=>{})},i.agentHost.threadGoalToolsProvider=t=>(0,s.createThreadGoalTools)(e,t),a.__threadGoalService=e,e}function u(){o().resumeInterrupted().catch(()=>{})}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[8375,6703,4621,7519],()=>r(4444));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=6248,e.ids=[6248],e.modules={8042:e=>{e.exports=require("@agent/computer-use")},1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},8310:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>w,patchFetch:()=>R,requestAsyncStorage:()=>f,routeModule:()=>g,serverHooks:()=>E,staticGenerationAsyncStorage:()=>N});var s={};r.r(s),r.d(s,{DELETE:()=>m,GET:()=>c,PATCH:()=>h,PUT:()=>d});var i=r(7786),n=r(5042),a=r(2184),o=r(1890),u=r(1366),l=r(1614);async function c(e,{params:t}){if((0,l.V_)(t.id))return o.NextResponse.json({error:"Thread goal is only available on customer-agent sessions"},{status:400});let r=await (0,u.C)().getGoal(t.id);return o.NextResponse.json({goal:r})}async function d(e,{params:t}){if((0,l.V_)(t.id))return o.NextResponse.json({error:"Thread goal is only available on customer-agent sessions"},{status:400});try{let r=await e.json();if("string"!=typeof r.objective||!r.objective.trim())return o.NextResponse.json({error:"objective is required"},{status:400});let s=null===r.tokenBudget||void 0===r.tokenBudget?void 0:Number(r.tokenBudget);if(void 0!==s&&(!Number.isFinite(s)||s<=0))return o.NextResponse.json({error:"tokenBudget must be a positive number or null"},{status:400});let i=await (0,u.C)().setGoal(t.id,r.objective,{tokenBudget:s??null});return o.NextResponse.json({goal:i})}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Failed to set thread goal"},{status:p(e)})}}async function h(e,{params:t}){if((0,l.V_)(t.id))return o.NextResponse.json({error:"Thread goal is only available on customer-agent sessions"},{status:400});try{let r=await e.json(),s=(0,u.C)();if("pause"===r.action)return o.NextResponse.json({goal:await s.pauseGoal(t.id)});if("resume"===r.action)return o.NextResponse.json({goal:await s.resumeGoal(t.id)});return o.NextResponse.json({error:"action must be 'pause' or 'resume'"},{status:400})}catch(e){return o.NextResponse.json({error:e instanceof Error?e.message:"Failed to update thread goal"},{status:p(e)})}}async function m(e,{params:t}){if((0,l.V_)(t.id))return o.NextResponse.json({error:"Thread goal is only available on customer-agent sessions"},{status:400});let r=await (0,u.C)().clearGoal(t.id);return o.NextResponse.json({cleared:r})}function p(e){let t=e instanceof Error?e.message:"";return/no thread goal|Cannot transition/.test(t)?409:(/required|must be|at most/i.test(t),400)}let g=new i.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/thread-goal/route",pathname:"/api/sessions/[id]/thread-goal",filename:"route",bundlePath:"app/api/sessions/[id]/thread-goal/route"},resolvedPagePath:"/private/tmp/agentroam-all64.baB7t1/source/packages/server/app/api/sessions/[id]/thread-goal/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:f,staticGenerationAsyncStorage:N,serverHooks:E}=g,w="/api/sessions/[id]/thread-goal/route";function R(){return(0,a.patchFetch)({serverHooks:E,staticGenerationAsyncStorage:N})}},1614:(e,t,r)=>{r.d(t,{NL:()=>E,V_:()=>S,WW:()=>O});var s=r(7561),i=r(612),n=r(9411),a=r(7718),o=r(1636);function u(e){if(!e.trim())return!1;try{return(0,s.accessSync)(e,s.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,o.parseVersion)((0,a.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let s=u(r);t.push({source:"pin",path:r,executable:s,version:s?l(r):void 0,error:s?void 0:`${e.environmentVariable} "${r}" is not executable`})}let s=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return s&&s!==r&&t.push({source:"path",path:s,executable:!0,version:l(s)}),(0,o.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var d=r(535),h=r(2847),m=r(785);let p=globalThis;class g{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new h.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let s=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return s;let i=new Set(s.data.map(e=>e.id)),n=s.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),f(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||i.has(r.id)||n.unshift(r);return{...s,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return v(this.withPendingCreations(t).map(e=>w(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return v(this.withPendingCreations(t).map(e=>w(e,r,this.platform)),e)}async create(e){let t=w(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!S(e))throw new h.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=w(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(s){let r=this.pendingCreations.get(e);if(!r)throw s;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return w(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:s}=await Promise.resolve().then(r.t.bind(r,1636,23));return s(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,s,i){return this.runtime.run(e,t,r,s,i)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new h.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,s="web",i){if(!this.runtime.startRun)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,s,i)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new h.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new h.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new h.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,s="web"){if(!this.runtime.enqueueGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,s)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new h.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,s){if(!this.runtime.updateMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,s)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new h.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?f(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function f(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function N(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function E(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,i.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,s.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new o.SQLiteProjectStore((0,m.kO)());p.__nativeRuntimeService=new g((0,h.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:o.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,N("AGENT_CODEX_RUNTIME_ERROR",t),N("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,d.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,h.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function w(e,t,r=process.platform){let{projectId:s,...i}=e;if(!e.cwd)return i;let a=R(e.cwd,r),o="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:R(e.description,r)})).filter(({path:e})=>a===e||a.startsWith(`${e}${o}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...i,projectId:u.project.id}:i}function R(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),s=n.win32.parse(r).root;return(r.length>s.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function v(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function S(e){try{return"customer-agent"!==(0,h.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function O(e){if(e instanceof h.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},1489:(e,t,r)=>{r.d(t,{N:()=>u});var s=r(1636),i=r(2847),n=r(785);class a{constructor(){this.tasks=new s.CronTasks((0,n.kO)()),this.scheduler=new i.CronScheduler(this.tasks,e=>{this.fire(e).catch(e=>console.error("Scheduled Customer Agent run failed",e))},()=>{}),this.scheduler.start()}async fire(e){let{agentHost:t}=await r.e(7519).then(r.bind(r,7519)),{getCustomerGoalCoordinator:s}=await Promise.all([r.e(7519),r.e(732)]).then(r.bind(r,732)),i=e.sessionId;i&&await t.getSessionStore().get(i)||(i=(await t.createSession(e.label||"定时任务")).id,this.tasks.update(e.id,{sessionId:i})),await s().enqueue(i,e.prompt)}call(e,t){let r=String(t[0]||"");switch(e){case"cronList":return this.tasks.list();case"cronCreate":{if("string"!=typeof t[0]||"string"!=typeof t[1]||!t[1].trim())throw Error("cron and prompt required");let e=t[2]&&"object"==typeof t[2]?t[2]:{};return this.tasks.create({cron:t[0],prompt:t[1],recurring:!1!==e.recurring,enabled:!0,durable:!0,..."string"==typeof e.sessionId?{sessionId:e.sessionId}:{},..."string"==typeof e.label?{label:e.label}:{}})}case"cronPause":return this.tasks.pause(r);case"cronResume":return this.tasks.resume(r);case"cronDelete":return this.tasks.delete(r);case"cronDeleteAll":return this.tasks.deleteAll(),{ok:!0};default:throw Error("Unsupported schedule operation")}}}let o=globalThis;function u(){return o.__sharedCronService??=new a}},1366:(e,t,r)=>{r.d(t,{C:()=>o,a:()=>u});var s=r(1636),i=r(7519),n=r(785);let a=globalThis;function o(){if(a.__threadGoalService)return a.__threadGoalService;let e=new s.ThreadGoalService(new s.SQLiteThreadGoalStore((0,n.kO)()),{isSessionRunning:e=>i.agentHost.isSessionRunning(e),startTurn:async(e,t)=>{if(i.agentHost.isSessionRunning(e))return!1;try{return i.agentHost.startRun(t,e,void 0,{source:"goal"}).completion.catch(()=>{}),!0}catch(e){if(e instanceof i.A)return!1;throw e}},steerHidden:(e,t)=>i.agentHost.steer(t,e,"__goal__"),sessionExists:async e=>!!await i.agentHost.getSessionStore().get(e)},{onUpdated:(e,t)=>i.agentHost.publishExternal(e,{type:"goal_updated",goal:t}),onCleared:e=>i.agentHost.publishExternal(e,{type:"goal_cleared",sessionId:e})});return i.agentHost.onRunSettled=t=>{e.onRunSettled({sessionId:t.sessionId,failed:t.failed,usageLimited:t.usageLimited,tokens:t.newTokens,seconds:t.durationMs/1e3}).catch(()=>{})},i.agentHost.threadGoalToolsProvider=t=>(0,s.createThreadGoalTools)(e,t),a.__threadGoalService=e,e}function u(){o().resumeInterrupted().catch(()=>{})}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[8375,6703,4621,7519],()=>r(8310));module.exports=s})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=6787,e.ids=[6787],e.modules={1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},4568:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>p,patchFetch:()=>E,requestAsyncStorage:()=>m,routeModule:()=>c,serverHooks:()=>h,staticGenerationAsyncStorage:()=>d});var i={};r.r(i),r.d(i,{GET:()=>l});var s=r(7786),n=r(5042),o=r(2184),a=r(1890),u=r(1614);async function l(e,{params:t}){if(!(0,u.V_)(t.id))return a.NextResponse.json({error:"Session tool results are available only for native sessions",code:"OPERATION_NOT_SUPPORTED"},{status:405});let r=new URL(e.url),i=r.searchParams.get("turnId")?.trim(),s=r.searchParams.get("itemId")?.trim(),n=r.searchParams.get("revision")?.trim();if(!i||!s||!n)return a.NextResponse.json({error:"turnId, itemId, and revision are required",code:"INVALID_SESSION_ID"},{status:400});try{let e=await (0,u.NL)().getSessionToolResult(t.id,{turnId:i,itemId:s,revision:n});return a.NextResponse.json(e)}catch(r){let e="object"==typeof r&&null!==r&&"string"==typeof r.code?r.code:void 0,t=(0,u.WW)(r);return a.NextResponse.json({error:r instanceof Error?r.message:"Unable to load tool result",...e?{code:e}:{}},{status:t})}}let c=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/tool-result/route",pathname:"/api/sessions/[id]/tool-result",filename:"route",bundlePath:"app/api/sessions/[id]/tool-result/route"},resolvedPagePath:"/private/tmp/agentroam-preview63-source/packages/server/app/api/sessions/[id]/tool-result/route.ts",nextConfigOutput:"standalone",userland:i}),{requestAsyncStorage:m,staticGenerationAsyncStorage:d,serverHooks:h}=c,p="/api/sessions/[id]/tool-result/route";function E(){return(0,o.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:d})}},535:(e,t,r)=>{r.d(t,{L:()=>o});var i=r(1636),s=r(785);let n=!1;function o(){let e=(0,i.getGlobalLogger)();if(e)return e;let t=(0,i.installGlobalLogging)({dir:(0,s.ME)(),source:"server",minLevel:"info",handlers:{exitOnUncaughtException:!1}});return n||(n=!0,t.info("server logger attached",{dir:t.dir,pid:process.pid})),t}},1614:(e,t,r)=>{r.d(t,{NL:()=>f,V_:()=>P,WW:()=>w});var i=r(7561),s=r(612),n=r(9411),o=r(7718),a=r(1636);function u(e){if(!e.trim())return!1;try{return(0,i.accessSync)(e,i.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,a.parseVersion)((0,o.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let i=u(r);t.push({source:"pin",path:r,executable:i,version:i?l(r):void 0,error:i?void 0:`${e.environmentVariable} "${r}" is not executable`})}let i=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return i&&i!==r&&t.push({source:"path",path:i,executable:!0,version:l(i)}),(0,a.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var m=r(535),d=r(2847),h=r(785);let p=globalThis;class E{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new d.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let i=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return i;let s=new Set(i.data.map(e=>e.id)),n=i.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),N(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||s.has(r.id)||n.unshift(r);return{...i,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>R(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>R(e,r,this.platform)),e)}async create(e){let t=R(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!P(e))throw new d.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=R(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(i){let r=this.pendingCreations.get(e);if(!r)throw i;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return R(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:i}=await Promise.resolve().then(r.t.bind(r,1636,23));return i(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,i,s){return this.runtime.run(e,t,r,i,s)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new d.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,i="web",s){if(!this.runtime.startRun)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,i,s)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new d.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new d.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new d.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new d.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,i="web"){if(!this.runtime.enqueueGoal)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,i)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,i){if(!this.runtime.updateMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,i)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?N(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function N(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function v(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function f(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,s.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,i.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new a.SQLiteProjectStore((0,h.kO)());p.__nativeRuntimeService=new E((0,d.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:a.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,v("AGENT_CODEX_RUNTIME_ERROR",t),v("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,m.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,d.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function R(e,t,r=process.platform){let{projectId:i,...s}=e;if(!e.cwd)return s;let o=O(e.cwd,r),a="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:O(e.description,r)})).filter(({path:e})=>o===e||o.startsWith(`${e}${a}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...s,projectId:u.project.id}:s}function O(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),i=n.win32.parse(r).root;return(r.length>i.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function g(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function P(e){try{return"customer-agent"!==(0,d.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function w(e){if(e instanceof d.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},785:(e,t,r)=>{r.d(t,{ME:()=>a,kO:()=>o,sr:()=>u});var i=r(9411);let s=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),r=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(r)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=s){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function o(){return n()}function a(e=process.env,t=n(e)){let r=e.AGENT_LOG_DIR?.trim();if(r)return(0,i.resolve)(r);let s=e.AGENTROAM_DATA_DIR?.trim();return s?(0,i.resolve)(s,"logs"):(0,i.join)(t,".agent-data","logs")}function u(){return function(e=process.env,t=s){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,o())}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),i=t.X(0,[8375,6703],()=>r(4568));module.exports=i})();
1
+ "use strict";(()=>{var e={};e.id=6787,e.ids=[6787],e.modules={1636:e=>{e.exports=require("@agent/core")},2847:e=>{e.exports=require("@agent/native-runtime")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},7561:e=>{e.exports=require("node:fs")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},2518:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>p,patchFetch:()=>E,requestAsyncStorage:()=>m,routeModule:()=>c,serverHooks:()=>h,staticGenerationAsyncStorage:()=>d});var i={};r.r(i),r.d(i,{GET:()=>l});var s=r(7786),n=r(5042),o=r(2184),a=r(1890),u=r(1614);async function l(e,{params:t}){if(!(0,u.V_)(t.id))return a.NextResponse.json({error:"Session tool results are available only for native sessions",code:"OPERATION_NOT_SUPPORTED"},{status:405});let r=new URL(e.url),i=r.searchParams.get("turnId")?.trim(),s=r.searchParams.get("itemId")?.trim(),n=r.searchParams.get("revision")?.trim();if(!i||!s||!n)return a.NextResponse.json({error:"turnId, itemId, and revision are required",code:"INVALID_SESSION_ID"},{status:400});try{let e=await (0,u.NL)().getSessionToolResult(t.id,{turnId:i,itemId:s,revision:n});return a.NextResponse.json(e)}catch(r){let e="object"==typeof r&&null!==r&&"string"==typeof r.code?r.code:void 0,t=(0,u.WW)(r);return a.NextResponse.json({error:r instanceof Error?r.message:"Unable to load tool result",...e?{code:e}:{}},{status:t})}}let c=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/sessions/[id]/tool-result/route",pathname:"/api/sessions/[id]/tool-result",filename:"route",bundlePath:"app/api/sessions/[id]/tool-result/route"},resolvedPagePath:"/private/tmp/agentroam-all64.baB7t1/source/packages/server/app/api/sessions/[id]/tool-result/route.ts",nextConfigOutput:"standalone",userland:i}),{requestAsyncStorage:m,staticGenerationAsyncStorage:d,serverHooks:h}=c,p="/api/sessions/[id]/tool-result/route";function E(){return(0,o.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:d})}},535:(e,t,r)=>{r.d(t,{L:()=>o});var i=r(1636),s=r(785);let n=!1;function o(){let e=(0,i.getGlobalLogger)();if(e)return e;let t=(0,i.installGlobalLogging)({dir:(0,s.ME)(),source:"server",minLevel:"info",handlers:{exitOnUncaughtException:!1}});return n||(n=!0,t.info("server logger attached",{dir:t.dir,pid:process.pid})),t}},1614:(e,t,r)=>{r.d(t,{NL:()=>f,V_:()=>P,WW:()=>w});var i=r(7561),s=r(612),n=r(9411),o=r(7718),a=r(1636);function u(e){if(!e.trim())return!1;try{return(0,i.accessSync)(e,i.constants.X_OK),!0}catch{return!1}}function l(e){try{return(0,a.parseVersion)((0,o.execFileSync)(e,["--version"],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]}))}catch{return}}function c(e){let t=[],r=process.env[e.environmentVariable]?.trim();if(r){let i=u(r);t.push({source:"pin",path:r,executable:i,version:i?l(r):void 0,error:i?void 0:`${e.environmentVariable} "${r}" is not executable`})}let i=function(e){for(let t of(process.env.PATH??"").split(n.delimiter).filter(Boolean)){let r=(0,n.resolve)(t,e);if(u(r))return r}}(e.name);return i&&i!==r&&t.push({source:"path",path:i,executable:!0,version:l(i)}),(0,a.selectExternalCli)(t,{name:e.name,minimumVersion:e.minimumVersion})}var m=r(535),d=r(2847),h=r(785);let p=globalThis;class E{constructor(e,t=async()=>[],r=process.platform){this.runtime=e,this.listProjects=t,this.platform=r,this.pendingCreations=new Map}health(){return this.runtime.health()}listModels(e){return this.runtime.listModels(e)}listWorkspaces(e,t){return this.runtime.listWorkspaces(e,t)}importWorkspace(e,t,r){if(!this.runtime.importWorkspace)throw new d.RuntimeSessionError("Native workspace import is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.importWorkspace(e,t,r)}async listWorkspaceSessions(e,t,r){let i=await this.runtime.listWorkspaceSessions(e,t,r);if(r?.cursor)return i;let s=new Set(i.data.map(e=>e.id)),n=i.data.map(e=>{let t=this.pendingCreations.get(e.id);return t?(this.pendingCreations.delete(e.id),N(e,t)):e});for(let r of this.pendingCreations.values())r.agentType!==e||r.projectId!==t||s.has(r.id)||n.unshift(r);return{...i,data:n}}async list(e){let[t,r]=await Promise.all([this.runtime.list(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>R(e,r,this.platform)),e)}async refresh(e){let[t,r]=await Promise.all([this.runtime.refresh(),this.listProjects()]);return g(this.withPendingCreations(t).map(e=>R(e,r,this.platform)),e)}async create(e){let t=R(await this.runtime.create(e),await this.listProjects(),this.platform),r=e.projectId?{...t,projectId:e.projectId}:t;return this.pendingCreations.set(r.id,r),r}async fork(e,t){if(!P(e))throw new d.RuntimeSessionError("Customer Agent sessions do not support native forks","OPERATION_NOT_SUPPORTED");let r=R(t?await this.runtime.fork(e,t):await this.runtime.fork(e),await this.listProjects(),this.platform);return this.pendingCreations.set(r.id,r),r}async delete(e){await this.runtime.delete(e),this.pendingCreations.delete(e)}async get(e,t){let r;try{r=await this.runtime.get(e,t)}catch(i){let r=this.pendingCreations.get(e);if(!r)throw i;return t?{...r,messages:[],events:[],history:{nextCursor:null,hasMore:!1,pageSize:0,totalItems:0}}:{...r,messages:[],events:[]}}return R(r,await this.listProjects(),this.platform)}async getQueryIndex(e){if(this.runtime.getQueryIndex)return this.runtime.getQueryIndex(e);let t=await this.runtime.get(e),{buildSessionQueryIndex:i}=await Promise.resolve().then(r.t.bind(r,1636,23));return i(e,t.messages)}getSessionToolResult(e,t){return this.runtime.getSessionToolResult(e,t)}getSessionWatchPath(e){return this.runtime.getSessionWatchPath(e)}run(e,t,r,i,s){return this.runtime.run(e,t,r,i,s)}steer(e,t){return this.runtime.steer(e,t)}abort(e){return this.runtime.abort(e)}async release(e){if(!this.runtime.release)throw new d.RuntimeSessionError("Native runtime release is unavailable","RUNTIME_UNAVAILABLE");await this.runtime.release(e)}answerQuestion(e,t){return this.runtime.answerQuestion(e,t)}async startRun(e,t,r,i="web",s){if(!this.runtime.startRun)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.startRun(e,t,r,i,s)}async subscribe(e,t,r){if(!this.runtime.subscribe)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.subscribe(e,t,r)}async snapshot(e,t=0){if(!this.runtime.snapshot)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.snapshot(e,t)}async setPermissionMode(e,t){if(!this.runtime.setPermissionMode)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.setPermissionMode(e,t)}async setNativeMode(e,t){if(!this.runtime.setNativeMode)throw new d.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativeMode(e,t)}async setNativePermissionPreset(e,t){if(!this.runtime.setNativePermissionPreset)throw new d.RuntimeSessionError("Native permission presets are unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.setNativePermissionPreset(e,t)}async getNativeGoal(e){if(!this.runtime.getNativeGoal)throw new d.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.getNativeGoal(e)}async mutateNativeGoal(e,t){if(!this.runtime.mutateNativeGoal)throw new d.RuntimeSessionError("此运行时未提供原生目标","OPERATION_NOT_SUPPORTED");return this.runtime.mutateNativeGoal(e,t)}async handoff(e,t){if(!this.runtime.handoff)throw new d.RuntimeSessionError("Native runtime broker is unavailable","RUNTIME_UNAVAILABLE");return this.runtime.handoff(e,t)}async getGoals(e,t="web"){if(!this.runtime.getGoals)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.getGoals(e,t)}async enqueueGoal(e,t,r,i="web"){if(!this.runtime.enqueueGoal)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueGoal(e,t,r,i)}async reorderGoals(e,t){if(!this.runtime.reorderGoals)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderGoals(e,t)}async cancelGoal(e,t){if(!this.runtime.cancelGoal)throw new d.RuntimeSessionError("Goal mode is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelGoal(e,t,"web")}async enqueueMessage(e,t,r="web"){if(!this.runtime.enqueueMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.enqueueMessage(e,t,r)}async reorderMessages(e,t){if(!this.runtime.reorderMessages)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.reorderMessages(e,t)}async updateMessage(e,t,r,i){if(!this.runtime.updateMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.updateMessage(e,t,r,i)}async cancelMessage(e,t){if(!this.runtime.cancelMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.cancelMessage(e,t)}async steerMessage(e,t){if(!this.runtime.steerMessage)throw new d.RuntimeSessionError("Message queue is unavailable","OPERATION_NOT_SUPPORTED");return this.runtime.steerMessage(e,t)}withPendingCreations(e){let t=new Set,r=e.map(e=>{t.add(e.id);let r=this.pendingCreations.get(e.id);return this.pendingCreations.delete(e.id),r?N(e,r):e});return[...[...this.pendingCreations.values()].filter(e=>!t.has(e.id)).sort((e,t)=>t.updated.localeCompare(e.updated)),...r]}}function N(e,t){return{...e,cwd:e.cwd||t.cwd,projectId:e.projectId??t.projectId}}function v(e,t){t.executable?delete process.env[e]:process.env[e]=t.detail}function f(){if(!p.__nativeRuntimeService){!function(){let e=[(0,n.join)((0,s.homedir)(),".local","bin"),"/opt/homebrew/bin","/usr/local/bin"],t=(process.env.PATH??"").split(n.delimiter),r=e.filter(e=>(0,i.existsSync)(e)&&!t.includes(e));r.length>0&&(process.env.PATH=[...t,...r].join(n.delimiter))}();let e=new a.SQLiteProjectStore((0,h.kO)());p.__nativeRuntimeService=new E((0,d.createNativeRuntimeBrokerClient)({runtimeFactory:e=>{let t=c({name:"codex",environmentVariable:"AGENT_CODEX_BIN",minimumVersion:a.CODEX_MINIMUM_VERSION}),r=c({name:"opencode",environmentVariable:"AGENT_OPENCODE_BIN"});return process.pid,v("AGENT_CODEX_RUNTIME_ERROR",t),v("AGENT_OPENCODE_RUNTIME_ERROR",r),(0,m.L)().info("native runtime host elected",{pid:process.pid,codex:t.executable??null,codexSource:t.source??null,codexDetail:t.detail,opencode:r.executable??null,opencodeDetail:r.detail}),(0,d.createNativeRuntimeBrokerHostRuntime)(t.executable??"codex",e,r.executable??"opencode")}}),()=>e.list())}return p.__nativeRuntimeService}function R(e,t,r=process.platform){let{projectId:i,...s}=e;if(!e.cwd)return s;let o=O(e.cwd,r),a="win32"===r?n.win32.sep:n.sep,u=t.filter(e=>e.description).map(e=>({project:e,path:O(e.description,r)})).filter(({path:e})=>o===e||o.startsWith(`${e}${a}`)).sort((e,t)=>t.path.length-e.path.length)[0];return u?{...s,projectId:u.project.id}:s}function O(e,t=process.platform){if("win32"!==t)return(0,n.resolve)(e);let r=n.win32.resolve(e),i=n.win32.parse(r).root;return(r.length>i.length?r.replace(/[\\/]+$/,""):r).toLowerCase()}function g(e,t){return void 0===t?e:e.filter(e=>e.projectId===t)}function P(e){try{return"customer-agent"!==(0,d.decodeUnifiedSessionId)(e).agentType}catch{return!1}}function w(e){if(e instanceof d.RuntimeSessionError)switch(e.code){case"SESSION_NOT_FOUND":return 404;case"SESSION_OCCUPIED":case"SESSION_ALREADY_RUNNING":case"APPROVAL_EXPIRED":case"CODEX_SESSION_VERSION_INCOMPATIBLE":case"STALE_SESSION_ANCHOR":case"NATIVE_GOAL_CONFLICT":return 409;case"RUNTIME_UNAVAILABLE":return 503;case"OPERATION_NOT_SUPPORTED":return 405;default:return 400}return 500}},785:(e,t,r)=>{r.d(t,{ME:()=>a,kO:()=>o,sr:()=>u});var i=r(9411);let s=function(){let e=process.argv[1];if(e){let t=(0,i.dirname)((0,i.resolve)(e)),r=`${i.sep}node_modules${i.sep}.bin`;return t.endsWith(r)?(0,i.resolve)(t,"..",".."):t}return(0,i.resolve)(process.cwd())}();function n(e=process.env,t=s){return(0,i.resolve)(e.AGENT_DATA_DIR?.trim()||t)}function o(){return n()}function a(e=process.env,t=n(e)){let r=e.AGENT_LOG_DIR?.trim();if(r)return(0,i.resolve)(r);let s=e.AGENTROAM_DATA_DIR?.trim();return s?(0,i.resolve)(s,"logs"):(0,i.join)(t,".agent-data","logs")}function u(){return function(e=process.env,t=s){return(0,i.resolve)(e.AGENT_WORKING_DIRECTORY?.trim()||t)}(process.env,o())}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),i=t.X(0,[8375,6703],()=>r(2518));module.exports=i})();