denchclaw 2.3.0 → 2.3.2

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 (101) hide show
  1. package/apps/web/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/apps/web/.next/standalone/apps/web/.next/app-build-manifest.json +108 -108
  3. package/apps/web/.next/standalone/apps/web/.next/app-path-routes-manifest.json +29 -29
  4. package/apps/web/.next/standalone/apps/web/.next/build-manifest.json +2 -2
  5. package/apps/web/.next/standalone/apps/web/.next/required-server-files.json +1 -1
  6. package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page.js +1 -1
  7. package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/route_client-reference-manifest.js +1 -1
  9. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/serve/[...path]/route_client-reference-manifest.js +1 -1
  10. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/active/route_client-reference-manifest.js +1 -1
  11. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route.js +1 -1
  12. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
  13. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route_client-reference-manifest.js +1 -1
  14. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route.js +1 -1
  15. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
  16. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stream/route_client-reference-manifest.js +1 -1
  17. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route_client-reference-manifest.js +1 -1
  18. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/[jobId]/runs/route_client-reference-manifest.js +1 -1
  19. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/route_client-reference-manifest.js +1 -1
  20. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/[sessionId]/route_client-reference-manifest.js +1 -1
  21. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/search-transcript/route_client-reference-manifest.js +1 -1
  22. package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route.js +1 -1
  23. package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route_client-reference-manifest.js +1 -1
  24. package/apps/web/.next/standalone/apps/web/.next/server/app/api/memories/route_client-reference-manifest.js +1 -1
  25. package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/route_client-reference-manifest.js +1 -1
  26. package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/switch/route_client-reference-manifest.js +1 -1
  27. package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/[sessionId]/route_client-reference-manifest.js +1 -1
  28. package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  29. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  30. package/apps/web/.next/standalone/apps/web/.next/server/app/api/terminal/port/route_client-reference-manifest.js +1 -1
  31. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/messages/route_client-reference-manifest.js +1 -1
  32. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route_client-reference-manifest.js +1 -1
  33. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route.js +1 -1
  34. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route_client-reference-manifest.js +1 -1
  35. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/assets/[...path]/route_client-reference-manifest.js +1 -1
  36. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse/route_client-reference-manifest.js +1 -1
  37. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse-file/route_client-reference-manifest.js +1 -1
  38. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/context/route_client-reference-manifest.js +1 -1
  39. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/copy/route_client-reference-manifest.js +1 -1
  40. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/introspect/route_client-reference-manifest.js +1 -1
  41. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/query/route_client-reference-manifest.js +1 -1
  42. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route.js +1 -1
  43. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route_client-reference-manifest.js +1 -1
  44. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/file/route_client-reference-manifest.js +1 -1
  45. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route.js +1 -1
  46. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route_client-reference-manifest.js +1 -1
  47. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/list/route_client-reference-manifest.js +1 -1
  48. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/mkdir/route_client-reference-manifest.js +1 -1
  49. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/move/route_client-reference-manifest.js +1 -1
  50. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/display-field/route_client-reference-manifest.js +1 -1
  51. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/route_client-reference-manifest.js +1 -1
  52. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/bulk-delete/route_client-reference-manifest.js +1 -1
  53. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/options/route_client-reference-manifest.js +1 -1
  54. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route.js +1 -1
  55. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route_client-reference-manifest.js +1 -1
  56. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route_client-reference-manifest.js +1 -1
  57. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/route_client-reference-manifest.js +1 -1
  58. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/reorder/route_client-reference-manifest.js +1 -1
  59. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/route_client-reference-manifest.js +1 -1
  60. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/views/route_client-reference-manifest.js +1 -1
  61. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/open-file/route_client-reference-manifest.js +1 -1
  62. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/path-info/route_client-reference-manifest.js +1 -1
  63. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/query/route_client-reference-manifest.js +1 -1
  64. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/raw-file/route_client-reference-manifest.js +1 -1
  65. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/rename/route_client-reference-manifest.js +1 -1
  66. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route.js +1 -1
  67. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route_client-reference-manifest.js +1 -1
  68. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/search-index/route_client-reference-manifest.js +1 -1
  69. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/suggest-files/route_client-reference-manifest.js +1 -1
  70. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route.js +1 -1
  71. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route_client-reference-manifest.js +1 -1
  72. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/thumbnail/route_client-reference-manifest.js +1 -1
  73. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/tree/route_client-reference-manifest.js +1 -1
  74. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route.js +1 -1
  75. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route_client-reference-manifest.js +1 -1
  76. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/virtual-file/route_client-reference-manifest.js +1 -1
  77. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/watch/route_client-reference-manifest.js +1 -1
  78. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/write-binary/route_client-reference-manifest.js +1 -1
  79. package/apps/web/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  80. package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  81. package/apps/web/.next/standalone/apps/web/.next/server/app-paths-manifest.json +29 -29
  82. package/apps/web/.next/standalone/apps/web/.next/server/chunks/6426.js +1 -1
  83. package/apps/web/.next/standalone/apps/web/.next/server/chunks/7173.js +1 -1
  84. package/apps/web/.next/standalone/apps/web/.next/server/functions-config-manifest.json +18 -18
  85. package/apps/web/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  86. package/apps/web/.next/standalone/apps/web/.next/server/pages-manifest.json +1 -1
  87. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/{layout-8e7702d68f078270.js → layout-32e5870f0acaff43.js} +1 -1
  88. package/apps/web/.next/standalone/apps/web/server.js +1 -1
  89. package/apps/web/.next/standalone/package.json +1 -1
  90. package/apps/web/.next/static/chunks/app/{layout-8e7702d68f078270.js → layout-32e5870f0acaff43.js} +1 -1
  91. package/dist/entry.js +1 -1
  92. package/dist/{program-FTFIyYeQ.js → program-xzgPZOcc.js} +5 -8
  93. package/dist/{run-main-Cc9zgEqf.js → run-main-C-j6snAD.js} +1 -1
  94. package/extensions/dench-ai-gateway/models.ts +7 -11
  95. package/extensions/posthog-analytics/lib/build-env.js +1 -1
  96. package/extensions/posthog-analytics/lib/event-mappers.ts +18 -9
  97. package/package.json +1 -1
  98. /package/apps/web/.next/standalone/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_buildManifest.js +0 -0
  99. /package/apps/web/.next/standalone/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_ssgManifest.js +0 -0
  100. /package/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_buildManifest.js +0 -0
  101. /package/apps/web/.next/static/{iikRD5ldHaLo2uUJJYnoU → hpsmzJkH5dIgFJp4aoGwd}/_ssgManifest.js +0 -0
@@ -3,64 +3,64 @@
3
3
  "/api/workspace/objects/[name]/views/route": "app/api/workspace/objects/[name]/views/route.js",
4
4
  "/api/chat/active/route": "app/api/chat/active/route.js",
5
5
  "/api/apps/route": "app/api/apps/route.js",
6
- "/api/apps/serve/[...path]/route": "app/api/apps/serve/[...path]/route.js",
7
- "/api/cron/jobs/route": "app/api/cron/jobs/route.js",
8
- "/api/chat/runs/route": "app/api/chat/runs/route.js",
9
- "/api/chat/stream/route": "app/api/chat/stream/route.js",
6
+ "/api/chat/stop/route": "app/api/chat/stop/route.js",
10
7
  "/api/chat/route": "app/api/chat/route.js",
8
+ "/api/chat/runs/route": "app/api/chat/runs/route.js",
11
9
  "/api/cron/jobs/[jobId]/runs/route": "app/api/cron/jobs/[jobId]/runs/route.js",
12
- "/api/chat/subagents/route": "app/api/chat/subagents/route.js",
13
- "/api/chat/stop/route": "app/api/chat/stop/route.js",
10
+ "/api/chat/stream/route": "app/api/chat/stream/route.js",
11
+ "/api/apps/serve/[...path]/route": "app/api/apps/serve/[...path]/route.js",
12
+ "/api/cron/jobs/route": "app/api/cron/jobs/route.js",
13
+ "/api/sessions/[sessionId]/route": "app/api/sessions/[sessionId]/route.js",
14
+ "/api/sessions/route": "app/api/sessions/route.js",
15
+ "/api/cron/runs/[sessionId]/route": "app/api/cron/runs/[sessionId]/route.js",
14
16
  "/api/feedback/route": "app/api/feedback/route.js",
17
+ "/api/profiles/route": "app/api/profiles/route.js",
18
+ "/api/chat/subagents/route": "app/api/chat/subagents/route.js",
15
19
  "/api/memories/route": "app/api/memories/route.js",
16
- "/api/sessions/route": "app/api/sessions/route.js",
17
- "/api/sessions/[sessionId]/route": "app/api/sessions/[sessionId]/route.js",
20
+ "/api/terminal/port/route": "app/api/terminal/port/route.js",
18
21
  "/api/profiles/switch/route": "app/api/profiles/switch/route.js",
22
+ "/api/cron/runs/search-transcript/route": "app/api/cron/runs/search-transcript/route.js",
19
23
  "/api/web-sessions/[id]/messages/route": "app/api/web-sessions/[id]/messages/route.js",
20
- "/api/profiles/route": "app/api/profiles/route.js",
21
- "/api/terminal/port/route": "app/api/terminal/port/route.js",
24
+ "/api/web-sessions/route": "app/api/web-sessions/route.js",
22
25
  "/api/skills/route": "app/api/skills/route.js",
26
+ "/api/workspace/assets/[...path]/route": "app/api/workspace/assets/[...path]/route.js",
23
27
  "/api/workspace/browse-file/route": "app/api/workspace/browse-file/route.js",
24
28
  "/api/workspace/db/introspect/route": "app/api/workspace/db/introspect/route.js",
25
29
  "/api/workspace/copy/route": "app/api/workspace/copy/route.js",
26
30
  "/api/workspace/browse/route": "app/api/workspace/browse/route.js",
27
- "/api/cron/runs/search-transcript/route": "app/api/cron/runs/search-transcript/route.js",
28
- "/api/workspace/assets/[...path]/route": "app/api/workspace/assets/[...path]/route.js",
29
31
  "/api/workspace/delete/route": "app/api/workspace/delete/route.js",
30
- "/api/workspace/context/route": "app/api/workspace/context/route.js",
31
32
  "/api/workspace/db/query/route": "app/api/workspace/db/query/route.js",
33
+ "/api/workspace/file/route": "app/api/workspace/file/route.js",
34
+ "/api/workspace/objects/[name]/display-field/route": "app/api/workspace/objects/[name]/display-field/route.js",
32
35
  "/api/workspace/mkdir/route": "app/api/workspace/mkdir/route.js",
33
- "/api/cron/runs/[sessionId]/route": "app/api/cron/runs/[sessionId]/route.js",
34
36
  "/api/workspace/move/route": "app/api/workspace/move/route.js",
35
- "/api/workspace/list/route": "app/api/workspace/list/route.js",
36
- "/api/workspace/objects/[name]/display-field/route": "app/api/workspace/objects/[name]/display-field/route.js",
37
+ "/api/workspace/context/route": "app/api/workspace/context/route.js",
37
38
  "/api/workspace/objects/[name]/entries/bulk-delete/route": "app/api/workspace/objects/[name]/entries/bulk-delete/route.js",
38
- "/api/workspace/file/route": "app/api/workspace/file/route.js",
39
- "/api/web-sessions/[id]/route": "app/api/web-sessions/[id]/route.js",
40
39
  "/api/workspace/init/route": "app/api/workspace/init/route.js",
40
+ "/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route": "app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route.js",
41
41
  "/api/workspace/objects/[name]/fields/reorder/route": "app/api/workspace/objects/[name]/fields/reorder/route.js",
42
42
  "/api/workspace/objects/[name]/fields/[fieldId]/route": "app/api/workspace/objects/[name]/fields/[fieldId]/route.js",
43
- "/api/workspace/objects/[name]/entries/route": "app/api/workspace/objects/[name]/entries/route.js",
44
43
  "/api/workspace/objects/[name]/entries/options/route": "app/api/workspace/objects/[name]/entries/options/route.js",
45
- "/api/workspace/open-file/route": "app/api/workspace/open-file/route.js",
46
- "/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route": "app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route.js",
44
+ "/api/web-sessions/[id]/route": "app/api/web-sessions/[id]/route.js",
45
+ "/api/workspace/objects/[name]/entries/route": "app/api/workspace/objects/[name]/entries/route.js",
47
46
  "/api/workspace/path-info/route": "app/api/workspace/path-info/route.js",
48
- "/api/workspace/query/route": "app/api/workspace/query/route.js",
49
47
  "/api/workspace/rename/route": "app/api/workspace/rename/route.js",
48
+ "/api/workspace/open-file/route": "app/api/workspace/open-file/route.js",
49
+ "/api/workspace/query/route": "app/api/workspace/query/route.js",
50
50
  "/api/workspace/reports/execute/route": "app/api/workspace/reports/execute/route.js",
51
51
  "/api/workspace/raw-file/route": "app/api/workspace/raw-file/route.js",
52
52
  "/api/workspace/thumbnail/route": "app/api/workspace/thumbnail/route.js",
53
- "/api/workspace/objects/[name]/route": "app/api/workspace/objects/[name]/route.js",
54
53
  "/api/workspace/upload/route": "app/api/workspace/upload/route.js",
55
- "/api/workspace/search-index/route": "app/api/workspace/search-index/route.js",
56
54
  "/api/workspace/switch/route": "app/api/workspace/switch/route.js",
57
55
  "/api/workspace/objects/[name]/entries/[id]/route": "app/api/workspace/objects/[name]/entries/[id]/route.js",
58
- "/api/web-sessions/route": "app/api/web-sessions/route.js",
59
- "/api/workspace/watch/route": "app/api/workspace/watch/route.js",
60
- "/api/workspace/virtual-file/route": "app/api/workspace/virtual-file/route.js",
61
56
  "/api/workspace/write-binary/route": "app/api/workspace/write-binary/route.js",
57
+ "/api/workspace/objects/[name]/route": "app/api/workspace/objects/[name]/route.js",
62
58
  "/api/workspace/tree/route": "app/api/workspace/tree/route.js",
59
+ "/api/workspace/virtual-file/route": "app/api/workspace/virtual-file/route.js",
60
+ "/api/workspace/search-index/route": "app/api/workspace/search-index/route.js",
61
+ "/api/workspace/watch/route": "app/api/workspace/watch/route.js",
62
+ "/api/workspace/list/route": "app/api/workspace/list/route.js",
63
63
  "/api/workspace/suggest-files/route": "app/api/workspace/suggest-files/route.js",
64
- "/page": "app/page.js",
65
- "/workspace/page": "app/workspace/page.js"
64
+ "/workspace/page": "app/workspace/page.js",
65
+ "/page": "app/page.js"
66
66
  }
@@ -2,7 +2,7 @@
2
2
  ![media](${a.trim()})
3
3
  `;E({type:"text-delta",id:f,delta:b}),C(b)}}if("string"==typeof b.data?.stopReason&&"error"===b.data.stopReason&&!u){u=!0;let a="string"==typeof b.data?.errorMessage?(0,k.kW)(b.data.errorMessage):(0,k.uE)(b.data)??"Agent stopped with an error";I(a)}}if("agent"===b.event&&"tool"===b.stream){let c="string"==typeof b.data?.phase?b.data.phase:void 0,d="string"==typeof b.data?.toolCallId?b.data.toolCallId:"",e="string"==typeof b.data?.name?b.data.name:"";if("start"===c){F(),G();let c=b.data?.args&&"object"==typeof b.data.args?b.data.args:{};E({type:"tool-input-start",toolCallId:d,toolName:e}),E({type:"tool-input-available",toolCallId:d,toolName:e,input:c}),a.accumulated.parts.push({type:"tool-invocation",toolCallId:d,toolName:e,args:c}),A.set(d,a.accumulated.parts.length-1)}else if("update"===c){let a=(0,k.Px)(b.data?.partialResult);if(a){let b=(0,k.m0)(a);E({type:"tool-output-partial",toolCallId:d,output:b})}}else if("result"===c){let c=b.data?.isError===!0,f=(0,k.Px)(b.data?.result);if(c){let b=f?.text||f?.details?.error||"Tool execution failed";E({type:"tool-output-error",toolCallId:d,errorText:b});let c=A.get(d);if(void 0!==c){let d=a.accumulated.parts[c];"tool-invocation"===d.type&&(d.errorText=b)}}else{let b=(0,k.m0)(f);E({type:"tool-output-available",toolCallId:d,output:b});let c=A.get(d);if(void 0!==c){let d=a.accumulated.parts[c];"tool-invocation"===d.type&&(d.result=b)}}if("sessions_spawn"===e&&!c){let b=f?.details?.childSessionKey;if(b){let c=A.has(d)?a.accumulated.parts[A.get(d)]?.args:void 0;D({sessionKey:b,parentSessionId:a.sessionId,task:c?.task??"Subagent task",label:c?.label})}}}}if("agent"===b.event&&"lifecycle"===b.stream&&(b.data?.phase==="fallback"||b.data?.phase==="fallback_cleared")){let a=b.data,c=o(a?.selectedProvider,a?.selectedModel)??o(a?.fromProvider,a?.fromModel),d=o(a?.activeProvider,a?.activeModel)??o(a?.toProvider,a?.toModel);if(c&&d){let b=a?.phase==="fallback_cleared",e="string"==typeof a?.reasonSummary?a.reasonSummary:"string"==typeof a?.reason?a.reason:void 0,f=b?`Restored to ${c}`:`Switched to ${d}${e?` (${e})`:""}`;H(f)}}if("chat"===b.event){let a=p(b.data);a&&a&&(F(),l||(f=d("text"),E({type:"text-start",id:f}),l=!0),r=!0,E({type:"text-delta",id:f,delta:a}),C(a),G())}if("agent"===b.event&&"compaction"===b.stream){let a="string"==typeof b.data?.phase?b.data.phase:void 0;if("start"===a)H("Optimizing session context...");else if("end"===a&&s)if(b.data?.willRetry===!0){let a="\nRetrying with compacted context...";E({type:"reasoning-delta",id:g,delta:a}),B(a)}else F()}"agent"===b.event&&"lifecycle"===b.stream&&b.data?.phase==="end"&&(F(),G()),"agent"!==b.event||"lifecycle"!==b.stream||b.data?.phase!=="error"||u||(u=!0,I((0,k.uE)(b.data)??"Agent encountered an error")),"error"!==b.event||u||(u=!0,I((0,k.uE)(b.data??b)??"An unknown error occurred"))},V=b=>{let c="number"==typeof b.globalSeq?b.globalSeq:void 0;if(void 0!==c){if(c<=a.lastGlobalSeq)return;a.lastGlobalSeq=c}let d=()=>{t||(H("Waiting for subagent results..."),t=!0),S(a).catch(()=>{})},e=()=>{if("waiting-for-subagents"===a.status||"running"===a.status){if(w(a.sessionId)){N(a),d();return}N(a),a._waitingFinalizeTimer=setTimeout(async()=>{if(a._waitingFinalizeTimer=null,"waiting-for-subagents"===a.status){if(await x(a.sessionId))return void d();M(a)}},5e3)}};if(N(a),T(b),"lifecycle"===b.stream&&b.data?.phase==="end"&&e(),"chat"===b.event){let a=b.data,c="string"==typeof a?.state?a.state:"",d=n(a?.message),f="string"==typeof d?.role?d.role:"";"final"===c&&"assistant"===f&&e()}};J.on("line",b=>{let c;if(!b.trim())return;try{c=JSON.parse(b)}catch{return}if(c.sessionKey&&c.sessionKey!==O)return;let d="number"==typeof c.globalSeq?c.globalSeq:void 0;void 0!==d&&d>a.lastGlobalSeq&&(a.lastGlobalSeq=d),T(c)}),b.on("close",b=>{if("running"!==a.status){a.exitCode=b;return}if(!u&&v.length>0){let a=v.join("").trim(),b=(0,k.e$)(a);b&&(u=!0,I(b))}F();let c=0===b||null===b;if(r||c)!r&&c?I("No response from agent."):G();else{let a=d("text");E({type:"text-start",id:a});let c=`[error] Agent exited with code ${b}. Check server logs for details.`;E({type:"text-delta",id:a,delta:c}),E({type:"text-end",id:a}),C(c)}a.exitCode=b;let f=w(a.sessionId);if(c&&f){a.status="waiting-for-subagents",t||(H("Waiting for subagent results..."),t=!0),S(a).catch(()=>{}),function a(b,c,d){L(b);let f=(0,k.k$)(c,b.lastGlobalSeq);b._subscribeProcess=f,(0,e.createInterface)({input:f.stdout}).on("line",a=>{let e;if(a.trim()){try{e=JSON.parse(a)}catch{return}e.sessionKey&&e.sessionKey!==c||((b._subscribeRetryAttempt??0)>0&&P(b),d(e))}}),f.on("close",()=>{b._subscribeProcess===f&&(b._subscribeProcess=null,"waiting-for-subagents"===b.status&&Q(b,()=>{"waiting-for-subagents"!==b.status||b._subscribeProcess||a(b,c,d)}))}),f.on("error",a=>{console.error("[active-runs] Parent subscribe child error:",a)}),f.stderr?.on("data",a=>{console.error("[active-runs subscribe stderr]",a.toString())})}(a,O,V),setTimeout(()=>{"waiting-for-subagents"===a.status&&M(a)},6e5);return}a.status=c?"completed":"error";try{(0,j.V6)(a.sessionId)}catch{}for(let b of(S(a).catch(()=>{}),a.subscribers))try{b(null)}catch{}a.subscribers.clear(),setTimeout(()=>{X.get(a.sessionId)===a&&U(a.sessionId)},3e4)}),b.on("error",b=>{if("running"!==a.status)return;console.error("[active-runs] Child process error:",b);let c=b instanceof Error?b.message:String(b);for(let b of(I(`Failed to start agent: ${c}`),a.status="error",S(a).catch(()=>{}),a.subscribers))try{b(null)}catch{}a.subscribers.clear(),setTimeout(()=>{X.get(a.sessionId)===a&&U(a.sessionId)},3e4)}),b.stderr?.on("data",a=>{let b=a.toString();v.push(b),console.error("[active-runs stderr]",b)})}(s),s}function D(a){let{sessionKey:b,parentSessionId:c,task:d,label:e}=a;if(X.has(b))return X.get(b);(0,k.Gk)("sessions.patch",{key:b,thinkingLevel:"xhigh",verboseLevel:"full",reasoningLevel:"on"},{timeoutMs:4e3}).catch(()=>{});let f=new AbortController,g=(0,k.k$)(b,0),h={sessionId:b,childProcess:g,eventBuffer:[],subscribers:new Set,accumulated:{id:`assistant-${b}-${Date.now()}`,role:"assistant",parts:[]},status:"running",startedAt:Date.now(),exitCode:null,abortController:f,_persistTimer:null,_lastPersistedAt:0,lastGlobalSeq:0,sessionKey:b,parentSessionId:c,task:d,label:e,isSubscribeOnly:!0,_lifecycleEnded:!1,_finalizeTimer:null,_subscribeRetryTimer:null,_subscribeRetryAttempt:0,_waitingFinalizeTimer:null};return X.set(b,h),E(h,g,b),h}function E(a,b,c){let d=0,h=a=>`${a}-${Date.now()}-${++d}`,j="",l="",n=null,q=!1,r=!1,s=!1,t=!1,u={assistantChunks:0,toolStartCount:0},v=-1,w=-1,x=new Map,y=b=>{w<0?(a.accumulated.parts.push({type:"reasoning",text:b}),w=a.accumulated.parts.length-1):a.accumulated.parts[w].text+=b},z=b=>{v<0?(a.accumulated.parts.push({type:"text",text:b}),v=a.accumulated.parts.length-1):a.accumulated.parts[v].text+=b},A=b=>{for(let c of(a.eventBuffer.push(b),a.subscribers))try{c(b)}catch{}R(a)},B=a=>{C(),D();let b=h("text");A({type:"text-start",id:b}),A({type:"text-delta",id:b,delta:`[error] ${a}`}),A({type:"text-end",id:b}),z(`[error] ${a}`)},C=()=>{r&&(A({type:"reasoning-end",id:l}),r=!1,s=!1),n=null,w=-1},D=()=>{if(q){let b=a.accumulated.parts[v];b?.type==="text"&&m(b.text)&&a.accumulated.parts.splice(v,1),A({type:"text-end",id:j}),q=!1}v=-1},G=a=>{s&&n===a||(C(),D(),l=h("status"),A({type:"reasoning-start",id:l}),A({type:"reasoning-delta",id:l,delta:a}),r=!0,s=!0,n=a)},H=b=>{if(u.toolStartCount>0)return;let d=function(a,b){let c=(0,i.We)(),d=b??(0,i.TY)(),e=(0,f.join)(c,"agents",d,"sessions","sessions.json");if(!(0,g.existsSync)(e))return null;let h=JSON.parse((0,g.readFileSync)(e,"utf-8"))[a],j="string"==typeof h?.sessionId?h.sessionId:null;if(!j)return null;let k=(0,f.join)(c,"agents",d,"sessions",`${j}.jsonl`);if(!(0,g.existsSync)(k))return null;let l=(0,g.readFileSync)(k,"utf-8").split("\n").filter(a=>a.trim()).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(Boolean),m=new Map,n=[];for(let a of l){if("message"!==a.type)continue;let b=a.message;if(!b)continue;let c="string"==typeof b.role?b.role:"",d=b.content;if("toolResult"===c&&"string"==typeof b.toolCallId){let a=Array.isArray(d)?d.filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n"):"string"==typeof d?d:"";m.set(b.toolCallId,{text:a.slice(0,500)});continue}if("assistant"!==c||!Array.isArray(d))continue;let e=[];for(let a of d)"toolCall"===a.type&&"string"==typeof a.id&&"string"==typeof a.name&&e.push({type:"tool-invocation",toolCallId:a.id,toolName:a.name,args:a.arguments??{}});e.length>0&&(n=e)}if(0===n.length)return null;let o=n.map(a=>{let b=m.get(a.toolCallId);return b?{...a,result:b}:a});return{sessionId:j,tools:o}}(c,a.pinnedAgentId);if(d)for(let b of d.tools){let c=x.get(b.toolCallId);if(void 0===c&&(C(),D(),A({type:"tool-input-start",toolCallId:b.toolCallId,toolName:b.toolName}),A({type:"tool-input-available",toolCallId:b.toolCallId,toolName:b.toolName,input:b.args??{}}),a.accumulated.parts.push({type:"tool-invocation",toolCallId:b.toolCallId,toolName:b.toolName,args:b.args??{}}),x.set(b.toolCallId,a.accumulated.parts.length-1)),!b.result)continue;let d=x.get(b.toolCallId);if(void 0===d)continue;let e=a.accumulated.parts[d];"tool-invocation"!==e.type||e.result||(e.result=b.result,A({type:"tool-output-available",toolCallId:b.toolCallId,output:b.result}))}};(0,e.createInterface)({input:b.stdout}).on("line",b=>{let d;if(!b.trim())return;try{d=JSON.parse(b)}catch{return}if(d.sessionKey&&d.sessionKey!==c)return;let e="number"==typeof d.globalSeq?d.globalSeq:void 0;if(void 0!==e){if(e<=a.lastGlobalSeq)return;a.lastGlobalSeq=e}(a._subscribeRetryAttempt??0)>0&&P(a),(b=>{if(("agent"!==b.event||"lifecycle"!==b.stream||b.data?.phase!=="end")&&(a._finalizeTimer&&(clearTimeout(a._finalizeTimer),a._finalizeTimer=null),a._lifecycleEnded=!1),"agent"===b.event&&"lifecycle"===b.stream&&b.data?.phase==="start"&&G("Preparing response..."),"agent"===b.event&&"thinking"===b.stream){let a="string"==typeof b.data?.delta?b.data.delta:void 0;a&&(s&&C(),r||(l=h("reasoning"),A({type:"reasoning-start",id:l}),r=!0),A({type:"reasoning-delta",id:l,delta:a}),y(a))}if("agent"===b.event&&"assistant"===b.stream){let a="string"==typeof b.data?.delta?b.data.delta:void 0,c=a||"string"!=typeof b.data?.text?void 0:b.data.text,d=a??c;d&&(u.assistantChunks+=1,0===u.toolStartCount&&(1===u.assistantChunks||u.assistantChunks%40==0)&&H("assistant-chunk"),C(),q||(j=h("text"),A({type:"text-start",id:j}),q=!0),A({type:"text-delta",id:j,delta:d}),z(d));let e=b.data?.mediaUrls;if(Array.isArray(e)){for(let a of e)if("string"==typeof a&&a.trim()){C(),q||(j=h("text"),A({type:"text-start",id:j}),q=!0);let b=`
4
4
  ![media](${a.trim()})
5
- `;A({type:"text-delta",id:j,delta:b}),z(b)}}if("string"==typeof b.data?.stopReason&&"error"===b.data.stopReason&&!t){t=!0;let a="string"==typeof b.data?.errorMessage?(0,k.kW)(b.data.errorMessage):(0,k.uE)(b.data)??"Agent stopped with an error";B(a)}}if("agent"===b.event&&"tool"===b.stream){let c="string"==typeof b.data?.phase?b.data.phase:void 0,d="string"==typeof b.data?.toolCallId?b.data.toolCallId:"",e="string"==typeof b.data?.name?b.data.name:"";if("start"===c){u.toolStartCount+=1,C(),D();let c=b.data?.args&&"object"==typeof b.data.args?b.data.args:{};A({type:"tool-input-start",toolCallId:d,toolName:e}),A({type:"tool-input-available",toolCallId:d,toolName:e,input:c}),a.accumulated.parts.push({type:"tool-invocation",toolCallId:d,toolName:e,args:c}),x.set(d,a.accumulated.parts.length-1)}else if("update"===c){let a=(0,k.Px)(b.data?.partialResult);if(a){let b=(0,k.m0)(a);A({type:"tool-output-partial",toolCallId:d,output:b})}}else if("result"===c){let c=b.data?.isError===!0,e=(0,k.Px)(b.data?.result);if(c){let b=e?.text||e?.details?.error||"Tool execution failed";A({type:"tool-output-error",toolCallId:d,errorText:b});let c=x.get(d);if(void 0!==c){let d=a.accumulated.parts[c];"tool-invocation"===d.type&&(d.errorText=b)}}else{let b=(0,k.m0)(e);A({type:"tool-output-available",toolCallId:d,output:b});let c=x.get(d);if(void 0!==c){let d=a.accumulated.parts[c];"tool-invocation"===d.type&&(d.result=b)}}}}if("agent"===b.event&&"lifecycle"===b.stream&&(b.data?.phase==="fallback"||b.data?.phase==="fallback_cleared")){let a=b.data,c=o(a?.selectedProvider,a?.selectedModel)??o(a?.fromProvider,a?.fromModel),d=o(a?.activeProvider,a?.activeModel)??o(a?.toProvider,a?.toModel);if(c&&d){let b=a?.phase==="fallback_cleared",e="string"==typeof a?.reasonSummary?a.reasonSummary:"string"==typeof a?.reason?a.reason:void 0,f=b?`Restored to ${c}`:`Switched to ${d}${e?` (${e})`:""}`;G(f)}}if("agent"===b.event&&"compaction"===b.stream){let a="string"==typeof b.data?.phase?b.data.phase:void 0;if("start"===a)G("Optimizing session context...");else if("end"===a&&s)if(b.data?.willRetry===!0){let a="\nRetrying with compacted context...";A({type:"reasoning-delta",id:l,delta:a}),y(a)}else C()}if("chat"===b.event){let a=p(b.data);a&&(C(),q||(j=h("text"),A({type:"text-start",id:j}),q=!0),A({type:"text-delta",id:j,delta:a}),z(a),D())}"agent"===b.event&&"lifecycle"===b.stream&&b.data?.phase==="end"&&(H("lifecycle-end"),C(),D(),a._lifecycleEnded=!0,a._finalizeTimer&&clearTimeout(a._finalizeTimer),a._finalizeTimer=setTimeout(()=>{a._finalizeTimer=null,"running"===a.status&&F(a)},750)),"agent"!==b.event||"lifecycle"!==b.stream||b.data?.phase!=="error"||t||(t=!0,B((0,k.uE)(b.data)??"Agent encountered an error"),F(a,"error")),"error"!==b.event||t||(t=!0,B((0,k.uE)(b.data??b)??"An unknown error occurred"))})(d)}),b.on("close",()=>{if(a._subscribeProcess===b&&(a._subscribeProcess=null,"running"===a.status)){if(a._lifecycleEnded){a._finalizeTimer&&(clearTimeout(a._finalizeTimer),a._finalizeTimer=null),F(a);return}Q(a,()=>{if("running"===a.status&&!a._subscribeProcess){let b=(0,k.k$)(c,a.lastGlobalSeq);a._subscribeProcess=b,a.childProcess=b,E(a,b,c)}})}}),b.on("error",a=>{console.error("[active-runs] Subscribe child error:",a)}),b.stderr?.on("data",a=>{console.error("[active-runs subscribe stderr]",a.toString())}),a._subscribeProcess=b}function F(a,b="completed"){if("running"!==a.status)return;for(let c of(a._finalizeTimer&&(clearTimeout(a._finalizeTimer),a._finalizeTimer=null),N(a),P(a),a.status=b,S(a).catch(()=>{}),a.subscribers))try{c(null)}catch{}a.subscribers.clear(),L(a);let c=a.accumulated.parts.some(a=>"tool-invocation"===a.type);if(a.isSubscribeOnly&&a.sessionKey&&!c){let b=a.sessionKey,c=a.pinnedAgentId;setTimeout(()=>{G(b,c)},2e3)}let d=a.isSubscribeOnly?864e5:3e4;setTimeout(()=>{X.get(a.sessionId)===a&&U(a.sessionId)},d)}function G(a,b){try{let c=(0,i.We)(),d=b??(0,i.TY)(),e=(0,f.join)(c,"agents",d,"sessions","sessions.json");if(!(0,g.existsSync)(e))return;let h=JSON.parse((0,g.readFileSync)(e,"utf-8"))[a],j="string"==typeof h?.sessionId?h.sessionId:null;if(!j)return;let k=(0,f.join)(c,"agents",d,"sessions",`${j}.jsonl`);if(!(0,g.existsSync)(k))return;let l=(0,g.readFileSync)(k,"utf-8").split("\n").filter(a=>a.trim()).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(Boolean),m=new Map,n=[],o=new Map;for(let a of l){if("message"!==a.type)continue;let b=a.message;if(!b)continue;let c=b.content;if("user"===b.role&&(n=[]),"toolResult"===b.role&&"string"==typeof b.toolCallId){let a=Array.isArray(c)?c.filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n"):"string"==typeof c?c:"";m.set(b.toolCallId,{text:a.slice(0,500)})}if("assistant"!==b.role||!Array.isArray(c))continue;for(let a of c)"toolCall"===a.type&&"string"==typeof a.id&&"string"==typeof a.name&&n.push({type:"tool-invocation",toolCallId:a.id,toolName:a.name,args:a.arguments??{}});let d=c.filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text.trim()).filter(Boolean);if(d.length>0&&n.length>0){let a=d.join("\n").slice(0,200);if(a.length>=10){let b=n.map(a=>{let b=m.get(a.toolCallId);return b?{...a,result:b}:a});o.set(a,b),n=[]}}}if(0===o.size)return;let p=(0,f.join)(q(),`${a}.jsonl`);if(!(0,g.existsSync)(p))return;let r=(0,g.readFileSync)(p,"utf-8").split("\n").filter(a=>a.trim()).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(Boolean),s=!1,t=r.map(a=>{if("assistant"!==a.role)return a;let b=a.parts??[{type:"text",text:a.content}];if(b.some(a=>"tool-invocation"===a.type))return a;let c=b.filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text.trim()).filter(Boolean).join("\n").slice(0,200);if(c.length<10)return a;let d=o.get(c);if(!d||0===d.length)return a;let e=b.filter(a=>"text"===a.type),f=b.filter(a=>"text"!==a.type);return s=!0,{...a,parts:[...f,...d,...e]}});s&&(0,g.writeFileSync)(p,t.map(a=>JSON.stringify(a)).join("\n")+"\n")}catch{}}function H(a){a.includes(":subagent:")&&G(a)}async function I(a,b){await J();let c=(0,f.join)(q(),`${a}.jsonl`),d=JSON.stringify({id:b.id,role:"user",content:b.content,...b.parts?{parts:b.parts}:{},...b.html?{html:b.html}:{},timestamp:new Date().toISOString()}),e=!1;await s(c,async()=>{await r(c)||await (0,h.writeFile)(c,"");let a=(await (0,h.readFile)(c,"utf-8")).split("\n").filter(a=>a.trim());(e=a.some(a=>{try{return JSON.parse(a).id===b.id}catch{return!1}}))||await (0,h.writeFile)(c,[...a,d].join("\n")+"\n")}),e||await K(a,{incrementCount:1})}async function J(){await (0,h.mkdir)(q(),{recursive:!0})}async function K(a,b){try{let c=(0,f.join)(q(),"index.json");await J(),await s(c,async()=>{let d;if(!await r(c)){d=[{id:a,title:b.title||"New Chat",createdAt:Date.now(),updatedAt:Date.now(),messageCount:b.incrementCount||0}],await (0,h.writeFile)(c,JSON.stringify(d,null,2));return}let e=(d=JSON.parse(await (0,h.readFile)(c,"utf-8"))).find(b=>b.id===a);e||(e={id:a,title:b.title||"New Chat",createdAt:Date.now(),updatedAt:Date.now(),messageCount:0},d.unshift(e)),e.updatedAt=Date.now(),b.incrementCount&&(e.messageCount=(e.messageCount||0)+b.incrementCount),b.title&&(e.title=b.title),await (0,h.writeFile)(c,JSON.stringify(d,null,2))})}catch{}}function L(a){if(O(a),N(a),a._subscribeProcess){try{a._subscribeProcess.kill("SIGTERM")}catch{}a._subscribeProcess=null}}function M(a){if("waiting-for-subagents"===a.status){a.status="completed",N(a),P(a),L(a);try{(0,j.V6)(a.sessionId)}catch{}for(let b of(S(a).catch(()=>{}),a.subscribers))try{b(null)}catch{}a.subscribers.clear(),setTimeout(()=>{X.get(a.sessionId)===a&&U(a.sessionId)},3e4)}}function N(a){a._waitingFinalizeTimer&&(clearTimeout(a._waitingFinalizeTimer),a._waitingFinalizeTimer=null)}function O(a){a._subscribeRetryTimer&&(clearTimeout(a._subscribeRetryTimer),a._subscribeRetryTimer=null)}function P(a){a._subscribeRetryAttempt=0,O(a)}function Q(a,b){if(a._subscribeRetryTimer)return;let c=a._subscribeRetryAttempt??0,d=Math.min(5e3,300*2**c);a._subscribeRetryAttempt=c+1,a._subscribeRetryTimer=setTimeout(()=>{a._subscribeRetryTimer=null,b()},d)}function R(a){if(a._persistTimer)return;let b=Date.now()-a._lastPersistedAt,c=Math.max(0,2e3-b);a._persistTimer=setTimeout(()=>{a._persistTimer=null,S(a).catch(()=>{})},c)}async function S(a){a._persistTimer&&(clearTimeout(a._persistTimer),a._persistTimer=null),a._lastPersistedAt=Date.now();let b=a.accumulated.parts;if(0===b.length)return;let c=b.filter(a=>"text"!==a.type||!m(a.text)),d=c.filter(a=>"text"===a.type).map(a=>a.text).join(""),e="running"===a.status||"waiting-for-subagents"===a.status,f={id:a.accumulated.id,role:"assistant",content:d,parts:c,timestamp:new Date().toISOString()};e&&(f._streaming=!0);try{await T(a.sessionId,f)}catch(a){console.error("[active-runs] Persistence error:",a)}}async function T(a,b){await J();let c=(0,f.join)(q(),`${a}.jsonl`),d=b.id,e=!1;await s(c,async()=>{await r(c)||await (0,h.writeFile)(c,"");let a=(await (0,h.readFile)(c,"utf-8")).split("\n").filter(a=>a.trim()).map(a=>{try{if(JSON.parse(a).id===d)return e=!0,JSON.stringify(b)}catch{}return a});e||a.push(JSON.stringify(b)),await (0,h.writeFile)(c,a.join("\n")+"\n")}),a.includes(":subagent:")||(e?await K(a,{}):await K(a,{incrementCount:1}))}function U(a){let b=X.get(a);b&&(b._persistTimer&&clearTimeout(b._persistTimer),N(b),L(b),X.delete(a))}d()}catch(a){d(a)}})},80687:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Gk:()=>w,KJ:()=>z,Px:()=>m,_v:()=>x,e$:()=>D,k$:()=>y,kW:()=>C,m0:()=>A,uE:()=>B});var e=c(77598),f=c(56093),g=c(73024),h=c(76760),i=c(57075),j=c(56220),k=c(93349),l=a([j]);function m(a){if(!a)return;if("string"==typeof a)return{text:a,details:void 0};if("object"!=typeof a)return;let b=Array.isArray(a.content)?a.content:[],c=[];for(let a of b)a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text&&c.push(a.text);let d=c.length>0?c.join("\n"):void 0,e=a.details&&"object"==typeof a.details?a.details:void 0;return d||e||Array.isArray(a.content)?{text:d,details:e}:{text:void 0,details:a}}j=(l.then?(await l)():l)[0];let E=["tool-events"],F=Buffer.from("302a300506032b6570032100","hex"),G="unknown";function n(a){return a.toString("base64").replaceAll("+","-").replaceAll("/","_").replace(/=+$/g,"")}function o(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a}function p(a){try{let b=JSON.parse(a);return o(b)}catch{return null}}function q(a){if("number"==typeof a&&Number.isFinite(a)&&a>0)return Math.floor(a);if("string"==typeof a){let b=Number.parseInt(a,10);if(Number.isFinite(b)&&b>0)return b}}function r(a,b){let c=a.includes("://")?a:`ws://${a}`,d=new URL(c);return"http:"===d.protocol?d.protocol="ws:":"https:"===d.protocol&&(d.protocol="wss:"),d.port||(d.port="wss:"===d.protocol?"443":String(b)),d.toString()}function s(a,b){let c,d=b?.caps,f=Array.isArray(d)?d.filter(a=>"string"==typeof a&&a.trim().length>0):E,g=b?.clientMode??"backend",h="gateway-client",i="operator",j=["operator.read","operator.write","operator.admin"],k=!!(a.token||a.password),l=b?.deviceToken,m=k||l?{...a.token?{token:a.token}:{},...a.password?{password:a.password}:{},...l?{deviceToken:l}:{}}:void 0,o=b?.nonce,p=b?.deviceIdentity;if(p&&o){let b=Date.now(),d=process.platform,f=["v3",p.deviceId,h,g,i,j.join(","),String(b),a.token??"",o,d,""].join("|"),k=function(a,b){let c=(0,e.createPrivateKey)(a);return n((0,e.sign)(null,Buffer.from(b,"utf8"),c))}(p.privateKeyPem,f);c={id:p.deviceId,publicKey:n(function(a){let b=(0,e.createPublicKey)(a).export({type:"spki",format:"der"});return b.length===F.length+32&&b.subarray(0,F.length).equals(F)?b.subarray(F.length):b}(p.publicKeyPem)),signature:k,signedAt:b,nonce:o}}return{minProtocol:3,maxProtocol:3,client:{id:h,version:"dev",platform:process.platform,mode:g,instanceId:"denchclaw-web-server"},locale:"en-US",userAgent:"denchclaw-web",role:i,scopes:j,caps:f,...m?{auth:m}:{},...c?{device:c}:{}}}function t(a){let b=o(a.error);return"string"==typeof b?.message&&b.message.trim()?b.message:"string"==typeof a.error&&a.error.trim()?a.error:"Gateway request failed"}function u(a){let b=a.trim().toLowerCase();return!!b&&(b.includes("timeout")||b.includes("timed out")||b.includes("temporar")||b.includes("unavailable")||b.includes("try again")||b.includes("connection closed")||b.includes("connection reset"))}let H=/missing scope:\s*(\S+)/i;class I{constructor(a,b,c){this.settings=a,this.onEvent=b,this.onClose=c,this.ws=null,this.pending=new Map,this.closed=!1,this.challengeNonce=null,this.challengeResolve=null}waitForChallenge(a=5e3){return this.challengeNonce?Promise.resolve(this.challengeNonce):new Promise((b,c)=>{let d=setTimeout(()=>{this.challengeResolve=null,c(Error("Gateway challenge timeout"))},a);this.challengeResolve=a=>{clearTimeout(d),b(a)}})}async open(a=8e3){if(this.ws)return;let b=this.settings.url.replace(/^ws:/,"http:").replace(/^wss:/,"https:"),c=new j.default(this.settings.url,{headers:{Origin:b}});this.ws=c,await new Promise((b,d)=>{let e=!1,f=setTimeout(()=>{e||(e=!0,d(Error("Gateway WebSocket open timeout")))},a);c.once("open",()=>{e||(e=!0,clearTimeout(f),b())}),c.once("error",()=>{e||(e=!0,clearTimeout(f),d(Error("Gateway WebSocket connection failed")))})}),c.on("message",a=>{let b="string"==typeof a?a:a instanceof ArrayBuffer?Buffer.from(a).toString("utf-8"):ArrayBuffer.isView(a)?Buffer.from(a.buffer,a.byteOffset,a.byteLength).toString("utf-8"):null;null!=b&&this.handleMessageText(b)}),c.on("close",(a,b)=>{this.closed||(this.closed=!0,this.flushPending(Error("Gateway connection closed")),this.onClose(a,b.toString("utf-8")))})}request(a,b,c=12e3){let d=this.ws;return d&&d.readyState===j.default.OPEN?new Promise((f,g)=>{let h=(0,e.randomUUID)(),i=setTimeout(()=>{this.pending.delete(h),g(Error(`Gateway request timed out (${a})`))},c);this.pending.set(h,{resolve:f,reject:g,timeout:i}),d.send(JSON.stringify({type:"req",id:h,method:a,params:b}))}):Promise.reject(Error("Gateway WebSocket is not connected"))}close(a,b){if(!this.closed){this.closed=!0,this.flushPending(Error("Gateway connection closed"));try{this.ws?.close(a,b)}catch{}}}flushPending(a){for(let b of this.pending.values())clearTimeout(b.timeout),b.reject(a);this.pending.clear()}handleMessageText(a){let b=null;try{b=JSON.parse(a)}catch{return}if(b&&"object"==typeof b&&"type"in b){if("res"===b.type){let a=b,c=this.pending.get(a.id);if(!c)return;this.pending.delete(a.id),clearTimeout(c.timeout),c.resolve(a);return}if("event"===b.type){let a=b;if("connect.challenge"===a.event){let b=o(a.payload),c="string"==typeof b?.nonce?b.nonce.trim():null;c&&(this.challengeNonce=c,this.challengeResolve?.(c),this.challengeResolve=null);return}this.onEvent(a)}}}}async function v(a,b){let c=function(){let a=process.env.OPENCLAW_GATEWAY_URL?.trim(),b=process.env.OPENCLAW_GATEWAY_TOKEN?.trim(),c=process.env.OPENCLAW_GATEWAY_PASSWORD?.trim(),d=q(process.env.OPENCLAW_GATEWAY_PORT),e=(0,k.We)(),f=function(a){for(let b of[(0,h.join)(a,"openclaw.json"),(0,h.join)(a,"config.json")])if((0,g.existsSync)(b))try{let a=p((0,g.readFileSync)(b,"utf-8"));if(a)return a}catch{}return null}(e),i=o(f?.gateway),j=o(i?.remote),l=o(i?.auth),m=q(i?.port)??18789,n=d??m,s="string"==typeof i?.mode?i.mode.trim().toLowerCase():"",t="string"==typeof j?.url?j.url.trim():void 0,u=!a&&"remote"===s&&!!t,v=(u&&"string"==typeof j?.token?j.token.trim():void 0)||("string"==typeof l?.token?l.token.trim():void 0),w=(u&&"string"==typeof j?.password?j.password.trim():void 0)||("string"==typeof l?.password?l.password.trim():void 0),x=a||(u?t:`ws://127.0.0.1:${n}`),y={url:r(x,n),token:b||v,password:c||w},z=u?t:`ws://127.0.0.1:${m}`,A={url:r(z,m),token:v,password:w},B=[y];A.url!==y.url&&B.push(A);let C=[],D=new Set;for(let a of B){let b=`${a.url}|${a.token??""}|${a.password??""}`;D.has(b)||(D.add(b),C.push(a))}return C}(),d=null;for(let e of c){let c=new I(e,a,b);try{return await c.open(),{client:c,settings:e}}catch(a){d=a instanceof Error?a:Error(String(a)),c.close()}}throw d??Error("Gateway WebSocket connection failed")}class J extends f.EventEmitter{constructor(a){super(),this.params=a,this.stdout=new i.PassThrough,this.stderr=new i.PassThrough,this.client=null,this.finished=!1,this.closeScheduled=!1,this.requestedClose=!1,this.runId=null,this.start()}kill(a){return!this.finished&&(this.requestedClose=!0,this.client?.close(),this.finish(0,"string"==typeof a?a:null),!0)}async start(){try{let a,{client:b,settings:c}=await v(a=>this.handleGatewayEvent(a),(a,b)=>this.handleSocketClose(a,b));this.client=b;let d=(0,k.We)(),f=function(a){let b=(0,h.join)(a,"identity","device.json");if(!(0,g.existsSync)(b))return null;try{let a=p((0,g.readFileSync)(b,"utf-8"));if(a&&"string"==typeof a.deviceId&&"string"==typeof a.publicKeyPem&&"string"==typeof a.privateKeyPem)return{deviceId:a.deviceId,publicKeyPem:a.publicKeyPem,privateKeyPem:a.privateKeyPem}}catch{}return null}(d),i=function(a){let b=(0,h.join)(a,"identity","device-auth.json");if(!(0,g.existsSync)(b))return null;try{let a=p((0,g.readFileSync)(b,"utf-8"));if(!a||"string"!=typeof a.deviceId)return null;let c=o(a.tokens),d=o(c?.operator);if(d&&"string"==typeof d.token)return{deviceId:a.deviceId,token:d.token,scopes:Array.isArray(d.scopes)?d.scopes:[]}}catch{}return null}(d);if(f)try{a=await b.waitForChallenge()}catch{a=void 0}let j=s(c,{nonce:a,deviceIdentity:f,deviceToken:i?.token}),l=await this.client.request("connect",j);if(!l.ok)throw Error(t(l));if("start"===this.params.mode){this.params.sessionKey&&await this.ensureFullToolVerbose(this.params.sessionKey);let a=this.params.sessionKey,b=await this.client.request("agent",{message:this.params.message??"",idempotencyKey:(0,e.randomUUID)(),...a?{sessionKey:a}:{},deliver:!1,channel:"webchat",lane:this.params.lane??"web",timeout:0});if(!b.ok)throw Error(t(b));let c=o(b.payload),d=c&&"string"==typeof c.runId?c.runId:null;this.runId=d,a&&await this.ensureFullToolVerbose(a)}else{let a=this.params.sessionKey;if(!a)throw Error("Missing session key for subscribe mode");if(await this.ensureFullToolVerbose(a),"unsupported"!==G){let b=await this.client.request("agent.subscribe",{sessionKey:a,afterSeq:Math.max(0,Number.isFinite(this.params.afterSeq)?this.params.afterSeq:0)});if(b.ok)G="supported";else if(function(a,b){let c=t(a).trim().toLowerCase();return!!c.includes("unknown method")&&c.includes(b.toLowerCase())}(b,"agent.subscribe"))G="unsupported",this.stderr.write("[gateway] agent.subscribe unavailable; using passive session filter mode\n");else throw Error(t(b))}}}catch(d){let a=d instanceof Error?d.message:String(d),b=function(a){let b=H.exec(a);if(!b)return null;let c=b[1];return`missing scope: ${c}. The Gateway did not grant operator scopes — device identity may be missing or invalid. Fix: run \`npx denchclaw bootstrap\` to re-pair the device.`}(a),c=Error(b??a);this.stderr.write(`${c.message}
5
+ `;A({type:"text-delta",id:j,delta:b}),z(b)}}if("string"==typeof b.data?.stopReason&&"error"===b.data.stopReason&&!t){t=!0;let a="string"==typeof b.data?.errorMessage?(0,k.kW)(b.data.errorMessage):(0,k.uE)(b.data)??"Agent stopped with an error";B(a)}}if("agent"===b.event&&"tool"===b.stream){let c="string"==typeof b.data?.phase?b.data.phase:void 0,d="string"==typeof b.data?.toolCallId?b.data.toolCallId:"",e="string"==typeof b.data?.name?b.data.name:"";if("start"===c){u.toolStartCount+=1,C(),D();let c=b.data?.args&&"object"==typeof b.data.args?b.data.args:{};A({type:"tool-input-start",toolCallId:d,toolName:e}),A({type:"tool-input-available",toolCallId:d,toolName:e,input:c}),a.accumulated.parts.push({type:"tool-invocation",toolCallId:d,toolName:e,args:c}),x.set(d,a.accumulated.parts.length-1)}else if("update"===c){let a=(0,k.Px)(b.data?.partialResult);if(a){let b=(0,k.m0)(a);A({type:"tool-output-partial",toolCallId:d,output:b})}}else if("result"===c){let c=b.data?.isError===!0,e=(0,k.Px)(b.data?.result);if(c){let b=e?.text||e?.details?.error||"Tool execution failed";A({type:"tool-output-error",toolCallId:d,errorText:b});let c=x.get(d);if(void 0!==c){let d=a.accumulated.parts[c];"tool-invocation"===d.type&&(d.errorText=b)}}else{let b=(0,k.m0)(e);A({type:"tool-output-available",toolCallId:d,output:b});let c=x.get(d);if(void 0!==c){let d=a.accumulated.parts[c];"tool-invocation"===d.type&&(d.result=b)}}}}if("agent"===b.event&&"lifecycle"===b.stream&&(b.data?.phase==="fallback"||b.data?.phase==="fallback_cleared")){let a=b.data,c=o(a?.selectedProvider,a?.selectedModel)??o(a?.fromProvider,a?.fromModel),d=o(a?.activeProvider,a?.activeModel)??o(a?.toProvider,a?.toModel);if(c&&d){let b=a?.phase==="fallback_cleared",e="string"==typeof a?.reasonSummary?a.reasonSummary:"string"==typeof a?.reason?a.reason:void 0,f=b?`Restored to ${c}`:`Switched to ${d}${e?` (${e})`:""}`;G(f)}}if("agent"===b.event&&"compaction"===b.stream){let a="string"==typeof b.data?.phase?b.data.phase:void 0;if("start"===a)G("Optimizing session context...");else if("end"===a&&s)if(b.data?.willRetry===!0){let a="\nRetrying with compacted context...";A({type:"reasoning-delta",id:l,delta:a}),y(a)}else C()}if("chat"===b.event){let a=p(b.data);a&&(C(),q||(j=h("text"),A({type:"text-start",id:j}),q=!0),A({type:"text-delta",id:j,delta:a}),z(a),D())}"agent"===b.event&&"lifecycle"===b.stream&&b.data?.phase==="end"&&(H("lifecycle-end"),C(),D(),a._lifecycleEnded=!0,a._finalizeTimer&&clearTimeout(a._finalizeTimer),a._finalizeTimer=setTimeout(()=>{a._finalizeTimer=null,"running"===a.status&&F(a)},750)),"agent"!==b.event||"lifecycle"!==b.stream||b.data?.phase!=="error"||t||(t=!0,B((0,k.uE)(b.data)??"Agent encountered an error"),F(a,"error")),"error"!==b.event||t||(t=!0,B((0,k.uE)(b.data??b)??"An unknown error occurred"))})(d)}),b.on("close",()=>{if(a._subscribeProcess===b&&(a._subscribeProcess=null,"running"===a.status)){if(a._lifecycleEnded){a._finalizeTimer&&(clearTimeout(a._finalizeTimer),a._finalizeTimer=null),F(a);return}Q(a,()=>{if("running"===a.status&&!a._subscribeProcess){let b=(0,k.k$)(c,a.lastGlobalSeq);a._subscribeProcess=b,a.childProcess=b,E(a,b,c)}})}}),b.on("error",a=>{console.error("[active-runs] Subscribe child error:",a)}),b.stderr?.on("data",a=>{console.error("[active-runs subscribe stderr]",a.toString())}),a._subscribeProcess=b}function F(a,b="completed"){if("running"!==a.status)return;for(let c of(a._finalizeTimer&&(clearTimeout(a._finalizeTimer),a._finalizeTimer=null),N(a),P(a),a.status=b,S(a).catch(()=>{}),a.subscribers))try{c(null)}catch{}a.subscribers.clear(),L(a);let c=a.accumulated.parts.some(a=>"tool-invocation"===a.type);if(a.isSubscribeOnly&&a.sessionKey&&!c){let b=a.sessionKey,c=a.pinnedAgentId;setTimeout(()=>{G(b,c)},2e3)}let d=a.isSubscribeOnly?864e5:3e4;setTimeout(()=>{X.get(a.sessionId)===a&&U(a.sessionId)},d)}function G(a,b){try{let c=(0,i.We)(),d=b??(0,i.TY)(),e=(0,f.join)(c,"agents",d,"sessions","sessions.json");if(!(0,g.existsSync)(e))return;let h=JSON.parse((0,g.readFileSync)(e,"utf-8"))[a],j="string"==typeof h?.sessionId?h.sessionId:null;if(!j)return;let k=(0,f.join)(c,"agents",d,"sessions",`${j}.jsonl`);if(!(0,g.existsSync)(k))return;let l=(0,g.readFileSync)(k,"utf-8").split("\n").filter(a=>a.trim()).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(Boolean),m=new Map,n=[],o=new Map;for(let a of l){if("message"!==a.type)continue;let b=a.message;if(!b)continue;let c=b.content;if("user"===b.role&&(n=[]),"toolResult"===b.role&&"string"==typeof b.toolCallId){let a=Array.isArray(c)?c.filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n"):"string"==typeof c?c:"";m.set(b.toolCallId,{text:a.slice(0,500)})}if("assistant"!==b.role||!Array.isArray(c))continue;for(let a of c)"toolCall"===a.type&&"string"==typeof a.id&&"string"==typeof a.name&&n.push({type:"tool-invocation",toolCallId:a.id,toolName:a.name,args:a.arguments??{}});let d=c.filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text.trim()).filter(Boolean);if(d.length>0&&n.length>0){let a=d.join("\n").slice(0,200);if(a.length>=10){let b=n.map(a=>{let b=m.get(a.toolCallId);return b?{...a,result:b}:a});o.set(a,b),n=[]}}}if(0===o.size)return;let p=(0,f.join)(q(),`${a}.jsonl`);if(!(0,g.existsSync)(p))return;let r=(0,g.readFileSync)(p,"utf-8").split("\n").filter(a=>a.trim()).map(a=>{try{return JSON.parse(a)}catch{return null}}).filter(Boolean),s=!1,t=r.map(a=>{if("assistant"!==a.role)return a;let b=a.parts??[{type:"text",text:a.content}];if(b.some(a=>"tool-invocation"===a.type))return a;let c=b.filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text.trim()).filter(Boolean).join("\n").slice(0,200);if(c.length<10)return a;let d=o.get(c);if(!d||0===d.length)return a;let e=b.filter(a=>"text"===a.type),f=b.filter(a=>"text"!==a.type);return s=!0,{...a,parts:[...f,...d,...e]}});s&&(0,g.writeFileSync)(p,t.map(a=>JSON.stringify(a)).join("\n")+"\n")}catch{}}function H(a){a.includes(":subagent:")&&G(a)}async function I(a,b){await J();let c=(0,f.join)(q(),`${a}.jsonl`),d=JSON.stringify({id:b.id,role:"user",content:b.content,...b.parts?{parts:b.parts}:{},...b.html?{html:b.html}:{},timestamp:new Date().toISOString()}),e=!1;await s(c,async()=>{await r(c)||await (0,h.writeFile)(c,"");let a=(await (0,h.readFile)(c,"utf-8")).split("\n").filter(a=>a.trim());(e=a.some(a=>{try{return JSON.parse(a).id===b.id}catch{return!1}}))||await (0,h.writeFile)(c,[...a,d].join("\n")+"\n")}),e||await K(a,{incrementCount:1})}async function J(){await (0,h.mkdir)(q(),{recursive:!0})}async function K(a,b){try{let c=(0,f.join)(q(),"index.json");await J(),await s(c,async()=>{let d;if(!await r(c)){d=[{id:a,title:b.title||"New Chat",createdAt:Date.now(),updatedAt:Date.now(),messageCount:b.incrementCount||0}],await (0,h.writeFile)(c,JSON.stringify(d,null,2));return}let e=(d=JSON.parse(await (0,h.readFile)(c,"utf-8"))).find(b=>b.id===a);e||(e={id:a,title:b.title||"New Chat",createdAt:Date.now(),updatedAt:Date.now(),messageCount:0},d.unshift(e)),e.updatedAt=Date.now(),b.incrementCount&&(e.messageCount=(e.messageCount||0)+b.incrementCount),b.title&&(e.title=b.title),await (0,h.writeFile)(c,JSON.stringify(d,null,2))})}catch{}}function L(a){if(O(a),N(a),a._subscribeProcess){try{a._subscribeProcess.kill("SIGTERM")}catch{}a._subscribeProcess=null}}function M(a){if("waiting-for-subagents"===a.status){a.status="completed",N(a),P(a),L(a);try{(0,j.V6)(a.sessionId)}catch{}for(let b of(S(a).catch(()=>{}),a.subscribers))try{b(null)}catch{}a.subscribers.clear(),setTimeout(()=>{X.get(a.sessionId)===a&&U(a.sessionId)},3e4)}}function N(a){a._waitingFinalizeTimer&&(clearTimeout(a._waitingFinalizeTimer),a._waitingFinalizeTimer=null)}function O(a){a._subscribeRetryTimer&&(clearTimeout(a._subscribeRetryTimer),a._subscribeRetryTimer=null)}function P(a){a._subscribeRetryAttempt=0,O(a)}function Q(a,b){if(a._subscribeRetryTimer)return;let c=a._subscribeRetryAttempt??0,d=Math.min(5e3,300*2**c);a._subscribeRetryAttempt=c+1,a._subscribeRetryTimer=setTimeout(()=>{a._subscribeRetryTimer=null,b()},d)}function R(a){if(a._persistTimer)return;let b=Date.now()-a._lastPersistedAt,c=Math.max(0,2e3-b);a._persistTimer=setTimeout(()=>{a._persistTimer=null,S(a).catch(()=>{})},c)}async function S(a){a._persistTimer&&(clearTimeout(a._persistTimer),a._persistTimer=null),a._lastPersistedAt=Date.now();let b=a.accumulated.parts;if(0===b.length)return;let c=b.filter(a=>"text"!==a.type||!m(a.text)),d=c.filter(a=>"text"===a.type).map(a=>a.text).join(""),e="running"===a.status||"waiting-for-subagents"===a.status,f={id:a.accumulated.id,role:"assistant",content:d,parts:c,timestamp:new Date().toISOString()};e&&(f._streaming=!0);try{await T(a.sessionId,f)}catch(a){console.error("[active-runs] Persistence error:",a)}}async function T(a,b){await J();let c=(0,f.join)(q(),`${a}.jsonl`),d=b.id,e=!1;await s(c,async()=>{await r(c)||await (0,h.writeFile)(c,"");let a=(await (0,h.readFile)(c,"utf-8")).split("\n").filter(a=>a.trim()).map(a=>{try{if(JSON.parse(a).id===d)return e=!0,JSON.stringify(b)}catch{}return a});e||a.push(JSON.stringify(b)),await (0,h.writeFile)(c,a.join("\n")+"\n")}),a.includes(":subagent:")||(e?await K(a,{}):await K(a,{incrementCount:1}))}function U(a){let b=X.get(a);b&&(b._persistTimer&&clearTimeout(b._persistTimer),N(b),L(b),X.delete(a))}d()}catch(a){d(a)}})},80687:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Gk:()=>w,KJ:()=>z,Px:()=>m,_v:()=>x,e$:()=>D,k$:()=>y,kW:()=>C,m0:()=>A,uE:()=>B});var e=c(77598),f=c(56093),g=c(73024),h=c(76760),i=c(57075),j=c(56220),k=c(93349),l=a([j]);function m(a){if(!a)return;if("string"==typeof a)return{text:a,details:void 0};if("object"!=typeof a)return;let b=Array.isArray(a.content)?a.content:[],c=[];for(let a of b)a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text&&c.push(a.text);let d=c.length>0?c.join("\n"):void 0,e=a.details&&"object"==typeof a.details?a.details:void 0;return d||e||Array.isArray(a.content)?{text:d,details:e}:{text:void 0,details:a}}j=(l.then?(await l)():l)[0];let E=["tool-events"],F=Buffer.from("302a300506032b6570032100","hex"),G="unknown";function n(a){return a.toString("base64").replaceAll("+","-").replaceAll("/","_").replace(/=+$/g,"")}function o(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a}function p(a){try{let b=JSON.parse(a);return o(b)}catch{return null}}function q(a){if("number"==typeof a&&Number.isFinite(a)&&a>0)return Math.floor(a);if("string"==typeof a){let b=Number.parseInt(a,10);if(Number.isFinite(b)&&b>0)return b}}function r(a,b){let c=a.includes("://")?a:`ws://${a}`,d=new URL(c);return"http:"===d.protocol?d.protocol="ws:":"https:"===d.protocol&&(d.protocol="wss:"),d.port||(d.port="wss:"===d.protocol?"443":String(b)),d.toString()}function s(a,b){let c,d=b?.caps,f=Array.isArray(d)?d.filter(a=>"string"==typeof a&&a.trim().length>0):E,g=b?.clientMode??"backend",h="gateway-client",i="operator",j=["operator.read","operator.write","operator.admin"],k=!!(a.token||a.password),l=b?.deviceToken,m=k||l?{...a.token?{token:a.token}:{},...a.password?{password:a.password}:{},...l?{deviceToken:l}:{}}:void 0,o=b?.nonce,p=b?.deviceIdentity;if(p&&o){let b=Date.now(),d=process.platform,f=["v3",p.deviceId,h,g,i,j.join(","),String(b),a.token??"",o,d,""].join("|"),k=function(a,b){let c=(0,e.createPrivateKey)(a);return n((0,e.sign)(null,Buffer.from(b,"utf8"),c))}(p.privateKeyPem,f);c={id:p.deviceId,publicKey:n(function(a){let b=(0,e.createPublicKey)(a).export({type:"spki",format:"der"});return b.length===F.length+32&&b.subarray(0,F.length).equals(F)?b.subarray(F.length):b}(p.publicKeyPem)),signature:k,signedAt:b,nonce:o}}return{minProtocol:3,maxProtocol:3,client:{id:h,version:"dev",platform:process.platform,mode:g,instanceId:"denchclaw-web-server"},locale:"en-US",userAgent:"denchclaw-web",role:i,scopes:j,caps:f,...m?{auth:m}:{},...c?{device:c}:{}}}function t(a){let b=o(a.error);return"string"==typeof b?.message&&b.message.trim()?b.message:"string"==typeof a.error&&a.error.trim()?a.error:"Gateway request failed"}function u(a){let b=a.trim().toLowerCase();return!!b&&(b.includes("timeout")||b.includes("timed out")||b.includes("temporar")||b.includes("unavailable")||b.includes("try again")||b.includes("connection closed")||b.includes("connection reset"))}let H=/missing scope:\s*(\S+)/i;class I{constructor(a,b,c){this.settings=a,this.onEvent=b,this.onClose=c,this.ws=null,this.pending=new Map,this.closed=!1,this.challengeNonce=null,this.challengeResolve=null}waitForChallenge(a=5e3){return this.challengeNonce?Promise.resolve(this.challengeNonce):new Promise((b,c)=>{let d=setTimeout(()=>{this.challengeResolve=null,c(Error("Gateway challenge timeout"))},a);this.challengeResolve=a=>{clearTimeout(d),b(a)}})}async open(a=8e3){if(this.ws)return;let b=new j.default(this.settings.url);this.ws=b,await new Promise((c,d)=>{let e=!1,f=setTimeout(()=>{e||(e=!0,d(Error("Gateway WebSocket open timeout")))},a);b.once("open",()=>{e||(e=!0,clearTimeout(f),c())}),b.once("error",()=>{e||(e=!0,clearTimeout(f),d(Error("Gateway WebSocket connection failed")))})}),b.on("message",a=>{let b="string"==typeof a?a:a instanceof ArrayBuffer?Buffer.from(a).toString("utf-8"):ArrayBuffer.isView(a)?Buffer.from(a.buffer,a.byteOffset,a.byteLength).toString("utf-8"):null;null!=b&&this.handleMessageText(b)}),b.on("close",(a,b)=>{this.closed||(this.closed=!0,this.flushPending(Error("Gateway connection closed")),this.onClose(a,b.toString("utf-8")))})}request(a,b,c=12e3){let d=this.ws;return d&&d.readyState===j.default.OPEN?new Promise((f,g)=>{let h=(0,e.randomUUID)(),i=setTimeout(()=>{this.pending.delete(h),g(Error(`Gateway request timed out (${a})`))},c);this.pending.set(h,{resolve:f,reject:g,timeout:i}),d.send(JSON.stringify({type:"req",id:h,method:a,params:b}))}):Promise.reject(Error("Gateway WebSocket is not connected"))}close(a,b){if(!this.closed){this.closed=!0,this.flushPending(Error("Gateway connection closed"));try{this.ws?.close(a,b)}catch{}}}flushPending(a){for(let b of this.pending.values())clearTimeout(b.timeout),b.reject(a);this.pending.clear()}handleMessageText(a){let b=null;try{b=JSON.parse(a)}catch{return}if(b&&"object"==typeof b&&"type"in b){if("res"===b.type){let a=b,c=this.pending.get(a.id);if(!c)return;this.pending.delete(a.id),clearTimeout(c.timeout),c.resolve(a);return}if("event"===b.type){let a=b;if("connect.challenge"===a.event){let b=o(a.payload),c="string"==typeof b?.nonce?b.nonce.trim():null;c&&(this.challengeNonce=c,this.challengeResolve?.(c),this.challengeResolve=null);return}this.onEvent(a)}}}}async function v(a,b){let c=function(){let a=process.env.OPENCLAW_GATEWAY_URL?.trim(),b=process.env.OPENCLAW_GATEWAY_TOKEN?.trim(),c=process.env.OPENCLAW_GATEWAY_PASSWORD?.trim(),d=q(process.env.OPENCLAW_GATEWAY_PORT),e=(0,k.We)(),f=function(a){for(let b of[(0,h.join)(a,"openclaw.json"),(0,h.join)(a,"config.json")])if((0,g.existsSync)(b))try{let a=p((0,g.readFileSync)(b,"utf-8"));if(a)return a}catch{}return null}(e),i=o(f?.gateway),j=o(i?.remote),l=o(i?.auth),m=q(i?.port)??18789,n=d??m,s="string"==typeof i?.mode?i.mode.trim().toLowerCase():"",t="string"==typeof j?.url?j.url.trim():void 0,u=!a&&"remote"===s&&!!t,v=(u&&"string"==typeof j?.token?j.token.trim():void 0)||("string"==typeof l?.token?l.token.trim():void 0),w=(u&&"string"==typeof j?.password?j.password.trim():void 0)||("string"==typeof l?.password?l.password.trim():void 0),x=a||(u?t:`ws://127.0.0.1:${n}`),y={url:r(x,n),token:b||v,password:c||w},z=u?t:`ws://127.0.0.1:${m}`,A={url:r(z,m),token:v,password:w},B=[y];A.url!==y.url&&B.push(A);let C=[],D=new Set;for(let a of B){let b=`${a.url}|${a.token??""}|${a.password??""}`;D.has(b)||(D.add(b),C.push(a))}return C}(),d=null;for(let e of c){let c=new I(e,a,b);try{return await c.open(),{client:c,settings:e}}catch(a){d=a instanceof Error?a:Error(String(a)),c.close()}}throw d??Error("Gateway WebSocket connection failed")}class J extends f.EventEmitter{constructor(a){super(),this.params=a,this.stdout=new i.PassThrough,this.stderr=new i.PassThrough,this.client=null,this.finished=!1,this.closeScheduled=!1,this.requestedClose=!1,this.runId=null,this.start()}kill(a){return!this.finished&&(this.requestedClose=!0,this.client?.close(),this.finish(0,"string"==typeof a?a:null),!0)}async start(){try{let a,{client:b,settings:c}=await v(a=>this.handleGatewayEvent(a),(a,b)=>this.handleSocketClose(a,b));this.client=b;let d=(0,k.We)(),f=function(a){let b=(0,h.join)(a,"identity","device.json");if(!(0,g.existsSync)(b))return null;try{let a=p((0,g.readFileSync)(b,"utf-8"));if(a&&"string"==typeof a.deviceId&&"string"==typeof a.publicKeyPem&&"string"==typeof a.privateKeyPem)return{deviceId:a.deviceId,publicKeyPem:a.publicKeyPem,privateKeyPem:a.privateKeyPem}}catch{}return null}(d),i=function(a){let b=(0,h.join)(a,"identity","device-auth.json");if(!(0,g.existsSync)(b))return null;try{let a=p((0,g.readFileSync)(b,"utf-8"));if(!a||"string"!=typeof a.deviceId)return null;let c=o(a.tokens),d=o(c?.operator);if(d&&"string"==typeof d.token)return{deviceId:a.deviceId,token:d.token,scopes:Array.isArray(d.scopes)?d.scopes:[]}}catch{}return null}(d);if(f)try{a=await b.waitForChallenge()}catch{a=void 0}let j=s(c,{nonce:a,deviceIdentity:f,deviceToken:i?.token}),l=await this.client.request("connect",j);if(!l.ok)throw Error(t(l));if("start"===this.params.mode){this.params.sessionKey&&await this.ensureFullToolVerbose(this.params.sessionKey);let a=this.params.sessionKey,b=await this.client.request("agent",{message:this.params.message??"",idempotencyKey:(0,e.randomUUID)(),...a?{sessionKey:a}:{},deliver:!1,channel:"webchat",lane:this.params.lane??"web",timeout:0});if(!b.ok)throw Error(t(b));let c=o(b.payload),d=c&&"string"==typeof c.runId?c.runId:null;this.runId=d,a&&await this.ensureFullToolVerbose(a)}else{let a=this.params.sessionKey;if(!a)throw Error("Missing session key for subscribe mode");if(await this.ensureFullToolVerbose(a),"unsupported"!==G){let b=await this.client.request("agent.subscribe",{sessionKey:a,afterSeq:Math.max(0,Number.isFinite(this.params.afterSeq)?this.params.afterSeq:0)});if(b.ok)G="supported";else if(function(a,b){let c=t(a).trim().toLowerCase();return!!c.includes("unknown method")&&c.includes(b.toLowerCase())}(b,"agent.subscribe"))G="unsupported",this.stderr.write("[gateway] agent.subscribe unavailable; using passive session filter mode\n");else throw Error(t(b))}}}catch(d){let a=d instanceof Error?d.message:String(d),b=function(a){let b=H.exec(a);if(!b)return null;let c=b[1];return`missing scope: ${c}. The Gateway did not grant operator scopes — device identity may be missing or invalid. Fix: run \`npx denchclaw bootstrap\` to re-pair the device.`}(a),c=Error(b??a);this.stderr.write(`${c.message}
6
6
  `),this.emit("error",c),this.finish(1,null)}}async ensureFullToolVerbose(a){if(!this.client||!a.trim())return;let b={key:a,thinkingLevel:"xhigh",verboseLevel:"full",reasoningLevel:"on"},c=0,d="";for(;c<2;){c+=1;try{let a=await this.client.request("sessions.patch",b);if(a.ok)return;if((d=t(a)).includes("thinkingLevel")&&b.thinkingLevel){delete b.thinkingLevel,c=0;continue}if(c>=2||!u(d))break}catch(a){if((d=a instanceof Error?a.message:String(a)).includes("thinkingLevel")&&b.thinkingLevel){delete b.thinkingLevel,c=0;continue}if(c>=2||!u(d))break}await new Promise(a=>setTimeout(a,150))}d.trim()&&this.stderr.write(`[gateway] sessions.patch verboseLevel=full failed: ${d}
7
7
  `)}shouldAcceptSessionEvent(a){let b=this.params.sessionKey;return!b||("subscribe"===this.params.mode?a===b:!a||a===b)}handleGatewayEvent(a){if(!this.finished&&"connect.challenge"!==a.event){if("agent"===a.event){let b=o(a.payload);if(!b)return;let c="string"==typeof b.sessionKey?b.sessionKey:void 0;if(!this.shouldAcceptSessionEvent(c))return;let d="string"==typeof b.runId?b.runId:void 0;if(this.runId&&d&&d!==this.runId)return;let e=("number"==typeof b.globalSeq?b.globalSeq:void 0)??("number"==typeof a.seq?a.seq:void 0);if("number"==typeof e&&e<=this.params.afterSeq)return;let f={event:"agent",...d?{runId:d}:{},..."string"==typeof b.stream?{stream:b.stream}:{},...o(b.data)?{data:b.data}:{},..."number"==typeof b.seq?{seq:b.seq}:{},..."number"==typeof e?{globalSeq:e}:{},..."number"==typeof b.ts?{ts:b.ts}:{},...c?{sessionKey:c}:{}};this.stdout.write(`${JSON.stringify(f)}
8
8
  `);let g="string"==typeof b.stream?b.stream:"",h=o(b.data),i=h&&"string"==typeof h.phase?h.phase:"";"start"===this.params.mode&&"lifecycle"===g&&("end"===i||"error"===i)&&this.scheduleClose();return}if("chat"===a.event){if("subscribe"!==this.params.mode)return;let b=o(a.payload)??{},c="string"==typeof b.sessionKey?b.sessionKey:void 0;if(!this.shouldAcceptSessionEvent(c))return;let d=("number"==typeof b.globalSeq?b.globalSeq:void 0)??("number"==typeof a.seq?a.seq:void 0),e={event:"chat",data:b,..."number"==typeof d?{globalSeq:d}:{},...c?{sessionKey:c}:{}};this.stdout.write(`${JSON.stringify(e)}
@@ -1 +1 @@
1
- exports.id=7173,exports.ids=[7173],exports.modules={9549:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>l,dynamic:()=>k,metadata:()=>i,viewport:()=>j});var d=c(22885),e=c(96736),f=c(31906),g=c(43182),h=c(79554);c(79341);let i={title:"DenchClaw",description:"AI Workspace with an agent that connects to your apps and does the work for you"},j={width:"device-width",initialScale:1,maximumScale:1},k="force-dynamic";function l({children:a}){let b=(0,g.C)();return(0,d.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,d.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,d.jsx)("link",{href:"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap",rel:"stylesheet"})]}),(0,d.jsx)("body",{className:"antialiased",children:(0,d.jsx)(f.ThemeProvider,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,children:(0,d.jsx)(e.Suspense,{fallback:null,children:(0,d.jsx)(h.PostHogProvider,{anonymousId:b,children:a})})})})]})}},10274:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23045,23)),Promise.resolve().then(c.t.bind(c,53948,23)),Promise.resolve().then(c.t.bind(c,65194,23)),Promise.resolve().then(c.t.bind(c,48389,23)),Promise.resolve().then(c.t.bind(c,63521,23)),Promise.resolve().then(c.t.bind(c,12409,23)),Promise.resolve().then(c.t.bind(c,32459,23)),Promise.resolve().then(c.t.bind(c,6604,23)),Promise.resolve().then(c.t.bind(c,62049,23))},28426:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,69307,23)),Promise.resolve().then(c.t.bind(c,4762,23)),Promise.resolve().then(c.t.bind(c,18372,23)),Promise.resolve().then(c.t.bind(c,71091,23)),Promise.resolve().then(c.t.bind(c,61971,23)),Promise.resolve().then(c.t.bind(c,76459,23)),Promise.resolve().then(c.t.bind(c,83173,23)),Promise.resolve().then(c.t.bind(c,11362,23)),Promise.resolve().then(c.bind(c,77667))},41579:(a,b,c)=>{"use strict";c.d(b,{V:()=>j});var d=c(36927),e=c(15962),f=[[1,8],[2,16],[4,32],[64,128]];function g(a){let b=a.length,c=a[0]?a[0].length:0,d=Math.ceil(c/2),e="";for(let g=0;g<d;g++){let d=10240;for(let e=0;e<4&&e<b;e++)for(let b=0;b<2;b++){let h=2*g+b;h<c&&a[e]&&a[e][h]&&(d|=f[e][b])}e+=String.fromCodePoint(d)}return e}function h(a,b){return a<=0||b<=0?[]:Array.from({length:a},()=>Array(b).fill(!1))}var i={braille:{frames:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],interval:80},braillewave:{frames:["⠁⠂⠄⡀","⠂⠄⡀⢀","⠄⡀⢀⠠","⡀⢀⠠⠐","⢀⠠⠐⠈","⠠⠐⠈⠁","⠐⠈⠁⠂","⠈⠁⠂⠄"],interval:100},dna:{frames:["⠋⠉⠙⠚","⠉⠙⠚⠒","⠙⠚⠒⠂","⠚⠒⠂⠂","⠒⠂⠂⠒","⠂⠂⠒⠲","⠂⠒⠲⠴","⠒⠲⠴⠤","⠲⠴⠤⠄","⠴⠤⠄⠋","⠤⠄⠋⠉","⠄⠋⠉⠙"],interval:80},scan:{frames:function(){let a=[];for(let b=-1;b<9;b++){let c=h(4,8);for(let a=0;a<4;a++)for(let d=0;d<8;d++)(d===b||d===b-1)&&(c[a][d]=!0);a.push(g(c))}return a}(),interval:70},rain:{frames:function(){let a=[],b=[0,3,1,5,2,7,4,6];for(let c=0;c<12;c++){let d=h(4,8);for(let a=0;a<8;a++){let e=(c+b[a])%6;e<4&&(d[e][a]=!0)}a.push(g(d))}return a}(),interval:100},scanline:{frames:function(){let a=[];for(let b of[0,1,2,3,2,1]){let c=h(4,6);for(let a=0;a<6;a++)c[b][a]=!0,b>0&&(c[b-1][a]=a%2==0);a.push(g(c))}return a}(),interval:120},pulse:{frames:function(){let a=[];for(let b of[.5,1.2,2,3,3.5]){let c=h(4,6);for(let a=0;a<4;a++)for(let d=0;d<6;d++).9>Math.abs(Math.sqrt((d-2.5)**2+(a-1.5)**2)-b)&&(c[a][d]=!0);a.push(g(c))}return a}(),interval:180},snake:{frames:function(){let a=[];for(let b=0;b<4;b++)if(b%2==0)for(let c=0;c<4;c++)a.push([b,c]);else for(let c=3;c>=0;c--)a.push([b,c]);let b=[];for(let c=0;c<a.length;c++){let d=h(4,4);for(let b=0;b<4;b++){let e=(c-b+a.length)%a.length;d[a[e][0]][a[e][1]]=!0}b.push(g(d))}return b}(),interval:80},sparkle:{frames:function(){let a=[];for(let b of[[1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,1,0,0,0,0,1,0,0],[0,1,0,0,1,0,0,1,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0],[0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,1],[1,0,0,0,0,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,1,0,0,1,0],[0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1],[0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0]]){let c=h(4,8);for(let a=0;a<4;a++)for(let d=0;d<8;d++)c[a][d]=!!b[8*a+d];a.push(g(c))}return a}(),interval:150},cascade:{frames:function(){let a=[];for(let b=-2;b<12;b++){let c=h(4,8);for(let a=0;a<4;a++)for(let d=0;d<8;d++){let e=d+a;(e===b||e===b-1)&&(c[a][d]=!0)}a.push(g(c))}return a}(),interval:60},columns:{frames:function(){let a=[];for(let b=0;b<6;b++)for(let c=3;c>=0;c--){let d=h(4,6);for(let a=0;a<b;a++)for(let b=0;b<4;b++)d[b][a]=!0;for(let a=c;a<4;a++)d[a][b]=!0;a.push(g(d))}let b=h(4,6);for(let a=0;a<4;a++)for(let c=0;c<6;c++)b[a][c]=!0;return a.push(g(b)),a.push(g(h(4,6))),a}(),interval:60},orbit:{frames:function(){let a=[[0,0],[0,1],[1,1],[2,1],[3,1],[3,0],[2,0],[1,0]],b=[];for(let c=0;c<a.length;c++){let d=h(4,2);d[a[c][0]][a[c][1]]=!0;let e=(c-1+a.length)%a.length;d[a[e][0]][a[e][1]]=!0,b.push(g(d))}return b}(),interval:100},breathe:{frames:function(){let a=[[],[[1,0]],[[0,1],[2,0]],[[0,0],[1,1],[3,0]],[[0,0],[1,1],[2,0],[3,1]],[[0,0],[0,1],[1,1],[2,0],[3,1]],[[0,0],[0,1],[1,0],[2,1],[3,0],[3,1]],[[0,0],[0,1],[1,0],[1,1],[2,0],[3,0],[3,1]],[[0,0],[0,1],[1,0],[1,1],[2,0],[2,1],[3,0],[3,1]]],b=[];for(let c of[...a,...a.slice().reverse().slice(1)]){let a=h(4,2);for(let[b,d]of c)a[b][d]=!0;b.push(g(a))}return b}(),interval:100},waverows:{frames:function(){let a=[];for(let b=0;b<16;b++){let c=h(4,8);for(let a=0;a<8;a++){let d=Math.round((Math.sin(.8*(b-.5*a))+1)/2*3);c[d][a]=!0,d>0&&(c[d-1][a]=(b+a)%3==0)}a.push(g(c))}return a}(),interval:90},checkerboard:{frames:function(){let a=[];for(let b=0;b<4;b++){let c=h(4,6);for(let a=0;a<4;a++)for(let d=0;d<6;d++)b<2?c[a][d]=(a+d+b)%2==0:c[a][d]=(a+d+b)%3==0;a.push(g(c))}return a}(),interval:250},helix:{frames:function(){let a=[];for(let b=0;b<16;b++){let c=h(4,8);for(let a=0;a<8;a++){let d=Math.PI/4*(b+a),e=Math.round((Math.sin(d)+1)/2*3),f=Math.round((Math.sin(d+Math.PI)+1)/2*3);c[e][a]=!0,c[f][a]=!0}a.push(g(c))}return a}(),interval:80},fillsweep:{frames:function(){let a=[];for(let b=3;b>=0;b--){let c=h(4,4);for(let a=b;a<4;a++)for(let b=0;b<4;b++)c[a][b]=!0;a.push(g(c))}let b=h(4,4);for(let a=0;a<4;a++)for(let c=0;c<4;c++)b[a][c]=!0;a.push(g(b)),a.push(g(b));for(let b=0;b<4;b++){let c=h(4,4);for(let a=b+1;a<4;a++)for(let b=0;b<4;b++)c[a][b]=!0;a.push(g(c))}return a.push(g(h(4,4))),a}(),interval:100},diagswipe:{frames:function(){let a=[];for(let b=0;b<=6;b++){let c=h(4,4);for(let a=0;a<4;a++)for(let d=0;d<4;d++)a+d<=b&&(c[a][d]=!0);a.push(g(c))}let b=h(4,4);for(let a=0;a<4;a++)for(let c=0;c<4;c++)b[a][c]=!0;a.push(g(b));for(let b=0;b<=6;b++){let c=h(4,4);for(let a=0;a<4;a++)for(let d=0;d<4;d++)a+d>b&&(c[a][d]=!0);a.push(g(c))}return a.push(g(h(4,4))),a}(),interval:60}};function j({name:a="braille",children:b,className:c,style:f}){let[g,h]=(0,e.useState)(0),j=i[a];return(0,d.jsxs)("span",{className:c,style:{fontFamily:"monospace",...f},children:[j.frames[g],null!=b&&(0,d.jsxs)(d.Fragment,{children:[" ",b]})]})}},43182:(a,b,c)=>{"use strict";c.d(b,{C:()=>l,H:()=>m});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(53536);let i="phc_Nt8s1Ny8062TY9aKT8LWiB4nBuoHNYQXRU9MypWfQCW",j=null,k=null;function l(){if(k)return k;try{let a=(0,g.join)(process.env.HOME||(0,f.homedir)(),".openclaw-dench"),b=(0,g.join)(a,"telemetry.json"),c={};if((0,e.existsSync)(b)&&(c=JSON.parse((0,e.readFileSync)(b,"utf-8"))),"string"==typeof c.anonymousId&&c.anonymousId)return k=c.anonymousId,c.anonymousId;let h=(0,d.randomUUID)();return c.anonymousId=h,(0,e.mkdirSync)((0,g.dirname)(b),{recursive:!0}),(0,e.writeFileSync)(b,JSON.stringify(c,null,2)+"\n","utf-8"),k=h,h}catch{let a=(0,d.randomUUID)();return k=a,a}}function m(a,b,c){let d=i?(j||(j=new h.f2(i,{host:"https://us.i.posthog.com",flushAt:10,flushInterval:3e4})),j):null;d&&d.capture({distinctId:c||l(),event:a,properties:{...b,denchclaw_version:"2.3.0",openclaw_version:void 0,$process_person_profile:!1}})}},48752:(a,b,c)=>{"use strict";c.d(b,{PostHogProvider:()=>j});var d=c(36927),e=c(99967),f=c(14071),g=c(15962),h=c(38253);function i(){return(0,h.usePathname)(),(0,h.useSearchParams)(),null}function j({children:a,anonymousId:b}){return(0,g.useRef)(!1),(0,d.jsxs)(f.so,{client:e.Ay,children:[(0,d.jsx)(i,{}),a]})}},52812:(a,b,c)=>{Promise.resolve().then(c.bind(c,48752)),Promise.resolve().then(c.bind(c,26948))},79341:()=>{},79554:(a,b,c)=>{"use strict";c.d(b,{PostHogProvider:()=>d});let d=(0,c(72665).registerClientReference)(function(){throw Error("Attempted to call PostHogProvider() from the server but PostHogProvider 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.")},"/Users/kumareth/Documents/projects/denchclaw/apps/web/app/components/posthog-provider.tsx","PostHogProvider")},82316:(a,b,c)=>{Promise.resolve().then(c.bind(c,79554)),Promise.resolve().then(c.bind(c,31906))}};
1
+ exports.id=7173,exports.ids=[7173],exports.modules={9549:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>l,dynamic:()=>k,metadata:()=>i,viewport:()=>j});var d=c(22885),e=c(96736),f=c(31906),g=c(43182),h=c(79554);c(79341);let i={title:"DenchClaw",description:"AI Workspace with an agent that connects to your apps and does the work for you"},j={width:"device-width",initialScale:1,maximumScale:1},k="force-dynamic";function l({children:a}){let b=(0,g.C)();return(0,d.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,d.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,d.jsx)("link",{href:"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap",rel:"stylesheet"})]}),(0,d.jsx)("body",{className:"antialiased",children:(0,d.jsx)(f.ThemeProvider,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,children:(0,d.jsx)(e.Suspense,{fallback:null,children:(0,d.jsx)(h.PostHogProvider,{anonymousId:b,children:a})})})})]})}},10274:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23045,23)),Promise.resolve().then(c.t.bind(c,53948,23)),Promise.resolve().then(c.t.bind(c,65194,23)),Promise.resolve().then(c.t.bind(c,48389,23)),Promise.resolve().then(c.t.bind(c,63521,23)),Promise.resolve().then(c.t.bind(c,12409,23)),Promise.resolve().then(c.t.bind(c,32459,23)),Promise.resolve().then(c.t.bind(c,6604,23)),Promise.resolve().then(c.t.bind(c,62049,23))},28426:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,69307,23)),Promise.resolve().then(c.t.bind(c,4762,23)),Promise.resolve().then(c.t.bind(c,18372,23)),Promise.resolve().then(c.t.bind(c,71091,23)),Promise.resolve().then(c.t.bind(c,61971,23)),Promise.resolve().then(c.t.bind(c,76459,23)),Promise.resolve().then(c.t.bind(c,83173,23)),Promise.resolve().then(c.t.bind(c,11362,23)),Promise.resolve().then(c.bind(c,77667))},41579:(a,b,c)=>{"use strict";c.d(b,{V:()=>j});var d=c(36927),e=c(15962),f=[[1,8],[2,16],[4,32],[64,128]];function g(a){let b=a.length,c=a[0]?a[0].length:0,d=Math.ceil(c/2),e="";for(let g=0;g<d;g++){let d=10240;for(let e=0;e<4&&e<b;e++)for(let b=0;b<2;b++){let h=2*g+b;h<c&&a[e]&&a[e][h]&&(d|=f[e][b])}e+=String.fromCodePoint(d)}return e}function h(a,b){return a<=0||b<=0?[]:Array.from({length:a},()=>Array(b).fill(!1))}var i={braille:{frames:["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],interval:80},braillewave:{frames:["⠁⠂⠄⡀","⠂⠄⡀⢀","⠄⡀⢀⠠","⡀⢀⠠⠐","⢀⠠⠐⠈","⠠⠐⠈⠁","⠐⠈⠁⠂","⠈⠁⠂⠄"],interval:100},dna:{frames:["⠋⠉⠙⠚","⠉⠙⠚⠒","⠙⠚⠒⠂","⠚⠒⠂⠂","⠒⠂⠂⠒","⠂⠂⠒⠲","⠂⠒⠲⠴","⠒⠲⠴⠤","⠲⠴⠤⠄","⠴⠤⠄⠋","⠤⠄⠋⠉","⠄⠋⠉⠙"],interval:80},scan:{frames:function(){let a=[];for(let b=-1;b<9;b++){let c=h(4,8);for(let a=0;a<4;a++)for(let d=0;d<8;d++)(d===b||d===b-1)&&(c[a][d]=!0);a.push(g(c))}return a}(),interval:70},rain:{frames:function(){let a=[],b=[0,3,1,5,2,7,4,6];for(let c=0;c<12;c++){let d=h(4,8);for(let a=0;a<8;a++){let e=(c+b[a])%6;e<4&&(d[e][a]=!0)}a.push(g(d))}return a}(),interval:100},scanline:{frames:function(){let a=[];for(let b of[0,1,2,3,2,1]){let c=h(4,6);for(let a=0;a<6;a++)c[b][a]=!0,b>0&&(c[b-1][a]=a%2==0);a.push(g(c))}return a}(),interval:120},pulse:{frames:function(){let a=[];for(let b of[.5,1.2,2,3,3.5]){let c=h(4,6);for(let a=0;a<4;a++)for(let d=0;d<6;d++).9>Math.abs(Math.sqrt((d-2.5)**2+(a-1.5)**2)-b)&&(c[a][d]=!0);a.push(g(c))}return a}(),interval:180},snake:{frames:function(){let a=[];for(let b=0;b<4;b++)if(b%2==0)for(let c=0;c<4;c++)a.push([b,c]);else for(let c=3;c>=0;c--)a.push([b,c]);let b=[];for(let c=0;c<a.length;c++){let d=h(4,4);for(let b=0;b<4;b++){let e=(c-b+a.length)%a.length;d[a[e][0]][a[e][1]]=!0}b.push(g(d))}return b}(),interval:80},sparkle:{frames:function(){let a=[];for(let b of[[1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,1,0,0,0,0,1,0,0],[0,1,0,0,1,0,0,1,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0],[0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,1],[1,0,0,0,0,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,1,0,0,1,0],[0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1],[0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0]]){let c=h(4,8);for(let a=0;a<4;a++)for(let d=0;d<8;d++)c[a][d]=!!b[8*a+d];a.push(g(c))}return a}(),interval:150},cascade:{frames:function(){let a=[];for(let b=-2;b<12;b++){let c=h(4,8);for(let a=0;a<4;a++)for(let d=0;d<8;d++){let e=d+a;(e===b||e===b-1)&&(c[a][d]=!0)}a.push(g(c))}return a}(),interval:60},columns:{frames:function(){let a=[];for(let b=0;b<6;b++)for(let c=3;c>=0;c--){let d=h(4,6);for(let a=0;a<b;a++)for(let b=0;b<4;b++)d[b][a]=!0;for(let a=c;a<4;a++)d[a][b]=!0;a.push(g(d))}let b=h(4,6);for(let a=0;a<4;a++)for(let c=0;c<6;c++)b[a][c]=!0;return a.push(g(b)),a.push(g(h(4,6))),a}(),interval:60},orbit:{frames:function(){let a=[[0,0],[0,1],[1,1],[2,1],[3,1],[3,0],[2,0],[1,0]],b=[];for(let c=0;c<a.length;c++){let d=h(4,2);d[a[c][0]][a[c][1]]=!0;let e=(c-1+a.length)%a.length;d[a[e][0]][a[e][1]]=!0,b.push(g(d))}return b}(),interval:100},breathe:{frames:function(){let a=[[],[[1,0]],[[0,1],[2,0]],[[0,0],[1,1],[3,0]],[[0,0],[1,1],[2,0],[3,1]],[[0,0],[0,1],[1,1],[2,0],[3,1]],[[0,0],[0,1],[1,0],[2,1],[3,0],[3,1]],[[0,0],[0,1],[1,0],[1,1],[2,0],[3,0],[3,1]],[[0,0],[0,1],[1,0],[1,1],[2,0],[2,1],[3,0],[3,1]]],b=[];for(let c of[...a,...a.slice().reverse().slice(1)]){let a=h(4,2);for(let[b,d]of c)a[b][d]=!0;b.push(g(a))}return b}(),interval:100},waverows:{frames:function(){let a=[];for(let b=0;b<16;b++){let c=h(4,8);for(let a=0;a<8;a++){let d=Math.round((Math.sin(.8*(b-.5*a))+1)/2*3);c[d][a]=!0,d>0&&(c[d-1][a]=(b+a)%3==0)}a.push(g(c))}return a}(),interval:90},checkerboard:{frames:function(){let a=[];for(let b=0;b<4;b++){let c=h(4,6);for(let a=0;a<4;a++)for(let d=0;d<6;d++)b<2?c[a][d]=(a+d+b)%2==0:c[a][d]=(a+d+b)%3==0;a.push(g(c))}return a}(),interval:250},helix:{frames:function(){let a=[];for(let b=0;b<16;b++){let c=h(4,8);for(let a=0;a<8;a++){let d=Math.PI/4*(b+a),e=Math.round((Math.sin(d)+1)/2*3),f=Math.round((Math.sin(d+Math.PI)+1)/2*3);c[e][a]=!0,c[f][a]=!0}a.push(g(c))}return a}(),interval:80},fillsweep:{frames:function(){let a=[];for(let b=3;b>=0;b--){let c=h(4,4);for(let a=b;a<4;a++)for(let b=0;b<4;b++)c[a][b]=!0;a.push(g(c))}let b=h(4,4);for(let a=0;a<4;a++)for(let c=0;c<4;c++)b[a][c]=!0;a.push(g(b)),a.push(g(b));for(let b=0;b<4;b++){let c=h(4,4);for(let a=b+1;a<4;a++)for(let b=0;b<4;b++)c[a][b]=!0;a.push(g(c))}return a.push(g(h(4,4))),a}(),interval:100},diagswipe:{frames:function(){let a=[];for(let b=0;b<=6;b++){let c=h(4,4);for(let a=0;a<4;a++)for(let d=0;d<4;d++)a+d<=b&&(c[a][d]=!0);a.push(g(c))}let b=h(4,4);for(let a=0;a<4;a++)for(let c=0;c<4;c++)b[a][c]=!0;a.push(g(b));for(let b=0;b<=6;b++){let c=h(4,4);for(let a=0;a<4;a++)for(let d=0;d<4;d++)a+d>b&&(c[a][d]=!0);a.push(g(c))}return a.push(g(h(4,4))),a}(),interval:60}};function j({name:a="braille",children:b,className:c,style:f}){let[g,h]=(0,e.useState)(0),j=i[a];return(0,d.jsxs)("span",{className:c,style:{fontFamily:"monospace",...f},children:[j.frames[g],null!=b&&(0,d.jsxs)(d.Fragment,{children:[" ",b]})]})}},43182:(a,b,c)=>{"use strict";c.d(b,{C:()=>l,H:()=>m});var d=c(77598),e=c(73024),f=c(48161),g=c(76760),h=c(53536);let i="phc_Nt8s1Ny8062TY9aKT8LWiB4nBuoHNYQXRU9MypWfQCW",j=null,k=null;function l(){if(k)return k;try{let a=(0,g.join)(process.env.HOME||(0,f.homedir)(),".openclaw-dench"),b=(0,g.join)(a,"telemetry.json"),c={};if((0,e.existsSync)(b)&&(c=JSON.parse((0,e.readFileSync)(b,"utf-8"))),"string"==typeof c.anonymousId&&c.anonymousId)return k=c.anonymousId,c.anonymousId;let h=(0,d.randomUUID)();return c.anonymousId=h,(0,e.mkdirSync)((0,g.dirname)(b),{recursive:!0}),(0,e.writeFileSync)(b,JSON.stringify(c,null,2)+"\n","utf-8"),k=h,h}catch{let a=(0,d.randomUUID)();return k=a,a}}function m(a,b,c){let d=i?(j||(j=new h.f2(i,{host:"https://us.i.posthog.com",flushAt:10,flushInterval:3e4})),j):null;d&&d.capture({distinctId:c||l(),event:a,properties:{...b,denchclaw_version:"2.3.2",openclaw_version:void 0,$process_person_profile:!1}})}},48752:(a,b,c)=>{"use strict";c.d(b,{PostHogProvider:()=>j});var d=c(36927),e=c(99967),f=c(14071),g=c(15962),h=c(38253);function i(){return(0,h.usePathname)(),(0,h.useSearchParams)(),null}function j({children:a,anonymousId:b}){return(0,g.useRef)(!1),(0,d.jsxs)(f.so,{client:e.Ay,children:[(0,d.jsx)(i,{}),a]})}},52812:(a,b,c)=>{Promise.resolve().then(c.bind(c,48752)),Promise.resolve().then(c.bind(c,26948))},79341:()=>{},79554:(a,b,c)=>{"use strict";c.d(b,{PostHogProvider:()=>d});let d=(0,c(72665).registerClientReference)(function(){throw Error("Attempted to call PostHogProvider() from the server but PostHogProvider 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.")},"/Users/kumareth/Documents/projects/denchclaw/apps/web/app/components/posthog-provider.tsx","PostHogProvider")},82316:(a,b,c)=>{Promise.resolve().then(c.bind(c,79554)),Promise.resolve().then(c.bind(c,31906))}};
@@ -1,53 +1,53 @@
1
1
  {
2
2
  "version": 1,
3
3
  "functions": {
4
- "/api/chat/active": {},
5
- "/api/apps/serve/[...path]": {},
6
4
  "/api/apps": {},
7
- "/api/chat/runs": {},
5
+ "/api/chat/active": {},
6
+ "/api/chat": {},
8
7
  "/api/chat/stream": {},
8
+ "/api/chat/runs": {},
9
+ "/api/apps/serve/[...path]": {},
9
10
  "/api/chat/stop": {},
10
11
  "/api/chat/subagents": {},
11
- "/api/chat": {},
12
12
  "/api/feedback": {},
13
13
  "/api/profiles": {},
14
14
  "/api/profiles/switch": {},
15
15
  "/api/workspace/assets/[...path]": {},
16
- "/api/workspace/browse-file": {},
16
+ "/api/workspace/db/introspect": {},
17
17
  "/api/workspace/browse": {},
18
+ "/api/workspace/browse-file": {},
18
19
  "/api/workspace/context": {},
19
- "/api/workspace/copy": {},
20
- "/api/workspace/db/introspect": {},
21
- "/api/workspace/file": {},
22
20
  "/api/workspace/db/query": {},
21
+ "/api/workspace/copy": {},
23
22
  "/api/workspace/init": {},
23
+ "/api/workspace/file": {},
24
24
  "/api/workspace/mkdir": {},
25
25
  "/api/workspace/list": {},
26
26
  "/api/workspace/move": {},
27
+ "/api/workspace/delete": {},
27
28
  "/api/workspace/objects/[name]/display-field": {},
28
29
  "/api/workspace/objects/[name]/entries/bulk-delete": {},
29
- "/api/workspace/objects/[name]/entries/options": {},
30
- "/api/workspace/delete": {},
31
- "/api/workspace/objects/[name]/entries/[id]": {},
30
+ "/api/workspace/objects/[name]/fields/[fieldId]/enum-rename": {},
32
31
  "/api/workspace/objects/[name]/fields/[fieldId]": {},
33
32
  "/api/workspace/objects/[name]/fields/reorder": {},
33
+ "/api/workspace/objects/[name]/entries/options": {},
34
+ "/api/workspace/objects/[name]/entries": {},
34
35
  "/api/workspace/objects/[name]": {},
35
- "/api/workspace/objects/[name]/fields/[fieldId]/enum-rename": {},
36
36
  "/api/workspace/open-file": {},
37
37
  "/api/workspace/path-info": {},
38
- "/api/workspace/objects/[name]/entries": {},
38
+ "/api/workspace/objects/[name]/entries/[id]": {},
39
39
  "/api/workspace/rename": {},
40
+ "/api/workspace/query": {},
40
41
  "/api/workspace/raw-file": {},
42
+ "/api/workspace/thumbnail": {},
41
43
  "/api/workspace/search-index": {},
42
- "/api/workspace/query": {},
43
44
  "/api/workspace/reports/execute": {},
44
- "/api/workspace/thumbnail": {},
45
+ "/api/workspace/switch": {},
45
46
  "/api/workspace/suggest-files": {},
46
47
  "/api/workspace/upload": {},
47
- "/api/workspace/switch": {},
48
48
  "/api/workspace/write-binary": {},
49
+ "/api/workspace/watch": {},
49
50
  "/api/workspace/tree": {},
50
- "/api/workspace/virtual-file": {},
51
- "/api/workspace/watch": {}
51
+ "/api/workspace/virtual-file": {}
52
52
  }
53
53
  }
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-ac172bcdf8363778.js" defer=""></script><script src="/_next/static/chunks/framework-63182ecd18a3b3c9.js" defer=""></script><script src="/_next/static/chunks/main-35c7ea2227b70752.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3501412d1f7ffe78.js" defer=""></script><script src="/_next/static/chunks/pages/_error-0217f5ed9b41c682.js" defer=""></script><script src="/_next/static/iikRD5ldHaLo2uUJJYnoU/_buildManifest.js" defer=""></script><script src="/_next/static/iikRD5ldHaLo2uUJJYnoU/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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)}@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></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"iikRD5ldHaLo2uUJJYnoU","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-ac172bcdf8363778.js" defer=""></script><script src="/_next/static/chunks/framework-63182ecd18a3b3c9.js" defer=""></script><script src="/_next/static/chunks/main-35c7ea2227b70752.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3501412d1f7ffe78.js" defer=""></script><script src="/_next/static/chunks/pages/_error-0217f5ed9b41c682.js" defer=""></script><script src="/_next/static/hpsmzJkH5dIgFJp4aoGwd/_buildManifest.js" defer=""></script><script src="/_next/static/hpsmzJkH5dIgFJp4aoGwd/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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)}@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></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"hpsmzJkH5dIgFJp4aoGwd","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1,5 +1,5 @@
1
1
  {
2
- "/_error": "pages/_error.js",
3
2
  "/_app": "pages/_app.js",
3
+ "/_error": "pages/_error.js",
4
4
  "/_document": "pages/_document.js"
5
5
  }
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{5742:(e,t,n)=>{"use strict";n.d(t,{D:()=>u,ThemeProvider:()=>d});var o=n(74166),r=(e,t,n,o,r,a,i,s)=>{let l=document.documentElement,c=["light","dark"];function u(t){var n;(Array.isArray(e)?e:[e]).forEach(e=>{let n="class"===e,o=n&&a?r.map(e=>a[e]||e):r;n?(l.classList.remove(...o),l.classList.add(a&&a[t]?a[t]:t)):l.setAttribute(e,t)}),n=t,s&&c.includes(n)&&(l.style.colorScheme=n)}if(o)u(o);else try{let e=localStorage.getItem(t)||n,o=i&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;u(o)}catch(e){}},a=["light","dark"],i="(prefers-color-scheme: dark)",s="undefined"==typeof window,l=o.createContext(void 0),c={setTheme:e=>{},themes:[]},u=()=>{var e;return null!=(e=o.useContext(l))?e:c},d=e=>o.useContext(l)?o.createElement(o.Fragment,null,e.children):o.createElement(m,{...e}),p=["light","dark"],m=e=>{let{forcedTheme:t,disableTransitionOnChange:n=!1,enableSystem:r=!0,enableColorScheme:s=!0,storageKey:c="theme",themes:u=p,defaultTheme:d=r?"system":"light",attribute:m="data-theme",value:g,children:b,nonce:w,scriptProps:P}=e,[S,E]=o.useState(()=>f(c,d)),[_,k]=o.useState(()=>"system"===S?v():S),A=g?Object.values(g):u,C=o.useCallback(e=>{let t=e;if(!t)return;"system"===e&&r&&(t=v());let o=g?g[t]:t,i=n?y(w):null,l=document.documentElement,c=e=>{"class"===e?(l.classList.remove(...A),o&&l.classList.add(o)):e.startsWith("data-")&&(o?l.setAttribute(e,o):l.removeAttribute(e))};if(Array.isArray(m)?m.forEach(c):c(m),s){let e=a.includes(d)?d:null,n=a.includes(t)?t:e;l.style.colorScheme=n}null==i||i()},[w]),T=o.useCallback(e=>{let t="function"==typeof e?e(S):e;E(t);try{localStorage.setItem(c,t)}catch(e){}},[S]),j=o.useCallback(e=>{k(v(e)),"system"===S&&r&&!t&&C("system")},[S,t]);o.useEffect(()=>{let e=window.matchMedia(i);return e.addListener(j),j(e),()=>e.removeListener(j)},[j]),o.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?E(e.newValue):T(d))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[T]),o.useEffect(()=>{C(null!=t?t:S)},[t,S]);let x=o.useMemo(()=>({theme:S,setTheme:T,forcedTheme:t,resolvedTheme:"system"===S?_:S,themes:r?[...u,"system"]:u,systemTheme:r?_:void 0}),[S,T,t,_,r,u]);return o.createElement(l.Provider,{value:x},o.createElement(h,{forcedTheme:t,storageKey:c,attribute:m,enableSystem:r,enableColorScheme:s,defaultTheme:d,value:g,themes:u,nonce:w,scriptProps:P}),b)},h=o.memo(e=>{let{forcedTheme:t,storageKey:n,attribute:a,enableSystem:i,enableColorScheme:s,defaultTheme:l,value:c,themes:u,nonce:d,scriptProps:p}=e,m=JSON.stringify([a,n,l,t,u,c,i,s]).slice(1,-1);return o.createElement("script",{...p,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?d:"",dangerouslySetInnerHTML:{__html:"(".concat(r.toString(),")(").concat(m,")")}})}),f=(e,t)=>{let n;if(!s){try{n=localStorage.getItem(e)||void 0}catch(e){}return n||t}},y=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},v=e=>(e||(e=window.matchMedia(i)),e.matches?"dark":"light")},7975:(e,t,n)=>{"use strict";n.d(t,{PostHogProvider:()=>v});var o=n(80534),r=n(29341),a=n(74166),i=(0,a.createContext)({client:r.Ay,bootstrap:void 0});function s(e){var t,n,o=e.children,s=e.client,l=e.apiKey,c=e.options,u=(0,a.useRef)(null),d=(0,a.useMemo)(function(){return s?(l&&console.warn("[PostHog.js] You have provided both `client` and `apiKey` to `PostHogProvider`. `apiKey` will be ignored in favour of `client`."),c&&console.warn("[PostHog.js] You have provided both `client` and `options` to `PostHogProvider`. `options` will be ignored in favour of `client`."),s):(l||console.warn("[PostHog.js] No `apiKey` or `client` were provided to `PostHogProvider`. Using default global `window.posthog` instance. You must initialize it manually. This is not recommended behavior."),r.Ay)},[s,l,JSON.stringify(c)]);return(0,a.useEffect)(function(){if(!s){var e=u.current;e?(l!==e.apiKey&&console.warn("[PostHog.js] You have provided a different `apiKey` to `PostHogProvider` than the one that was already initialized. This is not supported by our provider and we'll keep using the previous key. If you need to toggle between API Keys you need to control the `client` yourself and pass it in as a prop rather than an `apiKey` prop."),c&&!function e(t,n,o){if(void 0===o&&(o=new WeakMap),t===n)return!0;if("object"!=typeof t||null===t||"object"!=typeof n||null===n)return!1;if(o.has(t)&&o.get(t)===n)return!0;o.set(t,n);var r=Object.keys(t),a=Object.keys(n);if(r.length!==a.length)return!1;for(var i=0;i<r.length;i++){var s=r[i];if(!a.includes(s)||!e(t[s],n[s],o))return!1}return!0}(c,e.options)&&r.Ay.set_config(c)):(r.Ay.__loaded&&console.warn("[PostHog.js] `posthog` was already loaded elsewhere. This may cause issues."),r.Ay.init(l,c)),u.current={apiKey:l,options:null!=c?c:{}}}},[s,l,JSON.stringify(c)]),a.createElement(i.Provider,{value:{client:d,bootstrap:null!=(t=null==c?void 0:c.bootstrap)?t:null==(n=null==s?void 0:s.config)?void 0:n.bootstrap}},o)}var l=function(e){return"function"==typeof e},c=function(e,t){return(c=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};"function"==typeof SuppressedError&&SuppressedError;var u={componentStack:null,exceptionEvent:null,error:null},d={INVALID_FALLBACK:"[PostHog.js][PostHogErrorBoundary] Invalid fallback prop, provide a valid React element or a function that returns a valid React element."};!function(e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=n}function n(t){var n=e.call(this,t)||this;return n.state=u,n}c(n,e),n.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t),n.prototype.componentDidCatch=function(e,t){var n,o=this.props.additionalProperties;l(o)?n=o(e):"object"==typeof o&&(n=o);var r=this.context.client.captureException(e,n),a=t.componentStack;this.setState({error:e,componentStack:null!=a?a:null,exceptionEvent:r})},n.prototype.render=function(){var e=this.props,t=e.children,n=e.fallback,o=this.state;if(null==o.componentStack)return l(t)?t():t;var r=l(n)?a.createElement(n,{error:o.error,componentStack:o.componentStack,exceptionEvent:o.exceptionEvent}):n;return a.isValidElement(r)?r:(console.warn(d.INVALID_FALLBACK),a.createElement(a.Fragment,null))},n.contextType=i}(a.Component);var p=n(99197);let m="phc_Nt8s1Ny8062TY9aKT8LWiB4nBuoHNYQXRU9MypWfQCW",h="2.3.0",f=!1;function y(){let e=(0,p.usePathname)(),t=(0,p.useSearchParams)();return(0,a.useEffect)(()=>{var n;if(!f||(null!=(n=null==t?void 0:t.get("path"))?n:"").startsWith("~cron"))return;let o=e+((null==t?void 0:t.toString())?"?".concat(t.toString()):"");r.Ay.capture("$pageview",{$current_url:o})},[e,t]),null}function v(e){let{children:t,anonymousId:n}=e,i=(0,a.useRef)(!1);return((0,a.useEffect)(()=>{i.current||(i.current=!0,function(e){if(f||!m)return;r.Ay.init(m,{api_host:"https://us.i.posthog.com",capture_pageview:!1,capture_pageleave:!0,persistence:"memory",autocapture:!1,disable_session_recording:!0,person_profiles:"identified_only",bootstrap:e?{distinctID:e,isIdentifiedID:!1}:void 0});let t={};h&&(t.denchclaw_version=h),Object.keys(t).length>0&&r.Ay.register(t),f=!0}(n))},[n]),m)?(0,o.jsxs)(s,{client:r.Ay,children:[(0,o.jsx)(y,{}),t]}):(0,o.jsx)(o.Fragment,{children:t})}},89480:()=>{},91492:(e,t,n)=>{Promise.resolve().then(n.bind(n,7975)),Promise.resolve().then(n.t.bind(n,89480,23)),Promise.resolve().then(n.bind(n,5742))},99197:(e,t,n)=>{"use strict";var o=n(84841);n.o(o,"usePathname")&&n.d(t,{usePathname:function(){return o.usePathname}}),n.o(o,"useRouter")&&n.d(t,{useRouter:function(){return o.useRouter}}),n.o(o,"useSearchParams")&&n.d(t,{useSearchParams:function(){return o.useSearchParams}})}},e=>{e.O(0,[6827,5700,1705,8522,7358],()=>e(e.s=91492)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{5742:(e,t,n)=>{"use strict";n.d(t,{D:()=>u,ThemeProvider:()=>d});var o=n(74166),r=(e,t,n,o,r,a,i,s)=>{let l=document.documentElement,c=["light","dark"];function u(t){var n;(Array.isArray(e)?e:[e]).forEach(e=>{let n="class"===e,o=n&&a?r.map(e=>a[e]||e):r;n?(l.classList.remove(...o),l.classList.add(a&&a[t]?a[t]:t)):l.setAttribute(e,t)}),n=t,s&&c.includes(n)&&(l.style.colorScheme=n)}if(o)u(o);else try{let e=localStorage.getItem(t)||n,o=i&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;u(o)}catch(e){}},a=["light","dark"],i="(prefers-color-scheme: dark)",s="undefined"==typeof window,l=o.createContext(void 0),c={setTheme:e=>{},themes:[]},u=()=>{var e;return null!=(e=o.useContext(l))?e:c},d=e=>o.useContext(l)?o.createElement(o.Fragment,null,e.children):o.createElement(m,{...e}),p=["light","dark"],m=e=>{let{forcedTheme:t,disableTransitionOnChange:n=!1,enableSystem:r=!0,enableColorScheme:s=!0,storageKey:c="theme",themes:u=p,defaultTheme:d=r?"system":"light",attribute:m="data-theme",value:g,children:b,nonce:w,scriptProps:P}=e,[S,E]=o.useState(()=>f(c,d)),[_,k]=o.useState(()=>"system"===S?v():S),A=g?Object.values(g):u,C=o.useCallback(e=>{let t=e;if(!t)return;"system"===e&&r&&(t=v());let o=g?g[t]:t,i=n?y(w):null,l=document.documentElement,c=e=>{"class"===e?(l.classList.remove(...A),o&&l.classList.add(o)):e.startsWith("data-")&&(o?l.setAttribute(e,o):l.removeAttribute(e))};if(Array.isArray(m)?m.forEach(c):c(m),s){let e=a.includes(d)?d:null,n=a.includes(t)?t:e;l.style.colorScheme=n}null==i||i()},[w]),T=o.useCallback(e=>{let t="function"==typeof e?e(S):e;E(t);try{localStorage.setItem(c,t)}catch(e){}},[S]),j=o.useCallback(e=>{k(v(e)),"system"===S&&r&&!t&&C("system")},[S,t]);o.useEffect(()=>{let e=window.matchMedia(i);return e.addListener(j),j(e),()=>e.removeListener(j)},[j]),o.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?E(e.newValue):T(d))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[T]),o.useEffect(()=>{C(null!=t?t:S)},[t,S]);let x=o.useMemo(()=>({theme:S,setTheme:T,forcedTheme:t,resolvedTheme:"system"===S?_:S,themes:r?[...u,"system"]:u,systemTheme:r?_:void 0}),[S,T,t,_,r,u]);return o.createElement(l.Provider,{value:x},o.createElement(h,{forcedTheme:t,storageKey:c,attribute:m,enableSystem:r,enableColorScheme:s,defaultTheme:d,value:g,themes:u,nonce:w,scriptProps:P}),b)},h=o.memo(e=>{let{forcedTheme:t,storageKey:n,attribute:a,enableSystem:i,enableColorScheme:s,defaultTheme:l,value:c,themes:u,nonce:d,scriptProps:p}=e,m=JSON.stringify([a,n,l,t,u,c,i,s]).slice(1,-1);return o.createElement("script",{...p,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?d:"",dangerouslySetInnerHTML:{__html:"(".concat(r.toString(),")(").concat(m,")")}})}),f=(e,t)=>{let n;if(!s){try{n=localStorage.getItem(e)||void 0}catch(e){}return n||t}},y=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},v=e=>(e||(e=window.matchMedia(i)),e.matches?"dark":"light")},7975:(e,t,n)=>{"use strict";n.d(t,{PostHogProvider:()=>v});var o=n(80534),r=n(29341),a=n(74166),i=(0,a.createContext)({client:r.Ay,bootstrap:void 0});function s(e){var t,n,o=e.children,s=e.client,l=e.apiKey,c=e.options,u=(0,a.useRef)(null),d=(0,a.useMemo)(function(){return s?(l&&console.warn("[PostHog.js] You have provided both `client` and `apiKey` to `PostHogProvider`. `apiKey` will be ignored in favour of `client`."),c&&console.warn("[PostHog.js] You have provided both `client` and `options` to `PostHogProvider`. `options` will be ignored in favour of `client`."),s):(l||console.warn("[PostHog.js] No `apiKey` or `client` were provided to `PostHogProvider`. Using default global `window.posthog` instance. You must initialize it manually. This is not recommended behavior."),r.Ay)},[s,l,JSON.stringify(c)]);return(0,a.useEffect)(function(){if(!s){var e=u.current;e?(l!==e.apiKey&&console.warn("[PostHog.js] You have provided a different `apiKey` to `PostHogProvider` than the one that was already initialized. This is not supported by our provider and we'll keep using the previous key. If you need to toggle between API Keys you need to control the `client` yourself and pass it in as a prop rather than an `apiKey` prop."),c&&!function e(t,n,o){if(void 0===o&&(o=new WeakMap),t===n)return!0;if("object"!=typeof t||null===t||"object"!=typeof n||null===n)return!1;if(o.has(t)&&o.get(t)===n)return!0;o.set(t,n);var r=Object.keys(t),a=Object.keys(n);if(r.length!==a.length)return!1;for(var i=0;i<r.length;i++){var s=r[i];if(!a.includes(s)||!e(t[s],n[s],o))return!1}return!0}(c,e.options)&&r.Ay.set_config(c)):(r.Ay.__loaded&&console.warn("[PostHog.js] `posthog` was already loaded elsewhere. This may cause issues."),r.Ay.init(l,c)),u.current={apiKey:l,options:null!=c?c:{}}}},[s,l,JSON.stringify(c)]),a.createElement(i.Provider,{value:{client:d,bootstrap:null!=(t=null==c?void 0:c.bootstrap)?t:null==(n=null==s?void 0:s.config)?void 0:n.bootstrap}},o)}var l=function(e){return"function"==typeof e},c=function(e,t){return(c=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};"function"==typeof SuppressedError&&SuppressedError;var u={componentStack:null,exceptionEvent:null,error:null},d={INVALID_FALLBACK:"[PostHog.js][PostHogErrorBoundary] Invalid fallback prop, provide a valid React element or a function that returns a valid React element."};!function(e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=n}function n(t){var n=e.call(this,t)||this;return n.state=u,n}c(n,e),n.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t),n.prototype.componentDidCatch=function(e,t){var n,o=this.props.additionalProperties;l(o)?n=o(e):"object"==typeof o&&(n=o);var r=this.context.client.captureException(e,n),a=t.componentStack;this.setState({error:e,componentStack:null!=a?a:null,exceptionEvent:r})},n.prototype.render=function(){var e=this.props,t=e.children,n=e.fallback,o=this.state;if(null==o.componentStack)return l(t)?t():t;var r=l(n)?a.createElement(n,{error:o.error,componentStack:o.componentStack,exceptionEvent:o.exceptionEvent}):n;return a.isValidElement(r)?r:(console.warn(d.INVALID_FALLBACK),a.createElement(a.Fragment,null))},n.contextType=i}(a.Component);var p=n(99197);let m="phc_Nt8s1Ny8062TY9aKT8LWiB4nBuoHNYQXRU9MypWfQCW",h="2.3.2",f=!1;function y(){let e=(0,p.usePathname)(),t=(0,p.useSearchParams)();return(0,a.useEffect)(()=>{var n;if(!f||(null!=(n=null==t?void 0:t.get("path"))?n:"").startsWith("~cron"))return;let o=e+((null==t?void 0:t.toString())?"?".concat(t.toString()):"");r.Ay.capture("$pageview",{$current_url:o})},[e,t]),null}function v(e){let{children:t,anonymousId:n}=e,i=(0,a.useRef)(!1);return((0,a.useEffect)(()=>{i.current||(i.current=!0,function(e){if(f||!m)return;r.Ay.init(m,{api_host:"https://us.i.posthog.com",capture_pageview:!1,capture_pageleave:!0,persistence:"memory",autocapture:!1,disable_session_recording:!0,person_profiles:"identified_only",bootstrap:e?{distinctID:e,isIdentifiedID:!1}:void 0});let t={};h&&(t.denchclaw_version=h),Object.keys(t).length>0&&r.Ay.register(t),f=!0}(n))},[n]),m)?(0,o.jsxs)(s,{client:r.Ay,children:[(0,o.jsx)(y,{}),t]}):(0,o.jsx)(o.Fragment,{children:t})}},89480:()=>{},91492:(e,t,n)=>{Promise.resolve().then(n.bind(n,7975)),Promise.resolve().then(n.t.bind(n,89480,23)),Promise.resolve().then(n.bind(n,5742))},99197:(e,t,n)=>{"use strict";var o=n(84841);n.o(o,"usePathname")&&n.d(t,{usePathname:function(){return o.usePathname}}),n.o(o,"useRouter")&&n.d(t,{useRouter:function(){return o.useRouter}}),n.o(o,"useSearchParams")&&n.d(t,{useSearchParams:function(){return o.useSearchParams}})}},e=>{e.O(0,[6827,5700,1705,8522,7358],()=>e(e.s=91492)),_N_E=e.O()}]);
@@ -9,7 +9,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
9
9
  const hostname = process.env.HOSTNAME || '0.0.0.0'
10
10
 
11
11
  let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
12
- const nextConfig = {"env":{"NEXT_PUBLIC_DENCHCLAW_VERSION":"2.3.0","NEXT_PUBLIC_OPENCLAW_VERSION":""},"eslint":{"ignoreDuringBuilds":false},"typescript":{"ignoreBuildErrors":false,"tsconfigPath":"tsconfig.json"},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[16,32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":60,"formats":["image/webp"],"maximumResponseBody":50000000,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","remotePatterns":[],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"amp":{"canonicalBase":""},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"serverRuntimeConfig":{},"publicRuntimeConfig":{},"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/Users/kumareth/Documents/projects/denchclaw","experimental":{"useSkewCookie":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":4294967294}},"cacheHandlers":{},"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"serverSourceMaps":false,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"clientSegmentCache":false,"clientParamParsing":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","middlewarePrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"routerBFCache":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"cacheComponents":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"devtoolSegmentExplorer":true,"browserDebugInfoInTerminal":false,"optimizeRouterScrolling":false,"middlewareClientMaxBodySize":10485760,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","serverExternalPackages":["ws","bufferutil","utf-8-validate","node-pty"],"transpilePackages":["react-markdown","remark-gfm"],"turbopack":{"root":"/Users/kumareth/Documents/projects/denchclaw"}}
12
+ const nextConfig = {"env":{"NEXT_PUBLIC_DENCHCLAW_VERSION":"2.3.2","NEXT_PUBLIC_OPENCLAW_VERSION":""},"eslint":{"ignoreDuringBuilds":false},"typescript":{"ignoreBuildErrors":false,"tsconfigPath":"tsconfig.json"},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[16,32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":60,"formats":["image/webp"],"maximumResponseBody":50000000,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","remotePatterns":[],"unoptimized":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"amp":{"canonicalBase":""},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"serverRuntimeConfig":{},"publicRuntimeConfig":{},"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/Users/kumareth/Documents/projects/denchclaw","experimental":{"useSkewCookie":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":4294967294}},"cacheHandlers":{},"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"serverSourceMaps":false,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"clientSegmentCache":false,"clientParamParsing":false,"dynamicOnHover":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","middlewarePrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"viewTransition":false,"routerBFCache":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"cacheComponents":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"devtoolSegmentExplorer":true,"browserDebugInfoInTerminal":false,"optimizeRouterScrolling":false,"middlewareClientMaxBodySize":10485760,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","serverExternalPackages":["ws","bufferutil","utf-8-validate","node-pty"],"transpilePackages":["react-markdown","remark-gfm"],"turbopack":{"root":"/Users/kumareth/Documents/projects/denchclaw"}}
13
13
 
14
14
  process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
15
15
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "denchclaw",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "Fully Managed OpenClaw Framework for managing your CRM, Sales Automation and Outreach agents. The only local productivity tool you need.",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/DenchHQ/DenchClaw#readme",
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{5742:(e,t,n)=>{"use strict";n.d(t,{D:()=>u,ThemeProvider:()=>d});var o=n(74166),r=(e,t,n,o,r,a,i,s)=>{let l=document.documentElement,c=["light","dark"];function u(t){var n;(Array.isArray(e)?e:[e]).forEach(e=>{let n="class"===e,o=n&&a?r.map(e=>a[e]||e):r;n?(l.classList.remove(...o),l.classList.add(a&&a[t]?a[t]:t)):l.setAttribute(e,t)}),n=t,s&&c.includes(n)&&(l.style.colorScheme=n)}if(o)u(o);else try{let e=localStorage.getItem(t)||n,o=i&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;u(o)}catch(e){}},a=["light","dark"],i="(prefers-color-scheme: dark)",s="undefined"==typeof window,l=o.createContext(void 0),c={setTheme:e=>{},themes:[]},u=()=>{var e;return null!=(e=o.useContext(l))?e:c},d=e=>o.useContext(l)?o.createElement(o.Fragment,null,e.children):o.createElement(m,{...e}),p=["light","dark"],m=e=>{let{forcedTheme:t,disableTransitionOnChange:n=!1,enableSystem:r=!0,enableColorScheme:s=!0,storageKey:c="theme",themes:u=p,defaultTheme:d=r?"system":"light",attribute:m="data-theme",value:g,children:b,nonce:w,scriptProps:P}=e,[S,E]=o.useState(()=>f(c,d)),[_,k]=o.useState(()=>"system"===S?v():S),A=g?Object.values(g):u,C=o.useCallback(e=>{let t=e;if(!t)return;"system"===e&&r&&(t=v());let o=g?g[t]:t,i=n?y(w):null,l=document.documentElement,c=e=>{"class"===e?(l.classList.remove(...A),o&&l.classList.add(o)):e.startsWith("data-")&&(o?l.setAttribute(e,o):l.removeAttribute(e))};if(Array.isArray(m)?m.forEach(c):c(m),s){let e=a.includes(d)?d:null,n=a.includes(t)?t:e;l.style.colorScheme=n}null==i||i()},[w]),T=o.useCallback(e=>{let t="function"==typeof e?e(S):e;E(t);try{localStorage.setItem(c,t)}catch(e){}},[S]),j=o.useCallback(e=>{k(v(e)),"system"===S&&r&&!t&&C("system")},[S,t]);o.useEffect(()=>{let e=window.matchMedia(i);return e.addListener(j),j(e),()=>e.removeListener(j)},[j]),o.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?E(e.newValue):T(d))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[T]),o.useEffect(()=>{C(null!=t?t:S)},[t,S]);let x=o.useMemo(()=>({theme:S,setTheme:T,forcedTheme:t,resolvedTheme:"system"===S?_:S,themes:r?[...u,"system"]:u,systemTheme:r?_:void 0}),[S,T,t,_,r,u]);return o.createElement(l.Provider,{value:x},o.createElement(h,{forcedTheme:t,storageKey:c,attribute:m,enableSystem:r,enableColorScheme:s,defaultTheme:d,value:g,themes:u,nonce:w,scriptProps:P}),b)},h=o.memo(e=>{let{forcedTheme:t,storageKey:n,attribute:a,enableSystem:i,enableColorScheme:s,defaultTheme:l,value:c,themes:u,nonce:d,scriptProps:p}=e,m=JSON.stringify([a,n,l,t,u,c,i,s]).slice(1,-1);return o.createElement("script",{...p,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?d:"",dangerouslySetInnerHTML:{__html:"(".concat(r.toString(),")(").concat(m,")")}})}),f=(e,t)=>{let n;if(!s){try{n=localStorage.getItem(e)||void 0}catch(e){}return n||t}},y=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},v=e=>(e||(e=window.matchMedia(i)),e.matches?"dark":"light")},7975:(e,t,n)=>{"use strict";n.d(t,{PostHogProvider:()=>v});var o=n(80534),r=n(29341),a=n(74166),i=(0,a.createContext)({client:r.Ay,bootstrap:void 0});function s(e){var t,n,o=e.children,s=e.client,l=e.apiKey,c=e.options,u=(0,a.useRef)(null),d=(0,a.useMemo)(function(){return s?(l&&console.warn("[PostHog.js] You have provided both `client` and `apiKey` to `PostHogProvider`. `apiKey` will be ignored in favour of `client`."),c&&console.warn("[PostHog.js] You have provided both `client` and `options` to `PostHogProvider`. `options` will be ignored in favour of `client`."),s):(l||console.warn("[PostHog.js] No `apiKey` or `client` were provided to `PostHogProvider`. Using default global `window.posthog` instance. You must initialize it manually. This is not recommended behavior."),r.Ay)},[s,l,JSON.stringify(c)]);return(0,a.useEffect)(function(){if(!s){var e=u.current;e?(l!==e.apiKey&&console.warn("[PostHog.js] You have provided a different `apiKey` to `PostHogProvider` than the one that was already initialized. This is not supported by our provider and we'll keep using the previous key. If you need to toggle between API Keys you need to control the `client` yourself and pass it in as a prop rather than an `apiKey` prop."),c&&!function e(t,n,o){if(void 0===o&&(o=new WeakMap),t===n)return!0;if("object"!=typeof t||null===t||"object"!=typeof n||null===n)return!1;if(o.has(t)&&o.get(t)===n)return!0;o.set(t,n);var r=Object.keys(t),a=Object.keys(n);if(r.length!==a.length)return!1;for(var i=0;i<r.length;i++){var s=r[i];if(!a.includes(s)||!e(t[s],n[s],o))return!1}return!0}(c,e.options)&&r.Ay.set_config(c)):(r.Ay.__loaded&&console.warn("[PostHog.js] `posthog` was already loaded elsewhere. This may cause issues."),r.Ay.init(l,c)),u.current={apiKey:l,options:null!=c?c:{}}}},[s,l,JSON.stringify(c)]),a.createElement(i.Provider,{value:{client:d,bootstrap:null!=(t=null==c?void 0:c.bootstrap)?t:null==(n=null==s?void 0:s.config)?void 0:n.bootstrap}},o)}var l=function(e){return"function"==typeof e},c=function(e,t){return(c=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};"function"==typeof SuppressedError&&SuppressedError;var u={componentStack:null,exceptionEvent:null,error:null},d={INVALID_FALLBACK:"[PostHog.js][PostHogErrorBoundary] Invalid fallback prop, provide a valid React element or a function that returns a valid React element."};!function(e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=n}function n(t){var n=e.call(this,t)||this;return n.state=u,n}c(n,e),n.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t),n.prototype.componentDidCatch=function(e,t){var n,o=this.props.additionalProperties;l(o)?n=o(e):"object"==typeof o&&(n=o);var r=this.context.client.captureException(e,n),a=t.componentStack;this.setState({error:e,componentStack:null!=a?a:null,exceptionEvent:r})},n.prototype.render=function(){var e=this.props,t=e.children,n=e.fallback,o=this.state;if(null==o.componentStack)return l(t)?t():t;var r=l(n)?a.createElement(n,{error:o.error,componentStack:o.componentStack,exceptionEvent:o.exceptionEvent}):n;return a.isValidElement(r)?r:(console.warn(d.INVALID_FALLBACK),a.createElement(a.Fragment,null))},n.contextType=i}(a.Component);var p=n(99197);let m="phc_Nt8s1Ny8062TY9aKT8LWiB4nBuoHNYQXRU9MypWfQCW",h="2.3.0",f=!1;function y(){let e=(0,p.usePathname)(),t=(0,p.useSearchParams)();return(0,a.useEffect)(()=>{var n;if(!f||(null!=(n=null==t?void 0:t.get("path"))?n:"").startsWith("~cron"))return;let o=e+((null==t?void 0:t.toString())?"?".concat(t.toString()):"");r.Ay.capture("$pageview",{$current_url:o})},[e,t]),null}function v(e){let{children:t,anonymousId:n}=e,i=(0,a.useRef)(!1);return((0,a.useEffect)(()=>{i.current||(i.current=!0,function(e){if(f||!m)return;r.Ay.init(m,{api_host:"https://us.i.posthog.com",capture_pageview:!1,capture_pageleave:!0,persistence:"memory",autocapture:!1,disable_session_recording:!0,person_profiles:"identified_only",bootstrap:e?{distinctID:e,isIdentifiedID:!1}:void 0});let t={};h&&(t.denchclaw_version=h),Object.keys(t).length>0&&r.Ay.register(t),f=!0}(n))},[n]),m)?(0,o.jsxs)(s,{client:r.Ay,children:[(0,o.jsx)(y,{}),t]}):(0,o.jsx)(o.Fragment,{children:t})}},89480:()=>{},91492:(e,t,n)=>{Promise.resolve().then(n.bind(n,7975)),Promise.resolve().then(n.t.bind(n,89480,23)),Promise.resolve().then(n.bind(n,5742))},99197:(e,t,n)=>{"use strict";var o=n(84841);n.o(o,"usePathname")&&n.d(t,{usePathname:function(){return o.usePathname}}),n.o(o,"useRouter")&&n.d(t,{useRouter:function(){return o.useRouter}}),n.o(o,"useSearchParams")&&n.d(t,{useSearchParams:function(){return o.useSearchParams}})}},e=>{e.O(0,[6827,5700,1705,8522,7358],()=>e(e.s=91492)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{5742:(e,t,n)=>{"use strict";n.d(t,{D:()=>u,ThemeProvider:()=>d});var o=n(74166),r=(e,t,n,o,r,a,i,s)=>{let l=document.documentElement,c=["light","dark"];function u(t){var n;(Array.isArray(e)?e:[e]).forEach(e=>{let n="class"===e,o=n&&a?r.map(e=>a[e]||e):r;n?(l.classList.remove(...o),l.classList.add(a&&a[t]?a[t]:t)):l.setAttribute(e,t)}),n=t,s&&c.includes(n)&&(l.style.colorScheme=n)}if(o)u(o);else try{let e=localStorage.getItem(t)||n,o=i&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;u(o)}catch(e){}},a=["light","dark"],i="(prefers-color-scheme: dark)",s="undefined"==typeof window,l=o.createContext(void 0),c={setTheme:e=>{},themes:[]},u=()=>{var e;return null!=(e=o.useContext(l))?e:c},d=e=>o.useContext(l)?o.createElement(o.Fragment,null,e.children):o.createElement(m,{...e}),p=["light","dark"],m=e=>{let{forcedTheme:t,disableTransitionOnChange:n=!1,enableSystem:r=!0,enableColorScheme:s=!0,storageKey:c="theme",themes:u=p,defaultTheme:d=r?"system":"light",attribute:m="data-theme",value:g,children:b,nonce:w,scriptProps:P}=e,[S,E]=o.useState(()=>f(c,d)),[_,k]=o.useState(()=>"system"===S?v():S),A=g?Object.values(g):u,C=o.useCallback(e=>{let t=e;if(!t)return;"system"===e&&r&&(t=v());let o=g?g[t]:t,i=n?y(w):null,l=document.documentElement,c=e=>{"class"===e?(l.classList.remove(...A),o&&l.classList.add(o)):e.startsWith("data-")&&(o?l.setAttribute(e,o):l.removeAttribute(e))};if(Array.isArray(m)?m.forEach(c):c(m),s){let e=a.includes(d)?d:null,n=a.includes(t)?t:e;l.style.colorScheme=n}null==i||i()},[w]),T=o.useCallback(e=>{let t="function"==typeof e?e(S):e;E(t);try{localStorage.setItem(c,t)}catch(e){}},[S]),j=o.useCallback(e=>{k(v(e)),"system"===S&&r&&!t&&C("system")},[S,t]);o.useEffect(()=>{let e=window.matchMedia(i);return e.addListener(j),j(e),()=>e.removeListener(j)},[j]),o.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?E(e.newValue):T(d))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[T]),o.useEffect(()=>{C(null!=t?t:S)},[t,S]);let x=o.useMemo(()=>({theme:S,setTheme:T,forcedTheme:t,resolvedTheme:"system"===S?_:S,themes:r?[...u,"system"]:u,systemTheme:r?_:void 0}),[S,T,t,_,r,u]);return o.createElement(l.Provider,{value:x},o.createElement(h,{forcedTheme:t,storageKey:c,attribute:m,enableSystem:r,enableColorScheme:s,defaultTheme:d,value:g,themes:u,nonce:w,scriptProps:P}),b)},h=o.memo(e=>{let{forcedTheme:t,storageKey:n,attribute:a,enableSystem:i,enableColorScheme:s,defaultTheme:l,value:c,themes:u,nonce:d,scriptProps:p}=e,m=JSON.stringify([a,n,l,t,u,c,i,s]).slice(1,-1);return o.createElement("script",{...p,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?d:"",dangerouslySetInnerHTML:{__html:"(".concat(r.toString(),")(").concat(m,")")}})}),f=(e,t)=>{let n;if(!s){try{n=localStorage.getItem(e)||void 0}catch(e){}return n||t}},y=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},v=e=>(e||(e=window.matchMedia(i)),e.matches?"dark":"light")},7975:(e,t,n)=>{"use strict";n.d(t,{PostHogProvider:()=>v});var o=n(80534),r=n(29341),a=n(74166),i=(0,a.createContext)({client:r.Ay,bootstrap:void 0});function s(e){var t,n,o=e.children,s=e.client,l=e.apiKey,c=e.options,u=(0,a.useRef)(null),d=(0,a.useMemo)(function(){return s?(l&&console.warn("[PostHog.js] You have provided both `client` and `apiKey` to `PostHogProvider`. `apiKey` will be ignored in favour of `client`."),c&&console.warn("[PostHog.js] You have provided both `client` and `options` to `PostHogProvider`. `options` will be ignored in favour of `client`."),s):(l||console.warn("[PostHog.js] No `apiKey` or `client` were provided to `PostHogProvider`. Using default global `window.posthog` instance. You must initialize it manually. This is not recommended behavior."),r.Ay)},[s,l,JSON.stringify(c)]);return(0,a.useEffect)(function(){if(!s){var e=u.current;e?(l!==e.apiKey&&console.warn("[PostHog.js] You have provided a different `apiKey` to `PostHogProvider` than the one that was already initialized. This is not supported by our provider and we'll keep using the previous key. If you need to toggle between API Keys you need to control the `client` yourself and pass it in as a prop rather than an `apiKey` prop."),c&&!function e(t,n,o){if(void 0===o&&(o=new WeakMap),t===n)return!0;if("object"!=typeof t||null===t||"object"!=typeof n||null===n)return!1;if(o.has(t)&&o.get(t)===n)return!0;o.set(t,n);var r=Object.keys(t),a=Object.keys(n);if(r.length!==a.length)return!1;for(var i=0;i<r.length;i++){var s=r[i];if(!a.includes(s)||!e(t[s],n[s],o))return!1}return!0}(c,e.options)&&r.Ay.set_config(c)):(r.Ay.__loaded&&console.warn("[PostHog.js] `posthog` was already loaded elsewhere. This may cause issues."),r.Ay.init(l,c)),u.current={apiKey:l,options:null!=c?c:{}}}},[s,l,JSON.stringify(c)]),a.createElement(i.Provider,{value:{client:d,bootstrap:null!=(t=null==c?void 0:c.bootstrap)?t:null==(n=null==s?void 0:s.config)?void 0:n.bootstrap}},o)}var l=function(e){return"function"==typeof e},c=function(e,t){return(c=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};"function"==typeof SuppressedError&&SuppressedError;var u={componentStack:null,exceptionEvent:null,error:null},d={INVALID_FALLBACK:"[PostHog.js][PostHogErrorBoundary] Invalid fallback prop, provide a valid React element or a function that returns a valid React element."};!function(e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=n}function n(t){var n=e.call(this,t)||this;return n.state=u,n}c(n,e),n.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t),n.prototype.componentDidCatch=function(e,t){var n,o=this.props.additionalProperties;l(o)?n=o(e):"object"==typeof o&&(n=o);var r=this.context.client.captureException(e,n),a=t.componentStack;this.setState({error:e,componentStack:null!=a?a:null,exceptionEvent:r})},n.prototype.render=function(){var e=this.props,t=e.children,n=e.fallback,o=this.state;if(null==o.componentStack)return l(t)?t():t;var r=l(n)?a.createElement(n,{error:o.error,componentStack:o.componentStack,exceptionEvent:o.exceptionEvent}):n;return a.isValidElement(r)?r:(console.warn(d.INVALID_FALLBACK),a.createElement(a.Fragment,null))},n.contextType=i}(a.Component);var p=n(99197);let m="phc_Nt8s1Ny8062TY9aKT8LWiB4nBuoHNYQXRU9MypWfQCW",h="2.3.2",f=!1;function y(){let e=(0,p.usePathname)(),t=(0,p.useSearchParams)();return(0,a.useEffect)(()=>{var n;if(!f||(null!=(n=null==t?void 0:t.get("path"))?n:"").startsWith("~cron"))return;let o=e+((null==t?void 0:t.toString())?"?".concat(t.toString()):"");r.Ay.capture("$pageview",{$current_url:o})},[e,t]),null}function v(e){let{children:t,anonymousId:n}=e,i=(0,a.useRef)(!1);return((0,a.useEffect)(()=>{i.current||(i.current=!0,function(e){if(f||!m)return;r.Ay.init(m,{api_host:"https://us.i.posthog.com",capture_pageview:!1,capture_pageleave:!0,persistence:"memory",autocapture:!1,disable_session_recording:!0,person_profiles:"identified_only",bootstrap:e?{distinctID:e,isIdentifiedID:!1}:void 0});let t={};h&&(t.denchclaw_version=h),Object.keys(t).length>0&&r.Ay.register(t),f=!0}(n))},[n]),m)?(0,o.jsxs)(s,{client:r.Ay,children:[(0,o.jsx)(y,{}),t]}):(0,o.jsx)(o.Fragment,{children:t})}},89480:()=>{},91492:(e,t,n)=>{Promise.resolve().then(n.bind(n,7975)),Promise.resolve().then(n.t.bind(n,89480,23)),Promise.resolve().then(n.bind(n,5742))},99197:(e,t,n)=>{"use strict";var o=n(84841);n.o(o,"usePathname")&&n.d(t,{usePathname:function(){return o.usePathname}}),n.o(o,"useRouter")&&n.d(t,{useRouter:function(){return o.useRouter}}),n.o(o,"useSearchParams")&&n.d(t,{useSearchParams:function(){return o.useSearchParams}})}},e=>{e.O(0,[6827,5700,1705,8522,7358],()=>e(e.s=91492)),_N_E=e.O()}]);
package/dist/entry.js CHANGED
@@ -1144,7 +1144,7 @@ if (!ensureExperimentalWarningSuppressed()) {
1144
1144
  const appliedProfile = applyCliProfileEnv({ profile: parsed.profile ?? void 0 });
1145
1145
  if (appliedProfile.warning) console.warn(`[denchclaw] ${appliedProfile.warning}`);
1146
1146
  process$1.argv = parsed.argv;
1147
- import("./run-main-Cc9zgEqf.js").then(({ runCli }) => runCli(process$1.argv)).then(() => import("./telemetry-DH3DIAck.js").then((n) => n.n).then(({ shutdownTelemetry }) => shutdownTelemetry())).catch((error) => {
1147
+ import("./run-main-C-j6snAD.js").then(({ runCli }) => runCli(process$1.argv)).then(() => import("./telemetry-DH3DIAck.js").then((n) => n.n).then(({ shutdownTelemetry }) => shutdownTelemetry())).catch((error) => {
1148
1148
  console.error("[denchclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
1149
1149
  process$1.exitCode = 1;
1150
1150
  });
@@ -145,11 +145,8 @@ function readBoolean(input, ...keys) {
145
145
  if (typeof value === "boolean") return value;
146
146
  }
147
147
  }
148
- function isProvider(value) {
149
- return value === "openai" || value === "anthropic";
150
- }
151
- function isTransportProvider(value) {
152
- return value === "openai" || value === "bedrock";
148
+ function isNonEmptyString(value) {
149
+ return typeof value === "string" && value.trim().length > 0;
153
150
  }
154
151
  function normalizeInputKinds(input, supportsImages) {
155
152
  if (!Array.isArray(input)) return supportsImages ? ["text", "image"] : ["text"];
@@ -256,13 +253,13 @@ function normalizeDenchCloudCatalogModel(input) {
256
253
  const displayName = readString(record, "name", "displayName", "display_name");
257
254
  const provider = readString(record, "provider");
258
255
  const transportProvider = readString(record, "transportProvider", "transport_provider");
259
- if (!publicId || !stableId || !displayName || !isProvider(provider) || !isTransportProvider(transportProvider)) return null;
256
+ if (!publicId || !stableId || !displayName || !isNonEmptyString(provider) || !isNonEmptyString(transportProvider)) return null;
260
257
  const supportsImages = readBoolean(record, "supportsImages", "supports_images") ?? false;
261
258
  const supportsStreaming = readBoolean(record, "supportsStreaming", "supports_streaming") ?? true;
262
259
  const supportsResponses = readBoolean(record, "supportsResponses", "supports_responses") ?? true;
263
260
  const supportsReasoning = readBoolean(record, "supportsReasoning", "supports_reasoning") ?? readBoolean(record, "reasoning") ?? false;
264
- const contextWindow = readNumber(record, "contextWindow", "context_window") ?? 128e3;
265
- const maxTokens = readNumber(record, "maxTokens", "max_tokens", "maxOutputTokens", "max_output_tokens") ?? 128e3;
261
+ const contextWindow = readNumber(record, "contextWindow", "context_window") ?? 2e5;
262
+ const maxTokens = readNumber(record, "maxTokens", "max_tokens", "maxOutputTokens", "max_output_tokens") ?? 64e3;
266
263
  const costRecord = asRecord$1(record.cost) ?? {};
267
264
  const inputCost = readNumber(costRecord, "input") ?? 0;
268
265
  const outputCost = readNumber(costRecord, "output") ?? 0;