clawpad 0.4.8 → 0.4.10
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +9 -8
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +6 -0
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/ai/write/route.js +3 -1
- package/.next/standalone/.next/server/app/api/ai/write/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/record/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/revert/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/run/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/abort/route.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/abort/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/chat/abort/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/route.js +4 -4
- package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/pages/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/recent/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/spaces/[space]/pages/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/spaces/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/watch/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/config/route.js +2 -0
- package/.next/standalone/.next/server/app/api/gateway/config/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/gateway/config/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/gateway/detect/route.js +3 -1
- package/.next/standalone/.next/server/app/api/gateway/detect/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/events/route.js +3 -2
- package/.next/standalone/.next/server/app/api/gateway/events/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/gateway/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/features/route.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/features/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/gateway/features/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/history/route.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/gateway/history/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/resolve/route.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/resolve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/gateway/resolve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/sessions/route.js +2 -1
- package/.next/standalone/.next/server/app/api/gateway/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/gateway/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/status/route.js +3 -1
- package/.next/standalone/.next/server/app/api/gateway/status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/openclaw/commands/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/settings/search-status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/setup/bootstrap/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/setup/bootstrap-workspace/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/setup/status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/setup/trigger-onboarding/route.js +4 -3
- package/.next/standalone/.next/server/app/api/setup/trigger-onboarding/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/setup/trigger-onboarding/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/connection/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/connection.html +1 -1
- package/.next/standalone/.next/server/app/settings/connection.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/connection.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/connection.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/connection.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/connection.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/connection.segments/settings/connection/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/connection.segments/settings/connection.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/connection.segments/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/relay/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/relay.html +1 -1
- package/.next/standalone/.next/server/app/settings/relay.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/relay.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/relay.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/relay.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings/relay.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/relay.segments/settings/relay/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/relay.segments/settings/relay.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/relay.segments/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup.html +1 -1
- package/.next/standalone/.next/server/app/setup.rsc +3 -3
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/waitlist/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/waitlist.html +1 -1
- package/.next/standalone/.next/server/app/waitlist.rsc +3 -3
- package/.next/standalone/.next/server/app/waitlist.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/waitlist.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/waitlist.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/waitlist.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/waitlist.segments/waitlist/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/waitlist.segments/waitlist.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspace/search/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspace/search.html +2 -2
- package/.next/standalone/.next/server/app/workspace/search.rsc +4 -4
- package/.next/standalone/.next/server/app/workspace/search.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/workspace/search.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace/search.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/workspace/search.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace/search.segments/workspace/search/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace/search.segments/workspace/search.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace/search.segments/workspace.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspace.html +2 -2
- package/.next/standalone/.next/server/app/workspace.rsc +4 -4
- package/.next/standalone/.next/server/app/workspace.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/workspace.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace.segments/workspace.segment.rsc +2 -2
- package/.next/standalone/.next/server/app-paths-manifest.json +9 -8
- package/.next/standalone/.next/server/chunks/1210.js +2 -0
- package/.next/standalone/.next/server/chunks/2470.js +1 -1
- package/.next/standalone/.next/server/chunks/8349.js +2 -1
- package/.next/standalone/.next/server/chunks/8353.js +2 -0
- package/.next/standalone/.next/server/chunks/869.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/package.json +1 -1
- package/.next/static/1UGyv1hkNZ7yaspLRoDX6/_buildManifest.js +1 -0
- package/.next/static/chunks/7715-dcfe3906fda80aeb.js +1 -0
- package/.next/static/chunks/app/_global-error/page-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/ai/write/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/changes/[id]/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/changes/record/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/changes/revert/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/changes/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/changes/run/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/chat/abort/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/chat/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/files/pages/[...path]/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/files/recent/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/files/search/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/files/spaces/[space]/pages/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/files/spaces/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/files/watch/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/gateway/config/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/gateway/detect/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/gateway/events/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/gateway/features/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/gateway/history/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/gateway/resolve/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/gateway/sessions/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/gateway/status/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/openclaw/commands/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/search/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/settings/search-status/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/setup/bootstrap/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/setup/bootstrap-workspace/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/setup/status/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/setup/trigger-onboarding/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/api/version/route-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/layout-6fad2f96726e757a.js +1 -0
- package/.next/static/chunks/app/page-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/app/workspace/{layout-e5fdab2463c57ef5.js → layout-b16804a0ac89c67f.js} +3 -3
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-36151b7b39ce7e2d.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-36151b7b39ce7e2d.js +1 -0
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/3016.js +0 -1
- package/.next/static/IyziLDKBV9o-Gqa2_ws_6/_buildManifest.js +0 -1
- package/.next/static/chunks/7715-382cb4e3101fa7b2.js +0 -1
- package/.next/static/chunks/app/_global-error/page-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/ai/write/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/changes/[id]/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/changes/record/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/changes/revert/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/changes/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/changes/run/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/chat/abort/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/chat/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/files/pages/[...path]/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/files/recent/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/files/search/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/files/spaces/[space]/pages/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/files/spaces/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/files/watch/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/gateway/detect/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/gateway/events/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/gateway/features/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/gateway/history/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/gateway/resolve/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/gateway/sessions/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/gateway/status/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/openclaw/commands/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/search/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/settings/search-status/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/setup/bootstrap/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/setup/bootstrap-workspace/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/setup/status/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/setup/trigger-onboarding/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/api/version/route-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/app/layout-df1bcd23e841ae19.js +0 -1
- package/.next/static/chunks/app/page-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-1570b21ab640ec17.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-1570b21ab640ec17.js +0 -1
- /package/.next/static/{IyziLDKBV9o-Gqa2_ws_6 → 1UGyv1hkNZ7yaspLRoDX6}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
exports.id=2470,exports.ids=[2470],exports.modules={9062:(a,b,c)=>{"use strict";c.d(b,{Toaster:()=>l});var d=c(48249),e=c(49681),f=c(41160),g=c(31675),h=c(2276),i=c(40560),j=c(8696),k=c(90707);let l=({...a})=>{let{theme:b="system"}=(0,j.D)();return(0,d.jsx)(k.l$,{theme:b,className:"toaster group",icons:{success:(0,d.jsx)(e.A,{className:"size-4"}),info:(0,d.jsx)(f.A,{className:"size-4"}),warning:(0,d.jsx)(g.A,{className:"size-4"}),error:(0,d.jsx)(h.A,{className:"size-4"}),loading:(0,d.jsx)(i.A,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},...a})}},13482:(a,b,c)=>{"use strict";c.d(b,{b:()=>d});let d=(0,c(31417).v)(a=>({lastEvent:void 0,events:[],updatedAt:void 0,addEvent:b=>a(a=>{let c=function(a,b){if(b)return b;let c=(a??"").toLowerCase();if(c){if("failed"===c)return"error";if("sent"===c)return"alert";if(c.startsWith("ok"))return"ok"}}(b.status,b.indicatorType),d={...b,indicatorType:c,actionable:"alert"===c||"error"===c},e=[d,...a.events];return e.length>20&&(e.length=20),{lastEvent:d,events:e,updatedAt:Date.now()}}),clear:()=>a({lastEvent:void 0,events:[],updatedAt:void 0})}))},23535:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>n});var d=c(48249),e=c(8696),f=c(97638),g=c(5023),h=c(55296),i=c(67484),j=c(80405),k=c(97032),l=c(13482);function m(){return(0,k.z)(a=>a.detect),(0,k.z)(a=>a.connect),(0,j.e)(a=>a.addItem),(0,k.z)(a=>a.setWSStatus),(0,k.z)(a=>a.setAgentStatus),(0,l.b)(a=>a.addEvent),(0,i.useRef)(new Map),(0,i.useRef)(0),(0,i.useRef)(0),(0,i.useRef)(0),(0,j.e)(a=>a.addItem),(0,i.useRef)(null),(0,i.useRef)(new Set),(0,i.useRef)(!1),null}function n({children:a}){let[b]=(0,i.useState)(()=>new f.E({defaultOptions:{queries:{staleTime:6e4,refetchOnWindowFocus:!1}}}));return(0,d.jsx)(e.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,children:(0,d.jsx)(g.Ht,{client:b,children:(0,d.jsxs)(h.Bc,{delayDuration:300,children:[(0,d.jsx)(m,{}),a]})})})}c(98500),c(34351),c(88650)},27728:(a,b,c)=>{"use strict";c.d(b,{Toaster:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/clawpad/clawpad/src/components/ui/sonner.tsx","Toaster")},34351:(a,b,c)=>{"use strict";c.d(b,{W:()=>d});let d=(0,c(31417).v)((a,b)=>({sessionKey:null,activeRun:null,activeFiles:new Set,lastFileTouchAt:null,changeSets:[],review:{open:!1,changeSetId:null,filePath:null},dismissed:new Set,loading:!1,error:void 0,setSessionKey:b=>a({sessionKey:b}),setActiveRun:b=>a({activeRun:b,...b?{}:{lastFileTouchAt:null}}),touchFile:b=>a(a=>{let c=new Set(a.activeFiles);return c.add(b),{activeFiles:c,lastFileTouchAt:Date.now()}}),clearActiveFiles:()=>a({activeFiles:new Set,lastFileTouchAt:null}),loadChangeSets:async()=>{let c=b().sessionKey;if(c){a({loading:!0,error:void 0});try{let b=await fetch(`/api/changes?sessionKey=${encodeURIComponent(c)}`);if(!b.ok)throw Error("Failed to load change sets");let d=await b.json();a({changeSets:d,loading:!1})}catch(b){a({loading:!1,error:String(b)})}}},openReview:(b,c)=>a({review:{open:!0,changeSetId:b,filePath:c}}),closeReview:()=>a({review:{open:!1,changeSetId:null,filePath:null}}),dismissChangeSet:b=>a(a=>{let c=new Set(a.dismissed);return c.add(b),{dismissed:c}})}))},41044:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23))},41560:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23)),Promise.resolve().then(c.t.bind(c,15098,23)),Promise.resolve().then(c.t.bind(c,47644,23)),Promise.resolve().then(c.t.bind(c,33859,23)),Promise.resolve().then(c.t.bind(c,98099,23)),Promise.resolve().then(c.t.bind(c,16237,23)),Promise.resolve().then(c.t.bind(c,98562,23)),Promise.resolve().then(c.t.bind(c,36675,23))},42893:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(99314),e=c(96862);function f(...a){return(0,e.QP)((0,d.$)(a))}},51288:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23)),Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},55296:(a,b,c)=>{"use strict";c.d(b,{Bc:()=>g,ZI:()=>j,k$:()=>i,m_:()=>h});var d=c(48249);c(67484);var e=c(33159),f=c(42893);function g({delayDuration:a=0,...b}){return(0,d.jsx)(e.Provider,{"data-slot":"tooltip-provider",delayDuration:a,...b})}function h({...a}){return(0,d.jsx)(g,{children:(0,d.jsx)(e.Root,{"data-slot":"tooltip",...a})})}function i({...a}){return(0,d.jsx)(e.Trigger,{"data-slot":"tooltip-trigger",...a})}function j({className:a,sideOffset:b=0,children:c,...g}){return(0,d.jsx)(e.Portal,{children:(0,d.jsxs)(e.Content,{"data-slot":"tooltip-content",sideOffset:b,className:(0,f.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...g,children:[c,(0,d.jsx)(e.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},61135:()=>{},70440:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(88868);let e=async a=>[{type:"image/x-icon",sizes:"256x256",url:(0,d.fillMetadataSegment)(".",await a.params,"favicon.ico")+"?50c20623341a5f1c"}]},73736:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call Providers() from the server but Providers is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/clawpad/clawpad/src/components/providers.tsx","Providers")},76537:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>l,metadata:()=>k});var d=c(5735),e=c(64264),f=c.n(e),g=c(37936),h=c.n(g),i=c(73736),j=c(27728);c(61135);let k={title:"ClawPad",description:"The workspace for OpenClaw",icons:{icon:[{url:"/favicon.ico"},{url:"/favicon.png",type:"image/png"}],apple:"/brand/apple-touch-icon.png"}};function l({children:a}){return(0,d.jsx)("html",{lang:"en",suppressHydrationWarning:!0,className:`${h().variable} ${f().variable}`,children:(0,d.jsx)("body",{className:"font-sans antialiased",children:(0,d.jsxs)(i.Providers,{children:[a,(0,d.jsx)(j.Toaster,{})]})})})}},80405:(a,b,c)=>{"use strict";c.d(b,{e:()=>f});var d=c(31417);let e=0,f=(0,d.v)(a=>({items:[],addItem:b=>a(a=>({items:[{...b,id:`activity-${Date.now()}-${++e}`},...a.items].slice(0,20)})),clear:()=>a({items:[]})}))},88650:(a,b,c)=>{"use strict";c.d(b,{Sz:()=>d,ke:()=>e});let d="__root__",e="General"},88939:(a,b,c)=>{Promise.resolve().then(c.bind(c,23535)),Promise.resolve().then(c.bind(c,9062))},93780:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23))},94515:(a,b,c)=>{Promise.resolve().then(c.bind(c,73736)),Promise.resolve().then(c.bind(c,27728))},97032:(a,b,c)=>{"use strict";c.d(b,{z:()=>f});var d=c(31417);let e="http://127.0.0.1:18789",f=(0,d.v)((a,b)=>({connected:!1,connecting:!1,wsStatus:"disconnected",wsError:void 0,reason:null,url:e,token:void 0,agentName:void 0,source:void 0,sessions:[],agentStatus:"idle",error:void 0,detect:async()=>{try{let b=await fetch("/api/gateway/detect");if(!b.ok)throw Error("Failed to detect gateway");let c=await b.json();c&&a({url:c.url||e,token:c.token||void 0,agentName:c.agentName||void 0,source:c.source||void 0})}catch(b){a({reason:"server_unreachable",error:`Detection failed: ${String(b)}`})}},connect:async()=>{let{url:c}=b();a({connecting:!0,error:void 0,reason:null});try{let d=await fetch("/api/gateway/status");if(!d.ok)throw Error("Failed to check gateway status");let e=await d.json();e.connected?(a({connected:!0,connecting:!1,agentName:e.agentName||b().agentName,reason:null,error:void 0}),b().loadSessions()):a({connected:!1,connecting:!1,reason:e.reason??"gateway_unreachable",error:e.error||`Cannot connect to ${c}`})}catch(b){a({connected:!1,connecting:!1,reason:"server_unreachable",error:`ClawPad server unreachable: ${String(b)}`})}},disconnect:()=>{a({connected:!1,connecting:!1,wsStatus:"disconnected",reason:null,sessions:[],agentStatus:"idle",error:void 0})},loadSessions:async()=>{try{let b=await fetch("/api/gateway/sessions");if(!b.ok)return;let c=(await b.json()).sessions??[],d=c.some(a=>"active"===a.status),e=c.some(a=>"thinking"===a.status);a({sessions:c,agentStatus:d?"active":e?"thinking":"idle"})}catch{}},setUrl:b=>a({url:b}),setToken:b=>a({token:b||void 0}),setWSStatus:(c,d)=>{a({wsStatus:c,wsError:"connected"===c?void 0:d?.error}),"connected"===c?a({connected:!0,connecting:!1,reason:null,error:void 0}):"connecting"===c||"reconnecting"===c?a({connected:!1,connecting:!0,reason:d?.reason??"gateway_unreachable"}):a({connected:!1,connecting:!1,reason:d?.reason??b().reason??"gateway_unreachable"})},setAgentStatus:b=>a({agentStatus:b})}))},98500:(a,b,c)=>{"use strict";c.d(b,{M:()=>l});var d=c(31417);function e(a){return a.toLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F1E0}-\u{1F1FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu,"").replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}var f=c(88650);let g={spaces:null,recent:null,pages:new Map},h=1;function i(a){}function j(a){return a?a.split("/").map(a=>e(a)).filter(Boolean):[]}async function k(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),b.timeoutMs),e=()=>c.abort();b.signal.addEventListener("abort",e,{once:!0});try{let b=await fetch(a,{signal:c.signal});if(!b.ok)throw Error(`Request failed: ${b.status}`);return await b.json()}finally{clearTimeout(d),b.signal.removeEventListener("abort",e)}}let l=(0,d.v)((a,b)=>({spaces:[],expandedSpaces:new Set,expandedFolders:new Set,appearanceHydrated:!1,sidebarOpen:!0,sidebarWidth:240,activePage:null,recentPages:[],chatPanelOpen:!0,spacesStatus:"idle",recentStatus:"idle",pagesStatusBySpace:new Map,spacesError:null,recentError:null,pagesErrorBySpace:new Map,loadingSpaces:!1,loadingPages:new Map,pagesBySpace:new Map,lastLoadedAt:{spaces:null,recent:null,pagesBySpace:new Map},lastError:null,loadSpaces:async c=>{let d=c?.timeoutMs??8e3;if(g.spaces){if(!c?.force)return g.spaces.promise;g.spaces.controller.abort()}let e=h++,f=new AbortController,i=b().spaces.length>0;c?.silent&&i||a({spacesStatus:"loading",loadingSpaces:!0,spacesError:null});let j=(async()=>{try{let b=await k("/api/files/spaces",{timeoutMs:d,signal:f.signal});if(g.spaces?.requestId!==e)return;a(a=>({spaces:b,spacesStatus:"success",loadingSpaces:!1,spacesError:null,lastError:null,lastLoadedAt:{...a.lastLoadedAt,spaces:Date.now()}}))}catch(c){if(g.spaces?.requestId!==e)return;let b=c instanceof Error?"AbortError"===c.name?"Timed out loading spaces":c.message:"Failed to load spaces";a(a=>({spacesStatus:a.spaces.length>0?"success":"error",loadingSpaces:!1,spacesError:b,lastError:b}))}finally{g.spaces?.requestId===e&&(g.spaces=null)}})();return g.spaces={promise:j,controller:f,requestId:e},j},loadPages:async(c,d)=>{let e=d?.timeoutMs??8e3,f=g.pages.get(c);if(f){if(!d?.force)return f.promise;f.controller.abort()}let i=h++,j=new AbortController,l=(b().pagesBySpace.get(c)??[]).length>0;a(a=>{let b=new Map(a.pagesStatusBySpace),e=new Map(a.pagesErrorBySpace),f=new Map(a.loadingPages);return d?.silent&&l||b.set(c,"loading"),e.set(c,null),f.set(c,!0),{pagesStatusBySpace:b,pagesErrorBySpace:e,loadingPages:f}});let m=(async()=>{try{let b=await k(`/api/files/spaces/${encodeURIComponent(c)}/pages?recursive=true`,{timeoutMs:e,signal:j.signal}),d=g.pages.get(c);if(!d||d.requestId!==i)return;a(a=>{let d=new Map(a.pagesBySpace);d.set(c,b);let e=new Map(a.pagesStatusBySpace);e.set(c,"success");let f=new Map(a.pagesErrorBySpace);f.set(c,null);let g=new Map(a.loadingPages);g.set(c,!1);let h=new Map(a.lastLoadedAt.pagesBySpace);return h.set(c,Date.now()),{pagesBySpace:d,pagesStatusBySpace:e,pagesErrorBySpace:f,loadingPages:g,lastError:null,lastLoadedAt:{...a.lastLoadedAt,pagesBySpace:h}}})}catch(e){let b=g.pages.get(c);if(!b||b.requestId!==i)return;let d=e instanceof Error?"AbortError"===e.name?`Timed out loading pages for ${c}`:e.message:`Failed to load pages for ${c}`;a(a=>{let b=(a.pagesBySpace.get(c)??[]).length>0,e=new Map(a.pagesStatusBySpace);e.set(c,b?"success":"error");let f=new Map(a.pagesErrorBySpace);f.set(c,d);let g=new Map(a.loadingPages);return g.set(c,!1),{pagesStatusBySpace:e,pagesErrorBySpace:f,loadingPages:g,lastError:d}})}finally{let a=g.pages.get(c);a?.requestId===i&&g.pages.delete(c)}})();return g.pages.set(c,{promise:m,controller:j,requestId:i}),m},loadRecentPages:async c=>{let d=c?.timeoutMs??8e3;if(g.recent){if(!c?.force)return g.recent.promise;g.recent.controller.abort()}let e=h++,f=new AbortController,i=b().recentPages.length>0;c?.silent&&i||a({recentStatus:"loading",recentError:null});let j=(async()=>{try{let b=await k("/api/files/recent?limit=5",{timeoutMs:d,signal:f.signal});if(g.recent?.requestId!==e)return;a(a=>({recentPages:b,recentStatus:"success",recentError:null,lastError:null,lastLoadedAt:{...a.lastLoadedAt,recent:Date.now()}}))}catch(c){if(g.recent?.requestId!==e)return;let b=c instanceof Error?"AbortError"===c.name?"Timed out loading recent pages":c.message:"Failed to load recent pages";a(a=>({recentStatus:a.recentPages.length>0?"success":"error",recentError:b,lastError:b}))}finally{g.recent?.requestId===e&&(g.recent=null)}})();return g.recent={promise:j,controller:f,requestId:e},j},setActivePage:b=>a(a=>{if(!b)return{activePage:null};let c=b.replace(/\.md$/,"").split("/").filter(Boolean);if(c.length<=1)return{activePage:b};let d=c[0],e=a.spaces.some(a=>a.path===d),g=e?d:f.Sz,h=e?c.slice(1,-1):c.slice(0,-1),i=new Set(a.expandedFolders),j=g;for(let a of h)j=`${j}/${a}`,i.add(j);return{activePage:b,expandedFolders:i}}),toggleSpace:c=>{let{expandedSpaces:d,pagesBySpace:e}=b(),f=new Set(d);f.has(c)?f.delete(c):(f.add(c),e.has(c)||b().loadPages(c)),a({expandedSpaces:f})},toggleFolder:c=>{let{expandedFolders:d}=b(),e=new Set(d);e.has(c)?e.delete(c):e.add(c),a({expandedFolders:e})},toggleSidebar:()=>a(a=>{let b=!a.sidebarOpen;return i(b),{sidebarOpen:b}}),hydrateAppearance:()=>{b().appearanceHydrated||a(a=>({appearanceHydrated:!0,sidebarOpen:!0,sidebarWidth:Number.isFinite(240)&&!0?240:a.sidebarWidth}))},setSidebarOpen:b=>{a({sidebarOpen:b})},setSidebarWidth:c=>{b().sidebarWidth!==c&&a({sidebarWidth:c})},toggleChatPanel:()=>a(a=>({chatPanelOpen:!a.chatPanelOpen})),setChatPanelOpen:b=>a({chatPanelOpen:b}),createSpace:async a=>{let c=e(a);if(!c)throw Error("Space name results in an empty folder name.");let d=await fetch("/api/files/spaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:c})});if(!d.ok){let a="Failed to create space";try{let b=await d.json();b?.error&&(a=b.error)}catch{}throw Error(a)}return await b().loadSpaces({force:!0,silent:!0}),c},createPage:async(c,d,g)=>{let h=e(d);if(!h)throw Error("Title results in an empty filename.");let i=j(g?.folderPath),k=[...c===f.Sz?i:[c,...i],h],l=k.join("/"),m=k.map(a=>encodeURIComponent(a)).join("/"),n=new Date().toISOString(),o=await fetch(`/api/files/pages/${m}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:`
|
|
1
|
+
exports.id=2470,exports.ids=[2470],exports.modules={9062:(a,b,c)=>{"use strict";c.d(b,{Toaster:()=>l});var d=c(48249),e=c(49681),f=c(41160),g=c(31675),h=c(2276),i=c(40560),j=c(8696),k=c(90707);let l=({...a})=>{let{theme:b="system"}=(0,j.D)();return(0,d.jsx)(k.l$,{theme:b,className:"toaster group",icons:{success:(0,d.jsx)(e.A,{className:"size-4"}),info:(0,d.jsx)(f.A,{className:"size-4"}),warning:(0,d.jsx)(g.A,{className:"size-4"}),error:(0,d.jsx)(h.A,{className:"size-4"}),loading:(0,d.jsx)(i.A,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},...a})}},13482:(a,b,c)=>{"use strict";c.d(b,{b:()=>d});let d=(0,c(31417).v)(a=>({lastEvent:void 0,events:[],updatedAt:void 0,addEvent:b=>a(a=>{let c=function(a,b){if(b)return b;let c=(a??"").toLowerCase();if(c){if("failed"===c)return"error";if("sent"===c)return"alert";if(c.startsWith("ok"))return"ok"}}(b.status,b.indicatorType),d={...b,indicatorType:c,actionable:"alert"===c||"error"===c},e=[d,...a.events];return e.length>20&&(e.length=20),{lastEvent:d,events:e,updatedAt:Date.now()}}),clear:()=>a({lastEvent:void 0,events:[],updatedAt:void 0})}))},23535:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>n});var d=c(48249),e=c(8696),f=c(97638),g=c(5023),h=c(55296),i=c(67484),j=c(80405),k=c(97032),l=c(13482);function m(){return(0,k.z)(a=>a.detect),(0,k.z)(a=>a.connect),(0,j.e)(a=>a.addItem),(0,k.z)(a=>a.setWSStatus),(0,k.z)(a=>a.setAgentStatus),(0,l.b)(a=>a.addEvent),(0,i.useRef)(new Map),(0,i.useRef)(0),(0,i.useRef)(0),(0,i.useRef)(0),(0,j.e)(a=>a.addItem),(0,i.useRef)(null),(0,i.useRef)(new Set),(0,i.useRef)(!1),null}function n({children:a}){let[b]=(0,i.useState)(()=>new f.E({defaultOptions:{queries:{staleTime:6e4,refetchOnWindowFocus:!1}}}));return(0,d.jsx)(e.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,children:(0,d.jsx)(g.Ht,{client:b,children:(0,d.jsxs)(h.Bc,{delayDuration:300,children:[(0,d.jsx)(m,{}),a]})})})}c(98500),c(34351),c(88650)},27728:(a,b,c)=>{"use strict";c.d(b,{Toaster:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/clawpad/clawpad/src/components/ui/sonner.tsx","Toaster")},34351:(a,b,c)=>{"use strict";c.d(b,{W:()=>d});let d=(0,c(31417).v)((a,b)=>({sessionKey:null,activeRun:null,activeFiles:new Set,lastFileTouchAt:null,changeSets:[],review:{open:!1,changeSetId:null,filePath:null},dismissed:new Set,loading:!1,error:void 0,setSessionKey:b=>a({sessionKey:b}),setActiveRun:b=>a({activeRun:b,...b?{}:{lastFileTouchAt:null}}),touchFile:b=>a(a=>{let c=new Set(a.activeFiles);return c.add(b),{activeFiles:c,lastFileTouchAt:Date.now()}}),clearActiveFiles:()=>a({activeFiles:new Set,lastFileTouchAt:null}),loadChangeSets:async()=>{let c=b().sessionKey;if(c){a({loading:!0,error:void 0});try{let b=await fetch(`/api/changes?sessionKey=${encodeURIComponent(c)}`);if(!b.ok)throw Error("Failed to load change sets");let d=await b.json();a({changeSets:d,loading:!1})}catch(b){a({loading:!1,error:String(b)})}}},openReview:(b,c)=>a({review:{open:!0,changeSetId:b,filePath:c}}),closeReview:()=>a({review:{open:!1,changeSetId:null,filePath:null}}),dismissChangeSet:b=>a(a=>{let c=new Set(a.dismissed);return c.add(b),{dismissed:c}})}))},41044:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23))},41560:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23)),Promise.resolve().then(c.t.bind(c,15098,23)),Promise.resolve().then(c.t.bind(c,47644,23)),Promise.resolve().then(c.t.bind(c,33859,23)),Promise.resolve().then(c.t.bind(c,98099,23)),Promise.resolve().then(c.t.bind(c,16237,23)),Promise.resolve().then(c.t.bind(c,98562,23)),Promise.resolve().then(c.t.bind(c,36675,23))},42893:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(99314),e=c(96862);function f(...a){return(0,e.QP)((0,d.$)(a))}},51288:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23)),Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},55296:(a,b,c)=>{"use strict";c.d(b,{Bc:()=>g,ZI:()=>j,k$:()=>i,m_:()=>h});var d=c(48249);c(67484);var e=c(33159),f=c(42893);function g({delayDuration:a=0,...b}){return(0,d.jsx)(e.Provider,{"data-slot":"tooltip-provider",delayDuration:a,...b})}function h({...a}){return(0,d.jsx)(g,{children:(0,d.jsx)(e.Root,{"data-slot":"tooltip",...a})})}function i({...a}){return(0,d.jsx)(e.Trigger,{"data-slot":"tooltip-trigger",...a})}function j({className:a,sideOffset:b=0,children:c,...g}){return(0,d.jsx)(e.Portal,{children:(0,d.jsxs)(e.Content,{"data-slot":"tooltip-content",sideOffset:b,className:(0,f.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...g,children:[c,(0,d.jsx)(e.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},61135:()=>{},70440:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(88868);let e=async a=>[{type:"image/x-icon",sizes:"256x256",url:(0,d.fillMetadataSegment)(".",await a.params,"favicon.ico")+"?50c20623341a5f1c"}]},73736:(a,b,c)=>{"use strict";c.d(b,{Providers:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call Providers() from the server but Providers is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/clawpad/clawpad/src/components/providers.tsx","Providers")},76537:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>l,metadata:()=>k});var d=c(5735),e=c(64264),f=c.n(e),g=c(37936),h=c.n(g),i=c(73736),j=c(27728);c(61135);let k={title:"ClawPad",description:"The workspace for OpenClaw",icons:{icon:[{url:"/favicon.ico"},{url:"/favicon.png",type:"image/png"}],apple:"/brand/apple-touch-icon.png"}};function l({children:a}){return(0,d.jsx)("html",{lang:"en",suppressHydrationWarning:!0,className:`${h().variable} ${f().variable}`,children:(0,d.jsx)("body",{className:"font-sans antialiased",children:(0,d.jsxs)(i.Providers,{children:[a,(0,d.jsx)(j.Toaster,{})]})})})}},80405:(a,b,c)=>{"use strict";c.d(b,{e:()=>f});var d=c(31417);let e=0,f=(0,d.v)(a=>({items:[],addItem:b=>a(a=>({items:[{...b,id:`activity-${Date.now()}-${++e}`},...a.items].slice(0,20)})),clear:()=>a({items:[]})}))},88650:(a,b,c)=>{"use strict";c.d(b,{Sz:()=>d,ke:()=>e});let d="__root__",e="General"},88939:(a,b,c)=>{Promise.resolve().then(c.bind(c,23535)),Promise.resolve().then(c.bind(c,9062))},93780:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23))},94515:(a,b,c)=>{Promise.resolve().then(c.bind(c,73736)),Promise.resolve().then(c.bind(c,27728))},97032:(a,b,c)=>{"use strict";c.d(b,{z:()=>f});var d=c(31417);let e="http://127.0.0.1:18789",f=(0,d.v)((a,b)=>({connected:!1,connecting:!1,wsStatus:"disconnected",wsError:void 0,reason:null,url:e,token:void 0,agentName:void 0,source:void 0,sessions:[],agentStatus:"idle",error:void 0,manualOverrideDirty:!1,detect:async b=>{try{b?.resetManual&&await fetch("/api/gateway/config",{method:"DELETE"}).catch(()=>void 0);let c=await fetch("/api/gateway/detect");if(!c.ok)throw Error("Failed to detect gateway");let d=await c.json();d&&a({url:d.url||e,token:d.token||void 0,agentName:d.agentName||void 0,source:d.source||void 0,manualOverrideDirty:!1})}catch(b){a({reason:"server_unreachable",error:`Detection failed: ${String(b)}`})}},connect:async()=>{let{url:c,token:d,manualOverrideDirty:e}=b();a({connecting:!0,error:void 0,reason:null});try{if(e&&c&&c.trim()){let a=await fetch("/api/gateway/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:c,token:d})});if(!a.ok){let b=await a.json().catch(()=>({error:"Failed to save gateway configuration"}));throw Error("string"==typeof b?.error?b.error:"Failed to save gateway configuration")}}let f=await fetch("/api/gateway/status");if(!f.ok)throw Error("Failed to check gateway status");let g=await f.json();g.connected?(a({connected:!0,connecting:!1,agentName:g.agentName||b().agentName,source:e?"clawpad.override":g.source||b().source,manualOverrideDirty:!1,reason:null,error:void 0}),b().loadSessions()):a({connected:!1,connecting:!1,reason:g.reason??"gateway_unreachable",error:g.error||`Cannot connect to ${c}`})}catch(b){a({connected:!1,connecting:!1,reason:"server_unreachable",error:`ClawPad server unreachable: ${String(b)}`})}},disconnect:()=>{a({connected:!1,connecting:!1,wsStatus:"disconnected",reason:null,sessions:[],agentStatus:"idle",error:void 0})},loadSessions:async()=>{try{let b=await fetch("/api/gateway/sessions");if(!b.ok)return;let c=(await b.json()).sessions??[],d=c.some(a=>"active"===a.status),e=c.some(a=>"thinking"===a.status);a({sessions:c,agentStatus:d?"active":e?"thinking":"idle"})}catch{}},setUrl:b=>a({url:b,manualOverrideDirty:!0}),setToken:b=>a({token:b||void 0,manualOverrideDirty:!0}),setWSStatus:(c,d)=>{a({wsStatus:c,wsError:"connected"===c?void 0:d?.error}),"connected"===c?a({connected:!0,connecting:!1,reason:null,error:void 0}):"connecting"===c||"reconnecting"===c?a({connected:!1,connecting:!0,reason:d?.reason??"gateway_unreachable"}):a({connected:!1,connecting:!1,reason:d?.reason??b().reason??"gateway_unreachable"})},setAgentStatus:b=>a({agentStatus:b})}))},98500:(a,b,c)=>{"use strict";c.d(b,{M:()=>l});var d=c(31417);function e(a){return a.toLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F1E0}-\u{1F1FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu,"").replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}var f=c(88650);let g={spaces:null,recent:null,pages:new Map},h=1;function i(a){}function j(a){return a?a.split("/").map(a=>e(a)).filter(Boolean):[]}async function k(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),b.timeoutMs),e=()=>c.abort();b.signal.addEventListener("abort",e,{once:!0});try{let b=await fetch(a,{signal:c.signal});if(!b.ok)throw Error(`Request failed: ${b.status}`);return await b.json()}finally{clearTimeout(d),b.signal.removeEventListener("abort",e)}}let l=(0,d.v)((a,b)=>({spaces:[],expandedSpaces:new Set,expandedFolders:new Set,appearanceHydrated:!1,sidebarOpen:!0,sidebarWidth:240,activePage:null,recentPages:[],chatPanelOpen:!0,spacesStatus:"idle",recentStatus:"idle",pagesStatusBySpace:new Map,spacesError:null,recentError:null,pagesErrorBySpace:new Map,loadingSpaces:!1,loadingPages:new Map,pagesBySpace:new Map,lastLoadedAt:{spaces:null,recent:null,pagesBySpace:new Map},lastError:null,loadSpaces:async c=>{let d=c?.timeoutMs??8e3;if(g.spaces){if(!c?.force)return g.spaces.promise;g.spaces.controller.abort()}let e=h++,f=new AbortController,i=b().spaces.length>0;c?.silent&&i||a({spacesStatus:"loading",loadingSpaces:!0,spacesError:null});let j=(async()=>{try{let b=await k("/api/files/spaces",{timeoutMs:d,signal:f.signal});if(g.spaces?.requestId!==e)return;a(a=>({spaces:b,spacesStatus:"success",loadingSpaces:!1,spacesError:null,lastError:null,lastLoadedAt:{...a.lastLoadedAt,spaces:Date.now()}}))}catch(c){if(g.spaces?.requestId!==e)return;let b=c instanceof Error?"AbortError"===c.name?"Timed out loading spaces":c.message:"Failed to load spaces";a(a=>({spacesStatus:a.spaces.length>0?"success":"error",loadingSpaces:!1,spacesError:b,lastError:b}))}finally{g.spaces?.requestId===e&&(g.spaces=null)}})();return g.spaces={promise:j,controller:f,requestId:e},j},loadPages:async(c,d)=>{let e=d?.timeoutMs??8e3,f=g.pages.get(c);if(f){if(!d?.force)return f.promise;f.controller.abort()}let i=h++,j=new AbortController,l=(b().pagesBySpace.get(c)??[]).length>0;a(a=>{let b=new Map(a.pagesStatusBySpace),e=new Map(a.pagesErrorBySpace),f=new Map(a.loadingPages);return d?.silent&&l||b.set(c,"loading"),e.set(c,null),f.set(c,!0),{pagesStatusBySpace:b,pagesErrorBySpace:e,loadingPages:f}});let m=(async()=>{try{let b=await k(`/api/files/spaces/${encodeURIComponent(c)}/pages?recursive=true`,{timeoutMs:e,signal:j.signal}),d=g.pages.get(c);if(!d||d.requestId!==i)return;a(a=>{let d=new Map(a.pagesBySpace);d.set(c,b);let e=new Map(a.pagesStatusBySpace);e.set(c,"success");let f=new Map(a.pagesErrorBySpace);f.set(c,null);let g=new Map(a.loadingPages);g.set(c,!1);let h=new Map(a.lastLoadedAt.pagesBySpace);return h.set(c,Date.now()),{pagesBySpace:d,pagesStatusBySpace:e,pagesErrorBySpace:f,loadingPages:g,lastError:null,lastLoadedAt:{...a.lastLoadedAt,pagesBySpace:h}}})}catch(e){let b=g.pages.get(c);if(!b||b.requestId!==i)return;let d=e instanceof Error?"AbortError"===e.name?`Timed out loading pages for ${c}`:e.message:`Failed to load pages for ${c}`;a(a=>{let b=(a.pagesBySpace.get(c)??[]).length>0,e=new Map(a.pagesStatusBySpace);e.set(c,b?"success":"error");let f=new Map(a.pagesErrorBySpace);f.set(c,d);let g=new Map(a.loadingPages);return g.set(c,!1),{pagesStatusBySpace:e,pagesErrorBySpace:f,loadingPages:g,lastError:d}})}finally{let a=g.pages.get(c);a?.requestId===i&&g.pages.delete(c)}})();return g.pages.set(c,{promise:m,controller:j,requestId:i}),m},loadRecentPages:async c=>{let d=c?.timeoutMs??8e3;if(g.recent){if(!c?.force)return g.recent.promise;g.recent.controller.abort()}let e=h++,f=new AbortController,i=b().recentPages.length>0;c?.silent&&i||a({recentStatus:"loading",recentError:null});let j=(async()=>{try{let b=await k("/api/files/recent?limit=5",{timeoutMs:d,signal:f.signal});if(g.recent?.requestId!==e)return;a(a=>({recentPages:b,recentStatus:"success",recentError:null,lastError:null,lastLoadedAt:{...a.lastLoadedAt,recent:Date.now()}}))}catch(c){if(g.recent?.requestId!==e)return;let b=c instanceof Error?"AbortError"===c.name?"Timed out loading recent pages":c.message:"Failed to load recent pages";a(a=>({recentStatus:a.recentPages.length>0?"success":"error",recentError:b,lastError:b}))}finally{g.recent?.requestId===e&&(g.recent=null)}})();return g.recent={promise:j,controller:f,requestId:e},j},setActivePage:b=>a(a=>{if(!b)return{activePage:null};let c=b.replace(/\.md$/,"").split("/").filter(Boolean);if(c.length<=1)return{activePage:b};let d=c[0],e=a.spaces.some(a=>a.path===d),g=e?d:f.Sz,h=e?c.slice(1,-1):c.slice(0,-1),i=new Set(a.expandedFolders),j=g;for(let a of h)j=`${j}/${a}`,i.add(j);return{activePage:b,expandedFolders:i}}),toggleSpace:c=>{let{expandedSpaces:d,pagesBySpace:e}=b(),f=new Set(d);f.has(c)?f.delete(c):(f.add(c),e.has(c)||b().loadPages(c)),a({expandedSpaces:f})},toggleFolder:c=>{let{expandedFolders:d}=b(),e=new Set(d);e.has(c)?e.delete(c):e.add(c),a({expandedFolders:e})},toggleSidebar:()=>a(a=>{let b=!a.sidebarOpen;return i(b),{sidebarOpen:b}}),hydrateAppearance:()=>{b().appearanceHydrated||a(a=>({appearanceHydrated:!0,sidebarOpen:!0,sidebarWidth:Number.isFinite(240)&&!0?240:a.sidebarWidth}))},setSidebarOpen:b=>{a({sidebarOpen:b})},setSidebarWidth:c=>{b().sidebarWidth!==c&&a({sidebarWidth:c})},toggleChatPanel:()=>a(a=>({chatPanelOpen:!a.chatPanelOpen})),setChatPanelOpen:b=>a({chatPanelOpen:b}),createSpace:async a=>{let c=e(a);if(!c)throw Error("Space name results in an empty folder name.");let d=await fetch("/api/files/spaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:c})});if(!d.ok){let a="Failed to create space";try{let b=await d.json();b?.error&&(a=b.error)}catch{}throw Error(a)}return await b().loadSpaces({force:!0,silent:!0}),c},createPage:async(c,d,g)=>{let h=e(d);if(!h)throw Error("Title results in an empty filename.");let i=j(g?.folderPath),k=[...c===f.Sz?i:[c,...i],h],l=k.join("/"),m=k.map(a=>encodeURIComponent(a)).join("/"),n=new Date().toISOString(),o=await fetch(`/api/files/pages/${m}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:`
|
|
2
2
|
# ${d}
|
|
3
3
|
|
|
4
4
|
`,meta:{title:d}})});if(!o.ok){let a="Failed to create page";try{let b=await o.json();b?.error&&(a=b.error)}catch{}throw Error(a)}let p=await o.json().catch(()=>null),q={title:d,path:`${l}.md`,space:c,icon:p?.meta?.icon,created:p?.meta?.created??n,modified:p?.meta?.modified??n,size:Number(p?.meta?.size??0),tags:Array.isArray(p?.meta?.tags)?p?.meta?.tags:void 0};return a(a=>{let b=[q,...a.recentPages.filter(a=>a.path!==q.path)].slice(0,5),d=new Map(a.pagesBySpace);if(d.has(c)){let a=d.get(c)??[];d.set(c,[q,...a.filter(a=>a.path!==q.path)])}return{recentPages:b,recentStatus:"success",pagesBySpace:d}}),b().loadRecentPages({force:!0,silent:!0}),b().pagesBySpace.has(c)&&b().loadPages(c,{force:!0,silent:!0}),b().loadSpaces({force:!0,silent:!0}),l},createFolder:async(a,c,d)=>{let f=j(c);if(0===f.length)throw Error("Folder path is empty.");let g=(d?.starterPageName??"README").trim();if(!e(g))throw Error("Starter page name is empty.");let h=f.join("/");return b().createPage(a,g,{folderPath:h})},deletePage:async c=>{let d=c.split("/").map(a=>encodeURIComponent(a)).join("/");if(!(await fetch(`/api/files/pages/${d}`,{method:"DELETE"})).ok)throw Error("Failed to delete page");let e=c.includes("/")?c.split("/")[0]:f.Sz;a(a=>{let b=a.recentPages.filter(a=>a.path!==c),d=new Map(a.pagesBySpace);if(d.has(e)){let a=d.get(e)??[];d.set(e,a.filter(a=>a.path!==c))}return{recentPages:b,pagesBySpace:d}}),b().loadPages(e,{force:!0,silent:!0}),b().loadRecentPages({force:!0,silent:!0}),b().loadSpaces({force:!0,silent:!0});let{activePage:g}=b();g===c&&a({activePage:null})}}))}};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";exports.id=8349,exports.ids=[8349],exports.modules={18349:(a,b,c)=>{c.d(b,{detectGateway:()=>
|
|
1
|
+
"use strict";exports.id=8349,exports.ids=[8349],exports.modules={18349:(a,b,c)=>{c.d(b,{detectGateway:()=>h});var d=c(79748),e=c(27843),f=c(21642),g=c(69038);async function h(){let a=process.env.OPENCLAW_GATEWAY_URL,b=j(process.env.OPENCLAW_GATEWAY_TOKEN),c=process.env.OPENCLAW_AGENT_NAME;if(a)return{url:i(a),token:b||void 0,agentName:c||void 0,source:"env"};try{let a=await (0,g.r$)();if(a?.url)return{url:i(a.url),token:j(a.token)??b,agentName:c||void 0,source:"clawpad.override"}}catch{}try{let a=(0,e.YJ)();if(a){var h;let c=await (0,d.readFile)(a,"utf-8"),e=(0,f.N)(c),g=e.ok&&e.value&&"object"==typeof e.value?e.value:{},i=g.gateway?.port??g.port??18789,m={loopback:"127.0.0.1",localhost:"127.0.0.1","0.0.0.0":"127.0.0.1","::":"127.0.0.1","::1":"127.0.0.1"}[h=g.gateway?.bind??g.gateway?.host??g.host??"127.0.0.1"]??h;return{url:`http://${m}:${i}`,token:function(a){if(!a||"object"!=typeof a)return;let b=[],c=j(a.token);if(c){let d=k(a.scopes??a.scope);b.push({token:c,score:d.size>0?l(d)+30:50,priority:0})}let d=Array.isArray(a.tokens)?a.tokens:[];for(let a=0;a<d.length;a+=1){let c=d[a],e="string"==typeof c?j(c):c&&"object"==typeof c&&!1!==c.enabled?j(c.token??c.value??c.accessToken??c.access_token??c.bearer??c.secret):void 0;if(!e)continue;let f=c&&"object"==typeof c?k(c.scopes??c.scope):new Set;b.push({token:e,score:f.size>0?l(f):25,priority:a+1})}if(0!==b.length)return b.sort((a,b)=>b.score-a.score||a.priority-b.priority),b[0]?.token}(g.gateway?.auth)??b,agentName:g.name??g.agentName??void 0,source:a.includes("clawdbot.json")?"clawdbot.json":"openclaw.json"}}}catch{}return{url:"http://127.0.0.1:18789",token:void 0,agentName:void 0,source:"default"}}function i(a){return a.startsWith("http://")||a.startsWith("https://")?a.replace(/\/+$/,""):`http://${a}`}function j(a){if("string"==typeof a)return a.trim()||void 0}function k(a){let b=new Set,c=[];if("string"==typeof a)c.push(...a.split(/[,\s]+/g));else if(Array.isArray(a))for(let b of a)"string"==typeof b&&c.push(...b.split(/[,\s]+/g));for(let a of c){let c=a.trim().toLowerCase();c&&b.add(c)}return b}function l(a){return a.has("operator.admin")?100:a.has("operator.write")?90:a.has("operator.read")?20:10}},69038:(a,b,c)=>{c.d(b,{I3:()=>n,ij:()=>m,r$:()=>l});var d=c(79748),e=c.n(d),f=c(33873),g=c.n(f),h=c(27843);function i(a){if("string"!=typeof a)return null;let b=a.trim();return b?(b.startsWith("http://")||b.startsWith("https://")?b:`http://${b}`).replace(/\/+$/g,""):null}function j(a){if("string"==typeof a)return a.trim()||void 0}function k(a=process.env){return g().join((0,h.We)(a),"clawpad","gateway-override.json")}async function l(a=process.env){let b=k(a);try{let a=await e().readFile(b,"utf-8"),c=JSON.parse(a),d=i(c?.url);if(c?.version!==1||!d)return null;let f=j(c?.token),g="string"==typeof c?.updatedAt&&c.updatedAt.trim()?c.updatedAt:new Date().toISOString();return{version:1,url:d,...f?{token:f}:{},updatedAt:g}}catch{return null}}async function m(a,b=process.env){let c=i(a.url);if(!c)throw Error("Gateway URL is required");let d=j(a.token),f={version:1,url:c,...d?{token:d}:{},updatedAt:new Date().toISOString()},h=k(b);await e().mkdir(g().dirname(h),{recursive:!0}),await e().writeFile(h,`${JSON.stringify(f,null,2)}
|
|
2
|
+
`,{mode:384});try{await e().chmod(h,384)}catch{}return f}async function n(a=process.env){let b=k(a);try{await e().unlink(b)}catch{}}}};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
exports.id=8353,exports.ids=[8349,8353],exports.modules={18349:(a,b,c)=>{"use strict";c.d(b,{detectGateway:()=>h});var d=c(79748),e=c(27843),f=c(21642),g=c(69038);async function h(){let a=process.env.OPENCLAW_GATEWAY_URL,b=k(process.env.OPENCLAW_GATEWAY_TOKEN),c=process.env.OPENCLAW_AGENT_NAME;if(a)return{url:j(a),token:b||void 0,agentName:c||void 0,source:"env"};try{let a=await (0,g.r$)();if(a?.url)return{url:j(a.url),token:k(a.token)??b,agentName:c||void 0,source:"clawpad.override"}}catch{}try{let a=(0,e.YJ)();if(a){let c=await (0,d.readFile)(a,"utf-8"),e=(0,f.N)(c),g=e.ok&&e.value&&"object"==typeof e.value?e.value:{},h=g.gateway?.port??g.port??18789,j=i(g.gateway?.bind??g.gateway?.host??g.host??"127.0.0.1");return{url:`http://${j}:${h}`,token:o(g.gateway?.auth)??b,agentName:g.name??g.agentName??void 0,source:a.includes("clawdbot.json")?"clawdbot.json":"openclaw.json"}}}catch{}return{url:"http://127.0.0.1:18789",token:void 0,agentName:void 0,source:"default"}}function i(a){return({loopback:"127.0.0.1",localhost:"127.0.0.1","0.0.0.0":"127.0.0.1","::":"127.0.0.1","::1":"127.0.0.1"})[a]??a}function j(a){return a.startsWith("http://")||a.startsWith("https://")?a.replace(/\/+$/,""):`http://${a}`}function k(a){if("string"==typeof a)return a.trim()||void 0}function l(a){let b=new Set,c=[];if("string"==typeof a)c.push(...a.split(/[,\s]+/g));else if(Array.isArray(a))for(let b of a)"string"==typeof b&&c.push(...b.split(/[,\s]+/g));for(let a of c){let c=a.trim().toLowerCase();c&&b.add(c)}return b}function m(a){return a.has("operator.admin")?100:a.has("operator.write")?90:a.has("operator.read")?20:10}function n(a){if("string"==typeof a)return k(a);if(!a||"object"!=typeof a)return;let b=a;if(!1!==b.enabled)return k(b.token??b.value??b.accessToken??b.access_token??b.bearer??b.secret)}function o(a){if(!a||"object"!=typeof a)return;let b=a,c=[],d=k(b.token);if(d){let a=l(b.scopes??b.scope);c.push({token:d,score:a.size>0?m(a)+30:50,priority:0})}let e=Array.isArray(b.tokens)?b.tokens:[];for(let a=0;a<e.length;a+=1){let b=e[a],d=n(b);if(!d)continue;let f=b&&"object"==typeof b?l(b.scopes??b.scope):new Set;c.push({token:d,score:f.size>0?m(f):25,priority:a+1})}if(0!==c.length)return c.sort((a,b)=>b.score-a.score||a.priority-b.priority),c[0]?.token}},21642:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";function loadOptionalJson5(){try{let req=eval("require"),mod=req("json5");if(mod&&"function"==typeof mod.parse)return mod}catch{}return null}function stripComments(a){let b="",c=!1,d="",e=!1,f=!1,g=!1;for(let h=0;h<a.length;h+=1){let i=a[h],j=a[h+1];if(e){"\n"===i&&(e=!1,b+=i);continue}if(f){"*"===i&&"/"===j&&(f=!1,h+=1);continue}if(c){if(b+=i,g){g=!1;continue}if("\\"===i){g=!0;continue}i===d&&(c=!1,d="");continue}if('"'===i||"'"===i){c=!0,d=i,b+=i;continue}if("/"===i&&"/"===j){e=!0,h+=1;continue}if("/"===i&&"*"===j){f=!0,h+=1;continue}b+=i}return b}function stripTrailingCommas(a){let b="",c=!1,d="",e=!1;for(let f=0;f<a.length;f+=1){let g=a[f];if(c){if(b+=g,e){e=!1;continue}if("\\"===g){e=!0;continue}g===d&&(c=!1,d="");continue}if('"'===g||"'"===g){c=!0,d=g,b+=g;continue}if(","===g){let b=f+1;for(;b<a.length&&/\s/.test(a[b]);)b+=1;let c=a[b];if("}"===c||"]"===c)continue}b+=g}return b}function parseJsonFallback(a){try{return{ok:!0,value:JSON.parse(a)}}catch{}try{let b=stripTrailingCommas(stripComments(a));return{ok:!0,value:JSON.parse(b)}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function parseOpenClawConfig(a){let b=loadOptionalJson5();if(b)try{return{ok:!0,value:b.parse(a)}}catch{}return parseJsonFallback(a)}__webpack_require__.d(__webpack_exports__,{N:()=>parseOpenClawConfig})},27843:(a,b,c)=>{"use strict";c.d(b,{We:()=>p,YJ:()=>q,l5:()=>r});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(21642);let k=[".clawdbot"],l=["openclaw.json","clawdbot.json"];function m(a=process.env){return[...new Set([a.APPDATA?g().join(a.APPDATA,"OpenClaw"):null,a.APPDATA?g().join(a.APPDATA,"openclaw"):null,a.LOCALAPPDATA?g().join(a.LOCALAPPDATA,"OpenClaw"):null,a.LOCALAPPDATA?g().join(a.LOCALAPPDATA,"openclaw"):null,g().join(i().homedir(),"AppData","Roaming","OpenClaw"),g().join(i().homedir(),"AppData","Roaming","openclaw")].filter(a=>!!(a&&a.trim())).map(a=>g().resolve(a)))]}function n(a){let b=a.trim();return b?b.startsWith("~")?g().resolve(b.replace(/^~(?=$|[\\/])/,i().homedir())):g().resolve(b):b}function o(a){try{return e().existsSync(a)}catch{return!1}}function p(a=process.env){let b=a.OPENCLAW_STATE_DIR||a.CLAWDBOT_STATE_DIR;if(b&&b.trim())return n(b);if("win32"===process.platform){let b=m(a).find(a=>o(a));if(b)return b}return g().join(i().homedir(),".openclaw")}function q(a=process.env){let b=a.OPENCLAW_CONFIG_PATH||a.CLAWDBOT_CONFIG_PATH;if(b&&b.trim()){let a=n(b);return o(a)?a:null}let c=p(a),d="win32"===process.platform?m(a):[];for(let a of[...l.map(a=>g().join(c,a)),...d.flatMap(a=>l.map(b=>g().join(a,b))),g().join(i().homedir(),".openclaw","openclaw.json"),...k.map(a=>g().join(i().homedir(),a,"clawdbot.json"))])if(o(a))return a;return null}function r(a=process.env){let b=q(a);if(!b)return{path:null,config:null};try{let a=e().readFileSync(b,"utf-8"),c=(0,j.N)(a);if(c.ok&&c.value&&"object"==typeof c.value)return{path:b,config:c.value}}catch{}return{path:b,config:null}}},48421:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A:()=>j});var e=c(56220),f=c(18349),g=c(94615),h=a([e]);function i(a){if(!a)return null;let b=a.replace(/^ws/i,"http");try{return new URL(b).origin}catch{return null}}async function j(a){let b=await (0,f.detectGateway)();if(!b)throw Error("No gateway configuration found");let c=b.url.replace(/^http/,"ws"),d=i(b.url),h=a.timeoutMs??1e4,j="operator",k=["operator.read","operator.write","operator.admin"],l=(0,g.aZ)(),m=(0,g.vM)({deviceId:l.deviceId,role:j})?.token??b.token;return new Promise((b,f)=>{let i,n=0,o=!1,p=setTimeout(()=>{if(!o){o=!0;try{i?.close()}catch{}f(Error("Gateway request timed out"))}},h);function q(a,c){if(!o){o=!0,clearTimeout(p);try{i?.close()}catch{}a?f(a):b(c)}}try{i=new e.default(c,d?{origin:d}:void 0)}catch(a){clearTimeout(p),f(Error(`Failed to create WebSocket: ${a}`));return}i.on("close",()=>{q(Error("WebSocket closed before response"))}),i.on("error",a=>{q(Error(`WebSocket error: ${a.message}`))}),i.on("message",b=>{let c;try{c=JSON.parse(String(b))}catch{return}if("event"===c.type&&"connect.challenge"===c.event){let a=c.payload&&"object"==typeof c.payload?c.payload:void 0,b="string"==typeof a?.nonce?a.nonce:void 0,d=(0,g.n3)({identity:l,clientId:"webchat-ui",clientMode:"webchat",role:j,scopes:k,token:m,nonce:b}),e={type:"req",id:String(++n),method:"connect",params:{minProtocol:3,maxProtocol:3,client:{id:"webchat-ui",version:"clawpad",platform:"web",mode:"webchat"},role:j,scopes:k,caps:[],commands:[],permissions:{},auth:m?{token:m}:{},device:d}};i.send(JSON.stringify(e));return}if("res"===c.type&&c.id===String(n)&&1===n){if(!c.ok)return void q(Error(`Gateway connect rejected: ${JSON.stringify(c.error)}`));let b=c.payload&&"object"==typeof c.payload?c.payload:void 0,d="string"==typeof b?.auth?.deviceToken?b.auth.deviceToken:null,e=Array.isArray(b?.auth?.scopes)?b.auth.scopes.filter(a=>"string"==typeof a):[];d&&(0,g.HQ)({deviceId:l.deviceId,role:j,token:d,scopes:e});let f={type:"req",id:String(++n),method:a.method,params:a.params??{}};return void i.send(JSON.stringify(f))}if("res"===c.type&&c.id===String(n)&&2===n)return c.ok?void q(null,c.payload):void q(Error(`Gateway RPC error: ${JSON.stringify(c.error)}`))})})}e=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},69038:(a,b,c)=>{"use strict";c.d(b,{I3:()=>n,ij:()=>m,r$:()=>l});var d=c(79748),e=c.n(d),f=c(33873),g=c.n(f),h=c(27843);function i(a){if("string"!=typeof a)return null;let b=a.trim();return b?(b.startsWith("http://")||b.startsWith("https://")?b:`http://${b}`).replace(/\/+$/g,""):null}function j(a){if("string"==typeof a)return a.trim()||void 0}function k(a=process.env){return g().join((0,h.We)(a),"clawpad","gateway-override.json")}async function l(a=process.env){let b=k(a);try{let a=await e().readFile(b,"utf-8"),c=JSON.parse(a),d=i(c?.url);if(c?.version!==1||!d)return null;let f=j(c?.token),g="string"==typeof c?.updatedAt&&c.updatedAt.trim()?c.updatedAt:new Date().toISOString();return{version:1,url:d,...f?{token:f}:{},updatedAt:g}}catch{return null}}async function m(a,b=process.env){let c=i(a.url);if(!c)throw Error("Gateway URL is required");let d=j(a.token),f={version:1,url:c,...d?{token:d}:{},updatedAt:new Date().toISOString()},h=k(b);await e().mkdir(g().dirname(h),{recursive:!0}),await e().writeFile(h,`${JSON.stringify(f,null,2)}
|
|
2
|
+
`,{mode:384});try{await e().chmod(h,384)}catch{}return f}async function n(a=process.env){let b=k(a);try{await e().unlink(b)}catch{}}},78335:()=>{},96487:()=>{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=869,exports.ids=[869],exports.modules={859:(a,b,c)=>{"use strict";c.d(b,{b:()=>k});var d=c(67484);c(74429);var e=c(43980),f=c(48249),g=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{let c=(0,e.TL)(`Primitive.${b}`),g=d.forwardRef((a,d)=>{let{asChild:e,...g}=a;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,f.jsx)(e?c:b,{...g,ref:d})});return g.displayName=`Primitive.${b}`,{...a,[b]:g}},{}),h="horizontal",i=["horizontal","vertical"],j=d.forwardRef((a,b)=>{var c;let{decorative:d,orientation:e=h,...j}=a,k=(c=e,i.includes(c))?e:h;return(0,f.jsx)(g.div,{"data-orientation":k,...d?{role:"none"}:{"aria-orientation":"vertical"===k?k:void 0,role:"separator"},...j,ref:b})});j.displayName="Separator";var k=j},2864:(a,b,c)=>{"use strict";c.d(b,{E:()=>i});var d=c(48249);c(67484);var e=c(21654),f=c(43980),g=c(42893);let h=(0,e.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b="default",asChild:c=!1,...e}){let i=c?f.bL:"span";return(0,d.jsx)(i,{"data-slot":"badge","data-variant":b,className:(0,g.cn)(h({variant:b}),a),...e})}},25297:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(48249);c(67484);var e=c(21654),f=c(43980),g=c(42893);let h=(0,e.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function i({className:a,variant:b="default",size:c="default",asChild:e=!1,...i}){let j=e?f.bL:"button";return(0,d.jsx)(j,{"data-slot":"button","data-variant":b,"data-size":c,className:(0,g.cn)(h({variant:b,size:c,className:a})),...i})}},31321:(a,b,c)=>{"use strict";c.d(b,{q:()=>q});var d=c(48249),e=c(67484),f=c(45516),g=c(25297),h=c(88877),i=c(2864),j=c(40560),k=c(37637),l=c(47408);let m=(0,l.A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var n=c(49681);let o=(0,l.A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);var p=c(97032);function q({embedded:a=!1}){let{connected:b,connecting:c,wsStatus:l,url:q,token:r,agentName:s,source:t,reason:u,wsError:v,error:w,detect:x,connect:y,disconnect:z,setUrl:A,setToken:B}=(0,p.z)(),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(null),G=(0,e.useCallback)(async()=>{F(null),await x()},[x]),H=(0,e.useCallback)(async()=>{D(!0),F(null);try{let a=await fetch("/api/gateway/status"),b=await a.json();b.connected?F({ok:!0,message:"Connected successfully!"}):F({ok:!1,message:b.error||"Cannot connect to gateway"})}catch(b){let a=String(b?.message??b);F({ok:!1,message:a.includes("Failed to fetch")||a.includes("Load failed")?"ClawPad couldn’t reach the gateway. Is OpenClaw running?":`Failed to test connection: ${a}`})}finally{D(!1)}},[]),I=(0,e.useCallback)(async()=>{F(null),await y()},[y]);return(0,d.jsxs)("div",{className:a?"space-y-6":"mx-auto max-w-2xl px-6 py-10",children:[!a&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Gateway Connection"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Connect ClawPad to your local OpenClaw gateway."})]}),(0,d.jsx)(f.w,{className:"my-6"})]}),(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{className:"rounded-lg border p-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:`flex h-10 w-10 items-center justify-center rounded-full ${b?"bg-green-50 dark:bg-green-900/30":"bg-zinc-100 dark:bg-zinc-800"}`,children:c||"reconnecting"===l?(0,d.jsx)(j.A,{className:"h-5 w-5 animate-spin text-muted-foreground"}):b?(0,d.jsx)(k.A,{className:"h-5 w-5 text-green-600"}):(0,d.jsx)(m,{className:"h-5 w-5 text-muted-foreground"})}),(0,d.jsxs)("div",{className:"space-y-0.5",children:[(0,d.jsx)("h3",{className:"text-sm font-medium",children:b?"Connected":c?"Connecting…":"reconnecting"===l?"Reconnecting…":"Disconnected"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b&&s?`Agent: ${s}`:b?"Connected to gateway":v||w||("server_unreachable"===u?"ClawPad server is unreachable from this browser.":"Not connected to any gateway.")})]})]}),(0,d.jsx)(i.E,{variant:b?"default":"secondary",className:b?"bg-green-100 text-green-700 hover:bg-green-100 dark:bg-green-900/30 dark:text-green-400 dark:hover:bg-green-900/30":"",children:b?"Connected":c?"Connecting":"reconnecting"===l?"Reconnecting":"Disconnected"})]}),t&&(0,d.jsxs)("p",{className:"mt-3 text-xs text-muted-foreground",children:["Config source: ",(0,d.jsx)("span",{className:"font-medium",children:t})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"gateway-url",className:"text-sm font-medium",children:"Gateway URL"}),(0,d.jsx)(h.p,{id:"gateway-url",placeholder:"http://127.0.0.1:18789",value:q,onChange:a=>A(a.target.value)}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"The HTTP URL of your OpenClaw gateway. Usually auto-detected."})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"gateway-token",className:"text-sm font-medium",children:"Authentication Token"}),(0,d.jsx)(h.p,{id:"gateway-token",type:"password",placeholder:"Optional — read from openclaw.json if available",value:r||"",onChange:a=>B(a.target.value)})]}),E&&(0,d.jsxs)("div",{className:`flex items-center gap-2 rounded-lg border p-3 text-sm ${E.ok?"border-green-200 bg-green-50 text-green-700 dark:border-green-800 dark:bg-green-900/20 dark:text-green-400":"border-red-200 bg-red-50 text-red-700 dark:border-red-800 dark:bg-red-900/20 dark:text-red-400"}`,children:[E.ok?(0,d.jsx)(n.A,{className:"h-4 w-4 shrink-0"}):(0,d.jsx)(m,{className:"h-4 w-4 shrink-0"}),E.message]}),(0,d.jsxs)("div",{className:"flex gap-3",children:[b?(0,d.jsx)(g.$,{variant:"outline",onClick:z,children:"Disconnect"}):(0,d.jsxs)(g.$,{onClick:I,disabled:c,children:[c&&(0,d.jsx)(j.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]}),(0,d.jsxs)(g.$,{variant:"outline",onClick:H,disabled:C,children:[C&&(0,d.jsx)(j.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Test Connection"]}),(0,d.jsxs)(g.$,{variant:"outline",onClick:G,children:[(0,d.jsx)(o,{className:"mr-2 h-4 w-4"}),"Auto-Detect"]})]})]})]})}},37637:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(47408).A)("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]])},45516:(a,b,c)=>{"use strict";c.d(b,{w:()=>g});var d=c(48249);c(67484);var e=c(859),f=c(42893);function g({className:a,orientation:b="horizontal",decorative:c=!0,...g}){return(0,d.jsx)(e.b,{"data-slot":"separator",decorative:c,orientation:b,className:(0,f.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...g})}},78335:()=>{},88877:(a,b,c)=>{"use strict";c.d(b,{p:()=>f});var d=c(48249);c(67484);var e=c(42893);function f({className:a,type:b,...c}){return(0,d.jsx)("input",{type:b,"data-slot":"input",className:(0,e.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...c})}},96487:()=>{}};
|
|
1
|
+
exports.id=869,exports.ids=[869],exports.modules={859:(a,b,c)=>{"use strict";c.d(b,{b:()=>k});var d=c(67484);c(74429);var e=c(43980),f=c(48249),g=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{let c=(0,e.TL)(`Primitive.${b}`),g=d.forwardRef((a,d)=>{let{asChild:e,...g}=a;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,f.jsx)(e?c:b,{...g,ref:d})});return g.displayName=`Primitive.${b}`,{...a,[b]:g}},{}),h="horizontal",i=["horizontal","vertical"],j=d.forwardRef((a,b)=>{var c;let{decorative:d,orientation:e=h,...j}=a,k=(c=e,i.includes(c))?e:h;return(0,f.jsx)(g.div,{"data-orientation":k,...d?{role:"none"}:{"aria-orientation":"vertical"===k?k:void 0,role:"separator"},...j,ref:b})});j.displayName="Separator";var k=j},2864:(a,b,c)=>{"use strict";c.d(b,{E:()=>i});var d=c(48249);c(67484);var e=c(21654),f=c(43980),g=c(42893);let h=(0,e.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b="default",asChild:c=!1,...e}){let i=c?f.bL:"span";return(0,d.jsx)(i,{"data-slot":"badge","data-variant":b,className:(0,g.cn)(h({variant:b}),a),...e})}},25297:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(48249);c(67484);var e=c(21654),f=c(43980),g=c(42893);let h=(0,e.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function i({className:a,variant:b="default",size:c="default",asChild:e=!1,...i}){let j=e?f.bL:"button";return(0,d.jsx)(j,{"data-slot":"button","data-variant":b,"data-size":c,className:(0,g.cn)(h({variant:b,size:c,className:a})),...i})}},31321:(a,b,c)=>{"use strict";c.d(b,{q:()=>q});var d=c(48249),e=c(67484),f=c(45516),g=c(25297),h=c(88877),i=c(2864),j=c(40560),k=c(37637),l=c(47408);let m=(0,l.A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var n=c(49681);let o=(0,l.A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);var p=c(97032);function q({embedded:a=!1}){let{connected:b,connecting:c,wsStatus:l,url:q,token:r,agentName:s,source:t,reason:u,wsError:v,error:w,detect:x,connect:y,disconnect:z,setUrl:A,setToken:B}=(0,p.z)(),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(null),G=(0,e.useCallback)(async()=>{F(null),await x({resetManual:!0})},[x]),H=(0,e.useCallback)(async()=>{D(!0),F(null);try{let a=await fetch("/api/gateway/status"),b=await a.json();b.connected?F({ok:!0,message:"Connected successfully!"}):F({ok:!1,message:b.error||"Cannot connect to gateway"})}catch(b){let a=String(b?.message??b);F({ok:!1,message:a.includes("Failed to fetch")||a.includes("Load failed")?"ClawPad couldn’t reach the gateway. Is OpenClaw running?":`Failed to test connection: ${a}`})}finally{D(!1)}},[]),I=(0,e.useCallback)(async()=>{F(null),await y()},[y]);return(0,d.jsxs)("div",{className:a?"space-y-6":"mx-auto max-w-2xl px-6 py-10",children:[!a&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Gateway Connection"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Connect ClawPad to your local OpenClaw gateway."})]}),(0,d.jsx)(f.w,{className:"my-6"})]}),(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{className:"rounded-lg border p-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:`flex h-10 w-10 items-center justify-center rounded-full ${b?"bg-green-50 dark:bg-green-900/30":"bg-zinc-100 dark:bg-zinc-800"}`,children:c||"reconnecting"===l?(0,d.jsx)(j.A,{className:"h-5 w-5 animate-spin text-muted-foreground"}):b?(0,d.jsx)(k.A,{className:"h-5 w-5 text-green-600"}):(0,d.jsx)(m,{className:"h-5 w-5 text-muted-foreground"})}),(0,d.jsxs)("div",{className:"space-y-0.5",children:[(0,d.jsx)("h3",{className:"text-sm font-medium",children:b?"Connected":c?"Connecting…":"reconnecting"===l?"Reconnecting…":"Disconnected"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b&&s?`Agent: ${s}`:b?"Connected to gateway":v||w||("server_unreachable"===u?"ClawPad server is unreachable from this browser.":"Not connected to any gateway.")})]})]}),(0,d.jsx)(i.E,{variant:b?"default":"secondary",className:b?"bg-green-100 text-green-700 hover:bg-green-100 dark:bg-green-900/30 dark:text-green-400 dark:hover:bg-green-900/30":"",children:b?"Connected":c?"Connecting":"reconnecting"===l?"Reconnecting":"Disconnected"})]}),t&&(0,d.jsxs)("p",{className:"mt-3 text-xs text-muted-foreground",children:["Config source: ",(0,d.jsx)("span",{className:"font-medium",children:t})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"gateway-url",className:"text-sm font-medium",children:"Gateway URL"}),(0,d.jsx)(h.p,{id:"gateway-url",placeholder:"http://127.0.0.1:18789",value:q,onChange:a=>A(a.target.value)}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"The HTTP URL of your OpenClaw gateway. Usually auto-detected."})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"gateway-token",className:"text-sm font-medium",children:"Authentication Token"}),(0,d.jsx)(h.p,{id:"gateway-token",type:"password",placeholder:"Optional — read from openclaw.json if available",value:r||"",onChange:a=>B(a.target.value)})]}),E&&(0,d.jsxs)("div",{className:`flex items-center gap-2 rounded-lg border p-3 text-sm ${E.ok?"border-green-200 bg-green-50 text-green-700 dark:border-green-800 dark:bg-green-900/20 dark:text-green-400":"border-red-200 bg-red-50 text-red-700 dark:border-red-800 dark:bg-red-900/20 dark:text-red-400"}`,children:[E.ok?(0,d.jsx)(n.A,{className:"h-4 w-4 shrink-0"}):(0,d.jsx)(m,{className:"h-4 w-4 shrink-0"}),E.message]}),(0,d.jsxs)("div",{className:"flex gap-3",children:[b?(0,d.jsx)(g.$,{variant:"outline",onClick:z,children:"Disconnect"}):(0,d.jsxs)(g.$,{onClick:I,disabled:c,children:[c&&(0,d.jsx)(j.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]}),(0,d.jsxs)(g.$,{variant:"outline",onClick:H,disabled:C,children:[C&&(0,d.jsx)(j.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Test Connection"]}),(0,d.jsxs)(g.$,{variant:"outline",onClick:G,children:[(0,d.jsx)(o,{className:"mr-2 h-4 w-4"}),"Auto-Detect"]})]})]})]})}},37637:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(47408).A)("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]])},45516:(a,b,c)=>{"use strict";c.d(b,{w:()=>g});var d=c(48249);c(67484);var e=c(859),f=c(42893);function g({className:a,orientation:b="horizontal",decorative:c=!0,...g}){return(0,d.jsx)(e.b,{"data-slot":"separator",decorative:c,orientation:b,className:(0,f.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...g})}},78335:()=>{},88877:(a,b,c)=>{"use strict";c.d(b,{p:()=>f});var d=c(48249);c(67484);var e=c(42893);function f({className:a,type:b,...c}){return(0,d.jsx)("input",{type:b,"data-slot":"input",className:(0,e.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...c})}},96487:()=>{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--1UGyv1hkNZ7yaspLRoDX6--><html lang="en" class="__variable_245d8d __variable_97c177"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/27834908180db20f-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/78fec81b34c4a365.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/a6a6c7db5d43079b.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b5d2bd8e17641061.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d35467e84f0e8517.js"/><script src="/_next/static/chunks/4bd1b696-e5d7c65570c947b7.js" async=""></script><script src="/_next/static/chunks/3794-337d1ca25ad99a89.js" async=""></script><script src="/_next/static/chunks/main-app-a1f34f01f7efbb58.js" async=""></script><script src="/_next/static/chunks/330-60f33582af3e15a5.js" async=""></script><script src="/_next/static/chunks/7300-9984bd6aa378227a.js" async=""></script><script src="/_next/static/chunks/6609-078a8cdc853f87c6.js" async=""></script><script src="/_next/static/chunks/8935-b62f5c8bf50ff5e8.js" async=""></script><script src="/_next/static/chunks/112-8da50d6fab374e89.js" async=""></script><script src="/_next/static/chunks/1178-f2f0bd687a63b9f8.js" async=""></script><script src="/_next/static/chunks/app/layout-6fad2f96726e757a.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>ClawPad</title><meta name="description" content="The workspace for OpenClaw"/><link rel="icon" href="/favicon.ico?50c20623341a5f1c" type="image/x-icon" sizes="256x256"/><link rel="icon" href="/favicon.ico"/><link rel="icon" href="/favicon.png" type="image/png"/><link rel="apple-touch-icon" href="/brand/apple-touch-icon.png"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/webpack-d35467e84f0e8517.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[37279,[\"330\",\"static/chunks/330-60f33582af3e15a5.js\",\"7300\",\"static/chunks/7300-9984bd6aa378227a.js\",\"6609\",\"static/chunks/6609-078a8cdc853f87c6.js\",\"8935\",\"static/chunks/8935-b62f5c8bf50ff5e8.js\",\"112\",\"static/chunks/112-8da50d6fab374e89.js\",\"1178\",\"static/chunks/1178-f2f0bd687a63b9f8.js\",\"7177\",\"static/chunks/app/layout-6fad2f96726e757a.js\"],\"Providers\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[25044,[\"330\",\"static/chunks/330-60f33582af3e15a5.js\",\"7300\",\"static/chunks/7300-9984bd6aa378227a.js\",\"6609\",\"static/chunks/6609-078a8cdc853f87c6.js\",\"8935\",\"static/chunks/8935-b62f5c8bf50ff5e8.js\",\"112\",\"static/chunks/112-8da50d6fab374e89.js\",\"1178\",\"static/chunks/1178-f2f0bd687a63b9f8.js\",\"7177\",\"static/chunks/app/layout-6fad2f96726e757a.js\"],\"Toaster\"]\n6:I[90484,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"\"]\n:HL[\"/_next/static/media/27834908180db20f-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/78fec81b34c4a365.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/a6a6c7db5d43079b.css\",\"style\"]\n:HL[\"/_next/static/css/b5d2bd8e17641061.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1UGyv1hkNZ7yaspLRoDX6\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a6a6c7db5d43079b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b5d2bd8e17641061.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"__variable_245d8d __variable_97c177\",\"children\":[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L5\",null,{}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[86869,[],\"IconMark\"]\n8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"ClawPad\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"The workspace for OpenClaw\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?50c20623341a5f1c\",\"type\":\"image/x-icon\",\"sizes\":\"256x256\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.png\",\"type\":\"image/png\"}],[\"$\",\"link\",\"5\",{\"rel\":\"apple-touch-icon\",\"href\":\"/brand/apple-touch-icon.png\"}],[\"$\",\"$Le\",\"6\",{}]]\n"])</script></body></html>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-d35467e84f0e8517.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[90484,[],\"ViewportBoundary\"]\n9:I[90484,[],\"MetadataBoundary\"]\nb:I[27123,[],\"\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--1UGyv1hkNZ7yaspLRoDX6--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d35467e84f0e8517.js"/><script src="/_next/static/chunks/4bd1b696-e5d7c65570c947b7.js" async=""></script><script src="/_next/static/chunks/3794-337d1ca25ad99a89.js" async=""></script><script src="/_next/static/chunks/main-app-a1f34f01f7efbb58.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-d35467e84f0e8517.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[90484,[],\"ViewportBoundary\"]\n9:I[90484,[],\"MetadataBoundary\"]\nb:I[27123,[],\"\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1UGyv1hkNZ7yaspLRoDX6\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{},"edge":{},"encryptionKey":"
|
|
1
|
+
{"node":{},"edge":{},"encryptionKey":"sA1q2oMxG7HI954fY3iVbJlb3uT3KaDdIKdncAz3WH4="}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a,b,c,d;self.__BUILD_MANIFEST=(a=0,b=0,c=0,d=0,{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:38,errorRate:1e-4,numBits:729,numHashes:14,bitArray:[1,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,0,0,0,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,1,0,0,0,0,1,1,0,1,0,1,0,0,1,0,1,1,1,0,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,1,1,1,1,1,0,0,0,0,1,0,1,1,1,0,1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,1,1,1,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,1,0,1,0,1,0,1,1,0,0,1,1,1,1,0,1,1,0,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,0,1,0,1,0,0,1,0,0,1,1,1,1,1,1,0,1,1,1,1,0,0,0,1,0,1,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,0,1,0,0,1,1,1,0,1,0,1,1,0,1,0,0,1,0,0,1,0,1,1,0,1,0,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1,1,0,0,0,0,1,0,1,1,1,1,1,0,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,0,1,0,0,1,1,1,0,1,1,1,1,0,1,0,0,0,0,1,0,1,0,1,1,0,1,0,0,1,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,1,1,1,0,0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,1,1,0,0,1,0,0,0,0,1,1,0,0,1,1,0,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,1,1,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,1,0,1,0,0,1,1,1,0,0,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,0,0,1,1,1,0,1,1,1,1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,0,1,1,1,0,0,0,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,0,1,0,1,1,1,1,0,0,0,0,0,0,1,1,1]},__routerFilterDynamic:{numItems:4,errorRate:1e-4,numBits:77,numHashes:14,bitArray:[1,1,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,1,1,0,0,1,0,1,1,0,0,0,1,0,0,1,1,1,0,0,0,0,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,0,1,0,1,0,1,1,0,1,1,0,1]},sortedPages:["/_app"]}),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7715],{27715:(e,t,a)=>{a.d(t,{q:()=>m});var n=a(95155),r=a(12115),s=a(97916),i=a(89239),o=a(60529),c=a(45160),d=a(6296),l=a(73035),u=a(62791),g=a(12651),v=a(91958),h=a(31328);function m({embedded:e=!1}){let{connected:t,connecting:a,wsStatus:m,url:x,token:f,agentName:b,source:p,reason:w,wsError:y,error:k,detect:j,connect:N,disconnect:C,setUrl:z,setToken:S}=(0,h.z)(),[_,E]=(0,r.useState)(!1),[$,A]=(0,r.useState)(null);(0,r.useEffect)(()=>{j()},[j]);let D=(0,r.useCallback)(async()=>{A(null),await j({resetManual:!0})},[j]),F=(0,r.useCallback)(async()=>{E(!0),A(null);try{let e=await fetch("/api/gateway/status"),t=await e.json();t.connected?A({ok:!0,message:"Connected successfully!"}):A({ok:!1,message:t.error||"Cannot connect to gateway"})}catch(t){let e=String(t?.message??t);A({ok:!1,message:e.includes("Failed to fetch")||e.includes("Load failed")?"ClawPad couldn’t reach the gateway. Is OpenClaw running?":`Failed to test connection: ${e}`})}finally{E(!1)}},[]),O=(0,r.useCallback)(async()=>{A(null),await N()},[N]);return(0,n.jsxs)("div",{className:e?"space-y-6":"mx-auto max-w-2xl px-6 py-10",children:[!e&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Gateway Connection"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Connect ClawPad to your local OpenClaw gateway."})]}),(0,n.jsx)(s.w,{className:"my-6"})]}),(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{className:"rounded-lg border p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:`flex h-10 w-10 items-center justify-center rounded-full ${t?"bg-green-50 dark:bg-green-900/30":"bg-zinc-100 dark:bg-zinc-800"}`,children:a||"reconnecting"===m?(0,n.jsx)(d.A,{className:"h-5 w-5 animate-spin text-muted-foreground"}):t?(0,n.jsx)(l.A,{className:"h-5 w-5 text-green-600"}):(0,n.jsx)(u.A,{className:"h-5 w-5 text-muted-foreground"})}),(0,n.jsxs)("div",{className:"space-y-0.5",children:[(0,n.jsx)("h3",{className:"text-sm font-medium",children:t?"Connected":a?"Connecting…":"reconnecting"===m?"Reconnecting…":"Disconnected"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:t&&b?`Agent: ${b}`:t?"Connected to gateway":y||k||("server_unreachable"===w?"ClawPad server is unreachable from this browser.":"Not connected to any gateway.")})]})]}),(0,n.jsx)(c.E,{variant:t?"default":"secondary",className:t?"bg-green-100 text-green-700 hover:bg-green-100 dark:bg-green-900/30 dark:text-green-400 dark:hover:bg-green-900/30":"",children:t?"Connected":a?"Connecting":"reconnecting"===m?"Reconnecting":"Disconnected"})]}),p&&(0,n.jsxs)("p",{className:"mt-3 text-xs text-muted-foreground",children:["Config source: ",(0,n.jsx)("span",{className:"font-medium",children:p})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("label",{htmlFor:"gateway-url",className:"text-sm font-medium",children:"Gateway URL"}),(0,n.jsx)(o.p,{id:"gateway-url",placeholder:"http://127.0.0.1:18789",value:x,onChange:e=>z(e.target.value)}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"The HTTP URL of your OpenClaw gateway. Usually auto-detected."})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("label",{htmlFor:"gateway-token",className:"text-sm font-medium",children:"Authentication Token"}),(0,n.jsx)(o.p,{id:"gateway-token",type:"password",placeholder:"Optional — read from openclaw.json if available",value:f||"",onChange:e=>S(e.target.value)})]}),$&&(0,n.jsxs)("div",{className:`flex items-center gap-2 rounded-lg border p-3 text-sm ${$.ok?"border-green-200 bg-green-50 text-green-700 dark:border-green-800 dark:bg-green-900/20 dark:text-green-400":"border-red-200 bg-red-50 text-red-700 dark:border-red-800 dark:bg-red-900/20 dark:text-red-400"}`,children:[$.ok?(0,n.jsx)(g.A,{className:"h-4 w-4 shrink-0"}):(0,n.jsx)(u.A,{className:"h-4 w-4 shrink-0"}),$.message]}),(0,n.jsxs)("div",{className:"flex gap-3",children:[t?(0,n.jsx)(i.$,{variant:"outline",onClick:C,children:"Disconnect"}):(0,n.jsxs)(i.$,{onClick:O,disabled:a,children:[a&&(0,n.jsx)(d.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Connect"]}),(0,n.jsxs)(i.$,{variant:"outline",onClick:F,disabled:_,children:[_&&(0,n.jsx)(d.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Test Connection"]}),(0,n.jsxs)(i.$,{variant:"outline",onClick:D,children:[(0,n.jsx)(v.A,{className:"mr-2 h-4 w-4"}),"Auto-Detect"]})]})]})]})}},31328:(e,t,a)=>{a.d(t,{z:()=>s});var n=a(1934);let r="http://127.0.0.1:18789",s=(0,n.v)((e,t)=>({connected:!1,connecting:!1,wsStatus:"disconnected",wsError:void 0,reason:null,url:r,token:void 0,agentName:void 0,source:void 0,sessions:[],agentStatus:"idle",error:void 0,manualOverrideDirty:!1,detect:async t=>{try{t?.resetManual&&await fetch("/api/gateway/config",{method:"DELETE"}).catch(()=>void 0);let a=await fetch("/api/gateway/detect");if(!a.ok)throw Error("Failed to detect gateway");let n=await a.json();n&&e({url:n.url||r,token:n.token||void 0,agentName:n.agentName||void 0,source:n.source||void 0,manualOverrideDirty:!1})}catch(t){e({reason:"server_unreachable",error:`Detection failed: ${String(t)}`})}},connect:async()=>{let{url:a,token:n,manualOverrideDirty:r}=t();e({connecting:!0,error:void 0,reason:null});try{if(r&&a&&a.trim()){let e=await fetch("/api/gateway/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:a,token:n})});if(!e.ok){let t=await e.json().catch(()=>({error:"Failed to save gateway configuration"}));throw Error("string"==typeof t?.error?t.error:"Failed to save gateway configuration")}}let s=await fetch("/api/gateway/status");if(!s.ok)throw Error("Failed to check gateway status");let i=await s.json();i.connected?(e({connected:!0,connecting:!1,agentName:i.agentName||t().agentName,source:r?"clawpad.override":i.source||t().source,manualOverrideDirty:!1,reason:null,error:void 0}),t().loadSessions()):e({connected:!1,connecting:!1,reason:i.reason??"gateway_unreachable",error:i.error||`Cannot connect to ${a}`})}catch(t){e({connected:!1,connecting:!1,reason:"server_unreachable",error:`ClawPad server unreachable: ${String(t)}`})}},disconnect:()=>{e({connected:!1,connecting:!1,wsStatus:"disconnected",reason:null,sessions:[],agentStatus:"idle",error:void 0})},loadSessions:async()=>{try{let t=await fetch("/api/gateway/sessions");if(!t.ok)return;let a=(await t.json()).sessions??[],n=a.some(e=>"active"===e.status),r=a.some(e=>"thinking"===e.status);e({sessions:a,agentStatus:n?"active":r?"thinking":"idle"})}catch{}},setUrl:t=>e({url:t,manualOverrideDirty:!0}),setToken:t=>e({token:t||void 0,manualOverrideDirty:!0}),setWSStatus:(a,n)=>{e({wsStatus:a,wsError:"connected"===a?void 0:n?.error}),"connected"===a?e({connected:!0,connecting:!1,reason:null,error:void 0}):"connecting"===a||"reconnecting"===a?e({connected:!1,connecting:!0,reason:n?.reason??"gateway_unreachable"}):e({connected:!1,connecting:!1,reason:n?.reason??t().reason??"gateway_unreachable"})},setAgentStatus:t=>e({agentStatus:t})}))},45160:(e,t,a)=>{a.d(t,{E:()=>c});var n=a(95155);a(12115);var r=a(18460),s=a(42442),i=a(52799);let o=(0,r.F)("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function c({className:e,variant:t="default",asChild:a=!1,...r}){let c=a?s.bL:"span";return(0,n.jsx)(c,{"data-slot":"badge","data-variant":t,className:(0,i.cn)(o({variant:t}),e),...r})}},52799:(e,t,a)=>{a.d(t,{cn:()=>s});var n=a(29722),r=a(622);function s(...e){return(0,r.QP)((0,n.$)(e))}},60529:(e,t,a)=>{a.d(t,{p:()=>s});var n=a(95155);a(12115);var r=a(52799);function s({className:e,type:t,...a}){return(0,n.jsx)("input",{type:t,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...a})}},89239:(e,t,a)=>{a.d(t,{$:()=>c});var n=a(95155);a(12115);var r=a(18460),s=a(42442),i=a(52799);let o=(0,r.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function c({className:e,variant:t="default",size:a="default",asChild:r=!1,...c}){let d=r?s.bL:"button";return(0,n.jsx)(d,{"data-slot":"button","data-variant":t,"data-size":a,className:(0,i.cn)(o({variant:t,size:a,className:e})),...c})}},97916:(e,t,a)=>{a.d(t,{w:()=>i});var n=a(95155);a(12115);var r=a(89803),s=a(52799);function i({className:e,orientation:t="horizontal",decorative:a=!0,...i}){return(0,n.jsx)(r.b,{"data-slot":"separator",decorative:a,orientation:t,className:(0,s.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...i})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{3163:(e,t,n)=>{"use strict";n.d(t,{e:()=>s});var a=n(1934);let r=0,s=(0,a.v)(e=>({items:[],addItem:t=>e(e=>({items:[{...t,id:`activity-${Date.now()}-${++r}`},...e.items].slice(0,20)})),clear:()=>e({items:[]})}))},25044:(e,t,n)=>{"use strict";n.d(t,{Toaster:()=>u});var a=n(95155),r=n(12651),s=n(68822),o=n(41585),i=n(26620),c=n(6296),l=n(70460),d=n(66609);let u=({...e})=>{let{theme:t="system"}=(0,l.D)();return(0,a.jsx)(d.l$,{theme:t,className:"toaster group",icons:{success:(0,a.jsx)(r.A,{className:"size-4"}),info:(0,a.jsx)(s.A,{className:"size-4"}),warning:(0,a.jsx)(o.A,{className:"size-4"}),error:(0,a.jsx)(i.A,{className:"size-4"}),loading:(0,a.jsx)(c.A,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},...e})}},31328:(e,t,n)=>{"use strict";n.d(t,{z:()=>s});var a=n(1934);let r="http://127.0.0.1:18789",s=(0,a.v)((e,t)=>({connected:!1,connecting:!1,wsStatus:"disconnected",wsError:void 0,reason:null,url:r,token:void 0,agentName:void 0,source:void 0,sessions:[],agentStatus:"idle",error:void 0,manualOverrideDirty:!1,detect:async t=>{try{t?.resetManual&&await fetch("/api/gateway/config",{method:"DELETE"}).catch(()=>void 0);let n=await fetch("/api/gateway/detect");if(!n.ok)throw Error("Failed to detect gateway");let a=await n.json();a&&e({url:a.url||r,token:a.token||void 0,agentName:a.agentName||void 0,source:a.source||void 0,manualOverrideDirty:!1})}catch(t){e({reason:"server_unreachable",error:`Detection failed: ${String(t)}`})}},connect:async()=>{let{url:n,token:a,manualOverrideDirty:r}=t();e({connecting:!0,error:void 0,reason:null});try{if(r&&n&&n.trim()){let e=await fetch("/api/gateway/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:n,token:a})});if(!e.ok){let t=await e.json().catch(()=>({error:"Failed to save gateway configuration"}));throw Error("string"==typeof t?.error?t.error:"Failed to save gateway configuration")}}let s=await fetch("/api/gateway/status");if(!s.ok)throw Error("Failed to check gateway status");let o=await s.json();o.connected?(e({connected:!0,connecting:!1,agentName:o.agentName||t().agentName,source:r?"clawpad.override":o.source||t().source,manualOverrideDirty:!1,reason:null,error:void 0}),t().loadSessions()):e({connected:!1,connecting:!1,reason:o.reason??"gateway_unreachable",error:o.error||`Cannot connect to ${n}`})}catch(t){e({connected:!1,connecting:!1,reason:"server_unreachable",error:`ClawPad server unreachable: ${String(t)}`})}},disconnect:()=>{e({connected:!1,connecting:!1,wsStatus:"disconnected",reason:null,sessions:[],agentStatus:"idle",error:void 0})},loadSessions:async()=>{try{let t=await fetch("/api/gateway/sessions");if(!t.ok)return;let n=(await t.json()).sessions??[],a=n.some(e=>"active"===e.status),r=n.some(e=>"thinking"===e.status);e({sessions:n,agentStatus:a?"active":r?"thinking":"idle"})}catch{}},setUrl:t=>e({url:t,manualOverrideDirty:!0}),setToken:t=>e({token:t||void 0,manualOverrideDirty:!0}),setWSStatus:(n,a)=>{e({wsStatus:n,wsError:"connected"===n?void 0:a?.error}),"connected"===n?e({connected:!0,connecting:!1,reason:null,error:void 0}):"connecting"===n||"reconnecting"===n?e({connected:!1,connecting:!0,reason:a?.reason??"gateway_unreachable"}):e({connected:!1,connecting:!1,reason:a?.reason??t().reason??"gateway_unreachable"})},setAgentStatus:t=>e({agentStatus:t})}))},37279:(e,t,n)=>{"use strict";n.d(t,{Providers:()=>h});var a=n(95155),r=n(70460),s=n(29905),o=n(35625),i=n(70872),c=n(12115),l=n(3163),d=n(31328),u=n(46794),m=n(18496),g=n(83099),p=n(60464);function w(){let e,t,n,a,r,s,o,i,w,h,f,v,y=(0,d.z)(e=>e.detect),S=(0,d.z)(e=>e.connect);return(0,c.useEffect)(()=>{y().then(()=>S())},[y,S]),e=(0,l.e)(e=>e.addItem),t=(0,d.z)(e=>e.setWSStatus),n=(0,d.z)(e=>e.setAgentStatus),a=(0,u.b)(e=>e.addEvent),r=(0,c.useRef)(new Map),s=(0,c.useRef)(0),o=(0,c.useRef)(0),i=(0,c.useRef)(0),(0,c.useEffect)(()=>{o.current=Date.now(),i.current=Date.now();let c=null,l=null,d=null,u=!1,p=n=>{let a,r;if(u||l)return;let o=s.current+1,i=(r=.2*(a=Math.min(3e4,2e3*Math.pow(1.6,s.current)))*(2*Math.random()-1),Math.max(500,Math.round(a+r)));s.current=o,t("reconnecting",{error:n?`${n}. Retrying in ${Math.round(i/1e3)}s (attempt ${o})`:`Reconnecting in ${Math.round(i/1e3)}s (attempt ${o})`,reason:"gateway_unreachable"}),6===o&&e({type:"sub-agent",description:"Gateway reconnection is taking longer than expected",timestamp:Date.now()}),l=setTimeout(()=>{l=null,w()},i)};function w(){u||(t("connecting",{reason:"gateway_unreachable"}),c=new EventSource("/api/gateway/events"),o.current=Date.now(),c.onopen=()=>{o.current=Date.now()},c.addEventListener("status",e=>{try{let n=JSON.parse(e.data);if(t(n.status,{error:n.error,code:n.code,reason:n.reason??void 0}),o.current=Date.now(),"connected"===n.status){s.current=0,l&&(clearTimeout(l),l=null);let e=m.M.getState();e.loadRecentPages({force:!0,silent:!0}),e.loadSpaces({force:!0,silent:!0});let t=g.W.getState();t.sessionKey&&t.loadChangeSets()}}catch{}}),c.addEventListener("gateway",t=>{try{let r=JSON.parse(t.data);(function(t){let{event:r,payload:s}=t;switch(r){case"agent":!function(t){i.current=Date.now();let a=t.stream,r=t.runId??"unknown",s=t.sessionKey??"main";if(!a){("final"===t.state||"aborted"===t.state||"error"===t.state)&&f(r,s,"error"===t.state);return}switch(a){case"lifecycle":{let e=t.data?.phase;"start"===e?h(r,s):("end"===e||"error"===e)&&f(r,s,"error"===e);break}case"assistant":h(r,s),n("active");break;case"tool":{var o;h(r,s),n("active");let a=t.data?.name??void 0;a&&e({type:"tool-used",description:`Using ${{Read:"file reader",Edit:"file editor",Write:"file writer",exec:"terminal",web_search:"web search",web_fetch:"web fetcher",browser:"browser",message:"messenger",image:"image analyzer",tts:"text-to-speech",nodes:"node manager",canvas:"canvas",process:"process manager"}[o=a]??o}`,timestamp:Date.now()})}}}(s);break;case"chat":e({type:"chat-message",description:"New chat message",timestamp:Date.now()});break;case"heartbeat":var o;let c,l;c=(o=s).ts,l=o.status,"number"!=typeof c||Number.isNaN(c)||"string"!=typeof l||a({...o,ts:c,status:l})}})(r),o.current=Date.now()}catch{}}),c.addEventListener("keepalive",()=>{o.current=Date.now()}),c.onerror=()=>{c?.close(),c=null,t("disconnected",{error:"Event stream disconnected",reason:"gateway_unreachable"}),u||p("Event stream disconnected")})}function h(t,a){r.current.has(t)||(r.current.set(t,a),i.current=Date.now(),n("thinking"),e({type:"sub-agent",description:"Agent started thinking",timestamp:Date.now()}),window.dispatchEvent(new CustomEvent("clawpad:agent-lifecycle",{detail:{phase:"start",runId:t,sessionKey:a,timestamp:Date.now()}})))}function f(t,a,s){r.current.delete(t),i.current=Date.now(),0===r.current.size&&n("idle");let o=g.W.getState();o.activeRun?.runId===t&&(o.setActiveRun(null),o.clearActiveFiles()),e({type:"sub-agent",description:s?"Agent errored":"Agent finished",timestamp:Date.now()}),window.dispatchEvent(new CustomEvent("clawpad:agent-lifecycle",{detail:{phase:"end",runId:t,sessionKey:a,timestamp:Date.now(),error:!!s}}))}return w(),d=setInterval(()=>{if(u)return;let e=Date.now()-o.current,t=Date.now()-i.current;if(r.current.size>0&&t>2e4)for(let[e,t]of Array.from(r.current.entries()))f(e,t);e>45e3&&(c?.close(),c=null,p("Connection stale"))},1e4),()=>{u=!0,l&&clearTimeout(l),d&&clearInterval(d),c?.close()}},[e,t,n,a]),w=(0,l.e)(e=>e.addItem),h=(0,c.useRef)(null),f=(0,c.useRef)(new Set),v=(0,c.useRef)(!1),(0,c.useEffect)(()=>{let e=null,t=null,n=!1,a=0;return!function r(){n||(e=new EventSource("/api/files/watch"),a=0,e.onmessage=e=>{try{let t=JSON.parse(e.data);if("connected"===t.type||"error"===t.type)return;let n=t.path??"",a=n.split("/").pop()?.replace(/\.md$/,"")??n,r={"file-changed":`Edited ${a}`,"file-added":`Created ${a}`,"file-removed":`Deleted ${a}`};w({type:t.type,description:r[t.type]??`${t.type}: ${a}`,path:t.path,timestamp:t.timestamp??Date.now()}),window.dispatchEvent(new CustomEvent("clawpad:file-change",{detail:t}));let s=n.includes("/")?n.split("/")[0]:p.Sz,o="file-added"===t.type||"file-removed"===t.type;s&&f.current.add(s),o&&(v.current=!0),h.current||(h.current=setTimeout(()=>{h.current=null;let{loadRecentPages:e,loadPages:t,loadSpaces:n,pagesBySpace:a}=m.M.getState();for(let e of f.current)a.has(e)&&t(e,{force:!0,silent:!0});f.current.clear(),e({force:!0,silent:!0}),v.current&&(n({force:!0,silent:!0}),v.current=!1)},250))}catch{}},e.onerror=()=>{if(e?.close(),e=null,!n){let e=Math.min(3e4,2e3*Math.pow(1.6,a)),n=.2*e*(2*Math.random()-1);a+=1,t=setTimeout(r,Math.max(500,Math.round(e+n)))}})}(),()=>{n=!0,e?.close(),t&&clearTimeout(t),h.current&&(clearTimeout(h.current),h.current=null)}},[w]),(0,c.useEffect)(()=>{let e=async e=>{await fetch("/api/changes/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionKey:e.sessionKey,runId:e.runId,status:e.status,..."start"===e.status?{startedAt:new Date(e.timestamp??Date.now()).toISOString()}:{endedAt:new Date(e.timestamp??Date.now()).toISOString()}})})},t=async t=>{let n=t.detail;if(n?.runId&&n?.sessionKey){if("start"===n.phase){let t=g.W.getState().activeRun;t&&t.runId!==n.runId&&await e({sessionKey:t.sessionKey,runId:t.runId,status:"end",timestamp:n.timestamp??Date.now()}),g.W.getState().setSessionKey(n.sessionKey),g.W.getState().setActiveRun({runId:n.runId,sessionKey:n.sessionKey,startedAt:n.timestamp??Date.now()}),g.W.getState().clearActiveFiles(),await e({sessionKey:n.sessionKey,runId:n.runId,status:"start",timestamp:n.timestamp??Date.now()})}"end"===n.phase&&(g.W.getState().setSessionKey(n.sessionKey),await e({sessionKey:n.sessionKey,runId:n.runId,status:"end",timestamp:n.timestamp??Date.now()}),g.W.getState().setActiveRun(null),g.W.getState().clearActiveFiles(),g.W.getState().loadChangeSets())}},n=async e=>{let t=e.detail;if(!t?.path||!t.type||"connected"===t.type||"error"===t.type)return;let{activeRun:n}=g.W.getState();n&&(g.W.getState().touchFile(t.path),await fetch("/api/changes/record",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionKey:n.sessionKey,runId:n.runId,path:t.path,eventType:t.type,timestamp:t.timestamp??Date.now()})}))};return window.addEventListener("clawpad:agent-lifecycle",t),window.addEventListener("clawpad:file-change",n),()=>{window.removeEventListener("clawpad:agent-lifecycle",t),window.removeEventListener("clawpad:file-change",n)}},[]),null}function h({children:e}){let[t]=(0,c.useState)(()=>new s.E({defaultOptions:{queries:{staleTime:6e4,refetchOnWindowFocus:!1}}}));return(0,a.jsx)(r.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,children:(0,a.jsx)(o.Ht,{client:t,children:(0,a.jsxs)(i.Bc,{delayDuration:300,children:[(0,a.jsx)(w,{}),e]})})})}},46794:(e,t,n)=>{"use strict";n.d(t,{b:()=>a});let a=(0,n(1934).v)(e=>({lastEvent:void 0,events:[],updatedAt:void 0,addEvent:t=>e(e=>{let n=function(e,t){if(t)return t;let n=(e??"").toLowerCase();if(n){if("failed"===n)return"error";if("sent"===n)return"alert";if(n.startsWith("ok"))return"ok"}}(t.status,t.indicatorType),a={...t,indicatorType:n,actionable:"alert"===n||"error"===n},r=[a,...e.events];return r.length>20&&(r.length=20),{lastEvent:a,events:r,updatedAt:Date.now()}}),clear:()=>e({lastEvent:void 0,events:[],updatedAt:void 0})}))},49397:(e,t,n)=>{Promise.resolve().then(n.t.bind(n,7086,23)),Promise.resolve().then(n.t.bind(n,84438,23)),Promise.resolve().then(n.t.bind(n,51743,23)),Promise.resolve().then(n.bind(n,37279)),Promise.resolve().then(n.bind(n,25044))},51743:()=>{},70872:(e,t,n)=>{"use strict";n.d(t,{Bc:()=>o,ZI:()=>l,k$:()=>c,m_:()=>i});var a=n(95155);n(12115);var r=n(28935),s=n(52799);function o({delayDuration:e=0,...t}){return(0,a.jsx)(r.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function i({...e}){return(0,a.jsx)(o,{children:(0,a.jsx)(r.Root,{"data-slot":"tooltip",...e})})}function c({...e}){return(0,a.jsx)(r.Trigger,{"data-slot":"tooltip-trigger",...e})}function l({className:e,sideOffset:t=0,children:n,...o}){return(0,a.jsx)(r.Portal,{children:(0,a.jsxs)(r.Content,{"data-slot":"tooltip-content",sideOffset:t,className:(0,s.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...o,children:[n,(0,a.jsx)(r.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},83099:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});let a=(0,n(1934).v)((e,t)=>({sessionKey:null,activeRun:null,activeFiles:new Set,lastFileTouchAt:null,changeSets:[],review:{open:!1,changeSetId:null,filePath:null},dismissed:new Set,loading:!1,error:void 0,setSessionKey:t=>e({sessionKey:t}),setActiveRun:t=>e({activeRun:t,...t?{}:{lastFileTouchAt:null}}),touchFile:t=>e(e=>{let n=new Set(e.activeFiles);return n.add(t),{activeFiles:n,lastFileTouchAt:Date.now()}}),clearActiveFiles:()=>e({activeFiles:new Set,lastFileTouchAt:null}),loadChangeSets:async()=>{let n=t().sessionKey;if(n){e({loading:!0,error:void 0});try{let t=await fetch(`/api/changes?sessionKey=${encodeURIComponent(n)}`);if(!t.ok)throw Error("Failed to load change sets");let a=await t.json();e({changeSets:a,loading:!1})}catch(t){e({loading:!1,error:String(t)})}}},openReview:(t,n)=>e({review:{open:!0,changeSetId:t,filePath:n}}),closeReview:()=>e({review:{open:!1,changeSetId:null,filePath:null}}),dismissChangeSet:t=>e(e=>{let n=new Set(e.dismissed);return n.add(t),{dismissed:n}})}))}},e=>{e.O(0,[1817,3334,330,7300,6609,8935,112,1178,8441,3794,7358],()=>e(e.s=49397)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[276,1607,1738,1811,2596,2626,2752,2895,2922,3487,3742,4380,4477,4483,4896,5347,5362,5389,5402,6202,6244,6819,6967,6988,7244,7625,7851,7897,8167,8321,8455,8742,8974,9498,9861,9986],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|