@sapienx/agentos 0.6.9 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/.next/BUILD_ID +1 -1
- package/bundle/.next/app-path-routes-manifest.json +16 -16
- package/bundle/.next/build-manifest.json +3 -3
- package/bundle/.next/prerender-manifest.json +3 -3
- package/bundle/.next/react-loadable-manifest.json +3 -3
- package/bundle/.next/required-server-files.json +1 -1
- package/bundle/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/_global-error.html +1 -1
- package/bundle/.next/server/app/_global-error.rsc +1 -1
- package/bundle/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/bundle/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/bundle/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/bundle/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/bundle/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/bundle/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/bundle/.next/server/app/_not-found/page.js +3 -3
- package/bundle/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/bundle/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/_not-found.html +1 -12
- package/bundle/.next/server/app/_not-found.rsc +17 -16
- package/bundle/.next/server/app/_not-found.segments/_full.segment.rsc +17 -16
- package/bundle/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/bundle/.next/server/app/_not-found.segments/_index.segment.rsc +6 -5
- package/bundle/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/bundle/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/bundle/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/bundle/.next/server/app/accounts/page.js +1 -1
- package/bundle/.next/server/app/accounts/page.js.nft.json +1 -1
- package/bundle/.next/server/app/accounts/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/agents/page.js +1 -1
- package/bundle/.next/server/app/agents/page.js.nft.json +1 -1
- package/bundle/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/api/accounts/access-rules/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/accounts/browser-profiles/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/accounts/login-targets/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/agents/[agentId]/chat/route.js +2 -2
- package/bundle/.next/server/app/api/agents/[agentId]/chat/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/agents/route.js +1 -1
- package/bundle/.next/server/app/api/agents/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/diagnostics/route.js +1 -1
- package/bundle/.next/server/app/api/diagnostics/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/gateway/control/route.js +1 -1
- package/bundle/.next/server/app/api/gateway/control/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/integrations/[integrationId]/status/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/mission/route.js +2 -2
- package/bundle/.next/server/app/api/mission/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/models/catalog/route.js +1 -1
- package/bundle/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/models/providers/route.js +1 -1
- package/bundle/.next/server/app/api/models/providers/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/onboarding/models/route.js +2 -2
- package/bundle/.next/server/app/api/onboarding/models/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/onboarding/route.js +2 -2
- package/bundle/.next/server/app/api/onboarding/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/openclaw/capabilities/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/openclaw/compatibility-smoke/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/deploy/route.js +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/deploy/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/document-rewrite/route.js +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/document-rewrite/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/route.js +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/simulate/route.js +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/simulate/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/turn/route.js +1 -1
- package/bundle/.next/server/app/api/planner/[planId]/turn/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/planner/route.js +1 -1
- package/bundle/.next/server/app/api/planner/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/reset/route.js +2 -2
- package/bundle/.next/server/app/api/reset/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/runtimes/[runtimeId]/route.js +1 -1
- package/bundle/.next/server/app/api/runtimes/[runtimeId]/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/settings/config-pacing/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/settings/gateway/route.js +1 -1
- package/bundle/.next/server/app/api/settings/gateway/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/settings/openclaw-binary/route.js +1 -1
- package/bundle/.next/server/app/api/settings/openclaw-binary/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/settings/workspace-root/route.js +1 -1
- package/bundle/.next/server/app/api/settings/workspace-root/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/snapshot/route.js +1 -1
- package/bundle/.next/server/app/api/snapshot/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/stream/route.js +2 -2
- package/bundle/.next/server/app/api/stream/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/tasks/[taskId]/abort/route.js +1 -1
- package/bundle/.next/server/app/api/tasks/[taskId]/abort/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/tasks/[taskId]/control/route.js +1 -1
- package/bundle/.next/server/app/api/tasks/[taskId]/control/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/tasks/[taskId]/stream/route.js +2 -2
- package/bundle/.next/server/app/api/tasks/[taskId]/stream/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/update/route.js +2 -2
- package/bundle/.next/server/app/api/update/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/channels/discovered-groups/route.js +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/channels/discovered-groups/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/channels/route.js +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/channels/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/edit-draft/route.js +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/edit-draft/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/files/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/surfaces/discovery/route.js +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/surfaces/discovery/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/surfaces/reconcile/route.js +1 -1
- package/bundle/.next/server/app/api/workspaces/[workspaceId]/surfaces/reconcile/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/workspaces/route.js +2 -2
- package/bundle/.next/server/app/api/workspaces/route.js.nft.json +1 -1
- package/bundle/.next/server/app/dashboard/page.js +1 -1
- package/bundle/.next/server/app/dashboard/page.js.nft.json +1 -1
- package/bundle/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/files/page.js +1 -1
- package/bundle/.next/server/app/files/page.js.nft.json +1 -1
- package/bundle/.next/server/app/files/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/integrations/page.js +1 -1
- package/bundle/.next/server/app/integrations/page.js.nft.json +1 -1
- package/bundle/.next/server/app/integrations/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/mission-control/page.js +1 -1
- package/bundle/.next/server/app/mission-control/page.js.nft.json +1 -1
- package/bundle/.next/server/app/mission-control/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/models/page.js +1 -1
- package/bundle/.next/server/app/models/page.js.nft.json +1 -1
- package/bundle/.next/server/app/models/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/page.js +1 -1
- package/bundle/.next/server/app/page.js.nft.json +1 -1
- package/bundle/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/settings/page.js +1 -1
- package/bundle/.next/server/app/settings/page.js.nft.json +1 -1
- package/bundle/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/tasks/page.js +1 -1
- package/bundle/.next/server/app/tasks/page.js.nft.json +1 -1
- package/bundle/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app-paths-manifest.json +16 -16
- package/bundle/.next/server/chunks/4020.js +2 -2
- package/bundle/.next/server/chunks/4391.js +3 -3
- package/bundle/.next/server/chunks/{4669.js → 4834.js} +2 -2
- package/bundle/.next/server/chunks/4983.js +2 -2
- package/bundle/.next/server/chunks/5110.js +185 -0
- package/bundle/.next/server/chunks/7042.js +7 -0
- package/bundle/.next/server/chunks/7092.js +1 -1
- package/bundle/.next/server/chunks/7639.js +1 -1
- package/bundle/.next/server/chunks/824.js +1 -0
- package/bundle/.next/server/chunks/{4767.js → 849.js} +11 -9
- package/bundle/.next/server/middleware-build-manifest.js +1 -1
- package/bundle/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/bundle/.next/server/pages/404.html +1 -12
- package/bundle/.next/server/pages/500.html +1 -1
- package/bundle/.next/server/server-reference-manifest.json +1 -1
- package/bundle/.next/static/chunks/2083-287b5acfe58cc550.js +1 -0
- package/bundle/.next/static/chunks/2125-550587dbe8706439.js +3 -0
- package/bundle/.next/static/chunks/213.55cf232b18b53b9d.js +1 -0
- package/bundle/.next/static/chunks/5922-156b66daaaf768a5.js +174 -0
- package/bundle/.next/static/chunks/7197.43cef56b1689bb96.js +1 -0
- package/bundle/.next/static/chunks/7442-305daba070b016f8.js +25 -0
- package/bundle/.next/static/chunks/7469-ff14d7391de81fa9.js +9 -0
- package/bundle/.next/static/chunks/{1541-0173f72615d06e6b.js → 8194-5ee9cc305aa8dd38.js} +3 -3
- package/bundle/.next/static/chunks/app/accounts/page-6f089a76941d46ab.js +1 -0
- package/bundle/.next/static/chunks/app/agents/page-eff12bdae5519ed3.js +1 -0
- package/bundle/.next/static/chunks/app/dashboard/page-a99b8eca6b1e54fc.js +1 -0
- package/bundle/.next/static/chunks/app/files/page-dc5dbcbc430f1568.js +1 -0
- package/bundle/.next/static/chunks/app/integrations/page-c50b4f2501b6495e.js +1 -0
- package/bundle/.next/static/chunks/app/layout-b44a6304aeb11e7d.js +1 -0
- package/bundle/.next/static/chunks/app/mission-control/page-67cbc591f6f65db0.js +1 -0
- package/bundle/.next/static/chunks/app/models/page-ccff5c274d4abb63.js +1 -0
- package/bundle/.next/static/chunks/app/page-b8446d01f241e969.js +1 -0
- package/bundle/.next/static/chunks/app/settings/page-b03e77b48df03a1b.js +1 -0
- package/bundle/.next/static/chunks/app/tasks/page-cf025219a3c875cf.js +1 -0
- package/bundle/.next/static/chunks/webpack-b743b1572b052c61.js +1 -0
- package/bundle/.next/static/css/b65c0ec3db2a737c.css +3 -0
- package/bundle/public/android-chrome-192x192.png +0 -0
- package/bundle/public/android-chrome-512x512.png +0 -0
- package/bundle/public/apple-touch-icon.png +0 -0
- package/bundle/public/assets/logo.png +0 -0
- package/bundle/public/assets/logo.webm +0 -0
- package/bundle/public/assets/logo.webp +0 -0
- package/bundle/public/assets/logoold.png +0 -0
- package/bundle/public/assets/logoold.webm +0 -0
- package/bundle/public/assets/logoold.webp +0 -0
- package/bundle/public/assets/screenshots/0.jpeg +0 -0
- package/bundle/public/assets/screenshots/8.jpeg +0 -0
- package/bundle/public/assets/screenshots/hero.jpeg +0 -0
- package/bundle/public/favicon-16x16.png +0 -0
- package/bundle/public/favicon-32x32.png +0 -0
- package/bundle/public/favicon-48x48.png +0 -0
- package/bundle/public/favicon.ico +0 -0
- package/bundle/public/site.webmanifest +2 -2
- package/bundle/server.js +1 -1
- package/package.json +1 -1
- package/bundle/.next/server/chunks/1089.js +0 -7
- package/bundle/.next/server/chunks/5086.js +0 -185
- package/bundle/.next/server/chunks/7825.js +0 -1
- package/bundle/.next/static/chunks/2083-7ecb4068386ea635.js +0 -1
- package/bundle/.next/static/chunks/2125-d862b19ddebfd33a.js +0 -3
- package/bundle/.next/static/chunks/4137.19010bab7fabf352.js +0 -1
- package/bundle/.next/static/chunks/5922-c50d9d6d73494e4a.js +0 -174
- package/bundle/.next/static/chunks/616-340cd4ffce07ad95.js +0 -9
- package/bundle/.next/static/chunks/7197.9a3977e98b2a1fe9.js +0 -1
- package/bundle/.next/static/chunks/7442-2b8d98ced8731710.js +0 -25
- package/bundle/.next/static/chunks/app/accounts/page-70d61db66c3fa8ff.js +0 -1
- package/bundle/.next/static/chunks/app/agents/page-bcd6692c103acc4b.js +0 -1
- package/bundle/.next/static/chunks/app/dashboard/page-3ddf5f111de57314.js +0 -1
- package/bundle/.next/static/chunks/app/files/page-5d16dd2ab89a7ef8.js +0 -1
- package/bundle/.next/static/chunks/app/integrations/page-c82fe844b92dcc3c.js +0 -1
- package/bundle/.next/static/chunks/app/layout-a58705d0aa0318d2.js +0 -1
- package/bundle/.next/static/chunks/app/mission-control/page-047cf8ddbc5eb449.js +0 -1
- package/bundle/.next/static/chunks/app/models/page-5a77bb7553c260a3.js +0 -1
- package/bundle/.next/static/chunks/app/page-3948952c415f5a8f.js +0 -1
- package/bundle/.next/static/chunks/app/settings/page-377344c48b7c3b7a.js +0 -1
- package/bundle/.next/static/chunks/app/tasks/page-5eebfe2b85dbe24d.js +0 -1
- package/bundle/.next/static/chunks/webpack-6bcec8d8f296d9ef.js +0 -1
- package/bundle/.next/static/css/1ec545644e12b517.css +0 -3
- /package/bundle/.next/static/{jgRmll3iX_XVNwRhKs8U9 → EEOvGgtsvMlezk0mE5jQb}/_buildManifest.js +0 -0
- /package/bundle/.next/static/{jgRmll3iX_XVNwRhKs8U9 → EEOvGgtsvMlezk0mE5jQb}/_ssgManifest.js +0 -0
|
@@ -3,44 +3,45 @@
|
|
|
3
3
|
"/_global-error/page": "app/_global-error/page.js",
|
|
4
4
|
"/api/openclaw/capabilities/route": "app/api/openclaw/capabilities/route.js",
|
|
5
5
|
"/api/accounts/access-rules/route": "app/api/accounts/access-rules/route.js",
|
|
6
|
-
"/api/accounts/login-targets/route": "app/api/accounts/login-targets/route.js",
|
|
7
|
-
"/api/diagnostics/route": "app/api/diagnostics/route.js",
|
|
8
6
|
"/api/accounts/browser-profiles/route": "app/api/accounts/browser-profiles/route.js",
|
|
7
|
+
"/api/accounts/login-targets/route": "app/api/accounts/login-targets/route.js",
|
|
9
8
|
"/api/agents/route": "app/api/agents/route.js",
|
|
10
|
-
"/api/
|
|
9
|
+
"/api/diagnostics/route": "app/api/diagnostics/route.js",
|
|
11
10
|
"/api/files/reveal/route": "app/api/files/reveal/route.js",
|
|
12
|
-
"/api/
|
|
11
|
+
"/api/agents/[agentId]/chat/route": "app/api/agents/[agentId]/chat/route.js",
|
|
12
|
+
"/api/gateway/control/route": "app/api/gateway/control/route.js",
|
|
13
13
|
"/api/integrations/[integrationId]/status/route": "app/api/integrations/[integrationId]/status/route.js",
|
|
14
|
+
"/api/mission/route": "app/api/mission/route.js",
|
|
14
15
|
"/api/models/catalog/route": "app/api/models/catalog/route.js",
|
|
15
|
-
"/api/
|
|
16
|
+
"/api/models/providers/route": "app/api/models/providers/route.js",
|
|
16
17
|
"/api/openclaw/compatibility-smoke/route": "app/api/openclaw/compatibility-smoke/route.js",
|
|
17
18
|
"/api/onboarding/models/route": "app/api/onboarding/models/route.js",
|
|
18
19
|
"/api/planner/[planId]/deploy/route": "app/api/planner/[planId]/deploy/route.js",
|
|
19
20
|
"/api/planner/[planId]/document-rewrite/route": "app/api/planner/[planId]/document-rewrite/route.js",
|
|
20
21
|
"/api/planner/[planId]/route": "app/api/planner/[planId]/route.js",
|
|
21
22
|
"/api/planner/[planId]/simulate/route": "app/api/planner/[planId]/simulate/route.js",
|
|
22
|
-
"/api/
|
|
23
|
-
"/api/planner/route": "app/api/planner/route.js",
|
|
23
|
+
"/api/onboarding/route": "app/api/onboarding/route.js",
|
|
24
24
|
"/api/planner/[planId]/turn/route": "app/api/planner/[planId]/turn/route.js",
|
|
25
|
+
"/api/planner/route": "app/api/planner/route.js",
|
|
26
|
+
"/api/reset/route": "app/api/reset/route.js",
|
|
25
27
|
"/api/runtimes/[runtimeId]/route": "app/api/runtimes/[runtimeId]/route.js",
|
|
26
28
|
"/api/settings/config-pacing/route": "app/api/settings/config-pacing/route.js",
|
|
27
|
-
"/api/reset/route": "app/api/reset/route.js",
|
|
28
|
-
"/api/settings/workspace-root/route": "app/api/settings/workspace-root/route.js",
|
|
29
|
-
"/api/settings/openclaw-binary/route": "app/api/settings/openclaw-binary/route.js",
|
|
30
29
|
"/api/settings/gateway/route": "app/api/settings/gateway/route.js",
|
|
30
|
+
"/api/settings/openclaw-binary/route": "app/api/settings/openclaw-binary/route.js",
|
|
31
|
+
"/api/settings/workspace-root/route": "app/api/settings/workspace-root/route.js",
|
|
31
32
|
"/api/snapshot/route": "app/api/snapshot/route.js",
|
|
33
|
+
"/api/stream/route": "app/api/stream/route.js",
|
|
32
34
|
"/api/system/open-terminal/route": "app/api/system/open-terminal/route.js",
|
|
33
35
|
"/api/tasks/[taskId]/abort/route": "app/api/tasks/[taskId]/abort/route.js",
|
|
34
|
-
"/api/stream/route": "app/api/stream/route.js",
|
|
35
36
|
"/api/tasks/[taskId]/control/route": "app/api/tasks/[taskId]/control/route.js",
|
|
36
|
-
"/api/workspaces/[workspaceId]/channels/discovered-groups/route": "app/api/workspaces/[workspaceId]/channels/discovered-groups/route.js",
|
|
37
37
|
"/api/tasks/[taskId]/stream/route": "app/api/tasks/[taskId]/stream/route.js",
|
|
38
|
+
"/api/workspaces/[workspaceId]/channels/discovered-groups/route": "app/api/workspaces/[workspaceId]/channels/discovered-groups/route.js",
|
|
39
|
+
"/api/update/route": "app/api/update/route.js",
|
|
38
40
|
"/api/workspaces/[workspaceId]/edit-draft/route": "app/api/workspaces/[workspaceId]/edit-draft/route.js",
|
|
41
|
+
"/api/workspaces/[workspaceId]/channels/route": "app/api/workspaces/[workspaceId]/channels/route.js",
|
|
39
42
|
"/api/workspaces/[workspaceId]/files/route": "app/api/workspaces/[workspaceId]/files/route.js",
|
|
40
43
|
"/api/workspaces/[workspaceId]/surfaces/discovery/route": "app/api/workspaces/[workspaceId]/surfaces/discovery/route.js",
|
|
41
|
-
"/api/workspaces/[workspaceId]/channels/route": "app/api/workspaces/[workspaceId]/channels/route.js",
|
|
42
44
|
"/api/workspaces/[workspaceId]/surfaces/reconcile/route": "app/api/workspaces/[workspaceId]/surfaces/reconcile/route.js",
|
|
43
|
-
"/api/update/route": "app/api/update/route.js",
|
|
44
45
|
"/api/workspaces/route": "app/api/workspaces/route.js",
|
|
45
46
|
"/accounts/page": "app/accounts/page.js",
|
|
46
47
|
"/agents/page": "app/agents/page.js",
|
|
@@ -50,7 +51,6 @@
|
|
|
50
51
|
"/mission-control/page": "app/mission-control/page.js",
|
|
51
52
|
"/page": "app/page.js",
|
|
52
53
|
"/models/page": "app/models/page.js",
|
|
53
|
-
"/tasks/page": "app/tasks/page.js",
|
|
54
54
|
"/settings/page": "app/settings/page.js",
|
|
55
|
-
"/
|
|
55
|
+
"/tasks/page": "app/tasks/page.js"
|
|
56
56
|
}
|
|
@@ -132,8 +132,8 @@ ${c.map(e).join("\n")}`),d.length>0&&f.push(`## Assumptions
|
|
|
132
132
|
${d.map(e).join("\n")}`),f.length>0?`
|
|
133
133
|
${f.join("\n\n")}
|
|
134
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:()=>o,Vo:()=>l,ZO:()=>n,cf:()=>k,fx:()=>j,pH:()=>m});var d=c(51455),e=c(77598),f=c(76760),g=c.n(f);let h=g().join(process.cwd(),".mission-control"),i=g().join(h,"agent-chat-sessions.json");async function j(a){let b=a.agentId.trim(),c=a.sessionId.trim();if(!b||!c)return;let e=new Date().toISOString(),f=await p(),g=r([{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)(h,{recursive:!0}),await (0,d.writeFile)(i,`${JSON.stringify({version:1,sessions:g},null,2)}
|
|
135
|
-
`,"utf8")}async function k(){return new Map((await p()).sessions.map(a=>[s(a.agentId,a.sessionId),a]))}async function l(a){var b,c;let d,e,f=a.agentId.trim();if(!f)return[];let g=a.workspacePath?.trim()||null,h=Number.isFinite(a.limit)&&a.limit&&a.limit>0?Math.floor(a.limit):20;return(b=(await p()).sessions,d=(c={agentId:f,workspacePath:g}).agentId.trim(),e=c.workspacePath?.trim()||null,d?b.filter(a=>a.agentId===d).filter(a=>!e||!a.workspacePath||a.workspacePath===e).sort((a,b)=>Date.parse(b.updatedAt)-Date.parse(a.updatedAt)):[]).slice(0,h)}async function m(a){let b=(await l({agentId:a.agentId,workspacePath:a.workspacePath,limit:1}))[0];return b?.sessionId??(0,e.randomUUID)()}function n(a,b){return 0===a.length||0===b.size?a:a.map(a=>{let c=a.agentId&&a.sessionId?b.get(s(a.agentId,a.sessionId)):null;return c?{...a,kind:"direct",origin:c.origin}:a})}function o(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(s(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 p(){try{let a=await (0,d.readFile)(i,"utf8"),b=JSON.parse(a),c=Array.isArray(b?.sessions)?b.sessions:[],e=c.length>0?c.map(q).filter(a=>!!a):[];return{version:1,sessions:r(e)}}catch{return{version:1,sessions:[]}}}function q(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 r(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=s(e.agentId,e.sessionId);Number.isNaN(a)||a<b||c.has(f)||(c.add(f),d.push(e))}return d.slice(0,200)}function s(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,f=null)=>{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",recovery:f??"Unset CLI-forced Gateway mode and rerun capability detection when native Gateway support is required."};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",recovery:f??"Rerun capability detection after Gateway metadata is available."};let g=b.find(a=>y.has(a))??null,h=c.some(a=>z.has(a));return g||h?{label:a,mode:"gateway-native",methods:b,events:c,fallbackAllowed:d,reason:g&&g!==b[0]?`OpenClaw Gateway advertises compatibility alias ${g}.`:"OpenClaw Gateway advertises native support.",preferredMethod:b[0]??null,supportedMethod:g,aliasMethods:b.slice(1),compatibility:g&&g!==b[0]?"alias":"preferred",recovery:null}:{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",recovery:f??(d?"Use explicit CLI fallback only as recovery, or update OpenClaw for native Gateway support.":"Leave this capability unavailable until OpenClaw exposes a native Gateway method.")}})(a.label,a.methods,a.events??[],a.fallbackAllowed??!0,a.recovery??null),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||"disabled"===a.mode).map(([a,b])=>`${a}: ${b.reason}${b.recovery?` Recovery: ${b.recovery}`:""}`),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===y.size?"unknown":a.every(a=>y.has(a))?"supported":"unsupported")("agents.create","agents.update","agents.delete"),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||"disabled"===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||"disabled"===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$:()=>t,Y8:()=>q,bE:()=>h,qA:()=>r,vC:()=>s});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 i=j(a)||("string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null);return!!("string"==typeof i&&(b=i,/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]})),k=new Map(b.map(a=>[a.id,a.workspaceId])),l=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),n=function(a){let b=new Map;for(let c of a){let a=m(c);if(a)for(let d of i(c))b.has(d)||b.set(d,a)}return b}(c);for(let a of c){let b=function(a,b,c){let d=a.taskId?.trim(),e=function(a,b){return i(a).map(a=>b.get(a)).find(a=>!!a)??null}(a,c),f="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",g=j(a),h=a.sessionId?.trim(),k=h?b.get(`${a.agentId??"unknown"}:${h}`)??[]:[],l=a.updatedAt??0,m=k.filter(a=>null===a.submittedAt||l>=a.submittedAt-1500).sort((a,b)=>(b.submittedAt??-1/0)-(a.submittedAt??-1/0))[0]?.dispatchId??"";return e?`task:${e}`:f?`dispatch:${f}`:m?`dispatch:${m}`:d?`task:${d}`:g?`mission:${a.agentId??"unknown"}:${s(g)}`:h?`session:${h}`:`runtime:${a.id}`}(a,l,n),c=d.get(b)??[];c.push(a),d.set(b,c)}return Array.from(d.entries()).map(([a,b])=>h(a,b,g,k)).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,i,w,x;let y,z=[...b].sort(v),A=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}(z),B=[...A].sort((a,b)=>k(b)-k(a))[0]??A[0]??z[0],C=j(B)||z.map(a=>j(a)).find(Boolean)||null,D=function(a){for(let b of a){let a="string"==typeof b.metadata.routedMission?b.metadata.routedMission.trim():"";if(a)return a}return null}(z),E=function(a){let b=[...a.filter(a=>{var b;return(!!("string"==typeof(b=a).metadata.dispatchId&&b.metadata.dispatchId.trim())||!!j(b))&&!p(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=>!p(a)&&("completed"===a.status||"stalled"===a.status||"cancelled"===a.status)),...a.filter(a=>!p(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}(z),F=E||A.map(a=>a.subtitle?.trim()).find(a=>!!a)||z.map(a=>a.subtitle?.trim()).find(a=>!!a)||"Awaiting OpenClaw updates.",G=t(z.flatMap(a=>q(a)).concat(z.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 t(c)})(a.subtitle)))),H=u(z.flatMap(a=>r(a))),I=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})}(z),J=u(z.flatMap(a=>a.agentId?[a.agentId]:[])),K=u(z.flatMap(a=>a.sessionId?[a.sessionId]:[])),L=u(z.flatMap(a=>a.runId?[a.runId]:[])),M=z.filter(a=>"string"==typeof a.metadata.turnId||!0===a.metadata.recoveredFromObservation).length,N=(y=z.map(a=>"string"==typeof a.metadata.dispatchStatus?a.metadata.dispatchStatus.trim():"").filter(Boolean)).includes("cancelled")?"cancelled":y.includes("stalled")?"stalled":y.includes("completed")?"completed":y.includes("running")?"running":y.includes("queued")?"queued":null,O=B?.agentId||J[0],P=O?c.get(O)??null:null,Q=function(a,b,c,d){let e=a.map(a=>a.workspaceId?.trim()).find(a=>!!a);if(e)return e;for(let a of u([b,...c].filter(Boolean))){let b=d.get(a)?.trim();if(b)return b}}(z,O,J,d),R=z[0]??null,S=function(a){for(let b of a)if("string"==typeof b.metadata.dispatchId&&b.metadata.dispatchId.trim())return b.metadata.dispatchId.trim()}(z),T=(f=z,g=S,f.some(n)?"native-task":g||f.some(o)?"dispatch-derived":"runtime-derived"),U=z.map(m).find(a=>!!a)??null,V=function(a){for(let b of a){let a="string"==typeof b.metadata.sessionKey?b.metadata.sessionKey.trim():b.key.trim().startsWith("agent:")?b.key.trim():"";if(a)return a}return null}(z);return{id:(i=a,`task:${s(i)}`),key:a,title:(0,e.$m)(C||B?.title||"Untitled task",52)||"Untitled task",mission:C,subtitle:F,status:function(a,b=null){return b&&l(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"}(z,N),updatedAt:R?.updatedAt??null,ageMs:R?.ageMs??null,workspaceId:Q,primaryAgentId:O,primaryAgentName:P,primaryRuntimeId:B?.id,dispatchId:S,runtimeIds:z.map(a=>a.id),agentIds:J,sessionIds:K,runIds:L,runtimeCount:z.length,updateCount:A.filter(a=>"turn"===a.source).length,liveRunCount:(w=z,(x=N)&&l(x)?0:w.filter(a=>"running"===a.status||"queued"===a.status).length),artifactCount:G.length,warningCount:H.length,tokenUsage:I,metadata:{mission:C,routedMission:D,resultPreview:E,turnCount:M,sessionCount:K.length,provenance:T,source:T,dispatchId:S??null,openClawTaskId:U,openClawSessionId:K[0]??null,openClawSessionKey:V,openClawRunId:L[0]??null,primaryAgentId:O??null,workspaceId:Q??null,primaryRuntimeSource:B?.source??null,bootstrapStage:"string"==typeof B?.metadata.bootstrapStage?B.metadata.bootstrapStage:null,dispatchStatus:N??("string"==typeof B?.metadata.dispatchStatus?B.metadata.dispatchStatus:null),dispatchSubmittedAt:"string"==typeof B?.metadata.dispatchSubmittedAt?B.metadata.dispatchSubmittedAt:null,dispatchRunnerStartedAt:"string"==typeof B?.metadata.dispatchRunnerStartedAt?B.metadata.dispatchRunnerStartedAt:null,dispatchHeartbeatAt:"string"==typeof B?.metadata.dispatchHeartbeatAt?B.metadata.dispatchHeartbeatAt:null,dispatchObservedAt:"string"==typeof B?.metadata.dispatchObservedAt?B.metadata.dispatchObservedAt:null,outputDir:"string"==typeof B?.metadata.outputDir?B.metadata.outputDir:null,outputDirRelative:"string"==typeof B?.metadata.outputDirRelative?B.metadata.outputDirRelative:null}}}function i(a){let b=new Set,c="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",d=a.agentId?.trim()||"unknown",e=function(a){let b=a?.trim();if(!b)return[];let c=b.match(/^agent:([^:]+):explicit:(.+)$/);return c?u([b,c[2]??""]):[b]}(a.sessionId);for(let f of(c&&b.add(`dispatch:${c}`),a.runId?.trim()&&b.add(`run:${a.runId.trim()}`),e))b.add(`session:${d}:${f}`);return[...b]}function j(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 k(a){let b=8*!!j(a);return 10*!!n(a)+b+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 l(a){return"completed"===a||"stalled"===a||"cancelled"===a}function m(a){if(!n(a))return null;let b="string"==typeof a.metadata.taskId?a.metadata.taskId.trim():"";return a.taskId?.trim()||b||a.key.trim()||null}function n(a){return"task"===a.metadata.gatewayObjectKind&&!!a.taskId?.trim()}function o(a){let b="string"==typeof a.metadata.origin?a.metadata.origin.trim():"",c="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",d="string"==typeof a.metadata.dispatchStatus?a.metadata.dispatchStatus.trim():"";return!!("mission-dispatch"===b||"agentos-mission-dispatch"===b||c||d||"string"==typeof a.metadata.bootstrapStage)}function p(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 q(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 r(a){let b=a.metadata.warnings;return Array.isArray(b)?b.filter(a=>"string"==typeof a&&a.trim().length>0):[]}function s(a){return(0,d.createHash)("sha1").update(a).digest("hex").slice(0,12)}function t(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 u(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 v(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:()=>i,Jb:()=>h,wz:()=>j});var d=c(77598),e=c(39503),f=c(70016),g=c(96109);async function h(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 i(a,b){return x(a)?[...r(a.runtimes).flatMap(a=>(function(a,b){var c;let d=t(a.id)??t(a.runtimeId),e=t(a.key)??t(a.sessionKey)??t(a.taskId)??d,f=t(a.title),g=t(a.subtitle)??t(a.summary)??t(a.message);if(!d||!e||!f||!g)return[];let h=w(a.updatedAt??a.timestamp??a.ts),i=t(a.agentId)??y(e),j=q(a),n=t(a.workspaceId)??p(j,b)??o(i,b);return[{id:d,source:"session"===(c=t(a.source))||"cron"===c||"turn"===c?c:"turn",key:e,title:f,subtitle:g,status:k(t(a.status)??""),updatedAt:h,ageMs:v(a.ageMs)??(h?Math.max(0,Date.now()-h):null),agentId:i??void 0,workspaceId:n??void 0,workspacePath:j??void 0,modelId:t(a.modelId)??t(a.model)??void 0,sessionId:t(a.sessionId)??void 0,taskId:t(a.taskId)??void 0,runId:t(a.runId)??void 0,toolNames:l(a),tokenUsage:m(a),metadata:{...x(a.metadata)?a.metadata:{},origin:"openclaw-runtime-snapshot",gatewayObjectKind:"runtime"}}]})(a,b)),...r(a.sessions).flatMap(a=>(function(a,b){let c=t(a.agentId)??y(t(a.key)??t(a.sessionKey)),d=t(a.key)??t(a.sessionKey)??(c?`agent:${c}:main`:t(a.sessionId));if(!d&&!c)return[];let e={agentId:c??void 0,key:d??void 0,sessionId:t(a.sessionId)??t(a.id)??void 0,updatedAt:w(a.updatedAt??a.timestamp??a.ts),ageMs:v(a.ageMs)??void 0,inputTokens:v(a.inputTokens),outputTokens:v(a.outputTokens),cacheRead:v(a.cacheRead),totalTokens:v(a.totalTokens),model:t(a.model)??t(a.modelId)??void 0,kind:t(a.kind)??"runtime",origin:"openclaw-runtime-snapshot",mission:t(a.mission)??t(a.prompt)??void 0,dispatchId:t(a.dispatchId)??void 0},g=(0,f.$Z)(e,b.agentConfig,b.agentsList,{resolveWorkspaceId:b.resolveWorkspaceId}),h=q(a),i=t(a.workspaceId)??p(h,b)??g.workspaceId;return[{...g,id:t(a.runtimeId)??(0,f.kO)(e),title:t(a.title)??g.title,subtitle:t(a.summary)??t(a.message)??g.subtitle,status:k(t(a.status)??g.status),workspaceId:i??void 0,workspacePath:h??g.workspacePath,toolNames:l(a)??g.toolNames,metadata:{...g.metadata,origin:"openclaw-runtime-snapshot",gatewayObjectKind:"session",event:t(a.event)??null}}]})(a,b)),...r(a.tasks).flatMap(a=>(function(a,b){let c=t(a.taskId)??t(a.id),d=t(a.agentId)??t(a.assigneeAgentId);if(!c&&!d)return[];let e=w(a.updatedAt??a.timestamp??a.ts??a.createdAt),f=q(a),g=t(a.workspaceId)??p(f,b)??o(d,b),h=t(a.mission)??t(a.prompt)??t(a.title),i=n(r(a.artifacts));return[{id:t(a.runtimeId)??`runtime:gateway-task:${z(c,d)}`,source:"turn",key:c??`agent:${d}:task`,title:t(a.title)??"Gateway task",subtitle:t(a.summary)??t(a.message)??t(a.status)??"OpenClaw task update",status:k(t(a.status)??""),updatedAt:e,ageMs:v(a.ageMs)??(e?Math.max(0,Date.now()-e):null),agentId:d??void 0,workspaceId:g??void 0,workspacePath:f??void 0,modelId:t(a.model)??t(a.modelId)??void 0,sessionId:t(a.sessionId)??void 0,taskId:c??void 0,runId:t(a.runId)??void 0,toolNames:l(a),tokenUsage:m(a),metadata:{origin:"openclaw-runtime-snapshot",gatewayObjectKind:"task",taskId:c??null,mission:h,dispatchId:t(a.dispatchId)??null,createdFiles:i}}]})(a,b)),...r(a.artifacts).flatMap(a=>(function(a,b){let c=t(a.artifactId)??t(a.id),d=t(a.taskId),e=t(a.sessionId),f=t(a.agentId);if(!c&&!d&&!e)return[];let g=w(a.updatedAt??a.timestamp??a.ts??a.createdAt),h=n([a]),i=t(a.path)??t(a.name)??c??"artifact",j=q(a);return[{id:t(a.runtimeId)??`runtime:gateway-artifact:${z(c,d,e)}`,source:"turn",key:d??e??c??i,title:"Gateway artifact",subtitle:i,status:k(t(a.status)??"completed"),updatedAt:g,ageMs:v(a.ageMs)??(g?Math.max(0,Date.now()-g):null),agentId:f??void 0,workspaceId:t(a.workspaceId)??p(j,b)??o(f,b)??void 0,workspacePath:j??void 0,sessionId:e??void 0,taskId:d??void 0,runId:t(a.runId)??void 0,metadata:{origin:"openclaw-runtime-snapshot",gatewayObjectKind:"artifact",artifactId:c??null,createdFiles:h}}]})(a,b))]:[]}function j(a){let b=x(a.payload)?a.payload:{},c=s(b,"metadata"),d=t(a.event)??t(b.type)??"event",e=t(b.sessionKey)??t(b.key),f=t(b.agentId)??t(b.agent)??y(e),h=t(b.sessionId)??t(b.session)??e,i=t(b.runId)??t(b.run)??t(b.clientRunId),j=t(b.taskId)??t(s(b,"task")?.id),m=t(b.artifactId)??t(s(b,"artifact")?.id),o=w(b.timestamp??b.ts??b.updatedAt),p=k(t(b.status)??d),r=q(b),u=t(b.workspaceId)??(r?(0,g.S_)(r):null),v=t(b.text)??t(b.message)??t(b.summary)??t(b.detail)??d,A=t(b.runtimeId)??`runtime:gateway:${z(f,h,i,j,m,d)}`;if(!f&&!h&&!i&&!j&&!m)return null;let B=n([b,s(b,"artifact")]);return{id:A,source:"turn",key:i||h||j||m||A,title:t(b.title)??(j?"Gateway task event":"Gateway runtime event"),subtitle:v,status:p,updatedAt:o,ageMs:o?Math.max(0,Date.now()-o):null,agentId:f??void 0,workspaceId:u??void 0,workspacePath:r??void 0,sessionId:h??void 0,taskId:j??void 0,runId:i??void 0,modelId:t(b.model)??t(b.modelId)??void 0,toolNames:l(b),metadata:{origin:t(b.origin)??t(c?.origin)??"openclaw-gateway-event",event:d,channel:t(b.channel)??null,approvalId:t(b.approvalId)??null,artifactId:m??null,dispatchId:t(b.dispatchId)??t(c?.dispatchId)??null,kind:t(b.kind)??t(c?.kind)??null,chatType:t(b.chatType)??t(c?.chatType)??null,mission:t(b.mission)??t(b.prompt)??null,createdFiles:B}}}function k(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 l(a){let b=[t(a.toolName),t(a.tool),...u(a.tools),...u(a.toolNames)].filter(a=>!!a);return b.length>0?Array.from(new Set(b)):void 0}function m(a){let b=x(a.tokenUsage)?a.tokenUsage:a,c=v(b.inputTokens)??v(b.input),d=v(b.outputTokens)??v(b.output),e=v(b.totalTokens)??v(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:v(b.cacheRead)??0}}function n(a){let b=[];for(let c of a){if(!c)continue;let a=t(c.path)??t(c.filePath)??t(c.uri),d=t(c.displayPath)??t(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 o(a,b){if(!a)return null;let c=b.agentsList.find(b=>b.id===a),d=b.agentConfig.find(b=>b.id===a);return p(c?.workspace||d?.workspace,b)}function p(a,b){return a?b.resolveWorkspaceId?.(a):null}function q(a){return t(a.workspacePath)??t(a.workspace)}function r(a){return Array.isArray(a)?a.filter(a=>x(a)):[]}function s(a,b){let c=a[b];return x(c)?c:null}function t(a){return"string"==typeof a&&a.trim()?a.trim():null}function u(a){return Array.isArray(a)?a.map(t).filter(a=>!!a):[]}function v(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}function w(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 x(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function y(a){if(!a?.startsWith("agent:"))return null;let[,b]=a.split(":");return b||null}function z(...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)}
|
|
135
|
+
`,"utf8")}async function k(){return new Map((await p()).sessions.map(a=>[s(a.agentId,a.sessionId),a]))}async function l(a){var b,c;let d,e,f=a.agentId.trim();if(!f)return[];let g=a.workspacePath?.trim()||null,h=Number.isFinite(a.limit)&&a.limit&&a.limit>0?Math.floor(a.limit):20;return(b=(await p()).sessions,d=(c={agentId:f,workspacePath:g}).agentId.trim(),e=c.workspacePath?.trim()||null,d?b.filter(a=>a.agentId===d).filter(a=>!e||!a.workspacePath||a.workspacePath===e).sort((a,b)=>Date.parse(b.updatedAt)-Date.parse(a.updatedAt)):[]).slice(0,h)}async function m(a){let b=(await l({agentId:a.agentId,workspacePath:a.workspacePath,limit:1}))[0];return b?.sessionId??(0,e.randomUUID)()}function n(a,b){return 0===a.length||0===b.size?a:a.map(a=>{let c=a.agentId&&a.sessionId?b.get(s(a.agentId,a.sessionId)):null;return c?{...a,kind:"direct",origin:c.origin}:a})}function o(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(s(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 p(){try{let a=await (0,d.readFile)(i,"utf8"),b=JSON.parse(a),c=Array.isArray(b?.sessions)?b.sessions:[],e=c.length>0?c.map(q).filter(a=>!!a):[];return{version:1,sessions:r(e)}}catch{return{version:1,sessions:[]}}}function q(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 r(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=s(e.agentId,e.sessionId);Number.isNaN(a)||a<b||c.has(f)||(c.add(f),d.push(e))}return d.slice(0,200)}function s(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,f=null)=>{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",recovery:f??"Unset CLI-forced Gateway mode and rerun capability detection when native Gateway support is required."};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",recovery:f??"Rerun capability detection after Gateway metadata is available."};let g=b.find(a=>y.has(a))??null,h=c.some(a=>z.has(a));return g||h?{label:a,mode:"gateway-native",methods:b,events:c,fallbackAllowed:d,reason:g&&g!==b[0]?`OpenClaw Gateway advertises compatibility alias ${g}.`:"OpenClaw Gateway advertises native support.",preferredMethod:b[0]??null,supportedMethod:g,aliasMethods:b.slice(1),compatibility:g&&g!==b[0]?"alias":"preferred",recovery:null}:{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",recovery:f??(d?"Use explicit CLI fallback only as recovery, or update OpenClaw for native Gateway support.":"Leave this capability unavailable until OpenClaw exposes a native Gateway method.")}})(a.label,a.methods,a.events??[],a.fallbackAllowed??!0,a.recovery??null),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||"disabled"===a.mode).map(([a,b])=>`${a}: ${b.reason}${b.recovery?` Recovery: ${b.recovery}`:""}`),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===y.size?"unknown":a.every(a=>y.has(a))?"supported":"unsupported")("agents.create","agents.update","agents.delete"),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||"disabled"===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||"disabled"===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$:()=>u,Y8:()=>r,bE:()=>h,qA:()=>s,vC:()=>t});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 i=j(a)||("string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null);return!!("string"==typeof i&&(b=i,/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]})),k=new Map(b.map(a=>[a.id,a.workspaceId])),l=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),n=function(a){let b=new Map;for(let c of a){let a=m(c);if(a)for(let d of i(c))b.has(d)||b.set(d,a)}return b}(c);for(let a of c){let b=function(a,b,c){let d=a.taskId?.trim(),e=function(a,b){return i(a).map(a=>b.get(a)).find(a=>!!a)??null}(a,c),f="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",g=j(a),h=a.sessionId?.trim(),k=h?b.get(`${a.agentId??"unknown"}:${h}`)??[]:[],l=a.updatedAt??0,m=k.filter(a=>null===a.submittedAt||l>=a.submittedAt-1500).sort((a,b)=>(b.submittedAt??-1/0)-(a.submittedAt??-1/0))[0]?.dispatchId??"";return e?`task:${e}`:f?`dispatch:${f}`:m?`dispatch:${m}`:d?`task:${d}`:g?`mission:${a.agentId??"unknown"}:${t(g)}`:h?`session:${h}`:`runtime:${a.id}`}(a,l,n),c=d.get(b)??[];c.push(a),d.set(b,c)}return Array.from(d.entries()).map(([a,b])=>h(a,b,g,k)).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,i,x,y,z,A,B;let C,D=[...b].sort(w),E=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}(D),F=[...E].sort((a,b)=>k(b)-k(a))[0]??E[0]??D[0],G=j(F)||D.map(a=>j(a)).find(Boolean)||null,H=function(a){for(let b of a){let a="string"==typeof b.metadata.routedMission?b.metadata.routedMission.trim():"";if(a)return a}return null}(D),I=function(a){let b=[...a.filter(a=>{var b;return(!!("string"==typeof(b=a).metadata.dispatchId&&b.metadata.dispatchId.trim())||!!j(b))&&!q(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=>!q(a)&&("completed"===a.status||"stalled"===a.status||"cancelled"===a.status)),...a.filter(a=>!q(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}(D),J=I||E.map(a=>a.subtitle?.trim()).find(a=>!!a)||D.map(a=>a.subtitle?.trim()).find(a=>!!a)||"Awaiting OpenClaw updates.",K=u(D.flatMap(a=>r(a)).concat(D.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 u(c)})(a.subtitle)))),L=v(D.flatMap(a=>s(a))),M=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})}(D),N=v(D.flatMap(a=>a.agentId?[a.agentId]:[])),O=v(D.flatMap(a=>a.sessionId?[a.sessionId]:[])),P=v(D.flatMap(a=>a.runId?[a.runId]:[])),Q=D.filter(a=>"string"==typeof a.metadata.turnId||!0===a.metadata.recoveredFromObservation).length,R=(C=D.map(a=>"string"==typeof a.metadata.dispatchStatus?a.metadata.dispatchStatus.trim():"").filter(Boolean)).includes("cancelled")?"cancelled":C.includes("stalled")?"stalled":C.includes("completed")?"completed":C.includes("running")?"running":C.includes("queued")?"queued":null,S=F?.agentId||N[0],T=S?c.get(S)??null:null,U=function(a,b,c,d){let e=a.map(a=>a.workspaceId?.trim()).find(a=>!!a);if(e)return e;for(let a of v([b,...c].filter(Boolean))){let b=d.get(a)?.trim();if(b)return b}}(D,S,N,d),V=D[0]??null,W=function(a){for(let b of a)if("string"==typeof b.metadata.dispatchId&&b.metadata.dispatchId.trim())return b.metadata.dispatchId.trim()}(D),X=(f=D,g=W,f.some(o)?"native-task":g||f.some(p)?"dispatch-derived":"runtime-derived"),Y=D.map(m).find(a=>!!a)??null,Z=function(a){for(let b of a){let a="string"==typeof b.metadata.openClawSessionKey?b.metadata.openClawSessionKey.trim():"string"==typeof b.metadata.sessionKey?b.metadata.sessionKey.trim():"string"==typeof b.metadata.gatewaySessionKey?b.metadata.gatewaySessionKey.trim():b.key.trim().startsWith("agent:")?b.key.trim():"";if(a)return a}return null}(D),$=function(a,b,c){for(let b of a){let a="string"==typeof b.metadata.openClawSessionId?b.metadata.openClawSessionId.trim():"string"==typeof b.metadata.sessionId?b.metadata.sessionId.trim():"string"==typeof b.metadata.gatewaySessionId?b.metadata.gatewaySessionId.trim():"";if(a)return n(a)??a}for(let a of b){let b=n(a)??a.trim();if(b)return b}return n(c)??null}(D,O,Z),_=(i=X,x=Z,y=$,x||y?"runtime-derived"===i?"medium":"high":"none");return{id:(z=a,`task:${t(z)}`),key:a,title:(0,e.$m)(G||F?.title||"Untitled task",52)||"Untitled task",mission:G,subtitle:J,status:function(a,b=null){return b&&l(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"}(D,R),updatedAt:V?.updatedAt??null,ageMs:V?.ageMs??null,workspaceId:U,primaryAgentId:S,primaryAgentName:T,primaryRuntimeId:F?.id,dispatchId:W,runtimeIds:D.map(a=>a.id),agentIds:N,sessionIds:O,runIds:P,runtimeCount:D.length,updateCount:E.filter(a=>"turn"===a.source).length,liveRunCount:(A=D,(B=R)&&l(B)?0:A.filter(a=>"running"===a.status||"queued"===a.status).length),artifactCount:K.length,warningCount:L.length,tokenUsage:M,metadata:{mission:G,routedMission:H,resultPreview:I,turnCount:Q,sessionCount:O.length,provenance:X,source:X,dispatchId:W??null,openClawTaskId:Y,openClawSessionId:$,openClawSessionKey:Z,openClawRunId:P[0]??null,continuationAvailable:!!(S&&(Z||$)),continuationConfidence:_,continuationSessionId:$,continuationSessionKey:Z,continuationSource:X,primaryAgentId:S??null,workspaceId:U??null,primaryRuntimeSource:F?.source??null,bootstrapStage:"string"==typeof F?.metadata.bootstrapStage?F.metadata.bootstrapStage:null,dispatchStatus:R??("string"==typeof F?.metadata.dispatchStatus?F.metadata.dispatchStatus:null),dispatchSubmittedAt:"string"==typeof F?.metadata.dispatchSubmittedAt?F.metadata.dispatchSubmittedAt:null,dispatchRunnerStartedAt:"string"==typeof F?.metadata.dispatchRunnerStartedAt?F.metadata.dispatchRunnerStartedAt:null,dispatchHeartbeatAt:"string"==typeof F?.metadata.dispatchHeartbeatAt?F.metadata.dispatchHeartbeatAt:null,dispatchObservedAt:"string"==typeof F?.metadata.dispatchObservedAt?F.metadata.dispatchObservedAt:null,outputDir:"string"==typeof F?.metadata.outputDir?F.metadata.outputDir:null,outputDirRelative:"string"==typeof F?.metadata.outputDirRelative?F.metadata.outputDirRelative:null}}}function i(a){let b=new Set,c="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",d=a.agentId?.trim()||"unknown",e=function(a){let b=a?.trim();if(!b)return[];let c=b.match(/^agent:([^:]+):explicit:(.+)$/);return c?v([b,c[2]??""]):[b]}(a.sessionId);for(let f of(c&&b.add(`dispatch:${c}`),a.runId?.trim()&&b.add(`run:${a.runId.trim()}`),e))b.add(`session:${d}:${f}`);return[...b]}function j(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 k(a){let b=8*!!j(a);return 10*!!o(a)+b+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 l(a){return"completed"===a||"stalled"===a||"cancelled"===a}function m(a){if(!o(a))return null;let b="string"==typeof a.metadata.taskId?a.metadata.taskId.trim():"";return a.taskId?.trim()||b||a.key.trim()||null}function n(a){let b=a?.trim();if(!b)return null;let c=":explicit:",d=b.indexOf(c);return -1===d?null:b.slice(d+c.length).trim()||null}function o(a){return"task"===a.metadata.gatewayObjectKind&&!!a.taskId?.trim()}function p(a){let b="string"==typeof a.metadata.origin?a.metadata.origin.trim():"",c="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",d="string"==typeof a.metadata.dispatchStatus?a.metadata.dispatchStatus.trim():"";return!!("mission-dispatch"===b||"agentos-mission-dispatch"===b||c||d||"string"==typeof a.metadata.bootstrapStage)}function q(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 r(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 s(a){let b=a.metadata.warnings;return Array.isArray(b)?b.filter(a=>"string"==typeof a&&a.trim().length>0):[]}function t(a){return(0,d.createHash)("sha1").update(a).digest("hex").slice(0,12)}function u(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 v(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 w(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:()=>i,Jb:()=>h,wz:()=>j});var d=c(77598),e=c(39503),f=c(70016),g=c(96109);async function h(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 i(a,b){return x(a)?[...r(a.runtimes).flatMap(a=>(function(a,b){var c;let d=t(a.id)??t(a.runtimeId),e=t(a.key)??t(a.sessionKey)??t(a.taskId)??d,f=t(a.title),g=t(a.subtitle)??t(a.summary)??t(a.message);if(!d||!e||!f||!g)return[];let h=w(a.updatedAt??a.timestamp??a.ts),i=t(a.agentId)??y(e),j=q(a),n=t(a.workspaceId)??p(j,b)??o(i,b);return[{id:d,source:"session"===(c=t(a.source))||"cron"===c||"turn"===c?c:"turn",key:e,title:f,subtitle:g,status:k(t(a.status)??""),updatedAt:h,ageMs:v(a.ageMs)??(h?Math.max(0,Date.now()-h):null),agentId:i??void 0,workspaceId:n??void 0,workspacePath:j??void 0,modelId:t(a.modelId)??t(a.model)??void 0,sessionId:t(a.sessionId)??void 0,taskId:t(a.taskId)??void 0,runId:t(a.runId)??void 0,toolNames:l(a),tokenUsage:m(a),metadata:{...x(a.metadata)?a.metadata:{},origin:"openclaw-runtime-snapshot",gatewayObjectKind:"runtime"}}]})(a,b)),...r(a.sessions).flatMap(a=>(function(a,b){let c=t(a.agentId)??y(t(a.key)??t(a.sessionKey)),d=t(a.key)??t(a.sessionKey)??(c?`agent:${c}:main`:t(a.sessionId));if(!d&&!c)return[];let e={agentId:c??void 0,key:d??void 0,sessionId:t(a.sessionId)??t(a.id)??void 0,updatedAt:w(a.updatedAt??a.timestamp??a.ts),ageMs:v(a.ageMs)??void 0,inputTokens:v(a.inputTokens),outputTokens:v(a.outputTokens),cacheRead:v(a.cacheRead),totalTokens:v(a.totalTokens),model:t(a.model)??t(a.modelId)??void 0,kind:t(a.kind)??"runtime",origin:"openclaw-runtime-snapshot",mission:t(a.mission)??t(a.prompt)??void 0,dispatchId:t(a.dispatchId)??void 0},g=(0,f.$Z)(e,b.agentConfig,b.agentsList,{resolveWorkspaceId:b.resolveWorkspaceId}),h=q(a),i=t(a.workspaceId)??p(h,b)??g.workspaceId;return[{...g,id:t(a.runtimeId)??(0,f.kO)(e),title:t(a.title)??g.title,subtitle:t(a.summary)??t(a.message)??g.subtitle,status:k(t(a.status)??g.status),workspaceId:i??void 0,workspacePath:h??g.workspacePath,toolNames:l(a)??g.toolNames,metadata:{...g.metadata,origin:"openclaw-runtime-snapshot",gatewayObjectKind:"session",event:t(a.event)??null}}]})(a,b)),...r(a.tasks).flatMap(a=>(function(a,b){let c,d=t(a.taskId)??t(a.id),e=t(a.agentId)??t(a.assigneeAgentId);if(!d&&!e)return[];let f=t(a.sessionKey)??t(a.openClawSessionKey)??t(a.gatewaySessionKey)??(c=t(a.key),c?.startsWith("agent:")?c:null),g=t(a.sessionId)??t(a.openClawSessionId)??t(a.gatewaySessionId)??function(a){if(!a)return null;let b=":explicit:",c=a.indexOf(b);return -1===c?null:a.slice(c+b.length).trim()||null}(f),h=f??(g&&e?`agent:${e}:explicit:${g}`:null),i=w(a.updatedAt??a.timestamp??a.ts??a.createdAt),j=q(a),s=t(a.workspaceId)??p(j,b)??o(e,b),u=t(a.mission)??t(a.prompt)??t(a.title),x=n(r(a.artifacts));return[{id:t(a.runtimeId)??`runtime:gateway-task:${z(d,e)}`,source:"turn",key:d??`agent:${e}:task`,title:t(a.title)??"Gateway task",subtitle:t(a.summary)??t(a.message)??t(a.status)??"OpenClaw task update",status:k(t(a.status)??""),updatedAt:i,ageMs:v(a.ageMs)??(i?Math.max(0,Date.now()-i):null),agentId:e??void 0,workspaceId:s??void 0,workspacePath:j??void 0,modelId:t(a.model)??t(a.modelId)??void 0,sessionId:g??h??void 0,taskId:d??void 0,runId:t(a.runId)??void 0,toolNames:l(a),tokenUsage:m(a),metadata:{origin:"openclaw-runtime-snapshot",gatewayObjectKind:"task",taskId:d??null,mission:u,sessionId:g??null,sessionKey:h,openClawSessionId:g??null,openClawSessionKey:h,dispatchId:t(a.dispatchId)??null,createdFiles:x}}]})(a,b)),...r(a.artifacts).flatMap(a=>(function(a,b){let c=t(a.artifactId)??t(a.id),d=t(a.taskId),e=t(a.sessionId),f=t(a.agentId);if(!c&&!d&&!e)return[];let g=w(a.updatedAt??a.timestamp??a.ts??a.createdAt),h=n([a]),i=t(a.path)??t(a.name)??c??"artifact",j=q(a);return[{id:t(a.runtimeId)??`runtime:gateway-artifact:${z(c,d,e)}`,source:"turn",key:d??e??c??i,title:"Gateway artifact",subtitle:i,status:k(t(a.status)??"completed"),updatedAt:g,ageMs:v(a.ageMs)??(g?Math.max(0,Date.now()-g):null),agentId:f??void 0,workspaceId:t(a.workspaceId)??p(j,b)??o(f,b)??void 0,workspacePath:j??void 0,sessionId:e??void 0,taskId:d??void 0,runId:t(a.runId)??void 0,metadata:{origin:"openclaw-runtime-snapshot",gatewayObjectKind:"artifact",artifactId:c??null,createdFiles:h}}]})(a,b))]:[]}function j(a){let b=x(a.payload)?a.payload:{},c=s(b,"metadata"),d=t(a.event)??t(b.type)??"event",e=t(b.sessionKey)??t(b.key),f=t(b.agentId)??t(b.agent)??y(e),h=t(b.sessionId)??t(b.session)??e,i=t(b.runId)??t(b.run)??t(b.clientRunId),j=t(b.taskId)??t(s(b,"task")?.id),m=t(b.artifactId)??t(s(b,"artifact")?.id),o=w(b.timestamp??b.ts??b.updatedAt),p=k(t(b.status)??d),r=q(b),u=t(b.workspaceId)??(r?(0,g.S_)(r):null),v=t(b.text)??t(b.message)??t(b.summary)??t(b.detail)??d,A=t(b.runtimeId)??`runtime:gateway:${z(f,h,i,j,m,d)}`;if(!f&&!h&&!i&&!j&&!m)return null;let B=n([b,s(b,"artifact")]);return{id:A,source:"turn",key:i||h||j||m||A,title:t(b.title)??(j?"Gateway task event":"Gateway runtime event"),subtitle:v,status:p,updatedAt:o,ageMs:o?Math.max(0,Date.now()-o):null,agentId:f??void 0,workspaceId:u??void 0,workspacePath:r??void 0,sessionId:h??void 0,taskId:j??void 0,runId:i??void 0,modelId:t(b.model)??t(b.modelId)??void 0,toolNames:l(b),metadata:{origin:t(b.origin)??t(c?.origin)??"openclaw-gateway-event",event:d,channel:t(b.channel)??null,approvalId:t(b.approvalId)??null,artifactId:m??null,dispatchId:t(b.dispatchId)??t(c?.dispatchId)??null,kind:t(b.kind)??t(c?.kind)??null,chatType:t(b.chatType)??t(c?.chatType)??null,mission:t(b.mission)??t(b.prompt)??null,createdFiles:B}}}function k(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 l(a){let b=[t(a.toolName),t(a.tool),...u(a.tools),...u(a.toolNames)].filter(a=>!!a);return b.length>0?Array.from(new Set(b)):void 0}function m(a){let b=x(a.tokenUsage)?a.tokenUsage:a,c=v(b.inputTokens)??v(b.input),d=v(b.outputTokens)??v(b.output),e=v(b.totalTokens)??v(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:v(b.cacheRead)??0}}function n(a){let b=[];for(let c of a){if(!c)continue;let a=t(c.path)??t(c.filePath)??t(c.uri),d=t(c.displayPath)??t(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 o(a,b){if(!a)return null;let c=b.agentsList.find(b=>b.id===a),d=b.agentConfig.find(b=>b.id===a);return p(c?.workspace||d?.workspace,b)}function p(a,b){return a?b.resolveWorkspaceId?.(a):null}function q(a){return t(a.workspacePath)??t(a.workspace)}function r(a){return Array.isArray(a)?a.filter(a=>x(a)):[]}function s(a,b){let c=a[b];return x(c)?c:null}function t(a){return"string"==typeof a&&a.trim()?a.trim():null}function u(a){return Array.isArray(a)?a.map(t).filter(a=>!!a):[]}function v(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}function w(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 x(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function y(a){if(!a?.startsWith("agent:"))return null;let[,b]=a.split(":");return b||null}function z(...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
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
138
|
|
|
139
139
|
Shared project context for all agents working in this workspace.
|