zigrix 0.1.0-alpha.8 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +159 -120
  3. package/dist/agents/registry.js +19 -2
  4. package/dist/agents/roles.d.ts +10 -0
  5. package/dist/agents/roles.js +83 -0
  6. package/dist/config/defaults.d.ts +88 -6
  7. package/dist/config/defaults.js +82 -50
  8. package/dist/config/load.d.ts +5 -3
  9. package/dist/config/load.js +69 -30
  10. package/dist/config/schema.d.ts +46 -4
  11. package/dist/config/schema.js +49 -3
  12. package/dist/configure.d.ts +2 -0
  13. package/dist/configure.js +37 -14
  14. package/dist/dashboard/.next/BUILD_ID +1 -1
  15. package/dist/dashboard/.next/app-build-manifest.json +13 -13
  16. package/dist/dashboard/.next/app-path-routes-manifest.json +3 -3
  17. package/dist/dashboard/.next/build-manifest.json +2 -2
  18. package/dist/dashboard/.next/prerender-manifest.json +6 -6
  19. package/dist/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/dist/dashboard/.next/server/app/_not-found.html +1 -1
  21. package/dist/dashboard/.next/server/app/_not-found.rsc +1 -1
  22. package/dist/dashboard/.next/server/app/api/auth/login/route.js +1 -1
  23. package/dist/dashboard/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  24. package/dist/dashboard/.next/server/app/api/auth/logout/route.js +1 -1
  25. package/dist/dashboard/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  26. package/dist/dashboard/.next/server/app/api/auth/session/route.js +1 -1
  27. package/dist/dashboard/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
  28. package/dist/dashboard/.next/server/app/api/auth/setup/route.js +1 -1
  29. package/dist/dashboard/.next/server/app/api/auth/setup/route_client-reference-manifest.js +1 -1
  30. package/dist/dashboard/.next/server/app/api/overview/route_client-reference-manifest.js +1 -1
  31. package/dist/dashboard/.next/server/app/api/stream/route_client-reference-manifest.js +1 -1
  32. package/dist/dashboard/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  33. package/dist/dashboard/.next/server/app/api/tasks/[taskId]/conversation/route_client-reference-manifest.js +1 -1
  34. package/dist/dashboard/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  35. package/dist/dashboard/.next/server/app/login/page_client-reference-manifest.js +1 -1
  36. package/dist/dashboard/.next/server/app/login.html +1 -1
  37. package/dist/dashboard/.next/server/app/login.rsc +1 -1
  38. package/dist/dashboard/.next/server/app/page.js +2 -2
  39. package/dist/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  40. package/dist/dashboard/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  41. package/dist/dashboard/.next/server/app/setup.html +1 -1
  42. package/dist/dashboard/.next/server/app/setup.rsc +1 -1
  43. package/dist/dashboard/.next/server/app-paths-manifest.json +3 -3
  44. package/dist/dashboard/.next/server/chunks/972.js +1 -1
  45. package/dist/dashboard/.next/server/functions-config-manifest.json +3 -3
  46. package/dist/dashboard/.next/server/middleware.js +1 -1
  47. package/dist/dashboard/.next/server/pages/404.html +1 -1
  48. package/dist/dashboard/.next/server/pages/500.html +1 -1
  49. package/dist/dashboard/.next/static/chunks/app/page-0314989c31e18b4b.js +1 -0
  50. package/dist/dashboard/.next/static/css/{94d75aff24d0c077.css → c3a7306cb2ba3f6c.css} +1 -1
  51. package/dist/dashboard.js +47 -0
  52. package/dist/doctor.js +28 -5
  53. package/dist/index.js +175 -171
  54. package/dist/onboard.d.ts +76 -2
  55. package/dist/onboard.js +529 -25
  56. package/dist/orchestration/dispatch.d.ts +3 -1
  57. package/dist/orchestration/dispatch.js +173 -45
  58. package/dist/orchestration/evidence.js +31 -4
  59. package/dist/orchestration/finalize.d.ts +1 -0
  60. package/dist/orchestration/finalize.js +5 -3
  61. package/dist/orchestration/report.js +9 -1
  62. package/dist/orchestration/worker.d.ts +1 -1
  63. package/dist/orchestration/worker.js +58 -8
  64. package/dist/rules/templates.js +3 -6
  65. package/dist/state/tasks.d.ts +12 -0
  66. package/dist/state/tasks.js +7 -0
  67. package/package.json +23 -2
  68. package/rules/defaults/README.md +9 -9
  69. package/rules/defaults/{back-zig.md → backend-agent.md} +4 -4
  70. package/rules/defaults/{front-zig.md → frontend-agent.md} +4 -4
  71. package/rules/defaults/orchestrator-agent.md +261 -0
  72. package/rules/defaults/{qa-zig.md → qa-agent.md} +11 -11
  73. package/rules/defaults/{sec-zig.md → security-agent.md} +4 -4
  74. package/rules/defaults/{sys-zig.md → system-agent.md} +8 -9
  75. package/rules/defaults/worker-common.md +25 -19
  76. package/skills/zigrix-doctor/SKILL.md +4 -2
  77. package/skills/zigrix-evidence/SKILL.md +7 -3
  78. package/skills/zigrix-main-agent-guide/SKILL.md +128 -0
  79. package/skills/zigrix-shared/SKILL.md +27 -3
  80. package/skills/zigrix-task-create/SKILL.md +8 -2
  81. package/skills/zigrix-task-status/SKILL.md +5 -2
  82. package/skills/zigrix-worker/SKILL.md +12 -4
  83. package/dist/dashboard/.next/static/chunks/app/page-25f54e54e74fb3af.js +0 -1
  84. package/rules/defaults/pro-zig.md +0 -238
  85. /package/dist/dashboard/.next/static/{2a4glWei05xr4Jg0Ly6cp → PT4hYxzrqxj-Zq4ZjtKNg}/_buildManifest.js +0 -0
  86. /package/dist/dashboard/.next/static/{2a4glWei05xr4Jg0Ly6cp → PT4hYxzrqxj-Zq4ZjtKNg}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"470":{"*":{"id":"39508","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"5554":{"*":{"id":"13932","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9181":{"*":{"id":"80137","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/globals.css":{"id":3673,"name":"*","chunks":["177","static/chunks/app/layout-96206a34ff37a783.js"],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/SetupForm.tsx":{"id":470,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/LoginForm.tsx":{"id":5554,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/DashboardClient.tsx":{"id":9181,"name":"*","chunks":["856","static/chunks/856-4671c40140d5540a.js","974","static/chunks/app/page-25f54e54e74fb3af.js"],"async":false}},"entryCSSFiles":{"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/":[],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/layout":[{"inlined":false,"path":"static/css/9f7ffdac282b0450.css"}],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/page":[{"inlined":false,"path":"static/css/94d75aff24d0c077.css"}]},"rscModuleMapping":{"470":{"*":{"id":"90726","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5554":{"*":{"id":"35894","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9181":{"*":{"id":"45146","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"470":{"*":{"id":"39508","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"5554":{"*":{"id":"13932","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"9843":{"*":{"id":"71128","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/globals.css":{"id":3673,"name":"*","chunks":["177","static/chunks/app/layout-96206a34ff37a783.js"],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/LoginForm.tsx":{"id":5554,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/DashboardClient.tsx":{"id":9843,"name":"*","chunks":["856","static/chunks/856-4671c40140d5540a.js","974","static/chunks/app/page-0314989c31e18b4b.js"],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/SetupForm.tsx":{"id":470,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/":[],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/layout":[{"inlined":false,"path":"static/css/9f7ffdac282b0450.css"}],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/page":[{"inlined":false,"path":"static/css/c3a7306cb2ba3f6c.css"}]},"rscModuleMapping":{"470":{"*":{"id":"90726","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5554":{"*":{"id":"35894","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"9843":{"*":{"id":"45146","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/setup/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"470":{"*":{"id":"39508","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"5554":{"*":{"id":"13932","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9181":{"*":{"id":"80137","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/globals.css":{"id":3673,"name":"*","chunks":["177","static/chunks/app/layout-96206a34ff37a783.js"],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/SetupForm.tsx":{"id":470,"name":"*","chunks":["620","static/chunks/app/setup/page-a01ab6e2460293c3.js"],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/LoginForm.tsx":{"id":5554,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/DashboardClient.tsx":{"id":9181,"name":"*","chunks":["856","static/chunks/856-4671c40140d5540a.js","974","static/chunks/app/page-25f54e54e74fb3af.js"],"async":false}},"entryCSSFiles":{"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/":[],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/layout":[{"inlined":false,"path":"static/css/9f7ffdac282b0450.css"}],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/page":[{"inlined":false,"path":"static/css/94d75aff24d0c077.css"}],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/setup/page":[{"inlined":false,"path":"static/css/1f406f685b1e941e.css"}]},"rscModuleMapping":{"470":{"*":{"id":"90726","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5554":{"*":{"id":"35894","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9181":{"*":{"id":"45146","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/setup/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"470":{"*":{"id":"39508","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"5554":{"*":{"id":"13932","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"9843":{"*":{"id":"71128","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/globals.css":{"id":3673,"name":"*","chunks":["177","static/chunks/app/layout-96206a34ff37a783.js"],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/LoginForm.tsx":{"id":5554,"name":"*","chunks":[],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/DashboardClient.tsx":{"id":9843,"name":"*","chunks":["856","static/chunks/856-4671c40140d5540a.js","974","static/chunks/app/page-0314989c31e18b4b.js"],"async":false},"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/components/SetupForm.tsx":{"id":470,"name":"*","chunks":["620","static/chunks/app/setup/page-a01ab6e2460293c3.js"],"async":false}},"entryCSSFiles":{"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/":[],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/layout":[{"inlined":false,"path":"static/css/9f7ffdac282b0450.css"}],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/page":[{"inlined":false,"path":"static/css/c3a7306cb2ba3f6c.css"}],"/Users/janos/.openclaw/workspace/projects/zigrix/dashboard/src/app/setup/page":[{"inlined":false,"path":"static/css/1f406f685b1e941e.css"}]},"rscModuleMapping":{"470":{"*":{"id":"90726","name":"*","chunks":[],"async":false}},"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"5554":{"*":{"id":"35894","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"9843":{"*":{"id":"45146","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1 +1 @@
1
- <!DOCTYPE html><!--2a4glWei05xr4Jg0Ly6cp--><html lang="ko"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/9f7ffdac282b0450.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/1f406f685b1e941e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-1c485544eee88ef7.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-ebd51be49873d76c.js" async=""></script><script src="/_next/static/chunks/main-app-458501fc143f8dcb.js" async=""></script><script src="/_next/static/chunks/app/setup/page-a01ab6e2460293c3.js" async=""></script><title>Zigrix Dashboard</title><meta name="description" content="Zigrix task orchestration dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><main class="AuthForm_page__BW2iZ"><section class="AuthForm_card__Ksq5w"><h1 class="AuthForm_title__0zwBF">Zigrix Setup</h1><p class="AuthForm_desc__5DseA">최초 관리자 계정을 생성합니다.</p><form class="AuthForm_form__ugvBR"><label>Username<input required="" value=""/></label><label>Password (min 8)<input type="password" minLength="8" required="" value=""/></label><label>Password 확인<input type="password" minLength="8" required="" value=""/></label><button type="submit" class="AuthForm_submit__Y2aJX">관리자 계정 생성</button></form></section></main><!--$--><!--/$--><script src="/_next/static/chunks/webpack-1c485544eee88ef7.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[9766,[],\"\"]\n3:I[8924,[],\"\"]\n4:I[470,[\"620\",\"static/chunks/app/setup/page-a01ab6e2460293c3.js\"],\"SetupForm\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/_next/static/css/9f7ffdac282b0450.css\",\"style\"]\n:HL[\"/_next/static/css/1f406f685b1e941e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"2a4glWei05xr4Jg0Ly6cp\",\"p\":\"\",\"c\":[\"\",\"setup\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"setup\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9f7ffdac282b0450.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"setup\",[\"$\",\"$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\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1f406f685b1e941e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],null],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"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\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Zigrix Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Zigrix task orchestration dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--PT4hYxzrqxj_Zq4ZjtKNg--><html lang="ko"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/9f7ffdac282b0450.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/1f406f685b1e941e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-1c485544eee88ef7.js"/><script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script><script src="/_next/static/chunks/255-ebd51be49873d76c.js" async=""></script><script src="/_next/static/chunks/main-app-458501fc143f8dcb.js" async=""></script><script src="/_next/static/chunks/app/setup/page-a01ab6e2460293c3.js" async=""></script><title>Zigrix Dashboard</title><meta name="description" content="Zigrix task orchestration dashboard"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><main class="AuthForm_page__BW2iZ"><section class="AuthForm_card__Ksq5w"><h1 class="AuthForm_title__0zwBF">Zigrix Setup</h1><p class="AuthForm_desc__5DseA">최초 관리자 계정을 생성합니다.</p><form class="AuthForm_form__ugvBR"><label>Username<input required="" value=""/></label><label>Password (min 8)<input type="password" minLength="8" required="" value=""/></label><label>Password 확인<input type="password" minLength="8" required="" value=""/></label><button type="submit" class="AuthForm_submit__Y2aJX">관리자 계정 생성</button></form></section></main><!--$--><!--/$--><script src="/_next/static/chunks/webpack-1c485544eee88ef7.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[9766,[],\"\"]\n3:I[8924,[],\"\"]\n4:I[470,[\"620\",\"static/chunks/app/setup/page-a01ab6e2460293c3.js\"],\"SetupForm\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/_next/static/css/9f7ffdac282b0450.css\",\"style\"]\n:HL[\"/_next/static/css/1f406f685b1e941e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"PT4hYxzrqxj-Zq4ZjtKNg\",\"p\":\"\",\"c\":[\"\",\"setup\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"setup\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9f7ffdac282b0450.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"setup\",[\"$\",\"$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\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1f406f685b1e941e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],null],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"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\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Zigrix Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Zigrix task orchestration dashboard\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
@@ -10,7 +10,7 @@ c:"$Sreact.suspense"
10
10
  e:I[7150,[],""]
11
11
  :HL["/_next/static/css/9f7ffdac282b0450.css","style"]
12
12
  :HL["/_next/static/css/1f406f685b1e941e.css","style"]
13
- 0:{"P":null,"b":"2a4glWei05xr4Jg0Ly6cp","p":"","c":["","setup"],"i":false,"f":[[["",{"children":["setup",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/9f7ffdac282b0450.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"ko","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["setup",["$","$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":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1f406f685b1e941e.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L5",null,{"children":["$L6",["$","$L7",null,{"promise":"$@8"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$L9",null,{"children":"$La"}],null],["$","$Lb",null,{"children":["$","div",null,{"hidden":true,"children":["$","$c",null,{"fallback":null,"children":"$Ld"}]}]}]]}],false]],"m":"$undefined","G":["$e",[]],"s":false,"S":true}
13
+ 0:{"P":null,"b":"PT4hYxzrqxj-Zq4ZjtKNg","p":"","c":["","setup"],"i":false,"f":[[["",{"children":["setup",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/9f7ffdac282b0450.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"ko","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["setup",["$","$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":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/1f406f685b1e941e.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L5",null,{"children":["$L6",["$","$L7",null,{"promise":"$@8"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$L9",null,{"children":"$La"}],null],["$","$Lb",null,{"children":["$","div",null,{"hidden":true,"children":["$","$c",null,{"fallback":null,"children":"$Ld"}]}]}]]}],false]],"m":"$undefined","G":["$e",[]],"s":false,"S":true}
14
14
  a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
15
15
  6:null
16
16
  8:{"metadata":[["$","title","0",{"children":"Zigrix Dashboard"}],["$","meta","1",{"name":"description","content":"Zigrix task orchestration dashboard"}]],"error":null,"digest":"$undefined"}
@@ -5,11 +5,11 @@
5
5
  "/api/auth/setup/route": "app/api/auth/setup/route.js",
6
6
  "/api/auth/login/route": "app/api/auth/login/route.js",
7
7
  "/api/overview/route": "app/api/overview/route.js",
8
- "/api/tasks/[taskId]/conversation/route": "app/api/tasks/[taskId]/conversation/route.js",
9
8
  "/api/tasks/[taskId]/cancel/route": "app/api/tasks/[taskId]/cancel/route.js",
9
+ "/api/tasks/[taskId]/conversation/route": "app/api/tasks/[taskId]/conversation/route.js",
10
10
  "/api/tasks/[taskId]/route": "app/api/tasks/[taskId]/route.js",
11
11
  "/api/stream/route": "app/api/stream/route.js",
12
- "/setup/page": "app/setup/page.js",
13
12
  "/login/page": "app/login/page.js",
14
- "/page": "app/page.js"
13
+ "/page": "app/page.js",
14
+ "/setup/page": "app/setup/page.js"
15
15
  }
@@ -1 +1 @@
1
- "use strict";exports.id=972,exports.ids=[972],exports.modules={48383:(a,b,c)=>{c.d(b,{HB:()=>B});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(48161),i=c.n(h);let j=g().join(i().homedir(),".openclaw","agents"),k=g().join(i().homedir(),".openclaw","subagents","runs.json"),l=g().join(i().homedir(),".openclaw","openclaw.json");function m(a){try{return e().readFileSync(a,"utf-8")}catch{return""}}function n(a,b={}){try{let c=e().readFileSync(a,"utf-8"),d=JSON.parse(c);return q(d)?d:b}catch{return b}}function o(a){let b=m(a);if(!b.trim())return[];let c=[];for(let a of b.split(/\r?\n/))if(a.trim())try{let b=JSON.parse(a);q(b)&&c.push(function(a){let b=r(a.ts)??function(a){if("number"==typeof a&&Number.isFinite(a))return new Date(a).toISOString();if("string"==typeof a){let b=a.trim();if(!b)return null;let c=Number(b);if(Number.isFinite(c))return new Date(c).toISOString();let d=Date.parse(b);if(Number.isFinite(d))return new Date(d).toISOString()}return null}(a.timestamp)??void 0,c=r(a.event)??r(a.action)??void 0,d=r(a.sessionKey)??r(a.session_key)??r(a.childSessionKey)??void 0,e=r(a.runId)??r(a.run_id)??void 0;return{...a,ts:b,event:c,sessionKey:d,runId:e}}(b))}catch{}return c}function p(a){return a.map((a,b)=>({row:a,idx:b})).sort((a,b)=>{let c=Date.parse(a.row.ts||""),d=Date.parse(b.row.ts||""),e=(isNaN(d)?0:d)-(isNaN(c)?0:c);return 0!==e?e:b.idx-a.idx}).map(a=>a.row)}function q(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function r(a){if("string"!=typeof a)return null;let b=a.trim();return b.length>0?b:null}function s(a){let b=String(a.event||a.action||"");return"task_created"===b?"OPEN":"task_started"===b?"IN_PROGRESS":"reported"===b?"REPORTED":"blocked"===b?"BLOCKED":"evidence_merged"===b&&"DONE_PENDING_REPORT"===String(a.status||"").toUpperCase()?"DONE_PENDING_REPORT":null}function t(a){for(let b of p(a)){let a=s(b);if(a)return a;if(["worker_dispatched","worker_started","worker_done","worker_skipped","evidence_collected"].includes(String(b.event||b.action||"")))continue;let c=r(b.status);if(c)return c}return null}function u(a,b,c){let d=r(n(g().join(c,`${a}.meta.json`),{}).status);return d||t(b.filter(b=>b.taskId===a))}function v(a,b,c){let d=b.filter(b=>b.taskId===a),e=null,f=null,g=null;for(let a=0;a<d.length;a++){let b=d[a],c=String(b.ts||""),h=String(e?.ts||"");(!e||c>h||c===h&&a>=e.__idx)&&(e={...b,__idx:a}),"string"==typeof b.scale&&b.scale&&(f=b.scale),"string"==typeof b.title&&b.title&&(g=b.title),!f&&q(b.payload)&&"string"==typeof b.payload.scale&&(f=b.payload.scale),!g&&q(b.payload)&&"string"==typeof b.payload.title&&(g=b.payload.title)}let h=d.map((a,b)=>b);h.sort((a,b)=>{let c=String(d[b].ts||"").localeCompare(String(d[a].ts||""));return 0!==c?c:b-a});let i=h.map(a=>d[a]);return{taskId:a,status:u(a,b,c),scale:f||e?.scale||null,title:g||e?.title||null,updatedAt:e?.ts||null,latestEvent:e?.event||null,events:i.slice(0,50)}}function w(a){let b=a.match(/^agent:([^:]+):/);return b?.[1]||null}function x(a){let b=a.match(/^agent:([^:]+):subagent:([^:\s]+)$/);return b?{agentId:b[1],sessionId:b[2]}:null}function y(a,b,c,d,f,h){let i=b.filter(b=>b.taskId===a),j=function(a,b){let c=n(g().join(b,`${a}.meta.json`),{}),d=new Set,e=new Map,f=new Map,h=(a,b,c)=>{let g=r(a);if(!g)return;d.add(g);let h=w(g),i=b||h;i&&e.set(g,i),c&&f.set(g,c)};if(h(c.orchestratorSessionKey,"pro-zig",r(c.orchestratorSessionId)),q(c.workerSessions))for(let[a,b]of Object.entries(c.workerSessions))q(b)&&h(b.sessionKey,a,r(b.sessionId));return{sessionKeys:d,sessionToAgent:e,metaSessionIdMap:f}}(a,c),k=function(a,b){let c=g().join(b,a),d=new Set,f=new Map;if(!e().existsSync(c))return{sessionKeys:d,sessionToAgent:f};for(let a of e().readdirSync(c).filter(a=>a.endsWith(".json"))){if("_merged.json"===a)continue;let b=n(g().join(c,a),{}),e=r(b.sessionKey),h=r(b.agentId)||a.replace(/\.json$/,"");e&&(d.add(e),h&&f.set(e,h))}return{sessionKeys:d,sessionToAgent:f}}(a,d),l=new Set([...Array.from(j.sessionKeys),...Array.from(k.sessionKeys)]),m=new Map([...Array.from(j.sessionToAgent.entries()),...Array.from(k.sessionToAgent.entries())]),o=(a,b)=>{l.add(a);let c=w(a),d=b||c;d&&m.set(a,d)};for(let a of function(a,b){let c=new Set;for(let d of a)for(let a of b){let b=r(d[a]);b&&c.add(b)}return Array.from(c)}(i,["sessionKey","session_key","parentSessionKey","parent_session_key"]))o(a);for(let a of i.filter(a=>["worker_dispatched","worker_done"].includes(String(a.event||a.action||"")))){let b=r(a.targetAgent)||r(a.agentId)||r(a.actor),c=r(a.sessionKey)||r(a.session_key)||r(a.childSessionKey);c&&o(c,b)}let p=function(a,b,c){if(0===c.length)return new Map;let d=new Set(c),f=new Map;for(let c of b)try{let b=g().join(a,c,"sessions","sessions.json"),h=e().readFileSync(b,"utf-8"),i=JSON.parse(h);if(!q(i))continue;for(let[a,b]of Object.entries(i)){if(!d.has(a)||!q(b))continue;let c=r(b.sessionId);c&&f.set(a,c)}}catch{}return f}(f,h,Array.from(l));return j.metaSessionIdMap.forEach((a,b)=>{p.has(b)||p.set(b,a)}),{sessionKeys:Array.from(l),sessionToAgent:m,sessionIdMap:p}}function z(a,b,c){let d=g().join(a,b,"sessions");if(!e().existsSync(d))return null;let f=g().join(d,`${c}.jsonl`);if(e().existsSync(f))return{filePath:f,source:"active"};let h=`${c}.jsonl.deleted.`,i=e().readdirSync(d).filter(a=>a.startsWith(h)).sort((a,b)=>b.localeCompare(a));return 0===i.length?null:{filePath:g().join(d,i[0]),source:"deleted"}}function A(a){let b=a.timestamp;if("number"==typeof b&&Number.isFinite(b))return b;if("string"==typeof b){let a=Number(b);if(Number.isFinite(a))return a;let c=Date.parse(b);if(Number.isFinite(c))return c}let c=a.ts;if("string"==typeof c){let a=Date.parse(c);if(Number.isFinite(a))return a}return null}function B(a){let b=a?.zigrixHome||process.env.ZIGRIX_HOME||g().join(i().homedir(),".zigrix"),c={zigrixHome:b,indexPath:g().join(b,"index.json"),eventsPath:g().join(b,"tasks.jsonl"),specsDir:g().join(b,"tasks"),evidenceDir:g().join(b,"evidence"),agentsStateDir:a?.agentsStateDir||process.env.OPENCLAW_AGENTS_DIR||j,subagentRunsPath:a?.subagentRunsPath||process.env.OPENCLAW_SUBAGENT_RUNS_PATH||k,openclawConfigPath:a?.openclawConfigPath||process.env.OPENCLAW_CONFIG_PATH||l},d=a?.invokeTool||function(a){let b=a?.gatewayUrl||process.env.OPENCLAW_GATEWAY_URL||"http://127.0.0.1:18789",c=a?.gatewayToken||process.env.OPENCLAW_GATEWAY_TOKEN||null,d=a?.fetchImpl||fetch,e=`${b.replace(/\/+$/,"")}/tools/invoke`;return async(a,b)=>{let f={"Content-Type":"application/json"};c&&(f.Authorization=`Bearer ${c}`);let g=await d(e,{method:"POST",headers:f,body:JSON.stringify({tool:a,args:b})}),h=await g.text(),i=null;if(h.trim())try{i=JSON.parse(h)}catch{i=null}if(!g.ok){let a=q(i)&&q(i.error)&&"string"==typeof i.error.message?i.error.message:h.slice(0,500)||`HTTP ${g.status}`;throw Error(`gateway_invoke_failed(${g.status}): ${a}`)}if(!q(i)||!0!==i.ok)throw Error("gateway_invoke_failed: invalid_response");return i.result}}({gatewayUrl:a?.gatewayUrl,gatewayToken:a?.gatewayToken,fetchImpl:a?.fetchImpl}),f=function(a,b){let c=Number.parseInt(String(a??""),10);return!Number.isFinite(c)||c<=0?200:c}(a?.sessionsHistoryLimit??process.env.SESSIONS_HISTORY_LIMIT,0);function h(){let a=n(g().join(b,"zigrix.config.json"),{}).agents;return Array.isArray(a)?a.map(a=>"string"==typeof a?a:q(a)?r(a.id)||r(a.agentId):null).filter(a=>!!a):q(a)?Object.keys(a):[]}async function B(a){var b;let e=o(c.eventsPath),g=h(),i=y(a,e,c.specsDir,c.evidenceDir,c.agentsStateDir,g),j=i.sessionKeys,k=p(e).filter(b=>b.taskId===a).slice(0,50).map(a=>({ts:a.ts||null,event:a.event||a.action||null,status:a.status||null,actor:a.actor||a.agentId||null,targetAgent:r(a.targetAgent)||r(a.agentId),runId:r(a.runId),sessionKey:r(a.sessionKey)})),l=!0,n=await Promise.all(j.map(async a=>{let b=null;try{let b=await d("sessions_history",{sessionKey:a,limit:f,includeTools:!0}),c=q(b)?b:{},e=q(c.details)?c.details:{},g=(Array.isArray(e.messages)?e.messages:Array.isArray(c.messages)?c.messages:[]).filter(a=>q(a));if(g.length>0||!x(a))return{sessionKey:a,ok:!0,messageCount:g.length,error:null,messages:g}}catch(a){b=String(a?.message||a),l=!1}try{let d=x(a);if(!d)return{sessionKey:a,ok:!b,messageCount:0,error:b,messages:[]};let e=i.sessionIdMap.get(a)??d.sessionId,f=z(c.agentsStateDir,d.agentId,e);if(f||e===d.sessionId||(f=z(c.agentsStateDir,d.agentId,d.sessionId)),!f)return{sessionKey:a,ok:!b,messageCount:0,error:b,messages:[]};let g=function(a){let b=m(a);if(!b.trim())return[];let c=[];for(let a of b.split(/\r?\n/))if(a.trim())try{let b=JSON.parse(a);if(!q(b)||"message"!==b.type)continue;let d=q(b.message)?b.message:b;c.push({id:r(b.id),parentId:r(b.parentId),role:r(d.role),content:d.content,timestamp:A(b)??r(b.ts)})}catch{}return c}(f.filePath);return l=!0,{sessionKey:a,ok:!0,messageCount:g.length,error:null,messages:g}}catch(c){return{sessionKey:a,ok:!1,messageCount:0,error:b||String(c?.message||c),messages:[]}}})),s=(b=i.sessionToAgent,n.flatMap(({sessionKey:a,messages:c},d)=>c.filter(b=>!function(a,b){var c;if("pro-zig"!==w(a))return!1;let d=r(b.role),e=("string"==typeof(c=b.content)?c:!Array.isArray(c)?"":c.map(a=>a&&"object"==typeof a?"string"==typeof a.text?a.text:"string"==typeof a.thinking?a.thinking:"":"").filter(Boolean).join("\n")).trim();if(!e)return!1;if("assistant"===d&&"NO_REPLY"===e)return!0;if("user"!==d)return!1;let f=e.toLowerCase();return f.includes("internal task completion event")&&f.includes("source: subagent")}(a,b)).map((c,e)=>{let f=A(c),g=f?new Date(f).toISOString():r(c.ts),h=b.get(a)||w(a)||"unknown";return{__sortTs:f??Number.MAX_SAFE_INTEGER,__sessionIdx:d,__sortIdx:e,row:{sessionKey:a,agentId:h,agentName:h,role:r(c.role),timestamp:f,ts:g,toolName:r(c.toolName),toolCallId:r(c.toolCallId),isError:!!c.isError,content:c.content,raw:c}}})).sort((a,b)=>{let c=a.__sortTs-b.__sortTs;if(0!==c)return c;let d=a.__sessionIdx-b.__sessionIdx;return 0!==d?d:a.__sortIdx-b.__sortIdx}).map(a=>a.row)),t=n.map(a=>({sessionKey:a.sessionKey,ok:a.ok,messageCount:a.messageCount,error:a.error}));return{generatedAt:new Date().toISOString(),taskId:a,sessionKeys:j,stream:s,recentEvents:k,sessions:t,openclawAvailable:l}}async function C(a){let b=o(c.eventsPath),f=t(b.filter(b=>String(b.taskId||"")===a));if("IN_PROGRESS"!==f&&"OPEN"!==f)throw function(a,b){let c=Error(b);return c.code=a,c}("task_not_cancellable",`task_not_cancellable(taskId=${a}, status=${String(f||"unknown")})`);let g=h(),{sessionKeys:i}=y(a,b,c.specsDir,c.evidenceDir,c.agentsStateDir,g),j=[];for(let a of i){try{await d("subagents",{action:"kill",target:a})}catch{}j.push(a)}let k={ts:new Date().toISOString(),event:"blocked",taskId:a,phase:"execution",status:"BLOCKED",actor:"manual",payload:{reason:"user_cancelled",killedSessions:j}};return e().appendFileSync(c.eventsPath,JSON.stringify(k)+"\n","utf-8"),{ok:!0,killedSessions:j}}return{paths:c,loadOverview:function(){let a=function(a={}){let b=q(a.statusBuckets)?a.statusBuckets:{},c={OPEN:[],IN_PROGRESS:[],BLOCKED:[],DONE_PENDING_REPORT:[],REPORTED:[]};for(let[a,d]of Object.entries(b))c[a]=Array.isArray(d)?d:[];return{updatedAt:"string"==typeof a.updatedAt?a.updatedAt:null,statusBuckets:c,activeTasks:q(a.activeTasks)?a.activeTasks:{},recentEvents:Array.isArray(a.recentEvents)?a.recentEvents:[]}}(n(c.indexPath,{})),b=o(c.eventsPath);h();let d=Object.fromEntries(Object.entries(a.statusBuckets).map(([a,b])=>[a,Array.isArray(b)?b.length:0])),e=Object.entries(a.activeTasks).map(([a,d])=>{let e=q(d)?d:{},f=v(a,b,c.specsDir);return{taskId:a,status:"string"==typeof e.status?e.status:f.status,updatedAt:"string"==typeof e.updatedAt?e.updatedAt:f.updatedAt,scale:f.scale,title:f.title}}),f=p(b).slice(0,30).map(a=>({ts:a.ts,event:a.event||a.action,taskId:a.taskId,status:a.status,actor:a.actor||a.agentId,agentId:a.agentId,targetAgent:a.targetAgent||a.agentId,title:a.title})),g=function(a,b){let c=new Map,d=p(a);for(let e of d){let f=e.taskId;!f||c.has(f)||(d.find(a=>a.taskId===f&&!!s(a)),c.set(f,{taskId:f,ts:e.ts||null,event:e.event||e.action||null,status:u(f,a,b),scale:e.scale||null,actor:e.actor||e.agentId||null}))}return Array.from(c.values())}(b,c.specsDir);return{generatedAt:new Date().toISOString(),...{},updatedAt:a.updatedAt,bucketCounts:d,statusBuckets:a.statusBuckets,activeTasks:e.sort((a,b)=>String(b.updatedAt||"").localeCompare(String(a.updatedAt||""))),recentEvents:f,taskHistory:g,openclawAvailable:!0}},loadTaskDetail:function(a){let b=v(a,o(c.eventsPath),c.specsDir),d=function(a,b){let c=g().join(b,`${a}.md`),d=m(c),e=n(g().join(b,`${a}.meta.json`),{}),f=d?d.split(/\r?\n/):[],h={};for(let[a,b]of[["taskId",e.taskId],["title",e.title],["scale",e.scale],["requestedBy",e.requestedBy],["createdAt",e.createdAt],["projectKey",e.projectKey],["projectDir",e.projectDir],["projectPath",e.projectPath]]){let c=r(b);c&&(h[a]=c)}let i=0;for(let a of f){let b=a.match(/^(`{3,})/);if(b){0===i?i=b[1].length:b[1].length>=i&&(i=0);continue}if(i>0)continue;let c=a.match(/^-\s+([^:]+):\s*(.+)$/);if(!c)continue;let d=c[1].trim();d in h||(h[d]=c[2].trim())}let j=f.find(a=>a.trim().startsWith("- Next Action:")),k=f.find(a=>a.trim().startsWith("- Resume Hint")),l=r(e.nextAction),o=r(e.resumeHint);return{exists:!!d||Object.keys(h).length>0||!!l||!!o,path:c,metadata:h,nextAction:l||(j?j.split(":").slice(1).join(":").trim():null),resumeHint:o||(k?k.split(":").slice(1).join(":").trim():null),preview:d?f.slice(0,80).join("\n"):void 0}}(a,c.specsDir),f=function(a,b){let c=g().join(b,`${a}.meta.json`),d=n(c,{});return{exists:e().existsSync(c),path:c,data:d}}(a,c.specsDir),h=function(a,b){let c=g().join(b,a);if(!e().existsSync(c))return{exists:!1,path:c,agents:[],merged:null};let d=e().readdirSync(c).filter(a=>a.endsWith(".json")),f=[],h=null;for(let a of d){let b=g().join(c,a),d=n(b,{});if("_merged.json"===a){h={...d,path:b};continue}f.push({file:a,path:b,agentId:"string"==typeof d.agentId?d.agentId:a.replace(/\.json$/,""),runId:"string"==typeof d.runId?d.runId:null,sessionKey:"string"==typeof d.sessionKey?d.sessionKey:null,sessionId:"string"==typeof d.sessionId?d.sessionId:null,ts:"string"==typeof d.ts?d.ts:null})}return{exists:!0,path:c,agents:f.sort((a,b)=>String(b.ts||"").localeCompare(String(a.ts||""))),merged:h}}(a,c.evidenceDir);return{generatedAt:new Date().toISOString(),task:b,spec:d,meta:f,evidence:h}},loadTaskConversation:B,cancelTask:C,getTaskSessionFilePaths:function(a){let b=o(c.eventsPath),d=h(),{sessionKeys:e,sessionIdMap:f}=y(a,b,c.specsDir,c.evidenceDir,c.agentsStateDir,d);return e.map(a=>{let b=x(a);if(!b)return null;let d=f.get(a)??b.sessionId;return g().join(c.agentsStateDir,b.agentId,"sessions",`${d}.jsonl`)}).filter(a=>null!==a)}}}},67360:(a,b,c)=>{c.d(b,{BE:()=>w,IX:()=>n,TI:()=>t,dV:()=>u,gV:()=>A,gw:()=>o,jw:()=>z,xC:()=>v});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(48161),i=c.n(h),j=c(77598),k=c.n(j),l=c(74729),m=c.n(l);let n="zigrix_session",o=43200,p=new TextEncoder,q=new TextDecoder;function r(){return process.env.ZIGRIX_HOME||g().join(i().homedir(),".zigrix")}function s(){return g().join(r(),"dashboard.json")}function t(){let a=s();try{let b=e().readFileSync(a,"utf-8"),c=JSON.parse(b);if(!c||"object"!=typeof c||Array.isArray(c))return{admins:[],sessionSecret:"",corsOrigins:[],createdAt:""};return{admins:Array.isArray(c.admins)?c.admins:[],sessionSecret:"string"==typeof c.sessionSecret?c.sessionSecret:"",corsOrigins:Array.isArray(c.corsOrigins)?c.corsOrigins:[],createdAt:"string"==typeof c.createdAt?c.createdAt:""}}catch{return{admins:[],sessionSecret:"",corsOrigins:[],createdAt:""}}}function u(){return 0===t().admins.length}async function v(a,b){let c={admins:[{username:a,passwordHash:await m().hash(b,12)}],sessionSecret:k().randomBytes(64).toString("hex"),corsOrigins:["http://localhost:3000"],createdAt:new Date().toISOString()},d=s(),f=r();e().existsSync(f)||e().mkdirSync(f,{recursive:!0}),e().writeFileSync(d,JSON.stringify(c,null,2),{encoding:"utf-8",mode:384});try{e().chmodSync(d,384)}catch{}}async function w(a,b){let c=t().admins.find(b=>b.username===a);if(!c)return await m().hash(b,12),!1;if(!await m().compare(b,c.passwordHash))return!1;let d=p.encode(a),e=p.encode(c.username);return d.length===e.length&&k().timingSafeEqual(d,e)}function x(a){return Buffer.from(a).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function y(a,b){let c=await k().subtle.importKey("raw",p.encode(b),{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return x(new Uint8Array(await k().subtle.sign("HMAC",c,p.encode(a))))}async function z(a){let b=t().sessionSecret;if(!b)throw Error("Session secret not configured. Run setup first.");let c=Math.floor(Date.now()/1e3),d=x(p.encode(JSON.stringify({sub:a,iat:c,exp:c+o}))),e=await y(d,b);return`${d}.${e}`}async function A(a){let b;if(!a)return null;let c=a.split(".");if(2!==c.length)return null;let[d,e]=c;if(!d||!e)return null;let f=t().sessionSecret;if(!f||!function(a,b){if(a.length!==b.length)return!1;let c=p.encode(a),d=p.encode(b);return k().timingSafeEqual(c,d)}(await y(d,f),e))return null;try{let a=q.decode(function(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=b.padEnd(4*Math.ceil(b.length/4),"=");return new Uint8Array(Buffer.from(c,"base64"))}(d));b=JSON.parse(a)}catch{return null}if("number"!=typeof b.exp||"number"!=typeof b.iat)return null;let g=Math.floor(Date.now()/1e3);return b.exp<=g||b.iat>g+60?null:{username:"string"==typeof b.sub?b.sub:"",issuedAt:b.iat,expiresAt:b.exp}}}};
1
+ "use strict";exports.id=972,exports.ids=[972],exports.modules={7310:(a,b,c)=>{c.d(b,{I8:()=>k,Tp:()=>m,Tr:()=>j,jE:()=>l});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h);function j(a,b){let c=a?"~"===a?g().homedir():a.startsWith("~/")?i().join(g().homedir(),a.slice(2)):a:a;return i().isAbsolute(c)?i().resolve(c):i().resolve(b,c)}function k(){return i().join(g().homedir(),".zigrix")}function l(a=k()){let b=function(a=k()){return i().join(a,"zigrix.config.json")}(a);try{if(!e().existsSync(b))return null;let a=JSON.parse(e().readFileSync(b,"utf-8"));if(!a||"object"!=typeof a||Array.isArray(a))return null;return a}catch{return null}}function m(a){let b=k();return"string"==typeof a&&a.trim().length>0?j(a,b):b}},48383:(a,b,c)=>{c.d(b,{HB:()=>C});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(48161),i=c.n(h),j=c(7310);let k=g().join(i().homedir(),".openclaw","subagents","runs.json"),l="http://127.0.0.1:18789";function m(a){try{return e().readFileSync(a,"utf-8")}catch{return""}}function n(a,b={}){try{let c=e().readFileSync(a,"utf-8"),d=JSON.parse(c);return q(d)?d:b}catch{return b}}function o(a){let b=m(a);if(!b.trim())return[];let c=[];for(let a of b.split(/\r?\n/))if(a.trim())try{let b=JSON.parse(a);q(b)&&c.push(function(a){let b=r(a.ts)??function(a){if("number"==typeof a&&Number.isFinite(a))return new Date(a).toISOString();if("string"==typeof a){let b=a.trim();if(!b)return null;let c=Number(b);if(Number.isFinite(c))return new Date(c).toISOString();let d=Date.parse(b);if(Number.isFinite(d))return new Date(d).toISOString()}return null}(a.timestamp)??void 0,c=r(a.event)??r(a.action)??void 0,d=r(a.sessionKey)??r(a.session_key)??r(a.childSessionKey)??void 0,e=r(a.runId)??r(a.run_id)??void 0;return{...a,ts:b,event:c,sessionKey:d,runId:e}}(b))}catch{}return c}function p(a){return a.map((a,b)=>({row:a,idx:b})).sort((a,b)=>{let c=Date.parse(a.row.ts||""),d=Date.parse(b.row.ts||""),e=(isNaN(d)?0:d)-(isNaN(c)?0:c);return 0!==e?e:b.idx-a.idx}).map(a=>a.row)}function q(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function r(a){if("string"!=typeof a)return null;let b=a.trim();return b.length>0?b:null}function s(a){for(let b of p(a)){let a=function(a){let b=String(a.event||a.action||"");return"task_created"===b?"OPEN":"task_started"===b?"IN_PROGRESS":"reported"===b?"REPORTED":"blocked"===b?"BLOCKED":"evidence_merged"===b&&"DONE_PENDING_REPORT"===String(a.status||"").toUpperCase()?"DONE_PENDING_REPORT":null}(b);if(a)return a;if(["worker_dispatched","worker_started","worker_done","worker_skipped","evidence_collected"].includes(String(b.event||b.action||"")))continue;let c=r(b.status);if(c)return c}return null}function t(a,b,c){let d=r(n(g().join(c,`${a}.meta.json`),{}).status);return d||s(b.filter(b=>b.taskId===a))}function u(a,b,c){let d=n(g().join(c,`${a}.meta.json`),{}),e=r(d.scale),f=r(d.title),h=null,i=null;for(let a of b){let b=q(a.payload)?a.payload:null,c=r(a.scale)||r(b?.scale),d=r(a.title)||r(b?.title);c&&(h=c),d&&(i=d)}return{scale:e||h,title:f||i}}function v(a,b,c){let d=b.filter(b=>b.taskId===a),e=null;for(let a=0;a<d.length;a++){let b=d[a],c=String(b.ts||""),f=String(e?.ts||"");(!e||c>f||c===f&&a>=e.__idx)&&(e={...b,__idx:a})}let f=u(a,d,c),g=d.map((a,b)=>b);g.sort((a,b)=>{let c=String(d[b].ts||"").localeCompare(String(d[a].ts||""));return 0!==c?c:b-a});let h=g.map(a=>d[a]);return{taskId:a,status:t(a,b,c),scale:f.scale||e?.scale||null,title:f.title||e?.title||null,updatedAt:e?.ts||null,latestEvent:e?.event||null,events:h.slice(0,50)}}function w(a){let b=a.match(/^agent:([^:]+):/);return b?.[1]||null}function x(a){let b=a.match(/^agent:([^:]+):subagent:([^:\s]+)$/);return b?{agentId:b[1],sessionId:b[2]}:null}function y(a,b,c,d,f,h){let i=b.filter(b=>b.taskId===a),j=function(a,b){let c=n(g().join(b,`${a}.meta.json`),{}),d=new Set,e=new Map,f=new Map,h=r(c.orchestratorId),i=(a,b,c)=>{let g=r(a);if(!g)return;d.add(g);let h=w(g),i=b||h;i&&e.set(g,i),c&&f.set(g,c)};if(i(c.orchestratorSessionKey,h,r(c.orchestratorSessionId)),q(c.workerSessions))for(let[a,b]of Object.entries(c.workerSessions))q(b)&&i(b.sessionKey,a,r(b.sessionId));return{sessionKeys:d,sessionToAgent:e,metaSessionIdMap:f}}(a,c),k=function(a,b){let c=g().join(b,a),d=new Set,f=new Map;if(!e().existsSync(c))return{sessionKeys:d,sessionToAgent:f};for(let a of e().readdirSync(c).filter(a=>a.endsWith(".json"))){if("_merged.json"===a)continue;let b=n(g().join(c,a),{}),e=r(b.sessionKey),h=r(b.agentId)||a.replace(/\.json$/,"");e&&(d.add(e),h&&f.set(e,h))}return{sessionKeys:d,sessionToAgent:f}}(a,d),l=new Set([...Array.from(j.sessionKeys),...Array.from(k.sessionKeys)]),m=new Map([...Array.from(j.sessionToAgent.entries()),...Array.from(k.sessionToAgent.entries())]),o=(a,b)=>{l.add(a);let c=w(a),d=b||c;d&&m.set(a,d)};for(let a of function(a,b){let c=new Set;for(let d of a)for(let a of b){let b=r(d[a]);b&&c.add(b)}return Array.from(c)}(i,["sessionKey","session_key","parentSessionKey","parent_session_key"]))o(a);for(let a of i.filter(a=>["worker_dispatched","worker_done"].includes(String(a.event||a.action||"")))){let b=r(a.targetAgent)||r(a.agentId)||r(a.actor),c=r(a.sessionKey)||r(a.session_key)||r(a.childSessionKey);c&&o(c,b)}let p=function(a,b,c){if(0===c.length)return new Map;let d=new Set(c),f=new Map;for(let c of b)try{let b=g().join(a,c,"sessions","sessions.json"),h=e().readFileSync(b,"utf-8"),i=JSON.parse(h);if(!q(i))continue;for(let[a,b]of Object.entries(i)){if(!d.has(a)||!q(b))continue;let c=r(b.sessionId);c&&f.set(a,c)}}catch{}let h=c.filter(a=>!f.has(a));if(h.length>0)for(let b of h){let c=x(b);if(!c)continue;let d=c.sessionId,h=g().join(a,c.agentId,"sessions");try{if(!e().existsSync(h))continue;let a=`${d}.jsonl`;(e().existsSync(g().join(h,a))||e().readdirSync(h).some(b=>b.startsWith(`${a}.deleted.`)))&&f.set(b,d)}catch{}}return f}(f,h,Array.from(l));return j.metaSessionIdMap.forEach((a,b)=>{p.has(b)||p.set(b,a)}),{sessionKeys:Array.from(l),sessionToAgent:m,sessionIdMap:p}}function z(a,b,c){let d=g().join(a,b,"sessions");if(!e().existsSync(d))return[];let f=`${c}.jsonl.deleted.`;try{return e().readdirSync(d).filter(a=>a.startsWith(f)).sort((a,b)=>b.localeCompare(a)).map(a=>g().join(d,a))}catch{return[]}}function A(a,b,c){let d=g().join(a,b,"sessions");if(!e().existsSync(d))return null;let f=g().join(d,`${c}.jsonl`);if(e().existsSync(f))return{filePath:f,source:"active"};let h=z(a,b,c);return 0===h.length?null:{filePath:h[0],source:"deleted"}}function B(a){let b=a.timestamp;if("number"==typeof b&&Number.isFinite(b))return b;if("string"==typeof b){let a=Number(b);if(Number.isFinite(a))return a;let c=Date.parse(b);if(Number.isFinite(c))return c}let c=a.ts;if("string"==typeof c){let a=Date.parse(c);if(Number.isFinite(a))return a}return null}function C(a){let b=a?.zigrixHome||(0,j.I8)(),c=(0,j.jE)(b),d=function(a,b){let c=b?.paths?.baseDir?(0,j.Tr)(String(b.paths.baseDir),a):a,d=b?.paths?.indexFile?(0,j.Tr)(String(b.paths.indexFile),c):g().join(c,"index.json"),e=b?.paths?.eventsFile?(0,j.Tr)(String(b.paths.eventsFile),c):g().join(c,"tasks.jsonl"),f=b?.paths?.tasksDir?(0,j.Tr)(String(b.paths.tasksDir),c):g().join(c,"tasks"),h=b?.paths?.evidenceDir?(0,j.Tr)(String(b.paths.evidenceDir),c):g().join(c,"evidence");return{baseDir:c,indexPath:d,eventsPath:e,specsDir:f,evidenceDir:h}}(b,c),f=function(a){let b=a?.openclaw;return b&&"object"==typeof b?{home:"string"==typeof b.home&&b.home?(0,j.Tr)(b.home,i().homedir()):"",binPath:"string"==typeof b.binPath&&b.binPath?(0,j.Tr)(b.binPath,i().homedir()):null,gatewayUrl:"string"==typeof b.gatewayUrl&&b.gatewayUrl?b.gatewayUrl:""}:null}(c),h=f?.home||process.env.OPENCLAW_HOME||g().join(i().homedir(),".openclaw"),C=a?.agentsStateDir||process.env.OPENCLAW_AGENTS_DIR||g().join(h,"agents"),D={zigrixHome:d.baseDir,indexPath:d.indexPath,eventsPath:d.eventsPath,specsDir:d.specsDir,evidenceDir:d.evidenceDir,agentsStateDir:C,subagentRunsPath:a?.subagentRunsPath||process.env.OPENCLAW_SUBAGENT_RUNS_PATH||k,openclawConfigPath:a?.openclawConfigPath||process.env.OPENCLAW_CONFIG_PATH||g().join(h,"openclaw.json"),openclawBinPath:f?.binPath||null},E=a?.gatewayUrl||process.env.OPENCLAW_GATEWAY_URL||f?.gatewayUrl||l,F=a?.invokeTool||function(a){let b=a?.gatewayUrl||process.env.OPENCLAW_GATEWAY_URL||l,c=a?.gatewayToken||process.env.OPENCLAW_GATEWAY_TOKEN||null,d=a?.fetchImpl||fetch,e=`${b.replace(/\/+$/,"")}/tools/invoke`;return async(a,b)=>{let f={"Content-Type":"application/json"};c&&(f.Authorization=`Bearer ${c}`);let g=await d(e,{method:"POST",headers:f,body:JSON.stringify({tool:a,args:b})}),h=await g.text(),i=null;if(h.trim())try{i=JSON.parse(h)}catch{i=null}if(!g.ok){let a=q(i)&&q(i.error)&&"string"==typeof i.error.message?i.error.message:h.slice(0,500)||`HTTP ${g.status}`;throw Error(`gateway_invoke_failed(${g.status}): ${a}`)}if(!q(i)||!0!==i.ok)throw Error("gateway_invoke_failed: invalid_response");return i.result}}({gatewayUrl:E,gatewayToken:a?.gatewayToken,fetchImpl:a?.fetchImpl}),G=function(a,b){let c=Number.parseInt(String(a??""),10);return!Number.isFinite(c)||c<=0?200:c}(a?.sessionsHistoryLimit??process.env.SESSIONS_HISTORY_LIMIT,0);function H(){let a=c?.agents;return Array.isArray(a)?a.map(a=>"string"==typeof a?a:q(a)?r(a.id)||r(a.agentId):null).filter(a=>!!a):q(a)?q(a.registry)?Object.keys(a.registry):Object.keys(a):[]}async function I(a){var b;let c=o(D.eventsPath),d=H(),e=y(a,c,D.specsDir,D.evidenceDir,D.agentsStateDir,d),f=e.sessionKeys,g=p(c).filter(b=>b.taskId===a).slice(0,50).map(a=>({ts:a.ts||null,event:a.event||a.action||null,status:a.status||null,actor:a.actor||a.agentId||null,targetAgent:r(a.targetAgent)||r(a.agentId),runId:r(a.runId),sessionKey:r(a.sessionKey)})),h=await Promise.all(f.map(async a=>{let b=null;try{let c=await F("sessions_history",{sessionKey:a,limit:G,includeTools:!0}),d=q(c)?c:{},e=q(d.details)?d.details:{},f=(Array.isArray(e.messages)?e.messages:Array.isArray(d.messages)?d.messages:[]).filter(a=>q(a));if(f.length>0||!x(a))return{sessionKey:a,ok:!0,messageCount:f.length,error:null,messages:f,gatewayError:b}}catch(a){b=String(a?.message||a)}try{let c=x(a);if(!c)return{sessionKey:a,ok:!b,messageCount:0,error:b,messages:[],gatewayError:b};let d=e.sessionIdMap.get(a)??c.sessionId,f=A(D.agentsStateDir,c.agentId,d);if(f||d===c.sessionId||(f=A(D.agentsStateDir,c.agentId,c.sessionId)),!f)return{sessionKey:a,ok:!b,messageCount:0,error:b,messages:[],gatewayError:b};let g=function(a){let b=m(a);if(!b.trim())return[];let c=[];for(let a of b.split(/\r?\n/))if(a.trim())try{let b=JSON.parse(a);if(!q(b)||"message"!==b.type)continue;let d=q(b.message)?b.message:b;c.push({id:r(b.id),parentId:r(b.parentId),role:r(d.role),content:d.content,timestamp:B(b)??r(b.ts)})}catch{}return c}(f.filePath);return{sessionKey:a,ok:!0,messageCount:g.length,error:null,messages:g,gatewayError:b}}catch(c){return{sessionKey:a,ok:!1,messageCount:0,error:b||String(c?.message||c),messages:[],gatewayError:b}}})),i=(b=e.sessionToAgent,h.flatMap(({sessionKey:a,messages:c},d)=>c.filter(a=>!function(a,b){var c;let d=r(b.role),e=("string"==typeof(c=b.content)?c:!Array.isArray(c)?"":c.map(a=>a&&"object"==typeof a?"string"==typeof a.text?a.text:"string"==typeof a.thinking?a.thinking:"":"").filter(Boolean).join("\n")).trim();if(!e)return!1;if("assistant"===d&&"NO_REPLY"===e)return!0;if("user"!==d)return!1;let f=e.toLowerCase();return f.includes("internal task completion event")&&f.includes("source: subagent")}(0,a)).map((c,e)=>{let f=B(c),g=f?new Date(f).toISOString():r(c.ts),h=b.get(a)||w(a)||"unknown";return{__sortTs:f??Number.MAX_SAFE_INTEGER,__sessionIdx:d,__sortIdx:e,row:{sessionKey:a,agentId:h,agentName:h,role:r(c.role),timestamp:f,ts:g,toolName:r(c.toolName),toolCallId:r(c.toolCallId),isError:!!c.isError,content:c.content,raw:c}}})).sort((a,b)=>{let c=a.__sortTs-b.__sortTs;if(0!==c)return c;let d=a.__sessionIdx-b.__sessionIdx;return 0!==d?d:a.__sortIdx-b.__sortIdx}).map(a=>a.row)),j=h.map(a=>({sessionKey:a.sessionKey,ok:a.ok,messageCount:a.messageCount,error:a.error})),k=h.some(a=>a.ok)||h.every(a=>null===a.gatewayError);return{generatedAt:new Date().toISOString(),taskId:a,sessionKeys:f,stream:i,recentEvents:g,sessions:j,openclawAvailable:k}}async function J(a){let b=o(D.eventsPath),c=s(b.filter(b=>String(b.taskId||"")===a));if("IN_PROGRESS"!==c&&"OPEN"!==c)throw function(a,b){let c=Error(b);return c.code=a,c}("task_not_cancellable",`task_not_cancellable(taskId=${a}, status=${String(c||"unknown")})`);let d=H(),{sessionKeys:f}=y(a,b,D.specsDir,D.evidenceDir,D.agentsStateDir,d),h=[];for(let a of f){try{await F("subagents",{action:"kill",target:a})}catch{}h.push(a)}let i={ts:new Date().toISOString(),event:"blocked",taskId:a,phase:"execution",status:"BLOCKED",actor:"manual",payload:{reason:"user_cancelled",killedSessions:h}};e().appendFileSync(D.eventsPath,JSON.stringify(i)+"\n","utf-8");let j=g().join(D.specsDir,`${a}.meta.json`),k=n(j,{});return Object.keys(k).length>0&&(k.status="BLOCKED",k.updatedAt=new Date().toISOString(),e().writeFileSync(j,JSON.stringify(k,null,2)+"\n","utf-8")),{ok:!0,killedSessions:h}}return{paths:D,loadOverview:function(){let a=function(a={}){let b=q(a.statusBuckets)?a.statusBuckets:{},c={OPEN:[],IN_PROGRESS:[],BLOCKED:[],DONE_PENDING_REPORT:[],REPORTED:[]};for(let[a,d]of Object.entries(b))c[a]=Array.isArray(d)?d:[];return{updatedAt:"string"==typeof a.updatedAt?a.updatedAt:null,statusBuckets:c,activeTasks:q(a.activeTasks)?a.activeTasks:{},recentEvents:Array.isArray(a.recentEvents)?a.recentEvents:[]}}(n(D.indexPath,{})),b=o(D.eventsPath);H();let c=Object.fromEntries(Object.entries(a.statusBuckets).map(([a,b])=>[a,Array.isArray(b)?b.length:0])),d=Object.entries(a.activeTasks).map(([a,c])=>{let d=q(c)?c:{},e=v(a,b,D.specsDir);return{taskId:a,status:"string"==typeof d.status?d.status:e.status,updatedAt:"string"==typeof d.updatedAt?d.updatedAt:e.updatedAt,scale:e.scale,title:e.title}}),e=p(b).slice(0,30).map(a=>({ts:a.ts,event:a.event||a.action,taskId:a.taskId,status:a.status,actor:a.actor||a.agentId,agentId:a.agentId,targetAgent:a.targetAgent||a.agentId,title:a.title})),f=function(a,b){let c=new Map;for(let d of p(a)){let e=d.taskId;if(!e||c.has(e))continue;let f=a.filter(a=>a.taskId===e),g=u(e,f,b);c.set(e,{taskId:e,ts:d.ts||null,event:d.event||d.action||null,status:t(e,a,b),scale:g.scale||null,title:g.title||null,actor:d.actor||d.agentId||null})}return Array.from(c.values())}(b,D.specsDir);return{generatedAt:new Date().toISOString(),...{},updatedAt:a.updatedAt,bucketCounts:c,statusBuckets:a.statusBuckets,activeTasks:d.sort((a,b)=>String(b.updatedAt||"").localeCompare(String(a.updatedAt||""))),recentEvents:e,taskHistory:f,openclawAvailable:!0}},loadTaskDetail:function(a){let b=v(a,o(D.eventsPath),D.specsDir),c=function(a,b){let c=g().join(b,`${a}.md`),d=m(c),e=n(g().join(b,`${a}.meta.json`),{}),f=d?d.split(/\r?\n/):[],h={};for(let[a,b]of[["taskId",e.taskId],["title",e.title],["scale",e.scale],["requestedBy",e.requestedBy],["createdAt",e.createdAt],["projectKey",e.projectKey],["projectDir",e.projectDir],["projectPath",e.projectPath]]){let c=r(b);c&&(h[a]=c)}let i=0;for(let a of f){let b=a.match(/^(`{3,})/);if(b){0===i?i=b[1].length:b[1].length>=i&&(i=0);continue}if(i>0)continue;let c=a.match(/^-\s+([^:]+):\s*(.+)$/);if(!c)continue;let d=c[1].trim();d in h||(h[d]=c[2].trim())}let j=f.find(a=>a.trim().startsWith("- Next Action:")),k=f.find(a=>a.trim().startsWith("- Resume Hint")),l=r(e.nextAction),o=r(e.resumeHint);return{exists:!!d||Object.keys(h).length>0||!!l||!!o,path:c,metadata:h,nextAction:l||(j?j.split(":").slice(1).join(":").trim():null),resumeHint:o||(k?k.split(":").slice(1).join(":").trim():null),preview:d?f.slice(0,80).join("\n"):void 0}}(a,D.specsDir),d=function(a,b){let c=g().join(b,`${a}.meta.json`),d=n(c,{});return{exists:e().existsSync(c),path:c,data:d}}(a,D.specsDir),f=function(a,b){let c=g().join(b,a);if(!e().existsSync(c))return{exists:!1,path:c,agents:[],merged:null};let d=e().readdirSync(c).filter(a=>a.endsWith(".json")),f=[],h=null;for(let a of d){let b=g().join(c,a),d=n(b,{});if("_merged.json"===a){h={...d,path:b};continue}f.push({file:a,path:b,agentId:"string"==typeof d.agentId?d.agentId:a.replace(/\.json$/,""),runId:"string"==typeof d.runId?d.runId:null,sessionKey:"string"==typeof d.sessionKey?d.sessionKey:null,sessionId:"string"==typeof d.sessionId?d.sessionId:null,ts:"string"==typeof d.ts?d.ts:null})}return{exists:!0,path:c,agents:f.sort((a,b)=>String(b.ts||"").localeCompare(String(a.ts||""))),merged:h}}(a,D.evidenceDir);return{generatedAt:new Date().toISOString(),task:b,spec:c,meta:d,evidence:f}},loadTaskConversation:I,cancelTask:J,getTaskSessionFilePaths:function(a){let b=o(D.eventsPath),c=H(),{sessionKeys:d,sessionIdMap:e}=y(a,b,D.specsDir,D.evidenceDir,D.agentsStateDir,c),f=new Set;for(let a of d){let b=x(a);if(b)for(let c of new Set([e.get(a),b.sessionId].filter(a=>!!a))){let a=g().join(D.agentsStateDir,b.agentId,"sessions",`${c}.jsonl`);for(let d of(f.add(a),z(D.agentsStateDir,b.agentId,c)))f.add(d)}}return Array.from(f)}}}},67360:(a,b,c)=>{c.d(b,{BE:()=>t,IX:()=>k,TI:()=>q,dV:()=>r,gV:()=>x,gw:()=>l,jw:()=>w,xC:()=>s});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(77598),i=c.n(h),j=c(7310);let k="zigrix_session",l=43200,m=new TextEncoder,n=new TextDecoder;async function o(){let a=await Promise.resolve().then(c.t.bind(c,74729,23)),b=a.default??a;if("function"!=typeof b.hash||"function"!=typeof b.compare)throw Error("bcryptjs adapter unavailable");return b}function p(){let a=(0,j.jE)();return g().join((0,j.Tp)(a?.paths?.baseDir),"dashboard.json")}function q(){let a=p();try{let b=e().readFileSync(a,"utf-8"),c=JSON.parse(b);if(!c||"object"!=typeof c||Array.isArray(c))return{admins:[],sessionSecret:"",corsOrigins:[],createdAt:""};return{admins:Array.isArray(c.admins)?c.admins:[],sessionSecret:"string"==typeof c.sessionSecret?c.sessionSecret:"",corsOrigins:Array.isArray(c.corsOrigins)?c.corsOrigins:[],createdAt:"string"==typeof c.createdAt?c.createdAt:""}}catch{return{admins:[],sessionSecret:"",corsOrigins:[],createdAt:""}}}function r(){return 0===q().admins.length}async function s(a,b){let c=await o(),d={admins:[{username:a,passwordHash:await c.hash(b,12)}],sessionSecret:i().randomBytes(64).toString("hex"),corsOrigins:["http://localhost:3000"],createdAt:new Date().toISOString()},f=p(),h=g().dirname(f);e().existsSync(h)||e().mkdirSync(h,{recursive:!0}),e().writeFileSync(f,JSON.stringify(d,null,2),{encoding:"utf-8",mode:384});try{e().chmodSync(f,384)}catch{}}async function t(a,b){let c=await o(),d=q().admins.find(b=>b.username===a);if(!d)return await c.hash(b,12),!1;if(!await c.compare(b,d.passwordHash))return!1;let e=m.encode(a),f=m.encode(d.username);return e.length===f.length&&i().timingSafeEqual(e,f)}function u(a){return Buffer.from(a).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function v(a,b){let c=await i().subtle.importKey("raw",m.encode(b),{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return u(new Uint8Array(await i().subtle.sign("HMAC",c,m.encode(a))))}async function w(a){let b=q().sessionSecret;if(!b)throw Error("Session secret not configured. Run setup first.");let c=Math.floor(Date.now()/1e3),d=u(m.encode(JSON.stringify({sub:a,iat:c,exp:c+l}))),e=await v(d,b);return`${d}.${e}`}async function x(a){let b;if(!a)return null;let c=a.split(".");if(2!==c.length)return null;let[d,e]=c;if(!d||!e)return null;let f=q().sessionSecret;if(!f||!function(a,b){if(a.length!==b.length)return!1;let c=m.encode(a),d=m.encode(b);return i().timingSafeEqual(c,d)}(await v(d,f),e))return null;try{let a=n.decode(function(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=b.padEnd(4*Math.ceil(b.length/4),"=");return new Uint8Array(Buffer.from(c,"base64"))}(d));b=JSON.parse(a)}catch{return null}if("number"!=typeof b.exp||"number"!=typeof b.iat)return null;let g=Math.floor(Date.now()/1e3);return b.exp<=g||b.iat>g+60?null:{username:"string"==typeof b.sub?b.sub:"",issuedAt:b.iat,expiresAt:b.exp}}}};
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "version": 1,
3
3
  "functions": {
4
+ "/api/auth/logout": {},
4
5
  "/api/auth/session": {},
5
- "/api/tasks/[taskId]/cancel": {},
6
6
  "/api/overview": {},
7
+ "/api/tasks/[taskId]/conversation": {},
8
+ "/api/tasks/[taskId]/cancel": {},
7
9
  "/api/auth/setup": {},
8
- "/api/auth/logout": {},
9
10
  "/api/tasks/[taskId]": {},
10
11
  "/api/auth/login": {},
11
- "/api/tasks/[taskId]/conversation": {},
12
12
  "/api/stream": {},
13
13
  "/_middleware": {
14
14
  "runtime": "nodejs",