@sapienx/agentos 0.6.6 → 0.6.8

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 (289) hide show
  1. package/README.md +1 -1
  2. package/bundle/.next/BUILD_ID +1 -1
  3. package/bundle/.next/app-path-routes-manifest.json +17 -16
  4. package/bundle/.next/build-manifest.json +3 -3
  5. package/bundle/.next/prerender-manifest.json +3 -3
  6. package/bundle/.next/react-loadable-manifest.json +3 -2
  7. package/bundle/.next/required-server-files.json +2 -2
  8. package/bundle/.next/routes-manifest.json +6 -0
  9. package/bundle/.next/server/app/_global-error/page.js +2 -2
  10. package/bundle/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/bundle/.next/server/app/_global-error.html +1 -1
  12. package/bundle/.next/server/app/_global-error.rsc +1 -1
  13. package/bundle/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/bundle/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/bundle/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/bundle/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/bundle/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/bundle/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/bundle/.next/server/app/_not-found/page.js +2 -2
  20. package/bundle/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/bundle/.next/server/app/_not-found.html +2 -2
  22. package/bundle/.next/server/app/_not-found.rsc +2 -2
  23. package/bundle/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  24. package/bundle/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/bundle/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  26. package/bundle/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/bundle/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/bundle/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/bundle/.next/server/app/accounts/page.js +2 -2
  30. package/bundle/.next/server/app/accounts/page.js.nft.json +1 -1
  31. package/bundle/.next/server/app/accounts/page_client-reference-manifest.js +1 -1
  32. package/bundle/.next/server/app/agents/page.js +2 -2
  33. package/bundle/.next/server/app/agents/page.js.nft.json +1 -1
  34. package/bundle/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  35. package/bundle/.next/server/app/api/accounts/access-rules/route.js +1 -1
  36. package/bundle/.next/server/app/api/accounts/access-rules/route.js.nft.json +1 -1
  37. package/bundle/.next/server/app/api/accounts/browser-profiles/route.js +1 -1
  38. package/bundle/.next/server/app/api/accounts/browser-profiles/route.js.nft.json +1 -1
  39. package/bundle/.next/server/app/api/accounts/login-targets/route.js +2 -2
  40. package/bundle/.next/server/app/api/accounts/login-targets/route.js.nft.json +1 -1
  41. package/bundle/.next/server/app/api/agents/[agentId]/chat/route.js +4 -4
  42. package/bundle/.next/server/app/api/agents/[agentId]/chat/route.js.nft.json +1 -1
  43. package/bundle/.next/server/app/api/agents/route.js +1 -1
  44. package/bundle/.next/server/app/api/agents/route.js.nft.json +1 -1
  45. package/bundle/.next/server/app/api/diagnostics/route.js +1 -1
  46. package/bundle/.next/server/app/api/diagnostics/route.js.nft.json +1 -1
  47. package/bundle/.next/server/app/api/files/reveal/route.js +1 -1
  48. package/bundle/.next/server/app/api/gateway/control/route.js +1 -1
  49. package/bundle/.next/server/app/api/gateway/control/route.js.nft.json +1 -1
  50. package/bundle/.next/server/app/api/integrations/[integrationId]/status/route.js +1 -1
  51. package/bundle/.next/server/app/api/integrations/[integrationId]/status/route.js.nft.json +1 -1
  52. package/bundle/.next/server/app/api/mission/route.js +3 -3
  53. package/bundle/.next/server/app/api/mission/route.js.nft.json +1 -1
  54. package/bundle/.next/server/app/api/models/catalog/route.js +1 -2
  55. package/bundle/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
  56. package/bundle/.next/server/app/api/models/providers/route.js +1 -2
  57. package/bundle/.next/server/app/api/models/providers/route.js.nft.json +1 -1
  58. package/bundle/.next/server/app/api/onboarding/models/route.js +8 -9
  59. package/bundle/.next/server/app/api/onboarding/models/route.js.nft.json +1 -1
  60. package/bundle/.next/server/app/api/onboarding/route.js +8 -8
  61. package/bundle/.next/server/app/api/onboarding/route.js.nft.json +1 -1
  62. package/bundle/.next/server/app/api/openclaw/capabilities/route.js +1 -1
  63. package/bundle/.next/server/app/api/openclaw/capabilities/route.js.nft.json +1 -1
  64. package/bundle/.next/server/app/api/openclaw/compatibility-smoke/route.js +1 -1
  65. package/bundle/.next/server/app/api/openclaw/compatibility-smoke/route.js.nft.json +1 -1
  66. package/bundle/.next/server/app/api/planner/[planId]/deploy/route.js +2 -2
  67. package/bundle/.next/server/app/api/planner/[planId]/deploy/route.js.nft.json +1 -1
  68. package/bundle/.next/server/app/api/planner/[planId]/document-rewrite/route.js +1 -1
  69. package/bundle/.next/server/app/api/planner/[planId]/document-rewrite/route.js.nft.json +1 -1
  70. package/bundle/.next/server/app/api/planner/[planId]/route.js +1 -1
  71. package/bundle/.next/server/app/api/planner/[planId]/route.js.nft.json +1 -1
  72. package/bundle/.next/server/app/api/planner/[planId]/simulate/route.js +1 -1
  73. package/bundle/.next/server/app/api/planner/[planId]/simulate/route.js.nft.json +1 -1
  74. package/bundle/.next/server/app/api/planner/[planId]/turn/route.js +1 -1
  75. package/bundle/.next/server/app/api/planner/[planId]/turn/route.js.nft.json +1 -1
  76. package/bundle/.next/server/app/api/planner/route.js +1 -1
  77. package/bundle/.next/server/app/api/planner/route.js.nft.json +1 -1
  78. package/bundle/.next/server/app/api/reset/route.js +2 -2
  79. package/bundle/.next/server/app/api/reset/route.js.nft.json +1 -1
  80. package/bundle/.next/server/app/api/runtimes/[runtimeId]/route.js +1 -1
  81. package/bundle/.next/server/app/api/runtimes/[runtimeId]/route.js.nft.json +1 -1
  82. package/bundle/.next/server/app/api/settings/config-pacing/route.js +1 -0
  83. package/bundle/.next/server/app/api/settings/config-pacing/route.js.nft.json +1 -0
  84. package/bundle/.next/server/app/api/settings/config-pacing/route_client-reference-manifest.js +1 -0
  85. package/bundle/.next/server/app/api/settings/gateway/route.js +1 -1
  86. package/bundle/.next/server/app/api/settings/gateway/route.js.nft.json +1 -1
  87. package/bundle/.next/server/app/api/settings/openclaw-binary/route.js +1 -1
  88. package/bundle/.next/server/app/api/settings/openclaw-binary/route.js.nft.json +1 -1
  89. package/bundle/.next/server/app/api/settings/workspace-root/route.js +1 -1
  90. package/bundle/.next/server/app/api/settings/workspace-root/route.js.nft.json +1 -1
  91. package/bundle/.next/server/app/api/snapshot/route.js +1 -1
  92. package/bundle/.next/server/app/api/snapshot/route.js.nft.json +1 -1
  93. package/bundle/.next/server/app/api/stream/route.js +2 -2
  94. package/bundle/.next/server/app/api/stream/route.js.nft.json +1 -1
  95. package/bundle/.next/server/app/api/system/open-terminal/route.js +1 -1
  96. package/bundle/.next/server/app/api/tasks/[taskId]/abort/route.js +1 -1
  97. package/bundle/.next/server/app/api/tasks/[taskId]/abort/route.js.nft.json +1 -1
  98. package/bundle/.next/server/app/api/tasks/[taskId]/control/route.js +1 -1
  99. package/bundle/.next/server/app/api/tasks/[taskId]/control/route.js.nft.json +1 -1
  100. package/bundle/.next/server/app/api/tasks/[taskId]/stream/route.js +2 -2
  101. package/bundle/.next/server/app/api/tasks/[taskId]/stream/route.js.nft.json +1 -1
  102. package/bundle/.next/server/app/api/update/route.js +7 -7
  103. package/bundle/.next/server/app/api/update/route.js.nft.json +1 -1
  104. package/bundle/.next/server/app/api/workspaces/[workspaceId]/channels/discovered-groups/route.js +1 -1
  105. package/bundle/.next/server/app/api/workspaces/[workspaceId]/channels/discovered-groups/route.js.nft.json +1 -1
  106. package/bundle/.next/server/app/api/workspaces/[workspaceId]/channels/route.js +1 -1
  107. package/bundle/.next/server/app/api/workspaces/[workspaceId]/channels/route.js.nft.json +1 -1
  108. package/bundle/.next/server/app/api/workspaces/[workspaceId]/edit-draft/route.js +1 -1
  109. package/bundle/.next/server/app/api/workspaces/[workspaceId]/edit-draft/route.js.nft.json +1 -1
  110. package/bundle/.next/server/app/api/workspaces/[workspaceId]/files/route.js +1 -1
  111. package/bundle/.next/server/app/api/workspaces/[workspaceId]/files/route.js.nft.json +1 -1
  112. package/bundle/.next/server/app/api/workspaces/[workspaceId]/surfaces/discovery/route.js +1 -1
  113. package/bundle/.next/server/app/api/workspaces/[workspaceId]/surfaces/discovery/route.js.nft.json +1 -1
  114. package/bundle/.next/server/app/api/workspaces/[workspaceId]/surfaces/reconcile/route.js +1 -1
  115. package/bundle/.next/server/app/api/workspaces/[workspaceId]/surfaces/reconcile/route.js.nft.json +1 -1
  116. package/bundle/.next/server/app/api/workspaces/route.js +2 -2
  117. package/bundle/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  118. package/bundle/.next/server/app/files/page.js +2 -2
  119. package/bundle/.next/server/app/files/page.js.nft.json +1 -1
  120. package/bundle/.next/server/app/files/page_client-reference-manifest.js +1 -1
  121. package/bundle/.next/server/app/integrations/page.js +2 -2
  122. package/bundle/.next/server/app/integrations/page.js.nft.json +1 -1
  123. package/bundle/.next/server/app/integrations/page_client-reference-manifest.js +1 -1
  124. package/bundle/.next/server/app/models/page.js +2 -2
  125. package/bundle/.next/server/app/models/page.js.nft.json +1 -1
  126. package/bundle/.next/server/app/models/page_client-reference-manifest.js +1 -1
  127. package/bundle/.next/server/app/page.js +2 -2
  128. package/bundle/.next/server/app/page.js.nft.json +1 -1
  129. package/bundle/.next/server/app/page_client-reference-manifest.js +1 -1
  130. package/bundle/.next/server/app/settings/page.js +2 -2
  131. package/bundle/.next/server/app/settings/page.js.nft.json +1 -1
  132. package/bundle/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  133. package/bundle/.next/server/app/tasks/page.js +2 -2
  134. package/bundle/.next/server/app/tasks/page.js.nft.json +1 -1
  135. package/bundle/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  136. package/bundle/.next/server/app-paths-manifest.json +17 -16
  137. package/bundle/.next/server/chunks/1718.js +1 -1
  138. package/bundle/.next/server/chunks/1752.js +12 -0
  139. package/bundle/.next/server/chunks/4391.js +36 -36
  140. package/bundle/.next/server/chunks/4767.js +20 -19
  141. package/bundle/.next/server/chunks/4983.js +3 -1
  142. package/bundle/.next/server/chunks/5010.js +14 -0
  143. package/bundle/.next/server/chunks/{7396.js → 5271.js} +2 -2
  144. package/bundle/.next/server/chunks/{6320.js → 6637.js} +1 -1
  145. package/bundle/.next/server/chunks/7092.js +2 -0
  146. package/bundle/.next/server/chunks/{4466.js → 8215.js} +1 -1
  147. package/bundle/.next/server/chunks/8533.js +182 -0
  148. package/bundle/.next/server/functions-config-manifest.json +1 -0
  149. package/bundle/.next/server/middleware-build-manifest.js +1 -1
  150. package/bundle/.next/server/middleware-react-loadable-manifest.js +1 -1
  151. package/bundle/.next/server/pages/404.html +2 -2
  152. package/bundle/.next/server/pages/500.html +1 -1
  153. package/bundle/.next/server/server-reference-manifest.json +1 -1
  154. package/bundle/.next/static/chunks/2083-3f878fa838a1a0ca.js +1 -0
  155. package/bundle/.next/static/chunks/2125-162d48301a8f53b4.js +3 -0
  156. package/bundle/.next/static/chunks/2207-4f66fd1ddff2aba5.js +1 -0
  157. package/bundle/.next/static/chunks/{3315-597211dffe007157.js → 2366-16384dc528c25ced.js} +4 -4
  158. package/bundle/.next/static/chunks/4137.19010bab7fabf352.js +1 -0
  159. package/bundle/.next/static/chunks/7197.ddf4cc08de4fe3ee.js +1 -0
  160. package/bundle/.next/static/chunks/7442-2c0e6d9ebff0ac6a.js +198 -0
  161. package/bundle/.next/static/chunks/9069-70706bf0dcf0a557.js +1 -0
  162. package/bundle/.next/static/chunks/{6276-fdd5e81abda749e8.js → 9679-b7f81b3d55f1ea2d.js} +2 -2
  163. package/bundle/.next/static/chunks/app/_global-error/{page-32f399461697d08e.js → page-f27867b999a8b8f9.js} +1 -1
  164. package/bundle/.next/static/chunks/app/_not-found/{page-32f399461697d08e.js → page-f27867b999a8b8f9.js} +1 -1
  165. package/bundle/.next/static/chunks/app/accounts/page-28d2ce28785650e2.js +1 -0
  166. package/bundle/.next/static/chunks/app/agents/page-00e158069677f65e.js +1 -0
  167. package/bundle/.next/static/chunks/app/api/accounts/access-rules/{route-32f399461697d08e.js → route-f27867b999a8b8f9.js} +1 -1
  168. package/bundle/.next/static/chunks/app/api/accounts/browser-profiles/{route-32f399461697d08e.js → route-f27867b999a8b8f9.js} +1 -1
  169. package/bundle/.next/static/chunks/app/api/accounts/login-targets/route-f27867b999a8b8f9.js +1 -0
  170. package/bundle/.next/static/chunks/app/api/agents/[agentId]/chat/route-f27867b999a8b8f9.js +1 -0
  171. package/bundle/.next/static/chunks/app/api/agents/route-f27867b999a8b8f9.js +1 -0
  172. package/bundle/.next/static/chunks/app/api/diagnostics/route-f27867b999a8b8f9.js +1 -0
  173. package/bundle/.next/static/chunks/app/api/files/reveal/route-f27867b999a8b8f9.js +1 -0
  174. package/bundle/.next/static/chunks/app/api/gateway/control/route-f27867b999a8b8f9.js +1 -0
  175. package/bundle/.next/static/chunks/app/api/integrations/[integrationId]/status/route-f27867b999a8b8f9.js +1 -0
  176. package/bundle/.next/static/chunks/app/api/mission/route-f27867b999a8b8f9.js +1 -0
  177. package/bundle/.next/static/chunks/app/api/models/catalog/route-f27867b999a8b8f9.js +1 -0
  178. package/bundle/.next/static/chunks/app/api/models/providers/route-f27867b999a8b8f9.js +1 -0
  179. package/bundle/.next/static/chunks/app/api/onboarding/models/route-f27867b999a8b8f9.js +1 -0
  180. package/bundle/.next/static/chunks/app/api/onboarding/route-f27867b999a8b8f9.js +1 -0
  181. package/bundle/.next/static/chunks/app/api/openclaw/capabilities/route-f27867b999a8b8f9.js +1 -0
  182. package/bundle/.next/static/chunks/app/api/openclaw/compatibility-smoke/route-f27867b999a8b8f9.js +1 -0
  183. package/bundle/.next/static/chunks/app/api/planner/[planId]/deploy/route-f27867b999a8b8f9.js +1 -0
  184. package/bundle/.next/static/chunks/app/api/planner/[planId]/document-rewrite/route-f27867b999a8b8f9.js +1 -0
  185. package/bundle/.next/static/chunks/app/api/planner/[planId]/route-f27867b999a8b8f9.js +1 -0
  186. package/bundle/.next/static/chunks/app/api/planner/[planId]/simulate/route-f27867b999a8b8f9.js +1 -0
  187. package/bundle/.next/static/chunks/app/api/planner/[planId]/turn/route-f27867b999a8b8f9.js +1 -0
  188. package/bundle/.next/static/chunks/app/api/planner/route-f27867b999a8b8f9.js +1 -0
  189. package/bundle/.next/static/chunks/app/api/reset/route-f27867b999a8b8f9.js +1 -0
  190. package/bundle/.next/static/chunks/app/api/runtimes/[runtimeId]/route-f27867b999a8b8f9.js +1 -0
  191. package/bundle/.next/static/chunks/app/api/settings/config-pacing/route-f27867b999a8b8f9.js +1 -0
  192. package/bundle/.next/static/chunks/app/api/settings/gateway/route-f27867b999a8b8f9.js +1 -0
  193. package/bundle/.next/static/chunks/app/api/settings/openclaw-binary/route-f27867b999a8b8f9.js +1 -0
  194. package/bundle/.next/static/chunks/app/api/settings/workspace-root/route-f27867b999a8b8f9.js +1 -0
  195. package/bundle/.next/static/chunks/app/api/snapshot/route-f27867b999a8b8f9.js +1 -0
  196. package/bundle/.next/static/chunks/app/api/stream/route-f27867b999a8b8f9.js +1 -0
  197. package/bundle/.next/static/chunks/app/api/system/open-terminal/route-f27867b999a8b8f9.js +1 -0
  198. package/bundle/.next/static/chunks/app/api/tasks/[taskId]/abort/route-f27867b999a8b8f9.js +1 -0
  199. package/bundle/.next/static/chunks/app/api/tasks/[taskId]/control/route-f27867b999a8b8f9.js +1 -0
  200. package/bundle/.next/static/chunks/app/api/tasks/[taskId]/stream/route-f27867b999a8b8f9.js +1 -0
  201. package/bundle/.next/static/chunks/app/api/update/route-f27867b999a8b8f9.js +1 -0
  202. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/channels/discovered-groups/route-f27867b999a8b8f9.js +1 -0
  203. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/channels/route-f27867b999a8b8f9.js +1 -0
  204. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/edit-draft/route-f27867b999a8b8f9.js +1 -0
  205. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/files/route-f27867b999a8b8f9.js +1 -0
  206. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/surfaces/discovery/route-f27867b999a8b8f9.js +1 -0
  207. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/surfaces/reconcile/route-f27867b999a8b8f9.js +1 -0
  208. package/bundle/.next/static/chunks/app/api/workspaces/route-f27867b999a8b8f9.js +1 -0
  209. package/bundle/.next/static/chunks/app/files/page-ad284ddbf86c04e5.js +1 -0
  210. package/bundle/.next/static/chunks/app/integrations/page-4f68bceee5abc789.js +1 -0
  211. package/bundle/.next/static/chunks/app/models/page-66e93f913af5e8e2.js +1 -0
  212. package/bundle/.next/static/chunks/app/not-found-f27867b999a8b8f9.js +1 -0
  213. package/bundle/.next/static/chunks/app/page-caa416df80d1e4aa.js +1 -0
  214. package/bundle/.next/static/chunks/app/settings/page-87e643a9b8cbb811.js +1 -0
  215. package/bundle/.next/static/chunks/app/tasks/page-f3ff8c14f4e6516d.js +1 -0
  216. package/bundle/.next/static/chunks/next/dist/client/components/builtin/app-error-f27867b999a8b8f9.js +1 -0
  217. package/bundle/.next/static/chunks/next/dist/client/components/builtin/forbidden-f27867b999a8b8f9.js +1 -0
  218. package/bundle/.next/static/chunks/next/dist/client/components/builtin/unauthorized-f27867b999a8b8f9.js +1 -0
  219. package/bundle/.next/static/chunks/webpack-4c600b16521adac0.js +1 -0
  220. package/bundle/.next/static/css/90ba0f48862473e6.css +3 -0
  221. package/bundle/.next/static/hXnwH-mOOsX_EiS-3twK3/_buildManifest.js +1 -0
  222. package/bundle/package.json +1 -0
  223. package/bundle/server.js +1 -1
  224. package/package.json +1 -1
  225. package/bundle/.next/server/chunks/2082.js +0 -183
  226. package/bundle/.next/server/chunks/6476.js +0 -14
  227. package/bundle/.next/server/chunks/707.js +0 -12
  228. package/bundle/.next/static/Pe2Qv8_zpxfA-X03dV603/_buildManifest.js +0 -1
  229. package/bundle/.next/static/chunks/2083-42815fbe60a1bf82.js +0 -1
  230. package/bundle/.next/static/chunks/2842.b8d0551fd4d397d4.js +0 -1
  231. package/bundle/.next/static/chunks/6672-f468873ca90420ef.js +0 -1
  232. package/bundle/.next/static/chunks/6848-bf85a5b7d7c1e82b.js +0 -1
  233. package/bundle/.next/static/chunks/7197.f130bbf23030eec7.js +0 -1
  234. package/bundle/.next/static/chunks/7442-4cc100ec1115e55d.js +0 -198
  235. package/bundle/.next/static/chunks/app/accounts/page-c9e49f6fc4ec8e1e.js +0 -1
  236. package/bundle/.next/static/chunks/app/agents/page-6729705e1231670f.js +0 -1
  237. package/bundle/.next/static/chunks/app/api/accounts/login-targets/route-32f399461697d08e.js +0 -1
  238. package/bundle/.next/static/chunks/app/api/agents/[agentId]/chat/route-32f399461697d08e.js +0 -1
  239. package/bundle/.next/static/chunks/app/api/agents/route-32f399461697d08e.js +0 -1
  240. package/bundle/.next/static/chunks/app/api/diagnostics/route-32f399461697d08e.js +0 -1
  241. package/bundle/.next/static/chunks/app/api/files/reveal/route-32f399461697d08e.js +0 -1
  242. package/bundle/.next/static/chunks/app/api/gateway/control/route-32f399461697d08e.js +0 -1
  243. package/bundle/.next/static/chunks/app/api/integrations/[integrationId]/status/route-32f399461697d08e.js +0 -1
  244. package/bundle/.next/static/chunks/app/api/mission/route-32f399461697d08e.js +0 -1
  245. package/bundle/.next/static/chunks/app/api/models/catalog/route-32f399461697d08e.js +0 -1
  246. package/bundle/.next/static/chunks/app/api/models/providers/route-32f399461697d08e.js +0 -1
  247. package/bundle/.next/static/chunks/app/api/onboarding/models/route-32f399461697d08e.js +0 -1
  248. package/bundle/.next/static/chunks/app/api/onboarding/route-32f399461697d08e.js +0 -1
  249. package/bundle/.next/static/chunks/app/api/openclaw/capabilities/route-32f399461697d08e.js +0 -1
  250. package/bundle/.next/static/chunks/app/api/openclaw/compatibility-smoke/route-32f399461697d08e.js +0 -1
  251. package/bundle/.next/static/chunks/app/api/planner/[planId]/deploy/route-32f399461697d08e.js +0 -1
  252. package/bundle/.next/static/chunks/app/api/planner/[planId]/document-rewrite/route-32f399461697d08e.js +0 -1
  253. package/bundle/.next/static/chunks/app/api/planner/[planId]/route-32f399461697d08e.js +0 -1
  254. package/bundle/.next/static/chunks/app/api/planner/[planId]/simulate/route-32f399461697d08e.js +0 -1
  255. package/bundle/.next/static/chunks/app/api/planner/[planId]/turn/route-32f399461697d08e.js +0 -1
  256. package/bundle/.next/static/chunks/app/api/planner/route-32f399461697d08e.js +0 -1
  257. package/bundle/.next/static/chunks/app/api/reset/route-32f399461697d08e.js +0 -1
  258. package/bundle/.next/static/chunks/app/api/runtimes/[runtimeId]/route-32f399461697d08e.js +0 -1
  259. package/bundle/.next/static/chunks/app/api/settings/gateway/route-32f399461697d08e.js +0 -1
  260. package/bundle/.next/static/chunks/app/api/settings/openclaw-binary/route-32f399461697d08e.js +0 -1
  261. package/bundle/.next/static/chunks/app/api/settings/workspace-root/route-32f399461697d08e.js +0 -1
  262. package/bundle/.next/static/chunks/app/api/snapshot/route-32f399461697d08e.js +0 -1
  263. package/bundle/.next/static/chunks/app/api/stream/route-32f399461697d08e.js +0 -1
  264. package/bundle/.next/static/chunks/app/api/system/open-terminal/route-32f399461697d08e.js +0 -1
  265. package/bundle/.next/static/chunks/app/api/tasks/[taskId]/abort/route-32f399461697d08e.js +0 -1
  266. package/bundle/.next/static/chunks/app/api/tasks/[taskId]/control/route-32f399461697d08e.js +0 -1
  267. package/bundle/.next/static/chunks/app/api/tasks/[taskId]/stream/route-32f399461697d08e.js +0 -1
  268. package/bundle/.next/static/chunks/app/api/update/route-32f399461697d08e.js +0 -1
  269. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/channels/discovered-groups/route-32f399461697d08e.js +0 -1
  270. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/channels/route-32f399461697d08e.js +0 -1
  271. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/edit-draft/route-32f399461697d08e.js +0 -1
  272. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/files/route-32f399461697d08e.js +0 -1
  273. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/surfaces/discovery/route-32f399461697d08e.js +0 -1
  274. package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/surfaces/reconcile/route-32f399461697d08e.js +0 -1
  275. package/bundle/.next/static/chunks/app/api/workspaces/route-32f399461697d08e.js +0 -1
  276. package/bundle/.next/static/chunks/app/files/page-88c9118871e40c6f.js +0 -1
  277. package/bundle/.next/static/chunks/app/integrations/page-b0541340ce23ac08.js +0 -1
  278. package/bundle/.next/static/chunks/app/models/page-d46f533a6ad10e54.js +0 -1
  279. package/bundle/.next/static/chunks/app/not-found-32f399461697d08e.js +0 -1
  280. package/bundle/.next/static/chunks/app/page-78b8c43dceba02d6.js +0 -1
  281. package/bundle/.next/static/chunks/app/settings/page-dc8c5f99e93317b5.js +0 -1
  282. package/bundle/.next/static/chunks/app/tasks/page-2d8a967801747f41.js +0 -1
  283. package/bundle/.next/static/chunks/next/dist/client/components/builtin/app-error-32f399461697d08e.js +0 -1
  284. package/bundle/.next/static/chunks/next/dist/client/components/builtin/forbidden-32f399461697d08e.js +0 -1
  285. package/bundle/.next/static/chunks/next/dist/client/components/builtin/unauthorized-32f399461697d08e.js +0 -1
  286. package/bundle/.next/static/chunks/webpack-6d3da3859b096ce1.js +0 -1
  287. package/bundle/.next/static/css/2755afb6503b0e79.css +0 -3
  288. package/bundle/public/readme/banner.jpeg +0 -0
  289. /package/bundle/.next/static/{Pe2Qv8_zpxfA-X03dV603 → hXnwH-mOOsX_EiS-3twK3}/_ssgManifest.js +0 -0
@@ -0,0 +1,182 @@
1
+ "use strict";exports.id=8533,exports.ids=[8533],exports.modules={1118:(a,b,c)=>{c.d(b,{T:()=>e,j:()=>d});let d=[{name:"exec",description:"Run shell commands and manage background processes.",source:"OpenClaw built-in",category:"builtin"},{name:"process",description:"Run shell commands and manage background processes.",source:"OpenClaw built-in",category:"builtin"},{name:"bash",description:"Run shell commands and manage background processes.",source:"OpenClaw built-in",category:"builtin"},{name:"code_execution",description:"Run sandboxed remote Python analysis.",source:"OpenClaw built-in",category:"builtin"},{name:"browser",description:"Control a Chromium browser (navigate, click, screenshot).",source:"OpenClaw built-in",category:"builtin"},{name:"web_search",description:"Search the web and fetch search results.",source:"OpenClaw built-in",category:"builtin"},{name:"x_search",description:"Search X posts.",source:"OpenClaw built-in",category:"builtin"},{name:"web_fetch",description:"Fetch page content.",source:"OpenClaw built-in",category:"builtin"},{name:"read",description:"Read files in the workspace.",source:"OpenClaw built-in",category:"builtin"},{name:"write",description:"Write files in the workspace.",source:"OpenClaw built-in",category:"builtin"},{name:"edit",description:"Edit files in the workspace.",source:"OpenClaw built-in",category:"builtin"},{name:"apply_patch",description:"Apply structured multi-hunk patches.",source:"OpenClaw built-in",category:"builtin"},{name:"message",description:"Send messages across channels.",source:"OpenClaw built-in",category:"builtin"},{name:"canvas",description:"Drive node canvas workflows.",source:"OpenClaw built-in",category:"builtin"},{name:"nodes",description:"Discover and target paired devices.",source:"OpenClaw built-in",category:"builtin"},{name:"cron",description:"Manage scheduled jobs.",source:"OpenClaw built-in",category:"builtin"},{name:"gateway",description:"Inspect and restart gateway services.",source:"OpenClaw built-in",category:"builtin"},{name:"image",description:"Analyze images.",source:"OpenClaw built-in",category:"builtin"},{name:"image_generate",description:"Generate or edit images.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_list",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_history",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_send",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_spawn",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_yield",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"subagents",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"session_status",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"agents_list",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"}],e=[{name:"group:runtime",description:"exec, bash, process, code_execution",source:"OpenClaw docs",category:"group"},{name:"group:fs",description:"read, write, edit, apply_patch",source:"OpenClaw docs",category:"group"},{name:"group:sessions",description:"sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status",source:"OpenClaw docs",category:"group"},{name:"group:memory",description:"memory_search, memory_get",source:"OpenClaw docs",category:"group"},{name:"group:web",description:"web_search, x_search, web_fetch",source:"OpenClaw docs",category:"group"},{name:"group:ui",description:"browser, canvas",source:"OpenClaw docs",category:"group"},{name:"group:automation",description:"cron, gateway",source:"OpenClaw docs",category:"group"},{name:"group:messaging",description:"message",source:"OpenClaw docs",category:"group"},{name:"group:nodes",description:"nodes",source:"OpenClaw docs",category:"group"},{name:"group:openclaw",description:"All built-in OpenClaw tools (excludes plugin tools).",source:"OpenClaw docs",category:"group"}]},8533:(a,b,c)=>{c.d(b,{er:()=>bx,b7:()=>bv,GM:()=>bz,ZZ:()=>by});var d=c(96876),e=c(88366),f=c(92273),g=c(39503);async function h(a=2e4,b=(0,g.rw)()){try{let c=await b.getStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}async function i(a=2e4,b=(0,g.rw)()){try{let c=await b.getUpdateStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}async function j(a=2e4,b=(0,g.rw)()){try{let c=await b.getGatewayStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}async function k(a=2e4,b=(0,g.rw)()){try{let c=await b.getModelStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}class l{constructor(a){this.staleGraceMs=a,this.cache=null}clear(){this.cache=null}shouldRefresh(){return!this.cache||Date.now()-this.cache.capturedAt>this.staleGraceMs}getCachedPort(a=18789){return this.cache?.value.gateway?.port??a}write(a){this.cache={value:a,capturedAt:Date.now()}}resolve(a){return"fulfilled"===a.status?(this.write(a.value),{value:a.value,reusedCachedValue:!1}):this.cache&&Date.now()-this.cache.capturedAt<=this.staleGraceMs?{value:this.cache.value,reusedCachedValue:!0}:{value:void 0,reusedCachedValue:!1}}}var m=c(83761),n=c(75402),o=c(88978);class p{constructor(a){this.options=a,this.cache=null,this.promise=null}clear(){this.cache=null,this.promise=null}read(a,b={},c=!1){let d=q(a,b),e=this.cache,f=!!(e&&e.agentIdsKey===d),g=!!(f&&e&&e.expiresAt>Date.now());return!c&&g&&e?e.value:!c&&f&&e?(this.promise||(this.promise=this.loadForCurrentGeneration(a,b),this.promise.catch(()=>{}),this.promise.finally(()=>{this.promise=null}).catch(()=>{})),e.value):!c&&this.promise&&f&&e?e.value:this.promise&&!c||c&&this.promise?this.promise:(this.promise=this.loadForCurrentGeneration(a,b),this.promise.catch(()=>{}),this.promise.finally(()=>{this.promise=null}).catch(()=>{}),c?this.promise.then(a=>a):this.promise)}loadForCurrentGeneration(a,b){let c=this.options.getGeneration(),d=q(a,b);return this.options.loadState(a,b).then(a=>(c===this.options.getGeneration()&&(this.cache={agentIdsKey:d,value:a,expiresAt:Date.now()+this.options.ttlMs}),a))}}function q(a,b){return[...new Set(a.filter(Boolean))].sort().map(a=>`${a}:${b[a]??""}`).join("\0")}class r{constructor(a){this.options=a,this.cache=null,this.promise=null,this.generation=0}getGeneration(){return this.generation}clear(a={}){a.incrementGeneration&&(this.generation+=1),this.cache=null}async get(a={}){let b=this.cache,c=!!(b&&b.expiresAt>Date.now());if(!a.force&&c&&b)return s(b,a.includeHidden);if(!a.force&&b)return this.promise||(this.promise=this.loadForCurrentGeneration("interactive"),this.promise.catch(()=>{}),this.promise.finally(()=>{this.promise=null}).catch(()=>{})),s(b,a.includeHidden);if(a.force){this.generation+=1,this.cache=null,this.promise=this.loadForCurrentGeneration(a.loadProfile??"refresh"),this.promise.catch(()=>{});try{let b=await this.promise;return s(b,a.includeHidden)}finally{this.promise=null}}if(this.promise)return s(await this.promise,a.includeHidden);this.promise=this.loadForCurrentGeneration("interactive"),this.promise.catch(()=>{});try{let b=await this.promise;return s(b,a.includeHidden)}finally{this.promise=null}}loadForCurrentGeneration(a){let b=this.generation;return this.options.load(a,b).then(a=>(b===this.generation&&(this.cache={...a,expiresAt:Date.now()+this.options.ttlMs}),a))}}function s(a,b){return b?a.full:a.visible}class t{constructor(a){this.controller=new r(a)}getGeneration(){return this.controller.getGeneration()}clear(a={}){this.controller.clear(a)}getSnapshot(a={}){return this.controller.get(a)}}var u=c(25303),v=c(72761),w=c(56763),x=c(11523),y=c(76760),z=c.n(y),A=c(21916);function B(a,b){let c=new Set,d=new Map;for(let b of a){let a=function(a){var b;let c=E(a.workspace),d=(b=a.identityName||a.name||a.id,(0,A.Nk)(b)?.toLocaleLowerCase("en-US")??"");return c&&d?`${c}\0${d}`:null}(b);if(!a)continue;let c=d.get(a)??[];c.push(b),d.set(a,c)}for(let a of d.values()){if(a.length<2)continue;let d=a.filter(D);if(0!==d.length)for(let e of a)!d.includes(e)&&function(a,b){let c=E(a.agentDir),d=E(z().join(b,"agents"));return!!(c&&d&&c.startsWith(`${d}${z().sep}`))}(e,b)&&c.add(C(e))}return a.filter(a=>!c.has(C(a)))}function C(a){return`${a.id}\0${E(a.agentDir)}`}function D(a){let b=E(a.workspace),c=E(a.agentDir);return!!b&&!!c&&c.startsWith(`${z().join(b,".openclaw","agents")}${z().sep}`)}function E(a){let b=(0,A.Nk)(a);return b?z().normalize(b):""}let F="Deferred to background refresh.";class G{constructor(a=3e5){this.ttlMs=a,this.cache=null,this.refreshPromise=null}clear(){this.cache=null,this.refreshPromise=null}shouldRefresh(){return!this.cache||Date.now()-this.cache.capturedAt>this.ttlMs}resolve(a){return H(a,this.cache,a=>{this.cache=a},this.ttlMs)}scheduleRefresh(a){!this.refreshPromise&&this.shouldRefresh()&&(this.refreshPromise=(async()=>{try{let b=await a();"fulfilled"===b.status&&(this.cache={value:b.value,capturedAt:Date.now()})}catch{}finally{this.refreshPromise=null}})(),this.refreshPromise.catch(()=>{}))}}function H(a,b,c,d=3e5){return"fulfilled"===a.status?(c({value:a.value,capturedAt:Date.now()}),{value:a.value,reusedCachedValue:!1,failed:!1}):b&&Date.now()-b.capturedAt<=d?{value:b.value,reusedCachedValue:!0,failed:!0}:{value:void 0,reusedCachedValue:!1,failed:!0}}function I(){return{status:"rejected",reason:Error(F)}}function J(a){return"rejected"===a.status&&a.reason instanceof Error&&a.reason.message===F}var K=c(28182),L=c(35456),M=c(29822),N=c(65493),O=c(38610);function P(a,b){for(let c of a)for(let a of b){let b=(0,A.Nk)("string"==typeof c[a]?c[a]:void 0);if(b)return b}}function Q(a){return R(a)?a:void 0}function R(a){return!!(a&&"object"==typeof a&&!Array.isArray(a))}function S(a){if(!a)return null;try{return new URL(a).hostname}catch{return null}}function T(a){let b=a.trim().toLowerCase().replace(/^\[|\]$/g,"");return"localhost"===b||"::1"===b||"0:0:0:0:0:0:0:1"===b||/^127\.(?:\d{1,3}\.){2}\d{1,3}$/.test(b)}function U(a,b){let c=[...a.issues,..."failed"===b.status&&b.error?[`Latest runtime smoke test failed for ${b.agentId??"unknown agent"}. ${b.error}`]:[]];return{...a,smokeTest:b,issues:c}}var V=c(38798),W=c(11315);let X=[{id:"gatewayHealth",label:"Gateway health",methods:["health","status","logs.tail"]},{id:"sessions",label:"Sessions",methods:["sessions.list","sessions.create","sessions.patch","sessions.steer","sessions.preview","sessions.get","sessions.describe","sessions.subscribe"],events:["session.message","session.tool","sessions.changed"]},{id:"chat",label:"Chat",methods:["chat.send","sessions.send","chat.history","chat.abort","chat.inject"],events:["chat","agent","session.message","session.tool"]},{id:"models",label:"Models",methods:["models.list","models.authStatus","models.scan","models.authOrder.set","models.auth.order.set"]},{id:"authProfiles",label:"Auth profiles",methods:["models.authStatus","models.authOrder.set","models.auth.order.set"]},{id:"accountsBrowserProfiles",label:"Accounts/browser profiles",methods:["browser.request","channels.status","channels.list"]},{id:"tasks",label:"Tasks",methods:["tasks.list","tasks.get","tasks.assign","tasks.cancel","tasks.subscribe"],events:["task","task.updated","task.completed"]},{id:"config",label:"Config",methods:["config.get","config.set","config.schema","config.schema.lookup","config.patch","config.apply"]},{id:"transcripts",label:"Transcripts",methods:["chat.history","sessions.preview","sessions.get","sessions.describe","sessions.messages.subscribe"],events:["session.message","session.tool"]},{id:"cliFallback",label:"CLI fallback availability",methods:[],events:[]}];function Y(a){return Array.from(new Set(a.map(a=>a.trim()).filter(Boolean))).sort()}let Z={health:"gatewayHealth",logsTail:"gatewayHealth",models:"models",modelAuthOrder:"authProfiles",modelScan:"models",sessionLifecycle:"sessions",sessionHistory:"transcripts",missionDispatch:"chat",missionStream:"chat",chatControl:"chat",agentWait:"sessions",taskEvents:"tasks",taskAssign:"tasks",taskCancel:"tasks",artifacts:"tasks",runtimeSnapshot:"sessions",tools:"tasks",plugins:"config",execApprovals:"tasks",devicePairList:"config",deviceApproval:"config",cronRead:"tasks",channels:"accountsBrowserProfiles",channelList:"accountsBrowserProfiles",channelLogs:"accountsBrowserProfiles",channelProvisioning:"accountsBrowserProfiles",channelRemoval:"accountsBrowserProfiles",gmailProvisioning:"accountsBrowserProfiles",automationProvisioning:"tasks",browserProfiles:"accountsBrowserProfiles",skills:"config",updates:"gatewayHealth",configSchemaLookup:"config",configPatch:"config",agentCreate:"sessions",agentUpdate:"sessions",agentIdentity:"sessions",agentDelete:"sessions"},$={health:{params:{},validate:ac},status:{params:{},validate:ac},"update.status":{params:{},validate:ac},"models.list":{params:{view:"configured"},validate:a=>Array.isArray(ab(a)?.models)},"models.authStatus":{params:{},validate:ac},"sessions.list":{params:{limit:1},validate:a=>Array.isArray(ab(a)?.sessions)},"sessions.preview":{params:{limit:1},validate:ac},"chat.history":{params:{limit:1},validate:ac},"tasks.list":{params:{limit:1},validate:a=>Array.isArray(ab(a)?.tasks)},"artifacts.list":{params:{},validate:a=>Array.isArray(ab(a)?.artifacts)},"tools.catalog":{params:{},validate:a=>Array.isArray(ab(a)?.tools)},"tools.effective":{params:{},validate:a=>Array.isArray(ab(a)?.tools)},"plugins.list":{params:{},validate:a=>Array.isArray(ab(a)?.plugins)},"plugins.uiDescriptors":{params:{},validate:ac},"exec.approval.list":{params:{status:"pending",limit:1},validate:ac},"device.pair.list":{params:{},validate:ac},"devices.list":{params:{},validate:ac},"cron.status":{params:{},validate:ac},"cron.list":{params:{includeDisabled:!0},validate:a=>Array.isArray(ab(a)?.jobs)},"channels.status":{params:{probe:!1},validate:ac},"channels.list":{params:{},validate:ac},"config.get":{params:{},validate:ac},"config.schema":{params:{},validate:ac},"config.schema.lookup":{params:{path:"gateway"},validate:ac},"logs.tail":{params:{limit:1,maxBytes:2048},validate:ac},"skills.status":{params:{},validate:ac},"browser.request":{params:{method:"GET",path:"/profiles",timeoutMs:5e3},validate:a=>Array.isArray(ab(a)?.profiles)}};async function _(a){let b=new Set(a.effectiveMethods),c=new Set(a.effectiveEvents),d=[];for(let e of N.zS)d.push(await aa(e,b,c,a));return d}async function aa(a,b,c,d){var e,f;let g=a.methods.find(a=>b.has(a))??null,h=a.events?.find(a=>c.has(a))??null,i=!!(g||h),j=!1!==a.fallbackAllowed&&d.cliFallbackAvailable,k=a.baseline??"optional",l="required"===k,m="not-checked",n=null,o=null;if(i&&d.includeLiveShapeChecks&&d.callNative&&g){let a=$[g];if(a)try{let b=await d.callNative(g,a.params);m=(n=a.validate(b))?"valid":"invalid"}catch(a){o=(e=a)instanceof Error?e.message:String(e||"Gateway request failed."),n=!1,m="invalid"}}let p=(f={nativeGatewaySupported:i,cliFallbackAvailable:j,responseShapeStatus:m,liveFailure:o}).nativeGatewaySupported?"invalid"===f.responseShapeStatus||f.liveFailure?"failed":"ok":f.cliFallbackAvailable?"degraded":"unsupported",q=function(a){if(a.liveFailure)return`${a.operation.label} advertised native support, but the live response check failed: ${a.liveFailure}`;if(a.nativeGatewaySupported){let b=a.supportedMethod??a.supportedEvent??"capability metadata";return"invalid"===a.responseShapeStatus?`${a.operation.label} advertised ${b}, but the response shape did not match AgentOS' contract.`:"valid"===a.responseShapeStatus?`${a.operation.label} is native through ${b} and the response shape matched AgentOS' contract.`:`${a.operation.label} is native through ${b}; response shape was not checked in this report.`}return a.cliFallbackAvailable?`${a.operation.label} is not native in the ${a.capabilitySource} capability set; AgentOS can use explicit CLI fallback for recovery.`:`${a.operation.label} is not native in the ${a.capabilitySource} capability set and no safe CLI fallback is available.`}({operation:a,supportedMethod:g,supportedEvent:h,nativeGatewaySupported:i,cliFallbackAvailable:j,responseShapeStatus:m,liveFailure:o,capabilitySource:d.capabilitySource});return{operation:a.id,label:a.label,surface:Z[a.id]??"gatewayHealth",required:l,baseline:k,methods:a.methods,events:a.events??[],supportedMethod:g,supportedEvent:h,nativeGatewaySupported:i,cliFallbackAvailable:j,responseShapeStatus:m,responseShapeValid:n,status:p,reason:q,suggestedRecovery:function(a,b,c,d){switch(a){case"ok":return"No recovery action required.";case"degraded":return d?`Update OpenClaw for native ${b} support; CLI fallback remains an explicit recovery path.`:`Update OpenClaw for native ${b} support.`;case"unsupported":return c?`Install the supported OpenClaw baseline or update OpenClaw until ${b} is available through Gateway.`:`Update OpenClaw if ${b} is required for this AgentOS surface.`;case"failed":return`Update OpenClaw or AgentOS so the ${b} Gateway response matches the contract, then rerun compatibility checks.`}}(p,a.label,l,j)}}function ab(a){return ac(a)?a:null}function ac(a){return!!(a&&"object"==typeof a&&!Array.isArray(a))}var ad=c(24117),ae=c(1376),af=c(96972);let ag={local:"real-local","test-gateway-stable":"simulated-stable","test-gateway-beta":"simulated-beta-shape"};function ah(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);for(let b of(a.username&&(a.username=af.Ax),a.password&&(a.password=af.Ax),[...a.searchParams.keys()])){var c;c=b,/(?:token|password|secret|credential|api[-_]?key|auth)/i.test(c)&&a.searchParams.set(b,af.Ax)}return(0,af.bS)(a.toString())}catch{return(0,af.bS)(b)}}let ai=null;async function aj(a={}){let b=!0===a.includeLiveShapeChecks;if(!a.force&&!b&&ai&&!ai.includeLiveShapeChecks&&Date.now()-ai.capturedAt<6e4)return ai.value;let c=await ak(a);return b||(ai={capturedAt:Date.now(),includeLiveShapeChecks:b,value:c}),c}async function ak(a={}){var b,c,d,e,f,h,i;let j,k,l,m,n,o,p,q,r,s,t,u,v,w,x=(a.now?.()??new Date).toISOString(),y=[],z=(0,g.rw)(),[B,C,D,E]=await Promise.all([al(z,a.status,y),am(z,a.gatewayStatus,y),an(a.installedVersion,y),ao(a.cliAvailable,y)]),F=aD(a.installedVersion)??at(B)??aD(D),G=a.openClawVersionSource??(aD((d={explicitVersion:a.installedVersion,statusVersion:at(B),fallbackVersion:D}).explicitVersion)||aD(d.statusVersion)||aD(d.fallbackVersion)?"detected":"unknown"),H=a.target??function(a={}){var b,c;let d=a.target?.trim()||"real-local",e=ag[d],f=e??d;if("simulated-stable"!==(b=f)&&"simulated-beta-shape"!==b&&"real-local"!==b&&"real-stable"!==b)throw Error(`Unknown OpenClaw compatibility target: ${d}. Expected simulated-stable, simulated-beta-shape, real-local, or real-stable.`);let g=f.startsWith("simulated-")?"simulated":"real",h=a.runtimeStartedBy??(f.startsWith("simulated-")?"script":"external"),i="real"===g?ah(c=a.gatewayUrl)??ah((0,ae.i2)(c)||ad.N4):null,j=function(a){switch(a){case"simulated-beta-shape":return`${W.L}-beta`;case"simulated-stable":case"real-stable":return W.c;default:return null}}(f);return{name:f,kind:g,label:function(a){switch(a){case"simulated-stable":return`Simulated OpenClaw ${W.c} stable Gateway`;case"simulated-beta-shape":return"Simulated OpenClaw beta Gateway shape";case"real-stable":return`Real OpenClaw ${W.L} stable runtime`;case"real-local":return"Real local OpenClaw runtime"}}(f),aliasUsed:e?d:null,version:j,gatewayUrl:i,runtimeStartedBy:h,isRealRuntime:"real"===g,isSimulatedRuntime:"simulated"===g}}({target:"real-local",gatewayUrl:a.nativeClientOptions?.url}),I=await ap({options:a,diagnostics:y,cliForced:(0,V.JG)()}),J=(s=Y((b={advertisedMethods:I.advertisedMethods,advertisedEvents:I.advertisedEvents,installedVersion:F,source:I.source}).advertisedMethods),t=Y(b.advertisedEvents),s.length>0||t.length>0?{advertisedMethods:s,advertisedEvents:t,effectiveMethods:s,effectiveEvents:t,source:"unavailable"===b.source?"gateway-advertised":b.source}:(e=b.installedVersion,(j=e?.trim().replace(/^v/i,""))&&(0,A.QK)(j,W.c)>=0)?{advertisedMethods:s,advertisedEvents:t,effectiveMethods:Y([...N.Av,...N.rp]),effectiveEvents:[],source:"version-default"}:{advertisedMethods:s,advertisedEvents:t,effectiveMethods:[],effectiveEvents:[],source:"unavailable"}),K=I.protocolVersion??function(a){let b=a?.rpc?.capability;if(!b)return null;let c=/\bprotocol\s*v?(\d+)\b/i.exec(b)??/\bv(\d+)\b/i.exec(b);return c?.[1]??null}(C),L=function(a){if(!a)return"unknown";let b=Number(a);return Number.isFinite(b)?b>=V.aj.min&&b<=V.aj.max?"compatible":"unsupported":"unknown"}(K),M=(f=C)?f.rpc?.ok===!0?{status:"healthy",reason:"Gateway status reports RPC ready."}:f.service?.loaded===!0?{status:"degraded",reason:f.rpc?.error||"Gateway service is loaded, but RPC is not ready."}:{status:"unreachable",reason:"Gateway service is not loaded or did not report readiness."}:{status:"unknown",reason:"Gateway status was not available."},O=a.transport??I.client?.getDiagnostics?.()??null,P=(u=new Set((c={advertisedMethods:J.advertisedMethods,advertisedEvents:J.advertisedEvents,effectiveMethods:J.effectiveMethods,effectiveEvents:J.effectiveEvents,installedVersion:F,source:J.source,cliFallbackAvailable:E}).effectiveMethods),v=new Set(c.effectiveEvents),w=function(a){switch(a){case"gateway-discovery":return"gateway-discovery";case"version-default":return"version-default";case"gateway-advertised":return"gateway-advertised";default:return"not-available"}}(c.source),X.map(a=>{var b;if("cliFallback"===a.id)return{id:a.id,label:a.label,status:c.cliFallbackAvailable?"supported":"not-available",source:"cli-probe",methods:[],events:[],supportedMethods:[],supportedEvents:[],reason:c.cliFallbackAvailable?"OpenClaw CLI is available for explicit recovery fallback operations.":"OpenClaw CLI was not available, so recovery fallback operations cannot run."};let d=Y(a.methods),e=Y(a.events??[]),f=d.filter(a=>u.has(a)),g=e.filter(a=>v.has(a)),h=(b={supportedMethods:f,supportedEvents:g,hasEffectiveCapabilities:u.size>0||v.size>0}).supportedMethods.length>0||b.supportedEvents.length>0?"supported":b.hasEffectiveCapabilities?"unsupported":"unknown";return{id:a.id,label:a.label,status:h,source:"unknown"===h?"not-available":w,methods:d,events:e,supportedMethods:f,supportedEvents:g,reason:function(a,b,c,d,e){if("supported"===b){let b=[...d,...e].slice(0,4).join(", ");return`${a} is available via ${"version-default"===c?"version-based safe defaults":"Gateway capability metadata"}${b?` (${b})`:""}.`}return"unsupported"===b?`${a} was not present in the detected OpenClaw capability set.`:"not-available"===b?`${a} is not available in this environment.`:`${a} could not be detected because OpenClaw did not provide capability metadata and no safe version default applies.`}(a.label,h,w,f,g)}})),Q=await _({effectiveMethods:J.effectiveMethods,effectiveEvents:J.effectiveEvents,capabilitySource:J.source,cliFallbackAvailable:E,cliForced:(0,V.JG)(),includeLiveShapeChecks:!0===a.includeLiveShapeChecks,callNative:I.client?(b,c)=>I.client.callNative(b,c,{timeoutMs:a.nativeTimeoutMs??2500}):void 0});return I.client?.close("compatibility report finished"),i={target:H,generatedAt:x,installedVersion:F,openClawVersionSource:G,recommendedVersion:W.L,supportedBaselineVersion:W.c,testedVersions:Y([F??"",H.version??"",W.c]),gatewayHealth:M.status,gatewayHealthReason:M.reason,protocolVersion:K,protocolStatus:L,protocolRange:V.aj,authMode:I.authMode,authRole:I.authRole??(h=C,aC(h?.rpc?.auth?.role)),authScopes:I.authScopes,advertisedMethods:J.advertisedMethods,effectiveMethods:J.effectiveMethods,advertisedEvents:J.advertisedEvents,effectiveEvents:J.effectiveEvents,capabilitySource:J.source,cliAvailable:E,cliForced:(0,V.JG)(),transport:O,capabilities:P,contracts:Q,diagnostics:[...y,...I.diagnostics]},k=i.transport?.fallbackTotal??0,l=i.contracts.filter(a=>"degraded"===a.status),m=i.contracts.filter(a=>"unsupported"===a.status),n=i.contracts.filter(a=>"failed"===a.status),o=i.contracts.filter(a=>a.nativeGatewaySupported).length,q={nativeGatewayCoveragePercent:(p=i.contracts.length)>0?Math.round(o/p*100):0,nativeGatewayCoverageLabel:`${o}/${p} operations`,cliFallbackOperationCount:l.length,activeCliFallbackCount:k,degradedSurfaces:as(l),unsupportedSurfaces:as(m),failedSurfaces:as(n),supportedOpenClawVersion:i.supportedBaselineVersion,testedOpenClawVersions:[...i.testedVersions],unsupportedOperationCount:m.length,degradedOperationCount:l.length,failedOperationCount:n.length,targetName:i.target.name,targetKind:i.target.kind,isRealRuntime:i.target.isRealRuntime,isSimulatedRuntime:i.target.isSimulatedRuntime},r=function(a){let b=a.contracts.find(a=>a.required&&("failed"===a.status||"unsupported"===a.status));if("unsupported"===a.protocolStatus)return{status:"incompatible",reason:"Gateway protocol is outside AgentOS' supported range.",recovery:"Update OpenClaw or AgentOS so the Gateway protocol versions overlap."};if("unreachable"===a.gatewayHealth)return{status:"incompatible",reason:"OpenClaw Gateway is unreachable.",recovery:"Start or repair the OpenClaw Gateway, then rerun compatibility checks."};if(b)return{status:"incompatible",reason:`${b.label} is required but ${b.status}.`,recovery:b.suggestedRecovery};let c=a.contracts.find(a=>"experimental"!==a.baseline&&"ok"!==a.status);return c||"degraded"===a.gatewayHealth||"unknown"===a.gatewayHealth||"unknown"===a.protocolStatus?{status:"degraded",reason:c?`${c.label} is ${c.status}.`:"Gateway health or protocol compatibility is not fully verified.",recovery:c?.suggestedRecovery??"Repair Gateway readiness or rerun compatibility checks after OpenClaw is available."}:{status:"compatible",reason:"OpenClaw compatibility checks are compatible with AgentOS' supported baseline.",recovery:"No recovery action required."}}({gatewayHealth:i.gatewayHealth,protocolStatus:i.protocolStatus,contracts:i.contracts}),{generatedAt:i.generatedAt,target:i.target,targetName:i.target.name,targetKind:i.target.kind,targetAliasUsed:i.target.aliasUsed??null,gatewayUrl:i.target.gatewayUrl??null,openClawVersionSource:i.openClawVersionSource,runtimeStartedBy:i.target.runtimeStartedBy,isRealRuntime:i.target.isRealRuntime,isSimulatedRuntime:i.target.isSimulatedRuntime,status:r.status,statusReason:r.reason,recovery:r.recovery,openClaw:{installedVersion:i.installedVersion,versionSource:i.openClawVersionSource,recommendedVersion:i.recommendedVersion,supportedBaselineVersion:i.supportedBaselineVersion,testedVersions:[...i.testedVersions]},gateway:{health:i.gatewayHealth,healthReason:i.gatewayHealthReason,protocolVersion:i.protocolVersion,protocolStatus:i.protocolStatus,protocolRange:i.protocolRange,authMode:i.authMode,authRole:i.authRole,authScopes:i.authScopes,capabilitySource:i.capabilitySource,advertisedMethodCount:i.advertisedMethods.length,effectiveMethodCount:i.effectiveMethods.length,advertisedEventCount:i.advertisedEvents.length},fallback:{cliAvailable:i.cliAvailable,cliForced:i.cliForced,operationCount:i.contracts.filter(a=>a.cliFallbackAvailable).length,activeFallbackCount:k,diagnostics:i.transport?.recentFallbackDiagnostics??[]},capabilities:i.capabilities,contracts:i.contracts,summary:q,diagnostics:i.diagnostics}}async function al(a,b,c){if(void 0!==b)return b;try{return await a.getStatus({timeoutMs:5e3})}catch(a){return c.push(`status: ${aE(a)}`),null}}async function am(a,b,c){if(void 0!==b)return b;try{return await a.getGatewayStatus({timeoutMs:5e3})}catch(a){return c.push(`gatewayStatus: ${aE(a)}`),null}}async function an(a,b){if(void 0!==a)return a;try{return await (0,e.YP)()}catch(a){return b.push(`version: ${aE(a)}`),null}}async function ao(a,b){if(void 0!==a)return a;try{return await (0,e.XP)(),!0}catch(a){return b.push(`cli: ${aE(a)}`),!1}}async function ap(a){if(a.cliForced)return ar("Native Gateway WS is disabled by environment configuration.");let b=new V.gH({timeoutMs:a.options.nativeTimeoutMs??2500,...a.options.nativeClientOptions});try{let c=await b.probeNativeHandshake({timeoutMs:a.options.nativeTimeoutMs??2500}),d=c,e="gateway-advertised",f=au(c),g=av(c);if(0===f.length&&0===g.length){let c=await aq(b,a.options.nativeTimeoutMs??2500);c&&(d=c.payload,e="gateway-discovery",f=au(c.payload),g=av(c.payload))}return{protocolVersion:aw(d)??aw(c),authMode:ax(d)??ax(c),authRole:ay(d)??ay(c),authScopes:az(d).length>0?az(d):az(c),advertisedMethods:f,advertisedEvents:g,source:e,diagnostics:[],client:b}}catch(a){return b.close("compatibility report native detection failed"),ar(`handshake: ${aE(a)}`)}}async function aq(a,b){for(let c of["rpc.discover","rpc.methods","system.capabilities","capabilities"])try{return{method:c,payload:await a.callNative(c,{},{timeoutMs:b})}}catch{}return null}function ar(a){return{protocolVersion:null,authMode:null,authRole:null,authScopes:[],advertisedMethods:[],advertisedEvents:[],source:"unavailable",diagnostics:[a],client:null}}function as(a){return Y(a.map(a=>a.label))}function at(a){return aD(a?.runtimeVersion)??aD(a?.overview?.version)??aD(a?.version)}function au(a){var b;return Y([...aB(aA(a,"methods")),...aB(aA(aA(a,"rpc"),"methods")),...aB(aA(aA(a,"features"),"methods")),...aB(aA(a,"supportedMethods")),...Array.isArray(b=aA(a,"methods"))?b.map(a=>aC(aA(a,"name"))??aC(aA(a,"method"))).filter(a=>!!a):[]])}function av(a){return Y([...aB(aA(a,"events")),...aB(aA(aA(a,"features"),"events"))])}function aw(a){let b=aA(a,"protocolVersion")??aA(a,"protocol")??aA(aA(a,"gateway"),"protocolVersion");return"number"==typeof b&&Number.isFinite(b)?String(b):aC(b)}function ax(a){return aC(aA(a,"authMode"))??aC(aA(aA(a,"auth"),"mode"))??aC(aA(aA(a,"security"),"authMode"))}function ay(a){return aC(aA(a,"role"))??aC(aA(aA(a,"auth"),"role"))??aC(aA(aA(a,"security"),"role"))}function az(a){return Y([...aB(aA(a,"scopes")),...aB(aA(aA(a,"auth"),"scopes")),...aB(aA(aA(a,"security"),"scopes"))])}function aA(a,b){return a&&"object"==typeof a?a[b]:void 0}function aB(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.trim().length>0).map(a=>a.trim()):[]}function aC(a){return"string"==typeof a&&a.trim()?a.trim():null}function aD(a){return"string"==typeof a&&a.trim()?a.trim().replace(/^v/i,""):null}function aE(a){return a instanceof Error?a.message:String(a||"OpenClaw compatibility check failed.")}var aF=c(15292),aG=c(7565),aH=c(93090),aI=c(48161),aJ=c.n(aI);let aK=["Audit the selected workspace and generate a concrete first task batch.","Plan a multi-agent delivery mission for the current product goal.","Review active runtimes, identify blockers, and propose the next handoff."];function aL(a){return{visible:a,full:a}}function aM(a){return a||z().join(aJ().homedir(),"Documents","Shared","projects")}async function aN(a,b,c){let d=a.map(a=>a.id).filter(Boolean),e=Object.fromEntries(a.filter(a=>a.id).map(a=>[a.id,a.agentDir]));return U(await c.read(d,e),(0,L.fj)(b))}async function aO(a){var b,c,d,f,g,h;let i,j,k,l,m,n,o,p,q,r,s,t,v,w,x,y=(0,A.QL)(a.models,a.modelStatus),z=(b=a.status,b?.securityAudit?.findings?.filter(a=>"warn"===a.severity).map(a=>a.title||a.detail||"Security warning")??[]),B=(m=function(a){let b=[];function c(a){!R(a)||b.includes(a)||b.push(a)}return c(a),c(a?.result),c(a?.data),c(a?.update),c(a?.availability),c(Q(a?.update)?.registry),c(a?.registry),c(a?.stats),c(a?.sentinel),c(Q(a?.sentinel)?.stats),c(Q(a?.result)?.update),c(Q(Q(a?.result)?.update)?.registry),c(Q(a?.result)?.registry),c(Q(a?.result)?.stats),b}((c={status:a.status,updateStatus:a.updateStatus,updateStatusError:function(a){if(!("rejected"!==a.status||J(a)))return a.reason instanceof Error?a.reason.message:String(a.reason)}(a.payloadResults.updateStatus),fallbackVersion:await (0,e.YP)()??void 0}).updateStatus),n=(0,A.Nk)(c.status?.runtimeVersion||c.status?.overview?.version||c.status?.version)??P(m,["runningVersion","currentVersion","runtimeVersion","version","afterVersion"])??c.fallbackVersion??void 0,o=(0,A.Nk)(c.status?.update?.registry?.latestVersion??void 0)??P(m,["latestVersion","targetVersion","availableVersion","recommendedVersion"]),p=(0,A.nn)(c.status?.update?.registry?.error??void 0)??function(a){let b=P(a,["error","errorMessage"]);if(b)return(0,A.nn)(b);for(let b of a)if(!1===b.ok){let a=P([b],["message","reason","status"]);if(a)return(0,A.nn)(a)}}(m)??(0,A.nn)(c.updateStatusError),q=n&&o?(0,A.QK)(o,n)>0:function(a,b){for(let c of a)for(let a of b)if("boolean"==typeof c[a])return c[a]}(m,["updateAvailable","available","hasRegistryUpdate"]),r=(0,A.mB)({currentVersion:n,latestVersion:o,updateError:p,legacyInfo:c.status?.overview?.update??P(m,["updateInfo","summary","detail"])}),{currentVersion:n,latestVersion:o,updateAvailable:q,updateError:p,updateInfo:r}),C=(0,aF.Df)(await (0,aF.bq)(),(0,e.T5)()),D="interactive"===a.profile?(0,u.Bc)()??void 0:await (0,u.N3)().catch(()=>void 0);"interactive"!==a.profile||D||(0,u.Cs)();let E=(0,aG.Xz)()?.getDiagnostics?.(),F="interactive"===a.profile?(ai&&Date.now()-ai.capturedAt<6e4?ai.value:null)??void 0:await aj({status:a.status??null,gatewayStatus:a.gatewayStatus??null,transport:E,includeLiveShapeChecks:!1}).catch(()=>void 0);"interactive"!==a.profile||F||aj().catch(()=>{});let G=(0,O.wi)((0,V.Lo)(),E).map(a=>`gateway.${a.operation}: Gateway-first request fell back to CLI (${a.kind}): ${a.issue} Recovery: ${a.recovery}`);return f={gatewayStatus:a.gatewayStatus,status:a.status,configuredWorkspaceRoot:a.configuredWorkspaceRoot,workspaceRoot:aM(a.configuredWorkspaceRoot),configuredGatewayUrl:a.configuredGatewayUrl,hasOpenClawSignal:a.hasOpenClawSignal,securityWarnings:z,runtimeDiagnostics:a.runtimeDiagnostics,openClawBinarySelection:C,modelReadiness:y,capabilityMatrix:D,compatibilityReport:F,configUpdatePacing:(0,aH.Y6)(a.settings),compatibilitySmokeTest:(0,L.ul)(a.settings),commandHistory:(0,e.ik)(),transport:E,versionDiagnostics:B,issues:(d={payloadResults:a.payloadResults,gatewayStatusRejectedWithCachedValue:a.gatewayStatusRejectedWithCachedValue,payloadReuse:a.payloadReuse,runtimeIssues:[...a.runtimeDiagnostics.issues,...G]},[...(0,A.Lp)(Object.fromEntries(Object.entries(d.payloadResults).filter(([,a])=>!J(a)))),...d.gatewayStatusRejectedWithCachedValue?["gatewayStatus: Reusing the last successful gateway status after a transient OpenClaw check failure."]:[],...Object.entries(d.payloadReuse).map(([a,b])=>{var c;return c=a,b.reusedCachedValue?`${c}: Reusing the last successful payload while a slow OpenClaw command refreshes in the background.`:null}).filter(a=>!!a),...d.runtimeIssues])},s=(f.transport?.recentFallbackDiagnostics??[]).map(a=>({...a,operationLabel:(0,N.Hi)(a.operation)})),t=(0,O.wi)(s,f.transport),v=[...f.securityWarnings,...(g=f.gatewayStatus,h=f.configuredGatewayUrl,i=[],j=S(g?.gateway?.probeUrl),k=S(h??void 0),l=(0,A.Nk)(g?.gateway?.bindMode??void 0)?.toLowerCase(),j&&!T(j)&&i.push("OpenClaw Gateway is reachable on a non-loopback host. AgentOS mutation APIs stay restricted to same-origin localhost requests."),k&&!T(k)&&i.push("AgentOS is configured to use a non-loopback Gateway URL. Keep AgentOS itself bound to localhost unless an explicit operator tunnel is in place."),l&&!/(local|loopback|localhost)/i.test(l)&&i.push("OpenClaw Gateway bind mode is not local-only. Review Gateway exposure before using operator write actions."),Array.from(new Set(i)))],x=(w=function(a){var b;let c,d=[a?.rpc?.error,a?.rpc?.capability,a?.rpc?.auth?.capability].filter(a=>"string"==typeof a&&!!a.trim()).join("\n");if(!/scope upgrade pending approval|pairing_pending|device token scope mismatch|connected_no_operator_scope|missing operator/i.test(d))return null;let e=(b=d,c=/\brequestId:\s*([a-f0-9-]{12,})\b/i.exec(b),c?.[1]??null);return e?`OpenClaw Gateway device access is waiting for operator-scope approval (${e}). Run Repair access in Gateway settings or approve that request with OpenClaw devices, then retry.`:"OpenClaw Gateway device access is waiting for operator-scope approval. Run Repair access in Gateway settings or approve the pending OpenClaw device request, then retry."}(f.gatewayStatus))?[w,...f.issues.filter(a=>{var b;return b=a,!/Timed out waiting for OpenClaw Gateway method|Gateway-native operation failed; CLI fallback disabled|Native Gateway: Unreachable/i.test(b)})]:f.issues,{installed:!0,loaded:!!f.gatewayStatus?.service?.loaded,rpcOk:!!f.gatewayStatus?.rpc?.ok,health:(0,A.YO)({rpcOk:f.gatewayStatus?.rpc?.ok,warningCount:v.length,runtimeIssueCount:f.runtimeDiagnostics.issues.length,hasOpenClawSignal:f.hasOpenClawSignal}),version:f.versionDiagnostics.currentVersion,latestVersion:f.versionDiagnostics.latestVersion,updateAvailable:f.versionDiagnostics.updateAvailable,updateError:f.versionDiagnostics.updateError,updateRoot:(0,A.Nk)(f.status?.update?.root??void 0),updateInstallKind:(0,A.Nk)(f.status?.update?.installKind??void 0),updatePackageManager:(0,A.Nk)(f.status?.update?.packageManager??void 0),workspaceRoot:f.workspaceRoot,configuredWorkspaceRoot:f.configuredWorkspaceRoot,dashboardUrl:`http://127.0.0.1:${f.gatewayStatus?.gateway?.port??18789}/`,gatewayUrl:f.gatewayStatus?.gateway?.probeUrl||"ws://127.0.0.1:18789",configuredGatewayUrl:f.configuredGatewayUrl??null,bindMode:f.gatewayStatus?.gateway?.bindMode,port:f.gatewayStatus?.gateway?.port,updateChannel:f.status?.updateChannel||"stable",updateInfo:f.versionDiagnostics.updateInfo,serviceLabel:f.gatewayStatus?.service?.label,openClawBinarySelection:f.openClawBinarySelection,modelReadiness:f.modelReadiness,capabilityMatrix:f.capabilityMatrix,compatibilityReport:f.compatibilityReport??null,configUpdatePacing:f.configUpdatePacing??{settings:{mode:"respect-gateway",minimumIntervalMs:null},pending:!1,pendingCount:0,pendingPaths:[],cooldownUntil:null,retryAfterMs:null,lastIssue:null,lastUpdatedAt:null},compatibilitySmokeTest:f.compatibilitySmokeTest??null,gatewayFallbackDiagnostics:s,gatewayFallbackReasons:t.map(a=>`${a.operationLabel} (${a.operation}): ${a.kind}: ${a.issue} Recovery: ${a.recovery}`),runtime:f.runtimeDiagnostics,commandHistory:f.commandHistory,transport:f.transport,securityWarnings:v,issues:x}}function aP(a){return(0,x.Kl)(a.models,a.agents,a.modelStatus)}var aQ=c(51455);async function aR(a,b){try{var c,d,e;let f=(c=a,d=b,e=[...c.flatMap(a=>{let b=[],c=aW(a.workspace);return c&&b.push(z().join(c,".openclaw","agents")),b}),z().join(d,"agents")],Array.from(new Set(e.filter(Boolean)))),g=await aS(f);return{status:"fulfilled",value:{sessions:g}}}catch(a){return{status:"rejected",reason:a}}}async function aS(a){let b=new Map;for(let c of a){let a;try{a=await (0,aQ.readdir)(c,{withFileTypes:!0})}catch{continue}for(let d of a){let a,e;if(!d.isDirectory())continue;let f=z().join(c,d.name,"sessions","sessions.json");try{a=await (0,aQ.readFile)(f,"utf8")}catch{continue}try{e=JSON.parse(a)}catch{continue}if(Array.isArray(e)){for(let a of e){if(!aV(a))continue;let c=aT(a,d.name);b.has(c.key)||b.set(c.key,c)}continue}if(aV(e))for(let[a,c]of Object.entries(e)){if(!aV(c))continue;let e=aT(c,d.name,a);b.has(e.key)||b.set(e.key,e)}}}return Array.from(b.values()).sort((a,b)=>(b.updatedAt??0)-(a.updatedAt??0))}function aT(a,b,c){var d;let e=aW("string"==typeof a.sessionId?a.sessionId:void 0),f=aU(a,"updatedAt"),g=aU(a,"inputTokens"),h=aU(a,"outputTokens"),i=aU(a,"totalTokens"),j=aU(a,"cacheRead"),k=aU(a,"ageMs")??("number"==typeof(d=f)?Math.max(Date.now()-d,0):void 0),l=aW("string"==typeof a.model?a.model:void 0),m=aW("string"==typeof a.modelProvider?a.modelProvider:void 0),n=aW("string"==typeof a.key?a.key:c)??e??`${b}:${f??"session"}`;return{agentId:b,key:n,sessionId:e||void 0,updatedAt:f,ageMs:k,inputTokens:g,outputTokens:h,totalTokens:i??("number"==typeof g||"number"==typeof h?(g??0)+(h??0):void 0),model:l||void 0,modelProvider:m||void 0,cacheRead:j,kind:function(a,b){let c=aW("string"==typeof a.kind?a.kind:"string"==typeof a.chatType?a.chatType:void 0);if(c)return c;let d=aV(a.deliveryContext)?a.deliveryContext:null,e=aV(a.origin)?a.origin:null;if("heartbeat"===aW("string"==typeof d?.to?d.to:void 0)||"heartbeat"===aW("string"==typeof e?.provider?e.provider:void 0))return"direct";let f=aW(b);return f&&/:(direct|dm|private):/i.test(f)?"direct":f&&/:(group|channel|thread):/i.test(f)?"group":"task"}(a,n)}}function aU(a,b){let c=a[b];return"number"==typeof c&&Number.isFinite(c)?c:void 0}function aV(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function aW(a){if("string"!=typeof a)return null;let b=a.trim();return b.length>0?b:null}async function aX(){try{let a=await (0,aQ.readFile)(z().join(n.wh,"openclaw.json"),"utf8"),b=JSON.parse(a);return{status:"fulfilled",value:function(a,b){let c=a;for(let a of b.split(".")){var d;if(!((d=c)&&"object"==typeof d&&!Array.isArray(d))||!Object.hasOwn(c,a))return;c=c[a]}return c}(b,"gateway.remote.url")??void 0}}catch(a){if("ENOENT"===("object"==typeof a&&a&&"code"in a?a.code:void 0))return{status:"fulfilled",value:void 0};return{status:"rejected",reason:a}}}async function aY(a){try{var b;let c,d=await (0,g.rw)().listAgents({timeoutMs:15e3});return{status:"fulfilled",value:(b=n.wh,c=new Map(a.map(a=>[a.id,a])),B(d.agents.map(a=>{let e=c.get(a.id),f=a.identity??e?.identity,g=(0,A.Nk)(a.workspace)??(0,A.Nk)(e?.workspace)??"",h=a.model?.primary??e?.model;return{id:a.id,name:a.name||f?.name||e?.name||a.id,identityName:f?.name,identityEmoji:f?.emoji,identitySource:a.identity?"gateway":e?.identity?"config":void 0,workspace:g,agentDir:e?.agentDir||z().join(b,"agents",a.id,"agent"),model:h,isDefault:a.id===d.defaultId||!!e?.default}}),b))}}catch(a){return{status:"rejected",reason:a}}}async function aZ(a){try{let a=await (0,g.rw)().listSessions({limit:500,includeGlobal:!1,includeUnknown:!1},{timeoutMs:15e3});if(!a||!Array.isArray(a.sessions))throw Error("OpenClaw Gateway sessions.list returned an invalid payload.");return{status:"fulfilled",value:{sessions:a.sessions}}}catch{return aR(a,n.wh)}}var a$=c(20078),a_=c(37110),a0=c(80410);function a1(a,b){return(b.updatedAt??0)-(a.updatedAt??0)}var a2=c(70016),a3=c(25793);async function a4(){return(0,a_.Ff)()}async function a5(a,b){let c=await (0,a$.cf)();return(0,a0.kw)((0,a$.ZO)(a,c),b)}async function a6(a){var b;let c,d=(await Promise.all(a.sessions.map(b=>(0,a3.V9)(b,a.agentConfig,a.agentsList,(b,c,d)=>(0,a2.$Z)(b,c,d,{resolveWorkspaceId:a.resolveWorkspaceId}))))).flat(),e=(0,w.Em)(a.runtimeSnapshot,{agentConfig:a.agentConfig,agentsList:a.agentsList,resolveWorkspaceId:a.resolveWorkspaceId}),f=a.systemProfile?[]:await (0,v.Qc)(),g=await (0,a$.cf)(),h=(0,a$.J0)([...f,...e,...d],g),i=(0,a0.CD)(h,a.dispatchRecords),j=await (0,a0.Ip)(i,a.dispatchRecords,{buildObservedRuntime:a_.DO,persistObservation:a_.vH,reconcileRuntimeState:a_.Yp});return c=function(a,b,c={}){let d=new Map,e=new Set(a.map(a=>a.id));for(let b of a)d.set(b.id,b);for(let[a,c]of b.entries()){if(e.has(a))continue;let b={...c,status:"stalled"===c.status?"stalled":"cancelled"===c.status?"cancelled":"completed",metadata:{...c.metadata,historical:!0}};d.set(a,b)}let f=function(a){let b=new Map;for(let c of a){let a=c.agentId||c.workspaceId||"global",d=b.get(a)??[];d.push(c),b.set(a,d)}return Array.from(b.values()).flatMap(a=>{let b=a.sort(a1),c=new Map(b.slice(0,8).map(a=>[a.id,a]));for(let a of b){var d;"string"==typeof(d=a).metadata.dispatchId&&d.metadata.dispatchId.trim().length>0&&!0!==d.metadata.historical&&c.set(a.id,a)}return Array.from(c.values()).sort(a1)})}(Array.from(d.values())),g=new Map(f.filter(a=>!c.excludeFromCache?.(a)).map(a=>[a.id,a]));return{runtimes:f.sort(a1),cache:g}}([...i,...j],(b=a.historyStore).cache,{excludeFromCache:a0.U8}),b.cache=c.cache,c.runtimes}var a7=c(93628),a8=c(71065),a9=c(57419),ba=c(9443),bb=c(58889),bc=c(54252),bd=c(96109),be=c(15612);async function bf(a){let b=new Map,c=new Map,d=new Map,e=[],f=[],g=new Map((a.status?.heartbeat?.agents??[]).map(a=>[a.agentId,a])),h=new Map(a.agentConfig.map(a=>[a.id,a])),i=new Map;for(let b of a.sessions){if(!b.agentId)continue;let a=i.get(b.agentId)??[];a.push(b),i.set(b.agentId,a)}for(let j of(await Promise.all(a.bindings.workspacePaths.map(async b=>{let e=a.bindings.activeAgentIdsByWorkspacePath.get(b)??[],f=await (0,bb.QO)(b,e);await (0,bc.u)(b),c.set(b,f),d.set(b,await (0,ba.xL)(b,f.template,f.rules??be.eY))})),await Promise.all(a.bindings.workspaceBoundAgents.map(async b=>{var e;let f,j,k,l,m,n,o,p,q,r,s,t,u,v=h.get(b.id),w=v?.identity?{name:v.identity.name??v.name??null,emoji:v.identity.emoji??null,theme:v.identity.theme??null,avatar:v.identity.avatar??null}:v?.name?{name:v.name,emoji:null,theme:null,avatar:null}:null,x=a.bindings.resolveWorkspaceId(b.workspace),y=i.get(b.id)??[],z=c.get(b.workspace)??await (0,bb.OL)(b.workspace);c.set(b.workspace,z);let B=z.agents.find(a=>a.id===b.id)??null,C=await (0,a9.L)(b.workspace,{agentId:b.id,agentName:v?.name||b.name||v?.identity?.name||b.identityName||b.id,configuredSkills:(0,a8.AB)(v?.skills??[]),configuredTools:Array.from(new Set([...B?.toolIds??[],...v?.tools?.fs?.workspaceOnly||B?.policy?.fileAccess==="workspace-only"?["fs.workspaceOnly"]:[]].filter(Boolean))),template:z.template,rules:z.rules??be.eY,workspaceBootstrapProfile:d.get(b.workspace)??await (0,ba.xL)(b.workspace,z.template,z.rules??be.eY)}),D=a.runtimes.filter(a=>a.agentId===b.id).sort(a1),E=g.get(b.id);return e={rawAgent:b,configured:v,identityOverrides:w,workspaceId:x,sessionList:y,manifestAgent:B,agentRuntimes:D,gatewayRpcOk:!!(a.gatewayStatus?.rpc?.ok||a.hasOpenClawSignal),heartbeat:E,profile:C},f=(0,a8.AB)(e.configured?.skills??[]),j=(0,A.Nk)(e.identityOverrides?.name)||e.configured?.name||e.manifestAgent?.name||e.rawAgent.name||e.configured?.identity?.name||e.rawAgent.identityName||e.rawAgent.id,k=e.manifestAgent?.policy??(0,a7.g0)((0,a7.qF)({skills:f,id:e.rawAgent.id,name:j}),{fileAccess:e.configured?.tools?.fs?.workspaceOnly?"workspace-only":"extended"}),l=(0,A.Am)([...e.manifestAgent?.toolIds??[],..."workspace-only"===k.fileAccess?["fs.workspaceOnly"]:[]]),m=e.configured?.model||e.manifestAgent?.modelId||e.rawAgent.model||"unassigned",n=e.agentRuntimes.sort(a1),o=(0,A.Am)(n.flatMap(a=>a.toolNames??[])),p=n.map(a=>a.id),q=n[0],r=e.sessionList.map(a=>a.updatedAt??0).sort((a,b)=>b-a).at(0)||null,s=(0,A.yv)({rpcOk:e.gatewayRpcOk,activeRuntime:q,heartbeatEnabled:!!e.heartbeat?.enabled,lastActiveAt:r}),t={id:e.rawAgent.id,name:j,identityName:(0,A.Nk)(e.identityOverrides?.name)||e.configured?.identity?.name||e.rawAgent.identityName||void 0,workspaceId:e.workspaceId,workspacePath:e.rawAgent.workspace,agentDir:e.rawAgent.agentDir,modelId:m,isDefault:!!(e.rawAgent.isDefault||e.configured?.default),status:s,sessionCount:e.sessionList.length,lastActiveAt:r,currentAction:(0,A.iP)({runtime:q,heartbeatEvery:e.heartbeat?.every??null,status:s}),activeRuntimeIds:p,heartbeat:{enabled:!!e.heartbeat?.enabled,every:e.heartbeat?.every??null,everyMs:e.heartbeat?.everyMs??null},identity:{emoji:(0,A.Nk)(e.identityOverrides?.emoji)||e.manifestAgent?.emoji||e.configured?.identity?.emoji||e.rawAgent.identityEmoji,theme:(0,A.Nk)(e.identityOverrides?.theme)||e.manifestAgent?.theme||e.configured?.identity?.theme,avatar:(0,A.Nk)(e.identityOverrides?.avatar)||e.configured?.identity?.avatar,source:e.rawAgent.identitySource},profile:e.profile,skills:f,tools:l,observedTools:o,policy:k},u=[{id:`edge:${e.workspaceId}:${t.id}:contains`,sourceId:e.workspaceId,targetId:t.id,kind:"contains",label:"workspace member"},{id:`edge:${t.id}:${m}:model`,sourceId:t.id,targetId:m,kind:"uses-model",label:"model assignment"},...p.map(a=>({id:`edge:${t.id}:${a}:run`,sourceId:t.id,targetId:a,kind:"active-run",label:"runtime"}))],{agent:t,workspacePath:e.rawAgent.workspace,workspaceId:e.workspaceId,primaryModel:m,sessionCount:e.sessionList.length,activeRuntimeIds:p,relationships:u}})))){let c=function(a,b,c){var d;let e=c(b),f=a.get(e);if(f)return f;let g={id:c(b),name:(d=b,(z().basename(d)||d).split(/[-_]/g).filter(Boolean).map(a=>a[0].toUpperCase()+a.slice(1)).join(" ")),slug:z().basename(b).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),path:b,kind:"workspace",agentIds:[],modelIds:[],activeRuntimeIds:[],totalSessions:0,health:"standby",bootstrap:{template:null,sourceMode:null,agentTemplate:null,coreFiles:[],optionalFiles:[],folders:[],projectShell:[],localSkillIds:[]},capabilities:{skills:[],tools:[],workspaceOnlyAgentCount:0},channels:[]};return a.set(e,g),g}(b,j.workspacePath,a.bindings.resolveWorkspaceId);c.agentIds.push(j.agent.id),c.modelIds.push(j.primaryModel),c.activeRuntimeIds.push(...j.activeRuntimeIds),c.totalSessions+=j.sessionCount,e.push(j.agent),f.push(...j.relationships)}let j=new Map;for(let a of e){let b=j.get(a.workspaceId)??[];b.push(a),j.set(a.workspaceId,b)}return{workspaces:await Promise.all(Array.from(b.values()).map(async a=>{var b;let d=j.get(a.id)??[],f=c.get(a.path)??null,g=await (0,ba.aL)(a.path,d,f??void 0);return{...(b={workspace:a,manifest:f,metadata:g,allAgents:e}).workspace,name:b.manifest?.name??b.workspace.name,modelIds:(0,A.Am)(b.workspace.modelIds),activeRuntimeIds:(0,A.Am)(b.workspace.activeRuntimeIds),health:(0,A.OZ)(b.workspace.agentIds,b.allAgents),bootstrap:b.metadata.bootstrap,capabilities:b.metadata.capabilities,channels:b.workspace.channels??[],agentIds:b.workspace.agentIds,totalSessions:b.workspace.totalSessions}})),agents:e,relationships:f,manifestByWorkspace:c}}async function bg({generation:a,settings:b,localGatewayStatus:c,openclawInstalled:f,configuredWorkspaceRoot:g,gatewayStatusCache:h}){let i=await j(3e3),k=h.resolve(i).value??c,l=await (0,m.k)(n.wh),p="fulfilled"===l.status?l.value:[],q=U(await (0,o.t)(n.wh,p.map(a=>a.id).filter(Boolean),{agentDirs:Object.fromEntries(p.filter(a=>a.id).map(a=>[a.id,a.agentDir]))}),(0,L.fj)(b)),r=(0,x.P$)(p),s=(0,x.dn)(p,r),t=(0,A.QL)(s.models,r),v=!!k?.rpc?.ok,w=!!(k?.service?.loaded||v),y=f&&v&&q.stateWritable&&q.sessionStoreWritable,z=(0,aG.Xz)()?.getDiagnostics?.(),B=(z?.recentFallbackDiagnostics??[]).map(a=>({...a,operationLabel:(0,N.Hi)(a.operation)})),C=(0,O.wi)(B,z),D=C.map(a=>`gateway.${a.operation}: Gateway-first request fell back to CLI (${a.kind}): ${a.issue} Recovery: ${a.recovery}`),E=[v?null:"OpenClaw Gateway RPC is not ready.",...q.issues,...D].filter(a=>!!a),F=(0,d.jJ)(E[0]??"OpenClaw system readiness snapshot.",{installed:f,loaded:w,rpcOk:v});return{...F,generatedAt:new Date().toISOString(),revision:a,mode:"live",diagnostics:{...F.diagnostics,installed:f,loaded:w,rpcOk:v,health:y?"healthy":f?"degraded":"offline",workspaceRoot:aM(g),configuredWorkspaceRoot:g,gatewayUrl:k?.gateway?.probeUrl??F.diagnostics.gatewayUrl,bindMode:k?.gateway?.bindMode,port:k?.gateway?.port,serviceLabel:k?.service?.label,openClawBinarySelection:(0,aF.Df)(await (0,aF.bq)(),(0,e.T5)()),modelReadiness:t,capabilityMatrix:(0,u.Bc)()??void 0,gatewayFallbackDiagnostics:B,gatewayFallbackReasons:C.map(a=>`${a.operationLabel} (${a.operation}): ${a.kind}: ${a.issue} Recovery: ${a.recovery}`),runtime:q,commandHistory:(0,e.ik)(),transport:z,issues:E},missionPresets:aK}}let bh=null,bi=null,bj=null,bk=null,bl=null,bm=null,bn=null,bo={cache:new Map},bp=new G,bq=new G,br=new l(6e4),bs=new t({ttlMs:3e4,load:(a,b)=>bA({profile:a,generation:b})}),bt=new p({ttlMs:3e5,getGeneration:()=>bs.getGeneration(),loadState:(a,b)=>(0,o.t)(n.wh,a,{agentDirs:b})});function bu(){bo.cache=new Map}function bv(){bu()}function bw(){bh=null,bi=null,bj=null,bk=null,bl=null,bm=null,bn=null}function bx(){bs.clear({incrementGeneration:!0}),bt.clear(),br.clear(),bp.clear(),bq.clear(),bw(),bu()}function by(){bs.clear()}async function bz(a={}){return a.force&&bw(),bs.getSnapshot(a)}async function bA({profile:a="interactive",generation:b=bs.getGeneration()}={}){let c=await (0,f.i)(),g=await (0,e.Vg)()||!!c?.rpc?.ok;if(!g)return aL((0,d.jJ)("OpenClaw CLI is not installed on this machine.",{installed:!1,loaded:!!c?.service?.loaded,rpcOk:!1}));try{var l,o,p,q,r;let d,e,s,t,y,C,D,E,F,G,N,O,P,Q,R="system"===a,S=await (0,L.tl)();R||(0,v.hC)();let T=(0,L.qB)(S.workspaceRoot)??null;if(R)return aL(await bg({generation:b,settings:S,localGatewayStatus:c,openclawInstalled:g,configuredWorkspaceRoot:T,gatewayStatusCache:br}));let U=R?I():await aX(),V=I(),W=bp.shouldRefresh(),X=br.shouldRefresh(),Y=!bk||Date.now()-bk.capturedAt>3e5;if("interactive"===a||R){let a=!c&&W,b=!R&&Y,f=X?j(15e3):Promise.resolve(I()),g=a?h(15e3):Promise.resolve(I()),i=(0,m.k)(n.wh),l=b?k(15e3):Promise.resolve(I());[d,e,t,C]=await Promise.all([f,g,i,l]),s=I(),y=I(),D=I(),W&&!a&&bp.scheduleRefresh(()=>h(15e3))}else[e,d,t,C]=await Promise.all([h(45e3),j(45e3),(0,m.k)(n.wh),k(45e3)]),s=I(),y=I(),D=I();let Z=br.resolve(d);if(!Z.value&&c&&(Z={value:c,reusedCachedValue:!1}),!Z.value){let a=await (0,f.i)(br.getCachedPort());a&&(br.write(a),Z={value:a,reusedCachedValue:!1})}let $=Z.value,_="fulfilled"===U.status?(l=U.value,"string"==typeof l?(0,A.Nk)(l):l&&"object"==typeof l&&"value"in l&&"string"==typeof l.value?(0,A.Nk)(l.value):void 0):void 0,aa=bp.resolve(e),ab=H(t,bi,a=>{bi=a}),ac=ab.value??[];J(s)&&!R&&(s=await aY(ac));let ad=R?I():await aZ(ac),ae=(0,u.Bc)()?.operations?.runtimeSnapshot?.mode,af=!R&&"degraded"!==ae&&"disabled"!==ae&&"cli-fallback"!==ae,ag=R?I():af?await (0,w.Jb)("interactive"===a?8e3:15e3):I(),ah=H(s,bh,a=>{bh=a}),ai=H(y,bj,a=>{bj=a}),aj=H(C,bk,a=>{bk=a}),ak=H(ad,bl,a=>{bl=a}),al=H(ag,bm,a=>{bm=a}),am=H(D,bn,a=>{bn=a}),an=aa.value,ao=(r=an,!!(r?.update?.registry?.latestVersion||r?.update?.registry?.error));R||ao||"refresh"!==a?!R&&!ao&&bq.shouldRefresh()&&bq.scheduleRefresh(()=>i(15e3)):V=await i(2e4);let ap=ao?{value:void 0,reusedCachedValue:!1,failed:!1}:bq.resolve(V),aq=ah.value??(o=n.wh,B(ac.map(a=>({id:a.id,name:a.name||a.identity?.name||a.id,identityName:a.identity?.name,identityEmoji:a.identity?.emoji,identitySource:a.identity?"config":void 0,workspace:(0,A.Nk)(a.workspace)??"",agentDir:a.agentDir||z().join(o,"agents",a.id,"agent"),model:a.model,isDefault:!!a.default})),o)),ar=(0,x.v0)(aj.value,ac,aq),as=(p={agentConfig:ac,modelStatus:ar},(0,x.dn)(p.agentConfig,p.modelStatus)),at=ai.value?.models??as.models,au=am.value??[],av="fulfilled"===d.status||"fulfilled"===e.status||"fulfilled"===s.status||"fulfilled"===t.status||"fulfilled"===y.status||"fulfilled"===C.status||"fulfilled"===ad.status||"fulfilled"===ag.status||"fulfilled"===V.status||"fulfilled"===D.status,aw=aN(aq.map(a=>({id:a.id,agentDir:a.agentDir})),S,bt);aw.catch(()=>{});let ax=await a4(),ay=await a5(ak.value?.sessions??[],ax),{channelRegistry:az,channelAccounts:aA,surfaceRuntime:aB,surfaceDrift:aC}=await (0,M.v)(a),aD=function(a){let b=a.filter(a=>!!a.workspace),c=Array.from(new Set(b.map(a=>a.workspace))),d=new Map;for(let a of b){let b=d.get(a.workspace)??[];b.push(a.id),d.set(a.workspace,b)}return{workspaceBoundAgents:b,workspacePaths:c,activeAgentIdsByWorkspacePath:d,resolveWorkspaceId:(0,bd.Fm)(c)}}(aq),aE=await a6({sessions:ay,agentConfig:ac,agentsList:aq,runtimeSnapshot:al.value,systemProfile:R,dispatchRecords:ax,resolveWorkspaceId:aD.resolveWorkspaceId,historyStore:bo}),{workspaces:aF,agents:aG,relationships:aH,manifestByWorkspace:aI}=await bf({bindings:aD,agentConfig:ac,sessions:ay,status:an,gatewayStatus:$,hasOpenClawSignal:av,runtimes:aE}),{visibleWorkspaces:aJ,visibleAgents:aM,visibleRuntimes:aQ,visibleRelationships:aR}=(q={workspaces:aF,agents:aG,runtimes:aE,relationships:aH,isWorkspaceHidden:a=>!!aI.get(a.path)?.hidden},E=new Set(q.workspaces.filter(a=>q.isWorkspaceHidden(a)).map(a=>a.id)),F=q.agents.filter(a=>!E.has(a.workspaceId)),G=new Set(q.agents.filter(a=>E.has(a.workspaceId)).map(a=>a.id)),N=q.runtimes.filter(a=>!(a.agentId&&G.has(a.agentId))&&!(a.workspaceId&&E.has(a.workspaceId))),O=new Set(q.runtimes.filter(a=>a.agentId&&G.has(a.agentId)||a.workspaceId&&E.has(a.workspaceId)).map(a=>a.id)),P=new Set([...E,...G,...O]),Q=q.relationships.filter(a=>!P.has(a.sourceId)&&!P.has(a.targetId)),{visibleWorkspaces:q.workspaces.filter(a=>!E.has(a.id)),visibleAgents:F,visibleRuntimes:N,visibleRelationships:Q}),aS=await aw,aT=await aO({profile:a,settings:S,configuredWorkspaceRoot:T??null,configuredGatewayUrl:_,gatewayStatus:$,status:an,updateStatus:ap.value,hasOpenClawSignal:av,runtimeDiagnostics:aS,models:at,agents:aG,modelStatus:ar,payloadResults:{gatewayStatus:d,status:e,updateStatus:V,agents:s,agentConfig:t,models:y,modelStatus:C,sessions:ad,presence:D},gatewayStatusRejectedWithCachedValue:"rejected"===d.status&&Z.reusedCachedValue,payloadReuse:{status:aa,updateStatus:ap,agents:ah,agentConfig:ab,models:ai,modelStatus:aj,sessions:ak,presence:am}}),aU=(0,K.IJ)(aE,aG),aV=(0,K.IJ)(aQ,aM),aW={generatedAt:new Date().toISOString(),revision:b,mode:"live",diagnostics:aT,channelAccounts:aA,channelRegistry:az,surfaceRuntime:aB,surfaceDrift:aC,presence:au.map(a=>({host:a.host,ip:a.ip,version:a.version,platform:a.platform,deviceFamily:a.deviceFamily,mode:a.mode,reason:a.reason,text:a.text,ts:a.ts})),missionPresets:aK};return{full:{...aW,workspaces:aF,agents:aG,models:aP({models:at,agents:aG,modelStatus:ar}),runtimes:aE,tasks:aU,relationships:aH},visible:{...aW,workspaces:aJ,agents:aM,models:aP({models:at,agents:aM,modelStatus:ar}),runtimes:aQ,tasks:aV,relationships:aR}}}catch(a){return aL((0,d.jJ)(a instanceof Error?a.message:"Unknown OpenClaw error.",{installed:g,loaded:!!c?.service?.loaded,rpcOk:!!c?.rpc?.ok}))}}},9443:(a,b,c)=>{c.d(b,{aL:()=>l,xL:()=>k});var d=c(51455),e=c(76760),f=c.n(e),g=c(15612),h=c(14853),i=c(16588),j=c(58889);async function k(a,b,c){let d=(0,h.Q4)(b,c??g.eY),e=[...new Set(["AGENTS.md","SOUL.md","IDENTITY.md","USER.md","TOOLS.md","HEARTBEAT.md",...d.resources.map(a=>a.relativePath)])],f=await Promise.all(e.map(b=>m(a,a,b))),i=new Map,j=[];for(let a of f)a&&(i.set(a.fileName,a.lines),j.push(a.source));return{profileFiles:e,contextManifest:d,workspaceSections:i,workspaceSources:j}}async function l(a,b,c){let d=c??await (0,j.OL)(a),e=(0,h.Q4)(d.template??null,d.rules??g.eY),f=new Set(["AGENTS.md","SOUL.md","IDENTITY.md","USER.md","TOOLS.md","HEARTBEAT.md","MEMORY.md"]),[k,l,m,o,p,q]=await Promise.all([(0,i.Z3)(a,[{id:"agents",label:"AGENTS.md",relativePath:"AGENTS.md",kind:"file"},{id:"soul",label:"SOUL.md",relativePath:"SOUL.md",kind:"file"},{id:"identity",label:"IDENTITY.md",relativePath:"IDENTITY.md",kind:"file"},{id:"user",label:"USER.md",relativePath:"USER.md",kind:"file"},{id:"tools",label:"TOOLS.md",relativePath:"TOOLS.md",kind:"file"},{id:"heartbeat",label:"HEARTBEAT.md",relativePath:"HEARTBEAT.md",kind:"file"}]),(0,i.Z3)(a,[{id:"memory-md",label:"MEMORY.md",relativePath:"MEMORY.md",kind:"file"}]),(0,i.Z3)(a,e.resources.filter(a=>!f.has(a.relativePath))),(0,i.Z3)(a,[{id:"docs",label:"docs/",relativePath:"docs",kind:"directory"},{id:"memory",label:"memory/",relativePath:"memory",kind:"directory"},{id:"deliverables",label:"deliverables/",relativePath:"deliverables",kind:"directory"},{id:"skills",label:"skills/",relativePath:"skills",kind:"directory"},{id:"openclaw",label:".openclaw/",relativePath:".openclaw",kind:"directory"}]),(0,i.Z3)(a,[{id:"project-json",label:".openclaw/project.json",relativePath:".openclaw/project.json",kind:"file"},{id:"events",label:".openclaw/project-shell/events.jsonl",relativePath:".openclaw/project-shell/events.jsonl",kind:"file"},{id:"runs",label:".openclaw/project-shell/runs",relativePath:".openclaw/project-shell/runs",kind:"directory"},{id:"tasks",label:".openclaw/project-shell/tasks",relativePath:".openclaw/project-shell/tasks",kind:"directory"}]),(0,i.nU)(a)]),r=n(b.flatMap(a=>a.tools)),s=n([...q,...b.flatMap(a=>a.skills)]),t=b.filter(a=>a.tools.includes("fs.workspaceOnly")).length;return{bootstrap:{template:d.template,sourceMode:d.sourceMode,agentTemplate:d.agentTemplate,coreFiles:k,optionalFiles:l,contextFiles:m,folders:o,projectShell:p,localSkillIds:q},capabilities:{skills:s,tools:r,workspaceOnlyAgentCount:t}}}async function m(a,b,c){let e=f().join(a,c);try{var g,h;let a,i;await (0,d.access)(e);let j=(await (0,d.readFile)(e,"utf8")).trim();if(!j)return null;return{fileName:c,lines:j.split(/\r?\n/),source:(g=b,h=e,a=f().resolve(g),(i=f().resolve(h)).startsWith(`${a}${f().sep}`)?f().relative(a,i)||f().basename(i):i)}}catch{return null}}function n(a){return[...new Set(a.filter(a=>a.trim().length>0))].sort()}},11523:(a,b,c)=>{c.d(b,{Kl:()=>i,P$:()=>g,dn:()=>f,v0:()=>h});var d=c(11782);function e(a){return Array.from(new Set(a.filter(Boolean)))}function f(a,b){return{models:e([...a.map(a=>a.model??"").filter(Boolean),...(b?.allowed??[]).filter(Boolean),b?.resolvedDefault??"",b?.defaultModel??""]).map(a=>{var b;let c,d,e,f=(d=(c=a.trim().toLowerCase()).split("/",1)[0]||"",e=c.includes("/")?c.slice(d.length+1):c,"ollama"===d?{contextWindow:(b=e).includes("qwen3.5")?262144:(b.includes("qwen")||b.includes("llama3.2")||b.includes("llama3.3")||b.includes("deepseek-r1"),131072),local:!0}:"openai"===d||"openai-codex"===d?{contextWindow:e.startsWith("gpt-5")?272e3:null,local:!1}:"anthropic"===d?{contextWindow:2e5,local:!1}:"google"===d||"gemini"===d?{contextWindow:1e6,local:!1}:"deepseek"===d?{contextWindow:64e3,local:!1}:"mistral"===d?{contextWindow:128e3,local:!1}:"openrouter"===d||"xai"===d?{contextWindow:null,local:!1}:{contextWindow:null,local:null});return{key:a,name:a,input:"text",contextWindow:f.contextWindow,local:f.local,available:!0,tags:[],missing:!1}})}}function g(a,b=[]){let c=l(b.find(a=>a.isDefault))||l(b.find(a=>!!l(a)))||a.find(a=>a.default)?.model||a.find(a=>!!a.model)?.model||null;if(c)return{defaultModel:c,resolvedDefault:c}}function h(a,b,c=[]){let d=g(b,c);if(!a)return d;let e=k(a.defaultModel)??k(d?.defaultModel)??null,f=k(a.resolvedDefault)??k(d?.resolvedDefault)??e;return{...a,defaultModel:e,resolvedDefault:f}}function i(a,b,c){let f=new Map;for(let a of b){let b=(0,d.JN)(a.modelId);f.set(b,(f.get(b)??0)+1)}let g=new Map;for(let b of a){let a=(0,d.AV)(b.key,c,b),h=(0,d.JN)(b.key),i={id:h,name:b.name,provider:a,input:b.input,contextWindow:b.contextWindow,local:b.local,available:function(a,b,c){if(!1===a.available||a.missing||!0===a.local||!c||!["openai-codex","openrouter","ollama","openai","anthropic","xai","google","deepseek","mistral"].includes(b))return a.available;let e=(0,d.Kg)(b,c,[(0,d.JN)(a.key)]);return!!e?.connected&&a.available}(b,a,c),missing:b.missing,tags:b.tags,usageCount:f.get(h)??0},k=(0,d.gt)(b.key,a),l=g.get(k);g.set(k,l?function(a,b){let c=j(b)>j(a)?b:a,d=c===b?a:b;return{...c,contextWindow:c.contextWindow??d.contextWindow,local:c.local??d.local,available:!0===c.available||!0===d.available||(c.available??d.available),missing:c.missing&&d.missing,tags:e([...c.tags,...d.tags]),usageCount:Math.max(c.usageCount,d.usageCount)}}(l,i):i)}return Array.from(g.values())}function j(a){let b=0;return!0===a.available&&(b+=100),a.missing||(b+=50),"openai-codex"===a.provider&&(b+=10),a.usageCount>0&&(b+=5),b}function k(a){return"string"==typeof a&&a.trim()?a.trim():null}function l(a){return k(a?.modelId)??k(a?.model)}},14414:(a,b,c)=>{c.d(b,{Dm:()=>g,gP:()=>h});var d=c(27091);let e=/^\[Retry after[^\]]+\]\s*/i;function f(a){return(0,d.ho)(a).replace(e,"").replace(/\s+/g," ").trim().toLowerCase()}function g(a,b){let c=f(b),d=f(a);return!!c&&!!d&&(d===c||d.startsWith(`${c} `)||d.includes(`original mission: ${c}`)||d.includes(`original mission ${c}`))}function h(a,b,c={}){if(c.agentId&&a.agentId!==c.agentId||"number"==typeof c.submittedAt&&(a.updatedAt??0)<c.submittedAt-1500)return!1;let d=function(a){let b="string"==typeof a.metadata.mission?a.metadata.mission:"string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null;if(!b)return null;let c=f(b);return c.length>0?c:null}(a);return!!d&&g(d,b)}},14853:(a,b,c)=>{c.d(b,{Iy:()=>l,Q4:()=>i,Q5:()=>j,nt:()=>h,uZ:()=>k});var d=c(66058);let e=["AGENTS.md","SOUL.md","IDENTITY.md","USER.md","TOOLS.md","HEARTBEAT.md"],f={software:"Software project",frontend:"Frontend app",backend:"Backend/API",research:"Research",content:"Content/Growth"},g=["Use repository-local scripts or documented commands for repeatable workflows.","Update this file when the project exposes a cleaner build, test, or release path."];function h(a,b){return m(a,b).map(a=>a.path)}function i(a,b){var c;let d,f=new Map((d=[{id:"agents",label:"AGENTS.md",relativePath:"AGENTS.md",kind:"file",headings:["Workspace","Team","Customize","Safety defaults","Daily memory","Output"]},{id:"soul",label:"SOUL.md",relativePath:"SOUL.md",kind:"file",headings:["My Purpose","How I Operate","My Quirks","Active Focus"]},{id:"identity",label:"IDENTITY.md",relativePath:"IDENTITY.md",kind:"file",headings:["Role"]},{id:"user",label:"USER.md",relativePath:"USER.md",kind:"file",headings:["Operator Profile","Preferences"]},{id:"tools",label:"TOOLS.md",relativePath:"TOOLS.md",kind:"file",headings:["Examples","Notes"]},{id:"heartbeat",label:"HEARTBEAT.md",relativePath:"HEARTBEAT.md",kind:"file",headings:[]},{id:"memory-md",label:"MEMORY.md",relativePath:"MEMORY.md",kind:"file",headings:["Current brief","Stable facts"]},{id:"memory-blueprint",label:"memory/blueprint.md",relativePath:"memory/blueprint.md",kind:"file",headings:["Outcome","Constraints","Unknowns"]},{id:"memory-decisions",label:"memory/decisions.md",relativePath:"memory/decisions.md",kind:"file",headings:["Template"]},{id:"docs-brief",label:"docs/brief.md",relativePath:"docs/brief.md",kind:"file",headings:["Objective","Success signals","Open questions"]},{id:"docs-architecture",label:"docs/architecture.md",relativePath:"docs/architecture.md",kind:"file",headings:["Current shape","Dependencies","Risks"]},{id:"deliverables-readme",label:"deliverables/README.md",relativePath:"deliverables/README.md",kind:"file",headings:["Deliverables"]}],"frontend"===(c=a??null)&&d.push({id:"docs-ux-notes",label:"docs/ux-notes.md",relativePath:"docs/ux-notes.md",kind:"file",headings:["UX Notes"]}),"backend"===c&&d.push({id:"docs-service-map",label:"docs/service-map.md",relativePath:"docs/service-map.md",kind:"file",headings:["Service Map"]}),"research"===c&&d.push({id:"docs-research-plan",label:"docs/research-plan.md",relativePath:"docs/research-plan.md",kind:"file",headings:["Research Plan"]}),"content"===c&&d.push({id:"docs-content-brief",label:"docs/content-brief.md",relativePath:"docs/content-brief.md",kind:"file",headings:["Content Brief"]}),d).map(a=>[a.relativePath,a])),g=a=>a.map(a=>f.get(a)).filter(Boolean),h=[{id:"core",title:"Core bootstrap",description:"Required for every workspace and shared by all agents.",enabled:!0,resources:g(e)},{id:"memory",title:"Memory",description:"Durable notes and decisions that survive across sessions.",enabled:b.generateMemory,resources:b.generateMemory?g(["MEMORY.md","memory/blueprint.md","memory/decisions.md"]):[]},{id:"starter",title:"Starter docs",description:"Planning, architecture, and handoff docs used for the first pass.",enabled:b.generateStarterDocs,resources:b.generateStarterDocs?g(["docs/brief.md","docs/architecture.md","deliverables/README.md",..."frontend"===a?["docs/ux-notes.md"]:"backend"===a?["docs/service-map.md"]:"research"===a?["docs/research-plan.md"]:"content"===a?["docs/content-brief.md"]:[]]):[]}];return{template:a??null,rules:b,sections:h,resources:h.flatMap(a=>a.resources)}}function j(a){let b=m(a.template,a.rules),c=new Map(l(a.docOverrides).map(a=>[a.path,a.content]));return b.map(b=>{let d=b.render(a),e=c.has(b.path);return{path:b.path,title:b.title,description:b.description,category:b.category,baseContent:d,content:e?c.get(b.path)??"":d,overridden:e}})}function k(a){let b=j(a).map(a=>({...a,generated:!0})),c=new Set(b.map(a=>a.path));return[...b,...l(a.docOverrides).filter(a=>!c.has(a.path)).map(a=>{var b;return{path:a.path,title:a.path,description:"Existing workspace file.",category:(b=a.path).startsWith("memory/")?"memory":b.startsWith("docs/")?"docs":b.startsWith("deliverables/")?"deliverables":"core",baseContent:a.content,content:a.content,overridden:!1,generated:!1}})]}function l(a){let b=new Map;for(let c of a??[]){let a=c.path.trim();a&&b.set(a,c.content)}return Array.from(b.entries()).map(([a,b])=>({path:a,content:b}))}function m(a,b){let c=[{path:"AGENTS.md",title:"AGENTS.md",description:"Shared operating instructions for all agents.",category:"core",render:n},{path:"SOUL.md",title:"SOUL.md",description:"Purpose, operating style, and active focus.",category:"core",render:({template:a,brief:b,contextSources:c})=>{var d,e,g;return d=a,e=b,g=c,`# SOUL
2
+
3
+ ## My Purpose
4
+ Help this ${f[d].toLowerCase()} workspace turn intent into real outcomes with pragmatic execution, verification, and durable memory.
5
+
6
+ ## How I Operate
7
+ - Start from the current workspace reality before proposing large moves.
8
+ - Prefer concrete action, visible artifacts, and clear handoffs.
9
+ - Keep docs, memory, and deliverables aligned with the actual state of the work.
10
+
11
+ ## My Quirks
12
+ - Pragmatic
13
+ - Direct
14
+ - Product-aware
15
+ - Quality-minded
16
+
17
+ ${e?`## Active Focus
18
+ ${e}
19
+ `:""}${p(g)}`}},{path:"IDENTITY.md",title:"IDENTITY.md",description:"Workspace identity and vibe.",category:"core",render:({template:a})=>{var b;return b=a,`# IDENTITY
20
+
21
+ ## Role
22
+ This workspace hosts a ${f[b].toLowerCase()} team coordinated through OpenClaw.
23
+
24
+ **Vibe:** pragmatic, concise, quality-minded, workspace-grounded
25
+ `}},{path:"USER.md",title:"USER.md",description:"Operator profile and durable user preferences.",category:"core",render:()=>`# USER
26
+
27
+ ## Operator Profile
28
+ - Name:
29
+ - What to call them:
30
+ - Timezone:
31
+
32
+ ## Preferences
33
+ - Capture stable user preferences, review style, delivery expectations, and project-specific working agreements here.
34
+ - Keep sensitive personal details out unless the operator explicitly asks to remember them.
35
+ `},{path:"TOOLS.md",title:"TOOLS.md",description:"Repository commands and workflow notes.",category:"core",render:({template:a,toolExamples:b})=>{var c,d;return c=a,d=b??g,`# TOOLS
36
+
37
+ Repository commands and workflow notes for this ${f[c].toLowerCase()} workspace.
38
+
39
+ ## Examples
40
+ ${d.map(a=>`- ${a}`).join("\n")}
41
+
42
+ ## Notes
43
+ - Replace these examples with sharper project-specific commands when the repo exposes them.
44
+ - Prefer repeatable commands that other agents can run without interpretation drift.
45
+ `}},{path:"HEARTBEAT.md",title:"HEARTBEAT.md",description:"Refresh ritual and coherence checks.",category:"core",render:({template:a})=>{var b;return b=a,`# HEARTBEAT
46
+
47
+ - Start each substantial task by refreshing the brief, docs, and current files.
48
+ - Keep the ${f[b].toLowerCase()} workspace coherent across code, docs, and memory.
49
+ - Prefer explicit handoffs between implementation, review, testing, and knowledge capture.
50
+ `}}];return b.generateMemory&&c.push({path:"MEMORY.md",title:"MEMORY.md",description:"Durable project memory.",category:"memory",render:({name:a,template:b,brief:c,contextSources:d})=>{var e,g,h,i;return e=a,g=b,h=c,i=d,`# ${e} Memory
51
+
52
+ Durable project facts for this ${f[g].toLowerCase()} workspace.
53
+
54
+ ## Current brief
55
+ ${h||"No brief captured yet. Fill this in as soon as the project goal is clarified."}
56
+
57
+ ## Stable facts
58
+ - Add durable architecture, product, or workflow facts here.
59
+ - Move longer notes into memory/*.md when they outgrow this file.
60
+
61
+ ${p(i)}`}},{path:"memory/blueprint.md",title:"memory/blueprint.md",description:"Project blueprint and current outcome.",category:"memory",render:({name:a,template:b,brief:c})=>{var d,e,g;return d=a,e=b,g=c,`# ${d} Blueprint
62
+
63
+ ## Workspace type
64
+ ${f[e]}
65
+
66
+ ## Outcome
67
+ ${g||"Define the target outcome, user impact, and quality bar for this workspace."}
68
+
69
+ ## Constraints
70
+ - Add technical, product, legal, or operational constraints here.
71
+
72
+ ## Unknowns
73
+ - Capture unresolved questions that block confident execution.
74
+ `}},{path:"memory/decisions.md",title:"memory/decisions.md",description:"Decision log.",category:"memory",render:()=>`# Decisions
75
+
76
+ Use this file for durable decisions that should survive across sessions.
77
+
78
+ ## Template
79
+ - Date:
80
+ - Decision:
81
+ - Context:
82
+ - Consequence:
83
+ `}),b.generateStarterDocs&&c.push({path:"docs/brief.md",title:"docs/brief.md",description:"Objective, source mode, and success signals.",category:"docs",render:({name:a,template:b,brief:c,sourceMode:d,contextSources:e})=>{var g,h,i,j,k;return g=a,h=b,i=c,j=d,k=e,`# ${g} Brief
84
+
85
+ ## Template
86
+ ${f[h]}
87
+
88
+ ## Source mode
89
+ ${j}
90
+
91
+ ## Objective
92
+ ${i||"Clarify the main goal, target user, and success definition for this workspace."}
93
+
94
+ ## Success signals
95
+ - Define what success looks like in observable terms.
96
+
97
+ ## Open questions
98
+ - List the unknowns worth resolving first.
99
+
100
+ ${p(k)}`}},{path:"docs/architecture.md",title:"docs/architecture.md",description:"Current system shape and dependencies.",category:"docs",render:({template:a,contextSources:b})=>{var c,d;return c=a,d=b,`# Architecture
101
+
102
+ ## Current shape
103
+ - Describe the main components, systems, or content lanes in this ${f[c].toLowerCase()} workspace.
104
+
105
+ ## Dependencies
106
+ - List critical external services, repos, data sources, or channels.
107
+
108
+ ## Risks
109
+ - Capture structural, operational, or delivery risks here.
110
+
111
+ ${p(d)}`}},{path:"deliverables/README.md",title:"deliverables/README.md",description:"Guidance for handoff artifacts.",category:"deliverables",render:()=>`# Deliverables
112
+
113
+ Use this folder for substantial output artifacts that should be easy to hand off or review.
114
+
115
+ - Create one subfolder per task or run, for example \`deliverables/2026-03-07-15-30-00-launch-brief/\`.
116
+ - Put drafts, reports, docs, and publishable assets for that task inside its run folder.
117
+ - Keep filenames descriptive and tied to the task or audience.
118
+ `}),"frontend"===a&&c.push({path:"docs/ux-notes.md",title:"docs/ux-notes.md",description:"Interaction patterns and UI risks.",category:"docs",render:()=>o("ux")}),"backend"===a&&c.push({path:"docs/service-map.md",title:"docs/service-map.md",description:"Service, queue, and dependency map.",category:"docs",render:()=>o("backend")}),"research"===a&&c.push({path:"docs/research-plan.md",title:"docs/research-plan.md",description:"Question framing and evidence plan.",category:"docs",render:()=>o("research")}),"content"===a&&c.push({path:"docs/content-brief.md",title:"docs/content-brief.md",description:"Audience, channel, and campaign brief.",category:"docs",render:()=>o("content")}),c}function n({name:a,brief:b,template:c,sourceMode:e,rules:g,agents:h=[]}){return(0,d.jR)({name:a,brief:b,templateLabel:f[c],sourceMode:e,workspaceOnly:g.workspaceOnly,workspaceSlug:a.normalize("NFKD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64),agents:h})}function o(a){return"ux"===a?`# UX Notes
119
+
120
+ - Track interaction patterns, responsive edge cases, and visual risk areas here.
121
+ `:"backend"===a?`# Service Map
122
+
123
+ - Document services, jobs, queues, external dependencies, and critical flows here.
124
+ `:"research"===a?`# Research Plan
125
+
126
+ - State the question, method, evidence sources, and expected output before large investigation work.
127
+ `:`# Content Brief
128
+
129
+ - Capture audience, channel, tone, CTA, and distribution assumptions for this content workspace.
130
+ `}function p(a){let b=(a??[]).filter(a=>"error"!==a.status&&a.summary.trim().length>0).slice(0,4);if(0===b.length)return"";let c=b.filter(a=>(a.confidence??100)>=80),d=b.filter(a=>(a.confidence??100)<80),e=a=>{let b="website"===a.kind?"Website":"repo"===a.kind?"Repo":"folder"===a.kind?"Folder":"Prompt",c="number"==typeof a.confidence?` (${a.confidence}%)`:"";return`- ${b}: ${a.label}${c} - ${a.summary}`},f=[];return c.length>0&&f.push(`## Evidence
131
+ ${c.map(e).join("\n")}`),d.length>0&&f.push(`## Assumptions
132
+ ${d.map(e).join("\n")}`),f.length>0?`
133
+ ${f.join("\n\n")}
134
+ `:""}},15612:(a,b,c)=>{c.d(b,{GH:()=>l,P0:()=>j,eY:()=>f,hh:()=>i,sg:()=>k});var d=c(93628),e=c(14853);let f={workspaceOnly:!0,generateStarterDocs:!0,generateMemory:!0,kickoffMission:!0},g={software:{label:"Software project",description:"Default project template for engineering delivery.",icon:"\uD83D\uDEE0"},frontend:{label:"Frontend app",description:"UI and experience work with browser-aware support.",icon:"\uD83C\uDFA8"},backend:{label:"Backend/API",description:"Services, infrastructure, and backend-oriented workflows.",icon:"⚙️"},research:{label:"Research",description:"Investigation-heavy workspace with synthesis and memory capture.",icon:"\uD83E\uDDE0"},content:{label:"Content/Growth",description:"Messaging, content production, campaign review, and analysis.",icon:"\uD83D\uDCE3"}},h={software:[{id:"builder",role:"Builder",name:"Builder",emoji:"\uD83D\uDEE0️",theme:"amber",skillId:"project-builder",isPrimary:!0,description:"Implements requested changes and drives delivery forward."},{id:"reviewer",role:"Reviewer",name:"Reviewer",emoji:"\uD83D\uDD0D",theme:"rose",skillId:"project-reviewer",description:"Reviews work for correctness, regressions, and product risk."},{id:"tester",role:"Tester",name:"Tester",emoji:"\uD83E\uDDEA",theme:"emerald",skillId:"project-tester",description:"Validates behavior, tests, and environment assumptions."},{id:"learner",role:"Learner",name:"Learner",emoji:"\uD83E\uDDE0",theme:"cyan",skillId:"project-learner",description:"Consolidates durable project knowledge and memory."}],frontend:[{id:"builder",role:"Builder",name:"Builder",emoji:"\uD83D\uDEE0️",theme:"amber",skillId:"project-builder",isPrimary:!0,description:"Implements UI and frontend product work."},{id:"reviewer",role:"Reviewer",name:"Reviewer",emoji:"\uD83D\uDD0D",theme:"rose",skillId:"project-reviewer",description:"Reviews interaction, correctness, and regression risk."},{id:"tester",role:"Tester",name:"Tester",emoji:"\uD83E\uDDEA",theme:"emerald",skillId:"project-tester",description:"Checks behavior, responsive states, and verification gaps."},{id:"learner",role:"Learner",name:"Learner",emoji:"\uD83E\uDDE0",theme:"cyan",skillId:"project-learner",description:"Maintains stable product and implementation knowledge."},{id:"browser",role:"Browser Agent",name:"Browser Agent",emoji:"\uD83C\uDF10",theme:"blue",skillId:"project-browser",description:"Exercises browser flows, captures UI evidence, and validates user paths."}],backend:[{id:"builder",role:"Builder",name:"Builder",emoji:"\uD83D\uDEE0️",theme:"amber",skillId:"project-builder",isPrimary:!0,description:"Implements service, API, and infrastructure changes."},{id:"reviewer",role:"Reviewer",name:"Reviewer",emoji:"\uD83D\uDD0D",theme:"rose",skillId:"project-reviewer",description:"Catches correctness, data handling, and operational risks."},{id:"tester",role:"Tester",name:"Tester",emoji:"\uD83E\uDDEA",theme:"emerald",skillId:"project-tester",description:"Validates APIs, background jobs, migrations, and failure paths."},{id:"learner",role:"Learner",name:"Learner",emoji:"\uD83E\uDDE0",theme:"cyan",skillId:"project-learner",description:"Maintains architecture notes and durable operational memory."}],research:[{id:"researcher",role:"Research Lead",name:"Research Lead",emoji:"\uD83D\uDD2C",theme:"violet",skillId:"project-researcher",isPrimary:!0,description:"Runs investigations, frames questions, and synthesizes findings."},{id:"reviewer",role:"Reviewer",name:"Reviewer",emoji:"\uD83D\uDD0D",theme:"rose",skillId:"project-reviewer",description:"Pressure-tests claims, assumptions, and interpretation quality."},{id:"learner",role:"Archivist",name:"Archivist",emoji:"\uD83E\uDDE0",theme:"cyan",skillId:"project-learner",description:"Distills durable research notes, memory, and takeaways."}],content:[{id:"strategist",role:"Strategist",name:"Strategist",emoji:"\uD83D\uDCE3",theme:"orange",skillId:"project-strategist",isPrimary:!0,description:"Frames audience, goals, positioning, and campaign direction."},{id:"writer",role:"Writer",name:"Writer",emoji:"✍️",theme:"sky",skillId:"project-writer",description:"Drafts content, messaging, and campaign assets."},{id:"reviewer",role:"Reviewer",name:"Reviewer",emoji:"\uD83D\uDD0D",theme:"rose",skillId:"project-reviewer",description:"Edits for clarity, quality, and consistency."},{id:"analyst",role:"Analyst",name:"Analyst",emoji:"\uD83D\uDCC8",theme:"emerald",skillId:"project-analyst",description:"Tracks results, experiments, and performance insights."}]};function i(a){return g[a]}function j(a,b,c){let e=h[a];if("solo"===b){let a=e.find(a=>a.isPrimary)??e[0];return[{...a,name:k(c,a.role,"Builder"===a.role?"Default Agent":a.name),policy:(0,d.g0)("browser"===a.id?"browser":"worker"),enabled:!0}]}return e.map(a=>({id:a.id,role:a.role,name:a.isPrimary?k(c,a.role,a.name):a.name,emoji:a.emoji,theme:a.theme,skillId:a.skillId,modelId:a.modelId,isPrimary:!!a.isPrimary,policy:(0,d.g0)("browser"===a.id?"browser":"worker"),enabled:!0}))}function k(a,b,c){let d=function(a){let b=a?.trim();if(!b)return"";let c=(!/\s/.test(b)&&b.includes(".")?b.split(".")[0]:b).replace(/[^A-Za-z0-9\u00C0-\u024F]+/g," ").trim();return c?c.split(/\s+/).filter(Boolean).map(a=>a[0].toUpperCase()+a.slice(1)).join(" "):""}(a);if(!d)return c;let e=b.trim();return e?`${d} ${e}`:d}function l(a,b){return(0,e.nt)(a,b)}},16588:(a,b,c)=>{c.d(b,{Rp:()=>k,Z3:()=>p,cD:()=>l,co:()=>j,nU:()=>q,wZ:()=>m});var d=c(51455),e=c(76760),f=c.n(e),g=c(71065);function h(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}async function i(a,b){try{let c=await (0,d.stat)(a);return"directory"===b?c.isDirectory():c.isFile()}catch{return!1}}function j(a){return{id:a.workspaceId,name:a.name,slug:f().basename(a.workspacePath),path:a.workspacePath,kind:"workspace",agentIds:[],modelIds:[],activeRuntimeIds:[],totalSessions:0,health:"standby",bootstrap:{template:null,sourceMode:null,agentTemplate:null,coreFiles:[],optionalFiles:[],folders:[],projectShell:[],localSkillIds:[]},capabilities:{skills:[],tools:[],workspaceOnlyAgentCount:0},channels:[]}}function k(a,b){return a.workspaceOnly===b.workspaceOnly&&a.generateStarterDocs===b.generateStarterDocs&&a.generateMemory===b.generateMemory&&a.kickoffMission===b.kickoffMission}function l(a,b){if(a.length!==b.length)return!1;let c=a=>({id:a.id.trim(),role:a.role.trim(),name:a.name.trim(),enabled:a.enabled,emoji:h(a.emoji)??null,theme:h(a.theme)??null,skillId:h(a.skillId)??null,modelId:h(a.modelId)??null,isPrimary:!!a.isPrimary,policy:a.policy?{preset:a.policy.preset,missingToolBehavior:a.policy.missingToolBehavior,installScope:a.policy.installScope,fileAccess:a.policy.fileAccess,networkAccess:a.policy.networkAccess}:null,heartbeat:a.heartbeat?{enabled:a.heartbeat.enabled,every:h(a.heartbeat.every)??null}:null,channelIds:Array.from(new Set((a.channelIds??[]).filter(Boolean))).sort((a,b)=>a.localeCompare(b))}),d=(a,b)=>a.id.localeCompare(b.id),e=[...a].sort(d).map(c),f=[...b].sort(d).map(c);return JSON.stringify(e)===JSON.stringify(f)}async function m(a){let b=new Set;for(let c of(await (0,d.readdir)(a,{withFileTypes:!0})))c.isFile()&&o(c.name)&&b.add(c.name);for(let c of["docs","memory"]){let d=f().join(a,c);if(await i(d,"directory"))for(let a of(await n(d,c)))b.add(a)}let c=f().join(a,"deliverables","README.md");return await i(c,"file")&&b.add("deliverables/README.md"),Array.from(b).sort((a,b)=>a.localeCompare(b))}async function n(a,b){let c=[];for(let e of(await (0,d.readdir)(a,{withFileTypes:!0}))){if(e.name.startsWith("."))continue;let d=f().join(b,e.name),g=f().join(a,e.name);if(e.isDirectory()){c.push(...await n(g,d));continue}e.isFile()&&o(e.name)&&c.push(d)}return c}function o(a){return a.toLowerCase().endsWith(".md")}async function p(a,b){return Promise.all(b.map(async b=>({id:b.id,label:b.label,present:await i(f().join(a,b.relativePath),b.kind)})))}async function q(a){let b=f().join(a,"skills");try{let a=await (0,d.readdir)(b,{withFileTypes:!0});return(await Promise.all(a.filter(a=>a.isDirectory()).map(async a=>{let c=f().join(b,a.name,"SKILL.md");return await i(c,"file")?a.name:null}))).filter(a=>"string"==typeof a&&!(0,g.If)(a)).sort((a,b)=>a.localeCompare(b))}catch{return[]}}},20078:(a,b,c)=>{c.d(b,{J0:()=>l,ZO:()=>k,cf:()=>j,fx:()=>i});var d=c(51455),e=c(76760),f=c.n(e);let g=f().join(process.cwd(),".mission-control"),h=f().join(g,"agent-chat-sessions.json");async function i(a){let b=a.agentId.trim(),c=a.sessionId.trim();if(!b||!c)return;let e=new Date().toISOString(),f=await m(),i=o([{agentId:b,sessionId:c,workspacePath:a.workspacePath,createdAt:f.sessions.find(a=>a.agentId===b&&a.sessionId===c)?.createdAt??e,updatedAt:e,origin:"agent-chat"},...f.sessions.filter(a=>a.agentId!==b||a.sessionId!==c)]);await (0,d.mkdir)(g,{recursive:!0}),await (0,d.writeFile)(h,`${JSON.stringify({version:1,sessions:i},null,2)}
135
+ `,"utf8")}async function j(){return new Map((await m()).sessions.map(a=>[p(a.agentId,a.sessionId),a]))}function k(a,b){return 0===a.length||0===b.size?a:a.map(a=>{let c=a.agentId&&a.sessionId?b.get(p(a.agentId,a.sessionId)):null;return c?{...a,kind:"direct",origin:c.origin}:a})}function l(a,b){return 0===a.length||0===b.size?a:a.map(a=>{let c=function(a,b){var c;let d,e,f,g=a.agentId?.trim();if(!g||(d="string"==typeof(c=a).metadata.origin?c.metadata.origin.trim():"",e="string"==typeof c.metadata.dispatchId?c.metadata.dispatchId.trim():"",f="string"==typeof c.metadata.mission?c.metadata.mission.trim():"","mission-dispatch"===d||"agentos-mission-dispatch"===d||e||f||c.taskId?.trim()))return null;for(let c of function(a){let b=[a.sessionId,a.key,"string"==typeof a.metadata.sessionId?a.metadata.sessionId:null,"string"==typeof a.metadata.sessionKey?a.metadata.sessionKey:null,"string"==typeof a.metadata.key?a.metadata.key:null],c=new Set;for(let a of b){let b=a?.trim();if(!b)continue;c.add(b);let d=function(a){let b=":explicit:",c=a.indexOf(b);return -1===c?null:a.slice(c+b.length).split(":")[0]?.trim()||null}(b);d&&c.add(d)}return[...c]}(a)){let a=b.get(p(g,c));if(a)return a}return null}(a,b);return c?{...a,metadata:{...a.metadata,origin:c.origin,kind:"direct",chatType:"direct",agentChatSessionId:c.sessionId}}:a})}async function m(){try{let a=await (0,d.readFile)(h,"utf8"),b=JSON.parse(a),c=Array.isArray(b?.sessions)?b.sessions:[],e=c.length>0?c.map(n).filter(a=>!!a):[];return{version:1,sessions:o(e)}}catch{return{version:1,sessions:[]}}}function n(a){if(!a||"object"!=typeof a)return null;let b="string"==typeof a.agentId?a.agentId.trim():"",c="string"==typeof a.sessionId?a.sessionId.trim():"",d="string"==typeof a.createdAt?a.createdAt:"",e="string"==typeof a.updatedAt?a.updatedAt:d;return!b||!c||Number.isNaN(Date.parse(d))?null:{agentId:b,sessionId:c,workspacePath:"string"==typeof a.workspacePath?a.workspacePath:void 0,createdAt:d,updatedAt:Number.isNaN(Date.parse(e))?d:e,origin:"agent-chat"}}function o(a){let b=Date.now()-12096e5,c=new Set,d=[];for(let e of[...a].sort((a,b)=>Date.parse(b.updatedAt)-Date.parse(a.updatedAt))){let a=Date.parse(e.updatedAt),f=p(e.agentId,e.sessionId);Number.isNaN(a)||a<b||c.has(f)||(c.add(f),d.push(e))}return d.slice(0,200)}function p(a,b){return`${a}:${b}`}},24254:(a,b,c)=>{function d(a){let b=a.followUps;return Array.isArray(b)?b.map(a=>n(a)?function(a){let b=k(a.id),c=k(a.message),d=k(a.createdAt);if(!b||!c||!d)return null;let f=k(a.prompt)??c,g=k(a.summary),h=e({message:c,prompt:f,summary:g})??c;return{id:b,message:h,prompt:f||h,createdAt:d,taskId:k(a.taskId),dispatchId:k(a.dispatchId),runId:k(a.runId),sessionId:k(a.sessionId),status:k(a.status),summary:g,tokenUsage:function(a){if(!n(a))return;let b=l(a.input),c=l(a.output),d=l(a.total);if(null===b||null===c||null===d)return;let e=l(a.cacheRead);return{input:b,output:c,total:d,...null===e?{}:{cacheRead:e}}}(a.tokenUsage),createdFiles:m(a.createdFiles)}}(a):null).filter(a=>!!a):[]}function e(a){var b,c;let d,e=(d="string"==typeof(b=a.prompt)?b.trim():"").length>0?d:null;return i(a.message)??h(a.prompt)??(e&&(c=e,!(/^Continue this task in the existing task context\./i.test(c)||/^Operator follow-up:/i.test(c)||/Original mission:/i.test(c)||/Latest result:/i.test(c)||/Output context:/i.test(c)||/Existing output\/files:/i.test(c)))?e:null)??i(a.summary)??null}function f(a,b,c=[]){let d=a.dispatchId?.trim();if(!d)return[];let g=new Map(c.map(a=>[a.runtimeId,a])),i=new Map;for(let a of b){let b=function(a,b){let c=b.runId?.trim()||j(b,"runId");if(c&&c.startsWith(`${a}:continue:`))return`run:${c}`;let d=j(b,"turnPrompt")??j(b,"prompt")??j(b,"mission")??j(b,"routedMission");return d&&/Operator follow-up:/i.test(d)?`prompt:${function(a){let b=0x811c9dc5,c=0x9e3779b9;for(let d=0;d<a.length;d+=1){let e=a.charCodeAt(d);b=Math.imul(b^e,0x1000193),c=Math.imul(c+e+d,0x85ebca6b)}return`${(b>>>0).toString(16).padStart(8,"0")}${(c>>>0).toString(16).padStart(8,"0")}`.slice(0,12)}(d)}`:null}(d,a);if(!b)continue;let c=i.get(b)??[];c.push(a),i.set(b,c)}return Array.from(i.entries()).map(([b,c])=>{var e,f,i,k,l,n,q,r,s,t;let u,v,w,x,y,z=[...c].sort(o),A=[...c].sort(p)[0]??null,B=z.map(a=>a.runId?.trim()||j(a,"runId")).find(a=>!!a)??(b.startsWith("run:")?b.slice(4):null),C=function(a,b){for(let b of a){let a=j(b,"turnPrompt")??j(b,"prompt")??j(b,"mission")??j(b,"routedMission");if(a&&/Operator follow-up:/i.test(a))return a}for(let c of a){let a=b.get(c.id),d=a?.items.find(a=>"user"===a.role&&a.text.trim().length>0)?.text?.trim();if(d&&/Operator follow-up:/i.test(d))return d}return null}(c,g),D=h(C)??"",E=(e=c,f=g,(u=e.map(a=>f.get(a.id)).filter(a=>!!a)).find(a=>a.finalText?.trim())??u.find(a=>a.errorMessage?.trim())??u[0]??null),F=E?.finalText?.trim()||c.map(a=>a.subtitle.trim()).find(a=>!!(a&&!["chat","agent","sessions.changed","session.message","openclaw runtime event","gateway runtime event"].includes(a.toLowerCase())))||null,G=(i=B??b,k=z[0]?.updatedAt??A?.updatedAt??null,Number.isFinite(v=Number(i.split(":continue:")[1]))&&v>0?new Date(v).toISOString():new Date(k&&k>0?k:Date.now()).toISOString()),H=function(a,b){let c=[...a.map(a=>({id:a.id,tokenUsage:a.tokenUsage})),b?{id:b.runtimeId,tokenUsage:b.tokenUsage}:null].filter(a=>!!a),d=new Set,e=c.filter(a=>{if(!a.tokenUsage)return!1;let b=[a.id,a.tokenUsage.input,a.tokenUsage.output,a.tokenUsage.total,a.tokenUsage.cacheRead??0].join(":");return!d.has(b)&&(d.add(b),!0)});if(0!==e.length)return e.reduce((a,b)=>({input:a.input+(b.tokenUsage?.input??0),output:a.output+(b.tokenUsage?.output??0),total:a.total+(b.tokenUsage?.total??0),cacheRead:(a.cacheRead??0)+(b.tokenUsage?.cacheRead??0)}),{input:0,output:0,total:0,cacheRead:0})}(c,E),I=(l=c,n=E,(w=function(a){let b=new Set,c=[];for(let d of a){let a=`${d.path}:${d.displayPath}`;b.has(a)||(b.add(a),c.push(d))}return c}([...n?.createdFiles??[],...l.flatMap(a=>m(a.metadata.createdFiles)??[])])).length>0?w:n?[]:void 0);return{id:`follow-up:${a.id}:${B??b}`,message:D,prompt:C??D,createdAt:G,taskId:a.id,dispatchId:d,runId:B,sessionId:(q=c,x=new Set(a.sessionIds.flatMap(a=>(function(a){let b=a?.trim();if(!b)return[];let c=b.match(/^agent:([^:]+):explicit:(.+)$/);return c?[b,c[2]??""]:[b]})(a))),q.map(a=>a.sessionId?.trim()).find(a=>!!(a&&x.has(a)))??q.map(a=>a.sessionId?.trim()).find(a=>!!a)??null),status:(r=c,s=E,t=F,s?.finalText||t?"completed":r.some(a=>"cancelled"===a.status)?"cancelled":r.some(a=>"stalled"===a.status)?"stalled":r.some(a=>"completed"===a.status)?"completed":r.some(a=>"queued"===a.status)?"queued":r.some(a=>"running"===a.status)&&(y=Math.max(...r.map(a=>a.updatedAt??0)))>0&&Date.now()-y>9e4?"stalled":"running"),summary:F,tokenUsage:H,createdFiles:I}}).sort((a,b)=>Date.parse(a.createdAt)-Date.parse(b.createdAt)).map((a,b)=>{let c=e(a)||`Follow-up ${b+1}`;return{...a,message:c,prompt:a.prompt||c}})}function g(a,b){let c=new Map;for(let d of[...a,...b]){let a=d.runId||d.id,b=c.get(a);c.set(a,b?function(a,b){let c={...a,...b,summary:b.summary??a.summary,status:b.status??a.status,sessionId:b.sessionId??a.sessionId,tokenUsage:b.tokenUsage??a.tokenUsage,createdFiles:b.createdFiles??a.createdFiles},d=e(c)??i(a.message)??a.prompt;return{...c,message:d,prompt:c.prompt||d}}(b,d):d)}return Array.from(c.values()).sort((a,b)=>Date.parse(a.createdAt)-Date.parse(b.createdAt))}function h(a){if(!a)return null;let b=a.match(/Operator follow-up:\s*([\s\S]*?)(?:\n\s*Original mission:|\n\s*Latest result:|\n\s*Output context:|\n\s*Existing output\/files:|$)/i);return b?.[1]?.trim()||null}function i(a){let b="string"==typeof a?a.trim():"";return!b||/^Follow-up \d+$/i.test(b)?null:b}function j(a,b){let c=a.metadata[b];return"string"==typeof c&&c.trim().length>0?c.trim():null}function k(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function l(a){return"number"==typeof a&&Number.isFinite(a)?a:null}function m(a){if(Array.isArray(a))return a.flatMap(a=>{if(!n(a))return[];let b=k(a.path),c=k(a.displayPath)??b;return b&&c?[{path:b,displayPath:c}]:[]})}function n(a){return!!(a&&"object"==typeof a&&!Array.isArray(a))}function o(a,b){return(a.updatedAt??0)-(b.updatedAt??0)}function p(a,b){return(b.updatedAt??0)-(a.updatedAt??0)}c.d(b,{FW:()=>f,kT:()=>d,tt:()=>g})},25303:(a,b,c)=>{c.d(b,{Bc:()=>i,Cs:()=>j,N3:()=>h});var d=c(39503),e=c(38798),f=c(65493);let g=null;async function h(a={}){if(!a.force&&g&&Date.now()-g.capturedAt<6e4)return g.value;let b=await k();return g={capturedAt:Date.now(),value:b},b}function i(){return g&&Date.now()-g.capturedAt<6e4?g.value:null}function j(){h().catch(()=>{})}async function k(){var a,b;let c=[],g=await (0,d.rw)().getStatus({timeoutMs:5e3}).catch(a=>(c.push(`status: ${v(a)}`),null)),h=t(g?.runtimeVersion)??t(g?.overview?.version)??t(g?.version),i=null,j=null,k=null,s=[],u=[],w=[],x="unavailable";if((0,e.JG)())x="disabled",c.push("Native Gateway WS is disabled by environment configuration.");else if(1)try{let a=await new e.gH({timeoutMs:2500}).probeNativeHandshake({timeoutMs:2500});x="gateway-handshake",i=o(a),j=p(a),k=q(a),s=r(a),u=m(a),w=n(a)}catch(a){c.push(`handshake: ${v(a)}`)}else{let a=await l(null,["rpc.discover","rpc.methods","system.capabilities","capabilities"],c),b=a?.payload??null;x=a?.method??"unavailable",i=o(b),j=p(b),k=q(b),s=r(b),u=m(b),w=n(b)}let y=new Set(u),z=new Set(w),A=(...a)=>0===y.size?"unknown":a.some(a=>y.has(a))?"supported":"unsupported",B=y.size>0?f.Av.filter(a=>!y.has(a)):[],C=Object.fromEntries(f.zS.map(a=>[a.id,{...((a,b,c=[],d=!0)=>{if((0,e.JG)())return{label:a,mode:"cli-fallback",methods:b,events:c,fallbackAllowed:d,reason:"Native Gateway WS is disabled by environment configuration.",preferredMethod:b[0]??null,supportedMethod:null,aliasMethods:b.slice(1),compatibility:"missing"};if(0===y.size&&0===z.size)return{label:a,mode:"unknown",methods:b,events:c,fallbackAllowed:d,reason:"Gateway did not advertise feature metadata; AgentOS will attempt Gateway first and fall back when needed.",preferredMethod:b[0]??null,supportedMethod:null,aliasMethods:b.slice(1),compatibility:"unknown"};let f=b.find(a=>y.has(a))??null,g=c.some(a=>z.has(a));return f||g?{label:a,mode:"gateway-native",methods:b,events:c,fallbackAllowed:d,reason:f&&f!==b[0]?`OpenClaw Gateway advertises compatibility alias ${f}.`:"OpenClaw Gateway advertises native support.",preferredMethod:b[0]??null,supportedMethod:f,aliasMethods:b.slice(1),compatibility:f&&f!==b[0]?"alias":"preferred"}:{label:a,mode:d?"degraded":"disabled",methods:b,events:c,fallbackAllowed:d,reason:d?"OpenClaw Gateway does not advertise native support; AgentOS will use compatibility fallback.":"OpenClaw Gateway does not advertise native support and no safe fallback is available.",preferredMethod:b[0]??null,supportedMethod:null,aliasMethods:b.slice(1),compatibility:"missing"}})(a.label,a.methods,a.events??[],a.fallbackAllowed??!0),baseline:a.baseline}])),D=(0,e.Lo)().map(a=>({...a,operationLabel:(0,f.Hi)(a.operation)})),E=D.map(a=>`${a.operationLabel} (${a.operation}): ${a.kind}: ${a.issue} Recovery: ${a.recovery}`),F=Object.entries(C).filter(([,a])=>"degraded"===a.mode||"cli-fallback"===a.mode).map(([a,b])=>`${a}: ${b.reason}`),G=Object.entries(C).filter(([,a])=>"alias"===a.compatibility&&a.supportedMethod).map(([a,b])=>`${a}: ${b.supportedMethod}`),H=function(a){if(!a)return"unknown";let b=Number(a);return Number.isFinite(b)?b>=e.aj.min&&b<=e.aj.max?"compatible":"unsupported":"unknown"}(i),I=new Date().toISOString(),J=function(a){let b=a.methodSet.size>0?f.Av.filter(b=>!a.methodSet.has(b)):[],c=a.methodSet.size>0?f.rp.filter(b=>!a.methodSet.has(b)):[],d=a.methodSet.size>0?f.Dq.filter(b=>!a.methodSet.has(b)):[];if("disabled"===a.source)return{status:"unknown",checkedAt:a.checkedAt,source:a.source,refreshIntervalMs:6e4,expectedMethodCount:f.Av.length,advertisedMethodCount:0,missingMethodCount:0,missingMethods:[],missingOperations:[],baselineVersion:f.iG,requiredMethodCount:f.Av.length,missingRequiredMethods:[],optionalMethodCount:f.rp.length,missingOptionalMethods:[],experimentalMethodCount:f.Dq.length,missingExperimentalMethods:[],reason:"Native Gateway WS is disabled by environment configuration, so AgentOS cannot compare advertised Gateway methods."};if(0===a.methodSet.size)return{status:"unknown",checkedAt:a.checkedAt,source:a.source,refreshIntervalMs:6e4,expectedMethodCount:f.Av.length,advertisedMethodCount:0,missingMethodCount:0,missingMethods:[],missingOperations:[],baselineVersion:f.iG,requiredMethodCount:f.Av.length,missingRequiredMethods:[],optionalMethodCount:f.rp.length,missingOptionalMethods:[],experimentalMethodCount:f.Dq.length,missingExperimentalMethods:[],reason:"OpenClaw Gateway did not advertise method metadata; AgentOS treats compatibility as unknown and will retry on the next capability refresh."};let e=Object.entries(a.operations).filter(([,a])=>"required"===a.baseline&&"missing"===a.compatibility).map(([a])=>a),g=b.length>0?"drift":"advertised";return{status:g,checkedAt:a.checkedAt,source:a.source,refreshIntervalMs:6e4,expectedMethodCount:f.Av.length,advertisedMethodCount:a.methodSet.size,missingMethodCount:b.length,missingMethods:b,missingOperations:e,baselineVersion:f.iG,requiredMethodCount:f.Av.length,missingRequiredMethods:b,optionalMethodCount:f.rp.length,missingOptionalMethods:c,experimentalMethodCount:f.Dq.length,missingExperimentalMethods:d,reason:"advertised"===g?`OpenClaw Gateway advertises every required ${f.iG} baseline method; optional and experimental gaps are informational.`:`OpenClaw Gateway advertised method metadata, but one or more required ${f.iG} baseline methods are missing.`}}({checkedAt:I,source:x,methodSet:y,operations:C,unsupportedGatewayMethods:B});return{detectedAt:I,openClawVersion:h??null,gatewayProtocolVersion:i,requestedProtocolRange:e.aj,authMode:j,authRole:k,authScopes:s,supportedMethods:u,supportedEvents:w,configSchema:A("config.schema"),configSchemaLookup:A(...(0,f.P5)("configSchemaLookup")),configPatch:A(...(0,f.P5)("configPatch")),chatEvents:"supported"===A(...(0,f.P5)("missionDispatch"),"chat.history")||((0,f.jW)("missionStream").events??[]).some(a=>z.has(a))?"supported":0===y.size?"unknown":"unsupported",logsTail:A(...(0,f.P5)("logsTail")),cronRead:A(...(0,f.P5)("cronRead")),channels:A(...(0,f.P5)("channels")),skills:A(...(0,f.P5)("skills")),approvals:A(...(0,f.P5)("execApprovals"),"plugin.approval.list","plugin.approval.resolve"),updates:A(...(0,f.P5)("updates")),nativeMissionDispatch:A(...(0,f.P5)("missionDispatch")),nativeAgentLifecycle:A(...(0,f.P5)("agentCreate"),...(0,f.P5)("agentUpdate"),...(0,f.P5)("agentDelete")),eventBridge:"supported"===A(...(0,f.P5)("missionStream"),...(0,f.P5)("taskEvents"))||["chat","agent","session.message","session.tool","task","task.updated","task.completed","artifact","artifact.updated","exec.approval.requested","plugin.approval.requested"].some(a=>z.has(a))?"supported":0===y.size?"unknown":"unsupported",operations:C,compatibility:{protocol:{status:H,version:i,reason:(a=i,"compatible"===(b=H)?`Gateway protocol ${a} is within AgentOS' supported range ${e.aj.min}-${e.aj.max}.`:"unsupported"===b?`Gateway protocol ${a} is outside AgentOS' supported range ${e.aj.min}-${e.aj.max}.`:"Gateway protocol version was not advertised.")},methodContract:J,nativeOperationCount:Object.values(C).filter(a=>"gateway-native"===a.mode).length,degradedOperationCount:Object.values(C).filter(a=>"degraded"===a.mode||"cli-fallback"===a.mode).length,unknownOperationCount:Object.values(C).filter(a=>"unknown"===a.mode).length,aliasOperations:G,degradedOperations:Object.entries(C).filter(([,a])=>"degraded"===a.mode||"cli-fallback"===a.mode).map(([a])=>a)},degradedFeatures:F,fallbackDiagnostics:D,fallbackReasons:E,unsupportedGatewayMethods:B,diagnostics:c}}async function l(a,b,c){for(let d of b)try{return{method:d,payload:await a(d)}}catch(a){c.push(`${d}: ${v(a)}`)}return null}function m(a){var b;return Array.from(new Set([...u(s(a,"methods")),...u(s(s(a,"rpc"),"methods")),...u(s(s(a,"features"),"methods")),...u(s(a,"supportedMethods")),...Array.isArray(b=s(a,"methods"))?b.map(a=>t(s(a,"name"))??t(s(a,"method"))).filter(a=>!!a):[]])).sort()}function n(a){return Array.from(new Set([...u(s(a,"events")),...u(s(s(a,"features"),"events"))])).sort()}function o(a){let b=s(a,"protocolVersion")??s(a,"protocol")??s(s(a,"gateway"),"protocolVersion");return"number"==typeof b&&Number.isFinite(b)?String(b):t(b)}function p(a){return t(s(a,"authMode"))??t(s(s(a,"auth"),"mode"))??t(s(s(a,"security"),"authMode"))??t(s(s(a,"snapshot"),"authMode"))}function q(a){return t(s(a,"role"))??t(s(s(a,"auth"),"role"))??t(s(s(a,"security"),"role"))}function r(a){return Array.from(new Set([...u(s(a,"scopes")),...u(s(s(a,"auth"),"scopes")),...u(s(s(a,"security"),"scopes"))])).sort()}function s(a,b){return a&&"object"==typeof a?a[b]:void 0}function t(a){return"string"==typeof a&&a.trim()?a.trim():null}function u(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.trim().length>0).map(a=>a.trim()):[]}function v(a){return a instanceof Error?a.kind?`${a.kind}: ${a.message}`:a.message:String(a||"OpenClaw Gateway request failed.")}},25793:(a,b,c)=>{c.d(b,{Jw:()=>s,SI:()=>o,V9:()=>l,WU:()=>n,pY:()=>m,qv:()=>p,xZ:()=>q});var d=c(51455),e=c(48161),f=c.n(e),g=c(76760),h=c.n(g),i=c(27091),j=c(14414),k=c(96972);async function l(a,b,c,e){let f=e(a,b,c);if(!a.key?.endsWith(":main")||!a.agentId||!a.sessionId)return[f];let g=c.find(b=>b.id===a.agentId),h=b.find(b=>b.id===a.agentId),j=await n(a.agentId,a.sessionId,g?.workspace||h?.workspace);if(!j)return[f];try{let a=await (0,d.readFile)(j,"utf8"),b=o(a,f,g?.workspace||h?.workspace).filter(a=>!a.prompt.toLowerCase().startsWith("read heartbeat.md if it exists")),c=q(b);if(0===b.length)return[f];return b.slice(-6).reverse().map(a=>(function(a,b,c=b.toolNames){var d,e;let f,g=Date.parse(b.updatedAt),h=(d=b.prompt,e=a.agentId,(f=d.trim())&&(0,i.$m)(f,38)||`${B(e)} run`),j=b.warningSummary?z(`Completed with fallback: ${b.warningSummary}`,90):b.finalText?z(b.finalText,90):"stalled"===b.status?"Waiting for output":"Main session run";return{id:`runtime:${a.sessionId}:${b.id}`,source:"turn",key:`${a.key}:turn:${b.id}`,title:h,subtitle:j,status:b.status,updatedAt:Number.isNaN(g)?a.updatedAt:g,ageMs:Number.isNaN(g)?a.ageMs:Math.max(Date.now()-g,0),agentId:a.agentId,workspaceId:a.workspaceId,modelId:a.modelId,sessionId:a.sessionId,taskId:a.taskId,runId:b.runId||b.id,toolNames:c,tokenUsage:b.tokenUsage,metadata:{...a.metadata,turnId:b.id,turnPrompt:b.prompt,stage:"main.turn",historical:"running"!==b.status,createdFiles:b.createdFiles,warnings:b.warnings,warningSummary:b.warningSummary}}})(f,a,c))}catch{return[f]}}async function m(a,b){if("fallback"===b.mode){var c;let b;return c=a,b=new Date().toISOString(),{runtimeId:c.id,sessionId:c.sessionId,taskId:c.taskId,status:"available",finalText:"Fallback mode is active. Connect a real OpenClaw gateway to inspect live runtime output.",finalTimestamp:b,stopReason:"fallback",errorMessage:null,items:[{id:`${c.id}:fallback`,role:"assistant",timestamp:b,text:"Fallback mode is active. Connect a real OpenClaw gateway to inspect live runtime output.",stopReason:"fallback",isError:!1}],createdFiles:[],warnings:[],warningSummary:null}}if(!a.sessionId||!a.agentId)return r(a,t(a,"This runtime does not expose a session transcript yet."));let e=b.agents.find(b=>b.id===a.agentId),f=await n(a.agentId,a.sessionId,e?.workspacePath);if(!f)return r(a,t(a,"No transcript file was found for this runtime session."));try{let b=await (0,d.readFile)(f,"utf8");return s(a,b,e?.workspacePath)}catch(b){return{runtimeId:a.id,sessionId:a.sessionId,taskId:a.taskId,status:"error",finalText:null,finalTimestamp:null,stopReason:null,errorMessage:b instanceof Error?b.message:"Unable to read runtime transcript.",items:[],createdFiles:[],warnings:[],warningSummary:null}}}async function n(a,b,c){for(let e of[h().join(f().homedir(),".openclaw","agents",a,"sessions",`${b}.jsonl`),c?h().join(c,".openclaw","agents",a,"sessions",`${b}.jsonl`):null].filter(Boolean))try{return await (0,d.access)(e),e}catch{continue}let e=await x(a,b,c);return e||null}function o(a,b,c){let d=a.split(/\r?\n/).filter(Boolean),e=[],f=c,g=null;for(let a of d)try{var h,i,j;let c=JSON.parse(a);if("session"===c.type&&"string"==typeof c.cwd&&c.cwd.trim()){f=c.cwd.trim();continue}if("custom"===c.type&&"openclaw:prompt-error"===c.customType&&g){g.runId||=c.data?.runId,g.updatedAt=c.timestamp||g.updatedAt,g.errorMessage||=c.data?.error||null;continue}if("message"!==c.type||!c.message?.role)continue;let d=c.message.role;if("assistant"!==d&&"toolResult"!==d&&"user"!==d)continue;let k=function(a=[]){return"string"==typeof a?a.trim():Array.isArray(a)?a.flatMap(a=>{if(("text"===a.type||"output_text"===a.type)&&a.text)return[a.text];if("toolResult"===a.type){var b;let c=(b=a.content,("string"==typeof b?b.trim()||null:Array.isArray(b)&&b.flatMap(a=>"string"==typeof a?[a]:a&&"object"==typeof a?"text"in a&&"string"==typeof a.text?[a.text]:"content"in a&&"string"==typeof a.content?[a.content]:[]:[]).join("\n\n").trim()||null)||a.text);return c?[c]:[]}return[]}).join("\n\n").trim():""}(c.message.content),l=c.message.errorMessage??null,m=function(a,b,c,d){if("toolResult"!==a||!0===b.isError||d)return null;let e=b.details?.exitCode;if("number"!=typeof e||0===e)return null;let f=(b.details?.aggregated||c).split(/\r?\n/).map(a=>a.trim()).filter(Boolean).filter(a=>!/^\(Command exited with code \d+\)$/i.test(a));return z((f.find(a=>!a.startsWith("[WARNING]"))||f.find(a=>a.startsWith("[WARNING]"))||`${b.toolName||"tool"} exited with code ${e}`).replace(/^\[WARNING\]\s*/i,"").trim()||`${b.toolName||"tool"} exited with code ${e}`,160)}(d,c.message,k,l),n="assistant"===d?function(a){if(!Array.isArray(a))return null;let b=a.find(a=>"toolCall"===a.type&&"string"==typeof a.name);return b&&"string"==typeof b.name&&b.name.trim()?{id:"string"==typeof b.id?b.id:null,name:b.name.trim(),arguments:b.arguments}:null}(c.message.content):null,o="assistant"===d&&n&&!k?"toolCall":d,p=k||l||(n?`Called ${n.name}`:"");if(!p&&!("assistant"===d&&(h=c.message.content,Array.isArray(h)&&h.some(a=>"toolCall"===a.type))||"toolResult"===d&&"string"==typeof c.message.toolName&&c.message.toolName.trim()))continue;let q={id:c.id||`${d}-${Date.now()}`,role:o,timestamp:function(a){let b=a.message?.timestamp;if("number"==typeof b&&Number.isFinite(b))return new Date(b).toISOString();if("string"==typeof b&&b.trim()){let a=Date.parse(b);if(!Number.isNaN(a))return new Date(a).toISOString()}return a.timestamp||null}(c)||new Date().toISOString(),text:p,toolName:"toolCall"===o?n?.name:"toolResult"===d?c.message.toolName?.trim()||A(k):void 0,stopReason:"assistant"===d?c.message.stopReason??null:null,errorMessage:l,isWarning:!!m,isError:!!l||!0===c.message.isError||"error"===c.message.stopReason||"aborted"===c.message.stopReason};if("user"===d){g&&e.push(v(g)),g={id:c.id||`turn-${e.length}`,prompt:q.text.replace(/^Sender \(untrusted metadata\):[\s\S]*?```[\s\S]*?```\s*/i,"").replace(/^\[[^\]]+\]\s*/i,"").replace(/\s+/g," ").trim(),sessionId:b.sessionId,runId:void 0,timestamp:q.timestamp,updatedAt:q.timestamp,items:[q],tokenUsage:void 0,errorMessage:null,createdFiles:[],warnings:[],toolNames:[],pendingCreatedFiles:new Map,pendingToolNames:new Set};continue}if(!g)continue;if("assistant"===d&&Array.isArray(c.message.content)){for(let a of c.message.content)if("toolCall"===a.type)for(let b of("string"==typeof a.name&&a.name.trim()&&g.pendingToolNames.add(a.name.trim()),function(a,b){if("write"===a.type||"write"===a.name){let c="string"==typeof a.arguments?.path?a.arguments.path.trim():"",d=c?w(c,b):null;return d?[d]:[]}return"apply_patch"===a.name&&Array.isArray(a.arguments?.changes)?a.arguments.changes.flatMap(a=>{if(!a||"object"!=typeof a)return[];let c="path"in a&&"string"==typeof a.path?a.path.trim():"",d=c?w(c,b):null;return d?[d]:[]}):[]}(a,f)))g.pendingCreatedFiles.set(a.id||`${c.id||"toolCall"}:${b.path}`,b)}if(g.items.push(q),g.updatedAt=q.timestamp,g.errorMessage||=l,m&&!g.warnings.includes(m)&&g.warnings.push(m),"toolResult"===d&&!0!==c.message.isError&&("write"===c.message.toolName||"apply_patch"===c.message.toolName)&&"string"==typeof c.message.toolCallId){let a=g.pendingCreatedFiles.get(c.message.toolCallId);a&&(g.createdFiles.push(a),g.pendingCreatedFiles.delete(c.message.toolCallId))}if("toolResult"===d){let a=c.message.toolName?.trim()||A(q.text)?.trim()||null;a&&g.pendingToolNames.add(a)}if("assistant"===d&&c.message.usage){let a=c.message.usage;g.tokenUsage=(i=g.tokenUsage,j={input:a.input??a.prompt_tokens??0,output:a.output??a.completion_tokens??0,total:a.totalTokens??a.total_tokens??(a.input??a.prompt_tokens??0)+(a.output??a.completion_tokens??0),cacheRead:a.cacheRead??0},i?j.total>i.total?j:i:j)}}catch{continue}return g&&e.push(v(g)),e}function p(a,b){let c="string"==typeof a.metadata.dispatchSubmittedAt?Date.parse(a.metadata.dispatchSubmittedAt):NaN;return Number.isNaN(c)?b:b.filter(a=>{let b=Date.parse(a.updatedAt||a.timestamp);return!Number.isNaN(b)&&b>=c-1500})}function q(a){return y(a.flatMap(a=>a.toolNames))}function r(a,b){return{runtimeId:a.id,sessionId:a.sessionId,taskId:a.taskId,status:"missing",finalText:null,finalTimestamp:null,stopReason:null,errorMessage:b,items:[],createdFiles:[],warnings:[],warningSummary:null}}function s(a,b,c){let d=p(a,o(b,a,c));if("turn"===a.source){let b="string"==typeof a.metadata.turnId?a.metadata.turnId:null,c=b?d.find(a=>a.id===b):function(a,b){let c="string"==typeof a.metadata.turnPrompt&&a.metadata.turnPrompt.trim().length>0?a.metadata.turnPrompt:"string"==typeof a.metadata.prompt&&a.metadata.prompt.trim().length>0?a.metadata.prompt:"string"==typeof a.metadata.mission&&a.metadata.mission.trim().length>0?a.metadata.mission:"string"==typeof a.metadata.routedMission&&a.metadata.routedMission.trim().length>0?a.metadata.routedMission:null;if(!c)return null;let d=b.filter(a=>(0,j.Dm)(a.prompt,c));if(0===d.length)return null;let e=a.updatedAt??0;return d.sort((a,b)=>{let c=Date.parse(a.updatedAt),d=Date.parse(b.updatedAt);return Math.abs((Number.isNaN(c)?0:c)-e)-Math.abs((Number.isNaN(d)?0:d)-e)})[0]}(a,d);if(c)return u(a,c)}let e=d.at(-1);return e?u(a,e):{runtimeId:a.id,sessionId:a.sessionId,taskId:a.taskId,status:"missing",finalText:null,finalTimestamp:null,stopReason:null,errorMessage:t(a,"No transcript entries were found for this runtime."),items:[],createdFiles:[],warnings:[],warningSummary:null}}function t(a,b){let c="string"==typeof a.metadata.dispatchStatus?a.metadata.dispatchStatus:null,d="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId:null,e="string"==typeof a.metadata.error&&a.metadata.error.trim()?(0,k.bS)(a.metadata.error.trim()):null;return e||(c||d?"stalled"===c||"stalled"===a.status?"Mission dispatch stalled before AgentOS captured transcript output. Check Gateway diagnostics, model readiness, and the dispatch runner details.":"completed"===c||"completed"===a.status?"Mission completed, but AgentOS did not recover a transcript or final output yet. Refresh the snapshot and inspect the OpenClaw session diagnostics if this remains empty.":"Mission dispatch is active, but no transcript output has been captured yet. Wait for the first OpenClaw session update or inspect Gateway diagnostics if it stays empty.":b)}function u(a,b){return{runtimeId:a.id,sessionId:a.sessionId,taskId:a.taskId,status:b.items.length>0?"available":"missing",finalText:b.finalText,finalTimestamp:b.finalTimestamp,stopReason:b.stopReason,errorMessage:b.errorMessage,items:b.items.slice(-12),createdFiles:b.createdFiles,warnings:b.warnings,warningSummary:b.warningSummary,tokenUsage:b.tokenUsage}}function v(a){let{pendingCreatedFiles:b,pendingToolNames:c,...d}=a,e=[...a.items].reverse().find(a=>"assistant"===a.role&&(a.text.trim().length>0||a.errorMessage)),f=a.items.at(-1),g=e?.stopReason??null,h=!!a.errorMessage||e?.isError===!0||"error"===g||"aborted"===g,i=y(a.warnings),j=h?"stalled":f?.role==="assistant"&&f.stopReason&&"toolUse"!==f.stopReason?"completed":"running";return{...d,status:j,finalText:e?.text??null,finalTimestamp:e?.timestamp??null,stopReason:g,errorMessage:a.errorMessage||e?.errorMessage||null,createdFiles:function(a){let b=new Set,c=[];for(let d of a)!d.path||b.has(d.path)||(b.add(d.path),c.push(d));return c}(a.createdFiles),warnings:i,warningSummary:i[0]??null,toolNames:y([...a.pendingToolNames])}}function w(a,b){let c=a.trim();if(!c)return null;let d=h().isAbsolute(c)?h().normalize(c):b?h().resolve(b,c):null;if(!d)return null;let e=b&&d.startsWith(`${h().resolve(b)}${h().sep}`)?h().relative(h().resolve(b),d)||h().basename(d):d;return{path:d,displayPath:e}}async function x(a,b,c){let e=`agent:${a}:explicit:${b}`;for(let g of[h().join(f().homedir(),".openclaw","agents",a,"sessions","sessions.json"),c?h().join(c,".openclaw","agents",a,"sessions","sessions.json"):null].filter(Boolean))try{let a=await (0,d.readFile)(g,"utf8"),c=JSON.parse(a);for(let[a,f]of Object.entries(c))if(f&&(f.sessionId===b||a===e)&&"string"==typeof f.sessionFile)return await (0,d.access)(f.sessionFile),f.sessionFile}catch{continue}return null}function y(a){return Array.from(new Set(a))}function z(a,b){let c=a.replace(/\s+/g," ").trim();return c.length<=b?c:`${c.slice(0,Math.max(b-1,1)).trimEnd()}…`}function A(a){let b=a.match(/"tool(Name)?":\s*"([^"]+)"/i);return b?.[2]}function B(a){return a?a.split(/[-_]/g).filter(Boolean).map(a=>a[0].toUpperCase()+a.slice(1)).join(" "):"OpenClaw"}},27091:(a,b,c)=>{function d(a){return a.name?.trim()||a.identityName?.trim()||"OpenClaw"}c.d(b,{$m:()=>g,CK:()=>d,ho:()=>f});let e=[/^Task output routing:/i,/^Agent operating policy:/i];function f(a){let b=a.replace(/\r\n/g,"\n").trim();if(!b)return"";let c=[];for(let a of b.split("\n")){let b=a.trim();if(e.some(a=>a.test(b)))break;c.push(a)}return c.join(" ").replace(/\s+/g," ").trim()}function g(a,b=64){if(!a)return"";let c=f(a);return c?c.length<=b?c:`${c.slice(0,Math.max(b-1,1)).trimEnd()}…`:""}},28182:(a,b,c)=>{c.d(b,{IJ:()=>g,T$:()=>p,Y8:()=>m,bE:()=>h,qA:()=>n,vC:()=>o});var d=c(77598),e=c(27091),f=c(24254);function g(a,b){let c=a.filter(a=>!function(a){var b,c;let d,f,g,h="string"==typeof a.metadata.origin?a.metadata.origin:null;if("mission-dispatch"===h||"agentos-mission-dispatch"===h)return!1;if("agent-chat"===h||"agentos-direct-chat"===h)return!0;if("string"==typeof a.metadata.dispatchId&&a.metadata.dispatchId.trim())return!1;let j=i(a)||("string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null);return!!("string"==typeof j&&(b=j,/You are chatting (?:directly )?with the operator inside AgentOS/i.test(b)||/Do not create tasks or mention task cards/i.test(b)||/Messages stay in this drawer and are stored locally in your browser/i.test(b)))||(f="openclaw-gateway-event"!==(d="string"==typeof(c=a).metadata.origin?c.metadata.origin:null)&&"agentos-direct-chat"!==d&&!!c.runId?.trim(),g="openclaw-gateway-event"!==d&&"agentos-direct-chat"!==d&&"string"==typeof c.metadata.runId&&!!c.metadata.runId.trim(),!(c.taskId?.trim()||f||function(a){if("string"!=typeof a.metadata.mission)return null;let b=(0,e.ho)(a.metadata.mission);return b.length>0?b:null}(c)||"string"==typeof c.metadata.taskId&&c.metadata.taskId.trim()||g||"string"==typeof c.metadata.bootstrapStage&&c.metadata.bootstrapStage.trim()||"string"==typeof c.metadata.dispatchStatus&&c.metadata.dispatchStatus.trim())&&!!("openclaw-gateway-event"===h||"string"==typeof a.metadata.chatType&&"direct"===a.metadata.chatType||"string"==typeof a.metadata.kind&&"direct"===a.metadata.kind||function(a){if("session"!==a.source)return!1;let b=a.key.trim(),c=a.title.trim().toLowerCase(),d=a.subtitle.trim().toLowerCase();return/:main$/.test(b)||/:explicit:[^:]+$/.test(b)||"agent session"===c||"main session"===d||"direct session"===d}(a)))}(a)),d=new Map,g=new Map(b.map(a=>{var b;return[a.id,(b=a).name.trim()||b.id]})),j=new Map(b.map(a=>[a.id,a.workspaceId])),k=function(a){let b=new Map;for(let c of a){let a=c.sessionId?.trim(),d="string"==typeof c.metadata.dispatchId?c.metadata.dispatchId.trim():"",e="string"==typeof c.metadata.dispatchSubmittedAt?Date.parse(c.metadata.dispatchSubmittedAt):NaN;if(!a||!d)continue;let f=`${c.agentId??"unknown"}:${a}`,g=b.get(f)??[];g.some(a=>a.dispatchId===d)||(g.push({dispatchId:d,submittedAt:Number.isNaN(e)?null:e}),g.sort((a,b)=>(a.submittedAt??-1/0)-(b.submittedAt??-1/0)),b.set(f,g))}return b}(c);for(let a of c){let b=function(a,b){let c=a.taskId?.trim(),d="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",e=i(a),f=a.sessionId?.trim(),g=f?b.get(`${a.agentId??"unknown"}:${f}`)??[]:[],h=a.updatedAt??0,j=g.filter(a=>null===a.submittedAt||h>=a.submittedAt-1500).sort((a,b)=>(b.submittedAt??-1/0)-(a.submittedAt??-1/0))[0]?.dispatchId??"";return d?`dispatch:${d}`:j?`dispatch:${j}`:c?`task:${c}`:e?`mission:${a.agentId??"unknown"}:${o(e)}`:f?`session:${f}`:`runtime:${a.id}`}(a,k),c=d.get(b)??[];c.push(a),d.set(b,c)}return Array.from(d.entries()).map(([a,b])=>h(a,b,g,j)).map(b=>{var c,d;let e;return c=b,d=a,0===(e=(0,f.FW)(c,d)).length?c:{...c,metadata:{...c.metadata,followUps:e}}}).sort((a,b)=>(b.updatedAt??0)-(a.updatedAt??0))}function h(a,b,c,d=new Map){var f,g,s;let t,u=[...b].sort(r),v=function(a){let b=a.filter(a=>"turn"===a.source||"string"==typeof a.metadata.turnId);if(b.length>0)return b;let c=a.filter(a=>"string"==typeof a.metadata.dispatchId||"string"==typeof a.metadata.bootstrapStage);return c.length>0?c:a}(u),w=[...v].sort((a,b)=>j(b)-j(a))[0]??v[0]??u[0],x=i(w)||u.map(a=>i(a)).find(Boolean)||null,y=function(a){for(let b of a){let a="string"==typeof b.metadata.routedMission?b.metadata.routedMission.trim():"";if(a)return a}return null}(u),z=function(a){let b=[...a.filter(a=>{var b;return(!!("string"==typeof(b=a).metadata.dispatchId&&b.metadata.dispatchId.trim())||!!i(b))&&!l(a)&&("completed"===a.status||"stalled"===a.status||"cancelled"===a.status)}),...a.filter(a=>"string"==typeof a.metadata.turnId),...a.filter(a=>!0===a.metadata.recoveredFromObservation),...a.filter(a=>!l(a)&&("completed"===a.status||"stalled"===a.status||"cancelled"===a.status)),...a.filter(a=>!l(a))],c=new Set;for(let a of b){if(c.has(a.id))continue;c.add(a.id);let b=a.subtitle?.trim();if(b&&function(a){let b=a.replace(/\s+/g," ").trim().toLowerCase();return!!b&&"sessions.changed"!==b&&"session.message"!==b}(b))return b}return null}(u),A=z||v.map(a=>a.subtitle?.trim()).find(a=>!!a)||u.map(a=>a.subtitle?.trim()).find(a=>!!a)||"Awaiting OpenClaw updates.",B=p(u.flatMap(a=>m(a)).concat(u.flatMap(a=>(function(a){if("string"!=typeof a||0===a.trim().length)return[];let b=[...a.matchAll(/(?:^|[\s:])((?:\/[^\s`),;]+)+\.[A-Za-z0-9][A-Za-z0-9._-]*)/g),...a.matchAll(/(?:^|[\s(])((?:\.{1,2}\/)?deliverables\/[^\s`),;]+)/g),...a.matchAll(/\]\(((?:\/|\.{1,2}\/|deliverables\/)[^)]+)\)/g),...a.matchAll(/`((?:\/|\.{1,2}\/|deliverables\/)[^`\n]+)`/g)],c=[];for(let a of b){let b=(a[1]||"").trim();b&&function(a){let b=a.trim().replace(/[`'")\],;]+$/g,"");return!(!b||b.endsWith("/"))&&(b.split("/").pop()||"").includes(".")}(b)&&c.push({path:b,displayPath:b})}return p(c)})(a.subtitle)))),C=q(u.flatMap(a=>n(a))),D=function(a){let b=(function(a){let b=new Set,c=[];for(let d of a){if(!d.tokenUsage)continue;let a=function(a){let b="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",c=a.tokenUsage??{input:0,output:0,total:0,cacheRead:0};return[b||a.runId||a.sessionId||a.id,b?"":a.sessionId??"",c.input,c.output,c.total,c.cacheRead??0].join(":")}(d);b.has(a)||(b.add(a),c.push(d))}return c})(a).filter(a=>a.tokenUsage);if(0!==b.length)return b.reduce((a,b)=>({input:a.input+(b.tokenUsage?.input??0),output:a.output+(b.tokenUsage?.output??0),total:a.total+(b.tokenUsage?.total??0),cacheRead:(a.cacheRead??0)+(b.tokenUsage?.cacheRead??0)}),{input:0,output:0,total:0,cacheRead:0})}(u),E=q(u.flatMap(a=>a.agentId?[a.agentId]:[])),F=q(u.flatMap(a=>a.sessionId?[a.sessionId]:[])),G=q(u.flatMap(a=>a.runId?[a.runId]:[])),H=u.filter(a=>"string"==typeof a.metadata.turnId||!0===a.metadata.recoveredFromObservation).length,I=(t=u.map(a=>"string"==typeof a.metadata.dispatchStatus?a.metadata.dispatchStatus.trim():"").filter(Boolean)).includes("cancelled")?"cancelled":t.includes("stalled")?"stalled":t.includes("completed")?"completed":t.includes("running")?"running":t.includes("queued")?"queued":null,J=w?.agentId||E[0],K=J?c.get(J)??null:null,L=function(a,b,c,d){let e=a.map(a=>a.workspaceId?.trim()).find(a=>!!a);if(e)return e;for(let a of q([b,...c].filter(Boolean))){let b=d.get(a)?.trim();if(b)return b}}(u,J,E,d),M=u[0]??null;return{id:(f=a,`task:${o(f)}`),key:a,title:(0,e.$m)(x||w?.title||"Untitled task",52)||"Untitled task",mission:x,subtitle:A,status:function(a,b=null){return b&&k(b)?b:a.some(a=>"running"===a.status)?"running":a.some(a=>"cancelled"===a.status)?"cancelled":a.some(a=>"queued"===a.status)?"queued":a.some(a=>"stalled"===a.status)?"stalled":a.some(a=>"idle"===a.status)?"idle":a[0]?.status??"completed"}(u,I),updatedAt:M?.updatedAt??null,ageMs:M?.ageMs??null,workspaceId:L,primaryAgentId:J,primaryAgentName:K,primaryRuntimeId:w?.id,dispatchId:function(a){for(let b of a)if("string"==typeof b.metadata.dispatchId&&b.metadata.dispatchId.trim())return b.metadata.dispatchId.trim()}(u),runtimeIds:u.map(a=>a.id),agentIds:E,sessionIds:F,runIds:G,runtimeCount:u.length,updateCount:v.filter(a=>"turn"===a.source).length,liveRunCount:(g=u,(s=I)&&k(s)?0:g.filter(a=>"running"===a.status||"queued"===a.status).length),artifactCount:B.length,warningCount:C.length,tokenUsage:D,metadata:{mission:x,routedMission:y,resultPreview:z,turnCount:H,sessionCount:F.length,primaryRuntimeSource:w?.source??null,bootstrapStage:"string"==typeof w?.metadata.bootstrapStage?w.metadata.bootstrapStage:null,dispatchStatus:I??("string"==typeof w?.metadata.dispatchStatus?w.metadata.dispatchStatus:null),dispatchSubmittedAt:"string"==typeof w?.metadata.dispatchSubmittedAt?w.metadata.dispatchSubmittedAt:null,dispatchRunnerStartedAt:"string"==typeof w?.metadata.dispatchRunnerStartedAt?w.metadata.dispatchRunnerStartedAt:null,dispatchHeartbeatAt:"string"==typeof w?.metadata.dispatchHeartbeatAt?w.metadata.dispatchHeartbeatAt:null,dispatchObservedAt:"string"==typeof w?.metadata.dispatchObservedAt?w.metadata.dispatchObservedAt:null,outputDir:"string"==typeof w?.metadata.outputDir?w.metadata.outputDir:null,outputDirRelative:"string"==typeof w?.metadata.outputDirRelative?w.metadata.outputDirRelative:null}}}function i(a){let b="string"==typeof a.metadata.mission?a.metadata.mission:"string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null;if(!b)return null;let c=(0,e.ho)(b);return c.length>0?c:null}function j(a){return 8*!!i(a)+6*("string"==typeof a.metadata.dispatchId)+("turn"===a.source?6:"session"===a.source?4:2)+("running"===a.status?3:"queued"===a.status?2:"cancelled"===a.status||"stalled"===a.status?3:"idle"===a.status?2:1)}function k(a){return"completed"===a||"stalled"===a||"cancelled"===a}function l(a){let b="string"==typeof a.metadata.bootstrapStage?a.metadata.bootstrapStage:null;return"accepted"===b||"waiting-for-heartbeat"===b||"waiting-for-runtime"===b||"runtime-observed"===b}function m(a){let b=a.metadata.createdFiles;return Array.isArray(b)?b.flatMap(a=>{if(!a||"object"!=typeof a)return[];let b="path"in a&&"string"==typeof a.path?a.path:null,c="displayPath"in a&&"string"==typeof a.displayPath?a.displayPath:b;return b&&c?[{path:b,displayPath:c}]:[]}):[]}function n(a){let b=a.metadata.warnings;return Array.isArray(b)?b.filter(a=>"string"==typeof a&&a.trim().length>0):[]}function o(a){return(0,d.createHash)("sha1").update(a).digest("hex").slice(0,12)}function p(a){let b=new Set,c=[];for(let d of a)!d.path||b.has(d.path)||(b.add(d.path),c.push(d));return c}function q(a){return Array.from(new Set(a.map(a=>(function(a){if("string"!=typeof a)return null;let b=a.trim();return b.length>0?b:null})(a)).filter(a=>!!a)))}function r(a,b){return(b.updatedAt??0)-(a.updatedAt??0)}},29822:(a,b,c)=>{c.d(b,{v:()=>k});var d=c(39503),e=c(51455),f=c(58889);async function g(a){try{let b=await (0,e.readFile)(a,"utf8"),c=JSON.parse(b),d=c&&"object"==typeof c&&!Array.isArray(c)?c:{version:1,channels:[]},g=Array.isArray(d.channels)?d.channels.map(a=>(0,f.kf)(a)).filter(a=>!!a):[];return{status:"fulfilled",value:(0,f._E)({version:1,channels:g})}}catch(a){return{status:"rejected",reason:a}}}var h=c(75402),i=c(99254),j=c(70262);async function k(a,b={}){let c=await g(h.q6),d="fulfilled"===c.status?c.value:(0,f._E)({version:1,channels:[]}),e="interactive"===a?[]:await (0,i.QT)(),m=(0,i.fy)((0,i.D4)([...e,...(0,i.G7)(d)]),d),n=await (0,j.Mh)({profile:a,channelAccounts:e,channelRegistry:d}),o="interactive"===a?null:await l(),p=(0,j.LB)({registry:d,currentBindings:o,surfaceRuntime:n,configuredAccounts:e,workspaceId:b.workspaceId});return{channelRegistry:d,channelAccounts:m,surfaceRuntime:n,surfaceDrift:p}}async function l(){try{let a=await (0,d.rw)().getConfig("bindings",{timeoutMs:5e3});return Array.isArray(a)?a:[]}catch{return null}}},37110:(a,b,c)=>{c.d(b,{DO:()=>K,Ff:()=>L,GG:()=>P,O1:()=>M,VW:()=>O,Yp:()=>z,_z:()=>t,e4:()=>x,gb:()=>v,ji:()=>w,lm:()=>u,vH:()=>y});var d=c(31421),e=c(73024),f=c(51455),g=c(76760),h=c.n(g),i=c(57975),j=c(77598),k=c(88366),l=c(14414),m=c(80410),n=c(69699),o=c(25793);let p=h().join(process.cwd(),".mission-control"),q=h().join(p,"dispatches"),r=h().join(process.cwd(),"scripts","openclaw-mission-dispatch-runner.mjs"),s=(0,i.promisify)(d.execFile);function t(a){let b=new Date().toISOString(),c=`dispatch-${(0,j.randomUUID)()}`;return{id:c,status:"queued",agentId:a.agentId,sessionId:(0,j.randomUUID)(),mission:a.mission,routedMission:a.routedMission,thinking:a.thinking,workspaceId:a.workspaceId,workspacePath:a.workspacePath,submittedAt:b,updatedAt:b,outputDir:a.outputDir,outputDirRelative:a.outputDirRelative,notesDirRelative:a.notesDirRelative,runner:{pid:null,childPid:null,startedAt:null,finishedAt:null,lastHeartbeatAt:null,logPath:R(c)},observation:{runtimeId:null,observedAt:null},result:null,error:null}}async function u(a){let b=Q(a.id),c=`${b}.${process.pid}.tmp`;await (0,f.mkdir)(h().dirname(b),{recursive:!0}),await (0,f.writeFile)(c,`${JSON.stringify(a,null,2)}
136
+ `,"utf8"),await (0,f.rename)(c,b)}async function v(a){await (0,f.access)(r,e.constants.R_OK);let b=await (0,k.XP)(),c=(0,d.spawn)(process.execPath,[r,Q(a.id)],{cwd:process.cwd(),detached:!0,stdio:"ignore",env:{...process.env,OPENCLAW_BIN:b,OPENCLAW_AGENT_TIMEOUT_SECONDS:String(45)}});return c.unref(),{...a,runner:{...a.runner,pid:c.pid??a.runner.pid}}}async function w(a){if(a.dispatchId){let b=await M(a.dispatchId);if(b)return b}let b=await L(),c=new Set(a.runtimeIds),d=new Set(a.sessionIds);for(let e of b){if(e.agentId!==a.primaryAgentId&&!a.agentIds.includes(e.agentId))continue;if(a.mission&&e.mission&&(0,l.Dm)(e.mission,a.mission)||e.observation.runtimeId&&c.has(e.observation.runtimeId))return e;let b=(0,n.Xy)(e);if(b&&d.has(b))return e}return null}async function x(a){let b=new Set;if("number"==typeof a.runner.childPid&&Number.isFinite(a.runner.childPid)&&b.add(a.runner.childPid),0===b.size&&"number"==typeof a.runner.pid&&Number.isFinite(a.runner.pid))try{let{stdout:c}=await s("pgrep",["-P",String(a.runner.pid)]);for(let a of c.split(/\r?\n/)){let c=Number.parseInt(a.trim(),10);Number.isFinite(c)&&c>0&&b.add(c)}}catch{}for(let a of b)try{process.kill(a,"SIGTERM")}catch{}return b.values().next().value??null}async function y(a,b){let c=T(b.updatedAt);if(a.observation.runtimeId===b.id&&a.observation.observedAt===c)return;let d=await M(a.id)??a;(d.observation.runtimeId!==b.id||d.observation.observedAt!==c)&&await u({...d,updatedAt:S(d.updatedAt,c),observation:{runtimeId:b.id,observedAt:c}})}async function z(a,b){var c,d,e,f,g;let h,i;if(O(a.status))return B(a,b);if(("completed"===(c=b.status)||"stalled"===c||"cancelled"===c)&&(d=a,h="string"==typeof(e=b).metadata.dispatchId?e.metadata.dispatchId.trim():"",i="string"==typeof e.runId?e.runId.trim():"",h===d.id||i===d.id)){let c=await M(a.id)??a;if(O(c.status))return;let d=T(b.updatedAt),e="completed"===(f=b.status)||"cancelled"===f?f:"stalled",h={...c,status:e,updatedAt:S(c.updatedAt,d),runner:{...c.runner,finishedAt:d,lastHeartbeatAt:d},observation:{runtimeId:b.id,observedAt:d},result:"completed"===e?c.result??{runId:(g=b).runId||`runtime:${g.id}`,status:"completed",summary:g.subtitle||"completed",meta:{agentId:g.agentId,sessionId:g.sessionId,model:g.modelId,usage:g.tokenUsage}}:c.result,error:"stalled"===e?c.error||b.subtitle||"OpenClaw runtime ended before the dispatch runner finalized.":null};return await u(h),h}if(!b.agentId||!b.sessionId)return;let j=await C(a,b);if(!j)return;let k=!!(j.finalTimestamp&&j.stopReason&&"toolUse"!==j.stopReason),l=!!j.errorMessage||"error"===j.stopReason||"aborted"===j.stopReason;if(!k&&!l)return;let m=await M(a.id)??a;if(O(m.status))return;let o=j.finalTimestamp??T(b.updatedAt),p=l?"stalled":"completed",q={...m,status:p,updatedAt:S(m.updatedAt,o),runner:{...m.runner,finishedAt:o,lastHeartbeatAt:o},result:"completed"===p?m.result??(0,n.pV)(b,j):m.result,error:"stalled"===p?j.errorMessage||m.error||"OpenClaw runtime ended before the dispatch runner finalized.":null};return await u(q),q}async function A(a,b){var c,d,e;let f;if("completed"!==a.status)return null;let g=await C(a,b);if(!g)return null;let h=(0,n.pV)(b,g);if(!h||!g.finalText?.trim()&&!g.tokenUsage)return null;let i=await M(a.id)??a;if("completed"!==i.status||(0,n.v0)(i)&&(c=i,(f=(0,n.gQ)(c))&&f.total>0))return null;let j=g.finalTimestamp??T(b.updatedAt)??i.updatedAt,k=i.result&&(0,n.v0)(i)?(d=i.result,e=h,{...d,meta:{...d.meta??{},...e.meta??{}},result:d.result?{...d.result,meta:{...d.result.meta??{},...e.result?.meta??{},...e.meta??{}}}:e.result}):h,l={...i,updatedAt:S(i.updatedAt,j),runner:{...i.runner,finishedAt:i.runner.finishedAt??j,lastHeartbeatAt:S(i.runner.lastHeartbeatAt,j)},result:k};return await u(l),l}async function B(a,b){var c;let d;if("completed"===a.status)return A(a,b);if("stalled"!==a.status)return null;let e=await C(a,b);if(!e||(c=e,d=c.stopReason?.trim(),!("available"===c.status&&c.finalText?.trim())||c.errorMessage||!d||"toolUse"===d||"error"===d||"aborted"===d))return null;let f=(0,n.pV)(b,e);if(!f)return null;let g=await M(a.id)??a;if("completed"===g.status)return A(g,b);if("stalled"!==g.status)return null;let h=e.finalTimestamp??T(b.updatedAt)??g.updatedAt,i={...g,status:"completed",updatedAt:S(g.updatedAt,h),runner:{...g.runner,finishedAt:h,lastHeartbeatAt:S(g.runner.lastHeartbeatAt,h)},observation:{runtimeId:b.id,observedAt:h},result:f,error:null};return await u(i),i}async function C(a,b){let c=b.sessionId??(0,n.Xy)(a);if(!b.agentId||!c)return null;let d=await (0,o.WU)(b.agentId,c,a.workspacePath??void 0);if(!d)return null;try{let e=await (0,f.readFile)(d,"utf8"),g={...b,sessionId:c,metadata:{...b.metadata,mission:"string"==typeof b.metadata.mission?b.metadata.mission:a.mission,dispatchSubmittedAt:"string"==typeof b.metadata.dispatchSubmittedAt?b.metadata.dispatchSubmittedAt:a.submittedAt}},h=(0,o.Jw)(g,e,a.workspacePath??void 0);if(F(h.tokenUsage))return h;let i=await D(a,e);return i?{...h,tokenUsage:i}:h}catch{return null}}async function D(a,b){let c=function(a,b){for(let d of a.split(/\r?\n/))if(d.trim())try{var c;let a=JSON.parse(d);if(!I(a)||"message"!==a.type||!I(a.message)||"user"!==a.message.role)continue;let e=(c=a.message.content,"string"==typeof c?c.trim():Array.isArray(c)?c.flatMap(a=>I(a)&&("text"===a.type||"output_text"===a.type)&&"string"==typeof a.text?[a.text]:[]).join("\n\n").trim():"");if(b.trim()&&e&&!(0,l.Dm)(e,b)&&!e.includes(b.trim()))continue;let f=function(a){let b=I(a.__openclaw)?a.__openclaw:null,c=G(b?.mirrorIdentity);return c?.split(":")[0]?.trim()||null}(a.message);if(f)return f}catch{continue}return null}(b,a.mission);if(!c||!a.workspacePath||!a.agentId)return null;for(let b of function(a){if(!a.workspacePath||!a.agentId)return[];let b=h().join(a.workspacePath,".openclaw","agents",a.agentId,"agent","codex-home","sessions"),c=[a.submittedAt,a.runner.startedAt,a.runner.finishedAt,a.updatedAt,a.observation.observedAt],d=new Set;for(let a of c){let c="string"==typeof a?Date.parse(a):NaN;if(!Number.isNaN(c))for(let a of[-864e5,0,864e5]){let e=new Date(c+a);d.add(h().join(b,...E(e,!1))),d.add(h().join(b,...E(e,!0)))}}return Array.from(d)}(a))for(let a of(await (0,f.readdir)(b,{withFileTypes:!0}).catch(()=>[])).filter(a=>a.isFile()&&a.name.startsWith("rollout-")&&a.name.endsWith(".jsonl")).map(a=>h().join(b,a.name))){let b=await (0,f.readFile)(a,"utf8").catch(()=>null);if(!b||!b.includes(c))continue;let d=function(a,b){let c=b.trim();if(!c)return null;let d=!1,e=null;for(let b of a.split(/\r?\n/))if(b.trim())try{let a=JSON.parse(b);if(!I(a)||"event_msg"!==a.type||!I(a.payload))continue;let f="string"==typeof a.payload.type?a.payload.type:"";if("task_started"===f&&G(a.payload.turn_id)===c){d=!0,e=null;continue}if(!d)continue;if("token_count"===f){let b=function(a){if(!I(a))return null;let b=I(a.total_token_usage)?a.total_token_usage:I(a.last_token_usage)?a.last_token_usage:null;if(!b)return null;let c=H(b.total_tokens);return null===c?null:{input:H(b.input_tokens)??0,output:H(b.output_tokens)??0,total:c,cacheRead:H(b.cached_input_tokens)??0}}(a.payload.info);F(b)&&(e=b);continue}if("task_complete"===f&&G(a.payload.turn_id)===c)break}catch{continue}return e}(b,c);if(F(d))return d}return null}function E(a,b){let c=b?a.getUTCFullYear():a.getFullYear(),d=b?a.getUTCMonth()+1:a.getMonth()+1,e=b?a.getUTCDate():a.getDate();return[String(c),J(d),J(e)]}function F(a){return!!(a&&a.total>0)}function G(a){return"string"==typeof a&&a.trim()?a.trim():null}function H(a){return"number"==typeof a&&Number.isFinite(a)?a:null}function I(a){return!!(a&&"object"==typeof a&&!Array.isArray(a))}function J(a){return String(a).padStart(2,"0")}async function K(a){let b=(0,n.Xy)(a);if(!a.agentId||!b)return null;let c=await (0,o.WU)(a.agentId,b,a.workspacePath??void 0);if(!c)return null;try{let d=await (0,f.readFile)(c,"utf8"),e=(0,m.ho)(a,b),g=(0,o.qv)(e,(0,o.SI)(d,e,a.workspacePath??void 0));if(0===g.length||a.mission&&!g.some(b=>(0,l.Dm)(b.prompt,a.mission)))return null;return e}catch{return null}}async function L(){try{let a=await (0,f.readdir)(q,{withFileTypes:!0}),b=Date.now();return(await Promise.all(a.filter(a=>a.isFile()&&a.name.endsWith(".json")).map(async a=>{var c,d;let e,g=h().join(q,a.name),i=await N(g);return i?(c=i,d=b,e=Date.parse(c.updatedAt),!Number.isNaN(e)&&d-e>2592e5)?(await (0,f.rm)(g,{force:!0}),i.runner.logPath&&await (0,f.rm)(i.runner.logPath,{force:!0}),null):i:null}))).filter(a=>!!a).sort((a,b)=>Date.parse(b.updatedAt)-Date.parse(a.updatedAt))}catch{return[]}}async function M(a){return N(Q(a))}async function N(a){try{let b=await (0,f.readFile)(a,"utf8"),c=JSON.parse(b);if(!c||"object"!=typeof c||"string"!=typeof c.id||"string"!=typeof c.agentId||"string"!=typeof c.mission||"string"!=typeof c.routedMission||"string"!=typeof c.submittedAt||"string"!=typeof c.updatedAt)return null;let d=(0,n.cS)(c.status);return{id:c.id,status:d,agentId:c.agentId,sessionId:"string"==typeof c.sessionId?c.sessionId:null,mission:c.mission,routedMission:c.routedMission,thinking:(0,n.YY)(c.thinking),workspaceId:"string"==typeof c.workspaceId?c.workspaceId:null,workspacePath:"string"==typeof c.workspacePath?c.workspacePath:null,submittedAt:c.submittedAt,updatedAt:c.updatedAt,outputDir:"string"==typeof c.outputDir?c.outputDir:null,outputDirRelative:"string"==typeof c.outputDirRelative?c.outputDirRelative:null,notesDirRelative:"string"==typeof c.notesDirRelative?c.notesDirRelative:null,runner:{pid:"number"==typeof c.runner?.pid?c.runner.pid:null,childPid:"number"==typeof c.runner?.childPid?c.runner.childPid:null,startedAt:"string"==typeof c.runner?.startedAt?c.runner.startedAt:null,finishedAt:"string"==typeof c.runner?.finishedAt?c.runner.finishedAt:null,lastHeartbeatAt:"string"==typeof c.runner?.lastHeartbeatAt?c.runner.lastHeartbeatAt:null,logPath:"string"==typeof c.runner?.logPath?c.runner.logPath:R(c.id)},observation:{runtimeId:"string"==typeof c.observation?.runtimeId?c.observation.runtimeId:null,observedAt:"string"==typeof c.observation?.observedAt?c.observation.observedAt:null},result:(0,n.Ok)(c.result)?c.result:null,error:"string"==typeof c.error?c.error:null}}catch{return null}}function O(a){return"completed"===a||"stalled"===a||"cancelled"===a}function P(a){let b="string"==typeof a?a.trim():"";return b.length>0?b:"Mission aborted by operator."}function Q(a){return h().join(q,`${a}.json`)}function R(a){return h().join(q,`${a}.log.jsonl`)}function S(a,b){let c=a?Date.parse(a):NaN,d=b?Date.parse(b):NaN;return Number.isNaN(c)?b??new Date().toISOString():Number.isNaN(d)||c>=d?a??new Date().toISOString():b}function T(a){return"number"==typeof a&&Number.isFinite(a)?new Date(a).toISOString():null}},38610:(a,b,c)=>{function d(a){return!a||"native-ws"!==a.gatewayMode||"connected"!==a.connectionState||(!!a.lastNativeError||!!a.recovery)&&!!a.lastNativeFailureAt&&!!a.lastConnectedAt&&f(a.lastNativeFailureAt,a.lastConnectedAt)}function e(a,b){return a.filter(a=>!b||"native-ws"!==b.gatewayMode||"connected"!==b.connectionState||f(a.at,b.lastConnectedAt))}function f(a,b){if(!b)return!0;if(!a)return!1;let c=Date.parse(a),d=Date.parse(b);return!(Number.isFinite(c)&&Number.isFinite(d))||c>=d}c.d(b,{aH:()=>d,wi:()=>e})},38798:(a,b,c)=>{c.d(b,{JG:()=>d.JG,Lo:()=>d.Lo,aj:()=>d.aj,gH:()=>d.gH}),c(38699);var d=c(95141)},54252:(a,b,c)=>{c.d(b,{u:()=>j});var d=c(51455),e=c(76760),f=c.n(e),g=c(66058),h=c(58889),i=c(15612);async function j(a){let b=await (0,h.OL)(a),c=b.name??f().basename(a),e=b.template?(0,i.hh)(b.template).label:"Workspace",j=b.sourceMode??"empty",k=b.rules??{workspaceOnly:!0},l=(0,g.EB)(b.agents),m=f().join(a,"AGENTS.md"),n="";try{n=await (0,d.readFile)(m,"utf8")}catch{n=(0,g.jR)({name:c,templateLabel:e,sourceMode:j,workspaceOnly:!!k.workspaceOnly,agents:b.agents})}let o=(0,g.LP)(n,"Team",l,"Workspace"),p=(0,g.Jy)(o,b.agents),q=(0,g.LP)(o,"Agent Roles",p,"Team"),r=(0,g.Be)(q);r!==n&&(await (0,d.mkdir)(f().dirname(m),{recursive:!0}),await (0,d.writeFile)(m,r,"utf8"))}},56763:(a,b,c)=>{c.d(b,{Em:()=>h,Jb:()=>g,wz:()=>i});var d=c(77598),e=c(39503),f=c(70016);async function g(a=1e4){try{let b=await (0,e.rw)().getRuntimeSnapshot({includeSessions:!0,includeTasks:!0,includeArtifacts:!0,limit:500},{timeoutMs:a});return{status:"fulfilled",value:b}}catch(a){return{status:"rejected",reason:a}}}function h(a,b){return v(a)?[...p(a.runtimes).flatMap(a=>(function(a,b){var c;let d=r(a.id)??r(a.runtimeId),e=r(a.key)??r(a.sessionKey)??r(a.taskId)??d,f=r(a.title),g=r(a.subtitle)??r(a.summary)??r(a.message);if(!d||!e||!f||!g)return[];let h=u(a.updatedAt??a.timestamp??a.ts),i=r(a.agentId)??w(e),m=r(a.workspaceId)??n(i,b);return[{id:d,source:"session"===(c=r(a.source))||"cron"===c||"turn"===c?c:"turn",key:e,title:f,subtitle:g,status:j(r(a.status)??""),updatedAt:h,ageMs:t(a.ageMs)??(h?Math.max(0,Date.now()-h):null),agentId:i??void 0,workspaceId:m??void 0,modelId:r(a.modelId)??r(a.model)??void 0,sessionId:r(a.sessionId)??void 0,taskId:r(a.taskId)??void 0,runId:r(a.runId)??void 0,toolNames:k(a),tokenUsage:l(a),metadata:{...v(a.metadata)?a.metadata:{},origin:"openclaw-runtime-snapshot",gatewayObjectKind:"runtime"}}]})(a,b)),...p(a.sessions).flatMap(a=>(function(a,b){let c=r(a.agentId)??w(r(a.key)??r(a.sessionKey)),d=r(a.key)??r(a.sessionKey)??(c?`agent:${c}:main`:r(a.sessionId));if(!d&&!c)return[];let e={agentId:c??void 0,key:d??void 0,sessionId:r(a.sessionId)??r(a.id)??void 0,updatedAt:u(a.updatedAt??a.timestamp??a.ts),ageMs:t(a.ageMs)??void 0,inputTokens:t(a.inputTokens),outputTokens:t(a.outputTokens),cacheRead:t(a.cacheRead),totalTokens:t(a.totalTokens),model:r(a.model)??r(a.modelId)??void 0,kind:r(a.kind)??"runtime",origin:"openclaw-runtime-snapshot",mission:r(a.mission)??r(a.prompt)??void 0,dispatchId:r(a.dispatchId)??void 0},g=(0,f.$Z)(e,b.agentConfig,b.agentsList,{resolveWorkspaceId:b.resolveWorkspaceId});return[{...g,id:r(a.runtimeId)??(0,f.kO)(e),title:r(a.title)??g.title,subtitle:r(a.summary)??r(a.message)??g.subtitle,status:j(r(a.status)??g.status),toolNames:k(a)??g.toolNames,metadata:{...g.metadata,origin:"openclaw-runtime-snapshot",gatewayObjectKind:"session",event:r(a.event)??null}}]})(a,b)),...p(a.tasks).flatMap(a=>(function(a,b){let c=r(a.taskId)??r(a.id),d=r(a.agentId)??r(a.assigneeAgentId);if(!c&&!d)return[];let e=u(a.updatedAt??a.timestamp??a.ts??a.createdAt),f=r(a.workspaceId)??o(r(a.workspace),b)??n(d,b),g=r(a.mission)??r(a.prompt)??r(a.title),h=m(p(a.artifacts));return[{id:r(a.runtimeId)??`runtime:gateway-task:${x(c,d)}`,source:"turn",key:c??`agent:${d}:task`,title:r(a.title)??"Gateway task",subtitle:r(a.summary)??r(a.message)??r(a.status)??"OpenClaw task update",status:j(r(a.status)??""),updatedAt:e,ageMs:t(a.ageMs)??(e?Math.max(0,Date.now()-e):null),agentId:d??void 0,workspaceId:f??void 0,modelId:r(a.model)??r(a.modelId)??void 0,sessionId:r(a.sessionId)??void 0,taskId:c??void 0,runId:r(a.runId)??void 0,toolNames:k(a),tokenUsage:l(a),metadata:{origin:"openclaw-runtime-snapshot",gatewayObjectKind:"task",taskId:c??null,mission:g,dispatchId:r(a.dispatchId)??null,createdFiles:h}}]})(a,b)),...p(a.artifacts).flatMap(a=>(function(a,b){let c=r(a.artifactId)??r(a.id),d=r(a.taskId),e=r(a.sessionId),f=r(a.agentId);if(!c&&!d&&!e)return[];let g=u(a.updatedAt??a.timestamp??a.ts??a.createdAt),h=m([a]),i=r(a.path)??r(a.name)??c??"artifact";return[{id:r(a.runtimeId)??`runtime:gateway-artifact:${x(c,d,e)}`,source:"turn",key:d??e??c??i,title:"Gateway artifact",subtitle:i,status:j(r(a.status)??"completed"),updatedAt:g,ageMs:t(a.ageMs)??(g?Math.max(0,Date.now()-g):null),agentId:f??void 0,workspaceId:r(a.workspaceId)??o(r(a.workspace),b)??n(f,b)??void 0,sessionId:e??void 0,taskId:d??void 0,runId:r(a.runId)??void 0,metadata:{origin:"openclaw-runtime-snapshot",gatewayObjectKind:"artifact",artifactId:c??null,createdFiles:h}}]})(a,b))]:[]}function i(a){let b=v(a.payload)?a.payload:{},c=q(b,"metadata"),d=r(a.event)??r(b.type)??"event",e=r(b.sessionKey)??r(b.key),f=r(b.agentId)??r(b.agent)??w(e),g=r(b.sessionId)??r(b.session)??e,h=r(b.runId)??r(b.run)??r(b.clientRunId),i=r(b.taskId)??r(q(b,"task")?.id),l=r(b.artifactId)??r(q(b,"artifact")?.id),n=u(b.timestamp??b.ts??b.updatedAt),o=j(r(b.status)??d),p=r(b.text)??r(b.message)??r(b.summary)??r(b.detail)??d,s=r(b.runtimeId)??`runtime:gateway:${x(f,g,h,i,l,d)}`;if(!f&&!g&&!h&&!i&&!l)return null;let t=m([b,q(b,"artifact")]);return{id:s,source:"turn",key:h||g||i||l||s,title:r(b.title)??(i?"Gateway task event":"Gateway runtime event"),subtitle:p,status:o,updatedAt:n,ageMs:n?Math.max(0,Date.now()-n):null,agentId:f??void 0,workspaceId:r(b.workspaceId)??void 0,sessionId:g??void 0,taskId:i??void 0,runId:h??void 0,modelId:r(b.model)??r(b.modelId)??void 0,toolNames:k(b),metadata:{origin:r(b.origin)??r(c?.origin)??"openclaw-gateway-event",event:d,channel:r(b.channel)??null,approvalId:r(b.approvalId)??null,artifactId:l??null,dispatchId:r(b.dispatchId)??r(c?.dispatchId)??null,kind:r(b.kind)??r(c?.kind)??null,chatType:r(b.chatType)??r(c?.chatType)??null,mission:r(b.mission)??r(b.prompt)??null,createdFiles:t}}}function j(a){return/complete|done|success|succeeded/i.test(a)?"completed":/cancel|abort/i.test(a)?"cancelled":/error|fail|stall/i.test(a)?"stalled":/queue|pending/i.test(a)?"queued":/idle/i.test(a)?"idle":"running"}function k(a){let b=[r(a.toolName),r(a.tool),...s(a.tools),...s(a.toolNames)].filter(a=>!!a);return b.length>0?Array.from(new Set(b)):void 0}function l(a){let b=v(a.tokenUsage)?a.tokenUsage:a,c=t(b.inputTokens)??t(b.input),d=t(b.outputTokens)??t(b.output),e=t(b.totalTokens)??t(b.total);if(void 0!==c||void 0!==d||void 0!==e)return{input:c??0,output:d??0,total:e??(c??0)+(d??0),cacheRead:t(b.cacheRead)??0}}function m(a){let b=[];for(let c of a){if(!c)continue;let a=r(c.path)??r(c.filePath)??r(c.uri),d=r(c.displayPath)??r(c.name)??a;a&&d&&b.push({path:a,displayPath:d})}var c=b;let d=new Set,e=[];for(let a of c)d.has(a.path)||(d.add(a.path),e.push(a));return e}function n(a,b){if(!a)return null;let c=b.agentsList.find(b=>b.id===a),d=b.agentConfig.find(b=>b.id===a);return o(c?.workspace||d?.workspace,b)}function o(a,b){return a?b.resolveWorkspaceId?.(a):null}function p(a){return Array.isArray(a)?a.filter(a=>v(a)):[]}function q(a,b){let c=a[b];return v(c)?c:null}function r(a){return"string"==typeof a&&a.trim()?a.trim():null}function s(a){return Array.isArray(a)?a.map(r).filter(a=>!!a):[]}function t(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}function u(a){if("number"==typeof a&&Number.isFinite(a))return a<1e10?1e3*a:a;if("string"==typeof a){let b=Date.parse(a);return Number.isNaN(b)?Date.now():b}return Date.now()}function v(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function w(a){if(!a?.startsWith("agent:"))return null;let[,b]=a.split(":");return b||null}function x(...a){let b=a.filter(Boolean).join(":")||String(Date.now());return(0,d.createHash)("sha1").update(b).digest("hex").slice(0,12)}},57419:(a,b,c)=>{c.d(b,{L:()=>e});var d=c(9443);async function e(a,b){var c,e,j;let m,n=b.workspaceBootstrapProfile??await (0,d.xL)(a,b.template,b.rules),o=n.contextManifest,p=new Map(n.workspaceSections),q=[...n.workspaceSources],r=function(a,b){if(!a)return[];let c=b.trim().toLowerCase(),d=a.findIndex(a=>!!/^###\s+/.test(a)&&a.toLowerCase().includes(`\`${c}\``));if(-1===d)return[];let e=[];for(let b=d+1;b<a.length;b+=1){let c=a[b];if(/^###\s+/.test(c))break;e.push(c)}return e}(p.get("AGENTS.md"),b.agentId),s=i(r,"Role")??((m=g((c=p).get("docs/brief.md"),"Objective")??g(c.get("memory/blueprint.md"),"Outcome")??g(c.get("MEMORY.md"),"Current brief")??g(c.get("SOUL.md"),"My Purpose")??g(c.get("IDENTITY.md"),"Role")??g(c.get("AGENTS.md"),"Customize"))||null)??function({agentId:a,agentName:b,skills:c}){return c.length>0?`${b} specializes in ${c.join(", ")} workflows inside the attached workspace.`:/dev|build|coder|engineer/i.test(a)?`${b} is configured as a development-focused OpenClaw operator for this workspace.`:/review/i.test(a)?`${b} is configured to review work and surface quality risks for this workspace.`:/test/i.test(a)?`${b} is configured to validate behavior, testing, and runtime quality for this workspace.`:`${b} is a general-purpose OpenClaw operator attached to this workspace.`}({agentId:b.agentId,agentName:b.agentName,skills:b.configuredSkills}),t=(e=p,l([{file:"AGENTS.md",heading:"Safety defaults"},{file:"AGENTS.md",heading:"Daily memory"},{file:"AGENTS.md",heading:"Output"},{file:"SOUL.md",heading:"How I Operate"},{file:"TOOLS.md",heading:"Examples"},{file:"MEMORY.md",heading:"Stable facts"},{file:"memory/blueprint.md",heading:"Constraints"},{file:"memory/blueprint.md",heading:"Unknowns"},{file:"docs/brief.md",heading:"Success signals"},{file:"docs/brief.md",heading:"Open questions"},{file:"docs/architecture.md",heading:"Dependencies"},{file:"docs/architecture.md",heading:"Risks"},{file:"deliverables/README.md",heading:"Deliverables"},...o.resources.filter(a=>a.relativePath.startsWith("docs/")&&"docs/brief.md"!==a.relativePath&&"docs/architecture.md"!==a.relativePath).flatMap(a=>a.headings.map(b=>({file:a.relativePath,heading:b})))].flatMap(a=>h(e.get(a.file),a.heading)))).slice(0,8),u=l([...function(a,b){if(!a)return[];let c=a.find(a=>a.toLowerCase().includes(`**${b.toLowerCase()}:**`));if(!c)return[];let[,d=""]=c.split(":");return d.split(",").map(a=>k(a)).filter(Boolean)}(p.get("IDENTITY.md"),"Vibe"),...[i(j=r,"Role"),i(j,"Preset"),i(j,"File access")].filter(a=>!!a),...h(p.get("SOUL.md"),"My Quirks"),...h(p.get("SOUL.md"),"How I Operate")]).slice(0,6)||[],v=f(p.get("AGENTS.md"))??f(p.get("deliverables/README.md"))??(b.configuredTools.includes("fs.workspaceOnly")?"Prefer workspace-grounded output tied to real project files and artifacts.":null);return{purpose:s,operatingInstructions:t.length>0?t:b.configuredTools.includes("fs.workspaceOnly")?["Operate within the attached workspace and avoid spilling changes outside it."]:["No explicit operating instructions were found in workspace bootstrap files."],responseStyle:u,outputPreference:v,sourceFiles:q}}function f(a){if(!a)return null;let b=a.find(a=>/be concise in chat|write longer output to files|output/i.test(a));return b?k(b):null}function g(a,b){if(!a)return null;let c=a.findIndex(a=>j(a)===j(b));if(-1===c)return null;let d=[];for(let b=c+1;b<a.length;b+=1){let c=a[b].trim();if(!c){if(d.length>0)break;continue}if(/^#+\s+/.test(c)||/^[-*]\s+/.test(c)||(d.push(k(c)),d.length>=2))break}return d.length>0?d.join(" "):null}function h(a,b){if(!a)return[];let c=a.findIndex(a=>j(a)===j(b));if(-1===c)return[];let d=[];for(let b=c+1;b<a.length;b+=1){let c=a[b].trim();if(!c&&d.length>0||/^#+\s+/.test(c))break;if(/^[-*]\s+/.test(c)){d.push(k(c.replace(/^[-*]\s+/,"")));continue}if(d.length>0)break}return d}function i(a,b){if(!a)return null;let c=`- ${b}:`,d=a.find(a=>a.trim().toLowerCase().startsWith(c.toLowerCase()));return d?k(d.slice(c.length)):null}function j(a){return a.replace(/^#+\s+/,"").trim().toLowerCase()}function k(a){return a.replace(/[`*_>#-]/g,"").replace(/\s+/g," ").trim()}function l(a){return Array.from(new Set(a.filter(Boolean)))}},58889:(a,b,c)=>{c.d(b,{OL:()=>m,QO:()=>n,_E:()=>q,aW:()=>o,kf:()=>p,qc:()=>r});var d=c(51455),e=c(76760),f=c.n(e),g=c(93628),h=c(15612);function i(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function j(a){return Array.from(new Set(a.filter(Boolean)))}function k(a){return a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}function l(a){return"object"==typeof a&&null!==a}async function m(a){let b=f().join(a,".openclaw","project.json");try{var c,e,g,j,m;let a=await (0,d.readFile)(b,"utf8"),f=JSON.parse(a),n=l(f)?f:{},q=Array.isArray(n.agents)?n.agents.map(a=>o(a)).filter(a=>!!a):[],r=Array.isArray(n.channels)?n.channels.map(a=>{var b;return b=a,p(b)}).filter(a=>!!a):[],t=function(a){if(!l(a))return null;let b="boolean"==typeof a.workspaceOnly?a.workspaceOnly:null,c="boolean"==typeof a.generateStarterDocs?a.generateStarterDocs:null,d="boolean"==typeof a.generateMemory?a.generateMemory:null,e="boolean"==typeof a.kickoffMission?a.kickoffMission:null;return null===b&&null===c&&null===d&&null===e?null:{workspaceOnly:b??!0,generateStarterDocs:c??h.eY.generateStarterDocs,generateMemory:d??h.eY.generateMemory,kickoffMission:e??h.eY.kickoffMission}}(n.rules);return{name:"string"==typeof n.name?n.name:null,directory:"string"==typeof n.directory?n.directory:null,template:(c=n.template,"software"===c||"frontend"===c||"backend"===c||"research"===c||"content"===c)?n.template:null,sourceMode:(e=n.sourceMode,"empty"===e||"clone"===e||"existing"===e)?n.sourceMode:null,agentTemplate:"string"==typeof n.agentTemplate?n.agentTemplate:null,teamPreset:(g=n.teamPreset,"solo"===g||"core"===g||"custom"===g)?n.teamPreset:null,modelProfile:(j=n.modelProfile,"balanced"===j||"fast"===j||"quality"===j)?n.modelProfile:null,rules:t,hidden:!0===n.hidden,systemTag:"string"==typeof n.systemTag?n.systemTag:null,contextSources:(m=n.contextSources,Array.isArray(m)?m.flatMap(a=>{if(!l(a))return[];let b=s(a.kind)?a.kind:"prompt",c="string"==typeof a.label&&a.label.trim()?a.label.trim():b,d="string"==typeof a.summary&&a.summary.trim()?a.summary.trim():c;return[{id:"string"==typeof a.id&&a.id.trim()?a.id.trim():`${b}-${k(c)||"context"}`,kind:b,label:c,summary:d,details:Array.isArray(a.details)?a.details.filter(a=>"string"==typeof a):[],status:"error"===a.status?"error":"ready",createdAt:"string"==typeof a.createdAt?a.createdAt:new Date().toISOString(),confidence:"number"==typeof a.confidence?a.confidence:void 0,url:"string"==typeof a.url?a.url:void 0,error:"string"==typeof a.error?a.error:void 0}].flatMap(a=>{if(!a||"object"!=typeof a)return[];let b=s(a.kind)?a.kind:"prompt",c=i(a.label)??b,d=i(a.summary)??c,e="error"===a.status?"error":"ready",f=i(a.createdAt)??new Date().toISOString(),g=i(a.error),h=i(a.url);return c&&d?[{id:i(a.id)??`${b}-${k(c)||"context"}`,kind:b,label:c,summary:d,details:Array.isArray(a.details)?a.details.map(a=>i(a)??"").filter(a=>!!a):[],status:e,createdAt:f,..."number"==typeof a.confidence?{confidence:a.confidence}:{},...g?{error:g}:{},...h?{url:h}:{}}]:[]})}):[]),agents:q,channels:r}}catch{return{name:null,directory:null,template:null,sourceMode:null,agentTemplate:null,teamPreset:null,modelProfile:null,rules:null,hidden:!1,systemTag:null,contextSources:[],agents:[],channels:[]}}}async function n(a,b){let c=f().join(a,".openclaw","project.json"),e=new Set(Array.from(b).map(a=>i(a)).filter(a=>!!a));if(0===e.size)return m(a);try{let b=await (0,d.readFile)(c,"utf8"),g=JSON.parse(b),h=l(g)?g:{};if(!Array.isArray(h.agents))return m(a);let i=h.agents.map(a=>o(a)).filter(a=>!!a),j=i.filter(a=>e.has(a.id)),n=i.filter(a=>!e.has(a.id)).map(a=>a.id);if(j.length===i.length)return m(a);j.length>0&&!j.some(a=>a.isPrimary)&&(j[0]={...j[0],isPrimary:!0}),h.updatedAt=new Date().toISOString(),h.agents=j,await (0,d.writeFile)(c,`${JSON.stringify(h,null,2)}
137
+ `,"utf8"),await Promise.all(n.map(b=>{var c;return(0,d.rm)(f().join(a,"skills",(c=b,`agent-policy-${k(c)||"agent"}`)),{recursive:!0,force:!0}).catch(()=>void 0)}))}catch{}return m(a)}function o(a){var b;if(!l(a)||"string"!=typeof a.id)return null;let c=j([...Array.isArray(a.skillIds)?a.skillIds.filter(a=>"string"==typeof a).map(a=>a.trim()):[],"string"==typeof a.skillId?a.skillId.trim():""]);return{id:a.id,name:"string"==typeof a.name?a.name:null,role:"string"==typeof a.role?a.role:null,isPrimary:!!a.isPrimary,enabled:!1!==a.enabled,skillId:c[0]??null,skillIds:c,toolIds:Array.isArray(a.toolIds)?j(a.toolIds.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(a=>!!a&&"fs.workspaceOnly"!==a)):[],modelId:"string"==typeof a.modelId?a.modelId:null,emoji:"string"==typeof a.emoji?a.emoji:null,theme:"string"==typeof a.theme?a.theme:null,policy:l(b=a.policy)&&(0,g.Pj)(b.preset)&&(0,g.Ew)(b.missingToolBehavior)&&(0,g.hR)(b.installScope)&&(0,g.c_)(b.fileAccess)&&(0,g.go)(b.networkAccess)?{preset:b.preset,missingToolBehavior:b.missingToolBehavior,installScope:b.installScope,fileAccess:b.fileAccess,networkAccess:b.networkAccess}:null,channelIds:Array.isArray(a.channelIds)?a.channelIds.filter(a=>"string"==typeof a&&!!a.trim()):[]}}function p(a){return l(a)&&"string"==typeof a.id?{id:a.id,type:t(a.type)?a.type:"internal",name:"string"==typeof a.name?a.name:a.id,primaryAgentId:"string"==typeof a.primaryAgentId?a.primaryAgentId:null,workspaces:Array.isArray(a.workspaces)?a.workspaces.map(a=>{var b;return l(b=a)&&"string"==typeof b.workspaceId&&"string"==typeof b.workspacePath?{workspaceId:b.workspaceId,workspacePath:b.workspacePath,agentIds:Array.isArray(b.agentIds)?b.agentIds.filter(a=>"string"==typeof a&&!!a.trim()):[],groupAssignments:Array.isArray(b.groupAssignments)?b.groupAssignments.map(a=>{var b;return l(b=a)&&"string"==typeof b.chatId?{chatId:b.chatId,agentId:"string"==typeof b.agentId?b.agentId:null,title:"string"==typeof b.title?b.title:null,enabled:!1!==b.enabled}:null}).filter(a=>!!a):[]}:null}).filter(a=>!!a):[]}:null}function q(a){let b=a.channels.map(a=>({id:a.id.trim(),type:t(a.type)?a.type:"internal",name:a.name.trim()||a.id.trim(),primaryAgentId:i(a.primaryAgentId)??null,workspaces:a.workspaces.map(a=>({workspaceId:a.workspaceId.trim(),workspacePath:a.workspacePath.trim(),agentIds:j(a.agentIds.map(a=>a.trim()).filter(Boolean)),groupAssignments:a.groupAssignments.map(a=>({chatId:a.chatId.trim(),agentId:i(a.agentId)??null,title:i(a.title)??null,enabled:!1!==a.enabled})).filter(a=>!!a.chatId)})).filter(a=>!!a.workspaceId&&!!a.workspacePath)})).filter(a=>!!a.id),c=new Map;for(let a of b){let b=c.get(a.id);if(!b){c.set(a.id,{...a,workspaces:a.workspaces});continue}let d=new Map;for(let a of b.workspaces)d.set(a.workspaceId,a);for(let b of a.workspaces){let a=d.get(b.workspaceId);if(!a){d.set(b.workspaceId,b);continue}d.set(b.workspaceId,{...a,agentIds:j([...a.agentIds,...b.agentIds]),groupAssignments:r([...a.groupAssignments,...b.groupAssignments])})}c.set(a.id,{...b,name:b.name||a.name,primaryAgentId:b.primaryAgentId||a.primaryAgentId,workspaces:Array.from(d.values())})}return{version:1,channels:Array.from(c.values())}}function r(a){let b=new Map;for(let c of a)c.chatId&&b.set(c.chatId,c);return Array.from(b.values())}function s(a){return"prompt"===a||"website"===a||"repo"===a||"folder"===a}function t(a){return"string"==typeof a&&a.trim().length>0}},66058:(a,b,c)=>{c.d(b,{Be:()=>x,EB:()=>f,Jy:()=>h,LP:()=>s,Qe:()=>j,jR:()=>e,t5:()=>k});var d=c(93628);function e(a){return`# ${a.name}
138
+
139
+ Shared project context for all agents working in this workspace.
140
+
141
+ ## Workspace
142
+ - Template: ${a.templateLabel}
143
+ - Source mode: ${a.sourceMode}
144
+ - Workspace-only access: ${a.workspaceOnly?"enabled":"disabled"}
145
+
146
+ ${f(a.agents,a.workspaceSlug)}
147
+
148
+ ${g(a.agents,a.workspaceSlug)}
149
+
150
+ ## Customize
151
+ ${a.brief||"Clarify the project goal, definition of done, constraints, and success signals before large changes."}
152
+
153
+ ## Safety defaults
154
+ - Stay inside the attached workspace unless the task explicitly requires another location.
155
+ - Prefer direct, reviewable changes over speculative rewrites.
156
+ - Preserve user work and avoid destructive actions without clear approval.
157
+ - Update durable docs when stable architecture, workflow, or product decisions change.
158
+ - Worker and browser agents should not install tooling unless their explicit policy allows it.
159
+ - Route environment preparation to setup-oriented agents when the work depends on new tooling.
160
+
161
+ ## Daily memory
162
+ - Capture durable facts in MEMORY.md and memory/*.md.
163
+ - Record stable decisions in memory/decisions.md.
164
+ - Keep temporary chatter and scratch notes in memory/.
165
+
166
+ ## Output
167
+ - Be concise in chat and write longer output to files when the artifact matters.
168
+ - Put task-specific deliverables, drafts, reports, and docs inside per-run folders under deliverables/.
169
+ - Avoid writing final artifacts to the workspace root unless explicitly requested.
170
+ `}function f(a,b){let c=r(a,b).filter(a=>a.enabled).map(a=>{let b=[a.isPrimary?"primary":null,a.role,a.policy?(0,d._P)(a.policy.preset):null].filter(a=>!!a);return`- ${a.name} (\`${a.id}\`)${b.length>0?` \xb7 ${b.join(" \xb7 ")}`:""}`});return`## Team
171
+ ${c.length>0?c.join("\n"):"- No active agents configured yet."}`}function g(a,b){return l(r(a,b).filter(a=>a.enabled).map(m))}function h(a,b,c){let d=r(b,c).filter(a=>a.enabled),e=t(a,"Agent Roles");if(!e)return g(b,c);let f=function(a){let b=new Map,c=Array.from(a.matchAll(/^###\s+.+$/gm));for(let[d,e]of c.entries()){if(void 0===e.index)continue;let f=e.index,g=c[d+1]?.index??a.length,h=a.slice(f,g).trim(),i=o(h);i&&b.set(i,h)}return b}(a.slice(e.start,e.end));return l(d.map(a=>{var b,c;let d,e,g=m(a),h=f.get(a.id);return h?(b=g,c=h,d=b.trim().split(/\r?\n/),e=q(c.trim().split(/\r?\n/).slice(1).filter(a=>!p(a))),[d[0],...d.slice(1),...e.length>0?["",...e]:[]].join("\n")):g}))}function i(){return`#### Persona
172
+
173
+ #### Responsibilities
174
+
175
+ #### Operating Notes
176
+
177
+ #### Boundaries`}function j(a,b){let c=n(a,b)?.content;if(!c)return i();let d=q(c.trim().split(/\r?\n/).slice(1).filter(a=>!p(a)));return d.length>0?d.join("\n"):i()}function k(a,b,c){let d=n(a,b);if(!d)throw Error("Agent profile section was not found in AGENTS.md.");let e=d.content.trim().split(/\r?\n/),f=e.slice(1).filter(a=>p(a)),g=c.trim(),h=[e[0],...f,...g?["",g]:[]].join("\n");return[a.slice(0,d.start),h,a.slice(d.end)].join("")}function l(a){return`## Agent Roles
178
+ Each agent should use only the subsection matching its current OpenClaw agent id as its personal role/persona. Other subsections describe teammates in the same workspace.
179
+
180
+ ${a.length>0?a.join("\n\n"):"- No active agent role sections are configured yet."}`}function m(a){let b=a.policy,c=a.skillIds,e=v([...a.toolIds??[],...b?.fileAccess==="workspace-only"?["fs.workspaceOnly"]:[]]),f=v(a.channelIds??[]);return[`### ${a.name} (\`${a.id}\`)`,`- Agent id: \`${a.id}\``,`- Runtime rule: when the current OpenClaw agent id is \`${a.id}\`, use this section as the agent-specific role and persona.`,`- Role: ${a.role||"Agent"}`,`- Primary: ${a.isPrimary?"yes":"no"}`,...b?[`- Preset: ${(0,d._P)(b.preset)}`]:[],...a.modelId?[`- Model: \`${a.modelId}\``]:[],...c.length>0?[`- Skills: ${c.map(a=>`\`${a}\``).join(", ")}`]:[],...e.length>0?[`- Tools: ${e.map(a=>`\`${a}\``).join(", ")}`]:[],...b?[`- File access: ${b.fileAccess}`,`- Network access: ${b.networkAccess}`,`- Install scope: ${b.installScope}`,`- Missing tools: ${b.missingToolBehavior}`]:[],...f.length>0?[`- Channels: ${f.map(a=>`\`${a}\``).join(", ")}`]:[]].join("\n")}function n(a,b){let c=t(a,"Agent Roles");if(!c)return null;let d=a.slice(c.start,c.end),e=Array.from(d.matchAll(/^###\s+.+$/gm));for(let[a,f]of e.entries()){if(void 0===f.index)continue;let g=f.index,h=e[a+1]?.index??d.length,i=d.slice(g,h).trim();if(o(i)===b)return{start:c.start+g,end:c.start+h,content:i}}return null}function o(a){return/^###\s+.*?\(`([^`]+)`\)/m.exec(a)?.[1]??/^-\s+Agent id:\s+`([^`]+)`/m.exec(a)?.[1]??null}function p(a){return/^-\s+(Agent id|Runtime rule|Role|Primary|Preset|Model|Skills|Tools|File access|Network access|Install scope|Missing tools|Channels):/.test(a.trim())}function q(a){let b=0,c=a.length;for(;b<c&&a[b]?.trim()==="";)b+=1;for(;c>b&&a[c-1]?.trim()==="";)c-=1;return a.slice(b,c)}function r(a,b){return[...a].map((a,c)=>{let d=u(a.id)??w(u(a.name)??`agent-${c+1}`),e=b&&!d.startsWith(`${b}-`)?`${b}-${w(d)||"agent"}`:d,f=u(a.role),g=v([...a.skillIds??[],u(a.skillId)??""]);return{id:e,name:u(a.name)??f??e,role:f,enabled:!1!==a.enabled,isPrimary:!!a.isPrimary,skillId:g[0]??null,skillIds:g,toolIds:v(a.toolIds??[]),modelId:u(a.modelId),policy:a.policy??null,channelIds:v(a.channelIds??[])}}).sort((a,b)=>a.isPrimary!==b.isPrimary?a.isPrimary?-1:1:a.name.localeCompare(b.name))}function s(a,b,c,d){let e=c.trim(),f=t(a,b);if(f)return[a.slice(0,f.start).trimEnd(),e,a.slice(f.end).trimStart()].filter(Boolean).join("\n\n");if(d){let b=t(a,d);if(b)return[a.slice(0,b.end).trimEnd(),e,a.slice(b.end).trimStart()].filter(Boolean).join("\n\n")}return[a.trimEnd(),e].filter(Boolean).join("\n\n")}function t(a,b){let c=RegExp(`^##\\s+${b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*$`,"m").exec(a);if(!c||void 0===c.index)return null;let d=c.index,e=d+c[0].length,f=/^##\s+/m.exec(a.slice(e));return{start:d,end:f?.index===void 0?a.length:e+f.index}}function u(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function v(a){return Array.from(new Set(a.map(a=>a.trim()).filter(Boolean)))}function w(a){return a.normalize("NFKD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}function x(a){return a.endsWith("\n")?a:`${a}
181
+ `}},69699:(a,b,c)=>{c.d(b,{Bx:()=>i,Ck:()=>p,E_:()=>q,Ok:()=>u,V6:()=>m,Xy:()=>f,YY:()=>t,Ym:()=>v,cS:()=>s,gQ:()=>h,gv:()=>k,hi:()=>n,kc:()=>l,mp:()=>g,pV:()=>r,v0:()=>j,vp:()=>o});var d=c(76760),e=c.n(d);function f(a){return y(x(a),"sessionId")??function(a){let b=a?.trim();if(!b?.startsWith("runtime:"))return null;let c=b.split(":")[1];return c&&"dispatch"!==c?c:null}(a.observation.runtimeId)??(a.sessionId?.trim()||null)}function g(a){return y(x(a),"model")}function h(a){let b=x(a),c=b?.usage;if(!c||"object"!=typeof c)return;let d=z(c,"total")??z(c,"totalTokens")??z(c,"total_tokens");if(null!==d)return{input:z(c,"input")??z(c,"prompt_tokens")??0,output:z(c,"output")??z(c,"completion_tokens")??0,total:d,cacheRead:z(c,"cacheRead")??0}}function i(a){let b=a.result?.summary?.trim();if(!b)return null;let c=b.toLowerCase();return"completed"===c||"ok"===c||"success"===c||A(b)?null:b}function j(a){let b=v(a.result).find(a=>a.text.trim().length>0)?.text.trim()??null;return A(b)?null:b}function k(a){let b=j(a);return"completed"!==a.status||!function(a){if("string"!=typeof a)return!1;let b=a.replace(/\s+/g," ").trim().toLowerCase();return!!b&&("ready"===b||"[[reply_to_current]] ready"===b||"mission accepted"===b||"mission queued"===b)}(b)?null:a.observation.observedAt?"Dispatch finished, but the saved reply still looks like a placeholder READY response.":"Dispatch finished, but the only saved result was READY and no mission transcript was linked."}function l(a){let b=k(a);if(b)return b;if("cancelled"===a.status)return C(a.error||"Mission aborted by operator.",90);if("stalled"===a.status)return C(a.error||i(a)||"OpenClaw did not capture a final agent response.",120);let c=i(a)||j(a);return c||(a.outputDirRelative?`Dispatch runner finished \xb7 ${a.outputDirRelative}`:a.observation.observedAt?"Dispatch runner finished. Waiting for the final runtime transcript to sync.":"Dispatch runner finished.")}function m(a,b){if("completed"===a.status)return"completed";if("cancelled"===a.status)return"cancelled";if("stalled"===a.status)return"stalled";if("running"===a.status){let c=Date.parse(a.runner.lastHeartbeatAt||a.updatedAt);return!Number.isNaN(c)&&b-c>3e5?"stalled":"running"}let c=Date.parse(a.submittedAt);return!Number.isNaN(c)&&b-c>12e4?"stalled":"queued"}function n(a,b){return"completed"===b?"completed":"cancelled"===b?"cancelled":"stalled"===b?"stalled":a.observation.runtimeId||a.observation.observedAt?"runtime-observed":a.runner.lastHeartbeatAt?"waiting-for-runtime":a.runner.startedAt||a.runner.pid?"waiting-for-heartbeat":"accepted"}function o(a,b){if("completed"===b||"cancelled"===b)return C(l(a),90);if("stalled"===b)return a.error?C(a.error,90):a.runner.lastHeartbeatAt?"Working silently while AgentOS waits for the first OpenClaw runtime.":"Needs attention before the first runner heartbeat.";let c=n(a,b);return"runtime-observed"===c?"Runtime observed. Waiting for the first output update.":"waiting-for-runtime"===c?"Heartbeat received. Waiting for the first OpenClaw runtime.":"waiting-for-heartbeat"===c?"Dispatch runner started. Waiting for the first heartbeat.":"Mission accepted. Starting the OpenClaw dispatch runner."}function p(a,b){let c=m(b,Date.now()),d=n(b,c),e=Date.parse(b.updatedAt),f="completed"===c||"cancelled"===c?C(l(b),90):o(b,c);return{...a,dispatchId:b.id,status:c,subtitle:f,updatedAt:Number.isNaN(e)?a.updatedAt:e,ageMs:Number.isNaN(e)?a.ageMs:Math.max(Date.now()-e,0),liveRunCount:"running"===c||"queued"===c?Math.max(a.liveRunCount,1):0,warningCount:"stalled"===c||"cancelled"===c?Math.max(a.warningCount,1):a.warningCount,metadata:{...a.metadata,bootstrapStage:d,dispatchStatus:b.status,dispatchSubmittedAt:b.submittedAt,dispatchRunnerStartedAt:b.runner.startedAt,dispatchHeartbeatAt:b.runner.lastHeartbeatAt,dispatchObservedAt:b.observation.observedAt,outputDir:b.outputDir,outputDirRelative:b.outputDirRelative}}}function q(a){let b=B(a.outputDir),c=B(a.outputDirRelative);for(let d of[i(a),j(a)].filter(a=>"string"==typeof a&&a.trim().length>0))for(let a of function(a){if("string"!=typeof a||0===a.trim().length)return[];let b=[...a.matchAll(/(?:^|[\s:])((?:\/[^\s`),;]+)+\.[A-Za-z0-9][A-Za-z0-9._-]*)/g),...a.matchAll(/(?:^|[\s(])((?:\.{1,2}\/)?deliverables\/[^\s`),;]+)/g),...a.matchAll(/\]\(((?:\/|\.{1,2}\/|deliverables\/)[^)]+)\)/g),...a.matchAll(/`((?:\/|\.{1,2}\/|deliverables\/)[^`\n]+)`/g)],c=[];for(let a of b){let b=(a[1]||"").trim();b&&function(a){let b=a.trim().replace(/[`'")\],;]+$/g,"");return!(!b||b.endsWith("/"))&&e().posix.basename(b).includes(".")}(b)&&c.push({path:b,displayPath:b})}return function(a){let b=new Set,c=[];for(let d of a)!d.path||b.has(d.path)||(b.add(d.path),c.push(d));return c}(c)}(d)){let d=function(a,b,c){let d=B(a),f=B(b),g=B(c);if(!d)return null;if(e().isAbsolute(d)||!f||!g)return d;let h=g.replace(/\/+$/,""),i=d.replace(/\/+$/,"");if(i===h)return f;let j=`${h}/`;return i.startsWith(j)?e().join(f,i.slice(j.length)):d}(a.path,b,c);if(d)return{path:d,displayPath:a.displayPath}}return null}function r(a,b){var c,d;if(!b.finalText&&!a.runId)return null;let e=(c=a.tokenUsage,d=b.tokenUsage,c?d&&d.total>c.total?d:c:d),f=!!(a.agentId||a.sessionId||a.modelId||e);return{runId:a.runId||`runtime:${a.id}`,status:b.errorMessage?"error":"ok",summary:b.errorMessage||"completed",...f?{meta:{agentMeta:{agentId:a.agentId,sessionId:a.sessionId,model:a.modelId,usage:e}}}:{},...b.finalText?{result:{payloads:[{text:b.finalText,mediaUrl:null}]}}:{}}}function s(a){return"running"===a||"completed"===a||"stalled"===a||"cancelled"===a?a:"queued"}function t(a){return"off"===a||"minimal"===a||"low"===a||"high"===a?a:"medium"}function u(a){let b=v(a),c=w(a);return"object"==typeof a&&null!==a&&("string"==typeof a.runId||"string"==typeof a.status||"string"==typeof a.summary||b.length>0||!!c)}function v(a){return a&&"object"==typeof a?(Array.isArray(a.result?.payloads)?a.result?.payloads:Array.isArray(a.payloads)?a.payloads:[]).filter(a=>!!a&&"string"==typeof a.text):[]}function w(a){if(!a||"object"!=typeof a)return null;let b=a.result?.meta??a.meta;return b&&"object"==typeof b?b:null}function x(a){let b=w(a.result);if(!b||"object"!=typeof b)return null;let c=b.agentMeta;return c&&"object"==typeof c?c:null}function y(a,b){let c=a?.[b];return"string"==typeof c&&c.trim().length>0?c:null}function z(a,b){let c=a?.[b];return"number"==typeof c&&Number.isFinite(c)?c:null}function A(a){if(!a)return!1;let b=a.trim().toLowerCase();return"ready"===b||"completed"===b||"complete"===b||"ok"===b||"success"===b}function B(a){return a?.trim()||void 0}function C(a,b){let c=a.replace(/\s+/g," ").trim();return c.length<=b?c:`${c.slice(0,Math.max(b-1,1)).trimEnd()}…`}},70016:(a,b,c)=>{c.d(b,{$Z:()=>g,kO:()=>h});var d=c(77598),e=c(21916),f=c(96109);function g(a,b,c,d={}){let l=a.agentId??j(a.key),m=c.find(a=>a.id===l),n=b.find(a=>a.id===l),o=m?.workspace||n?.workspace,p=o?(d.resolveWorkspaceId??f.S_)(o):void 0,q=i(a.key,"task"),r=i(a.key,"stage"),s=a.model&&a.model.includes("/")?a.model:n?.model||m?.model||"unassigned",t=(0,e.xH)(r,a.key,a.ageMs),u=h(a),v=q?q.slice(0,8):null,w="agent-chat"===a.origin;return{id:u,source:"session",key:a.key||"unknown-session",title:w?"Agent chat session":v?`${k(l)} \xb7 ${v}`:`${k(l)} session`,subtitle:w?"direct chat":v?`task ${v} \xb7 ${r||"running"}`:"main session",status:t,updatedAt:a.updatedAt??null,ageMs:a.ageMs??null,agentId:l,workspaceId:p,modelId:s,sessionId:a.sessionId,taskId:q,tokenUsage:"number"==typeof a.totalTokens||"number"==typeof a.inputTokens?{input:a.inputTokens??0,output:a.outputTokens??0,total:a.totalTokens??(a.inputTokens??0)+(a.outputTokens??0),cacheRead:a.cacheRead??0}:void 0,metadata:{kind:a.kind??"direct",chatType:a.kind??"direct",origin:a.origin??null,dispatchId:a.dispatchId??null,mission:a.mission??null,routedMission:a.routedMission??null,dispatchSubmittedAt:a.dispatchSubmittedAt??null,stage:r??null,historical:!1}}}function h(a){let b=i(a.key,"task")||a.key||a.sessionId||String(Math.random()),c=a.sessionId||l(a.agentId||j(a.key)||"sessionless");return`runtime:${c}:${l(b)}`}function i(a,b){if(!a)return;let c=`:${b}:`,d=a.indexOf(c);if(-1!==d)return a.slice(d+c.length).split(":")[0]}function j(a){if(!a)return;let b=/^agent:([^:]+)/.exec(a);return b?.[1]}function k(a){return a?a.split(/[-_]/g).filter(Boolean).map(a=>a[0].toUpperCase()+a.slice(1)).join(" "):"OpenClaw"}function l(a){return(0,d.createHash)("sha1").update(a).digest("hex").slice(0,10)}},71065:(a,b,c)=>{c.d(b,{Uo:()=>n,N2:()=>l,AB:()=>p,If:()=>o,D9:()=>m,H5:()=>q,at:()=>r,CI:()=>s,rH:()=>v,jq:()=>u,ZF:()=>t});var d=c(51455),e=c(76760),f=c.n(e),g=c(39503);c(93628);var h=c(27091),i=c(98752);function j(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function k(a){return Array.from(new Set(a.filter(Boolean)))}function l(a,b){return f().join(a,".openclaw","agents",b,"agent")}function m(a){return{enabled:a.enabled,every:a.every??void 0}}function n(a){return`agent-policy-${a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"agent"}`}function o(a){return!!(a&&/^agent-policy-/.test(a))}function p(a){return a.filter(a=>!o(a))}function q(a){return k(p(a).filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean))}function r(a){return k(a.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(a=>!!a&&"fs.workspaceOnly"!==a))}async function s(a){try{let b=await (0,g.rw)().getConfig("agents.list");if(Array.isArray(b))return b;return null==b&&a?w(a):[]}catch(c){let b;if(b=function(a){if(!a)return"";if(a instanceof Error){let b=[a.message];return"stderr"in a&&"string"==typeof a.stderr&&b.push(a.stderr),"stdout"in a&&"string"==typeof a.stdout&&b.push(a.stdout),b.filter(Boolean).join("\n")}return"string"==typeof a?a:""}(c),/Config path not found:\s*agents\.list|Config path not found:\s*agents\.list/i.test(b))return a?w(a):[];throw c}}async function t(a){await (0,g.rw)().setConfig("agents.list",a,{strictJson:!0})}async function u(a,b,c,d,e){let f=await (0,i.rh)(e,"agent-config.read",()=>s(d)),g=f.findIndex(b=>b.id===a),h=g>=0?{...f[g]}:{id:a,workspace:b};if(h.workspace=b,void 0!==c.agentDir){let a=j(c.agentDir);a?h.agentDir=a:delete h.agentDir}if(void 0!==c.name){let a=j(c.name);a?h.name=a:delete h.name}if(void 0!==c.model){let a=j(c.model);a?h.model=a:delete h.model}if(c.heartbeat?.every?h.heartbeat={every:c.heartbeat.every}:null===c.heartbeat&&delete h.heartbeat,Array.isArray(c.skills)&&c.skills.length>0?h.skills=k(c.skills):Array.isArray(c.skills)&&delete h.skills,c.tools?h.tools=c.tools:null===c.tools&&delete h.tools,void 0!==c.identity)if(null===c.identity)delete h.identity;else{var l;let a,b,d,e,f=(a=j((l=c.identity).name),b=j(l.emoji),d=j(l.theme),e=j(l.avatar),{...a?{name:a}:{},...b?{emoji:b}:{},...d?{theme:d}:{},...e?{avatar:e}:{}});Object.keys(f).length>0?h.identity=f:delete h.identity}return g>=0?f[g]=h:f.push(h),await (0,i.rh)(e,"agent-config.write",()=>t(f)),h}async function v(a,b,c){let e=j(c)??l(b,a);await Promise.all(["IDENTITY.md","SOUL.md","TOOLS.md","HEARTBEAT.md"].map(a=>(0,d.rm)(f().join(e,a),{force:!0}).catch(()=>void 0)))}function w(a){return a.agents.map(a=>{let b=(0,h.CK)(a),c={name:b,...a.identity.emoji?{emoji:a.identity.emoji}:{},...a.identity.theme?{theme:a.identity.theme}:{},...a.identity.avatar?{avatar:a.identity.avatar}:{}},d={id:a.id,workspace:a.workspacePath,agentDir:a.agentDir,name:b};return a.modelId&&"unassigned"!==a.modelId&&(d.model=a.modelId),a.heartbeat.enabled&&a.heartbeat.every&&(d.heartbeat={every:a.heartbeat.every}),a.skills.length>0&&(d.skills=k(a.skills)),a.tools.includes("fs.workspaceOnly")&&(d.tools={fs:{workspaceOnly:!0}}),Object.keys(c).length>0&&(d.identity=c),a.isDefault&&(d.default=!0),d})}},72761:(a,b,c)=>{c.d(b,{Qc:()=>s,hC:()=>q,ot:()=>r});var d=c(51455),e=c(76760),f=c.n(e),g=c(39503),h=c(25303),i=c(56763);let j=f().join(process.cwd(),".mission-control","gateway-events"),k=null,l=null,m=null,n=0,o=!1,p=new Set;function q(){k||l||(l=t().finally(()=>{l=null}))}function r(a){return p.add(a),q(),()=>{p.delete(a)}}async function s(){try{let a=await (0,d.readdir)(j,{withFileTypes:!0});return(await Promise.all(a.filter(a=>a.isFile()&&a.name.endsWith(".json")).map(a=>w(f().join(j,a.name))))).filter(a=>!!a).sort((a,b)=>(b.updatedAt??0)-(a.updatedAt??0)).slice(0,500)}catch{return[]}}async function t(){let a=await (0,h.N3)().catch(()=>null);if(a?.eventBridge!=="unsupported")try{k=await (0,g.rw)().subscribeRuntimeEvents({includeSessions:!0,includeTasks:!0,includeArtifacts:!0,includeApprovals:!0},{onEvent:a=>{(function(a){for(let b of[...p])try{b(a)}catch(a){a instanceof Error?a.message:String(a)}})(a),v(a).catch(a=>{a instanceof Error?a.message:String(a)})},onError:a=>{a instanceof Error?a.message:String(a)},onClose:()=>{k=null,u()}},{timeoutMs:5e3}),n=0}catch(a){k=null,a instanceof Error?a.message:String(a),u()}}function u(){if(o){o=!1;return}k||l||m||(n+=1,m=setTimeout(()=>{m=null,q()},Math.min(3e4,1e3*2**Math.max(0,n-1))))}async function v(a){let b=(0,i.wz)(a);if(!b)return;new Date(b.updatedAt??Date.now()).toISOString(),await (0,d.mkdir)(j,{recursive:!0});let c=f().join(j,`${b.id.replace(/[^a-zA-Z0-9._-]+/g,"-")}.json`),e=`${c}.${process.pid}.tmp`;await (0,d.writeFile)(e,`${JSON.stringify(b,null,2)}
182
+ `,"utf8"),await (0,d.rename)(e,c)}async function w(a){try{var b;let c=JSON.parse(await (0,d.readFile)(a,"utf8"));if(!c||"string"!=typeof c.id||"string"!=typeof c.key)return null;return{id:c.id,source:"session"===c.source||"cron"===c.source?c.source:"turn",key:c.key,title:"string"==typeof c.title?c.title:"Gateway runtime event",subtitle:"string"==typeof c.subtitle?c.subtitle:"OpenClaw Gateway event",status:c.status??"running",updatedAt:"number"==typeof c.updatedAt?c.updatedAt:null,ageMs:"number"==typeof c.updatedAt?Math.max(0,Date.now()-c.updatedAt):null,agentId:"string"==typeof c.agentId?c.agentId:void 0,workspaceId:"string"==typeof c.workspaceId?c.workspaceId:void 0,modelId:"string"==typeof c.modelId?c.modelId:void 0,sessionId:"string"==typeof c.sessionId?c.sessionId:void 0,taskId:"string"==typeof c.taskId?c.taskId:void 0,runId:"string"==typeof c.runId?c.runId:void 0,toolNames:Array.isArray(c.toolNames)?c.toolNames.filter(a=>"string"==typeof a):void 0,tokenUsage:c.tokenUsage,metadata:(b=c.metadata)&&"object"==typeof b&&!Array.isArray(b)?c.metadata:{}}}catch{return null}}},75402:(a,b,c)=>{c.d(b,{BY:()=>h,q6:()=>i,wh:()=>j});var d=c(48161),e=c.n(d),f=c(76760),g=c.n(f);let h=g().join(process.cwd(),".mission-control"),i=g().join(h,"channel-registry.json"),j=g().join(e().homedir(),".openclaw")},80410:(a,b,c)=>{c.d(b,{Bi:()=>o,CD:()=>i,Ip:()=>j,U8:()=>l,ho:()=>n,kw:()=>h});var d=c(77598),e=c(14414),f=c(27091),g=c(69699);function h(a,b){if(0===a.length||0===b.length)return a;let c=new Map;for(let a of b){var d,e;let b=(0,g.Xy)(a);a.agentId&&b&&c.set((d=a.agentId,e=b,`${d}:${e}`),a)}return 0===c.size?a:a.map(a=>{var b,d;let e=a.agentId&&a.sessionId?c.get((b=a.agentId,d=a.sessionId,`${b}:${d}`)):null;return e?{...a,kind:"task",origin:"mission-dispatch",dispatchId:e.id,mission:e.mission,routedMission:e.routedMission,dispatchSubmittedAt:e.submittedAt}:a})}function i(a,b){if(0===a.length||0===b.length)return a;let c=[...a],d=new Map(c.map((a,b)=>[a.id,b]));for(let a of b){let b=a.observation.runtimeId?.trim(),e=(b&&d.has(b)?c[d.get(b)]:null)??k(a,c),f=function(a,b,c){let d=new Map;c&&d.set(c.id,c);let e=(0,g.Xy)(a);if(!e)return Array.from(d.values());let f=Date.parse(a.submittedAt),h=Number.isNaN(f)?0:f-1500;for(let c of b){if(l(c)||c.agentId!==a.agentId||(c.updatedAt??0)<h)continue;let b="string"==typeof c.metadata.dispatchId?c.metadata.dispatchId.trim():"",f="string"==typeof c.runId?c.runId.trim():"";(b===a.id||f===a.id||c.sessionId===e)&&d.set(c.id,c)}return Array.from(d.values())}(a,c,e);if(0!==f.length)for(let b of f){let e=d.get(b.id);"number"==typeof e&&(c[e]=m(c[e],a))}}return c}async function j(a,b,c){let d=[],e=Date.now();for(let f of b){let b=k(f,a);if(b){let e=function(a,b){if(a.tokenUsage&&a.modelId)return a;let c=a.sessionId?.trim();if(!a.agentId||!c)return a;let d=b.filter(b=>b.id!==a.id&&b.agentId===a.agentId&&b.sessionId===c&&!!(b.tokenUsage||b.modelId)).sort(q)[0];return d?{...a,modelId:a.modelId??d.modelId,tokenUsage:a.tokenUsage??d.tokenUsage,metadata:{...a.metadata,...d.tokenUsage?{usageSessionRuntimeId:d.id}:{}}}:a}(b,a);await c.persistObservation(f,e);let g=await c.reconcileRuntimeState(f,e)??f;d.push(m(e,g));continue}let h=await c.buildObservedRuntime(f);if(h){let a=await c.reconcileRuntimeState(f,h)??f;d.push(n(a,h.sessionId??(0,g.Xy)(a)??void 0));continue}d.push(o(f,e))}return d.sort(q)}function k(a,b){var c,d;let f=Date.parse(a.submittedAt),h=Date.now(),i=(0,g.V6)(a,h),j=(0,g.Xy)(a),k=a.observation.runtimeId?.trim()||null;return(c=k,d=b,p(a.status)&&c&&!d.some(a=>a.id===c))?null:b.map(b=>({runtime:b,score:function(a,b,c){if(l(a)||a.agentId!==b.agentId)return null;let d="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",f="string"==typeof a.runId?a.runId.trim():"";if(d&&d!==b.id||(a.updatedAt??0)<(Number.isNaN(c.submittedAt)?0:c.submittedAt-1500))return null;if(f===b.id){var g,h,i;let c=120*(g=a.sessionId,h=b.agentId,!!("string"==typeof g&&g.startsWith(`agent:${h}:`)));return("completed"===(i=a.status)||"stalled"===i||"cancelled"===i?11e3:9e3)-c}if(c.observedRuntimeId&&a.id===c.observedRuntimeId)return 1e4;let j=!!(c.sessionId&&a.sessionId===c.sessionId);if("completed"===c.effectiveStatus||"stalled"===c.effectiveStatus||"cancelled"===c.effectiveStatus)return d===b.id?500:j?420:null;if(c.sessionId&&!j)return null;let k=(0,e.gP)(a,b.mission,{agentId:b.agentId,submittedAt:c.submittedAt});return"turn"!==a.source||k||j?0+("turn"===a.source?400:"session"===a.source?40:20)+240*!!k+120*!!j+80*(d===b.id):null}(b,a,{submittedAt:f,sessionId:j,observedRuntimeId:k,effectiveStatus:i})})).filter(a=>"number"==typeof a.score).sort((a,b)=>b.score-a.score||q(a.runtime,b.runtime))[0]?.runtime}function l(a){return a.id.startsWith("runtime:dispatch:")}function m(a,b){var c,d;let e,h="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",i=function(a){let b="string"==typeof a.metadata.mission?a.metadata.mission:"string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null;if(!b)return null;let c=(0,f.ho)(b);return c.length>0?c:null}(a),j=b.workspaceId??a.workspaceId,k=(0,g.E_)(b),l=a.tokenUsage??(0,g.gQ)(b),m=a.modelId??(0,g.mp)(b)??void 0,n=p(b.status)?b.status:a.status;return h===b.id&&i&&"string"==typeof a.metadata.dispatchStatus&&a.metadata.dispatchStatus===b.status&&a.workspaceId===j&&a.metadata.outputDir===b.outputDir&&a.metadata.outputDirRelative===b.outputDirRelative&&(!k||(c=a,d=k.path,Array.isArray(e=c.metadata.createdFiles)&&e.some(a=>"object"==typeof a&&null!==a&&"path"in a&&"string"==typeof a.path&&a.path===d)))&&a.tokenUsage===l&&a.modelId===m&&a.status===n?a:{...a,subtitle:p(b.status)?r((0,g.kc)(b),90):a.subtitle,status:n,workspaceId:j??void 0,modelId:m,tokenUsage:l,metadata:{...a.metadata,dispatchId:b.id,dispatchStatus:b.status,dispatchSubmittedAt:b.submittedAt,dispatchRunnerStartedAt:b.runner.startedAt,dispatchHeartbeatAt:b.runner.lastHeartbeatAt,dispatchObservedAt:b.observation.observedAt,mission:b.mission,routedMission:b.routedMission,outputDir:b.outputDir,outputDirRelative:b.outputDirRelative,notesDirRelative:b.notesDirRelative,...k?{createdFiles:[k]}:{}}}}function n(a,b){let c=Date.parse(a.observation.observedAt??a.updatedAt??a.submittedAt),d=Date.now(),e=(0,g.V6)(a,d),h=b??(0,g.Xy)(a)??s(a.id),i=(0,g.gv)(a);return{id:a.observation.runtimeId||`runtime:${h}:${s(a.id)}`,source:"turn",key:`dispatch:${a.id}`,title:(0,f.$m)(a.mission,38)||"Recovered mission runtime",subtitle:i?r(i,90):"completed"===a.status||"cancelled"===a.status?r((0,g.kc)(a),90):"stalled"===a.status?"Recovered the stalled runtime from the saved transcript.":"Recovering runtime state from the saved transcript.",status:e,updatedAt:Number.isNaN(c)?null:c,ageMs:Number.isNaN(c)?null:Math.max(d-c,0),agentId:a.agentId,workspaceId:a.workspaceId??void 0,modelId:(0,g.mp)(a)??void 0,sessionId:h,tokenUsage:(0,g.gQ)(a),metadata:{mission:a.mission,dispatchId:a.id,routedMission:a.routedMission,outputDir:a.outputDir,outputDirRelative:a.outputDirRelative,notesDirRelative:a.notesDirRelative,error:a.error,sessionId:h,pendingCreation:"queued"===e||"running"===e,bootstrapStage:(0,g.hi)(a,e),dispatchStatus:a.status,dispatchSubmittedAt:a.submittedAt,dispatchRunnerStartedAt:a.runner.startedAt,dispatchHeartbeatAt:a.runner.lastHeartbeatAt,dispatchObservedAt:a.observation.observedAt,recoveredFromObservation:!0,...i?{warnings:[i],warningSummary:i}:{}}}}function o(a,b){let c=Date.parse(a.updatedAt),d=(0,g.V6)(a,b),e=(0,g.hi)(a,d),h=(0,g.vp)(a,d),i=(0,g.Xy)(a),j=(0,g.mp)(a),k=(0,g.gQ)(a),l=(0,g.gv)(a);return{id:`runtime:dispatch:${a.id}`,source:"turn",key:`dispatch:${a.id}`,title:(0,f.$m)(a.mission,38)||"Queued mission",subtitle:l?r(l,90):h,status:d,updatedAt:Number.isNaN(c)?Date.parse(a.submittedAt)||null:c,ageMs:Number.isNaN(c)?null:Math.max(b-c,0),agentId:a.agentId,workspaceId:a.workspaceId??void 0,modelId:j??void 0,sessionId:i??void 0,runId:a.result?.runId,tokenUsage:k,metadata:{dispatchId:a.id,mission:a.mission,routedMission:a.routedMission,outputDir:a.outputDir,outputDirRelative:a.outputDirRelative,notesDirRelative:a.notesDirRelative,error:a.error,sessionId:i,pendingCreation:"queued"===d||"running"===d,bootstrapStage:e,dispatchStatus:a.status,dispatchSubmittedAt:a.submittedAt,dispatchRunnerStartedAt:a.runner.startedAt,dispatchHeartbeatAt:a.runner.lastHeartbeatAt,dispatchObservedAt:a.observation.observedAt,...l?{warnings:[l],warningSummary:l}:{}}}}function p(a){return"completed"===a||"stalled"===a||"cancelled"===a}function q(a,b){return(b.updatedAt??0)-(a.updatedAt??0)}function r(a,b){let c=a.replace(/\s+/g," ").trim();return c.length<=b?c:`${c.slice(0,Math.max(b-1,1)).trimEnd()}…`}function s(a){return(0,d.createHash)("sha1").update(a).digest("hex").slice(0,12)}},83761:(a,b,c)=>{c.d(b,{k:()=>g});var d=c(76760),e=c.n(d),f=c(51455);async function g(a){try{let b=await (0,f.readFile)(e().join(a,"openclaw.json"),"utf8"),c=JSON.parse(b),d=c.agents?.list;return{status:"fulfilled",value:Array.isArray(d)?d:[]}}catch(a){return{status:"rejected",reason:a}}}},88978:(a,b,c)=>{c.d(b,{t:()=>i});var d=c(73024),e=c(51455),f=c(76760),g=c.n(f);async function h(a,b={}){try{if(!1!==b.createIfMissing&&await (0,e.mkdir)(a,{recursive:!0}),await (0,e.access)(a,d.constants.R_OK|d.constants.W_OK),b.touch){let b=g().join(a,`.agentos-write-check-${process.pid}-${Date.now()}-${Math.random().toString(16).slice(2)}`);await (0,e.writeFile)(b,"","utf8"),await (0,e.rm)(b,{force:!0})}return{writable:!0,issue:null}}catch(b){return{writable:!1,issue:function(a,b){if(!b||"object"!=typeof b)return`${a}: unknown filesystem error`;let c="code"in b&&"string"==typeof b.code?b.code:"unknown",d="message"in b&&"string"==typeof b.message?b.message:"unknown filesystem error";return`${a}: ${c} ${d}`}(a,b)}}}async function i(a,b,c={}){let d=[...new Set(b.filter(Boolean))],e=await h(a,{createIfMissing:!0,touch:c.touch}),f=await Promise.all(d.map(async b=>{let d=function(a,b,c){let d="string"==typeof c&&c.trim()?g().resolve(c.trim()):null;if(d){let a="agent"===g().basename(d)?g().dirname(d):d;return g().join(a,"sessions")}return g().join(a,"agents",b,"sessions")}(a,b,c.agentDirs?.[b]),e=await h(d,{createIfMissing:!0,touch:c.touch});return{id:b,path:d,writable:e.writable,issue:e.issue}})),j=f.every(a=>a.writable),k=[e.writable?null:`OpenClaw state root is not writable. ${e.issue??a}`,...f.filter(a=>!a.writable).map(a=>`OpenClaw session store for ${a.id} is not writable. ${a.issue??a.path}`)].filter(a=>!!a);return{stateRoot:a,stateWritable:e.writable,sessionStoreWritable:e.writable&&j,sessionStores:f,issues:k}}},92273:(a,b,c)=>{c.d(b,{i:()=>f});var d=c(77030),e=c.n(d);async function f(a=18789){return await g("127.0.0.1",a,750)?{service:{label:"Local port probe",loaded:!0},gateway:{bindMode:"loopback",port:a,probeUrl:`ws://127.0.0.1:${a}`}}:null}async function g(a,b,c){return await new Promise(d=>{let f=e().createConnection({host:a,port:b}),g=!1,h=a=>{g||(g=!0,f.removeAllListeners(),f.destroy(),d(a))};f.setTimeout(c),f.once("connect",()=>h(!0)),f.once("error",()=>h(!1)),f.once("timeout",()=>h(!1))})}},93628:(a,b,c)=>{c.d(b,{Cf:()=>j,Ew:()=>p,Pj:()=>o,X0:()=>l,_P:()=>t,_Y:()=>k,aB:()=>u,c_:()=>r,g0:()=>m,go:()=>s,hR:()=>q,iN:()=>e,qF:()=>n});var d=c(1118);let e="worker",f=new Set(["project-builder","project-reviewer","project-tester","project-learner","project-browser","project-researcher","project-strategist","project-writer","project-analyst"]),g=new Set(d.j.map(a=>a.name)),h={worker:{label:"Worker",description:"Default execution agent for code changes, docs, research, and review work. Best when the task stays inside the workspace and does not need system-level changes.",defaultName:"Worker",defaultEmoji:"\uD83D\uDEE0️",defaultTheme:"slate",badgeVariant:"default",tools:["exec","read","write","edit","apply_patch"],skillIds:["project-builder","project-reviewer","project-tester"]},setup:{label:"Setup / Operator",description:"Bootstraps environments, handles installs, and unblocks the workspace so other agents can move faster.",defaultName:"Setup Operator",defaultEmoji:"\uD83E\uDDF0",defaultTheme:"amber",badgeVariant:"warning",tools:["exec","process","gateway","read","write"],skillIds:["project-builder","project-analyst","project-learner"]},browser:{label:"Browser",description:"Captures browser evidence, screenshots, and user-path validation for UI-heavy work.",defaultName:"Browser Agent",defaultEmoji:"\uD83C\uDF10",defaultTheme:"blue",badgeVariant:"success",tools:["browser","web_search","web_fetch","image"],skillIds:["project-browser","project-tester","project-researcher"]},monitoring:{label:"Monitoring",description:"Runs on a watch cycle, checks health and drift, and leaves concise triage handoffs.",defaultName:"Monitoring Agent",defaultEmoji:"\uD83D\uDEF0️",defaultTheme:"teal",badgeVariant:"warning",tools:["cron","gateway","sessions_list","message","web_fetch"],skillIds:["project-analyst","project-reviewer","project-learner"]},custom:{label:"Custom",description:"Starts from the safe baseline and lets you fine-tune identity, policy, and operating style by hand.",defaultName:"Custom Agent",defaultEmoji:"\uD83E\uDDE9",defaultTheme:"violet",badgeVariant:"muted",tools:["exec","read","edit","message"],skillIds:[]}},i={worker:{missingToolBehavior:"fallback",installScope:"none",fileAccess:"workspace-only",networkAccess:"enabled"},setup:{missingToolBehavior:"allow-install",installScope:"workspace",fileAccess:"workspace-only",networkAccess:"enabled"},browser:{missingToolBehavior:"ask-setup",installScope:"none",fileAccess:"workspace-only",networkAccess:"enabled"},monitoring:{missingToolBehavior:"fallback",installScope:"none",fileAccess:"workspace-only",networkAccess:"enabled"},custom:{missingToolBehavior:"fallback",installScope:"none",fileAccess:"workspace-only",networkAccess:"enabled"}};function j(a){return h[a]}function k(a){return v(a.filter(a=>f.has(a)))}function l(a){return v(a.filter(a=>g.has(a)))}function m(a=e,b){return{...i[a],...b??{},preset:a}}function n(a){let b=[...a.skills??[],a.id??"",a.name??""].join(" ").toLowerCase();return/browser|playwright|screenshot|web/.test(b)?"browser":/monitor|heartbeat|watch|triage|observer/.test(b)?"monitoring":/setup|operator|ops|install|environment/.test(b)?"setup":/custom/.test(b)?"custom":e}function o(a){return"worker"===a||"setup"===a||"browser"===a||"monitoring"===a||"custom"===a}function p(a){return"fallback"===a||"ask-setup"===a||"route-setup"===a||"allow-install"===a}function q(a){return"none"===a||"workspace"===a||"system"===a}function r(a){return"workspace-only"===a||"extended"===a}function s(a){return"restricted"===a||"enabled"===a}function t(a){return h[a].label}function u(a){return"fs.workspaceOnly"===a?"Workspace only":a.replace(/^agent-policy-/,"").replace(/^project-/,"").replace(/[._-]+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase())}function v(a){return Array.from(new Set(a.filter(Boolean)))}Object.entries(h).map(([a,b])=>({value:a,label:b.label,description:b.description}))},96109:(a,b,c)=>{c.d(b,{Fm:()=>h,S_:()=>g,hv:()=>i,xV:()=>k});var d=c(77598),e=c(76760),f=c.n(e);function g(a){return(f().basename(a)||a).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||function(a){let b=0;for(let c=0;c<a.length;c+=1)b=(b<<5)-b+a.charCodeAt(c)|0;return`workspace-${Math.abs(b)}`}(a)}function h(a){let b=new Map;for(let c of a)b.set(l(c),c);let c=new Map;for(let a of b.values()){let b=g(a);c.set(b,[...c.get(b)??[],a])}let d=new Map;for(let[a,b]of c)b.forEach((b,c)=>{d.set(l(b),0===c?a:j(b))});return a=>d.get(l(a))??g(a)}function i(a,b){return h(b)(a)}function j(a){var b;return`${g(a)}-${b=a,(0,d.createHash)("sha1").update(f().resolve(b)).digest("hex").slice(0,8)}`}function k(a,b){let c;return g(a)===b||j(a)===b||(c=(0,d.createHash)("sha1").update(a).digest("hex").slice(0,8),`workspace:${c}`===b)}function l(a){return f().resolve(a)}},96876:(a,b,c)=>{c.d(b,{Fb:()=>k,jJ:()=>l});var d=c(48161),e=c.n(d),f=c(76760),g=c.n(f);c(93628);var h=c(15292);c(14853);var i=c(70262);function j(a,b){let c=Date.now(),d=g().join(e().homedir(),"Documents","Shared","projects"),f=g().join(e().homedir(),".openclaw");return{generatedAt:new Date(c).toISOString(),revision:0,mode:"fallback",diagnostics:{installed:b.installed,loaded:b.loaded,rpcOk:b.rpcOk,health:b.health,workspaceRoot:d,configuredWorkspaceRoot:null,dashboardUrl:"http://127.0.0.1:18789/",gatewayUrl:"ws://127.0.0.1:18789",configuredGatewayUrl:null,openClawBinarySelection:(0,h.ml)(),modelReadiness:{ready:!1,defaultModel:null,resolvedDefaultModel:null,defaultModelReady:!1,recommendedModelId:null,preferredLoginProvider:null,totalModelCount:0,availableModelCount:0,localModelCount:0,remoteModelCount:0,missingModelCount:0,authProviders:[],issues:[a]},configUpdatePacing:{settings:{mode:"respect-gateway",minimumIntervalMs:null},pending:!1,pendingCount:0,pendingPaths:[],cooldownUntil:null,retryAfterMs:null,lastIssue:null,lastUpdatedAt:null},runtime:{stateRoot:f,stateWritable:!1,sessionStoreWritable:!1,sessionStores:[],smokeTest:{status:"not-run",checkedAt:null,agentId:null,runId:null,summary:null,error:null},issues:[a]},securityWarnings:[],issues:[a]},presence:[],channelAccounts:[],workspaces:[],agents:[],models:[],runtimes:[],tasks:[],relationships:[],missionPresets:[],channelRegistry:{version:1,channels:[]},surfaceRuntime:(0,i.Xy)("unavailable",a),surfaceDrift:(0,i.kz)()}}function k(a){return j(a,{installed:!0,loaded:!0,rpcOk:!1,health:"degraded"})}function l(a,b){return j(a,{installed:b.installed,loaded:b.loaded,rpcOk:b.rpcOk,health:b.rpcOk?"healthy":b.installed?"degraded":"offline"})}},98752:(a,b,c)=>{function d(){return globalThis.performance?.now?.()??Date.now()}function e(a){let b=d(),c=[];return{async measure(a,b){let e=d();try{return await b()}finally{c.push({label:a,durationMs:Math.round(d()-e)})}},summary:()=>({scope:a,totalMs:Math.round(d()-b),steps:[...c]})}}async function f(a,b,c){return a?a.measure(b,c):await c()}function g(a){let b=[`[openclaw timing] ${a.scope} total=${a.totalMs}ms`];for(let c of a.steps)b.push(`[openclaw timing] ${c.label}: ${c.durationMs}ms`);return b.join("\n")}c.d(b,{KV:()=>e,ct:()=>g,rh:()=>f})},99254:(a,b,c)=>{c.d(b,{fy:()=>G,G7:()=>H,H6:()=>J,lC:()=>K,VW:()=>D,D4:()=>I,S4:()=>h.S,QT:()=>F,vg:()=>E});var d=c(51455),e=c(76760),f=c.n(e),g=c(39503),h=c(39802),i=c(74497);let j=new Set(["telegram","discord","slack","googlechat"]),k={cron:"cron-default",email:"email-default",gmail:"gmail-default",webhook:"webhook-default"};async function l(){var a;let[b,c,d,e,f,g,h,i]=await Promise.all([m("channels"),m("hooks"),m("hooks.gmail"),m("hooks.webhook"),m("cron"),n(),m("gmail"),m("email")]);return function(a){let b=new Map;for(let c of a){let a=`${c.type}:${c.id}`,d=b.get(a);if(!d){b.set(a,c);continue}b.set(a,{...d,name:d.name||c.name,enabled:d.enabled||c.enabled,capabilities:Array.from(new Set([...d.capabilities??[],...c.capabilities??[]])),metadata:{...c.metadata??{},...d.metadata??{}}})}return Array.from(b.values())}([...function(a){if(!w(a))return[];let b=[];for(let[d,e]of Object.entries(a)){var c;if(c=d,!j.has(c)||!w(e))continue;let a=w(e.accounts)?e.accounts:{};for(let[c,e]of Object.entries(a)){let a=w(e)?e:{};q(a)&&b.push(p(d,c,a,{fallbackName:u(d,c),source:"config.channels.accounts"}))}let f=v(e.defaultAccount)??(q(e)?"default":null);!f||f in a||b.push(p(d,f,e,{fallbackName:u(d,f),source:"config.channels.default"}))}return b}(b),...o("gmail",h,"config.gmail"),...o("gmail",d,"config.hooks.gmail"),...o("email",i,"config.email"),...function(a){if(!w(a))return[];let b=[];r(a)&&b.push(p("webhook",k.webhook,a,{fallbackName:"Webhook ingress",source:"config.hooks"}));let c=w(a.gmail)?a.gmail:null;return c&&b.push(...o("gmail",c,"config.hooks.gmail")),b}(c),...w(a=e)&&r(a)?[p("webhook",t(a,k.webhook),a,{fallbackName:"Webhook ingress",source:"config.hooks.webhook"})]:[],...function(a,b){var c,d;let e=Array.isArray(c=b)?c:w(c)?Array.isArray(c.jobs)?c.jobs:Array.isArray(c.items)?c.items:[]:[];if(!w(a)&&0===e.length)return[];let f=w(a)?a:{};if(!(!0===(d=f).enabled||s(d,["jobs","schedules","failureDestination","webhook","webhookToken","store","maxConcurrentRuns","sessionRetention","runLog"]))&&0===e.length)return[];let g=t(f,k.cron),h={...w(f.metadata)?f.metadata:{},jobCount:e.length};return[p("cron",g,{...f,metadata:h},{fallbackName:e.length>0?`Cron scheduler (${e.length} job${1===e.length?"":"s"})`:"Cron scheduler",source:"config.cron"})]}(f,g)])}async function m(a){try{return await (0,g.rw)().getConfig(a)}catch{return null}}async function n(){try{return await (0,g.rw)().listCronJobs()}catch{return null}}function o(a,b,c){var d;if(!w(b))return[];let e=[],f=w(b.accounts)?b.accounts:{};for(let[b,d]of Object.entries(f))e.push(p(a,b,d,{fallbackName:u(a,b),source:`${c}.accounts`}));if(f.default||!(!0===(d=b).enabled||s(d,["account","email","address","username","imap","smtp","oauth","watch","pubsub"])))return e;let g=t(b,k[a]);return e.push(p(a,g,b,{fallbackName:u(a,g),source:c})),e}function p(a,b,c,d){var e,f,g;let h,j,k,l=w(c)?c:{},m=v(l.name)??v(l.label)??v(l.accountName)??v(l.account)??v(l.email)??v(l.address)??d.fallbackName,n=w(l.metadata)?{...l.metadata}:{},o="telegram"===a?(h=v((e=l).botToken)??v(e.token),(j=h?.split(":",1)[0]?.trim())&&/^\d+$/.test(j)?j:null):null;return{id:b,type:a,name:m,enabled:!1!==l.enabled,kind:(0,i.Yx)(a),capabilities:(f=a,g=l,k=new Set,("telegram"===f||"discord"===f||"slack"===f||"googlechat"===f)&&k.add("chat"),("gmail"===f||"email"===f)&&(k.add("inbox"),s(g,["smtp","send","outbound","drafts"])&&k.add("send")),("webhook"===f||"cron"===f)&&k.add("trigger"),"gmail"===f&&s(g,["watch","pubsub","topic","subscription"])&&k.add("trigger"),Array.from(k)),metadata:{...n,source:d.source,...o?{botId:o}:{}}}}function q(a){return!0===a.enabled||s(a,["account","token","botToken","appToken","webhookUrl","webhook","clientId"])}function r(a){return!0===a.enabled||s(a,["token","secret","path","baseUrl","mappings","webhook"])}function s(a,b){return b.some(b=>{var c;return"boolean"==typeof(c=a[b])?c:"string"==typeof c?c.trim().length>0:"number"==typeof c?Number.isFinite(c):Array.isArray(c)?c.length>0:w(c)})}function t(a,b){return v(a.accountId)??v(a.account)??v(a.id)??v(a.email)??v(a.address)??b}function u(a,b){let c=(0,i.MY)(a);return"default"===b||b===k[a]?`${c} default`:`${c} ${b}`}function v(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function w(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}var x=c(98752),y=c(58889);let z=f().join(process.cwd(),".mission-control"),A=f().join(z,"channel-registry.json");function B(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function C(a){return"object"==typeof a&&null!==a}async function D(){return E()}async function E(){try{let a=await (0,d.readFile)(A,"utf8"),b=JSON.parse(a),c=C(b)?b:{},e=Array.isArray(c.channels)?c.channels.map(a=>(0,y.kf)(a)).filter(a=>!!a):[],f=(0,y._E)({version:1,channels:e});return await Q(f)}catch{return(0,y._E)({version:1,channels:[]})}}async function F(){try{var a=await l();let b=new Map,c=[];for(let d of a){if("telegram"!==d.type){c.push(d);continue}let a="string"==typeof d.metadata?.botId&&d.metadata.botId.trim().length>0?d.metadata.botId.trim():null;if(!a){b.has(d.id)||b.set(d.id,d);continue}let e=b.get(a);if(!e){b.set(a,d);continue}P(d.id)>P(e.id)&&b.set(a,d)}return[...c,...Array.from(b.values())]}catch{return[]}}function G(a,b){let c=new Map(b.channels.filter(a=>!!a.id).map(a=>[a.id,a.name.trim()||a.id]));return a.map(a=>({...a,name:c.get(a.id)??a.name}))}function H(a){return a.channels.filter(a=>"internal"!==a.type&&a.workspaces.length>0).map(a=>({id:a.id,type:a.type,name:a.name.trim()||a.id,enabled:!0,kind:(0,i.Yx)(a.type),capabilities:[(0,i.Yx)(a.type)],metadata:{source:"channel-registry",legacy:!0}}))}function I(a){let b=new Map;for(let c of a){let a=`${c.type}:${c.id}`,d=b.get(a);if(!d){b.set(a,c);continue}b.set(a,{...d,name:d.name||c.name,enabled:!1!==d.enabled,kind:d.kind??c.kind,capabilities:Array.from(new Set([...d.capabilities??[],...c.capabilities??[]].filter(Boolean))),metadata:{...c.metadata??{},...d.metadata??{}}})}return Array.from(b.values())}async function J(a,b){switch(a.provider){case"telegram":return K(b);case"discord":return L(a.accountId,b);default:return[]}}async function K(a){let b=await (0,x.rh)(a,"telegram-discovery.read-channel-logs",()=>O("telegram",200));if(!b?.lines?.length)return await M(a);let c=new Map,d=a=>{let b=c.get(a.routeId);b?c.set(a.routeId,{routeId:a.routeId,provider:"telegram",kind:"group",title:a.title??b.title,lastSeen:Z(b.lastSeen,a.lastSeen)}):c.set(a.routeId,a)};for(let a of b.lines){let b="string"==typeof a?.time?a.time:null;for(let c of R(a,b))d(c);if("string"==typeof a?.raw)try{let c=JSON.parse(a.raw);for(let a of R(c,b))d(a)}catch{for(let c of S(a.raw,b))d(c)}if("string"==typeof a?.message)for(let c of S(a.message,b))d(c)}for(let b of(await M(a)))c.has(b.routeId)||c.set(b.routeId,b);return Array.from(c.values()).sort((a,b)=>{let c=a.title??a.routeId,d=b.title??b.routeId;return c.localeCompare(d)})}async function L(a,b){let c=await (0,x.rh)(b,"discord-discovery.read-channel-logs",()=>O("discord",300)),d=new Map,e=a=>{let b=d.get(a.routeId);b?d.set(a.routeId,{...b,title:a.title??b.title,subtitle:a.subtitle??b.subtitle,lastSeen:Z(b.lastSeen,a.lastSeen),guildId:a.guildId??b.guildId,parentId:a.parentId??b.parentId}):d.set(a.routeId,a)};for(let a of(await N(b)))e(a);for(let b of c?.lines??[]){let c="string"==typeof b?.time?b.time:null;for(let d of T(b,c,a))e(d);if("string"==typeof b?.raw)try{let d=JSON.parse(b.raw);for(let b of T(d,c,a))e(b)}catch{for(let d of U(b.raw,c,a))e(d)}if("string"==typeof b?.message)for(let d of U(b.message,c,a))e(d)}return Array.from(d.values()).sort((a,b)=>{let c=a.title??a.routeId,d=b.title??b.routeId;return c.localeCompare(d)})}async function M(a){try{let b=await (0,x.rh)(a,"telegram-discovery.read-allowlist-config",()=>(0,g.rw)().getConfig("channels.telegram.groups"));return Object.keys(b??{}).map(a=>({routeId:a,provider:"telegram",kind:"group",title:null,lastSeen:null})).sort((a,b)=>a.routeId.localeCompare(b.routeId))}catch{return[]}}async function N(a){try{let b=await (0,x.rh)(a,"discord-discovery.read-config",()=>(0,g.rw)().getConfig("channels.discord.guilds")),c=[];for(let[a,d]of Object.entries(b??{})){if(!X(a)||!C(d))continue;let b=B(d.name)??a;for(let e of Array.isArray(d.roles)?d.roles.filter(a=>"string"==typeof a||"number"==typeof a).map(a=>String(a).trim()).filter(a=>!!X(a)):[])c.push({routeId:W({kind:"role",guildId:a,targetId:e}),provider:"discord",kind:"role",title:`@${e}`,subtitle:b,lastSeen:null,guildId:a});let e=C(d.channels)?d.channels:{};for(let[d,f]of Object.entries(e)){let e=C(f)?f:{},g=X(d)??X(e.id);if(!g)continue;let h=B(e.name)??B(e.label)??`#${g}`;c.push({routeId:W({kind:"channel",guildId:a,targetId:g}),provider:"discord",kind:"channel",title:h,subtitle:b,lastSeen:null,guildId:a})}}return c}catch{return[]}}async function O(a,b){try{return await (0,g.rw)().getChannelLogs({channel:a,lines:b})}catch{return null}}function P(a){return"default"!==a?2:1}async function Q(a){let b=(await F()).filter(a=>"telegram"===a.type);if(0===b.length)return a;let c=new Set(b.map(a=>a.id)),d=new Map;for(let a of b){let b=a.name.trim().toLowerCase();if(!b)continue;let c=d.get(b)??[];c.push(a),d.set(b,c)}let e=!1,f=a.channels.map(a=>{if("telegram"!==a.type||c.has(a.id))return a;let b=d.get(a.name.trim().toLowerCase())??[];return 1!==b.length?a:(e=!0,{...a,id:b[0].id,name:b[0].name})});return e?(0,y._E)({version:1,channels:f}):a}function R(a,b){let c=new Map,d=[{value:a,depth:0}],e=new Set;for(;d.length>0;){let a=d.shift();if(!a||a.depth>6)continue;let f=a.value;if(null==f||"object"!=typeof f||e.has(f))continue;if(e.add(f),Array.isArray(f)){for(let b of f)d.push({value:b,depth:a.depth+1});continue}if(!C(f))continue;let g=Y(f.chatId);if(g){let a=B(f.title)??B(f.chatTitle)??null;c.set(g,{routeId:g,provider:"telegram",kind:"group",title:a,lastSeen:b})}for(let b of Object.values(f))d.push({value:b,depth:a.depth+1})}return Array.from(c.values())}function S(a,b){let c=new Map;for(let d of a.matchAll(/\{[^{}]*"chatId"\s*:\s*-?\d+[^{}]*\}/g)){let a=d[0];try{let d=JSON.parse(a);for(let a of R(d,b))c.set(a.routeId,a);continue}catch{}let e=a.match(/"chatId"\s*:\s*(-?\d+)/),f=Y(e?.[1]??null);if(!f)continue;let g=a.match(/"title"\s*:\s*"([^"]+)"/);c.set(f,{routeId:f,provider:"telegram",kind:"group",title:g?.[1]??null,lastSeen:b})}return Array.from(c.values())}function T(a,b,c){let d=new Map,e=[{value:a,depth:0,context:{accountId:null,guildId:null,guildName:null,channelId:null,channelName:null,threadId:null,threadName:null}}],f=new Set;for(;e.length>0;){var g,h,i,j;let a=e.shift();if(!a||a.depth>7)continue;let k=a.value;if(null==k||"object"!=typeof k||f.has(k))continue;if(f.add(k),Array.isArray(k)){for(let b of k)e.push({value:b,depth:a.depth+1,context:a.context});continue}if(!C(k))continue;let l=function(a,b){let c=C(b.guild)?b.guild:null,d=C(b.channel)?b.channel:null,e=C(b.thread)?b.thread:null,f=C(b.peer)?b.peer:null,g=B(b.kind),h=B(b.type),i=X(b.id),j=X(b.channelId)??X(b.channel_id)??X(d?.id)??(f?.kind==="channel"?X(f.id):null)??(("channel"===g||"channel"===h)&&i?i:null)??a.channelId,k=X(b.threadId)??X(b.thread_id)??X(e?.id)??(f?.kind==="thread"?X(f.id):null)??(("thread"===g||"thread"===h)&&i?i:null)??a.threadId;return{accountId:B(b.accountId)??B(b.channelAccountId)??B(b.account)??a.accountId,guildId:X(b.guildId)??X(b.guild_id)??X(c?.id)??a.guildId,guildName:B(b.guildName)??B(c?.name)??a.guildName,channelId:j,channelName:B(b.channelName)??B(d?.name)??("channel"===g||"channel"===h?B(b.name):null)??a.channelName,threadId:k,threadName:B(b.threadName)??B(e?.name)??("thread"===g||"thread"===h?B(b.name):null)??a.threadName}}(a.context,k);if(c&&l.accountId&&l.accountId!==c)continue;let m=(g=l,h=b,g.channelId?V({kind:"channel",guildId:g.guildId,targetId:g.channelId,title:g.channelName?`#${g.channelName}`:`#${g.channelId}`,subtitle:g.guildName??g.guildId,lastSeen:h}):null);m&&d.set(m.routeId,m);let n=(i=l,j=b,i.threadId?V({kind:"thread",guildId:i.guildId,targetId:i.threadId,parentId:i.channelId,title:i.threadName??`Thread ${i.threadId}`,subtitle:i.channelName&&i.guildName?`#${i.channelName} \xb7 ${i.guildName}`:i.channelName?`#${i.channelName}`:i.guildName??i.guildId,lastSeen:j}):null);for(let a of(n&&d.set(n.routeId,n),function(a,b,c){if(!b.guildId)return[];let d=new Map;for(let e of[a.roleIds,a.memberRoleIds,a.roles,C(a.member)?a.member.roles:null])if(Array.isArray(e))for(let a of e){let e=X(a)??(C(a)?X(a.id):null);if(!e)continue;let f=C(a)?B(a.name):null,g=V({kind:"role",guildId:b.guildId,targetId:e,title:f?`@${f}`:`@${e}`,subtitle:b.guildName??b.guildId,lastSeen:c});d.set(g.routeId,g)}return Array.from(d.values())}(k,l,b)))d.set(a.routeId,a);for(let b of Object.values(k))e.push({value:b,depth:a.depth+1,context:l})}return Array.from(d.values())}function U(a,b,c){let d=new Map,e=a.match(/accountId["=:\s]+([A-Za-z0-9._-]+)/i)?.[1]??null;if(c&&e&&e!==c)return[];for(let e of a.matchAll(/\{[^{}]*(guildId|channelId|threadId|roleIds|roles)[^{}]*\}/g))try{let a=JSON.parse(e[0]);for(let e of T(a,b,c))d.set(e.routeId,e)}catch{}let f=X(a.match(/guild(?:Id)?["=:\s]+(\d{5,})/i)?.[1]??null),g=X(a.match(/channel(?:Id)?["=:\s]+(\d{5,})/i)?.[1]??null),h=X(a.match(/thread(?:Id)?["=:\s]+(\d{5,})/i)?.[1]??null);if(g){let a=V({kind:"channel",guildId:f,targetId:g,title:`#${g}`,subtitle:f?`Guild ${f}`:null,lastSeen:b});d.set(a.routeId,a)}if(h){let a=V({kind:"thread",guildId:f,targetId:h,parentId:g,title:`Thread ${h}`,subtitle:g?`Channel ${g}`:f?`Guild ${f}`:null,lastSeen:b});d.set(a.routeId,a)}if(f)for(let c of(a.match(/roles?["=:\s]+\[([^\]]+)\]/i)?.[1]??"").matchAll(/\b(\d{5,})\b/g)){let a=X(c[1]);if(!a)continue;let e=V({kind:"role",guildId:f,targetId:a,title:`@${a}`,subtitle:`Guild ${f}`,lastSeen:b});d.set(e.routeId,e)}return Array.from(d.values())}function V(a){return{routeId:W({kind:a.kind,guildId:a.guildId,targetId:a.targetId,parentId:a.parentId}),provider:"discord",kind:a.kind,title:a.title,subtitle:a.subtitle,lastSeen:a.lastSeen,guildId:a.guildId,parentId:a.parentId??null}}function W(a){let b=a.guildId??"_";return"thread"===a.kind?`thread:${b}:${a.targetId}:${a.parentId??"_"}`:`${a.kind}:${b}:${a.targetId}`}function X(a){if("number"==typeof a&&Number.isFinite(a))return String(a);if("string"!=typeof a)return null;let b=a.trim();return/^\d{5,}$/.test(b)?b:null}function Y(a){if("number"==typeof a&&Number.isFinite(a)&&a<0)return String(a);if("string"!=typeof a)return null;let b=a.trim();return/^-\d+$/.test(b)?b:null}function Z(a,b){if(!b)return a;if(!a)return b;let c=Date.parse(a),d=Date.parse(b);return Number.isNaN(d)?a:Number.isNaN(c)||d>c?b:a}}};