@sapienx/agentos 0.5.7 → 0.5.9
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/bin/agentos.js +113 -2
- package/bin/terminal-boot.js +383 -76
- package/bundle/.next/BUILD_ID +1 -1
- package/bundle/.next/app-path-routes-manifest.json +9 -8
- package/bundle/.next/build-manifest.json +3 -3
- package/bundle/.next/prerender-manifest.json +3 -3
- package/bundle/.next/react-loadable-manifest.json +2 -2
- package/bundle/.next/required-server-files.json +1 -1
- package/bundle/.next/routes-manifest.json +6 -0
- package/bundle/.next/server/app/_global-error/page.js +2 -2
- 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 +2 -2
- package/bundle/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundle/.next/server/app/_not-found.html +1 -1
- package/bundle/.next/server/app/_not-found.rsc +2 -2
- package/bundle/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/bundle/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/bundle/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- 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/agents/page.js +2 -2
- 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/agents/[agentId]/chat/route.js +4 -4
- 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/files/reveal/route.js +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 +1 -1
- package/bundle/.next/server/app/api/mission/route.js +1 -1
- package/bundle/.next/server/app/api/mission/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/models/catalog/route.js +2 -2
- package/bundle/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/models/providers/route.js +2 -2
- package/bundle/.next/server/app/api/models/providers/route.js.nft.json +1 -1
- package/bundle/.next/server/app/api/onboarding/models/route.js +3 -3
- 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 +1 -1
- package/bundle/.next/server/app/api/openclaw/compatibility-smoke/route.js +1 -0
- package/bundle/.next/server/app/api/openclaw/compatibility-smoke/route.js.nft.json +1 -0
- package/bundle/.next/server/app/api/openclaw/compatibility-smoke/route_client-reference-manifest.js +1 -0
- package/bundle/.next/server/app/api/planner/[planId]/deploy/route.js +2 -2
- 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/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/system/open-terminal/route.js +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 +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/route.js +2 -2
- package/bundle/.next/server/app/api/workspaces/route.js.nft.json +1 -1
- package/bundle/.next/server/app/files/page.js +2 -2
- 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 +2 -2
- 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/models/page.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +9 -8
- package/bundle/.next/server/chunks/1718.js +4 -0
- package/bundle/.next/server/chunks/4391.js +45 -35
- package/bundle/.next/server/chunks/4767.js +1 -4
- package/bundle/.next/server/chunks/5151.js +14 -4
- package/bundle/.next/server/chunks/6476.js +2 -2
- package/bundle/.next/server/chunks/8849.js +1 -1
- package/bundle/.next/server/functions-config-manifest.json +1 -0
- 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 -1
- package/bundle/.next/server/pages/500.html +1 -1
- package/bundle/.next/server/server-reference-manifest.json +1 -1
- package/bundle/.next/static/C5KQaZvAavAtZzYvH3CPw/_buildManifest.js +1 -0
- package/bundle/.next/static/chunks/2396-395f5ed99e66819d.js +1 -0
- package/bundle/.next/static/chunks/7197.2385ee563e32813a.js +1 -0
- package/bundle/.next/static/chunks/7442-b2286cbca8c413fd.js +198 -0
- package/bundle/.next/static/chunks/app/_global-error/{page-73422dc4075cbfe0.js → page-8443c62570b9a078.js} +1 -1
- package/bundle/.next/static/chunks/app/_not-found/{page-73422dc4075cbfe0.js → page-8443c62570b9a078.js} +1 -1
- package/bundle/.next/static/chunks/app/api/agents/[agentId]/chat/{route-73422dc4075cbfe0.js → route-8443c62570b9a078.js} +1 -1
- package/bundle/.next/static/chunks/app/api/agents/{route-73422dc4075cbfe0.js → route-8443c62570b9a078.js} +1 -1
- package/bundle/.next/static/chunks/app/api/diagnostics/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/files/reveal/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/gateway/control/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/integrations/[integrationId]/status/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/mission/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/models/catalog/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/models/providers/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/onboarding/models/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/onboarding/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/openclaw/capabilities/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/openclaw/compatibility-smoke/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/planner/[planId]/deploy/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/planner/[planId]/document-rewrite/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/planner/[planId]/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/planner/[planId]/simulate/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/planner/[planId]/turn/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/planner/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/reset/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/runtimes/[runtimeId]/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/settings/gateway/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/settings/openclaw-binary/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/settings/workspace-root/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/snapshot/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/stream/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/system/open-terminal/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/tasks/[taskId]/abort/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/tasks/[taskId]/control/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/tasks/[taskId]/stream/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/update/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/channels/discovered-groups/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/channels/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/edit-draft/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/files/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/surfaces/discovery/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/api/workspaces/route-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/app/not-found-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/next/dist/client/components/builtin/app-error-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/next/dist/client/components/builtin/forbidden-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/next/dist/client/components/builtin/unauthorized-8443c62570b9a078.js +1 -0
- package/bundle/.next/static/chunks/{webpack-1e021d6850c9ac01.js → webpack-13c3a46c1cdfa6e4.js} +1 -1
- package/bundle/.next/static/css/288b13e5308447b9.css +3 -0
- package/bundle/server.js +1 -1
- package/package.json +1 -1
- package/bundle/.next/static/JJw_UWORQdbCo0tnqFq68/_buildManifest.js +0 -1
- package/bundle/.next/static/chunks/1994.2c1ce6369c0b31aa.js +0 -1
- package/bundle/.next/static/chunks/2396-3a9544c281c618dd.js +0 -1
- package/bundle/.next/static/chunks/7442-0da619eb6902ba5b.js +0 -188
- package/bundle/.next/static/chunks/app/api/diagnostics/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/files/reveal/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/gateway/control/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/integrations/[integrationId]/status/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/mission/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/models/catalog/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/models/providers/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/onboarding/models/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/onboarding/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/openclaw/capabilities/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/planner/[planId]/deploy/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/planner/[planId]/document-rewrite/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/planner/[planId]/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/planner/[planId]/simulate/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/planner/[planId]/turn/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/planner/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/reset/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/runtimes/[runtimeId]/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/settings/gateway/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/settings/openclaw-binary/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/settings/workspace-root/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/snapshot/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/stream/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/system/open-terminal/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/tasks/[taskId]/abort/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/tasks/[taskId]/control/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/tasks/[taskId]/stream/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/update/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/channels/discovered-groups/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/channels/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/edit-draft/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/files/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/workspaces/[workspaceId]/surfaces/discovery/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/api/workspaces/route-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/app/not-found-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/next/dist/client/components/builtin/app-error-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/next/dist/client/components/builtin/forbidden-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/chunks/next/dist/client/components/builtin/unauthorized-73422dc4075cbfe0.js +0 -1
- package/bundle/.next/static/css/6de56db1be7d3d06.css +0 -3
- /package/bundle/.next/static/{JJw_UWORQdbCo0tnqFq68 → C5KQaZvAavAtZzYvH3CPw}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=5151,exports.ids=[5151],exports.modules={1118:(a,b,c)=>{c.d(b,{T:()=>e,j:()=>d});let d=[{name:"exec",description:"Run shell commands and manage background processes.",source:"OpenClaw built-in",category:"builtin"},{name:"process",description:"Run shell commands and manage background processes.",source:"OpenClaw built-in",category:"builtin"},{name:"bash",description:"Run shell commands and manage background processes.",source:"OpenClaw built-in",category:"builtin"},{name:"code_execution",description:"Run sandboxed remote Python analysis.",source:"OpenClaw built-in",category:"builtin"},{name:"browser",description:"Control a Chromium browser (navigate, click, screenshot).",source:"OpenClaw built-in",category:"builtin"},{name:"web_search",description:"Search the web and fetch search results.",source:"OpenClaw built-in",category:"builtin"},{name:"x_search",description:"Search X posts.",source:"OpenClaw built-in",category:"builtin"},{name:"web_fetch",description:"Fetch page content.",source:"OpenClaw built-in",category:"builtin"},{name:"read",description:"Read files in the workspace.",source:"OpenClaw built-in",category:"builtin"},{name:"write",description:"Write files in the workspace.",source:"OpenClaw built-in",category:"builtin"},{name:"edit",description:"Edit files in the workspace.",source:"OpenClaw built-in",category:"builtin"},{name:"apply_patch",description:"Apply structured multi-hunk patches.",source:"OpenClaw built-in",category:"builtin"},{name:"message",description:"Send messages across channels.",source:"OpenClaw built-in",category:"builtin"},{name:"canvas",description:"Drive node canvas workflows.",source:"OpenClaw built-in",category:"builtin"},{name:"nodes",description:"Discover and target paired devices.",source:"OpenClaw built-in",category:"builtin"},{name:"cron",description:"Manage scheduled jobs.",source:"OpenClaw built-in",category:"builtin"},{name:"gateway",description:"Inspect and restart gateway services.",source:"OpenClaw built-in",category:"builtin"},{name:"image",description:"Analyze images.",source:"OpenClaw built-in",category:"builtin"},{name:"image_generate",description:"Generate or edit images.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_list",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_history",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_send",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_spawn",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_yield",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"subagents",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"session_status",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"agents_list",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"}],e=[{name:"group:runtime",description:"exec, bash, process, code_execution",source:"OpenClaw docs",category:"group"},{name:"group:fs",description:"read, write, edit, apply_patch",source:"OpenClaw docs",category:"group"},{name:"group:sessions",description:"sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status",source:"OpenClaw docs",category:"group"},{name:"group:memory",description:"memory_search, memory_get",source:"OpenClaw docs",category:"group"},{name:"group:web",description:"web_search, x_search, web_fetch",source:"OpenClaw docs",category:"group"},{name:"group:ui",description:"browser, canvas",source:"OpenClaw docs",category:"group"},{name:"group:automation",description:"cron, gateway",source:"OpenClaw docs",category:"group"},{name:"group:messaging",description:"message",source:"OpenClaw docs",category:"group"},{name:"group:nodes",description:"nodes",source:"OpenClaw docs",category:"group"},{name:"group:openclaw",description:"All built-in OpenClaw tools (excludes plugin tools).",source:"OpenClaw docs",category:"group"}]},5151:(a,b,c)=>{c.d(b,{er:()=>aX,b7:()=>aW,GM:()=>aZ,ZZ:()=>aY});var d=c(96876),e=c(88366),f=c(92273),g=c(39503);async function h(a=2e4,b=(0,g.rw)()){try{let c=await b.getStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}async function i(a=2e4,b=(0,g.rw)()){try{let c=await b.getGatewayStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}async function j(a=2e4,b=(0,g.rw)()){try{let c=await b.getModelStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}class k{constructor(a){this.staleGraceMs=a,this.cache=null}clear(){this.cache=null}shouldRefresh(){return!this.cache||Date.now()-this.cache.capturedAt>this.staleGraceMs}getCachedPort(a=18789){return this.cache?.value.gateway?.port??a}write(a){this.cache={value:a,capturedAt:Date.now()}}resolve(a){return"fulfilled"===a.status?(this.write(a.value),{value:a.value,reusedCachedValue:!1}):this.cache&&Date.now()-this.cache.capturedAt<=this.staleGraceMs?{value:this.cache.value,reusedCachedValue:!0}:{value:void 0,reusedCachedValue:!1}}}var l=c(83761),m=c(75402),n=c(88978);class o{constructor(a){this.options=a,this.cache=null,this.promise=null}clear(){this.cache=null,this.promise=null}read(a,b={},c=!1){let d=p(a,b),e=this.cache,f=!!(e&&e.agentIdsKey===d),g=!!(f&&e&&e.expiresAt>Date.now());return!c&&g&&e?e.value:!c&&f&&e?(this.promise||(this.promise=this.loadForCurrentGeneration(a,b),this.promise.catch(()=>{}),this.promise.finally(()=>{this.promise=null}).catch(()=>{})),e.value):!c&&this.promise&&f&&e?e.value:this.promise&&!c||c&&this.promise?this.promise:(this.promise=this.loadForCurrentGeneration(a,b),this.promise.catch(()=>{}),this.promise.finally(()=>{this.promise=null}).catch(()=>{}),c?this.promise.then(a=>a):this.promise)}loadForCurrentGeneration(a,b){let c=this.options.getGeneration(),d=p(a,b);return this.options.loadState(a,b).then(a=>(c===this.options.getGeneration()&&(this.cache={agentIdsKey:d,value:a,expiresAt:Date.now()+this.options.ttlMs}),a))}}function p(a,b){return[...new Set(a.filter(Boolean))].sort().map(a=>`${a}:${b[a]??""}`).join("\0")}class q{constructor(a){this.options=a,this.cache=null,this.promise=null,this.generation=0}getGeneration(){return this.generation}clear(a={}){a.incrementGeneration&&(this.generation+=1),this.cache=null}async get(a={}){let b=this.cache,c=!!(b&&b.expiresAt>Date.now());if(!a.force&&c&&b)return r(b,a.includeHidden);if(!a.force&&b)return this.promise||(this.promise=this.loadForCurrentGeneration("interactive"),this.promise.catch(()=>{}),this.promise.finally(()=>{this.promise=null}).catch(()=>{})),r(b,a.includeHidden);if(a.force){this.generation+=1,this.cache=null,this.promise=this.loadForCurrentGeneration(a.loadProfile??"refresh"),this.promise.catch(()=>{});try{let b=await this.promise;return r(b,a.includeHidden)}finally{this.promise=null}}if(this.promise)return r(await this.promise,a.includeHidden);this.promise=this.loadForCurrentGeneration("interactive"),this.promise.catch(()=>{});try{let b=await this.promise;return r(b,a.includeHidden)}finally{this.promise=null}}loadForCurrentGeneration(a){let b=this.generation;return this.options.load(a,b).then(a=>(b===this.generation&&(this.cache={...a,expiresAt:Date.now()+this.options.ttlMs}),a))}}function r(a,b){return b?a.full:a.visible}class s{constructor(a){this.controller=new q(a)}getGeneration(){return this.controller.getGeneration()}clear(a={}){this.controller.clear(a)}getSnapshot(a={}){return this.controller.get(a)}}var t=c(25303),u=c(72761),v=c(56763),w=c(11782);function x(a,b){return{models:Array.from(new Set([...a.map(a=>a.model??"").filter(Boolean),...(b?.allowed??[]).filter(Boolean),b?.resolvedDefault??"",b?.defaultModel??""].filter(Boolean))).map(a=>{var b;let c,d,e,f=(d=(c=a.trim().toLowerCase()).split("/",1)[0]||"",e=c.includes("/")?c.slice(d.length+1):c,"ollama"===d?{contextWindow:(b=e).includes("qwen3.5")?262144:(b.includes("qwen")||b.includes("llama3.2")||b.includes("llama3.3")||b.includes("deepseek-r1"),131072),local:!0}:"openai"===d||"openai-codex"===d?{contextWindow:e.startsWith("gpt-5")?272e3:null,local:!1}:"anthropic"===d?{contextWindow:2e5,local:!1}:"google"===d||"gemini"===d?{contextWindow:1e6,local:!1}:"deepseek"===d?{contextWindow:64e3,local:!1}:"mistral"===d?{contextWindow:128e3,local:!1}:"openrouter"===d||"xai"===d?{contextWindow:null,local:!1}:{contextWindow:null,local:null});return{key:a,name:a,input:"text",contextWindow:f.contextWindow,local:f.local,available:!0,tags:[],missing:!1}})}}function y(a,b=[]){let c=A(b.find(a=>a.isDefault))||A(b.find(a=>!!A(a)))||a.find(a=>a.default)?.model||a.find(a=>!!a.model)?.model||null;if(c)return{defaultModel:c,resolvedDefault:c}}function z(a){return"string"==typeof a&&a.trim()?a.trim():null}function A(a){return z(a?.modelId)??z(a?.model)}var B=c(76760),C=c.n(B),D=c(21916);function E(a,b){let c=new Set,d=new Map;for(let b of a){let a=function(a){var b;let c=H(a.workspace),d=(b=a.identityName||a.name||a.id,(0,D.Nk)(b)?.toLocaleLowerCase("en-US")??"");return c&&d?`${c}\0${d}`:null}(b);if(!a)continue;let c=d.get(a)??[];c.push(b),d.set(a,c)}for(let a of d.values()){if(a.length<2)continue;let d=a.filter(G);if(0!==d.length)for(let e of a)!d.includes(e)&&function(a,b){let c=H(a.agentDir),d=H(C().join(b,"agents"));return!!(c&&d&&c.startsWith(`${d}${C().sep}`))}(e,b)&&c.add(F(e))}return a.filter(a=>!c.has(F(a)))}function F(a){return`${a.id}\0${H(a.agentDir)}`}function G(a){let b=H(a.workspace),c=H(a.agentDir);return!!b&&!!c&&c.startsWith(`${C().join(b,".openclaw","agents")}${C().sep}`)}function H(a){let b=(0,D.Nk)(a);return b?C().normalize(b):""}let I="Deferred to background refresh.";class J{constructor(a=3e5){this.ttlMs=a,this.cache=null,this.refreshPromise=null}clear(){this.cache=null,this.refreshPromise=null}shouldRefresh(){return!this.cache||Date.now()-this.cache.capturedAt>this.ttlMs}resolve(a){return K(a,this.cache,a=>{this.cache=a},this.ttlMs)}scheduleRefresh(a){!this.refreshPromise&&this.shouldRefresh()&&(this.refreshPromise=(async()=>{try{let b=await a();"fulfilled"===b.status&&(this.cache={value:b.value,capturedAt:Date.now()})}catch{}finally{this.refreshPromise=null}})(),this.refreshPromise.catch(()=>{}))}}function K(a,b,c,d=3e5){return"fulfilled"===a.status?(c({value:a.value,capturedAt:Date.now()}),{value:a.value,reusedCachedValue:!1,failed:!1}):b&&Date.now()-b.capturedAt<=d?{value:b.value,reusedCachedValue:!0,failed:!0}:{value:void 0,reusedCachedValue:!1,failed:!0}}function L(){return{status:"rejected",reason:Error(I)}}function M(a){return"rejected"===a.status&&a.reason instanceof Error&&a.reason.message===I}var N=c(28182),O=c(35456),P=c(51455),Q=c(58889);async function R(a){try{let b=await (0,P.readFile)(a,"utf8"),c=JSON.parse(b),d=c&&"object"==typeof c&&!Array.isArray(c)?c:{version:1,channels:[]},e=Array.isArray(d.channels)?d.channels.map(a=>(0,Q.kf)(a)).filter(a=>!!a):[];return{status:"fulfilled",value:(0,Q._E)({version:1,channels:e})}}catch(a){return{status:"rejected",reason:a}}}var S=c(99254);async function T(a){let b=await R(m.q6),c="fulfilled"===b.status?b.value:(0,Q._E)({version:1,channels:[]}),d="interactive"===a?[]:await (0,S.QT)(),e=(0,S.fy)((0,S.D4)([...d,...(0,S.G7)(c)]),c);return{channelRegistry:c,channelAccounts:e}}var U=c(65493),V=c(38610);function W(a){if(!a)return null;try{return new URL(a).hostname}catch{return null}}function X(a){let b=a.trim().toLowerCase().replace(/^\[|\]$/g,"");return"localhost"===b||"::1"===b||"0:0:0:0:0:0:0:1"===b||/^127\.(?:\d{1,3}\.){2}\d{1,3}$/.test(b)}function Y(a,b){let c=[...a.issues,..."failed"===b.status&&b.error?[`Latest runtime smoke test failed for ${b.agentId??"unknown agent"}. ${b.error}`]:[]];return{...a,smokeTest:b,issues:c}}var Z=c(15292),$=c(38798),_=c(7565),aa=c(48161),ab=c.n(aa);let ac=["Audit the selected workspace and generate a concrete first task batch.","Plan a multi-agent delivery mission for the current product goal.","Review active runtimes, identify blockers, and propose the next handoff."];function ad(a){return{visible:a,full:a}}function ae(a){return a||C().join(ab().homedir(),"Documents","Shared","projects")}async function af(a,b,c){let d=a.map(a=>a.id).filter(Boolean),e=Object.fromEntries(a.filter(a=>a.id).map(a=>[a.id,a.agentDir]));return Y(await c.read(d,e),(0,O.fj)(b))}async function ag(a){var b,c,d,f,g,h;let i,j,k,l,m,n,o,p,q,r,s,u,v,w,x=(0,D.QL)(a.models,a.modelStatus),y=(b=a.status,b?.securityAudit?.findings?.filter(a=>"warn"===a.severity).map(a=>a.title||a.detail||"Security warning")??[]),z=(c={status:a.status,fallbackVersion:await (0,e.YP)()??void 0},m=(0,D.Nk)(c.status?.runtimeVersion||c.status?.overview?.version||c.status?.version)??c.fallbackVersion??void 0,n=(0,D.Nk)(c.status?.update?.registry?.latestVersion??void 0),o=(0,D.nn)(c.status?.update?.registry?.error??void 0),p=m&&n?(0,D.QK)(n,m)>0:void 0,q=(0,D.mB)({currentVersion:m,latestVersion:n,updateError:o,legacyInfo:c.status?.overview?.update}),{currentVersion:m,latestVersion:n,updateAvailable:p,updateError:o,updateInfo:q}),A=(0,Z.Df)(await (0,Z.bq)(),(0,e.T5)()),B="interactive"===a.profile?(0,t.Bc)()??void 0:await (0,t.N3)().catch(()=>void 0);"interactive"!==a.profile||B||(0,t.Cs)();let C=(0,_.Xz)().getDiagnostics?.(),E=(0,V.wi)((0,$.Lo)(),C).map(a=>`gateway.${a.operation}: Gateway-first request fell back to CLI (${a.kind}): ${a.issue} Recovery: ${a.recovery}`);return f={gatewayStatus:a.gatewayStatus,status:a.status,configuredWorkspaceRoot:a.configuredWorkspaceRoot,workspaceRoot:ae(a.configuredWorkspaceRoot),configuredGatewayUrl:a.configuredGatewayUrl,hasOpenClawSignal:a.hasOpenClawSignal,securityWarnings:y,runtimeDiagnostics:a.runtimeDiagnostics,openClawBinarySelection:A,modelReadiness:x,capabilityMatrix:B,commandHistory:(0,e.ik)(),transport:C,versionDiagnostics:z,issues:(d={payloadResults:a.payloadResults,gatewayStatusRejectedWithCachedValue:a.gatewayStatusRejectedWithCachedValue,payloadReuse:a.payloadReuse,runtimeIssues:[...a.runtimeDiagnostics.issues,...E]},[...(0,D.Lp)(Object.fromEntries(Object.entries(d.payloadResults).filter(([,a])=>!M(a)))),...d.gatewayStatusRejectedWithCachedValue?["gatewayStatus: Reusing the last successful gateway status after a transient OpenClaw check failure."]:[],...Object.entries(d.payloadReuse).map(([a,b])=>{var c;return c=a,b.reusedCachedValue?`${c}: Reusing the last successful payload while a slow OpenClaw command refreshes in the background.`:null}).filter(a=>!!a),...d.runtimeIssues])},r=(f.transport?.recentFallbackDiagnostics??[]).map(a=>({...a,operationLabel:(0,U.Hi)(a.operation)})),s=(0,V.wi)(r,f.transport),u=[...f.securityWarnings,...(g=f.gatewayStatus,h=f.configuredGatewayUrl,i=[],j=W(g?.gateway?.probeUrl),k=W(h??void 0),l=(0,D.Nk)(g?.gateway?.bindMode??void 0)?.toLowerCase(),j&&!X(j)&&i.push("OpenClaw Gateway is reachable on a non-loopback host. AgentOS mutation APIs stay restricted to same-origin localhost requests."),k&&!X(k)&&i.push("AgentOS is configured to use a non-loopback Gateway URL. Keep AgentOS itself bound to localhost unless an explicit operator tunnel is in place."),l&&!/(local|loopback|localhost)/i.test(l)&&i.push("OpenClaw Gateway bind mode is not local-only. Review Gateway exposure before using operator write actions."),Array.from(new Set(i)))],w=(v=function(a){var b;let c,d=[a?.rpc?.error,a?.rpc?.capability,a?.rpc?.auth?.capability].filter(a=>"string"==typeof a&&!!a.trim()).join("\n");if(!/scope upgrade pending approval|pairing_pending|device token scope mismatch|connected_no_operator_scope|missing operator/i.test(d))return null;let e=(b=d,c=/\brequestId:\s*([a-f0-9-]{12,})\b/i.exec(b),c?.[1]??null);return e?`OpenClaw Gateway device access is waiting for operator-scope approval (${e}). Run Repair access in Gateway settings or approve that request with OpenClaw devices, then retry.`:"OpenClaw Gateway device access is waiting for operator-scope approval. Run Repair access in Gateway settings or approve the pending OpenClaw device request, then retry."}(f.gatewayStatus))?[v,...f.issues.filter(a=>{var b;return b=a,!/Timed out waiting for OpenClaw Gateway method|Gateway-native operation failed; CLI fallback disabled|Native Gateway: Unreachable/i.test(b)})]:f.issues,{installed:!0,loaded:!!f.gatewayStatus?.service?.loaded,rpcOk:!!f.gatewayStatus?.rpc?.ok,health:(0,D.YO)({rpcOk:f.gatewayStatus?.rpc?.ok,warningCount:u.length,runtimeIssueCount:f.runtimeDiagnostics.issues.length,hasOpenClawSignal:f.hasOpenClawSignal}),version:f.versionDiagnostics.currentVersion,latestVersion:f.versionDiagnostics.latestVersion,updateAvailable:f.versionDiagnostics.updateAvailable,updateError:f.versionDiagnostics.updateError,updateRoot:(0,D.Nk)(f.status?.update?.root??void 0),updateInstallKind:(0,D.Nk)(f.status?.update?.installKind??void 0),updatePackageManager:(0,D.Nk)(f.status?.update?.packageManager??void 0),workspaceRoot:f.workspaceRoot,configuredWorkspaceRoot:f.configuredWorkspaceRoot,dashboardUrl:`http://127.0.0.1:${f.gatewayStatus?.gateway?.port??18789}/`,gatewayUrl:f.gatewayStatus?.gateway?.probeUrl||"ws://127.0.0.1:18789",configuredGatewayUrl:f.configuredGatewayUrl??null,bindMode:f.gatewayStatus?.gateway?.bindMode,port:f.gatewayStatus?.gateway?.port,updateChannel:f.status?.updateChannel||"stable",updateInfo:f.versionDiagnostics.updateInfo,serviceLabel:f.gatewayStatus?.service?.label,openClawBinarySelection:f.openClawBinarySelection,modelReadiness:f.modelReadiness,capabilityMatrix:f.capabilityMatrix,gatewayFallbackDiagnostics:r,gatewayFallbackReasons:s.map(a=>`${a.operationLabel} (${a.operation}): ${a.kind}: ${a.issue} Recovery: ${a.recovery}`),runtime:f.runtimeDiagnostics,commandHistory:f.commandHistory,transport:f.transport,securityWarnings:u,issues:w}}function ah(a){return function(a,b,c){let d=new Map;for(let a of b)d.set(a.modelId,(d.get(a.modelId)??0)+1);return a.map(a=>({id:a.key,name:a.name,provider:(0,w.AV)(a.key,c),input:a.input,contextWindow:a.contextWindow,local:a.local,available:a.available,missing:a.missing,tags:a.tags,usageCount:d.get(a.key)??0}))}(a.models,a.agents,a.modelStatus)}async function ai(a,b){try{var c,d,e;let f=(c=a,d=b,e=[...c.flatMap(a=>{let b=[],c=an(a.workspace);return c&&b.push(C().join(c,".openclaw","agents")),b}),C().join(d,"agents")],Array.from(new Set(e.filter(Boolean)))),g=await aj(f);return{status:"fulfilled",value:{sessions:g}}}catch(a){return{status:"rejected",reason:a}}}async function aj(a){let b=new Map;for(let c of a){let a;try{a=await (0,P.readdir)(c,{withFileTypes:!0})}catch{continue}for(let d of a){let a,e;if(!d.isDirectory())continue;let f=C().join(c,d.name,"sessions","sessions.json");try{a=await (0,P.readFile)(f,"utf8")}catch{continue}try{e=JSON.parse(a)}catch{continue}if(Array.isArray(e)){for(let a of e){if(!am(a))continue;let c=ak(a,d.name);b.has(c.key)||b.set(c.key,c)}continue}if(am(e))for(let[a,c]of Object.entries(e)){if(!am(c))continue;let e=ak(c,d.name,a);b.has(e.key)||b.set(e.key,e)}}}return Array.from(b.values()).sort((a,b)=>(b.updatedAt??0)-(a.updatedAt??0))}function ak(a,b,c){var d;let e=an("string"==typeof a.sessionId?a.sessionId:void 0),f=al(a,"updatedAt"),g=al(a,"inputTokens"),h=al(a,"outputTokens"),i=al(a,"totalTokens"),j=al(a,"cacheRead"),k=al(a,"ageMs")??("number"==typeof(d=f)?Math.max(Date.now()-d,0):void 0),l=an("string"==typeof a.model?a.model:void 0),m=an("string"==typeof a.modelProvider?a.modelProvider:void 0),n=an("string"==typeof a.key?a.key:c)??e??`${b}:${f??"session"}`;return{agentId:b,key:n,sessionId:e||void 0,updatedAt:f,ageMs:k,inputTokens:g,outputTokens:h,totalTokens:i??("number"==typeof g||"number"==typeof h?(g??0)+(h??0):void 0),model:l||void 0,modelProvider:m||void 0,cacheRead:j,kind:function(a,b){let c=an("string"==typeof a.kind?a.kind:"string"==typeof a.chatType?a.chatType:void 0);if(c)return c;let d=am(a.deliveryContext)?a.deliveryContext:null,e=am(a.origin)?a.origin:null;if("heartbeat"===an("string"==typeof d?.to?d.to:void 0)||"heartbeat"===an("string"==typeof e?.provider?e.provider:void 0))return"direct";let f=an(b);return f&&/:(direct|dm|private):/i.test(f)?"direct":f&&/:(group|channel|thread):/i.test(f)?"group":"task"}(a,n)}}function al(a,b){let c=a[b];return"number"==typeof c&&Number.isFinite(c)?c:void 0}function am(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function an(a){if("string"!=typeof a)return null;let b=a.trim();return b.length>0?b:null}async function ao(){try{let a=await (0,P.readFile)(C().join(m.wh,"openclaw.json"),"utf8"),b=JSON.parse(a);return{status:"fulfilled",value:function(a,b){let c=a;for(let a of b.split(".")){var d;if(!((d=c)&&"object"==typeof d&&!Array.isArray(d))||!Object.hasOwn(c,a))return;c=c[a]}return c}(b,"gateway.remote.url")??void 0}}catch(a){if("ENOENT"===("object"==typeof a&&a&&"code"in a?a.code:void 0))return{status:"fulfilled",value:void 0};return{status:"rejected",reason:a}}}async function ap(a){try{var b;let c,d=await (0,g.rw)().listAgents({timeoutMs:15e3});return{status:"fulfilled",value:(b=m.wh,c=new Map(a.map(a=>[a.id,a])),E(d.agents.map(a=>{let e=c.get(a.id),f=a.identity??e?.identity,g=(0,D.Nk)(a.workspace)??(0,D.Nk)(e?.workspace)??"",h=a.model?.primary??e?.model;return{id:a.id,name:a.name||f?.name||e?.name||a.id,identityName:f?.name,identityEmoji:f?.emoji,identitySource:a.identity?"gateway":e?.identity?"config":void 0,workspace:g,agentDir:e?.agentDir||C().join(b,"agents",a.id,"agent"),model:h,isDefault:a.id===d.defaultId||!!e?.default}}),b))}}catch(a){return{status:"rejected",reason:a}}}async function aq(a){try{let a=await (0,g.rw)().listSessions({limit:500,includeGlobal:!1,includeUnknown:!1},{timeoutMs:15e3});if(!a||!Array.isArray(a.sessions))throw Error("OpenClaw Gateway sessions.list returned an invalid payload.");return{status:"fulfilled",value:{sessions:a.sessions}}}catch{return ai(a,m.wh)}}var ar=c(20078),as=c(37110),at=c(80410);function au(a,b){return(b.updatedAt??0)-(a.updatedAt??0)}var av=c(70016),aw=c(25793);async function ax(){return(0,as.Ff)()}async function ay(a,b){let c=await (0,ar.cf)();return(0,at.kw)((0,ar.ZO)(a,c),b)}async function az(a){var b;let c,d=(await Promise.all(a.sessions.map(b=>(0,aw.V9)(b,a.agentConfig,a.agentsList,(b,c,d)=>(0,av.$Z)(b,c,d,{resolveWorkspaceId:a.resolveWorkspaceId}))))).flat(),e=(0,v.Em)(a.runtimeSnapshot,{agentConfig:a.agentConfig,agentsList:a.agentsList,resolveWorkspaceId:a.resolveWorkspaceId}),f=[...a.systemProfile?[]:await (0,u.Qc)(),...e,...d],g=(0,at.CD)(f,a.dispatchRecords),h=await (0,at.Ip)(g,a.dispatchRecords,{buildObservedRuntime:as.DO,persistObservation:as.vH,reconcileRuntimeState:as.Yp});return c=function(a,b,c={}){let d=new Map,e=new Set(a.map(a=>a.id));for(let b of a)d.set(b.id,b);for(let[a,c]of b.entries()){if(e.has(a))continue;let b={...c,status:"stalled"===c.status?"stalled":"cancelled"===c.status?"cancelled":"completed",metadata:{...c.metadata,historical:!0}};d.set(a,b)}let f=function(a){let b=new Map;for(let c of a){let a=c.agentId||c.workspaceId||"global",d=b.get(a)??[];d.push(c),b.set(a,d)}return Array.from(b.values()).flatMap(a=>{let b=a.sort(au),c=new Map(b.slice(0,8).map(a=>[a.id,a]));for(let a of b){var d;"string"==typeof(d=a).metadata.dispatchId&&d.metadata.dispatchId.trim().length>0&&!0!==d.metadata.historical&&c.set(a.id,a)}return Array.from(c.values()).sort(au)})}(Array.from(d.values())),g=new Map(f.filter(a=>!c.excludeFromCache?.(a)).map(a=>[a.id,a]));return{runtimes:f.sort(au),cache:g}}([...g,...h],(b=a.historyStore).cache,{excludeFromCache:at.U8}),b.cache=c.cache,c.runtimes}var aA=c(93628),aB=c(71065),aC=c(57419),aD=c(9443),aE=c(54252),aF=c(96109),aG=c(15612);async function aH(a){let b=new Map,c=new Map,d=new Map,e=[],f=[],g=new Map((a.status?.heartbeat?.agents??[]).map(a=>[a.agentId,a])),h=new Map(a.agentConfig.map(a=>[a.id,a])),i=new Map;for(let b of a.sessions){if(!b.agentId)continue;let a=i.get(b.agentId)??[];a.push(b),i.set(b.agentId,a)}for(let j of(await Promise.all(a.bindings.workspacePaths.map(async b=>{let e=a.bindings.activeAgentIdsByWorkspacePath.get(b)??[],f=await (0,Q.QO)(b,e);await (0,aE.u)(b),c.set(b,f),d.set(b,await (0,aD.xL)(b,f.template,f.rules??aG.eY))})),await Promise.all(a.bindings.workspaceBoundAgents.map(async b=>{var e;let f,j,k,l,m,n,o,p,q,r,s,t,u,v=h.get(b.id),w=a.bindings.resolveWorkspaceId(b.workspace),x=i.get(b.id)??[],y=c.get(b.workspace)??await (0,Q.OL)(b.workspace);c.set(b.workspace,y);let z=y.agents.find(a=>a.id===b.id)??null,A=await (0,aC.L)(b.workspace,{agentId:b.id,agentName:v?.name||b.name||v?.identity?.name||b.identityName||b.id,configuredSkills:(0,aB.AB)(v?.skills??[]),configuredTools:Array.from(new Set([...z?.toolIds??[],...v?.tools?.fs?.workspaceOnly||z?.policy?.fileAccess==="workspace-only"?["fs.workspaceOnly"]:[]].filter(Boolean))),template:y.template,rules:y.rules??aG.eY,workspaceBootstrapProfile:d.get(b.workspace)??await (0,aD.xL)(b.workspace,y.template,y.rules??aG.eY)}),B=a.runtimes.filter(a=>a.agentId===b.id).sort(au),C=g.get(b.id);return e={rawAgent:b,configured:v,identityOverrides:null,workspaceId:w,sessionList:x,manifestAgent:z,agentRuntimes:B,gatewayRpcOk:!!(a.gatewayStatus?.rpc?.ok||a.hasOpenClawSignal),heartbeat:C,profile:A},f=(0,aB.AB)(e.configured?.skills??[]),j=(0,D.Nk)(e.identityOverrides?.name)||e.configured?.name||e.rawAgent.name||e.configured?.identity?.name||e.rawAgent.identityName||e.rawAgent.id,k=e.manifestAgent?.policy??(0,aA.g0)((0,aA.qF)({skills:f,id:e.rawAgent.id,name:j}),{fileAccess:e.configured?.tools?.fs?.workspaceOnly?"workspace-only":"extended"}),l=(0,D.Am)([...e.manifestAgent?.toolIds??[],..."workspace-only"===k.fileAccess?["fs.workspaceOnly"]:[]]),m=e.rawAgent.model||e.configured?.model||"unassigned",n=e.agentRuntimes.sort(au),o=(0,D.Am)(n.flatMap(a=>a.toolNames??[])),p=n.map(a=>a.id),q=n[0],r=e.sessionList.map(a=>a.updatedAt??0).sort((a,b)=>b-a).at(0)||null,s=(0,D.yv)({rpcOk:e.gatewayRpcOk,activeRuntime:q,heartbeatEnabled:!!e.heartbeat?.enabled,lastActiveAt:r}),t={id:e.rawAgent.id,name:j,identityName:(0,D.Nk)(e.identityOverrides?.name)||e.configured?.identity?.name||e.rawAgent.identityName||void 0,workspaceId:e.workspaceId,workspacePath:e.rawAgent.workspace,agentDir:e.rawAgent.agentDir,modelId:m,isDefault:!!(e.rawAgent.isDefault||e.configured?.default),status:s,sessionCount:e.sessionList.length,lastActiveAt:r,currentAction:(0,D.iP)({runtime:q,heartbeatEvery:e.heartbeat?.every??null,status:s}),activeRuntimeIds:p,heartbeat:{enabled:!!e.heartbeat?.enabled,every:e.heartbeat?.every??null,everyMs:e.heartbeat?.everyMs??null},identity:{emoji:(0,D.Nk)(e.identityOverrides?.emoji)||e.configured?.identity?.emoji||e.rawAgent.identityEmoji,theme:(0,D.Nk)(e.identityOverrides?.theme)||e.configured?.identity?.theme,avatar:(0,D.Nk)(e.identityOverrides?.avatar)||e.configured?.identity?.avatar,source:e.rawAgent.identitySource},profile:e.profile,skills:f,tools:l,observedTools:o,policy:k},u=[{id:`edge:${e.workspaceId}:${t.id}:contains`,sourceId:e.workspaceId,targetId:t.id,kind:"contains",label:"workspace member"},{id:`edge:${t.id}:${m}:model`,sourceId:t.id,targetId:m,kind:"uses-model",label:"model assignment"},...p.map(a=>({id:`edge:${t.id}:${a}:run`,sourceId:t.id,targetId:a,kind:"active-run",label:"runtime"}))],{agent:t,workspacePath:e.rawAgent.workspace,workspaceId:e.workspaceId,primaryModel:m,sessionCount:e.sessionList.length,activeRuntimeIds:p,relationships:u}})))){let c=function(a,b,c){var d;let e=c(b),f=a.get(e);if(f)return f;let g={id:c(b),name:(d=b,(C().basename(d)||d).split(/[-_]/g).filter(Boolean).map(a=>a[0].toUpperCase()+a.slice(1)).join(" ")),slug:C().basename(b).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),path:b,kind:"workspace",agentIds:[],modelIds:[],activeRuntimeIds:[],totalSessions:0,health:"standby",bootstrap:{template:null,sourceMode:null,agentTemplate:null,coreFiles:[],optionalFiles:[],folders:[],projectShell:[],localSkillIds:[]},capabilities:{skills:[],tools:[],workspaceOnlyAgentCount:0},channels:[]};return a.set(e,g),g}(b,j.workspacePath,a.bindings.resolveWorkspaceId);c.agentIds.push(j.agent.id),c.modelIds.push(j.primaryModel),c.activeRuntimeIds.push(...j.activeRuntimeIds),c.totalSessions+=j.sessionCount,e.push(j.agent),f.push(...j.relationships)}let j=new Map;for(let a of e){let b=j.get(a.workspaceId)??[];b.push(a),j.set(a.workspaceId,b)}return{workspaces:await Promise.all(Array.from(b.values()).map(async a=>{var b;let d=j.get(a.id)??[],f=c.get(a.path)??null,g=await (0,aD.aL)(a.path,d,f??void 0);return{...(b={workspace:a,manifest:f,metadata:g,allAgents:e}).workspace,name:b.manifest?.name??b.workspace.name,modelIds:(0,D.Am)(b.workspace.modelIds),activeRuntimeIds:(0,D.Am)(b.workspace.activeRuntimeIds),health:(0,D.OZ)(b.workspace.agentIds,b.allAgents),bootstrap:b.metadata.bootstrap,capabilities:b.metadata.capabilities,channels:b.workspace.channels??[],agentIds:b.workspace.agentIds,totalSessions:b.workspace.totalSessions}})),agents:e,relationships:f,manifestByWorkspace:c}}async function aI({generation:a,settings:b,localGatewayStatus:c,openclawInstalled:f,configuredWorkspaceRoot:g,gatewayStatusCache:h}){let j=await i(3e3),k=h.resolve(j).value??c,o=await (0,l.k)(m.wh),p="fulfilled"===o.status?o.value:[],q=Y(await (0,n.t)(m.wh,p.map(a=>a.id).filter(Boolean),{agentDirs:Object.fromEntries(p.filter(a=>a.id).map(a=>[a.id,a.agentDir]))}),(0,O.fj)(b)),r=y(p),s=x(p,r),u=(0,D.QL)(s.models,r),v=!!k?.rpc?.ok,w=!!(k?.service?.loaded||v),z=f&&v&&q.stateWritable&&q.sessionStoreWritable,A=(0,_.Xz)().getDiagnostics?.(),B=(A?.recentFallbackDiagnostics??[]).map(a=>({...a,operationLabel:(0,U.Hi)(a.operation)})),C=(0,V.wi)(B,A),E=C.map(a=>`gateway.${a.operation}: Gateway-first request fell back to CLI (${a.kind}): ${a.issue} Recovery: ${a.recovery}`),F=[v?null:"OpenClaw Gateway RPC is not ready.",...q.issues,...E].filter(a=>!!a),G=(0,d.jJ)(F[0]??"OpenClaw system readiness snapshot.",{installed:f,loaded:w,rpcOk:v});return{...G,generatedAt:new Date().toISOString(),revision:a,mode:"live",diagnostics:{...G.diagnostics,installed:f,loaded:w,rpcOk:v,health:z?"healthy":f?"degraded":"offline",workspaceRoot:ae(g),configuredWorkspaceRoot:g,gatewayUrl:k?.gateway?.probeUrl??G.diagnostics.gatewayUrl,bindMode:k?.gateway?.bindMode,port:k?.gateway?.port,serviceLabel:k?.service?.label,openClawBinarySelection:(0,Z.Df)(await (0,Z.bq)(),(0,e.T5)()),modelReadiness:u,capabilityMatrix:(0,t.Bc)()??void 0,gatewayFallbackDiagnostics:B,gatewayFallbackReasons:C.map(a=>`${a.operationLabel} (${a.operation}): ${a.kind}: ${a.issue} Recovery: ${a.recovery}`),runtime:q,commandHistory:(0,e.ik)(),transport:A,issues:F},missionPresets:ac}}let aJ=null,aK=null,aL=null,aM=null,aN=null,aO=null,aP=null,aQ={cache:new Map},aR=new J,aS=new k(6e4),aT=new s({ttlMs:3e4,load:(a,b)=>a$({profile:a,generation:b})}),aU=new o({ttlMs:3e5,getGeneration:()=>aT.getGeneration(),loadState:(a,b)=>(0,n.t)(m.wh,a,{agentDirs:b})});function aV(){aQ.cache=new Map}function aW(){aV()}function aX(){aT.clear({incrementGeneration:!0}),aU.clear(),aS.clear(),aR.clear(),aJ=null,aK=null,aL=null,aM=null,aN=null,aO=null,aP=null,aV()}function aY(){aT.clear()}async function aZ(a={}){return aT.getSnapshot(a)}async function a$({profile:a="interactive",generation:b=aT.getGeneration()}={}){let c=await (0,f.i)(),g=await (0,e.Vg)()||!!c?.rpc?.ok;if(!g)return ad((0,d.jJ)("OpenClaw CLI is not installed on this machine.",{installed:!1,loaded:!!c?.service?.loaded,rpcOk:!1}));try{var k,n,o,p;let d,e,q,r,s,w,A,B,F,G,H,I,J,P,Q="system"===a,R=await (0,O.tl)();Q||(0,u.hC)();let S=(0,O.qB)(R.workspaceRoot)??null;if(Q)return ad(await aI({generation:b,settings:R,localGatewayStatus:c,openclawInstalled:g,configuredWorkspaceRoot:S,gatewayStatusCache:aS}));let U=Q?L():await ao(),V=aR.shouldRefresh(),W=aS.shouldRefresh(),X=!aM||Date.now()-aM.capturedAt>3e5;if("interactive"===a||Q){let a=!c&&V,b=!Q&&X,f=W?i(15e3):Promise.resolve(L()),g=a?h(15e3):Promise.resolve(L()),k=(0,l.k)(m.wh),n=b?j(15e3):Promise.resolve(L());[d,e,r,w]=await Promise.all([f,g,k,n]),q=L(),s=L(),A=L(),V&&!a&&aR.scheduleRefresh(()=>h(15e3))}else[e,d,r,w]=await Promise.all([h(45e3),i(45e3),(0,l.k)(m.wh),j(45e3)]),q=L(),s=L(),A=L();let Y=aS.resolve(d);if(!Y.value&&c&&(Y={value:c,reusedCachedValue:!1}),!Y.value){let a=await (0,f.i)(aS.getCachedPort());a&&(aS.write(a),Y={value:a,reusedCachedValue:!1})}let Z=Y.value,$="fulfilled"===U.status?(k=U.value,"string"==typeof k?(0,D.Nk)(k):k&&"object"==typeof k&&"value"in k&&"string"==typeof k.value?(0,D.Nk)(k.value):void 0):void 0,_=aR.resolve(e),aa=K(r,aK,a=>{aK=a}),ab=aa.value??[];M(q)&&!Q&&(q=await ap(ab));let ae=Q?L():await aq(ab),ai=(0,t.Bc)()?.operations?.runtimeSnapshot?.mode,aj=!Q&&"degraded"!==ai&&"disabled"!==ai&&"cli-fallback"!==ai,ak=Q?L():aj?await (0,v.Jb)("interactive"===a?8e3:15e3):L(),al=K(q,aJ,a=>{aJ=a}),am=K(s,aL,a=>{aL=a}),an=K(w,aM,a=>{aM=a}),ar=K(ae,aN,a=>{aN=a}),as=K(ak,aO,a=>{aO=a}),at=K(A,aP,a=>{aP=a}),au=_.value,av=al.value??(n=m.wh,E(ab.map(a=>({id:a.id,name:a.name||a.identity?.name||a.id,identityName:a.identity?.name,identityEmoji:a.identity?.emoji,identitySource:a.identity?"config":void 0,workspace:(0,D.Nk)(a.workspace)??"",agentDir:a.agentDir||C().join(n,"agents",a.id,"agent"),model:a.model,isDefault:!!a.default})),n)),aw=function(a,b,c=[]){let d=y(b,c);if(!a)return d;let e=z(a.defaultModel)??z(d?.defaultModel)??null,f=z(a.resolvedDefault)??z(d?.resolvedDefault)??e;return{...a,defaultModel:e,resolvedDefault:f}}(an.value,ab,av),aA=(o={agentConfig:ab,modelStatus:aw},x(o.agentConfig,o.modelStatus)),aB=am.value?.models??aA.models,aC=at.value??[],aD="fulfilled"===d.status||"fulfilled"===e.status||"fulfilled"===q.status||"fulfilled"===r.status||"fulfilled"===s.status||"fulfilled"===w.status||"fulfilled"===ae.status||"fulfilled"===ak.status||"fulfilled"===A.status,aE=af(av.map(a=>({id:a.id,agentDir:a.agentDir})),R,aU);aE.catch(()=>{});let aG=await ax(),aT=await ay(ar.value?.sessions??[],aG),{channelRegistry:aV,channelAccounts:aW}=await T(a),aX=function(a){let b=a.filter(a=>!!a.workspace),c=Array.from(new Set(b.map(a=>a.workspace))),d=new Map;for(let a of b){let b=d.get(a.workspace)??[];b.push(a.id),d.set(a.workspace,b)}return{workspaceBoundAgents:b,workspacePaths:c,activeAgentIdsByWorkspacePath:d,resolveWorkspaceId:(0,aF.Fm)(c)}}(av),aY=await az({sessions:aT,agentConfig:ab,agentsList:av,runtimeSnapshot:as.value,systemProfile:Q,dispatchRecords:aG,resolveWorkspaceId:aX.resolveWorkspaceId,historyStore:aQ}),{workspaces:aZ,agents:a$,relationships:a_,manifestByWorkspace:a0}=await aH({bindings:aX,agentConfig:ab,sessions:aT,status:au,gatewayStatus:Z,hasOpenClawSignal:aD,runtimes:aY}),{visibleWorkspaces:a1,visibleAgents:a2,visibleRuntimes:a3,visibleRelationships:a4}=(p={workspaces:aZ,agents:a$,runtimes:aY,relationships:a_,isWorkspaceHidden:a=>!!a0.get(a.path)?.hidden},B=new Set(p.workspaces.filter(a=>p.isWorkspaceHidden(a)).map(a=>a.id)),F=p.agents.filter(a=>!B.has(a.workspaceId)),G=new Set(p.agents.filter(a=>B.has(a.workspaceId)).map(a=>a.id)),H=p.runtimes.filter(a=>!(a.agentId&&G.has(a.agentId))&&!(a.workspaceId&&B.has(a.workspaceId))),I=new Set(p.runtimes.filter(a=>a.agentId&&G.has(a.agentId)||a.workspaceId&&B.has(a.workspaceId)).map(a=>a.id)),J=new Set([...B,...G,...I]),P=p.relationships.filter(a=>!J.has(a.sourceId)&&!J.has(a.targetId)),{visibleWorkspaces:p.workspaces.filter(a=>!B.has(a.id)),visibleAgents:F,visibleRuntimes:H,visibleRelationships:P}),a5=await aE,a6=await ag({profile:a,configuredWorkspaceRoot:S??null,configuredGatewayUrl:$,gatewayStatus:Z,status:au,hasOpenClawSignal:aD,runtimeDiagnostics:a5,models:aB,agents:a$,modelStatus:aw,payloadResults:{gatewayStatus:d,status:e,agents:q,agentConfig:r,models:s,modelStatus:w,sessions:ae,presence:A},gatewayStatusRejectedWithCachedValue:"rejected"===d.status&&Y.reusedCachedValue,payloadReuse:{status:_,agents:al,agentConfig:aa,models:am,modelStatus:an,sessions:ar,presence:at}}),a7=(0,N.IJ)(aY,a$),a8=(0,N.IJ)(a3,a2),a9={generatedAt:new Date().toISOString(),revision:b,mode:"live",diagnostics:a6,channelAccounts:aW,channelRegistry:aV,presence:aC.map(a=>({host:a.host,ip:a.ip,version:a.version,platform:a.platform,deviceFamily:a.deviceFamily,mode:a.mode,reason:a.reason,text:a.text,ts:a.ts})),missionPresets:ac};return{full:{...a9,workspaces:aZ,agents:a$,models:ah({models:aB,agents:a$,modelStatus:aw}),runtimes:aY,tasks:a7,relationships:a_},visible:{...a9,workspaces:a1,agents:a2,models:ah({models:aB,agents:a2,modelStatus:aw}),runtimes:a3,tasks:a8,relationships:a4}}}catch(a){return ad((0,d.jJ)(a instanceof Error?a.message:"Unknown OpenClaw error.",{installed:g,loaded:!!c?.service?.loaded,rpcOk:!!c?.rpc?.ok}))}}},9443:(a,b,c)=>{c.d(b,{aL:()=>l,xL:()=>k});var d=c(51455),e=c(76760),f=c.n(e),g=c(15612),h=c(14853),i=c(16588),j=c(58889);async function k(a,b,c){let d=(0,h.Q4)(b,c??g.eY),e=[...new Set(["AGENTS.md","SOUL.md","IDENTITY.md","TOOLS.md","HEARTBEAT.md",...d.resources.map(a=>a.relativePath)])],f=await Promise.all(e.map(b=>m(a,a,b))),i=new Map,j=[];for(let a of f)a&&(i.set(a.fileName,a.lines),j.push(a.source));return{profileFiles:e,contextManifest:d,workspaceSections:i,workspaceSources:j}}async function l(a,b,c){let d=c??await (0,j.OL)(a),e=(0,h.Q4)(d.template??null,d.rules??g.eY),f=new Set(["AGENTS.md","SOUL.md","IDENTITY.md","TOOLS.md","HEARTBEAT.md","MEMORY.md"]),[k,l,m,o,p,q]=await Promise.all([(0,i.Z3)(a,[{id:"agents",label:"AGENTS.md",relativePath:"AGENTS.md",kind:"file"},{id:"soul",label:"SOUL.md",relativePath:"SOUL.md",kind:"file"},{id:"identity",label:"IDENTITY.md",relativePath:"IDENTITY.md",kind:"file"},{id:"tools",label:"TOOLS.md",relativePath:"TOOLS.md",kind:"file"},{id:"heartbeat",label:"HEARTBEAT.md",relativePath:"HEARTBEAT.md",kind:"file"}]),(0,i.Z3)(a,[{id:"memory-md",label:"MEMORY.md",relativePath:"MEMORY.md",kind:"file"}]),(0,i.Z3)(a,e.resources.filter(a=>!f.has(a.relativePath))),(0,i.Z3)(a,[{id:"docs",label:"docs/",relativePath:"docs",kind:"directory"},{id:"memory",label:"memory/",relativePath:"memory",kind:"directory"},{id:"deliverables",label:"deliverables/",relativePath:"deliverables",kind:"directory"},{id:"skills",label:"skills/",relativePath:"skills",kind:"directory"},{id:"openclaw",label:".openclaw/",relativePath:".openclaw",kind:"directory"}]),(0,i.Z3)(a,[{id:"project-json",label:".openclaw/project.json",relativePath:".openclaw/project.json",kind:"file"},{id:"events",label:".openclaw/project-shell/events.jsonl",relativePath:".openclaw/project-shell/events.jsonl",kind:"file"},{id:"runs",label:".openclaw/project-shell/runs",relativePath:".openclaw/project-shell/runs",kind:"directory"},{id:"tasks",label:".openclaw/project-shell/tasks",relativePath:".openclaw/project-shell/tasks",kind:"directory"}]),(0,i.nU)(a)]),r=n(b.flatMap(a=>a.tools)),s=n([...q,...b.flatMap(a=>a.skills)]),t=b.filter(a=>a.tools.includes("fs.workspaceOnly")).length;return{bootstrap:{template:d.template,sourceMode:d.sourceMode,agentTemplate:d.agentTemplate,coreFiles:k,optionalFiles:l,contextFiles:m,folders:o,projectShell:p,localSkillIds:q},capabilities:{skills:s,tools:r,workspaceOnlyAgentCount:t}}}async function m(a,b,c){let e=f().join(a,c);try{var g,h;let a,i;await (0,d.access)(e);let j=(await (0,d.readFile)(e,"utf8")).trim();if(!j)return null;return{fileName:c,lines:j.split(/\r?\n/),source:(g=b,h=e,a=f().resolve(g),(i=f().resolve(h)).startsWith(`${a}${f().sep}`)?f().relative(a,i)||f().basename(i):i)}}catch{return null}}function n(a){return[...new Set(a.filter(a=>a.trim().length>0))].sort()}},11782:(a,b,c)=>{c.d(b,{AV:()=>g,JC:()=>h,Kg:()=>e});var d=c(65395);function e(a,b,c){var e;if(!b)return null;let g=(0,d.W2)(a),h=Math.max(Array.from(c).filter(b=>f(a,b)).length,(b.allowed??[]).filter(b=>f(a,b)).length),i=j(b.auth?.providers,a),m=j(b.auth?.oauth?.providers,a),n=l(m)?m:null,o=Array.isArray(n?.profiles)?n.profiles:null,p=o?o.filter(a=>{if(!l(a))return!1;let b=k(a.status)?.toLowerCase();return!b||!["expired","missing","invalid","error","disabled","revoked"].includes(b)}).length:0,q=k(m?.status)?.toLowerCase(),r=("number"==typeof(e=i?.profiles?.count)&&Number.isFinite(e)?e:null)??0,s=k(i?.effective?.kind)?.toLowerCase(),t="ollama"===a?h>0:o?p>0||"ok"===q:"ok"===q||r>0||!!(s&&["ok","profiles","token","apikey","api-key","oauth"].includes(s));return{provider:a,connected:t,canConnect:!0,needsTerminal:"oauth"===g.connectKind,detail:function({provider:a,descriptor:b,connected:c,visibleCount:d,profileCount:e,usableOauthProfileCount:f,oauthStatus:g}){return"ollama"===a?d>0?`${d} local model${1===d?"":"s"} detected.`:"Install or pull a local model to unlock this route.":c?f>0||"ok"===g?"OAuth connected":e>0?`${e} auth profile${1===e?"":"s"}`:d>0?`${d} configured model${1===d?"":"s"} in AgentOS.`:`${b.shortLabel} is connected.`:d>0?`${d} configured model${1===d?"":"s"} are already saved in AgentOS. Connect ${b.shortLabel} to use them.`:b.helperText}({provider:a,descriptor:g,connected:t,visibleCount:h,profileCount:r,usableOauthProfileCount:p,oauthStatus:q})}}function f(a,b){let c=b.split("/",1)[0]||"";return"openai-codex"===a?"openai"===c||"openai-codex"===c:c===a}function g(a,b){let c=a.split("/",1)[0]||"unknown";return"openai"===c&&i(a,b)?"openai-codex":c}function h(a,b){let c=a.split("/",1)[0]||"";return"openai-codex"===c||"openai"===c&&(/^openai\/gpt-/i.test(a)||i(a,b))}function i(a,b){if(/^openai\/.*codex/i.test(a))return!0;if(!b)return!1;let c=e("openai-codex",b,[]),d=e("openai",b,[]);return!!(c?.connected&&!d?.connected)}function j(a,b){return a?.find(a=>k(a.provider)===b)}function k(a){return"string"==typeof a&&a.trim()?a.trim():null}function l(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}},14414:(a,b,c)=>{c.d(b,{Dm:()=>g,gP:()=>h});var d=c(27091);let e=/^\[Retry after[^\]]+\]\s*/i;function f(a){return(0,d.ho)(a).replace(e,"").replace(/\s+/g," ").trim().toLowerCase()}function g(a,b){let c=f(b),d=f(a);return!!c&&!!d&&(d===c||d.startsWith(`${c} `)||d.includes(`original mission: ${c}`)||d.includes(`original mission ${c}`))}function h(a,b,c={}){if(c.agentId&&a.agentId!==c.agentId||"number"==typeof c.submittedAt&&(a.updatedAt??0)<c.submittedAt-1500)return!1;let d=function(a){let b="string"==typeof a.metadata.mission?a.metadata.mission:"string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null;if(!b)return null;let c=f(b);return c.length>0?c:null}(a);return!!d&&g(d,b)}},14853:(a,b,c)=>{c.d(b,{Iy:()=>l,Q4:()=>i,Q5:()=>j,nt:()=>h,uZ:()=>k});var d=c(66058);let e=["AGENTS.md","SOUL.md","IDENTITY.md","TOOLS.md","HEARTBEAT.md"],f={software:"Software project",frontend:"Frontend app",backend:"Backend/API",research:"Research",content:"Content/Growth"},g=["Use repository-local scripts or documented commands for repeatable workflows.","Update this file when the project exposes a cleaner build, test, or release path."];function h(a,b){return m(a,b).map(a=>a.path)}function i(a,b){var c;let d,f=new Map((d=[{id:"agents",label:"AGENTS.md",relativePath:"AGENTS.md",kind:"file",headings:["Workspace","Team","Customize","Safety defaults","Daily memory","Output"]},{id:"soul",label:"SOUL.md",relativePath:"SOUL.md",kind:"file",headings:["My Purpose","How I Operate","My Quirks","Active Focus"]},{id:"identity",label:"IDENTITY.md",relativePath:"IDENTITY.md",kind:"file",headings:["Role"]},{id:"tools",label:"TOOLS.md",relativePath:"TOOLS.md",kind:"file",headings:["Examples","Notes"]},{id:"heartbeat",label:"HEARTBEAT.md",relativePath:"HEARTBEAT.md",kind:"file",headings:[]},{id:"memory-md",label:"MEMORY.md",relativePath:"MEMORY.md",kind:"file",headings:["Current brief","Stable facts"]},{id:"memory-blueprint",label:"memory/blueprint.md",relativePath:"memory/blueprint.md",kind:"file",headings:["Outcome","Constraints","Unknowns"]},{id:"memory-decisions",label:"memory/decisions.md",relativePath:"memory/decisions.md",kind:"file",headings:["Template"]},{id:"docs-brief",label:"docs/brief.md",relativePath:"docs/brief.md",kind:"file",headings:["Objective","Success signals","Open questions"]},{id:"docs-architecture",label:"docs/architecture.md",relativePath:"docs/architecture.md",kind:"file",headings:["Current shape","Dependencies","Risks"]},{id:"deliverables-readme",label:"deliverables/README.md",relativePath:"deliverables/README.md",kind:"file",headings:["Deliverables"]}],"frontend"===(c=a??null)&&d.push({id:"docs-ux-notes",label:"docs/ux-notes.md",relativePath:"docs/ux-notes.md",kind:"file",headings:["UX Notes"]}),"backend"===c&&d.push({id:"docs-service-map",label:"docs/service-map.md",relativePath:"docs/service-map.md",kind:"file",headings:["Service Map"]}),"research"===c&&d.push({id:"docs-research-plan",label:"docs/research-plan.md",relativePath:"docs/research-plan.md",kind:"file",headings:["Research Plan"]}),"content"===c&&d.push({id:"docs-content-brief",label:"docs/content-brief.md",relativePath:"docs/content-brief.md",kind:"file",headings:["Content Brief"]}),d).map(a=>[a.relativePath,a])),g=a=>a.map(a=>f.get(a)).filter(Boolean),h=[{id:"core",title:"Core bootstrap",description:"Required for every workspace and shared by all agents.",enabled:!0,resources:g(e)},{id:"memory",title:"Memory",description:"Durable notes and decisions that survive across sessions.",enabled:b.generateMemory,resources:b.generateMemory?g(["MEMORY.md","memory/blueprint.md","memory/decisions.md"]):[]},{id:"starter",title:"Starter docs",description:"Planning, architecture, and handoff docs used for the first pass.",enabled:b.generateStarterDocs,resources:b.generateStarterDocs?g(["docs/brief.md","docs/architecture.md","deliverables/README.md",..."frontend"===a?["docs/ux-notes.md"]:"backend"===a?["docs/service-map.md"]:"research"===a?["docs/research-plan.md"]:"content"===a?["docs/content-brief.md"]:[]]):[]}];return{template:a??null,rules:b,sections:h,resources:h.flatMap(a=>a.resources)}}function j(a){let b=m(a.template,a.rules),c=new Map(l(a.docOverrides).map(a=>[a.path,a.content]));return b.map(b=>{let d=b.render(a),e=c.has(b.path);return{path:b.path,title:b.title,description:b.description,category:b.category,baseContent:d,content:e?c.get(b.path)??"":d,overridden:e}})}function k(a){let b=j(a).map(a=>({...a,generated:!0})),c=new Set(b.map(a=>a.path));return[...b,...l(a.docOverrides).filter(a=>!c.has(a.path)).map(a=>{var b;return{path:a.path,title:a.path,description:"Existing workspace file.",category:(b=a.path).startsWith("memory/")?"memory":b.startsWith("docs/")?"docs":b.startsWith("deliverables/")?"deliverables":"core",baseContent:a.content,content:a.content,overridden:!1,generated:!1}})]}function l(a){let b=new Map;for(let c of a??[]){let a=c.path.trim();a&&b.set(a,c.content)}return Array.from(b.entries()).map(([a,b])=>({path:a,content:b}))}function m(a,b){let c=[{path:"AGENTS.md",title:"AGENTS.md",description:"Shared operating instructions for all agents.",category:"core",render:n},{path:"SOUL.md",title:"SOUL.md",description:"Purpose, operating style, and active focus.",category:"core",render:({template:a,brief:b,contextSources:c})=>{var d,e,g;return d=a,e=b,g=c,`# SOUL
|
|
1
|
+
"use strict";exports.id=5151,exports.ids=[5151],exports.modules={1118:(a,b,c)=>{c.d(b,{T:()=>e,j:()=>d});let d=[{name:"exec",description:"Run shell commands and manage background processes.",source:"OpenClaw built-in",category:"builtin"},{name:"process",description:"Run shell commands and manage background processes.",source:"OpenClaw built-in",category:"builtin"},{name:"bash",description:"Run shell commands and manage background processes.",source:"OpenClaw built-in",category:"builtin"},{name:"code_execution",description:"Run sandboxed remote Python analysis.",source:"OpenClaw built-in",category:"builtin"},{name:"browser",description:"Control a Chromium browser (navigate, click, screenshot).",source:"OpenClaw built-in",category:"builtin"},{name:"web_search",description:"Search the web and fetch search results.",source:"OpenClaw built-in",category:"builtin"},{name:"x_search",description:"Search X posts.",source:"OpenClaw built-in",category:"builtin"},{name:"web_fetch",description:"Fetch page content.",source:"OpenClaw built-in",category:"builtin"},{name:"read",description:"Read files in the workspace.",source:"OpenClaw built-in",category:"builtin"},{name:"write",description:"Write files in the workspace.",source:"OpenClaw built-in",category:"builtin"},{name:"edit",description:"Edit files in the workspace.",source:"OpenClaw built-in",category:"builtin"},{name:"apply_patch",description:"Apply structured multi-hunk patches.",source:"OpenClaw built-in",category:"builtin"},{name:"message",description:"Send messages across channels.",source:"OpenClaw built-in",category:"builtin"},{name:"canvas",description:"Drive node canvas workflows.",source:"OpenClaw built-in",category:"builtin"},{name:"nodes",description:"Discover and target paired devices.",source:"OpenClaw built-in",category:"builtin"},{name:"cron",description:"Manage scheduled jobs.",source:"OpenClaw built-in",category:"builtin"},{name:"gateway",description:"Inspect and restart gateway services.",source:"OpenClaw built-in",category:"builtin"},{name:"image",description:"Analyze images.",source:"OpenClaw built-in",category:"builtin"},{name:"image_generate",description:"Generate or edit images.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_list",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_history",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_send",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_spawn",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"sessions_yield",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"subagents",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"session_status",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"},{name:"agents_list",description:"Session management and sub-agent discovery.",source:"OpenClaw built-in",category:"builtin"}],e=[{name:"group:runtime",description:"exec, bash, process, code_execution",source:"OpenClaw docs",category:"group"},{name:"group:fs",description:"read, write, edit, apply_patch",source:"OpenClaw docs",category:"group"},{name:"group:sessions",description:"sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status",source:"OpenClaw docs",category:"group"},{name:"group:memory",description:"memory_search, memory_get",source:"OpenClaw docs",category:"group"},{name:"group:web",description:"web_search, x_search, web_fetch",source:"OpenClaw docs",category:"group"},{name:"group:ui",description:"browser, canvas",source:"OpenClaw docs",category:"group"},{name:"group:automation",description:"cron, gateway",source:"OpenClaw docs",category:"group"},{name:"group:messaging",description:"message",source:"OpenClaw docs",category:"group"},{name:"group:nodes",description:"nodes",source:"OpenClaw docs",category:"group"},{name:"group:openclaw",description:"All built-in OpenClaw tools (excludes plugin tools).",source:"OpenClaw docs",category:"group"}]},5151:(a,b,c)=>{c.d(b,{er:()=>a0,b7:()=>a_,GM:()=>a2,ZZ:()=>a1});var d=c(96876),e=c(88366),f=c(92273),g=c(39503);async function h(a=2e4,b=(0,g.rw)()){try{let c=await b.getStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}async function i(a=2e4,b=(0,g.rw)()){try{let c=await b.getUpdateStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}async function j(a=2e4,b=(0,g.rw)()){try{let c=await b.getGatewayStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}async function k(a=2e4,b=(0,g.rw)()){try{let c=await b.getModelStatus({timeoutMs:a});return{status:"fulfilled",value:c}}catch(a){return{status:"rejected",reason:a}}}class l{constructor(a){this.staleGraceMs=a,this.cache=null}clear(){this.cache=null}shouldRefresh(){return!this.cache||Date.now()-this.cache.capturedAt>this.staleGraceMs}getCachedPort(a=18789){return this.cache?.value.gateway?.port??a}write(a){this.cache={value:a,capturedAt:Date.now()}}resolve(a){return"fulfilled"===a.status?(this.write(a.value),{value:a.value,reusedCachedValue:!1}):this.cache&&Date.now()-this.cache.capturedAt<=this.staleGraceMs?{value:this.cache.value,reusedCachedValue:!0}:{value:void 0,reusedCachedValue:!1}}}var m=c(83761),n=c(75402),o=c(88978);class p{constructor(a){this.options=a,this.cache=null,this.promise=null}clear(){this.cache=null,this.promise=null}read(a,b={},c=!1){let d=q(a,b),e=this.cache,f=!!(e&&e.agentIdsKey===d),g=!!(f&&e&&e.expiresAt>Date.now());return!c&&g&&e?e.value:!c&&f&&e?(this.promise||(this.promise=this.loadForCurrentGeneration(a,b),this.promise.catch(()=>{}),this.promise.finally(()=>{this.promise=null}).catch(()=>{})),e.value):!c&&this.promise&&f&&e?e.value:this.promise&&!c||c&&this.promise?this.promise:(this.promise=this.loadForCurrentGeneration(a,b),this.promise.catch(()=>{}),this.promise.finally(()=>{this.promise=null}).catch(()=>{}),c?this.promise.then(a=>a):this.promise)}loadForCurrentGeneration(a,b){let c=this.options.getGeneration(),d=q(a,b);return this.options.loadState(a,b).then(a=>(c===this.options.getGeneration()&&(this.cache={agentIdsKey:d,value:a,expiresAt:Date.now()+this.options.ttlMs}),a))}}function q(a,b){return[...new Set(a.filter(Boolean))].sort().map(a=>`${a}:${b[a]??""}`).join("\0")}class r{constructor(a){this.options=a,this.cache=null,this.promise=null,this.generation=0}getGeneration(){return this.generation}clear(a={}){a.incrementGeneration&&(this.generation+=1),this.cache=null}async get(a={}){let b=this.cache,c=!!(b&&b.expiresAt>Date.now());if(!a.force&&c&&b)return s(b,a.includeHidden);if(!a.force&&b)return this.promise||(this.promise=this.loadForCurrentGeneration("interactive"),this.promise.catch(()=>{}),this.promise.finally(()=>{this.promise=null}).catch(()=>{})),s(b,a.includeHidden);if(a.force){this.generation+=1,this.cache=null,this.promise=this.loadForCurrentGeneration(a.loadProfile??"refresh"),this.promise.catch(()=>{});try{let b=await this.promise;return s(b,a.includeHidden)}finally{this.promise=null}}if(this.promise)return s(await this.promise,a.includeHidden);this.promise=this.loadForCurrentGeneration("interactive"),this.promise.catch(()=>{});try{let b=await this.promise;return s(b,a.includeHidden)}finally{this.promise=null}}loadForCurrentGeneration(a){let b=this.generation;return this.options.load(a,b).then(a=>(b===this.generation&&(this.cache={...a,expiresAt:Date.now()+this.options.ttlMs}),a))}}function s(a,b){return b?a.full:a.visible}class t{constructor(a){this.controller=new r(a)}getGeneration(){return this.controller.getGeneration()}clear(a={}){this.controller.clear(a)}getSnapshot(a={}){return this.controller.get(a)}}var u=c(25303),v=c(72761),w=c(56763),x=c(11782);function y(a,b){return{models:Array.from(new Set([...a.map(a=>a.model??"").filter(Boolean),...(b?.allowed??[]).filter(Boolean),b?.resolvedDefault??"",b?.defaultModel??""].filter(Boolean))).map(a=>{var b;let c,d,e,f=(d=(c=a.trim().toLowerCase()).split("/",1)[0]||"",e=c.includes("/")?c.slice(d.length+1):c,"ollama"===d?{contextWindow:(b=e).includes("qwen3.5")?262144:(b.includes("qwen")||b.includes("llama3.2")||b.includes("llama3.3")||b.includes("deepseek-r1"),131072),local:!0}:"openai"===d||"openai-codex"===d?{contextWindow:e.startsWith("gpt-5")?272e3:null,local:!1}:"anthropic"===d?{contextWindow:2e5,local:!1}:"google"===d||"gemini"===d?{contextWindow:1e6,local:!1}:"deepseek"===d?{contextWindow:64e3,local:!1}:"mistral"===d?{contextWindow:128e3,local:!1}:"openrouter"===d||"xai"===d?{contextWindow:null,local:!1}:{contextWindow:null,local:null});return{key:a,name:a,input:"text",contextWindow:f.contextWindow,local:f.local,available:!0,tags:[],missing:!1}})}}function z(a,b=[]){let c=B(b.find(a=>a.isDefault))||B(b.find(a=>!!B(a)))||a.find(a=>a.default)?.model||a.find(a=>!!a.model)?.model||null;if(c)return{defaultModel:c,resolvedDefault:c}}function A(a){return"string"==typeof a&&a.trim()?a.trim():null}function B(a){return A(a?.modelId)??A(a?.model)}var C=c(76760),D=c.n(C),E=c(21916);function F(a,b){let c=new Set,d=new Map;for(let b of a){let a=function(a){var b;let c=I(a.workspace),d=(b=a.identityName||a.name||a.id,(0,E.Nk)(b)?.toLocaleLowerCase("en-US")??"");return c&&d?`${c}\0${d}`:null}(b);if(!a)continue;let c=d.get(a)??[];c.push(b),d.set(a,c)}for(let a of d.values()){if(a.length<2)continue;let d=a.filter(H);if(0!==d.length)for(let e of a)!d.includes(e)&&function(a,b){let c=I(a.agentDir),d=I(D().join(b,"agents"));return!!(c&&d&&c.startsWith(`${d}${D().sep}`))}(e,b)&&c.add(G(e))}return a.filter(a=>!c.has(G(a)))}function G(a){return`${a.id}\0${I(a.agentDir)}`}function H(a){let b=I(a.workspace),c=I(a.agentDir);return!!b&&!!c&&c.startsWith(`${D().join(b,".openclaw","agents")}${D().sep}`)}function I(a){let b=(0,E.Nk)(a);return b?D().normalize(b):""}let J="Deferred to background refresh.";class K{constructor(a=3e5){this.ttlMs=a,this.cache=null,this.refreshPromise=null}clear(){this.cache=null,this.refreshPromise=null}shouldRefresh(){return!this.cache||Date.now()-this.cache.capturedAt>this.ttlMs}resolve(a){return L(a,this.cache,a=>{this.cache=a},this.ttlMs)}scheduleRefresh(a){!this.refreshPromise&&this.shouldRefresh()&&(this.refreshPromise=(async()=>{try{let b=await a();"fulfilled"===b.status&&(this.cache={value:b.value,capturedAt:Date.now()})}catch{}finally{this.refreshPromise=null}})(),this.refreshPromise.catch(()=>{}))}}function L(a,b,c,d=3e5){return"fulfilled"===a.status?(c({value:a.value,capturedAt:Date.now()}),{value:a.value,reusedCachedValue:!1,failed:!1}):b&&Date.now()-b.capturedAt<=d?{value:b.value,reusedCachedValue:!0,failed:!0}:{value:void 0,reusedCachedValue:!1,failed:!0}}function M(){return{status:"rejected",reason:Error(J)}}function N(a){return"rejected"===a.status&&a.reason instanceof Error&&a.reason.message===J}var O=c(28182),P=c(35456),Q=c(51455),R=c(58889);async function S(a){try{let b=await (0,Q.readFile)(a,"utf8"),c=JSON.parse(b),d=c&&"object"==typeof c&&!Array.isArray(c)?c:{version:1,channels:[]},e=Array.isArray(d.channels)?d.channels.map(a=>(0,R.kf)(a)).filter(a=>!!a):[];return{status:"fulfilled",value:(0,R._E)({version:1,channels:e})}}catch(a){return{status:"rejected",reason:a}}}var T=c(99254);async function U(a){let b=await S(n.q6),c="fulfilled"===b.status?b.value:(0,R._E)({version:1,channels:[]}),d="interactive"===a?[]:await (0,T.QT)(),e=(0,T.fy)((0,T.D4)([...d,...(0,T.G7)(c)]),c);return{channelRegistry:c,channelAccounts:e}}var V=c(65493),W=c(38610);function X(a,b){for(let c of a)for(let a of b){let b=(0,E.Nk)("string"==typeof c[a]?c[a]:void 0);if(b)return b}}function Y(a){return Z(a)?a:void 0}function Z(a){return!!(a&&"object"==typeof a&&!Array.isArray(a))}function $(a){if(!a)return null;try{return new URL(a).hostname}catch{return null}}function _(a){let b=a.trim().toLowerCase().replace(/^\[|\]$/g,"");return"localhost"===b||"::1"===b||"0:0:0:0:0:0:0:1"===b||/^127\.(?:\d{1,3}\.){2}\d{1,3}$/.test(b)}function aa(a,b){let c=[...a.issues,..."failed"===b.status&&b.error?[`Latest runtime smoke test failed for ${b.agentId??"unknown agent"}. ${b.error}`]:[]];return{...a,smokeTest:b,issues:c}}var ab=c(15292),ac=c(38798),ad=c(7565),ae=c(48161),af=c.n(ae);let ag=["Audit the selected workspace and generate a concrete first task batch.","Plan a multi-agent delivery mission for the current product goal.","Review active runtimes, identify blockers, and propose the next handoff."];function ah(a){return{visible:a,full:a}}function ai(a){return a||D().join(af().homedir(),"Documents","Shared","projects")}async function aj(a,b,c){let d=a.map(a=>a.id).filter(Boolean),e=Object.fromEntries(a.filter(a=>a.id).map(a=>[a.id,a.agentDir]));return aa(await c.read(d,e),(0,P.fj)(b))}async function ak(a){var b,c,d,f,g,h;let i,j,k,l,m,n,o,p,q,r,s,t,v,w,x,y=(0,E.QL)(a.models,a.modelStatus),z=(b=a.status,b?.securityAudit?.findings?.filter(a=>"warn"===a.severity).map(a=>a.title||a.detail||"Security warning")??[]),A=(m=function(a){let b=[];function c(a){!Z(a)||b.includes(a)||b.push(a)}return c(a),c(a?.result),c(a?.data),c(a?.update),c(a?.availability),c(Y(a?.update)?.registry),c(a?.registry),c(a?.stats),c(a?.sentinel),c(Y(a?.sentinel)?.stats),c(Y(a?.result)?.update),c(Y(Y(a?.result)?.update)?.registry),c(Y(a?.result)?.registry),c(Y(a?.result)?.stats),b}((c={status:a.status,updateStatus:a.updateStatus,updateStatusError:function(a){if(!("rejected"!==a.status||N(a)))return a.reason instanceof Error?a.reason.message:String(a.reason)}(a.payloadResults.updateStatus),fallbackVersion:await (0,e.YP)()??void 0}).updateStatus),n=(0,E.Nk)(c.status?.runtimeVersion||c.status?.overview?.version||c.status?.version)??X(m,["runningVersion","currentVersion","runtimeVersion","version","afterVersion"])??c.fallbackVersion??void 0,o=(0,E.Nk)(c.status?.update?.registry?.latestVersion??void 0)??X(m,["latestVersion","targetVersion","availableVersion","recommendedVersion"]),p=(0,E.nn)(c.status?.update?.registry?.error??void 0)??function(a){let b=X(a,["error","errorMessage"]);if(b)return(0,E.nn)(b);for(let b of a)if(!1===b.ok){let a=X([b],["message","reason","status"]);if(a)return(0,E.nn)(a)}}(m)??(0,E.nn)(c.updateStatusError),q=n&&o?(0,E.QK)(o,n)>0:function(a,b){for(let c of a)for(let a of b)if("boolean"==typeof c[a])return c[a]}(m,["updateAvailable","available","hasRegistryUpdate"]),r=(0,E.mB)({currentVersion:n,latestVersion:o,updateError:p,legacyInfo:c.status?.overview?.update??X(m,["updateInfo","summary","detail"])}),{currentVersion:n,latestVersion:o,updateAvailable:q,updateError:p,updateInfo:r}),B=(0,ab.Df)(await (0,ab.bq)(),(0,e.T5)()),C="interactive"===a.profile?(0,u.Bc)()??void 0:await (0,u.N3)().catch(()=>void 0);"interactive"!==a.profile||C||(0,u.Cs)();let D=(0,ad.Xz)().getDiagnostics?.(),F=(0,W.wi)((0,ac.Lo)(),D).map(a=>`gateway.${a.operation}: Gateway-first request fell back to CLI (${a.kind}): ${a.issue} Recovery: ${a.recovery}`);return f={gatewayStatus:a.gatewayStatus,status:a.status,configuredWorkspaceRoot:a.configuredWorkspaceRoot,workspaceRoot:ai(a.configuredWorkspaceRoot),configuredGatewayUrl:a.configuredGatewayUrl,hasOpenClawSignal:a.hasOpenClawSignal,securityWarnings:z,runtimeDiagnostics:a.runtimeDiagnostics,openClawBinarySelection:B,modelReadiness:y,capabilityMatrix:C,compatibilitySmokeTest:(0,P.ul)(a.settings),commandHistory:(0,e.ik)(),transport:D,versionDiagnostics:A,issues:(d={payloadResults:a.payloadResults,gatewayStatusRejectedWithCachedValue:a.gatewayStatusRejectedWithCachedValue,payloadReuse:a.payloadReuse,runtimeIssues:[...a.runtimeDiagnostics.issues,...F]},[...(0,E.Lp)(Object.fromEntries(Object.entries(d.payloadResults).filter(([,a])=>!N(a)))),...d.gatewayStatusRejectedWithCachedValue?["gatewayStatus: Reusing the last successful gateway status after a transient OpenClaw check failure."]:[],...Object.entries(d.payloadReuse).map(([a,b])=>{var c;return c=a,b.reusedCachedValue?`${c}: Reusing the last successful payload while a slow OpenClaw command refreshes in the background.`:null}).filter(a=>!!a),...d.runtimeIssues])},s=(f.transport?.recentFallbackDiagnostics??[]).map(a=>({...a,operationLabel:(0,V.Hi)(a.operation)})),t=(0,W.wi)(s,f.transport),v=[...f.securityWarnings,...(g=f.gatewayStatus,h=f.configuredGatewayUrl,i=[],j=$(g?.gateway?.probeUrl),k=$(h??void 0),l=(0,E.Nk)(g?.gateway?.bindMode??void 0)?.toLowerCase(),j&&!_(j)&&i.push("OpenClaw Gateway is reachable on a non-loopback host. AgentOS mutation APIs stay restricted to same-origin localhost requests."),k&&!_(k)&&i.push("AgentOS is configured to use a non-loopback Gateway URL. Keep AgentOS itself bound to localhost unless an explicit operator tunnel is in place."),l&&!/(local|loopback|localhost)/i.test(l)&&i.push("OpenClaw Gateway bind mode is not local-only. Review Gateway exposure before using operator write actions."),Array.from(new Set(i)))],x=(w=function(a){var b;let c,d=[a?.rpc?.error,a?.rpc?.capability,a?.rpc?.auth?.capability].filter(a=>"string"==typeof a&&!!a.trim()).join("\n");if(!/scope upgrade pending approval|pairing_pending|device token scope mismatch|connected_no_operator_scope|missing operator/i.test(d))return null;let e=(b=d,c=/\brequestId:\s*([a-f0-9-]{12,})\b/i.exec(b),c?.[1]??null);return e?`OpenClaw Gateway device access is waiting for operator-scope approval (${e}). Run Repair access in Gateway settings or approve that request with OpenClaw devices, then retry.`:"OpenClaw Gateway device access is waiting for operator-scope approval. Run Repair access in Gateway settings or approve the pending OpenClaw device request, then retry."}(f.gatewayStatus))?[w,...f.issues.filter(a=>{var b;return b=a,!/Timed out waiting for OpenClaw Gateway method|Gateway-native operation failed; CLI fallback disabled|Native Gateway: Unreachable/i.test(b)})]:f.issues,{installed:!0,loaded:!!f.gatewayStatus?.service?.loaded,rpcOk:!!f.gatewayStatus?.rpc?.ok,health:(0,E.YO)({rpcOk:f.gatewayStatus?.rpc?.ok,warningCount:v.length,runtimeIssueCount:f.runtimeDiagnostics.issues.length,hasOpenClawSignal:f.hasOpenClawSignal}),version:f.versionDiagnostics.currentVersion,latestVersion:f.versionDiagnostics.latestVersion,updateAvailable:f.versionDiagnostics.updateAvailable,updateError:f.versionDiagnostics.updateError,updateRoot:(0,E.Nk)(f.status?.update?.root??void 0),updateInstallKind:(0,E.Nk)(f.status?.update?.installKind??void 0),updatePackageManager:(0,E.Nk)(f.status?.update?.packageManager??void 0),workspaceRoot:f.workspaceRoot,configuredWorkspaceRoot:f.configuredWorkspaceRoot,dashboardUrl:`http://127.0.0.1:${f.gatewayStatus?.gateway?.port??18789}/`,gatewayUrl:f.gatewayStatus?.gateway?.probeUrl||"ws://127.0.0.1:18789",configuredGatewayUrl:f.configuredGatewayUrl??null,bindMode:f.gatewayStatus?.gateway?.bindMode,port:f.gatewayStatus?.gateway?.port,updateChannel:f.status?.updateChannel||"stable",updateInfo:f.versionDiagnostics.updateInfo,serviceLabel:f.gatewayStatus?.service?.label,openClawBinarySelection:f.openClawBinarySelection,modelReadiness:f.modelReadiness,capabilityMatrix:f.capabilityMatrix,compatibilitySmokeTest:f.compatibilitySmokeTest??null,gatewayFallbackDiagnostics:s,gatewayFallbackReasons:t.map(a=>`${a.operationLabel} (${a.operation}): ${a.kind}: ${a.issue} Recovery: ${a.recovery}`),runtime:f.runtimeDiagnostics,commandHistory:f.commandHistory,transport:f.transport,securityWarnings:v,issues:x}}function al(a){return function(a,b,c){let d=new Map;for(let a of b)d.set(a.modelId,(d.get(a.modelId)??0)+1);return a.map(a=>({id:a.key,name:a.name,provider:(0,x.AV)(a.key,c),input:a.input,contextWindow:a.contextWindow,local:a.local,available:a.available,missing:a.missing,tags:a.tags,usageCount:d.get(a.key)??0}))}(a.models,a.agents,a.modelStatus)}async function am(a,b){try{var c,d,e;let f=(c=a,d=b,e=[...c.flatMap(a=>{let b=[],c=ar(a.workspace);return c&&b.push(D().join(c,".openclaw","agents")),b}),D().join(d,"agents")],Array.from(new Set(e.filter(Boolean)))),g=await an(f);return{status:"fulfilled",value:{sessions:g}}}catch(a){return{status:"rejected",reason:a}}}async function an(a){let b=new Map;for(let c of a){let a;try{a=await (0,Q.readdir)(c,{withFileTypes:!0})}catch{continue}for(let d of a){let a,e;if(!d.isDirectory())continue;let f=D().join(c,d.name,"sessions","sessions.json");try{a=await (0,Q.readFile)(f,"utf8")}catch{continue}try{e=JSON.parse(a)}catch{continue}if(Array.isArray(e)){for(let a of e){if(!aq(a))continue;let c=ao(a,d.name);b.has(c.key)||b.set(c.key,c)}continue}if(aq(e))for(let[a,c]of Object.entries(e)){if(!aq(c))continue;let e=ao(c,d.name,a);b.has(e.key)||b.set(e.key,e)}}}return Array.from(b.values()).sort((a,b)=>(b.updatedAt??0)-(a.updatedAt??0))}function ao(a,b,c){var d;let e=ar("string"==typeof a.sessionId?a.sessionId:void 0),f=ap(a,"updatedAt"),g=ap(a,"inputTokens"),h=ap(a,"outputTokens"),i=ap(a,"totalTokens"),j=ap(a,"cacheRead"),k=ap(a,"ageMs")??("number"==typeof(d=f)?Math.max(Date.now()-d,0):void 0),l=ar("string"==typeof a.model?a.model:void 0),m=ar("string"==typeof a.modelProvider?a.modelProvider:void 0),n=ar("string"==typeof a.key?a.key:c)??e??`${b}:${f??"session"}`;return{agentId:b,key:n,sessionId:e||void 0,updatedAt:f,ageMs:k,inputTokens:g,outputTokens:h,totalTokens:i??("number"==typeof g||"number"==typeof h?(g??0)+(h??0):void 0),model:l||void 0,modelProvider:m||void 0,cacheRead:j,kind:function(a,b){let c=ar("string"==typeof a.kind?a.kind:"string"==typeof a.chatType?a.chatType:void 0);if(c)return c;let d=aq(a.deliveryContext)?a.deliveryContext:null,e=aq(a.origin)?a.origin:null;if("heartbeat"===ar("string"==typeof d?.to?d.to:void 0)||"heartbeat"===ar("string"==typeof e?.provider?e.provider:void 0))return"direct";let f=ar(b);return f&&/:(direct|dm|private):/i.test(f)?"direct":f&&/:(group|channel|thread):/i.test(f)?"group":"task"}(a,n)}}function ap(a,b){let c=a[b];return"number"==typeof c&&Number.isFinite(c)?c:void 0}function aq(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function ar(a){if("string"!=typeof a)return null;let b=a.trim();return b.length>0?b:null}async function as(){try{let a=await (0,Q.readFile)(D().join(n.wh,"openclaw.json"),"utf8"),b=JSON.parse(a);return{status:"fulfilled",value:function(a,b){let c=a;for(let a of b.split(".")){var d;if(!((d=c)&&"object"==typeof d&&!Array.isArray(d))||!Object.hasOwn(c,a))return;c=c[a]}return c}(b,"gateway.remote.url")??void 0}}catch(a){if("ENOENT"===("object"==typeof a&&a&&"code"in a?a.code:void 0))return{status:"fulfilled",value:void 0};return{status:"rejected",reason:a}}}async function at(a){try{var b;let c,d=await (0,g.rw)().listAgents({timeoutMs:15e3});return{status:"fulfilled",value:(b=n.wh,c=new Map(a.map(a=>[a.id,a])),F(d.agents.map(a=>{let e=c.get(a.id),f=a.identity??e?.identity,g=(0,E.Nk)(a.workspace)??(0,E.Nk)(e?.workspace)??"",h=a.model?.primary??e?.model;return{id:a.id,name:a.name||f?.name||e?.name||a.id,identityName:f?.name,identityEmoji:f?.emoji,identitySource:a.identity?"gateway":e?.identity?"config":void 0,workspace:g,agentDir:e?.agentDir||D().join(b,"agents",a.id,"agent"),model:h,isDefault:a.id===d.defaultId||!!e?.default}}),b))}}catch(a){return{status:"rejected",reason:a}}}async function au(a){try{let a=await (0,g.rw)().listSessions({limit:500,includeGlobal:!1,includeUnknown:!1},{timeoutMs:15e3});if(!a||!Array.isArray(a.sessions))throw Error("OpenClaw Gateway sessions.list returned an invalid payload.");return{status:"fulfilled",value:{sessions:a.sessions}}}catch{return am(a,n.wh)}}var av=c(20078),aw=c(37110),ax=c(80410);function ay(a,b){return(b.updatedAt??0)-(a.updatedAt??0)}var az=c(70016),aA=c(25793);async function aB(){return(0,aw.Ff)()}async function aC(a,b){let c=await (0,av.cf)();return(0,ax.kw)((0,av.ZO)(a,c),b)}async function aD(a){var b;let c,d=(await Promise.all(a.sessions.map(b=>(0,aA.V9)(b,a.agentConfig,a.agentsList,(b,c,d)=>(0,az.$Z)(b,c,d,{resolveWorkspaceId:a.resolveWorkspaceId}))))).flat(),e=(0,w.Em)(a.runtimeSnapshot,{agentConfig:a.agentConfig,agentsList:a.agentsList,resolveWorkspaceId:a.resolveWorkspaceId}),f=[...a.systemProfile?[]:await (0,v.Qc)(),...e,...d],g=(0,ax.CD)(f,a.dispatchRecords),h=await (0,ax.Ip)(g,a.dispatchRecords,{buildObservedRuntime:aw.DO,persistObservation:aw.vH,reconcileRuntimeState:aw.Yp});return c=function(a,b,c={}){let d=new Map,e=new Set(a.map(a=>a.id));for(let b of a)d.set(b.id,b);for(let[a,c]of b.entries()){if(e.has(a))continue;let b={...c,status:"stalled"===c.status?"stalled":"cancelled"===c.status?"cancelled":"completed",metadata:{...c.metadata,historical:!0}};d.set(a,b)}let f=function(a){let b=new Map;for(let c of a){let a=c.agentId||c.workspaceId||"global",d=b.get(a)??[];d.push(c),b.set(a,d)}return Array.from(b.values()).flatMap(a=>{let b=a.sort(ay),c=new Map(b.slice(0,8).map(a=>[a.id,a]));for(let a of b){var d;"string"==typeof(d=a).metadata.dispatchId&&d.metadata.dispatchId.trim().length>0&&!0!==d.metadata.historical&&c.set(a.id,a)}return Array.from(c.values()).sort(ay)})}(Array.from(d.values())),g=new Map(f.filter(a=>!c.excludeFromCache?.(a)).map(a=>[a.id,a]));return{runtimes:f.sort(ay),cache:g}}([...g,...h],(b=a.historyStore).cache,{excludeFromCache:ax.U8}),b.cache=c.cache,c.runtimes}var aE=c(93628),aF=c(71065),aG=c(57419),aH=c(9443),aI=c(54252),aJ=c(96109),aK=c(15612);async function aL(a){let b=new Map,c=new Map,d=new Map,e=[],f=[],g=new Map((a.status?.heartbeat?.agents??[]).map(a=>[a.agentId,a])),h=new Map(a.agentConfig.map(a=>[a.id,a])),i=new Map;for(let b of a.sessions){if(!b.agentId)continue;let a=i.get(b.agentId)??[];a.push(b),i.set(b.agentId,a)}for(let j of(await Promise.all(a.bindings.workspacePaths.map(async b=>{let e=a.bindings.activeAgentIdsByWorkspacePath.get(b)??[],f=await (0,R.QO)(b,e);await (0,aI.u)(b),c.set(b,f),d.set(b,await (0,aH.xL)(b,f.template,f.rules??aK.eY))})),await Promise.all(a.bindings.workspaceBoundAgents.map(async b=>{var e;let f,j,k,l,m,n,o,p,q,r,s,t,u,v=h.get(b.id),w=a.bindings.resolveWorkspaceId(b.workspace),x=i.get(b.id)??[],y=c.get(b.workspace)??await (0,R.OL)(b.workspace);c.set(b.workspace,y);let z=y.agents.find(a=>a.id===b.id)??null,A=await (0,aG.L)(b.workspace,{agentId:b.id,agentName:v?.name||b.name||v?.identity?.name||b.identityName||b.id,configuredSkills:(0,aF.AB)(v?.skills??[]),configuredTools:Array.from(new Set([...z?.toolIds??[],...v?.tools?.fs?.workspaceOnly||z?.policy?.fileAccess==="workspace-only"?["fs.workspaceOnly"]:[]].filter(Boolean))),template:y.template,rules:y.rules??aK.eY,workspaceBootstrapProfile:d.get(b.workspace)??await (0,aH.xL)(b.workspace,y.template,y.rules??aK.eY)}),B=a.runtimes.filter(a=>a.agentId===b.id).sort(ay),C=g.get(b.id);return e={rawAgent:b,configured:v,identityOverrides:null,workspaceId:w,sessionList:x,manifestAgent:z,agentRuntimes:B,gatewayRpcOk:!!(a.gatewayStatus?.rpc?.ok||a.hasOpenClawSignal),heartbeat:C,profile:A},f=(0,aF.AB)(e.configured?.skills??[]),j=(0,E.Nk)(e.identityOverrides?.name)||e.configured?.name||e.rawAgent.name||e.configured?.identity?.name||e.rawAgent.identityName||e.rawAgent.id,k=e.manifestAgent?.policy??(0,aE.g0)((0,aE.qF)({skills:f,id:e.rawAgent.id,name:j}),{fileAccess:e.configured?.tools?.fs?.workspaceOnly?"workspace-only":"extended"}),l=(0,E.Am)([...e.manifestAgent?.toolIds??[],..."workspace-only"===k.fileAccess?["fs.workspaceOnly"]:[]]),m=e.rawAgent.model||e.configured?.model||"unassigned",n=e.agentRuntimes.sort(ay),o=(0,E.Am)(n.flatMap(a=>a.toolNames??[])),p=n.map(a=>a.id),q=n[0],r=e.sessionList.map(a=>a.updatedAt??0).sort((a,b)=>b-a).at(0)||null,s=(0,E.yv)({rpcOk:e.gatewayRpcOk,activeRuntime:q,heartbeatEnabled:!!e.heartbeat?.enabled,lastActiveAt:r}),t={id:e.rawAgent.id,name:j,identityName:(0,E.Nk)(e.identityOverrides?.name)||e.configured?.identity?.name||e.rawAgent.identityName||void 0,workspaceId:e.workspaceId,workspacePath:e.rawAgent.workspace,agentDir:e.rawAgent.agentDir,modelId:m,isDefault:!!(e.rawAgent.isDefault||e.configured?.default),status:s,sessionCount:e.sessionList.length,lastActiveAt:r,currentAction:(0,E.iP)({runtime:q,heartbeatEvery:e.heartbeat?.every??null,status:s}),activeRuntimeIds:p,heartbeat:{enabled:!!e.heartbeat?.enabled,every:e.heartbeat?.every??null,everyMs:e.heartbeat?.everyMs??null},identity:{emoji:(0,E.Nk)(e.identityOverrides?.emoji)||e.configured?.identity?.emoji||e.rawAgent.identityEmoji,theme:(0,E.Nk)(e.identityOverrides?.theme)||e.configured?.identity?.theme,avatar:(0,E.Nk)(e.identityOverrides?.avatar)||e.configured?.identity?.avatar,source:e.rawAgent.identitySource},profile:e.profile,skills:f,tools:l,observedTools:o,policy:k},u=[{id:`edge:${e.workspaceId}:${t.id}:contains`,sourceId:e.workspaceId,targetId:t.id,kind:"contains",label:"workspace member"},{id:`edge:${t.id}:${m}:model`,sourceId:t.id,targetId:m,kind:"uses-model",label:"model assignment"},...p.map(a=>({id:`edge:${t.id}:${a}:run`,sourceId:t.id,targetId:a,kind:"active-run",label:"runtime"}))],{agent:t,workspacePath:e.rawAgent.workspace,workspaceId:e.workspaceId,primaryModel:m,sessionCount:e.sessionList.length,activeRuntimeIds:p,relationships:u}})))){let c=function(a,b,c){var d;let e=c(b),f=a.get(e);if(f)return f;let g={id:c(b),name:(d=b,(D().basename(d)||d).split(/[-_]/g).filter(Boolean).map(a=>a[0].toUpperCase()+a.slice(1)).join(" ")),slug:D().basename(b).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),path:b,kind:"workspace",agentIds:[],modelIds:[],activeRuntimeIds:[],totalSessions:0,health:"standby",bootstrap:{template:null,sourceMode:null,agentTemplate:null,coreFiles:[],optionalFiles:[],folders:[],projectShell:[],localSkillIds:[]},capabilities:{skills:[],tools:[],workspaceOnlyAgentCount:0},channels:[]};return a.set(e,g),g}(b,j.workspacePath,a.bindings.resolveWorkspaceId);c.agentIds.push(j.agent.id),c.modelIds.push(j.primaryModel),c.activeRuntimeIds.push(...j.activeRuntimeIds),c.totalSessions+=j.sessionCount,e.push(j.agent),f.push(...j.relationships)}let j=new Map;for(let a of e){let b=j.get(a.workspaceId)??[];b.push(a),j.set(a.workspaceId,b)}return{workspaces:await Promise.all(Array.from(b.values()).map(async a=>{var b;let d=j.get(a.id)??[],f=c.get(a.path)??null,g=await (0,aH.aL)(a.path,d,f??void 0);return{...(b={workspace:a,manifest:f,metadata:g,allAgents:e}).workspace,name:b.manifest?.name??b.workspace.name,modelIds:(0,E.Am)(b.workspace.modelIds),activeRuntimeIds:(0,E.Am)(b.workspace.activeRuntimeIds),health:(0,E.OZ)(b.workspace.agentIds,b.allAgents),bootstrap:b.metadata.bootstrap,capabilities:b.metadata.capabilities,channels:b.workspace.channels??[],agentIds:b.workspace.agentIds,totalSessions:b.workspace.totalSessions}})),agents:e,relationships:f,manifestByWorkspace:c}}async function aM({generation:a,settings:b,localGatewayStatus:c,openclawInstalled:f,configuredWorkspaceRoot:g,gatewayStatusCache:h}){let i=await j(3e3),k=h.resolve(i).value??c,l=await (0,m.k)(n.wh),p="fulfilled"===l.status?l.value:[],q=aa(await (0,o.t)(n.wh,p.map(a=>a.id).filter(Boolean),{agentDirs:Object.fromEntries(p.filter(a=>a.id).map(a=>[a.id,a.agentDir]))}),(0,P.fj)(b)),r=z(p),s=y(p,r),t=(0,E.QL)(s.models,r),v=!!k?.rpc?.ok,w=!!(k?.service?.loaded||v),x=f&&v&&q.stateWritable&&q.sessionStoreWritable,A=(0,ad.Xz)().getDiagnostics?.(),B=(A?.recentFallbackDiagnostics??[]).map(a=>({...a,operationLabel:(0,V.Hi)(a.operation)})),C=(0,W.wi)(B,A),D=C.map(a=>`gateway.${a.operation}: Gateway-first request fell back to CLI (${a.kind}): ${a.issue} Recovery: ${a.recovery}`),F=[v?null:"OpenClaw Gateway RPC is not ready.",...q.issues,...D].filter(a=>!!a),G=(0,d.jJ)(F[0]??"OpenClaw system readiness snapshot.",{installed:f,loaded:w,rpcOk:v});return{...G,generatedAt:new Date().toISOString(),revision:a,mode:"live",diagnostics:{...G.diagnostics,installed:f,loaded:w,rpcOk:v,health:x?"healthy":f?"degraded":"offline",workspaceRoot:ai(g),configuredWorkspaceRoot:g,gatewayUrl:k?.gateway?.probeUrl??G.diagnostics.gatewayUrl,bindMode:k?.gateway?.bindMode,port:k?.gateway?.port,serviceLabel:k?.service?.label,openClawBinarySelection:(0,ab.Df)(await (0,ab.bq)(),(0,e.T5)()),modelReadiness:t,capabilityMatrix:(0,u.Bc)()??void 0,gatewayFallbackDiagnostics:B,gatewayFallbackReasons:C.map(a=>`${a.operationLabel} (${a.operation}): ${a.kind}: ${a.issue} Recovery: ${a.recovery}`),runtime:q,commandHistory:(0,e.ik)(),transport:A,issues:F},missionPresets:ag}}let aN=null,aO=null,aP=null,aQ=null,aR=null,aS=null,aT=null,aU={cache:new Map},aV=new K,aW=new K,aX=new l(6e4),aY=new t({ttlMs:3e4,load:(a,b)=>a3({profile:a,generation:b})}),aZ=new p({ttlMs:3e5,getGeneration:()=>aY.getGeneration(),loadState:(a,b)=>(0,o.t)(n.wh,a,{agentDirs:b})});function a$(){aU.cache=new Map}function a_(){a$()}function a0(){aY.clear({incrementGeneration:!0}),aZ.clear(),aX.clear(),aV.clear(),aW.clear(),aN=null,aO=null,aP=null,aQ=null,aR=null,aS=null,aT=null,a$()}function a1(){aY.clear()}async function a2(a={}){return aY.getSnapshot(a)}async function a3({profile:a="interactive",generation:b=aY.getGeneration()}={}){let c=await (0,f.i)(),g=await (0,e.Vg)()||!!c?.rpc?.ok;if(!g)return ah((0,d.jJ)("OpenClaw CLI is not installed on this machine.",{installed:!1,loaded:!!c?.service?.loaded,rpcOk:!1}));try{var l,o,p,q,r;let d,e,s,t,x,B,C,G,H,I,J,K,Q,R,S="system"===a,T=await (0,P.tl)();S||(0,v.hC)();let V=(0,P.qB)(T.workspaceRoot)??null;if(S)return ah(await aM({generation:b,settings:T,localGatewayStatus:c,openclawInstalled:g,configuredWorkspaceRoot:V,gatewayStatusCache:aX}));let W=S?M():await as(),X=M(),Y=aV.shouldRefresh(),Z=aX.shouldRefresh(),$=!aQ||Date.now()-aQ.capturedAt>3e5;if("interactive"===a||S){let a=!c&&Y,b=!S&&$,f=Z?j(15e3):Promise.resolve(M()),g=a?h(15e3):Promise.resolve(M()),i=(0,m.k)(n.wh),l=b?k(15e3):Promise.resolve(M());[d,e,t,B]=await Promise.all([f,g,i,l]),s=M(),x=M(),C=M(),Y&&!a&&aV.scheduleRefresh(()=>h(15e3))}else[e,d,t,B]=await Promise.all([h(45e3),j(45e3),(0,m.k)(n.wh),k(45e3)]),s=M(),x=M(),C=M();let _=aX.resolve(d);if(!_.value&&c&&(_={value:c,reusedCachedValue:!1}),!_.value){let a=await (0,f.i)(aX.getCachedPort());a&&(aX.write(a),_={value:a,reusedCachedValue:!1})}let aa=_.value,ab="fulfilled"===W.status?(l=W.value,"string"==typeof l?(0,E.Nk)(l):l&&"object"==typeof l&&"value"in l&&"string"==typeof l.value?(0,E.Nk)(l.value):void 0):void 0,ac=aV.resolve(e),ad=L(t,aO,a=>{aO=a}),ae=ad.value??[];N(s)&&!S&&(s=await at(ae));let af=S?M():await au(ae),ai=(0,u.Bc)()?.operations?.runtimeSnapshot?.mode,am=!S&&"degraded"!==ai&&"disabled"!==ai&&"cli-fallback"!==ai,an=S?M():am?await (0,w.Jb)("interactive"===a?8e3:15e3):M(),ao=L(s,aN,a=>{aN=a}),ap=L(x,aP,a=>{aP=a}),aq=L(B,aQ,a=>{aQ=a}),ar=L(af,aR,a=>{aR=a}),av=L(an,aS,a=>{aS=a}),aw=L(C,aT,a=>{aT=a}),ax=ac.value,ay=(r=ax,!!(r?.update?.registry?.latestVersion||r?.update?.registry?.error));S||ay||"refresh"!==a?!S&&!ay&&aW.shouldRefresh()&&aW.scheduleRefresh(()=>i(15e3)):X=await i(2e4);let az=ay?{value:void 0,reusedCachedValue:!1,failed:!1}:aW.resolve(X),aA=ao.value??(o=n.wh,F(ae.map(a=>({id:a.id,name:a.name||a.identity?.name||a.id,identityName:a.identity?.name,identityEmoji:a.identity?.emoji,identitySource:a.identity?"config":void 0,workspace:(0,E.Nk)(a.workspace)??"",agentDir:a.agentDir||D().join(o,"agents",a.id,"agent"),model:a.model,isDefault:!!a.default})),o)),aE=function(a,b,c=[]){let d=z(b,c);if(!a)return d;let e=A(a.defaultModel)??A(d?.defaultModel)??null,f=A(a.resolvedDefault)??A(d?.resolvedDefault)??e;return{...a,defaultModel:e,resolvedDefault:f}}(aq.value,ae,aA),aF=(p={agentConfig:ae,modelStatus:aE},y(p.agentConfig,p.modelStatus)),aG=ap.value?.models??aF.models,aH=aw.value??[],aI="fulfilled"===d.status||"fulfilled"===e.status||"fulfilled"===s.status||"fulfilled"===t.status||"fulfilled"===x.status||"fulfilled"===B.status||"fulfilled"===af.status||"fulfilled"===an.status||"fulfilled"===X.status||"fulfilled"===C.status,aK=aj(aA.map(a=>({id:a.id,agentDir:a.agentDir})),T,aZ);aK.catch(()=>{});let aY=await aB(),a$=await aC(ar.value?.sessions??[],aY),{channelRegistry:a_,channelAccounts:a0}=await U(a),a1=function(a){let b=a.filter(a=>!!a.workspace),c=Array.from(new Set(b.map(a=>a.workspace))),d=new Map;for(let a of b){let b=d.get(a.workspace)??[];b.push(a.id),d.set(a.workspace,b)}return{workspaceBoundAgents:b,workspacePaths:c,activeAgentIdsByWorkspacePath:d,resolveWorkspaceId:(0,aJ.Fm)(c)}}(aA),a2=await aD({sessions:a$,agentConfig:ae,agentsList:aA,runtimeSnapshot:av.value,systemProfile:S,dispatchRecords:aY,resolveWorkspaceId:a1.resolveWorkspaceId,historyStore:aU}),{workspaces:a3,agents:a4,relationships:a5,manifestByWorkspace:a6}=await aL({bindings:a1,agentConfig:ae,sessions:a$,status:ax,gatewayStatus:aa,hasOpenClawSignal:aI,runtimes:a2}),{visibleWorkspaces:a7,visibleAgents:a8,visibleRuntimes:a9,visibleRelationships:ba}=(q={workspaces:a3,agents:a4,runtimes:a2,relationships:a5,isWorkspaceHidden:a=>!!a6.get(a.path)?.hidden},G=new Set(q.workspaces.filter(a=>q.isWorkspaceHidden(a)).map(a=>a.id)),H=q.agents.filter(a=>!G.has(a.workspaceId)),I=new Set(q.agents.filter(a=>G.has(a.workspaceId)).map(a=>a.id)),J=q.runtimes.filter(a=>!(a.agentId&&I.has(a.agentId))&&!(a.workspaceId&&G.has(a.workspaceId))),K=new Set(q.runtimes.filter(a=>a.agentId&&I.has(a.agentId)||a.workspaceId&&G.has(a.workspaceId)).map(a=>a.id)),Q=new Set([...G,...I,...K]),R=q.relationships.filter(a=>!Q.has(a.sourceId)&&!Q.has(a.targetId)),{visibleWorkspaces:q.workspaces.filter(a=>!G.has(a.id)),visibleAgents:H,visibleRuntimes:J,visibleRelationships:R}),bb=await aK,bc=await ak({profile:a,settings:T,configuredWorkspaceRoot:V??null,configuredGatewayUrl:ab,gatewayStatus:aa,status:ax,updateStatus:az.value,hasOpenClawSignal:aI,runtimeDiagnostics:bb,models:aG,agents:a4,modelStatus:aE,payloadResults:{gatewayStatus:d,status:e,updateStatus:X,agents:s,agentConfig:t,models:x,modelStatus:B,sessions:af,presence:C},gatewayStatusRejectedWithCachedValue:"rejected"===d.status&&_.reusedCachedValue,payloadReuse:{status:ac,updateStatus:az,agents:ao,agentConfig:ad,models:ap,modelStatus:aq,sessions:ar,presence:aw}}),bd=(0,O.IJ)(a2,a4),be=(0,O.IJ)(a9,a8),bf={generatedAt:new Date().toISOString(),revision:b,mode:"live",diagnostics:bc,channelAccounts:a0,channelRegistry:a_,presence:aH.map(a=>({host:a.host,ip:a.ip,version:a.version,platform:a.platform,deviceFamily:a.deviceFamily,mode:a.mode,reason:a.reason,text:a.text,ts:a.ts})),missionPresets:ag};return{full:{...bf,workspaces:a3,agents:a4,models:al({models:aG,agents:a4,modelStatus:aE}),runtimes:a2,tasks:bd,relationships:a5},visible:{...bf,workspaces:a7,agents:a8,models:al({models:aG,agents:a8,modelStatus:aE}),runtimes:a9,tasks:be,relationships:ba}}}catch(a){return ah((0,d.jJ)(a instanceof Error?a.message:"Unknown OpenClaw error.",{installed:g,loaded:!!c?.service?.loaded,rpcOk:!!c?.rpc?.ok}))}}},9443:(a,b,c)=>{c.d(b,{aL:()=>l,xL:()=>k});var d=c(51455),e=c(76760),f=c.n(e),g=c(15612),h=c(14853),i=c(16588),j=c(58889);async function k(a,b,c){let d=(0,h.Q4)(b,c??g.eY),e=[...new Set(["AGENTS.md","SOUL.md","IDENTITY.md","USER.md","TOOLS.md","HEARTBEAT.md",...d.resources.map(a=>a.relativePath)])],f=await Promise.all(e.map(b=>m(a,a,b))),i=new Map,j=[];for(let a of f)a&&(i.set(a.fileName,a.lines),j.push(a.source));return{profileFiles:e,contextManifest:d,workspaceSections:i,workspaceSources:j}}async function l(a,b,c){let d=c??await (0,j.OL)(a),e=(0,h.Q4)(d.template??null,d.rules??g.eY),f=new Set(["AGENTS.md","SOUL.md","IDENTITY.md","USER.md","TOOLS.md","HEARTBEAT.md","MEMORY.md"]),[k,l,m,o,p,q]=await Promise.all([(0,i.Z3)(a,[{id:"agents",label:"AGENTS.md",relativePath:"AGENTS.md",kind:"file"},{id:"soul",label:"SOUL.md",relativePath:"SOUL.md",kind:"file"},{id:"identity",label:"IDENTITY.md",relativePath:"IDENTITY.md",kind:"file"},{id:"user",label:"USER.md",relativePath:"USER.md",kind:"file"},{id:"tools",label:"TOOLS.md",relativePath:"TOOLS.md",kind:"file"},{id:"heartbeat",label:"HEARTBEAT.md",relativePath:"HEARTBEAT.md",kind:"file"}]),(0,i.Z3)(a,[{id:"memory-md",label:"MEMORY.md",relativePath:"MEMORY.md",kind:"file"}]),(0,i.Z3)(a,e.resources.filter(a=>!f.has(a.relativePath))),(0,i.Z3)(a,[{id:"docs",label:"docs/",relativePath:"docs",kind:"directory"},{id:"memory",label:"memory/",relativePath:"memory",kind:"directory"},{id:"deliverables",label:"deliverables/",relativePath:"deliverables",kind:"directory"},{id:"skills",label:"skills/",relativePath:"skills",kind:"directory"},{id:"openclaw",label:".openclaw/",relativePath:".openclaw",kind:"directory"}]),(0,i.Z3)(a,[{id:"project-json",label:".openclaw/project.json",relativePath:".openclaw/project.json",kind:"file"},{id:"events",label:".openclaw/project-shell/events.jsonl",relativePath:".openclaw/project-shell/events.jsonl",kind:"file"},{id:"runs",label:".openclaw/project-shell/runs",relativePath:".openclaw/project-shell/runs",kind:"directory"},{id:"tasks",label:".openclaw/project-shell/tasks",relativePath:".openclaw/project-shell/tasks",kind:"directory"}]),(0,i.nU)(a)]),r=n(b.flatMap(a=>a.tools)),s=n([...q,...b.flatMap(a=>a.skills)]),t=b.filter(a=>a.tools.includes("fs.workspaceOnly")).length;return{bootstrap:{template:d.template,sourceMode:d.sourceMode,agentTemplate:d.agentTemplate,coreFiles:k,optionalFiles:l,contextFiles:m,folders:o,projectShell:p,localSkillIds:q},capabilities:{skills:s,tools:r,workspaceOnlyAgentCount:t}}}async function m(a,b,c){let e=f().join(a,c);try{var g,h;let a,i;await (0,d.access)(e);let j=(await (0,d.readFile)(e,"utf8")).trim();if(!j)return null;return{fileName:c,lines:j.split(/\r?\n/),source:(g=b,h=e,a=f().resolve(g),(i=f().resolve(h)).startsWith(`${a}${f().sep}`)?f().relative(a,i)||f().basename(i):i)}}catch{return null}}function n(a){return[...new Set(a.filter(a=>a.trim().length>0))].sort()}},11782:(a,b,c)=>{c.d(b,{AV:()=>g,JC:()=>h,Kg:()=>e});var d=c(65395);function e(a,b,c){var e;if(!b)return null;let g=(0,d.W2)(a),h=Math.max(Array.from(c).filter(b=>f(a,b)).length,(b.allowed??[]).filter(b=>f(a,b)).length),i=j(b.auth?.providers,a),m=j(b.auth?.oauth?.providers,a),n=l(m)?m:null,o=Array.isArray(n?.profiles)?n.profiles:null,p=o?o.filter(a=>{if(!l(a))return!1;let b=k(a.status)?.toLowerCase();return!b||!["expired","missing","invalid","error","disabled","revoked"].includes(b)}).length:0,q=k(m?.status)?.toLowerCase(),r=("number"==typeof(e=i?.profiles?.count)&&Number.isFinite(e)?e:null)??0,s=k(i?.effective?.kind)?.toLowerCase(),t="ollama"===a?h>0:o?p>0||"ok"===q:"ok"===q||r>0||!!(s&&["ok","profiles","token","apikey","api-key","oauth"].includes(s));return{provider:a,connected:t,canConnect:!0,needsTerminal:"oauth"===g.connectKind,detail:function({provider:a,descriptor:b,connected:c,visibleCount:d,profileCount:e,usableOauthProfileCount:f,oauthStatus:g}){return"ollama"===a?d>0?`${d} local model${1===d?"":"s"} detected.`:"Install or pull a local model to unlock this route.":c?f>0||"ok"===g?"OAuth connected":e>0?`${e} auth profile${1===e?"":"s"}`:d>0?`${d} configured model${1===d?"":"s"} in AgentOS.`:`${b.shortLabel} is connected.`:d>0?`${d} configured model${1===d?"":"s"} are already saved in AgentOS. Connect ${b.shortLabel} to use them.`:b.helperText}({provider:a,descriptor:g,connected:t,visibleCount:h,profileCount:r,usableOauthProfileCount:p,oauthStatus:q})}}function f(a,b){let c=b.split("/",1)[0]||"";return"openai-codex"===a?"openai"===c||"openai-codex"===c:c===a}function g(a,b){let c=a.split("/",1)[0]||"unknown";return"openai"===c&&i(a,b)?"openai-codex":c}function h(a,b){let c=a.split("/",1)[0]||"";return"openai-codex"===c||"openai"===c&&(/^openai\/gpt-/i.test(a)||i(a,b))}function i(a,b){if(/^openai\/.*codex/i.test(a))return!0;if(!b)return!1;let c=e("openai-codex",b,[]),d=e("openai",b,[]);return!!(c?.connected&&!d?.connected)}function j(a,b){return a?.find(a=>k(a.provider)===b)}function k(a){return"string"==typeof a&&a.trim()?a.trim():null}function l(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}},14414:(a,b,c)=>{c.d(b,{Dm:()=>g,gP:()=>h});var d=c(27091);let e=/^\[Retry after[^\]]+\]\s*/i;function f(a){return(0,d.ho)(a).replace(e,"").replace(/\s+/g," ").trim().toLowerCase()}function g(a,b){let c=f(b),d=f(a);return!!c&&!!d&&(d===c||d.startsWith(`${c} `)||d.includes(`original mission: ${c}`)||d.includes(`original mission ${c}`))}function h(a,b,c={}){if(c.agentId&&a.agentId!==c.agentId||"number"==typeof c.submittedAt&&(a.updatedAt??0)<c.submittedAt-1500)return!1;let d=function(a){let b="string"==typeof a.metadata.mission?a.metadata.mission:"string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null;if(!b)return null;let c=f(b);return c.length>0?c:null}(a);return!!d&&g(d,b)}},14853:(a,b,c)=>{c.d(b,{Iy:()=>l,Q4:()=>i,Q5:()=>j,nt:()=>h,uZ:()=>k});var d=c(66058);let e=["AGENTS.md","SOUL.md","IDENTITY.md","USER.md","TOOLS.md","HEARTBEAT.md"],f={software:"Software project",frontend:"Frontend app",backend:"Backend/API",research:"Research",content:"Content/Growth"},g=["Use repository-local scripts or documented commands for repeatable workflows.","Update this file when the project exposes a cleaner build, test, or release path."];function h(a,b){return m(a,b).map(a=>a.path)}function i(a,b){var c;let d,f=new Map((d=[{id:"agents",label:"AGENTS.md",relativePath:"AGENTS.md",kind:"file",headings:["Workspace","Team","Customize","Safety defaults","Daily memory","Output"]},{id:"soul",label:"SOUL.md",relativePath:"SOUL.md",kind:"file",headings:["My Purpose","How I Operate","My Quirks","Active Focus"]},{id:"identity",label:"IDENTITY.md",relativePath:"IDENTITY.md",kind:"file",headings:["Role"]},{id:"user",label:"USER.md",relativePath:"USER.md",kind:"file",headings:["Operator Profile","Preferences"]},{id:"tools",label:"TOOLS.md",relativePath:"TOOLS.md",kind:"file",headings:["Examples","Notes"]},{id:"heartbeat",label:"HEARTBEAT.md",relativePath:"HEARTBEAT.md",kind:"file",headings:[]},{id:"memory-md",label:"MEMORY.md",relativePath:"MEMORY.md",kind:"file",headings:["Current brief","Stable facts"]},{id:"memory-blueprint",label:"memory/blueprint.md",relativePath:"memory/blueprint.md",kind:"file",headings:["Outcome","Constraints","Unknowns"]},{id:"memory-decisions",label:"memory/decisions.md",relativePath:"memory/decisions.md",kind:"file",headings:["Template"]},{id:"docs-brief",label:"docs/brief.md",relativePath:"docs/brief.md",kind:"file",headings:["Objective","Success signals","Open questions"]},{id:"docs-architecture",label:"docs/architecture.md",relativePath:"docs/architecture.md",kind:"file",headings:["Current shape","Dependencies","Risks"]},{id:"deliverables-readme",label:"deliverables/README.md",relativePath:"deliverables/README.md",kind:"file",headings:["Deliverables"]}],"frontend"===(c=a??null)&&d.push({id:"docs-ux-notes",label:"docs/ux-notes.md",relativePath:"docs/ux-notes.md",kind:"file",headings:["UX Notes"]}),"backend"===c&&d.push({id:"docs-service-map",label:"docs/service-map.md",relativePath:"docs/service-map.md",kind:"file",headings:["Service Map"]}),"research"===c&&d.push({id:"docs-research-plan",label:"docs/research-plan.md",relativePath:"docs/research-plan.md",kind:"file",headings:["Research Plan"]}),"content"===c&&d.push({id:"docs-content-brief",label:"docs/content-brief.md",relativePath:"docs/content-brief.md",kind:"file",headings:["Content Brief"]}),d).map(a=>[a.relativePath,a])),g=a=>a.map(a=>f.get(a)).filter(Boolean),h=[{id:"core",title:"Core bootstrap",description:"Required for every workspace and shared by all agents.",enabled:!0,resources:g(e)},{id:"memory",title:"Memory",description:"Durable notes and decisions that survive across sessions.",enabled:b.generateMemory,resources:b.generateMemory?g(["MEMORY.md","memory/blueprint.md","memory/decisions.md"]):[]},{id:"starter",title:"Starter docs",description:"Planning, architecture, and handoff docs used for the first pass.",enabled:b.generateStarterDocs,resources:b.generateStarterDocs?g(["docs/brief.md","docs/architecture.md","deliverables/README.md",..."frontend"===a?["docs/ux-notes.md"]:"backend"===a?["docs/service-map.md"]:"research"===a?["docs/research-plan.md"]:"content"===a?["docs/content-brief.md"]:[]]):[]}];return{template:a??null,rules:b,sections:h,resources:h.flatMap(a=>a.resources)}}function j(a){let b=m(a.template,a.rules),c=new Map(l(a.docOverrides).map(a=>[a.path,a.content]));return b.map(b=>{let d=b.render(a),e=c.has(b.path);return{path:b.path,title:b.title,description:b.description,category:b.category,baseContent:d,content:e?c.get(b.path)??"":d,overridden:e}})}function k(a){let b=j(a).map(a=>({...a,generated:!0})),c=new Set(b.map(a=>a.path));return[...b,...l(a.docOverrides).filter(a=>!c.has(a.path)).map(a=>{var b;return{path:a.path,title:a.path,description:"Existing workspace file.",category:(b=a.path).startsWith("memory/")?"memory":b.startsWith("docs/")?"docs":b.startsWith("deliverables/")?"deliverables":"core",baseContent:a.content,content:a.content,overridden:!1,generated:!1}})]}function l(a){let b=new Map;for(let c of a??[]){let a=c.path.trim();a&&b.set(a,c.content)}return Array.from(b.entries()).map(([a,b])=>({path:a,content:b}))}function m(a,b){let c=[{path:"AGENTS.md",title:"AGENTS.md",description:"Shared operating instructions for all agents.",category:"core",render:n},{path:"SOUL.md",title:"SOUL.md",description:"Purpose, operating style, and active focus.",category:"core",render:({template:a,brief:b,contextSources:c})=>{var d,e,g;return d=a,e=b,g=c,`# SOUL
|
|
2
2
|
|
|
3
3
|
## My Purpose
|
|
4
4
|
Help this ${f[d].toLowerCase()} workspace turn intent into real outcomes with pragmatic execution, verification, and durable memory.
|
|
@@ -22,7 +22,17 @@ ${e}
|
|
|
22
22
|
This workspace hosts a ${f[b].toLowerCase()} team coordinated through OpenClaw.
|
|
23
23
|
|
|
24
24
|
**Vibe:** pragmatic, concise, quality-minded, workspace-grounded
|
|
25
|
-
`}},{path:"
|
|
25
|
+
`}},{path:"USER.md",title:"USER.md",description:"Operator profile and durable user preferences.",category:"core",render:()=>`# USER
|
|
26
|
+
|
|
27
|
+
## Operator Profile
|
|
28
|
+
- Name:
|
|
29
|
+
- What to call them:
|
|
30
|
+
- Timezone:
|
|
31
|
+
|
|
32
|
+
## Preferences
|
|
33
|
+
- Capture stable user preferences, review style, delivery expectations, and project-specific working agreements here.
|
|
34
|
+
- Keep sensitive personal details out unless the operator explicitly asks to remember them.
|
|
35
|
+
`},{path:"TOOLS.md",title:"TOOLS.md",description:"Repository commands and workflow notes.",category:"core",render:({template:a,toolExamples:b})=>{var c,d;return c=a,d=b??g,`# TOOLS
|
|
26
36
|
|
|
27
37
|
Repository commands and workflow notes for this ${f[c].toLowerCase()} workspace.
|
|
28
38
|
|
|
@@ -122,8 +132,8 @@ ${c.map(e).join("\n")}`),d.length>0&&f.push(`## Assumptions
|
|
|
122
132
|
${d.map(e).join("\n")}`),f.length>0?`
|
|
123
133
|
${f.join("\n\n")}
|
|
124
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,{ZO:()=>k,cf:()=>j,fx:()=>i});var d=c(51455),e=c(76760),f=c.n(e);let g=f().join(process.cwd(),".mission-control"),h=f().join(g,"agent-chat-sessions.json");async function i(a){let b=a.agentId.trim(),c=a.sessionId.trim();if(!b||!c)return;let e=new Date().toISOString(),f=await l(),i=n([{agentId:b,sessionId:c,workspacePath:a.workspacePath,createdAt:f.sessions.find(a=>a.agentId===b&&a.sessionId===c)?.createdAt??e,updatedAt:e,origin:"agent-chat"},...f.sessions.filter(a=>a.agentId!==b||a.sessionId!==c)]);await (0,d.mkdir)(g,{recursive:!0}),await (0,d.writeFile)(h,`${JSON.stringify({version:1,sessions:i},null,2)}
|
|
125
|
-
`,"utf8")}async function j(){return new Map((await l()).sessions.map(a=>[o(a.agentId,a.sessionId),a]))}function k(a,b){return 0===a.length||0===b.size?a:a.map(a=>{let c=a.agentId&&a.sessionId?b.get(o(a.agentId,a.sessionId)):null;return c?{...a,kind:"direct",origin:c.origin}:a})}async function l(){try{let a=await (0,d.readFile)(h,"utf8"),b=JSON.parse(a),c=Array.isArray(b?.sessions)?b.sessions:[],e=c.length>0?c.map(m).filter(a=>!!a):[];return{version:1,sessions:n(e)}}catch{return{version:1,sessions:[]}}}function m(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 n(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=o(e.agentId,e.sessionId);Number.isNaN(a)||a<b||c.has(f)||(c.add(f),d.push(e))}return d.slice(0,200)}function o(a,b){return`${a}:${b}`}},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.$o.filter(a=>!y.has(a)):[],C=Object.fromEntries(f.zS.map(a=>[a.id,((a,b,c=[],d=!0)=>{if((0,e.JG)())return{label:a,mode:"cli-fallback",methods:b,events:c,fallbackAllowed:d,reason:"Native Gateway WS is disabled by environment configuration.",preferredMethod:b[0]??null,supportedMethod:null,aliasMethods:b.slice(1),compatibility:"missing"};if(0===y.size&&0===z.size)return{label:a,mode:"unknown",methods:b,events:c,fallbackAllowed:d,reason:"Gateway did not advertise feature metadata; AgentOS will attempt Gateway first and fall back when needed.",preferredMethod:b[0]??null,supportedMethod:null,aliasMethods:b.slice(1),compatibility:"unknown"};let f=b.find(a=>y.has(a))??null,g=c.some(a=>z.has(a));return f||g?{label:a,mode:"gateway-native",methods:b,events:c,fallbackAllowed:d,reason:f&&f!==b[0]?`OpenClaw Gateway advertises compatibility alias ${f}.`:"OpenClaw Gateway advertises native support.",preferredMethod:b[0]??null,supportedMethod:f,aliasMethods:b.slice(1),compatibility:f&&f!==b[0]?"alias":"preferred"}:{label:a,mode:d?"degraded":"disabled",methods:b,events:c,fallbackAllowed:d,reason:d?"OpenClaw Gateway does not advertise native support; AgentOS will use compatibility fallback.":"OpenClaw Gateway does not advertise native support and no safe fallback is available.",preferredMethod:b[0]??null,supportedMethod:null,aliasMethods:b.slice(1),compatibility:"missing"}})(a.label,a.methods,a.events??[],a.fallbackAllowed??!0)])),D=(0,e.Lo)().map(a=>({...a,operationLabel:(0,f.Hi)(a.operation)})),E=D.map(a=>`${a.operationLabel} (${a.operation}): ${a.kind}: ${a.issue} Recovery: ${a.recovery}`),F=Object.entries(C).filter(([,a])=>"degraded"===a.mode||"cli-fallback"===a.mode).map(([a,b])=>`${a}: ${b.reason}`),G=Object.entries(C).filter(([,a])=>"alias"===a.compatibility&&a.supportedMethod).map(([a,b])=>`${a}: ${b.supportedMethod}`),H=function(a){if(!a)return"unknown";let b=Number(a);return Number.isFinite(b)?b>=e.aj.min&&b<=e.aj.max?"compatible":"unsupported":"unknown"}(i),I=new Date().toISOString(),J=function(a){if("disabled"===a.source)return{status:"unknown",checkedAt:a.checkedAt,source:a.source,refreshIntervalMs:6e4,expectedMethodCount:f.$o.length,advertisedMethodCount:0,missingMethodCount:0,missingMethods:[],missingOperations:[],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.$o.length,advertisedMethodCount:0,missingMethodCount:0,missingMethods:[],missingOperations:[],reason:"OpenClaw Gateway did not advertise method metadata; AgentOS will retry on the next capability refresh."};let b=Object.entries(a.operations).filter(([,a])=>"missing"===a.compatibility).map(([a])=>a),c=a.unsupportedGatewayMethods.length>0?"drift":"advertised";return{status:c,checkedAt:a.checkedAt,source:a.source,refreshIntervalMs:6e4,expectedMethodCount:f.$o.length,advertisedMethodCount:a.methodSet.size,missingMethodCount:a.unsupportedGatewayMethods.length,missingMethods:a.unsupportedGatewayMethods,missingOperations:b,reason:"advertised"===c?"OpenClaw Gateway advertised every AgentOS Gateway-first method candidate; payload contracts still depend on live RPC behavior.":"OpenClaw Gateway advertised method metadata, but one or more AgentOS Gateway-first candidates are missing."}}({checkedAt:I,source:x,methodSet:y,operations:C,unsupportedGatewayMethods:B});return{detectedAt:I,openClawVersion:h??null,gatewayProtocolVersion:i,requestedProtocolRange:e.aj,authMode:j,authRole:k,authScopes:s,supportedMethods:u,supportedEvents:w,configSchema:A("config.schema"),configSchemaLookup:A(...(0,f.P5)("configSchemaLookup")),configPatch:A(...(0,f.P5)("configPatch")),chatEvents:"supported"===A(...(0,f.P5)("missionDispatch"),"chat.history")||((0,f.jW)("missionStream").events??[]).some(a=>z.has(a))?"supported":0===y.size?"unknown":"unsupported",logsTail:A(...(0,f.P5)("logsTail")),cronRead:A(...(0,f.P5)("cronRead")),channels:A(...(0,f.P5)("channels")),skills:A(...(0,f.P5)("skills")),approvals:A(...(0,f.P5)("execApprovals"),"plugin.approval.list","plugin.approval.resolve"),updates:A(...(0,f.P5)("updates")),nativeMissionDispatch:A(...(0,f.P5)("missionDispatch")),nativeAgentLifecycle:A(...(0,f.P5)("agentCreate"),...(0,f.P5)("agentUpdate"),...(0,f.P5)("agentDelete")),eventBridge:"supported"===A(...(0,f.P5)("missionStream"),...(0,f.P5)("taskEvents"))||["chat","agent","session.message","session.tool","task","task.updated","task.completed","artifact","artifact.updated","exec.approval.requested","plugin.approval.requested"].some(a=>z.has(a))?"supported":0===y.size?"unknown":"unsupported",operations:C,compatibility:{protocol:{status:H,version:i,reason:(a=i,"compatible"===(b=H)?`Gateway protocol ${a} is within AgentOS' supported range ${e.aj.min}-${e.aj.max}.`:"unsupported"===b?`Gateway protocol ${a} is outside AgentOS' supported range ${e.aj.min}-${e.aj.max}.`:"Gateway protocol version was not advertised.")},methodContract:J,nativeOperationCount:Object.values(C).filter(a=>"gateway-native"===a.mode).length,degradedOperationCount:Object.values(C).filter(a=>"degraded"===a.mode||"cli-fallback"===a.mode).length,unknownOperationCount:Object.values(C).filter(a=>"unknown"===a.mode).length,aliasOperations:G,degradedOperations:Object.entries(C).filter(([,a])=>"degraded"===a.mode||"cli-fallback"===a.mode).map(([a])=>a)},degradedFeatures:F,fallbackDiagnostics:D,fallbackReasons:E,unsupportedGatewayMethods:B,diagnostics:c}}async function l(a,b,c){for(let d of b)try{return{method:d,payload:await a(d)}}catch(a){c.push(`${d}: ${v(a)}`)}return null}function m(a){var b;return Array.from(new Set([...u(s(a,"methods")),...u(s(s(a,"rpc"),"methods")),...u(s(s(a,"features"),"methods")),...u(s(a,"supportedMethods")),...Array.isArray(b=s(a,"methods"))?b.map(a=>t(s(a,"name"))??t(s(a,"method"))).filter(a=>!!a):[]])).sort()}function n(a){return Array.from(new Set([...u(s(a,"events")),...u(s(s(a,"features"),"events"))])).sort()}function o(a){let b=s(a,"protocolVersion")??s(a,"protocol")??s(s(a,"gateway"),"protocolVersion");return"number"==typeof b&&Number.isFinite(b)?String(b):t(b)}function p(a){return t(s(a,"authMode"))??t(s(s(a,"auth"),"mode"))??t(s(s(a,"security"),"authMode"))??t(s(s(a,"snapshot"),"authMode"))}function q(a){return t(s(a,"role"))??t(s(s(a,"auth"),"role"))??t(s(s(a,"security"),"role"))}function r(a){return Array.from(new Set([...u(s(a,"scopes")),...u(s(s(a,"auth"),"scopes")),...u(s(s(a,"security"),"scopes"))])).sort()}function s(a,b){return a&&"object"==typeof a?a[b]:void 0}function t(a){return"string"==typeof a&&a.trim()?a.trim():null}function u(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.trim().length>0).map(a=>a.trim()):[]}function v(a){return a instanceof Error?a.kind?`${a.kind}: ${a.message}`:a.message:String(a||"OpenClaw Gateway request failed.")}},25793:(a,b,c)=>{c.d(b,{Jw:()=>s,SI:()=>o,V9:()=>l,WU:()=>n,pY:()=>m,qv:()=>p,xZ:()=>q});var d=c(51455),e=c(48161),f=c.n(e),g=c(76760),h=c.n(g),i=c(27091),j=c(14414),k=c(96972);async function l(a,b,c,e){let f=e(a,b,c);if(!a.key?.endsWith(":main")||!a.agentId||!a.sessionId)return[f];let g=c.find(b=>b.id===a.agentId),h=b.find(b=>b.id===a.agentId),j=await n(a.agentId,a.sessionId,g?.workspace||h?.workspace);if(!j)return[f];try{let a=await (0,d.readFile)(j,"utf8"),b=o(a,f,g?.workspace||h?.workspace).filter(a=>!a.prompt.toLowerCase().startsWith("read heartbeat.md if it exists")),c=q(b);if(0===b.length)return[f];return b.slice(-6).reverse().map(a=>(function(a,b,c=b.toolNames){var d,e;let f,g=Date.parse(b.updatedAt),h=(d=b.prompt,e=a.agentId,(f=d.trim())&&(0,i.$m)(f,38)||`${B(e)} run`),j=b.warningSummary?z(`Completed with fallback: ${b.warningSummary}`,90):b.finalText?z(b.finalText,90):"stalled"===b.status?"Waiting for output":"Main session run";return{id:`runtime:${a.sessionId}:${b.id}`,source:"turn",key:`${a.key}:turn:${b.id}`,title:h,subtitle:j,status:b.status,updatedAt:Number.isNaN(g)?a.updatedAt:g,ageMs:Number.isNaN(g)?a.ageMs:Math.max(Date.now()-g,0),agentId:a.agentId,workspaceId:a.workspaceId,modelId:a.modelId,sessionId:a.sessionId,taskId:a.taskId,runId:b.runId||b.id,toolNames:c,tokenUsage:b.tokenUsage,metadata:{...a.metadata,turnId:b.id,turnPrompt:b.prompt,stage:"main.turn",historical:"running"!==b.status,createdFiles:b.createdFiles,warnings:b.warnings,warningSummary:b.warningSummary}}})(f,a,c))}catch{return[f]}}async function m(a,b){if("fallback"===b.mode){var c;let b;return c=a,b=new Date().toISOString(),{runtimeId:c.id,sessionId:c.sessionId,taskId:c.taskId,status:"available",finalText:"Fallback mode is active. Connect a real OpenClaw gateway to inspect live runtime output.",finalTimestamp:b,stopReason:"fallback",errorMessage:null,items:[{id:`${c.id}:fallback`,role:"assistant",timestamp:b,text:"Fallback mode is active. Connect a real OpenClaw gateway to inspect live runtime output.",stopReason:"fallback",isError:!1}],createdFiles:[],warnings:[],warningSummary:null}}if(!a.sessionId||!a.agentId)return r(a,t(a,"This runtime does not expose a session transcript yet."));let e=b.agents.find(b=>b.id===a.agentId),f=await n(a.agentId,a.sessionId,e?.workspacePath);if(!f)return r(a,t(a,"No transcript file was found for this runtime session."));try{let b=await (0,d.readFile)(f,"utf8");return s(a,b,e?.workspacePath)}catch(b){return{runtimeId:a.id,sessionId:a.sessionId,taskId:a.taskId,status:"error",finalText:null,finalTimestamp:null,stopReason:null,errorMessage:b instanceof Error?b.message:"Unable to read runtime transcript.",items:[],createdFiles:[],warnings:[],warningSummary:null}}}async function n(a,b,c){for(let e of[h().join(f().homedir(),".openclaw","agents",a,"sessions",`${b}.jsonl`),c?h().join(c,".openclaw","agents",a,"sessions",`${b}.jsonl`):null].filter(Boolean))try{return await (0,d.access)(e),e}catch{continue}let e=await x(a,b,c);return e||null}function o(a,b,c){let d=a.split(/\r?\n/).filter(Boolean),e=[],f=c,g=null;for(let a of d)try{var h,i,j;let c=JSON.parse(a);if("session"===c.type&&"string"==typeof c.cwd&&c.cwd.trim()){f=c.cwd.trim();continue}if("custom"===c.type&&"openclaw:prompt-error"===c.customType&&g){g.runId||=c.data?.runId,g.updatedAt=c.timestamp||g.updatedAt,g.errorMessage||=c.data?.error||null;continue}if("message"!==c.type||!c.message?.role)continue;let d=c.message.role;if("assistant"!==d&&"toolResult"!==d&&"user"!==d)continue;let k=function(a=[]){return"string"==typeof a?a.trim():Array.isArray(a)?a.flatMap(a=>{if(("text"===a.type||"output_text"===a.type)&&a.text)return[a.text];if("toolResult"===a.type){var b;let c=(b=a.content,("string"==typeof b?b.trim()||null:Array.isArray(b)&&b.flatMap(a=>"string"==typeof a?[a]:a&&"object"==typeof a?"text"in a&&"string"==typeof a.text?[a.text]:"content"in a&&"string"==typeof a.content?[a.content]:[]:[]).join("\n\n").trim()||null)||a.text);return c?[c]:[]}return[]}).join("\n\n").trim():""}(c.message.content),l=c.message.errorMessage??null,m=function(a,b,c,d){if("toolResult"!==a||!0===b.isError||d)return null;let e=b.details?.exitCode;if("number"!=typeof e||0===e)return null;let f=(b.details?.aggregated||c).split(/\r?\n/).map(a=>a.trim()).filter(Boolean).filter(a=>!/^\(Command exited with code \d+\)$/i.test(a));return z((f.find(a=>!a.startsWith("[WARNING]"))||f.find(a=>a.startsWith("[WARNING]"))||`${b.toolName||"tool"} exited with code ${e}`).replace(/^\[WARNING\]\s*/i,"").trim()||`${b.toolName||"tool"} exited with code ${e}`,160)}(d,c.message,k,l),n="assistant"===d?function(a){if(!Array.isArray(a))return null;let b=a.find(a=>"toolCall"===a.type&&"string"==typeof a.name);return b&&"string"==typeof b.name&&b.name.trim()?{id:"string"==typeof b.id?b.id:null,name:b.name.trim(),arguments:b.arguments}:null}(c.message.content):null,o="assistant"===d&&n&&!k?"toolCall":d,p=k||l||(n?`Called ${n.name}`:"");if(!p&&!("assistant"===d&&(h=c.message.content,Array.isArray(h)&&h.some(a=>"toolCall"===a.type))||"toolResult"===d&&"string"==typeof c.message.toolName&&c.message.toolName.trim()))continue;let q={id:c.id||`${d}-${Date.now()}`,role:o,timestamp:function(a){let b=a.message?.timestamp;if("number"==typeof b&&Number.isFinite(b))return new Date(b).toISOString();if("string"==typeof b&&b.trim()){let a=Date.parse(b);if(!Number.isNaN(a))return new Date(a).toISOString()}return a.timestamp||null}(c)||new Date().toISOString(),text:p,toolName:"toolCall"===o?n?.name:"toolResult"===d?c.message.toolName?.trim()||A(k):void 0,stopReason:"assistant"===d?c.message.stopReason??null:null,errorMessage:l,isWarning:!!m,isError:!!l||!0===c.message.isError||"error"===c.message.stopReason||"aborted"===c.message.stopReason};if("user"===d){g&&e.push(v(g)),g={id:c.id||`turn-${e.length}`,prompt:q.text.replace(/^Sender \(untrusted metadata\):[\s\S]*?```[\s\S]*?```\s*/i,"").replace(/^\[[^\]]+\]\s*/i,"").replace(/\s+/g," ").trim(),sessionId:b.sessionId,runId:void 0,timestamp:q.timestamp,updatedAt:q.timestamp,items:[q],tokenUsage:void 0,errorMessage:null,createdFiles:[],warnings:[],toolNames:[],pendingCreatedFiles:new Map,pendingToolNames:new Set};continue}if(!g)continue;if("assistant"===d&&Array.isArray(c.message.content)){for(let a of c.message.content)if("toolCall"===a.type)for(let b of("string"==typeof a.name&&a.name.trim()&&g.pendingToolNames.add(a.name.trim()),function(a,b){if("write"===a.type||"write"===a.name){let c="string"==typeof a.arguments?.path?a.arguments.path.trim():"",d=c?w(c,b):null;return d?[d]:[]}return"apply_patch"===a.name&&Array.isArray(a.arguments?.changes)?a.arguments.changes.flatMap(a=>{if(!a||"object"!=typeof a)return[];let c="path"in a&&"string"==typeof a.path?a.path.trim():"",d=c?w(c,b):null;return d?[d]:[]}):[]}(a,f)))g.pendingCreatedFiles.set(a.id||`${c.id||"toolCall"}:${b.path}`,b)}if(g.items.push(q),g.updatedAt=q.timestamp,g.errorMessage||=l,m&&!g.warnings.includes(m)&&g.warnings.push(m),"toolResult"===d&&!0!==c.message.isError&&("write"===c.message.toolName||"apply_patch"===c.message.toolName)&&"string"==typeof c.message.toolCallId){let a=g.pendingCreatedFiles.get(c.message.toolCallId);a&&(g.createdFiles.push(a),g.pendingCreatedFiles.delete(c.message.toolCallId))}if("toolResult"===d){let a=c.message.toolName?.trim()||A(q.text)?.trim()||null;a&&g.pendingToolNames.add(a)}if("assistant"===d&&c.message.usage){let a=c.message.usage;g.tokenUsage=(i=g.tokenUsage,j={input:a.input??a.prompt_tokens??0,output:a.output??a.completion_tokens??0,total:a.totalTokens??a.total_tokens??(a.input??a.prompt_tokens??0)+(a.output??a.completion_tokens??0),cacheRead:a.cacheRead??0},i?j.total>i.total?j:i:j)}}catch{continue}return g&&e.push(v(g)),e}function p(a,b){let c="string"==typeof a.metadata.dispatchSubmittedAt?Date.parse(a.metadata.dispatchSubmittedAt):NaN;return Number.isNaN(c)?b:b.filter(a=>{let b=Date.parse(a.updatedAt||a.timestamp);return!Number.isNaN(b)&&b>=c-1500})}function q(a){return y(a.flatMap(a=>a.toolNames))}function r(a,b){return{runtimeId:a.id,sessionId:a.sessionId,taskId:a.taskId,status:"missing",finalText:null,finalTimestamp:null,stopReason:null,errorMessage:b,items:[],createdFiles:[],warnings:[],warningSummary:null}}function s(a,b,c){let d=p(a,o(b,a,c));if("turn"===a.source){let b="string"==typeof a.metadata.turnId?a.metadata.turnId:null,c=b?d.find(a=>a.id===b):function(a,b){let c="string"==typeof a.metadata.mission?a.metadata.mission: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:()=>f,T$:()=>o,Y8:()=>l,bE:()=>g,qA:()=>m,vC:()=>n});var d=c(77598),e=c(27091);function f(a,b){let c=a.filter(a=>!function(a){var b,c;let d="string"==typeof a.metadata.origin?a.metadata.origin:null;if("mission-dispatch"===d)return!1;if("agent-chat"===d)return!0;if("string"==typeof a.metadata.dispatchId&&a.metadata.dispatchId.trim())return!1;let f=h(a)||("string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null);return!!("string"==typeof f&&(b=f,/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)))||(c=a,!(c.taskId?.trim()||c.runId?.trim()||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()||"string"==typeof c.metadata.runId&&c.metadata.runId.trim()||"string"==typeof c.metadata.bootstrapStage&&c.metadata.bootstrapStage.trim()||"string"==typeof c.metadata.dispatchStatus&&c.metadata.dispatchStatus.trim())&&!!("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,f=new Map(b.map(a=>{var b;return[a.id,(b=a).name.trim()||b.id]})),i=function(a){let b=new Map;for(let c of a){let a=c.sessionId?.trim(),d="string"==typeof c.metadata.dispatchId?c.metadata.dispatchId.trim():"",e="string"==typeof c.metadata.dispatchSubmittedAt?Date.parse(c.metadata.dispatchSubmittedAt):NaN;if(!a||!d)continue;let f=`${c.agentId??"unknown"}:${a}`,g=b.get(f)??[];g.some(a=>a.dispatchId===d)||(g.push({dispatchId:d,submittedAt:Number.isNaN(e)?null:e}),g.sort((a,b)=>(a.submittedAt??-1/0)-(b.submittedAt??-1/0)),b.set(f,g))}return b}(c);for(let a of c){let b=function(a,b){let c=a.taskId?.trim(),d="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",e=h(a),f=a.sessionId?.trim(),g=f?b.get(`${a.agentId??"unknown"}:${f}`)??[]:[],i=a.updatedAt??0,j=g.filter(a=>null===a.submittedAt||i>=a.submittedAt-1500).sort((a,b)=>(b.submittedAt??-1/0)-(a.submittedAt??-1/0))[0]?.dispatchId??"";return d?`dispatch:${d}`:j?`dispatch:${j}`:c?`task:${c}`:e?`mission:${a.agentId??"unknown"}:${n(e)}`:f?`session:${f}`:`runtime:${a.id}`}(a,i),c=d.get(b)??[];c.push(a),d.set(b,c)}return Array.from(d.entries()).map(([a,b])=>g(a,b,f)).sort((a,b)=>(b.updatedAt??0)-(a.updatedAt??0))}function g(a,b,c){var d,f,g;let r,s=[...b].sort(q),t=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}(s),u=[...t].sort((a,b)=>i(b)-i(a))[0]??t[0]??s[0],v=h(u)||s.map(a=>h(a)).find(Boolean)||null,w=function(a){for(let b of a){let a="string"==typeof b.metadata.routedMission?b.metadata.routedMission.trim():"";if(a)return a}return null}(s),x=function(a){let b=[...a.filter(a=>{var b;return(!!("string"==typeof(b=a).metadata.dispatchId&&b.metadata.dispatchId.trim())||!!h(b))&&!k(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=>!k(a)&&("completed"===a.status||"stalled"===a.status||"cancelled"===a.status)),...a.filter(a=>!k(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}(s),y=x||t.map(a=>a.subtitle?.trim()).find(a=>!!a)||s.map(a=>a.subtitle?.trim()).find(a=>!!a)||"Awaiting OpenClaw updates.",z=o(s.flatMap(a=>l(a)).concat(s.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 o(c)})(a.subtitle)))),A=p(s.flatMap(a=>m(a))),B=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})}(s),C=p(s.flatMap(a=>a.agentId?[a.agentId]:[])),D=p(s.flatMap(a=>a.sessionId?[a.sessionId]:[])),E=p(s.flatMap(a=>a.runId?[a.runId]:[])),F=s.filter(a=>"string"==typeof a.metadata.turnId||!0===a.metadata.recoveredFromObservation).length,G=(r=s.map(a=>"string"==typeof a.metadata.dispatchStatus?a.metadata.dispatchStatus.trim():"").filter(Boolean)).includes("cancelled")?"cancelled":r.includes("stalled")?"stalled":r.includes("completed")?"completed":r.includes("running")?"running":r.includes("queued")?"queued":null,H=u?.agentId||C[0],I=H?c.get(H)??null:null,J=s[0]??null;return{id:(d=a,`task:${n(d)}`),key:a,title:(0,e.$m)(v||u?.title||"Untitled task",52)||"Untitled task",mission:v,subtitle:y,status:function(a,b=null){return b&&j(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"}(s,G),updatedAt:J?.updatedAt??null,ageMs:J?.ageMs??null,workspaceId:u?.workspaceId,primaryAgentId:H,primaryAgentName:I,primaryRuntimeId:u?.id,dispatchId:function(a){for(let b of a)if("string"==typeof b.metadata.dispatchId&&b.metadata.dispatchId.trim())return b.metadata.dispatchId.trim()}(s),runtimeIds:s.map(a=>a.id),agentIds:C,sessionIds:D,runIds:E,runtimeCount:s.length,updateCount:t.filter(a=>"turn"===a.source).length,liveRunCount:(f=s,(g=G)&&j(g)?0:f.filter(a=>"running"===a.status||"queued"===a.status).length),artifactCount:z.length,warningCount:A.length,tokenUsage:B,metadata:{mission:v,routedMission:w,resultPreview:x,turnCount:F,sessionCount:D.length,primaryRuntimeSource:u?.source??null,bootstrapStage:"string"==typeof u?.metadata.bootstrapStage?u.metadata.bootstrapStage:null,dispatchStatus:G??("string"==typeof u?.metadata.dispatchStatus?u.metadata.dispatchStatus:null),dispatchSubmittedAt:"string"==typeof u?.metadata.dispatchSubmittedAt?u.metadata.dispatchSubmittedAt:null,dispatchRunnerStartedAt:"string"==typeof u?.metadata.dispatchRunnerStartedAt?u.metadata.dispatchRunnerStartedAt:null,dispatchHeartbeatAt:"string"==typeof u?.metadata.dispatchHeartbeatAt?u.metadata.dispatchHeartbeatAt:null,dispatchObservedAt:"string"==typeof u?.metadata.dispatchObservedAt?u.metadata.dispatchObservedAt:null,outputDir:"string"==typeof u?.metadata.outputDir?u.metadata.outputDir:null,outputDirRelative:"string"==typeof u?.metadata.outputDirRelative?u.metadata.outputDirRelative:null}}}function h(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 i(a){return 8*!!h(a)+6*("string"==typeof a.metadata.dispatchId)+("turn"===a.source?6:"session"===a.source?4:2)+("running"===a.status?3:"queued"===a.status?2:"cancelled"===a.status||"stalled"===a.status?3:"idle"===a.status?2:1)}function j(a){return"completed"===a||"stalled"===a||"cancelled"===a}function k(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 l(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 m(a){let b=a.metadata.warnings;return Array.isArray(b)?b.filter(a=>"string"==typeof a&&a.trim().length>0):[]}function n(a){return(0,d.createHash)("sha1").update(a).digest("hex").slice(0,12)}function o(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 p(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 q(a,b){return(b.updatedAt??0)-(a.updatedAt??0)}},35456:(a,b,c)=>{c.d(b,{Az:()=>s,FU:()=>m,In:()=>x,SK:()=>u,Yt:()=>r,Zm:()=>l,bC:()=>w,fj:()=>t,go:()=>v,qB:()=>n,tl:()=>p,wL:()=>o,wi:()=>q});var d=c(51455),e=c(48161),f=c.n(e),g=c(76760),h=c.n(g),i=c(49922);let j=h().join(process.cwd(),".mission-control"),k=h().join(j,"settings.json");function l(a){let b,c=a?.trim();if(!c)return null;let d=/^[a-z][a-z0-9+.-]*:\/\//i.test(c)?c:`ws://${c}`;try{b=new URL(d)}catch{throw Error("Gateway address must be a valid WebSocket URL.")}if("ws:"!==b.protocol&&"wss:"!==b.protocol)throw Error("Gateway address must start with ws:// or wss://.");if(!b.hostname)throw Error("Gateway address must include a hostname.");return b.toString().replace(/\/$/,"")}function m(a){let b=a?.trim();if(!b)return null;if("~"!==b&&!b.startsWith("~/")&&!h().isAbsolute(b))throw Error("Workspace root must be an absolute path or start with ~/.");return n(b)}function n(a){var b;let c=a?.trim();if(!c)return;let d="~"===(b=c)?f().homedir():b.startsWith("~/")?h().join(f().homedir(),b.slice(2)):b,e=h().normalize(d);return e.length>1?e.replace(/[\\/]+$/,""):e}async function o(){return n((await p()).workspaceRoot)??null}async function p(){let a;try{a=await (0,d.readFile)(k,"utf8")}catch(a){if("ENOENT"===("object"==typeof a&&a&&"code"in a?a.code:void 0))return{};throw a}try{let b=JSON.parse(a),c="string"==typeof b.workspaceRoot?n(b.workspaceRoot):void 0,d=function(a){if(!a||"object"!=typeof a)return;let b=Object.entries("smokeTests"in a&&a.smokeTests&&"object"==typeof a.smokeTests?a.smokeTests:{}).reduce((a,[b,c])=>{if(!c||"object"!=typeof c)return a;let d="string"==typeof c.checkedAt?c.checkedAt:null,e="passed"===c.status||"failed"===c.status?c.status:null;return d&&e&&(a[b]={status:e,checkedAt:d,..."string"==typeof c.runId?{runId:c.runId}:{},..."string"==typeof c.summary?{summary:c.summary}:{},..."string"==typeof c.error?{error:z(c.error)??c.error}:{}}),a},{});return Object.keys(b).length>0?{smokeTests:b}:void 0}("object"==typeof b.runtimePreflight&&b.runtimePreflight?b.runtimePreflight:void 0);return{...c?{workspaceRoot:c}:{},...d?{runtimePreflight:d}:{}}}catch{return{}}}async function q(a){await (0,d.mkdir)(j,{recursive:!0}),await (0,d.writeFile)(k,`${JSON.stringify(a,null,2)}
|
|
126
|
-
`,"utf8")}function r(a,b){return a.runtimePreflight?.smokeTests?.[b]??null}function s(a,b){return!b||!a||
|
|
135
|
+
`,"utf8")}async function j(){return new Map((await l()).sessions.map(a=>[o(a.agentId,a.sessionId),a]))}function k(a,b){return 0===a.length||0===b.size?a:a.map(a=>{let c=a.agentId&&a.sessionId?b.get(o(a.agentId,a.sessionId)):null;return c?{...a,kind:"direct",origin:c.origin}:a})}async function l(){try{let a=await (0,d.readFile)(h,"utf8"),b=JSON.parse(a),c=Array.isArray(b?.sessions)?b.sessions:[],e=c.length>0?c.map(m).filter(a=>!!a):[];return{version:1,sessions:n(e)}}catch{return{version:1,sessions:[]}}}function m(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 n(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=o(e.agentId,e.sessionId);Number.isNaN(a)||a<b||c.has(f)||(c.add(f),d.push(e))}return d.slice(0,200)}function o(a,b){return`${a}:${b}`}},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.$o.filter(a=>!y.has(a)):[],C=Object.fromEntries(f.zS.map(a=>[a.id,((a,b,c=[],d=!0)=>{if((0,e.JG)())return{label:a,mode:"cli-fallback",methods:b,events:c,fallbackAllowed:d,reason:"Native Gateway WS is disabled by environment configuration.",preferredMethod:b[0]??null,supportedMethod:null,aliasMethods:b.slice(1),compatibility:"missing"};if(0===y.size&&0===z.size)return{label:a,mode:"unknown",methods:b,events:c,fallbackAllowed:d,reason:"Gateway did not advertise feature metadata; AgentOS will attempt Gateway first and fall back when needed.",preferredMethod:b[0]??null,supportedMethod:null,aliasMethods:b.slice(1),compatibility:"unknown"};let f=b.find(a=>y.has(a))??null,g=c.some(a=>z.has(a));return f||g?{label:a,mode:"gateway-native",methods:b,events:c,fallbackAllowed:d,reason:f&&f!==b[0]?`OpenClaw Gateway advertises compatibility alias ${f}.`:"OpenClaw Gateway advertises native support.",preferredMethod:b[0]??null,supportedMethod:f,aliasMethods:b.slice(1),compatibility:f&&f!==b[0]?"alias":"preferred"}:{label:a,mode:d?"degraded":"disabled",methods:b,events:c,fallbackAllowed:d,reason:d?"OpenClaw Gateway does not advertise native support; AgentOS will use compatibility fallback.":"OpenClaw Gateway does not advertise native support and no safe fallback is available.",preferredMethod:b[0]??null,supportedMethod:null,aliasMethods:b.slice(1),compatibility:"missing"}})(a.label,a.methods,a.events??[],a.fallbackAllowed??!0)])),D=(0,e.Lo)().map(a=>({...a,operationLabel:(0,f.Hi)(a.operation)})),E=D.map(a=>`${a.operationLabel} (${a.operation}): ${a.kind}: ${a.issue} Recovery: ${a.recovery}`),F=Object.entries(C).filter(([,a])=>"degraded"===a.mode||"cli-fallback"===a.mode).map(([a,b])=>`${a}: ${b.reason}`),G=Object.entries(C).filter(([,a])=>"alias"===a.compatibility&&a.supportedMethod).map(([a,b])=>`${a}: ${b.supportedMethod}`),H=function(a){if(!a)return"unknown";let b=Number(a);return Number.isFinite(b)?b>=e.aj.min&&b<=e.aj.max?"compatible":"unsupported":"unknown"}(i),I=new Date().toISOString(),J=function(a){if("disabled"===a.source)return{status:"unknown",checkedAt:a.checkedAt,source:a.source,refreshIntervalMs:6e4,expectedMethodCount:f.$o.length,advertisedMethodCount:0,missingMethodCount:0,missingMethods:[],missingOperations:[],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.$o.length,advertisedMethodCount:0,missingMethodCount:0,missingMethods:[],missingOperations:[],reason:"OpenClaw Gateway did not advertise method metadata; AgentOS will retry on the next capability refresh."};let b=Object.entries(a.operations).filter(([,a])=>"missing"===a.compatibility).map(([a])=>a),c=a.unsupportedGatewayMethods.length>0?"drift":"advertised";return{status:c,checkedAt:a.checkedAt,source:a.source,refreshIntervalMs:6e4,expectedMethodCount:f.$o.length,advertisedMethodCount:a.methodSet.size,missingMethodCount:a.unsupportedGatewayMethods.length,missingMethods:a.unsupportedGatewayMethods,missingOperations:b,reason:"advertised"===c?"OpenClaw Gateway advertised every AgentOS Gateway-first method candidate; payload contracts still depend on live RPC behavior.":"OpenClaw Gateway advertised method metadata, but one or more AgentOS Gateway-first candidates are missing."}}({checkedAt:I,source:x,methodSet:y,operations:C,unsupportedGatewayMethods:B});return{detectedAt:I,openClawVersion:h??null,gatewayProtocolVersion:i,requestedProtocolRange:e.aj,authMode:j,authRole:k,authScopes:s,supportedMethods:u,supportedEvents:w,configSchema:A("config.schema"),configSchemaLookup:A(...(0,f.P5)("configSchemaLookup")),configPatch:A(...(0,f.P5)("configPatch")),chatEvents:"supported"===A(...(0,f.P5)("missionDispatch"),"chat.history")||((0,f.jW)("missionStream").events??[]).some(a=>z.has(a))?"supported":0===y.size?"unknown":"unsupported",logsTail:A(...(0,f.P5)("logsTail")),cronRead:A(...(0,f.P5)("cronRead")),channels:A(...(0,f.P5)("channels")),skills:A(...(0,f.P5)("skills")),approvals:A(...(0,f.P5)("execApprovals"),"plugin.approval.list","plugin.approval.resolve"),updates:A(...(0,f.P5)("updates")),nativeMissionDispatch:A(...(0,f.P5)("missionDispatch")),nativeAgentLifecycle:A(...(0,f.P5)("agentCreate"),...(0,f.P5)("agentUpdate"),...(0,f.P5)("agentDelete")),eventBridge:"supported"===A(...(0,f.P5)("missionStream"),...(0,f.P5)("taskEvents"))||["chat","agent","session.message","session.tool","task","task.updated","task.completed","artifact","artifact.updated","exec.approval.requested","plugin.approval.requested"].some(a=>z.has(a))?"supported":0===y.size?"unknown":"unsupported",operations:C,compatibility:{protocol:{status:H,version:i,reason:(a=i,"compatible"===(b=H)?`Gateway protocol ${a} is within AgentOS' supported range ${e.aj.min}-${e.aj.max}.`:"unsupported"===b?`Gateway protocol ${a} is outside AgentOS' supported range ${e.aj.min}-${e.aj.max}.`:"Gateway protocol version was not advertised.")},methodContract:J,nativeOperationCount:Object.values(C).filter(a=>"gateway-native"===a.mode).length,degradedOperationCount:Object.values(C).filter(a=>"degraded"===a.mode||"cli-fallback"===a.mode).length,unknownOperationCount:Object.values(C).filter(a=>"unknown"===a.mode).length,aliasOperations:G,degradedOperations:Object.entries(C).filter(([,a])=>"degraded"===a.mode||"cli-fallback"===a.mode).map(([a])=>a)},degradedFeatures:F,fallbackDiagnostics:D,fallbackReasons:E,unsupportedGatewayMethods:B,diagnostics:c}}async function l(a,b,c){for(let d of b)try{return{method:d,payload:await a(d)}}catch(a){c.push(`${d}: ${v(a)}`)}return null}function m(a){var b;return Array.from(new Set([...u(s(a,"methods")),...u(s(s(a,"rpc"),"methods")),...u(s(s(a,"features"),"methods")),...u(s(a,"supportedMethods")),...Array.isArray(b=s(a,"methods"))?b.map(a=>t(s(a,"name"))??t(s(a,"method"))).filter(a=>!!a):[]])).sort()}function n(a){return Array.from(new Set([...u(s(a,"events")),...u(s(s(a,"features"),"events"))])).sort()}function o(a){let b=s(a,"protocolVersion")??s(a,"protocol")??s(s(a,"gateway"),"protocolVersion");return"number"==typeof b&&Number.isFinite(b)?String(b):t(b)}function p(a){return t(s(a,"authMode"))??t(s(s(a,"auth"),"mode"))??t(s(s(a,"security"),"authMode"))??t(s(s(a,"snapshot"),"authMode"))}function q(a){return t(s(a,"role"))??t(s(s(a,"auth"),"role"))??t(s(s(a,"security"),"role"))}function r(a){return Array.from(new Set([...u(s(a,"scopes")),...u(s(s(a,"auth"),"scopes")),...u(s(s(a,"security"),"scopes"))])).sort()}function s(a,b){return a&&"object"==typeof a?a[b]:void 0}function t(a){return"string"==typeof a&&a.trim()?a.trim():null}function u(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.trim().length>0).map(a=>a.trim()):[]}function v(a){return a instanceof Error?a.kind?`${a.kind}: ${a.message}`:a.message:String(a||"OpenClaw Gateway request failed.")}},25793:(a,b,c)=>{c.d(b,{Jw:()=>s,SI:()=>o,V9:()=>l,WU:()=>n,pY:()=>m,qv:()=>p,xZ:()=>q});var d=c(51455),e=c(48161),f=c.n(e),g=c(76760),h=c.n(g),i=c(27091),j=c(14414),k=c(96972);async function l(a,b,c,e){let f=e(a,b,c);if(!a.key?.endsWith(":main")||!a.agentId||!a.sessionId)return[f];let g=c.find(b=>b.id===a.agentId),h=b.find(b=>b.id===a.agentId),j=await n(a.agentId,a.sessionId,g?.workspace||h?.workspace);if(!j)return[f];try{let a=await (0,d.readFile)(j,"utf8"),b=o(a,f,g?.workspace||h?.workspace).filter(a=>!a.prompt.toLowerCase().startsWith("read heartbeat.md if it exists")),c=q(b);if(0===b.length)return[f];return b.slice(-6).reverse().map(a=>(function(a,b,c=b.toolNames){var d,e;let f,g=Date.parse(b.updatedAt),h=(d=b.prompt,e=a.agentId,(f=d.trim())&&(0,i.$m)(f,38)||`${B(e)} run`),j=b.warningSummary?z(`Completed with fallback: ${b.warningSummary}`,90):b.finalText?z(b.finalText,90):"stalled"===b.status?"Waiting for output":"Main session run";return{id:`runtime:${a.sessionId}:${b.id}`,source:"turn",key:`${a.key}:turn:${b.id}`,title:h,subtitle:j,status:b.status,updatedAt:Number.isNaN(g)?a.updatedAt:g,ageMs:Number.isNaN(g)?a.ageMs:Math.max(Date.now()-g,0),agentId:a.agentId,workspaceId:a.workspaceId,modelId:a.modelId,sessionId:a.sessionId,taskId:a.taskId,runId:b.runId||b.id,toolNames:c,tokenUsage:b.tokenUsage,metadata:{...a.metadata,turnId:b.id,turnPrompt:b.prompt,stage:"main.turn",historical:"running"!==b.status,createdFiles:b.createdFiles,warnings:b.warnings,warningSummary:b.warningSummary}}})(f,a,c))}catch{return[f]}}async function m(a,b){if("fallback"===b.mode){var c;let b;return c=a,b=new Date().toISOString(),{runtimeId:c.id,sessionId:c.sessionId,taskId:c.taskId,status:"available",finalText:"Fallback mode is active. Connect a real OpenClaw gateway to inspect live runtime output.",finalTimestamp:b,stopReason:"fallback",errorMessage:null,items:[{id:`${c.id}:fallback`,role:"assistant",timestamp:b,text:"Fallback mode is active. Connect a real OpenClaw gateway to inspect live runtime output.",stopReason:"fallback",isError:!1}],createdFiles:[],warnings:[],warningSummary:null}}if(!a.sessionId||!a.agentId)return r(a,t(a,"This runtime does not expose a session transcript yet."));let e=b.agents.find(b=>b.id===a.agentId),f=await n(a.agentId,a.sessionId,e?.workspacePath);if(!f)return r(a,t(a,"No transcript file was found for this runtime session."));try{let b=await (0,d.readFile)(f,"utf8");return s(a,b,e?.workspacePath)}catch(b){return{runtimeId:a.id,sessionId:a.sessionId,taskId:a.taskId,status:"error",finalText:null,finalTimestamp:null,stopReason:null,errorMessage:b instanceof Error?b.message:"Unable to read runtime transcript.",items:[],createdFiles:[],warnings:[],warningSummary:null}}}async function n(a,b,c){for(let e of[h().join(f().homedir(),".openclaw","agents",a,"sessions",`${b}.jsonl`),c?h().join(c,".openclaw","agents",a,"sessions",`${b}.jsonl`):null].filter(Boolean))try{return await (0,d.access)(e),e}catch{continue}let e=await x(a,b,c);return e||null}function o(a,b,c){let d=a.split(/\r?\n/).filter(Boolean),e=[],f=c,g=null;for(let a of d)try{var h,i,j;let c=JSON.parse(a);if("session"===c.type&&"string"==typeof c.cwd&&c.cwd.trim()){f=c.cwd.trim();continue}if("custom"===c.type&&"openclaw:prompt-error"===c.customType&&g){g.runId||=c.data?.runId,g.updatedAt=c.timestamp||g.updatedAt,g.errorMessage||=c.data?.error||null;continue}if("message"!==c.type||!c.message?.role)continue;let d=c.message.role;if("assistant"!==d&&"toolResult"!==d&&"user"!==d)continue;let k=function(a=[]){return"string"==typeof a?a.trim():Array.isArray(a)?a.flatMap(a=>{if(("text"===a.type||"output_text"===a.type)&&a.text)return[a.text];if("toolResult"===a.type){var b;let c=(b=a.content,("string"==typeof b?b.trim()||null:Array.isArray(b)&&b.flatMap(a=>"string"==typeof a?[a]:a&&"object"==typeof a?"text"in a&&"string"==typeof a.text?[a.text]:"content"in a&&"string"==typeof a.content?[a.content]:[]:[]).join("\n\n").trim()||null)||a.text);return c?[c]:[]}return[]}).join("\n\n").trim():""}(c.message.content),l=c.message.errorMessage??null,m=function(a,b,c,d){if("toolResult"!==a||!0===b.isError||d)return null;let e=b.details?.exitCode;if("number"!=typeof e||0===e)return null;let f=(b.details?.aggregated||c).split(/\r?\n/).map(a=>a.trim()).filter(Boolean).filter(a=>!/^\(Command exited with code \d+\)$/i.test(a));return z((f.find(a=>!a.startsWith("[WARNING]"))||f.find(a=>a.startsWith("[WARNING]"))||`${b.toolName||"tool"} exited with code ${e}`).replace(/^\[WARNING\]\s*/i,"").trim()||`${b.toolName||"tool"} exited with code ${e}`,160)}(d,c.message,k,l),n="assistant"===d?function(a){if(!Array.isArray(a))return null;let b=a.find(a=>"toolCall"===a.type&&"string"==typeof a.name);return b&&"string"==typeof b.name&&b.name.trim()?{id:"string"==typeof b.id?b.id:null,name:b.name.trim(),arguments:b.arguments}:null}(c.message.content):null,o="assistant"===d&&n&&!k?"toolCall":d,p=k||l||(n?`Called ${n.name}`:"");if(!p&&!("assistant"===d&&(h=c.message.content,Array.isArray(h)&&h.some(a=>"toolCall"===a.type))||"toolResult"===d&&"string"==typeof c.message.toolName&&c.message.toolName.trim()))continue;let q={id:c.id||`${d}-${Date.now()}`,role:o,timestamp:function(a){let b=a.message?.timestamp;if("number"==typeof b&&Number.isFinite(b))return new Date(b).toISOString();if("string"==typeof b&&b.trim()){let a=Date.parse(b);if(!Number.isNaN(a))return new Date(a).toISOString()}return a.timestamp||null}(c)||new Date().toISOString(),text:p,toolName:"toolCall"===o?n?.name:"toolResult"===d?c.message.toolName?.trim()||A(k):void 0,stopReason:"assistant"===d?c.message.stopReason??null:null,errorMessage:l,isWarning:!!m,isError:!!l||!0===c.message.isError||"error"===c.message.stopReason||"aborted"===c.message.stopReason};if("user"===d){g&&e.push(v(g)),g={id:c.id||`turn-${e.length}`,prompt:q.text.replace(/^Sender \(untrusted metadata\):[\s\S]*?```[\s\S]*?```\s*/i,"").replace(/^\[[^\]]+\]\s*/i,"").replace(/\s+/g," ").trim(),sessionId:b.sessionId,runId:void 0,timestamp:q.timestamp,updatedAt:q.timestamp,items:[q],tokenUsage:void 0,errorMessage:null,createdFiles:[],warnings:[],toolNames:[],pendingCreatedFiles:new Map,pendingToolNames:new Set};continue}if(!g)continue;if("assistant"===d&&Array.isArray(c.message.content)){for(let a of c.message.content)if("toolCall"===a.type)for(let b of("string"==typeof a.name&&a.name.trim()&&g.pendingToolNames.add(a.name.trim()),function(a,b){if("write"===a.type||"write"===a.name){let c="string"==typeof a.arguments?.path?a.arguments.path.trim():"",d=c?w(c,b):null;return d?[d]:[]}return"apply_patch"===a.name&&Array.isArray(a.arguments?.changes)?a.arguments.changes.flatMap(a=>{if(!a||"object"!=typeof a)return[];let c="path"in a&&"string"==typeof a.path?a.path.trim():"",d=c?w(c,b):null;return d?[d]:[]}):[]}(a,f)))g.pendingCreatedFiles.set(a.id||`${c.id||"toolCall"}:${b.path}`,b)}if(g.items.push(q),g.updatedAt=q.timestamp,g.errorMessage||=l,m&&!g.warnings.includes(m)&&g.warnings.push(m),"toolResult"===d&&!0!==c.message.isError&&("write"===c.message.toolName||"apply_patch"===c.message.toolName)&&"string"==typeof c.message.toolCallId){let a=g.pendingCreatedFiles.get(c.message.toolCallId);a&&(g.createdFiles.push(a),g.pendingCreatedFiles.delete(c.message.toolCallId))}if("toolResult"===d){let a=c.message.toolName?.trim()||A(q.text)?.trim()||null;a&&g.pendingToolNames.add(a)}if("assistant"===d&&c.message.usage){let a=c.message.usage;g.tokenUsage=(i=g.tokenUsage,j={input:a.input??a.prompt_tokens??0,output:a.output??a.completion_tokens??0,total:a.totalTokens??a.total_tokens??(a.input??a.prompt_tokens??0)+(a.output??a.completion_tokens??0),cacheRead:a.cacheRead??0},i?j.total>i.total?j:i:j)}}catch{continue}return g&&e.push(v(g)),e}function p(a,b){let c="string"==typeof a.metadata.dispatchSubmittedAt?Date.parse(a.metadata.dispatchSubmittedAt):NaN;return Number.isNaN(c)?b:b.filter(a=>{let b=Date.parse(a.updatedAt||a.timestamp);return!Number.isNaN(b)&&b>=c-1500})}function q(a){return y(a.flatMap(a=>a.toolNames))}function r(a,b){return{runtimeId:a.id,sessionId:a.sessionId,taskId:a.taskId,status:"missing",finalText:null,finalTimestamp:null,stopReason:null,errorMessage:b,items:[],createdFiles:[],warnings:[],warningSummary:null}}function s(a,b,c){let d=p(a,o(b,a,c));if("turn"===a.source){let b="string"==typeof a.metadata.turnId?a.metadata.turnId:null,c=b?d.find(a=>a.id===b):function(a,b){let c="string"==typeof a.metadata.mission?a.metadata.mission: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:()=>f,T$:()=>o,Y8:()=>l,bE:()=>g,qA:()=>m,vC:()=>n});var d=c(77598),e=c(27091);function f(a,b){let c=a.filter(a=>!function(a){var b,c;let d="string"==typeof a.metadata.origin?a.metadata.origin:null;if("mission-dispatch"===d)return!1;if("agent-chat"===d)return!0;if("string"==typeof a.metadata.dispatchId&&a.metadata.dispatchId.trim())return!1;let f=h(a)||("string"==typeof a.metadata.turnPrompt?a.metadata.turnPrompt:null);return!!("string"==typeof f&&(b=f,/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)))||(c=a,!(c.taskId?.trim()||c.runId?.trim()||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()||"string"==typeof c.metadata.runId&&c.metadata.runId.trim()||"string"==typeof c.metadata.bootstrapStage&&c.metadata.bootstrapStage.trim()||"string"==typeof c.metadata.dispatchStatus&&c.metadata.dispatchStatus.trim())&&!!("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,f=new Map(b.map(a=>{var b;return[a.id,(b=a).name.trim()||b.id]})),i=new Map(b.map(a=>[a.id,a.workspaceId])),j=function(a){let b=new Map;for(let c of a){let a=c.sessionId?.trim(),d="string"==typeof c.metadata.dispatchId?c.metadata.dispatchId.trim():"",e="string"==typeof c.metadata.dispatchSubmittedAt?Date.parse(c.metadata.dispatchSubmittedAt):NaN;if(!a||!d)continue;let f=`${c.agentId??"unknown"}:${a}`,g=b.get(f)??[];g.some(a=>a.dispatchId===d)||(g.push({dispatchId:d,submittedAt:Number.isNaN(e)?null:e}),g.sort((a,b)=>(a.submittedAt??-1/0)-(b.submittedAt??-1/0)),b.set(f,g))}return b}(c);for(let a of c){let b=function(a,b){let c=a.taskId?.trim(),d="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",e=h(a),f=a.sessionId?.trim(),g=f?b.get(`${a.agentId??"unknown"}:${f}`)??[]:[],i=a.updatedAt??0,j=g.filter(a=>null===a.submittedAt||i>=a.submittedAt-1500).sort((a,b)=>(b.submittedAt??-1/0)-(a.submittedAt??-1/0))[0]?.dispatchId??"";return d?`dispatch:${d}`:j?`dispatch:${j}`:c?`task:${c}`:e?`mission:${a.agentId??"unknown"}:${n(e)}`:f?`session:${f}`:`runtime:${a.id}`}(a,j),c=d.get(b)??[];c.push(a),d.set(b,c)}return Array.from(d.entries()).map(([a,b])=>g(a,b,f,i)).sort((a,b)=>(b.updatedAt??0)-(a.updatedAt??0))}function g(a,b,c,d=new Map){var f,r,s;let t,u=[...b].sort(q),v=function(a){let b=a.filter(a=>"turn"===a.source||"string"==typeof a.metadata.turnId);if(b.length>0)return b;let c=a.filter(a=>"string"==typeof a.metadata.dispatchId||"string"==typeof a.metadata.bootstrapStage);return c.length>0?c:a}(u),w=[...v].sort((a,b)=>i(b)-i(a))[0]??v[0]??u[0],x=h(w)||u.map(a=>h(a)).find(Boolean)||null,y=function(a){for(let b of a){let a="string"==typeof b.metadata.routedMission?b.metadata.routedMission.trim():"";if(a)return a}return null}(u),z=function(a){let b=[...a.filter(a=>{var b;return(!!("string"==typeof(b=a).metadata.dispatchId&&b.metadata.dispatchId.trim())||!!h(b))&&!k(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=>!k(a)&&("completed"===a.status||"stalled"===a.status||"cancelled"===a.status)),...a.filter(a=>!k(a))],c=new Set;for(let a of b){if(c.has(a.id))continue;c.add(a.id);let b=a.subtitle?.trim();if(b&&function(a){let b=a.replace(/\s+/g," ").trim().toLowerCase();return!!b&&"sessions.changed"!==b&&"session.message"!==b}(b))return b}return null}(u),A=z||v.map(a=>a.subtitle?.trim()).find(a=>!!a)||u.map(a=>a.subtitle?.trim()).find(a=>!!a)||"Awaiting OpenClaw updates.",B=o(u.flatMap(a=>l(a)).concat(u.flatMap(a=>(function(a){if("string"!=typeof a||0===a.trim().length)return[];let b=[...a.matchAll(/(?:^|[\s:])((?:\/[^\s`),;]+)+\.[A-Za-z0-9][A-Za-z0-9._-]*)/g),...a.matchAll(/(?:^|[\s(])((?:\.{1,2}\/)?deliverables\/[^\s`),;]+)/g),...a.matchAll(/\]\(((?:\/|\.{1,2}\/|deliverables\/)[^)]+)\)/g),...a.matchAll(/`((?:\/|\.{1,2}\/|deliverables\/)[^`\n]+)`/g)],c=[];for(let a of b){let b=(a[1]||"").trim();b&&function(a){let b=a.trim().replace(/[`'")\],;]+$/g,"");return!(!b||b.endsWith("/"))&&(b.split("/").pop()||"").includes(".")}(b)&&c.push({path:b,displayPath:b})}return o(c)})(a.subtitle)))),C=p(u.flatMap(a=>m(a))),D=function(a){let b=(function(a){let b=new Set,c=[];for(let d of a){if(!d.tokenUsage)continue;let a=function(a){let b="string"==typeof a.metadata.dispatchId?a.metadata.dispatchId.trim():"",c=a.tokenUsage??{input:0,output:0,total:0,cacheRead:0};return[b||a.runId||a.sessionId||a.id,b?"":a.sessionId??"",c.input,c.output,c.total,c.cacheRead??0].join(":")}(d);b.has(a)||(b.add(a),c.push(d))}return c})(a).filter(a=>a.tokenUsage);if(0!==b.length)return b.reduce((a,b)=>({input:a.input+(b.tokenUsage?.input??0),output:a.output+(b.tokenUsage?.output??0),total:a.total+(b.tokenUsage?.total??0),cacheRead:(a.cacheRead??0)+(b.tokenUsage?.cacheRead??0)}),{input:0,output:0,total:0,cacheRead:0})}(u),E=p(u.flatMap(a=>a.agentId?[a.agentId]:[])),F=p(u.flatMap(a=>a.sessionId?[a.sessionId]:[])),G=p(u.flatMap(a=>a.runId?[a.runId]:[])),H=u.filter(a=>"string"==typeof a.metadata.turnId||!0===a.metadata.recoveredFromObservation).length,I=(t=u.map(a=>"string"==typeof a.metadata.dispatchStatus?a.metadata.dispatchStatus.trim():"").filter(Boolean)).includes("cancelled")?"cancelled":t.includes("stalled")?"stalled":t.includes("completed")?"completed":t.includes("running")?"running":t.includes("queued")?"queued":null,J=w?.agentId||E[0],K=J?c.get(J)??null:null,L=function(a,b,c,d){let e=a.map(a=>a.workspaceId?.trim()).find(a=>!!a);if(e)return e;for(let a of p([b,...c].filter(Boolean))){let b=d.get(a)?.trim();if(b)return b}}(u,J,E,d),M=u[0]??null;return{id:(f=a,`task:${n(f)}`),key:a,title:(0,e.$m)(x||w?.title||"Untitled task",52)||"Untitled task",mission:x,subtitle:A,status:function(a,b=null){return b&&j(b)?b:a.some(a=>"running"===a.status)?"running":a.some(a=>"cancelled"===a.status)?"cancelled":a.some(a=>"queued"===a.status)?"queued":a.some(a=>"stalled"===a.status)?"stalled":a.some(a=>"idle"===a.status)?"idle":a[0]?.status??"completed"}(u,I),updatedAt:M?.updatedAt??null,ageMs:M?.ageMs??null,workspaceId:L,primaryAgentId:J,primaryAgentName:K,primaryRuntimeId:w?.id,dispatchId:function(a){for(let b of a)if("string"==typeof b.metadata.dispatchId&&b.metadata.dispatchId.trim())return b.metadata.dispatchId.trim()}(u),runtimeIds:u.map(a=>a.id),agentIds:E,sessionIds:F,runIds:G,runtimeCount:u.length,updateCount:v.filter(a=>"turn"===a.source).length,liveRunCount:(r=u,(s=I)&&j(s)?0:r.filter(a=>"running"===a.status||"queued"===a.status).length),artifactCount:B.length,warningCount:C.length,tokenUsage:D,metadata:{mission:x,routedMission:y,resultPreview:z,turnCount:H,sessionCount:F.length,primaryRuntimeSource:w?.source??null,bootstrapStage:"string"==typeof w?.metadata.bootstrapStage?w.metadata.bootstrapStage:null,dispatchStatus:I??("string"==typeof w?.metadata.dispatchStatus?w.metadata.dispatchStatus:null),dispatchSubmittedAt:"string"==typeof w?.metadata.dispatchSubmittedAt?w.metadata.dispatchSubmittedAt:null,dispatchRunnerStartedAt:"string"==typeof w?.metadata.dispatchRunnerStartedAt?w.metadata.dispatchRunnerStartedAt:null,dispatchHeartbeatAt:"string"==typeof w?.metadata.dispatchHeartbeatAt?w.metadata.dispatchHeartbeatAt:null,dispatchObservedAt:"string"==typeof w?.metadata.dispatchObservedAt?w.metadata.dispatchObservedAt:null,outputDir:"string"==typeof w?.metadata.outputDir?w.metadata.outputDir:null,outputDirRelative:"string"==typeof w?.metadata.outputDirRelative?w.metadata.outputDirRelative:null}}}function h(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 i(a){return 8*!!h(a)+6*("string"==typeof a.metadata.dispatchId)+("turn"===a.source?6:"session"===a.source?4:2)+("running"===a.status?3:"queued"===a.status?2:"cancelled"===a.status||"stalled"===a.status?3:"idle"===a.status?2:1)}function j(a){return"completed"===a||"stalled"===a||"cancelled"===a}function k(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 l(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 m(a){let b=a.metadata.warnings;return Array.isArray(b)?b.filter(a=>"string"==typeof a&&a.trim().length>0):[]}function n(a){return(0,d.createHash)("sha1").update(a).digest("hex").slice(0,12)}function o(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 p(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 q(a,b){return(b.updatedAt??0)-(a.updatedAt??0)}},35456:(a,b,c)=>{c.d(b,{Az:()=>s,FU:()=>m,In:()=>z,SK:()=>v,Yt:()=>r,Zm:()=>l,bC:()=>y,fj:()=>t,go:()=>w,lY:()=>x,qB:()=>n,tl:()=>p,ul:()=>u,wL:()=>o,wi:()=>q});var d=c(51455),e=c(48161),f=c.n(e),g=c(76760),h=c.n(g),i=c(49922);let j=h().join(process.cwd(),".mission-control"),k=h().join(j,"settings.json");function l(a){let b,c=a?.trim();if(!c)return null;let d=/^[a-z][a-z0-9+.-]*:\/\//i.test(c)?c:`ws://${c}`;try{b=new URL(d)}catch{throw Error("Gateway address must be a valid WebSocket URL.")}if("ws:"!==b.protocol&&"wss:"!==b.protocol)throw Error("Gateway address must start with ws:// or wss://.");if(!b.hostname)throw Error("Gateway address must include a hostname.");return b.toString().replace(/\/$/,"")}function m(a){let b=a?.trim();if(!b)return null;if("~"!==b&&!b.startsWith("~/")&&!h().isAbsolute(b))throw Error("Workspace root must be an absolute path or start with ~/.");return n(b)}function n(a){var b;let c=a?.trim();if(!c)return;let d="~"===(b=c)?f().homedir():b.startsWith("~/")?h().join(f().homedir(),b.slice(2)):b,e=h().normalize(d);return e.length>1?e.replace(/[\\/]+$/,""):e}async function o(){return n((await p()).workspaceRoot)??null}async function p(){let a;try{a=await (0,d.readFile)(k,"utf8")}catch(a){if("ENOENT"===("object"==typeof a&&a&&"code"in a?a.code:void 0))return{};throw a}try{let b=JSON.parse(a),c="string"==typeof b.workspaceRoot?n(b.workspaceRoot):void 0,d=function(a){if(!a||"object"!=typeof a)return;let b=Object.entries("smokeTests"in a&&a.smokeTests&&"object"==typeof a.smokeTests?a.smokeTests:{}).reduce((a,[b,c])=>{if(!c||"object"!=typeof c)return a;let d="string"==typeof c.checkedAt?c.checkedAt:null,e="passed"===c.status||"failed"===c.status?c.status:null;return d&&e&&(a[b]={status:e,checkedAt:d,..."string"==typeof c.runId?{runId:c.runId}:{},..."string"==typeof c.summary?{summary:c.summary}:{},..."string"==typeof c.error?{error:E(c.error)??c.error}:{}}),a},{});return Object.keys(b).length>0?{smokeTests:b}:void 0}("object"==typeof b.runtimePreflight&&b.runtimePreflight?b.runtimePreflight:void 0),e=B(b.compatibilitySmokeTest);return{...c?{workspaceRoot:c}:{},...d?{runtimePreflight:d}:{},...e?{compatibilitySmokeTest:e}:{}}}catch{return{}}}async function q(a){await (0,d.mkdir)(j,{recursive:!0}),await (0,d.writeFile)(k,`${JSON.stringify(a,null,2)}
|
|
136
|
+
`,"utf8")}function r(a,b){return a.runtimePreflight?.smokeTests?.[b]??null}function s(a,b){return!b||!a||F(b)?{status:"not-run",checkedAt:null,agentId:null,runId:null,summary:null,error:null}:{status:b.status,checkedAt:b.checkedAt,agentId:a,runId:b.runId??null,summary:b.summary??null,error:E(b.error??null)}}function t(a){let b=A(a)[0];return s(b?.[0]??null,b?.[1]??null)}function u(a){return a.compatibilitySmokeTest??null}function v(a){if(!a||"passed"!==a.status)return!1;let b=Date.parse(a.checkedAt);return Number.isFinite(b)&&Date.now()-b<=432e5}async function w(a){let b=await p(),c={...b.runtimePreflight?.smokeTests??{}};a.agentId&&"not-run"!==a.status&&a.checkedAt&&(c[a.agentId]={status:a.status,checkedAt:a.checkedAt,...a.runId?{runId:a.runId}:{},...a.summary?{summary:a.summary}:{},...a.error?{error:a.error}:{}},await q({...b,runtimePreflight:{smokeTests:c}}))}async function x(a){let b=await p();await q({...b,compatibilitySmokeTest:B(a)??a})}async function y(){let a=await p(),b=a.runtimePreflight?.smokeTests??{},c=Object.fromEntries(Object.entries(b).filter(([,a])=>!("failed"===a.status&&(0,i.YG)(a.error??""))));if(Object.keys(c).length===Object.keys(b).length)return!1;let d={...a};return Object.keys(c).length>0?d.runtimePreflight={smokeTests:c}:delete d.runtimePreflight,await q(d),!0}function z(a){let b=A(a).find(([,a])=>"failed"===a.status&&(0,i.YG)(a.error??"")&&!F(a));return b?.[1]??null}function A(a){return Object.entries(a.runtimePreflight?.smokeTests??{}).sort((a,b)=>{let c=Date.parse(a[1].checkedAt);return Date.parse(b[1].checkedAt)-c})}function B(a){var b;if(!a||"object"!=typeof a)return;let c="compatible"===(b=a.status)||"degraded"===b||"incompatible"===b||"unknown"===b?b:null,d="string"==typeof a.checkedAt&&a.checkedAt.trim()?a.checkedAt:null,e=function(a){if(!a||"object"!=typeof a)return null;let b=a.agentOsSupportedProtocolRange&&"object"==typeof a.agentOsSupportedProtocolRange?a.agentOsSupportedProtocolRange:null,c="number"==typeof b?.min&&Number.isFinite(b.min)?b.min:null,d="number"==typeof b?.max&&Number.isFinite(b.max)?b.max:null;return null===c||null===d?null:{installedVersion:D(a.installedVersion),requiredOpenClawVersion:D(a.requiredOpenClawVersion),recommendedOpenClawVersion:D(a.recommendedOpenClawVersion),gatewayProtocolVersion:D(a.gatewayProtocolVersion),requiredGatewayProtocolVersion:D(a.requiredGatewayProtocolVersion)??"4",agentOsSupportedProtocolRange:{min:c,max:d},nodeVersion:D(a.nodeVersion),nodeRequiredVersion:D(a.nodeRequiredVersion)??"22.19.0",nodeRecommendedVersion:D(a.nodeRecommendedVersion)??"24.x",nodeStatus:"supported"===a.nodeStatus||"unsupported"===a.nodeStatus||"unknown"===a.nodeStatus?a.nodeStatus:"unknown",gatewayAuthStatus:D(a.gatewayAuthStatus)??"Unknown",nativeGatewayStatus:D(a.nativeGatewayStatus)??"Unknown",cliFallbackUsageCount:"number"==typeof a.cliFallbackUsageCount&&Number.isFinite(a.cliFallbackUsageCount)?Math.max(0,a.cliFallbackUsageCount):0,lastNativeError:D(a.lastNativeError),lastFallbackReason:D(a.lastFallbackReason),modelReady:"boolean"==typeof a.modelReady?a.modelReady:null}}(a.compatibility);if(!c||!d||!e)return;let f="number"==typeof a.durationMs&&Number.isFinite(a.durationMs)?Math.max(0,a.durationMs):0,g=!0===a.safeToDispatchMissions;return{status:c,checkedAt:d,durationMs:f,safeToDispatchMissions:g,recovery:"string"==typeof a.recovery&&a.recovery.trim()?a.recovery.trim():"Review OpenClaw compatibility diagnostics, then rerun the smoke test.",checks:Array.isArray(a.checks)?a.checks.map(C).filter(a=>!!a):[],compatibility:e}}function C(a){var b;if(!a||"object"!=typeof a)return null;let c="pass"===(b=a.status)||"warning"===b||"fail"===b?b:null,d="string"==typeof a.id&&a.id.trim()?a.id.trim():null,e="string"==typeof a.label&&a.label.trim()?a.label.trim():null,f="string"==typeof a.summary&&a.summary.trim()?a.summary.trim():null;return d&&e&&c&&f?{id:d,label:e,status:c,required:!0===a.required,summary:f,recovery:"string"==typeof a.recovery&&a.recovery.trim()?a.recovery.trim():null,durationMs:"number"==typeof a.durationMs&&Number.isFinite(a.durationMs)?Math.max(0,a.durationMs):0,...void 0!==a.rawDetails?{rawDetails:a.rawDetails}:{}}:null}function D(a){return"string"==typeof a&&a.trim()?a.trim():null}function E(a){return a?(0,i.YG)(a)?(0,i.ox)((0,i.MF)("openclaw")):a:null}function F(a){if("failed"!==a.status||!(0,i.YG)(a.error??""))return!1;let b=Date.parse(a.checkedAt);return Number.isFinite(b)&&Date.now()-b>3e5}},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)}
|
|
127
137
|
`,"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(26516)},39802:(a,b,c)=>{function d(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function e(a){let[b,c,e,f]=a.trim().split(":");return("channel"===b||"thread"===b||"role"===b)&&d(e)?{kind:b,guildId:c&&"_"!==c?d(c):null,targetId:d(e),parentId:"thread"===b?d(f):null}:null}c.d(b,{S:()=>e})},49922:(a,b,c)=>{function d(a){let b=a.trim();return/OAuth token refresh failed for openai-codex/i.test(b)||/OpenAI Codex token refresh failed\s*\(401\)/i.test(b)||/refresh token has already been used to generate a new access token/i.test(b)}function e(a){let b;return d(a)||(b=a.trim(),/Your ChatGPT\/Codex session has expired/i.test(b)&&/models auth login --provider openai-codex/i.test(b))}function f(a){return/OpenClaw command timed out after \d+ seconds|Command exceeded \d+ seconds/i.test(a)}function g(a){return`Your ChatGPT/Codex session has expired. Reconnect ChatGPT, then retry model discovery or runtime verification. Run: ${a}`}function h(a){var b;return`${b=a,/^[a-zA-Z0-9_./:@%+=,-]+$/.test(b)?b:`'${b.replaceAll("'","'\\''")}'`} models auth login --provider openai-codex --set-default`}c.d(b,{Bd:()=>d,Lw:()=>f,MF:()=>h,YG:()=>e,ox:()=>g})},54252:(a,b,c)=>{c.d(b,{u:()=>j});var d=c(51455),e=c(76760),f=c.n(e),g=c(66058),h=c(58889),i=c(15612);async function j(a){let b=await (0,h.OL)(a),c=b.name??f().basename(a),e=b.template?(0,i.hh)(b.template).label:"Workspace",j=b.sourceMode??"empty",k=b.rules??{workspaceOnly:!0},l=(0,g.EB)(b.agents),m=f().join(a,"AGENTS.md"),n="";try{n=await (0,d.readFile)(m,"utf8")}catch{n=(0,g.jR)({name:c,templateLabel:e,sourceMode:j,workspaceOnly:!!k.workspaceOnly,agents:b.agents})}let o=(0,g.LP)(n,"Team",l,"Workspace"),p=(0,g.Jy)(o,b.agents),q=(0,g.LP)(o,"Agent Roles",p,"Team"),r=(0,g.Be)(q);r!==n&&(await (0,d.mkdir)(f().dirname(m),{recursive:!0}),await (0,d.writeFile)(m,r,"utf8"))}},56763:(a,b,c)=>{c.d(b,{Em:()=>h,Jb:()=>g,wz:()=>i});var d=c(77598),e=c(39503),f=c(70016);async function g(a=1e4){try{let b=await (0,e.rw)().getRuntimeSnapshot({includeSessions:!0,includeTasks:!0,includeArtifacts:!0,limit:500},{timeoutMs:a});return{status:"fulfilled",value:b}}catch(a){return{status:"rejected",reason:a}}}function h(a,b){return v(a)?[...p(a.runtimes).flatMap(a=>(function(a,b){var c;let d=r(a.id)??r(a.runtimeId),e=r(a.key)??r(a.sessionKey)??r(a.taskId)??d,f=r(a.title),g=r(a.subtitle)??r(a.summary)??r(a.message);if(!d||!e||!f||!g)return[];let h=u(a.updatedAt??a.timestamp??a.ts),i=r(a.agentId)??w(e),m=r(a.workspaceId)??n(i,b);return[{id:d,source:"session"===(c=r(a.source))||"cron"===c||"turn"===c?c:"turn",key:e,title:f,subtitle:g,status:j(r(a.status)??""),updatedAt:h,ageMs:t(a.ageMs)??(h?Math.max(0,Date.now()-h):null),agentId:i??void 0,workspaceId:m??void 0,modelId:r(a.modelId)??r(a.model)??void 0,sessionId:r(a.sessionId)??void 0,taskId:r(a.taskId)??void 0,runId:r(a.runId)??void 0,toolNames:k(a),tokenUsage:l(a),metadata:{...v(a.metadata)?a.metadata:{},origin:"openclaw-runtime-snapshot",gatewayObjectKind:"runtime"}}]})(a,b)),...p(a.sessions).flatMap(a=>(function(a,b){let c=r(a.agentId)??w(r(a.key)??r(a.sessionKey)),d=r(a.key)??r(a.sessionKey)??(c?`agent:${c}:main`:r(a.sessionId));if(!d&&!c)return[];let e={agentId:c??void 0,key:d??void 0,sessionId:r(a.sessionId)??r(a.id)??void 0,updatedAt:u(a.updatedAt??a.timestamp??a.ts),ageMs:t(a.ageMs)??void 0,inputTokens:t(a.inputTokens),outputTokens:t(a.outputTokens),cacheRead:t(a.cacheRead),totalTokens:t(a.totalTokens),model:r(a.model)??r(a.modelId)??void 0,kind:r(a.kind)??"runtime",origin:"openclaw-runtime-snapshot",mission:r(a.mission)??r(a.prompt)??void 0,dispatchId:r(a.dispatchId)??void 0},g=(0,f.$Z)(e,b.agentConfig,b.agentsList,{resolveWorkspaceId:b.resolveWorkspaceId});return[{...g,id:r(a.runtimeId)??(0,f.kO)(e),title:r(a.title)??g.title,subtitle:r(a.summary)??r(a.message)??g.subtitle,status:j(r(a.status)??g.status),toolNames:k(a)??g.toolNames,metadata:{...g.metadata,origin:"openclaw-runtime-snapshot",gatewayObjectKind:"session",event:r(a.event)??null}}]})(a,b)),...p(a.tasks).flatMap(a=>(function(a,b){let c=r(a.taskId)??r(a.id),d=r(a.agentId)??r(a.assigneeAgentId);if(!c&&!d)return[];let e=u(a.updatedAt??a.timestamp??a.ts??a.createdAt),f=r(a.workspaceId)??o(r(a.workspace),b)??n(d,b),g=r(a.mission)??r(a.prompt)??r(a.title),h=m(p(a.artifacts));return[{id:r(a.runtimeId)??`runtime:gateway-task:${x(c,d)}`,source:"turn",key:c??`agent:${d}:task`,title:r(a.title)??"Gateway task",subtitle:r(a.summary)??r(a.message)??r(a.status)??"OpenClaw task update",status:j(r(a.status)??""),updatedAt:e,ageMs:t(a.ageMs)??(e?Math.max(0,Date.now()-e):null),agentId:d??void 0,workspaceId:f??void 0,modelId:r(a.model)??r(a.modelId)??void 0,sessionId:r(a.sessionId)??void 0,taskId:c??void 0,runId:r(a.runId)??void 0,toolNames:k(a),tokenUsage:l(a),metadata:{origin:"openclaw-runtime-snapshot",gatewayObjectKind:"task",taskId:c??null,mission:g,dispatchId:r(a.dispatchId)??null,createdFiles:h}}]})(a,b)),...p(a.artifacts).flatMap(a=>(function(a,b){let c=r(a.artifactId)??r(a.id),d=r(a.taskId),e=r(a.sessionId),f=r(a.agentId);if(!c&&!d&&!e)return[];let g=u(a.updatedAt??a.timestamp??a.ts??a.createdAt),h=m([a]),i=r(a.path)??r(a.name)??c??"artifact";return[{id:r(a.runtimeId)??`runtime:gateway-artifact:${x(c,d,e)}`,source:"turn",key:d??e??c??i,title:"Gateway artifact",subtitle:i,status:j(r(a.status)??"completed"),updatedAt:g,ageMs:t(a.ageMs)??(g?Math.max(0,Date.now()-g):null),agentId:f??void 0,workspaceId:r(a.workspaceId)??o(r(a.workspace),b)??n(f,b)??void 0,sessionId:e??void 0,taskId:d??void 0,runId:r(a.runId)??void 0,metadata:{origin:"openclaw-runtime-snapshot",gatewayObjectKind:"artifact",artifactId:c??null,createdFiles:h}}]})(a,b))]:[]}function i(a){let b=v(a.payload)?a.payload:{},c=r(a.event)??r(b.type)??"event",d=r(b.sessionKey)??r(b.key),e=r(b.agentId)??r(b.agent)??w(d),f=r(b.sessionId)??r(b.session)??d,g=r(b.runId)??r(b.run)??r(b.clientRunId),h=r(b.taskId)??r(q(b,"task")?.id),i=r(b.artifactId)??r(q(b,"artifact")?.id),l=u(b.timestamp??b.ts??b.updatedAt),n=j(r(b.status)??c),o=r(b.text)??r(b.message)??r(b.summary)??r(b.detail)??c,p=r(b.runtimeId)??`runtime:gateway:${x(e,f,g,h,i,c)}`;if(!e&&!f&&!g&&!h&&!i)return null;let s=m([b,q(b,"artifact")]);return{id:p,source:"turn",key:g||f||h||i||p,title:r(b.title)??(h?"Gateway task event":"Gateway runtime event"),subtitle:o,status:n,updatedAt:l,ageMs:l?Math.max(0,Date.now()-l):null,agentId:e??void 0,workspaceId:r(b.workspaceId)??void 0,sessionId:f??void 0,taskId:h??void 0,runId:g??void 0,modelId:r(b.model)??r(b.modelId)??void 0,toolNames:k(b),metadata:{origin:"openclaw-gateway-event",event:c,channel:r(b.channel)??null,approvalId:r(b.approvalId)??null,artifactId:i??null,mission:r(b.mission)??r(b.prompt)??null,createdFiles:s}}}function j(a){return/complete|done|success|succeeded/i.test(a)?"completed":/cancel|abort/i.test(a)?"cancelled":/error|fail|stall/i.test(a)?"stalled":/queue|pending/i.test(a)?"queued":/idle/i.test(a)?"idle":"running"}function k(a){let b=[r(a.toolName),r(a.tool),...s(a.tools),...s(a.toolNames)].filter(a=>!!a);return b.length>0?Array.from(new Set(b)):void 0}function l(a){let b=v(a.tokenUsage)?a.tokenUsage:a,c=t(b.inputTokens)??t(b.input),d=t(b.outputTokens)??t(b.output),e=t(b.totalTokens)??t(b.total);if(void 0!==c||void 0!==d||void 0!==e)return{input:c??0,output:d??0,total:e??(c??0)+(d??0),cacheRead:t(b.cacheRead)??0}}function m(a){let b=[];for(let c of a){if(!c)continue;let a=r(c.path)??r(c.filePath)??r(c.uri),d=r(c.displayPath)??r(c.name)??a;a&&d&&b.push({path:a,displayPath:d})}var c=b;let d=new Set,e=[];for(let a of c)d.has(a.path)||(d.add(a.path),e.push(a));return e}function n(a,b){if(!a)return null;let c=b.agentsList.find(b=>b.id===a),d=b.agentConfig.find(b=>b.id===a);return o(c?.workspace||d?.workspace,b)}function o(a,b){return a?b.resolveWorkspaceId?.(a):null}function p(a){return Array.isArray(a)?a.filter(a=>v(a)):[]}function q(a,b){let c=a[b];return v(c)?c:null}function r(a){return"string"==typeof a&&a.trim()?a.trim():null}function s(a){return Array.isArray(a)?a.map(r).filter(a=>!!a):[]}function t(a){return"number"==typeof a&&Number.isFinite(a)?a:void 0}function u(a){if("number"==typeof a&&Number.isFinite(a))return a<1e10?1e3*a:a;if("string"==typeof a){let b=Date.parse(a);return Number.isNaN(b)?Date.now():b}return Date.now()}function v(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function w(a){if(!a?.startsWith("agent:"))return null;let[,b]=a.split(":");return b||null}function x(...a){let b=a.filter(Boolean).join(":")||String(Date.now());return(0,d.createHash)("sha1").update(b).digest("hex").slice(0,12)}},57419:(a,b,c)=>{c.d(b,{L:()=>e});var d=c(9443);async function e(a,b){var c,e,j;let m,n=b.workspaceBootstrapProfile??await (0,d.xL)(a,b.template,b.rules),o=n.contextManifest,p=new Map(n.workspaceSections),q=[...n.workspaceSources],r=function(a,b){if(!a)return[];let c=b.trim().toLowerCase(),d=a.findIndex(a=>!!/^###\s+/.test(a)&&a.toLowerCase().includes(`\`${c}\``));if(-1===d)return[];let e=[];for(let b=d+1;b<a.length;b+=1){let c=a[b];if(/^###\s+/.test(c))break;e.push(c)}return e}(p.get("AGENTS.md"),b.agentId),s=i(r,"Role")??((m=g((c=p).get("docs/brief.md"),"Objective")??g(c.get("memory/blueprint.md"),"Outcome")??g(c.get("MEMORY.md"),"Current brief")??g(c.get("SOUL.md"),"My Purpose")??g(c.get("IDENTITY.md"),"Role")??g(c.get("AGENTS.md"),"Customize"))||null)??function({agentId:a,agentName:b,skills:c}){return c.length>0?`${b} specializes in ${c.join(", ")} workflows inside the attached workspace.`:/dev|build|coder|engineer/i.test(a)?`${b} is configured as a development-focused OpenClaw operator for this workspace.`:/review/i.test(a)?`${b} is configured to review work and surface quality risks for this workspace.`:/test/i.test(a)?`${b} is configured to validate behavior, testing, and runtime quality for this workspace.`:`${b} is a general-purpose OpenClaw operator attached to this workspace.`}({agentId:b.agentId,agentName:b.agentName,skills:b.configuredSkills}),t=(e=p,l([{file:"AGENTS.md",heading:"Safety defaults"},{file:"AGENTS.md",heading:"Daily memory"},{file:"AGENTS.md",heading:"Output"},{file:"SOUL.md",heading:"How I Operate"},{file:"TOOLS.md",heading:"Examples"},{file:"MEMORY.md",heading:"Stable facts"},{file:"memory/blueprint.md",heading:"Constraints"},{file:"memory/blueprint.md",heading:"Unknowns"},{file:"docs/brief.md",heading:"Success signals"},{file:"docs/brief.md",heading:"Open questions"},{file:"docs/architecture.md",heading:"Dependencies"},{file:"docs/architecture.md",heading:"Risks"},{file:"deliverables/README.md",heading:"Deliverables"},...o.resources.filter(a=>a.relativePath.startsWith("docs/")&&"docs/brief.md"!==a.relativePath&&"docs/architecture.md"!==a.relativePath).flatMap(a=>a.headings.map(b=>({file:a.relativePath,heading:b})))].flatMap(a=>h(e.get(a.file),a.heading)))).slice(0,8),u=l([...function(a,b){if(!a)return[];let c=a.find(a=>a.toLowerCase().includes(`**${b.toLowerCase()}:**`));if(!c)return[];let[,d=""]=c.split(":");return d.split(",").map(a=>k(a)).filter(Boolean)}(p.get("IDENTITY.md"),"Vibe"),...[i(j=r,"Role"),i(j,"Preset"),i(j,"File access")].filter(a=>!!a),...h(p.get("SOUL.md"),"My Quirks"),...h(p.get("SOUL.md"),"How I Operate")]).slice(0,6)||[],v=f(p.get("AGENTS.md"))??f(p.get("deliverables/README.md"))??(b.configuredTools.includes("fs.workspaceOnly")?"Prefer workspace-grounded output tied to real project files and artifacts.":null);return{purpose:s,operatingInstructions:t.length>0?t:b.configuredTools.includes("fs.workspaceOnly")?["Operate within the attached workspace and avoid spilling changes outside it."]:["No explicit operating instructions were found in workspace bootstrap files."],responseStyle:u,outputPreference:v,sourceFiles:q}}function f(a){if(!a)return null;let b=a.find(a=>/be concise in chat|write longer output to files|output/i.test(a));return b?k(b):null}function g(a,b){if(!a)return null;let c=a.findIndex(a=>j(a)===j(b));if(-1===c)return null;let d=[];for(let b=c+1;b<a.length;b+=1){let c=a[b].trim();if(!c){if(d.length>0)break;continue}if(/^#+\s+/.test(c)||/^[-*]\s+/.test(c)||(d.push(k(c)),d.length>=2))break}return d.length>0?d.join(" "):null}function h(a,b){if(!a)return[];let c=a.findIndex(a=>j(a)===j(b));if(-1===c)return[];let d=[];for(let b=c+1;b<a.length;b+=1){let c=a[b].trim();if(!c&&d.length>0||/^#+\s+/.test(c))break;if(/^[-*]\s+/.test(c)){d.push(k(c.replace(/^[-*]\s+/,"")));continue}if(d.length>0)break}return d}function i(a,b){if(!a)return null;let c=`- ${b}:`,d=a.find(a=>a.trim().toLowerCase().startsWith(c.toLowerCase()));return d?k(d.slice(c.length)):null}function j(a){return a.replace(/^#+\s+/,"").trim().toLowerCase()}function k(a){return a.replace(/[`*_>#-]/g,"").replace(/\s+/g," ").trim()}function l(a){return Array.from(new Set(a.filter(Boolean)))}},58889:(a,b,c)=>{c.d(b,{OL:()=>m,QO:()=>n,_E:()=>q,aW:()=>o,kf:()=>p,qc:()=>r});var d=c(51455),e=c(76760),f=c.n(e),g=c(93628),h=c(15612);function i(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function j(a){return Array.from(new Set(a.filter(Boolean)))}function k(a){return a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}function l(a){return"object"==typeof a&&null!==a}async function m(a){let b=f().join(a,".openclaw","project.json");try{var c,e,g,j,m;let a=await (0,d.readFile)(b,"utf8"),f=JSON.parse(a),n=l(f)?f:{},q=Array.isArray(n.agents)?n.agents.map(a=>o(a)).filter(a=>!!a):[],r=Array.isArray(n.channels)?n.channels.map(a=>{var b;return b=a,p(b)}).filter(a=>!!a):[],t=function(a){if(!l(a))return null;let b="boolean"==typeof a.workspaceOnly?a.workspaceOnly:null,c="boolean"==typeof a.generateStarterDocs?a.generateStarterDocs:null,d="boolean"==typeof a.generateMemory?a.generateMemory:null,e="boolean"==typeof a.kickoffMission?a.kickoffMission:null;return null===b&&null===c&&null===d&&null===e?null:{workspaceOnly:b??!0,generateStarterDocs:c??h.eY.generateStarterDocs,generateMemory:d??h.eY.generateMemory,kickoffMission:e??h.eY.kickoffMission}}(n.rules);return{name:"string"==typeof n.name?n.name:null,directory:"string"==typeof n.directory?n.directory:null,template:(c=n.template,"software"===c||"frontend"===c||"backend"===c||"research"===c||"content"===c)?n.template:null,sourceMode:(e=n.sourceMode,"empty"===e||"clone"===e||"existing"===e)?n.sourceMode:null,agentTemplate:"string"==typeof n.agentTemplate?n.agentTemplate:null,teamPreset:(g=n.teamPreset,"solo"===g||"core"===g||"custom"===g)?n.teamPreset:null,modelProfile:(j=n.modelProfile,"balanced"===j||"fast"===j||"quality"===j)?n.modelProfile:null,rules:t,hidden:!0===n.hidden,systemTag:"string"==typeof n.systemTag?n.systemTag:null,contextSources:(m=n.contextSources,Array.isArray(m)?m.flatMap(a=>{if(!l(a))return[];let b=s(a.kind)?a.kind:"prompt",c="string"==typeof a.label&&a.label.trim()?a.label.trim():b,d="string"==typeof a.summary&&a.summary.trim()?a.summary.trim():c;return[{id:"string"==typeof a.id&&a.id.trim()?a.id.trim():`${b}-${k(c)||"context"}`,kind:b,label:c,summary:d,details:Array.isArray(a.details)?a.details.filter(a=>"string"==typeof a):[],status:"error"===a.status?"error":"ready",createdAt:"string"==typeof a.createdAt?a.createdAt:new Date().toISOString(),confidence:"number"==typeof a.confidence?a.confidence:void 0,url:"string"==typeof a.url?a.url:void 0,error:"string"==typeof a.error?a.error:void 0}].flatMap(a=>{if(!a||"object"!=typeof a)return[];let b=s(a.kind)?a.kind:"prompt",c=i(a.label)??b,d=i(a.summary)??c,e="error"===a.status?"error":"ready",f=i(a.createdAt)??new Date().toISOString(),g=i(a.error),h=i(a.url);return c&&d?[{id:i(a.id)??`${b}-${k(c)||"context"}`,kind:b,label:c,summary:d,details:Array.isArray(a.details)?a.details.map(a=>i(a)??"").filter(a=>!!a):[],status:e,createdAt:f,..."number"==typeof a.confidence?{confidence:a.confidence}:{},...g?{error:g}:{},...h?{url:h}:{}}]:[]})}):[]),agents:q,channels:r}}catch{return{name:null,directory:null,template:null,sourceMode:null,agentTemplate:null,teamPreset:null,modelProfile:null,rules:null,hidden:!1,systemTag:null,contextSources:[],agents:[],channels:[]}}}async function n(a,b){let c=f().join(a,".openclaw","project.json"),e=new Set(Array.from(b).map(a=>i(a)).filter(a=>!!a));if(0===e.size)return m(a);try{let b=await (0,d.readFile)(c,"utf8"),g=JSON.parse(b),h=l(g)?g:{};if(!Array.isArray(h.agents))return m(a);let i=h.agents.map(a=>o(a)).filter(a=>!!a),j=i.filter(a=>e.has(a.id)),n=i.filter(a=>!e.has(a.id)).map(a=>a.id);if(j.length===i.length)return m(a);j.length>0&&!j.some(a=>a.isPrimary)&&(j[0]={...j[0],isPrimary:!0}),h.updatedAt=new Date().toISOString(),h.agents=j,await (0,d.writeFile)(c,`${JSON.stringify(h,null,2)}
|
|
128
138
|
`,"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}},65395:(a,b,c)=>{c.d(b,{W2:()=>e,a3:()=>f});let d=[{id:"openai-codex",label:"ChatGPT",shortLabel:"ChatGPT",description:"Connect your ChatGPT account and pull in Codex-ready models.",category:"primary",connectKind:"oauth",accent:"from-[#d8f5eb] via-[#ebfbf5] to-white",helperText:"Account-based login with the OpenClaw provider flow."},{id:"openrouter",label:"OpenRouter",shortLabel:"OpenRouter",description:"Add an API key, discover the full catalog, and curate the models you want.",category:"primary",connectKind:"apiKey",accent:"from-[#fff2d7] via-[#fff7ea] to-white",helperText:"Best for broad model access and curated remote routes.",searchPlaceholder:"Search OpenRouter models"},{id:"ollama",label:"Ollama Local",shortLabel:"Ollama",description:"Discover models already available on this machine and add them instantly.",category:"primary",connectKind:"local",accent:"from-[#deefff] via-[#f2f8ff] to-white",helperText:"Local-first discovery with helpful pull commands when empty."},{id:"anthropic",label:"Anthropic",shortLabel:"Anthropic",description:"Paste an API key and add Claude models through the same flow.",category:"other",connectKind:"apiKey",accent:"from-[#efe9ff] via-[#f7f3ff] to-white",helperText:"Simple API key connection."},{id:"openai",label:"OpenAI API",shortLabel:"OpenAI",description:"Connect a standard OpenAI API key for direct GPT model access.",category:"other",connectKind:"apiKey",accent:"from-[#e8f8e8] via-[#f4fbf4] to-white",helperText:"Use this for API-key-based OpenAI routing."},{id:"google",label:"Gemini",shortLabel:"Gemini",description:"Add a Gemini API key, discover Google models, and pick the routes you want.",category:"other",connectKind:"apiKey",accent:"from-[#e6f7ff] via-[#f4fbff] to-white",helperText:"Simple API key connection.",searchPlaceholder:"Search Gemini models"},{id:"deepseek",label:"DeepSeek",shortLabel:"DeepSeek",description:"Add a DeepSeek API key, discover the catalog, and add the models you need.",category:"other",connectKind:"apiKey",accent:"from-[#e7eeff] via-[#f4f7ff] to-white",helperText:"Simple API key connection.",searchPlaceholder:"Search DeepSeek models"},{id:"mistral",label:"Mistral",shortLabel:"Mistral",description:"Add a Mistral API key, discover Mistral and Codestral models, and curate your routes.",category:"other",connectKind:"apiKey",accent:"from-[#f2e8ff] via-[#fbf7ff] to-white",helperText:"Simple API key connection.",searchPlaceholder:"Search Mistral models"},{id:"xai",label:"xAI",shortLabel:"xAI",description:"Use an xAI API key to bring Grok models into AgentOS.",category:"other",connectKind:"apiKey",accent:"from-[#ffe6ea] via-[#fff3f5] to-white",helperText:"Simple API key connection."}];function e(a){let b=d.find(b=>b.id===a);if(!b)throw Error(`Unknown model provider: ${a}`);return b}function f(a){return"string"==typeof a&&d.some(b=>b.id===a)}d.filter(a=>"primary"===a.category),d.filter(a=>"other"===a.category)},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}
|
|
129
139
|
|