denchclaw 2.3.4 → 2.3.6

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 (106) hide show
  1. package/README.md +22 -0
  2. package/apps/web/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  3. package/apps/web/.next/standalone/apps/web/.next/app-build-manifest.json +94 -94
  4. package/apps/web/.next/standalone/apps/web/.next/app-path-routes-manifest.json +32 -32
  5. package/apps/web/.next/standalone/apps/web/.next/build-manifest.json +2 -2
  6. package/apps/web/.next/standalone/apps/web/.next/required-server-files.json +1 -1
  7. package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page.js +1 -1
  8. package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/route_client-reference-manifest.js +1 -1
  10. package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/serve/[...path]/route_client-reference-manifest.js +1 -1
  11. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/active/route_client-reference-manifest.js +1 -1
  12. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route.js +2 -2
  13. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
  14. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route.js +1 -1
  15. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route_client-reference-manifest.js +1 -1
  16. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route.js +1 -1
  17. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
  18. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stream/route_client-reference-manifest.js +1 -1
  19. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route.js +1 -1
  20. package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route_client-reference-manifest.js +1 -1
  21. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/[jobId]/runs/route_client-reference-manifest.js +1 -1
  22. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/route_client-reference-manifest.js +1 -1
  23. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/[sessionId]/route_client-reference-manifest.js +1 -1
  24. package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/search-transcript/route_client-reference-manifest.js +1 -1
  25. package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route.js +1 -1
  26. package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route_client-reference-manifest.js +1 -1
  27. package/apps/web/.next/standalone/apps/web/.next/server/app/api/memories/route_client-reference-manifest.js +1 -1
  28. package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/route_client-reference-manifest.js +1 -1
  29. package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/switch/route.js +1 -1
  30. package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/switch/route_client-reference-manifest.js +1 -1
  31. package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/[sessionId]/route_client-reference-manifest.js +1 -1
  32. package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  33. package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  34. package/apps/web/.next/standalone/apps/web/.next/server/app/api/terminal/port/route_client-reference-manifest.js +1 -1
  35. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/messages/route_client-reference-manifest.js +1 -1
  36. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route.js +1 -1
  37. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route_client-reference-manifest.js +1 -1
  38. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route.js +1 -1
  39. package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route_client-reference-manifest.js +1 -1
  40. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/assets/[...path]/route_client-reference-manifest.js +1 -1
  41. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse/route_client-reference-manifest.js +1 -1
  42. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse-file/route_client-reference-manifest.js +1 -1
  43. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/context/route_client-reference-manifest.js +1 -1
  44. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/copy/route_client-reference-manifest.js +1 -1
  45. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/introspect/route_client-reference-manifest.js +1 -1
  46. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/query/route_client-reference-manifest.js +1 -1
  47. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route.js +1 -1
  48. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route_client-reference-manifest.js +1 -1
  49. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/file/route_client-reference-manifest.js +1 -1
  50. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route.js +1 -1
  51. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route_client-reference-manifest.js +1 -1
  52. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/list/route_client-reference-manifest.js +1 -1
  53. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/mkdir/route_client-reference-manifest.js +1 -1
  54. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/move/route_client-reference-manifest.js +1 -1
  55. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/display-field/route_client-reference-manifest.js +1 -1
  56. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/route_client-reference-manifest.js +1 -1
  57. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/bulk-delete/route_client-reference-manifest.js +1 -1
  58. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/options/route_client-reference-manifest.js +1 -1
  59. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route.js +1 -1
  60. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route_client-reference-manifest.js +1 -1
  61. 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
  62. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/route_client-reference-manifest.js +1 -1
  63. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/reorder/route_client-reference-manifest.js +1 -1
  64. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/route_client-reference-manifest.js +1 -1
  65. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/views/route_client-reference-manifest.js +1 -1
  66. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/open-file/route_client-reference-manifest.js +1 -1
  67. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/path-info/route_client-reference-manifest.js +1 -1
  68. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/query/route_client-reference-manifest.js +1 -1
  69. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/raw-file/route_client-reference-manifest.js +1 -1
  70. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/rename/route_client-reference-manifest.js +1 -1
  71. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route.js +1 -1
  72. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route_client-reference-manifest.js +1 -1
  73. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/search-index/route_client-reference-manifest.js +1 -1
  74. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/suggest-files/route_client-reference-manifest.js +1 -1
  75. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route.js +1 -1
  76. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route_client-reference-manifest.js +1 -1
  77. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/thumbnail/route_client-reference-manifest.js +1 -1
  78. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/tree/route_client-reference-manifest.js +1 -1
  79. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route.js +1 -1
  80. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route_client-reference-manifest.js +1 -1
  81. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/virtual-file/route_client-reference-manifest.js +1 -1
  82. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/watch/route_client-reference-manifest.js +1 -1
  83. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/write-binary/route_client-reference-manifest.js +1 -1
  84. package/apps/web/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  85. package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  86. package/apps/web/.next/standalone/apps/web/.next/server/app-paths-manifest.json +32 -32
  87. package/apps/web/.next/standalone/apps/web/.next/server/chunks/6426.js +8 -8
  88. package/apps/web/.next/standalone/apps/web/.next/server/chunks/7173.js +1 -1
  89. package/apps/web/.next/standalone/apps/web/.next/server/chunks/8137.js +1 -1
  90. package/apps/web/.next/standalone/apps/web/.next/server/functions-config-manifest.json +23 -23
  91. package/apps/web/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  92. package/apps/web/.next/{static/chunks/app/layout-f95d8f22919d026f.js → standalone/apps/web/.next/static/chunks/app/layout-27bf5ccd9324b2af.js} +1 -1
  93. package/apps/web/.next/standalone/apps/web/server.js +1 -1
  94. package/apps/web/.next/standalone/package.json +1 -1
  95. package/apps/web/.next/{standalone/apps/web/.next/static/chunks/app/layout-f95d8f22919d026f.js → static/chunks/app/layout-27bf5ccd9324b2af.js} +1 -1
  96. package/dist/{cli-name-DHxeNaoC.js → cli-name-CoW7mNz-.js} +1 -1
  97. package/dist/entry.js +5 -2
  98. package/dist/{program-tiyAiJ98.js → program-C_fKvUXP.js} +80 -54
  99. package/dist/{run-main-B02xZD34.js → run-main-B9xMLY9j.js} +3 -3
  100. package/dist/{telemetry-DH3DIAck.js → telemetry-CG1mrfh6.js} +1 -1
  101. package/extensions/posthog-analytics/lib/build-env.js +1 -1
  102. package/package.json +1 -1
  103. /package/apps/web/.next/standalone/apps/web/.next/static/{2PT--7EGcUx5lQZabcJq1 → 8JJPnGXX0UABv387IrLpB}/_buildManifest.js +0 -0
  104. /package/apps/web/.next/standalone/apps/web/.next/static/{2PT--7EGcUx5lQZabcJq1 → 8JJPnGXX0UABv387IrLpB}/_ssgManifest.js +0 -0
  105. /package/apps/web/.next/static/{2PT--7EGcUx5lQZabcJq1 → 8JJPnGXX0UABv387IrLpB}/_buildManifest.js +0 -0
  106. /package/apps/web/.next/static/{2PT--7EGcUx5lQZabcJq1 → 8JJPnGXX0UABv387IrLpB}/_ssgManifest.js +0 -0
@@ -1,11 +1,11 @@
1
- "use strict";exports.id=6426,exports.ids=[6426],exports.modules={44959:(a,b,c)=>{c.d(b,{V6:()=>k,ts:()=>j});var d=c(73024),e=c(76760),f=c(93349);function g(){return(0,e.join)((0,f.We)(),"chat-agents.json")}function h(){let a=g();if(!(0,d.existsSync)(a))return{version:1,agents:{}};try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return{version:1,agents:{}}}}function i(a){let b=g(),c=(0,e.join)(b,"..");(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),(0,d.writeFileSync)(b,JSON.stringify(a,null,2)+"\n","utf-8")}function j(a,b){let c=h(),d=c.agents[a];if(d&&"expired"!==d.state&&"deleted"!==d.state)return d.lastActiveAt=Date.now(),d.state="active",i(c),d;let e=(0,f.TY)(),g=Date.now(),j=(0,f.IL)(),k=new Set(Object.values(c.agents).filter(a=>"active"===a.state||"idle"===a.state).map(a=>a.chatAgentId)),l={chatAgentId:j.find(a=>!k.has(a))??e,workspaceAgentId:e,sessionId:a,workspaceDir:"",state:"active",createdAt:g,lastActiveAt:g,idleTtlMs:b?.idleTtlMs??18e5};return c.agents[a]=l,i(c),l}function k(a){let b=h(),c=b.agents[a];c&&"expired"!==c.state&&"deleted"!==c.state&&(c.state="idle",i(b))}},76426:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AD:()=>C,Be:()=>A,C9:()=>D,Cr:()=>t,F5:()=>I,Go:()=>v,KD:()=>B,QX:()=>z,ed:()=>u,j_:()=>H,pz:()=>y});var e=c(80481),f=c(76760),g=c(73024),h=c(51455),i=c(93349),j=c(44959),k=c(80687),l=a([k]);k=(l.then?(await l)():l)[0];let V="NO_REPLY";function m(a){let b=a.trim();return!!b&&!!(RegExp(`^${V}\\W*$`).test(b)||V.startsWith(b)&&b.length>=2&&b.length<V.length)}function n(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a}function o(a,b){if("string"!=typeof b||!b.trim())return null;let c=b.trim();if("string"==typeof a&&a.trim()){let b=a.trim();return c.toLowerCase().startsWith(`${b.toLowerCase()}/`)?c:`${b}/${c}`}return c}function p(a){if(!a)return"";let b="string"==typeof a.state?a.state:"";if("final"!==b)return"";let c=n(a.message);if(!c||"assistant"!==c.role)return"";let d=c.content;if("string"==typeof d)return d;if(!Array.isArray(d))return"";let e=[];for(let a of d){let b=n(a);if(!b)continue;let c="string"==typeof b.type?b.type:"";("text"===c||"output_text"===c)&&"string"==typeof b.text&&e.push(b.text)}return e.join("")}function q(){return(0,i.GY)()}let W="__openclaw_activeRuns",X=globalThis[W]??new Map;globalThis[W]=X;let Y=new Map;async function r(a){try{return await (0,h.access)(a),!0}catch{return!1}}async function s(a,b){let c=(Y.get(a)??Promise.resolve()).catch(()=>{}).then(b),d=c.then(()=>void 0,()=>void 0);Y.set(a,d);try{return await c}finally{Y.get(a)===d&&Y.delete(a)}}function t(a){return X.get(a)}function u(a){let b=X.get(a);return void 0!==b&&("running"===b.status||"waiting-for-subagents"===b.status)}function v(){let a=[];for(let[b,c]of X)("running"===c.status||"waiting-for-subagents"===c.status)&&a.push(b);return a}function w(a){for(let[b,c]of X)if(c.isSubscribeOnly&&c.parentSessionId===a&&"running"===c.status)return!0;return!1}async function x(a){if(w(a))return!0;let b=(0,f.join)((0,i.We)(),"subagents","runs.json");if(!await r(b))return!1;try{let c=JSON.parse(await (0,h.readFile)(b,"utf-8")),d=c?.runs;if(!d)return!1;let e=`:web:${a}`,f=Date.now();for(let a of Object.values(d)){if(!("string"==typeof a.requesterSessionKey?a.requesterSessionKey:"").endsWith(e)||"number"==typeof a.endedAt)continue;let b="number"==typeof a.createdAt?a.createdAt:0;if(!(b>0)||!(f-b>9e5))return!0}}catch{}return!1}function y(a,b,c){let d=X.get(a);if(!d)return null;let e=c?.replay??!0;if(e)for(let a of d.eventBuffer)b(a);if("running"!==d.status&&"waiting-for-subagents"!==d.status){if(!e&&"error"===d.status)for(let a of d.eventBuffer)b(a);return b(null),()=>{}}return d.subscribers.add(b),()=>{d.subscribers.delete(b)}}function z(a,b){let c=X.get(a);if(!c?.isSubscribeOnly)return!1;if("running"===c.status)return!0;c.status="running",c._lifecycleEnded=!1,c._finalizeTimer&&(clearTimeout(c._finalizeTimer),c._finalizeTimer=null),N(c),P(c),L(c),c.accumulated={id:`assistant-${a}-${Date.now()}`,role:"assistant",parts:[]};let d=b?(0,k.KJ)(b,a):(0,k.k$)(a,c.lastGlobalSeq);return c._subscribeProcess=d,c.childProcess=d,E(c,d,a),!0}async function A(a,b){let c=X.get(a);if(!c)return!1;let d=b.id??`user-${Date.now()}-${Math.random().toString(36).slice(2)}`,e={type:"user-message",id:d,text:b.text};for(let a of(c.eventBuffer.push(e),c.subscribers))try{a(e)}catch{}try{let c=(0,f.join)(q(),`${a}.jsonl`);await J(),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());if(a.some(a=>{try{return JSON.parse(a).id===d}catch{return!1}}))return;let e=JSON.stringify({id:d,role:"user",content:b.text,parts:[{type:"text",text:b.text}],timestamp:new Date().toISOString()});await (0,h.writeFile)(c,[...a,e].join("\n")+"\n")})}catch{}return R(c),!0}function B(a){let b=X.get(a);if(!b||"running"!==b.status&&"waiting-for-subagents"!==b.status)return!1;let c="waiting-for-subagents"===b.status;for(let d of(b.status="error",N(b),L(b),b.abortController.abort(),c||b.childProcess.kill("SIGTERM"),function(a){try{let b=X.get(a),c=b?.pinnedAgentId??(0,i.TY)(),d=b?.pinnedSessionKey??`agent:${c}:web:${a}`;(0,k.Gk)("chat.abort",{sessionKey:d},{timeoutMs:4e3}).catch(()=>{})}catch{}}(a),S(b).catch(()=>{}),b.subscribers))try{d(null)}catch{}if(b.subscribers.clear(),setTimeout(()=>{X.get(a)===b&&U(a)},3e4),!c){let a=setTimeout(()=>{try{b.childProcess.kill("SIGKILL")}catch{}},5e3);b.childProcess.once("close",()=>clearTimeout(a))}return!0}function C(a){let{sessionId:b,message:c,agentSessionId:d,overrideAgentId:f}=a,g=X.get(b);if(g?.status==="running")throw Error("Active run already exists for this session");g&&U(b);let h=f??(0,i.TY)(),l=d?`agent:${h}:web:${d}`:void 0,q=new AbortController,r=(0,k._v)(c,d,f),s={sessionId:b,childProcess:r,eventBuffer:[],subscribers:new Set,accumulated:{id:`assistant-${b}-${Date.now()}`,role:"assistant",parts:[]},status:"running",startedAt:Date.now(),exitCode:null,abortController:q,_persistTimer:null,_lastPersistedAt:0,lastGlobalSeq:0,_subscribeRetryTimer:null,_subscribeRetryAttempt:0,_waitingFinalizeTimer:null,pinnedAgentId:h,pinnedSessionKey:l};X.set(b,s);let t=()=>r.kill("SIGTERM");return q.signal.aborted?r.kill("SIGTERM"):(q.signal.addEventListener("abort",t,{once:!0}),r.on("close",()=>q.signal.removeEventListener("abort",t))),function(a){let b=a.childProcess,c=0,d=a=>`${a}-${Date.now()}-${++c}`,f="",g="",h=null,l=!1,q=!1,r=!1,s=!1,t=!1,u=!1,v=[],y=-1,z=-1,A=new Map,B=b=>{z<0?(a.accumulated.parts.push({type:"reasoning",text:b}),z=a.accumulated.parts.length-1):a.accumulated.parts[z].text+=b},C=b=>{y<0?(a.accumulated.parts.push({type:"text",text:b}),y=a.accumulated.parts.length-1):a.accumulated.parts[y].text+=b},E=b=>{for(let c of(a.eventBuffer.push(b),a.subscribers))try{c(b)}catch{}R(a)},F=()=>{q&&(E({type:"reasoning-end",id:g}),q=!1,s=!1),h=null,z=-1},G=()=>{if(l){if(y>=0){let b=a.accumulated.parts[y];if(m(b.text))for(let[b,c]of(a.accumulated.parts.splice(y,1),A))c>y&&A.set(b,c-1)}E({type:"text-end",id:f}),l=!1}y=-1},H=a=>{s&&h===a||(F(),G(),g=d("status"),E({type:"reasoning-start",id:g}),E({type:"reasoning-delta",id:g,delta:a}),q=!0,s=!0,h=a,B(a))},I=a=>{F(),G();let b=d("text");E({type:"text-start",id:b}),E({type:"text-delta",id:b,delta:`[error] ${a}`}),E({type:"text-end",id:b}),C(`[error] ${a}`),y=-1,r=!0},J=(0,e.createInterface)({input:b.stdout}),K=a.pinnedAgentId??(0,i.TY)(),O=a.pinnedSessionKey??`agent:${K}:web:${a.sessionId}`;J.on("error",()=>{});let T=b=>{if("agent"===b.event&&"lifecycle"===b.stream&&b.data?.phase==="start"&&H("Preparing response..."),"agent"===b.event&&"thinking"===b.stream){let a="string"==typeof b.data?.delta?b.data.delta:void 0;a&&(s&&F(),q||(g=d("reasoning"),E({type:"reasoning-start",id:g}),q=!0),E({type:"reasoning-delta",id:g,delta:a}),B(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,e=a??c;e&&(F(),l||(f=d("text"),E({type:"text-start",id:f}),l=!0),r=!0,E({type:"text-delta",id:f,delta:e}),C(e));let g=b.data?.mediaUrls;if(Array.isArray(g)){for(let a of g)if("string"==typeof a&&a.trim()){F(),l||(f=d("text"),E({type:"text-start",id:f}),l=!0),r=!0;let b=`
1
+ "use strict";exports.id=6426,exports.ids=[6426],exports.modules={76426:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AD:()=>B,Be:()=>z,C9:()=>C,Cr:()=>s,F5:()=>H,Go:()=>u,KD:()=>A,QX:()=>y,ed:()=>t,j_:()=>G,pz:()=>x});var e=c(80481),f=c(76760),g=c(73024),h=c(51455),i=c(93349),j=c(80687),k=a([j]);j=(k.then?(await k)():k)[0];let U="NO_REPLY";function l(a){let b=a.trim();return!!b&&!!(RegExp(`^${U}\\W*$`).test(b)||U.startsWith(b)&&b.length>=2&&b.length<U.length)}function m(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a}function n(a,b){if("string"!=typeof b||!b.trim())return null;let c=b.trim();if("string"==typeof a&&a.trim()){let b=a.trim();return c.toLowerCase().startsWith(`${b.toLowerCase()}/`)?c:`${b}/${c}`}return c}function o(a){if(!a)return"";let b="string"==typeof a.state?a.state:"";if("final"!==b)return"";let c=m(a.message);if(!c||"assistant"!==c.role)return"";let d=c.content;if("string"==typeof d)return d;if(!Array.isArray(d))return"";let e=[];for(let a of d){let b=m(a);if(!b)continue;let c="string"==typeof b.type?b.type:"";("text"===c||"output_text"===c)&&"string"==typeof b.text&&e.push(b.text)}return e.join("")}function p(){return(0,i.GY)()}let V="__openclaw_activeRuns",W=globalThis[V]??new Map;globalThis[V]=W;let X=new Map;async function q(a){try{return await (0,h.access)(a),!0}catch{return!1}}async function r(a,b){let c=(X.get(a)??Promise.resolve()).catch(()=>{}).then(b),d=c.then(()=>void 0,()=>void 0);X.set(a,d);try{return await c}finally{X.get(a)===d&&X.delete(a)}}function s(a){return W.get(a)}function t(a){let b=W.get(a);return void 0!==b&&("running"===b.status||"waiting-for-subagents"===b.status)}function u(){let a=[];for(let[b,c]of W)("running"===c.status||"waiting-for-subagents"===c.status)&&a.push(b);return a}function v(a){for(let[b,c]of W)if(c.isSubscribeOnly&&c.parentSessionId===a&&"running"===c.status)return!0;return!1}async function w(a){if(v(a))return!0;let b=(0,f.join)((0,i.We)(),"subagents","runs.json");if(!await q(b))return!1;try{let c=JSON.parse(await (0,h.readFile)(b,"utf-8")),d=c?.runs;if(!d)return!1;let e=`:web:${a}`,f=Date.now();for(let a of Object.values(d)){if(!("string"==typeof a.requesterSessionKey?a.requesterSessionKey:"").endsWith(e)||"number"==typeof a.endedAt)continue;let b="number"==typeof a.createdAt?a.createdAt:0;if(!(b>0)||!(f-b>9e5))return!0}}catch{}return!1}function x(a,b,c){let d=W.get(a);if(!d)return null;let e=c?.replay??!0;if(e)for(let a of d.eventBuffer)b(a);if("running"!==d.status&&"waiting-for-subagents"!==d.status){if(!e&&"error"===d.status)for(let a of d.eventBuffer)b(a);return b(null),()=>{}}return d.subscribers.add(b),()=>{d.subscribers.delete(b)}}function y(a,b){let c=W.get(a);if(!c?.isSubscribeOnly)return!1;if("running"===c.status)return!0;c.status="running",c._lifecycleEnded=!1,c._finalizeTimer&&(clearTimeout(c._finalizeTimer),c._finalizeTimer=null),M(c),O(c),K(c),c.accumulated={id:`assistant-${a}-${Date.now()}`,role:"assistant",parts:[]};let d=b?(0,j.KJ)(b,a):(0,j.k$)(a,c.lastGlobalSeq);return c._subscribeProcess=d,c.childProcess=d,D(c,d,a),!0}async function z(a,b){let c=W.get(a);if(!c)return!1;let d=b.id??`user-${Date.now()}-${Math.random().toString(36).slice(2)}`,e={type:"user-message",id:d,text:b.text};for(let a of(c.eventBuffer.push(e),c.subscribers))try{a(e)}catch{}try{let c=(0,f.join)(p(),`${a}.jsonl`);await I(),await r(c,async()=>{await q(c)||await (0,h.writeFile)(c,"");let a=(await (0,h.readFile)(c,"utf-8")).split("\n").filter(a=>a.trim());if(a.some(a=>{try{return JSON.parse(a).id===d}catch{return!1}}))return;let e=JSON.stringify({id:d,role:"user",content:b.text,parts:[{type:"text",text:b.text}],timestamp:new Date().toISOString()});await (0,h.writeFile)(c,[...a,e].join("\n")+"\n")})}catch{}return Q(c),!0}function A(a){let b=W.get(a);if(!b||"running"!==b.status&&"waiting-for-subagents"!==b.status)return!1;let c="waiting-for-subagents"===b.status;for(let d of(b.status="error",M(b),K(b),b.abortController.abort(),c||b.childProcess.kill("SIGTERM"),function(a){try{let b=W.get(a),c=b?.pinnedAgentId??(0,i.TY)(),d=b?.pinnedSessionKey??`agent:${c}:web:${a}`;(0,j.Gk)("chat.abort",{sessionKey:d},{timeoutMs:4e3}).catch(()=>{})}catch{}}(a),R(b).catch(()=>{}),b.subscribers))try{d(null)}catch{}if(b.subscribers.clear(),setTimeout(()=>{W.get(a)===b&&T(a)},3e4),!c){let a=setTimeout(()=>{try{b.childProcess.kill("SIGKILL")}catch{}},5e3);b.childProcess.once("close",()=>clearTimeout(a))}return!0}function B(a){let{sessionId:b,message:c,agentSessionId:d,overrideAgentId:f}=a,g=W.get(b);if(g?.status==="running")throw Error("Active run already exists for this session");g&&T(b);let h=f??(0,i.TY)(),k=d?`agent:${h}:web:${d}`:void 0,p=new AbortController,q=(0,j._v)(c,d,f),r={sessionId:b,childProcess:q,eventBuffer:[],subscribers:new Set,accumulated:{id:`assistant-${b}-${Date.now()}`,role:"assistant",parts:[]},status:"running",startedAt:Date.now(),exitCode:null,abortController:p,_persistTimer:null,_lastPersistedAt:0,lastGlobalSeq:0,_subscribeRetryTimer:null,_subscribeRetryAttempt:0,_waitingFinalizeTimer:null,pinnedAgentId:h,pinnedSessionKey:k};W.set(b,r);let s=()=>q.kill("SIGTERM");return p.signal.aborted?q.kill("SIGTERM"):(p.signal.addEventListener("abort",s,{once:!0}),q.on("close",()=>p.signal.removeEventListener("abort",s))),function(a){let b=a.childProcess,c=0,d=a=>`${a}-${Date.now()}-${++c}`,f="",g="",h=null,k=!1,p=!1,q=!1,r=!1,s=!1,t=!1,u=[],x=-1,y=-1,z=new Map,A=b=>{y<0?(a.accumulated.parts.push({type:"reasoning",text:b}),y=a.accumulated.parts.length-1):a.accumulated.parts[y].text+=b},B=b=>{x<0?(a.accumulated.parts.push({type:"text",text:b}),x=a.accumulated.parts.length-1):a.accumulated.parts[x].text+=b},D=b=>{for(let c of(a.eventBuffer.push(b),a.subscribers))try{c(b)}catch{}Q(a)},E=()=>{p&&(D({type:"reasoning-end",id:g}),p=!1,r=!1),h=null,y=-1},F=()=>{if(k){if(x>=0){let b=a.accumulated.parts[x];if(l(b.text))for(let[b,c]of(a.accumulated.parts.splice(x,1),z))c>x&&z.set(b,c-1)}D({type:"text-end",id:f}),k=!1}x=-1},G=a=>{r&&h===a||(E(),F(),g=d("status"),D({type:"reasoning-start",id:g}),D({type:"reasoning-delta",id:g,delta:a}),p=!0,r=!0,h=a,A(a))},H=a=>{E(),F();let b=d("text");D({type:"text-start",id:b}),D({type:"text-delta",id:b,delta:`[error] ${a}`}),D({type:"text-end",id:b}),B(`[error] ${a}`),x=-1,q=!0},I=(0,e.createInterface)({input:b.stdout}),J=a.pinnedAgentId??(0,i.TY)(),N=a.pinnedSessionKey??`agent:${J}:web:${a.sessionId}`;I.on("error",()=>{});let S=b=>{if("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&&(r&&E(),p||(g=d("reasoning"),D({type:"reasoning-start",id:g}),p=!0),D({type:"reasoning-delta",id:g,delta:a}),A(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,e=a??c;e&&(E(),k||(f=d("text"),D({type:"text-start",id:f}),k=!0),q=!0,D({type:"text-delta",id:f,delta:e}),B(e));let g=b.data?.mediaUrls;if(Array.isArray(g)){for(let a of g)if("string"==typeof a&&a.trim()){E(),k||(f=d("text"),D({type:"text-start",id:f}),k=!0),q=!0;let b=`
2
2
  ![media](${a.trim()})
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=`
3
+ `;D({type:"text-delta",id:f,delta:b}),B(b)}}if("string"==typeof b.data?.stopReason&&"error"===b.data.stopReason&&!t){t=!0;let a="string"==typeof b.data?.errorMessage?(0,j.kW)(b.data.errorMessage):(0,j.uE)(b.data)??"Agent stopped with an error";H(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){E(),F();let c=b.data?.args&&"object"==typeof b.data.args?b.data.args:{};D({type:"tool-input-start",toolCallId:d,toolName:e}),D({type:"tool-input-available",toolCallId:d,toolName:e,input:c}),a.accumulated.parts.push({type:"tool-invocation",toolCallId:d,toolName:e,args:c}),z.set(d,a.accumulated.parts.length-1)}else if("update"===c){let a=(0,j.Px)(b.data?.partialResult);if(a){let b=(0,j.m0)(a);D({type:"tool-output-partial",toolCallId:d,output:b})}}else if("result"===c){let c=b.data?.isError===!0,f=(0,j.Px)(b.data?.result);if(c){let b=f?.text||f?.details?.error||"Tool execution failed";D({type:"tool-output-error",toolCallId:d,errorText:b});let c=z.get(d);if(void 0!==c){let d=a.accumulated.parts[c];"tool-invocation"===d.type&&(d.errorText=b)}}else{let b=(0,j.m0)(f);D({type:"tool-output-available",toolCallId:d,output:b});let c=z.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=z.has(d)?a.accumulated.parts[z.get(d)]?.args:void 0;C({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=n(a?.selectedProvider,a?.selectedModel)??n(a?.fromProvider,a?.fromModel),d=n(a?.activeProvider,a?.activeModel)??n(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("chat"===b.event){let a=o(b.data);a&&a&&(E(),k||(f=d("text"),D({type:"text-start",id:f}),k=!0),q=!0,D({type:"text-delta",id:f,delta:a}),B(a),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&&r)if(b.data?.willRetry===!0){let a="\nRetrying with compacted context...";D({type:"reasoning-delta",id:g,delta:a}),A(a)}else E()}"agent"===b.event&&"lifecycle"===b.stream&&b.data?.phase==="end"&&(E(),F()),"agent"!==b.event||"lifecycle"!==b.stream||b.data?.phase!=="error"||t||(t=!0,H((0,j.uE)(b.data)??"Agent encountered an error")),"error"!==b.event||t||(t=!0,H((0,j.uE)(b.data??b)??"An unknown error occurred"))},U=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=()=>{s||(G("Waiting for subagent results..."),s=!0),R(a).catch(()=>{})},e=()=>{if("waiting-for-subagents"===a.status||"running"===a.status){if(v(a.sessionId)){M(a),d();return}M(a),a._waitingFinalizeTimer=setTimeout(async()=>{if(a._waitingFinalizeTimer=null,"waiting-for-subagents"===a.status){if(await w(a.sessionId))return void d();L(a)}},5e3)}};if(M(a),S(b),"lifecycle"===b.stream&&b.data?.phase==="end"&&e(),"chat"===b.event){let a=b.data,c="string"==typeof a?.state?a.state:"",d=m(a?.message),f="string"==typeof d?.role?d.role:"";"final"===c&&"assistant"===f&&e()}};I.on("line",b=>{let c;if(!b.trim())return;try{c=JSON.parse(b)}catch{return}if(c.sessionKey&&c.sessionKey!==N)return;let d="number"==typeof c.globalSeq?c.globalSeq:void 0;void 0!==d&&d>a.lastGlobalSeq&&(a.lastGlobalSeq=d),S(c)}),b.on("close",b=>{if("running"!==a.status){a.exitCode=b;return}if(!t&&u.length>0){let a=u.join("").trim(),b=(0,j.e$)(a);b&&(t=!0,H(b))}E();let c=0===b||null===b;if(q||c)!q&&c?H("No response from agent."):F();else{let a=d("text");D({type:"text-start",id:a});let c=`[error] Agent exited with code ${b}. Check server logs for details.`;D({type:"text-delta",id:a,delta:c}),D({type:"text-end",id:a}),B(c)}a.exitCode=b;let f=v(a.sessionId);if(c&&f){a.status="waiting-for-subagents",s||(G("Waiting for subagent results..."),s=!0),R(a).catch(()=>{}),function a(b,c,d){K(b);let f=(0,j.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&&O(b),d(e))}}),f.on("close",()=>{b._subscribeProcess===f&&(b._subscribeProcess=null,"waiting-for-subagents"===b.status&&P(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,N,U),setTimeout(()=>{"waiting-for-subagents"===a.status&&L(a)},6e5);return}for(let b of(a.status=c?"completed":"error",R(a).catch(()=>{}),a.subscribers))try{b(null)}catch{}a.subscribers.clear(),setTimeout(()=>{W.get(a.sessionId)===a&&T(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(H(`Failed to start agent: ${c}`),a.status="error",R(a).catch(()=>{}),a.subscribers))try{b(null)}catch{}a.subscribers.clear(),setTimeout(()=>{W.get(a.sessionId)===a&&T(a.sessionId)},3e4)}),b.stderr?.on("data",a=>{let b=a.toString();u.push(b),console.error("[active-runs stderr]",b)})}(r),r}function C(a){let{sessionKey:b,parentSessionId:c,task:d,label:e}=a;if(W.has(b))return W.get(b);(0,j.Gk)("sessions.patch",{key:b,thinkingLevel:"xhigh",verboseLevel:"full",reasoningLevel:"on"},{timeoutMs:4e3}).catch(()=>{});let f=new AbortController,g=(0,j.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 W.set(b,h),D(h,g,b),h}function D(a,b,c){let d=0,h=a=>`${a}-${Date.now()}-${++d}`,k="",m="",p=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{}Q(a)},B=a=>{C(),F();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:m}),r=!1,s=!1),p=null,w=-1},F=()=>{if(q){let b=a.accumulated.parts[v];b?.type==="text"&&l(b.text)&&a.accumulated.parts.splice(v,1),A({type:"text-end",id:k}),q=!1}v=-1},G=a=>{s&&p===a||(C(),F(),m=h("status"),A({type:"reasoning-start",id:m}),A({type:"reasoning-delta",id:m,delta:a}),r=!0,s=!0,p=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(),F(),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&&O(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||(m=h("reasoning"),A({type:"reasoning-start",id:m}),r=!0),A({type:"reasoning-delta",id:m,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||(k=h("text"),A({type:"text-start",id:k}),q=!0),A({type:"text-delta",id:k,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||(k=h("text"),A({type:"text-start",id:k}),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=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}
5
+ `;A({type:"text-delta",id:k,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,j.kW)(b.data.errorMessage):(0,j.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(),F();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,j.Px)(b.data?.partialResult);if(a){let b=(0,j.m0)(a);A({type:"tool-output-partial",toolCallId:d,output:b})}}else if("result"===c){let c=b.data?.isError===!0,e=(0,j.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,j.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=n(a?.selectedProvider,a?.selectedModel)??n(a?.fromProvider,a?.fromModel),d=n(a?.activeProvider,a?.activeModel)??n(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:m,delta:a}),y(a)}else C()}if("chat"===b.event){let a=o(b.data);a&&(C(),q||(k=h("text"),A({type:"text-start",id:k}),q=!0),A({type:"text-delta",id:k,delta:a}),z(a),F())}"agent"===b.event&&"lifecycle"===b.stream&&b.data?.phase==="end"&&(H("lifecycle-end"),C(),F(),a._lifecycleEnded=!0,a._finalizeTimer&&clearTimeout(a._finalizeTimer),a._finalizeTimer=setTimeout(()=>{a._finalizeTimer=null,"running"===a.status&&E(a)},750)),"agent"!==b.event||"lifecycle"!==b.stream||b.data?.phase!=="error"||t||(t=!0,B((0,j.uE)(b.data)??"Agent encountered an error"),E(a,"error")),"error"!==b.event||t||(t=!0,B((0,j.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),E(a);return}P(a,()=>{if("running"===a.status&&!a._subscribeProcess){let b=(0,j.k$)(c,a.lastGlobalSeq);a._subscribeProcess=b,a.childProcess=b,D(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 E(a,b="completed"){if("running"!==a.status)return;for(let c of(a._finalizeTimer&&(clearTimeout(a._finalizeTimer),a._finalizeTimer=null),M(a),O(a),a.status=b,R(a).catch(()=>{}),a.subscribers))try{c(null)}catch{}a.subscribers.clear(),K(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(()=>{F(b,c)},2e3)}let d=a.isSubscribeOnly?864e5:3e4;setTimeout(()=>{W.get(a.sessionId)===a&&T(a.sessionId)},d)}function F(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 q=(0,f.join)(p(),`${a}.jsonl`);if(!(0,g.existsSync)(q))return;let r=(0,g.readFileSync)(q,"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)(q,t.map(a=>JSON.stringify(a)).join("\n")+"\n")}catch{}}function G(a){a.includes(":subagent:")&&F(a)}async function H(a,b){await I();let c=(0,f.join)(p(),`${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 r(c,async()=>{await q(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 J(a,{incrementCount:1})}async function I(){await (0,h.mkdir)(p(),{recursive:!0})}async function J(a,b){try{let c=(0,f.join)(p(),"index.json");await I(),await r(c,async()=>{let d;if(!await q(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 K(a){if(N(a),M(a),a._subscribeProcess){try{a._subscribeProcess.kill("SIGTERM")}catch{}a._subscribeProcess=null}}function L(a){if("waiting-for-subagents"===a.status){for(let b of(a.status="completed",M(a),O(a),K(a),R(a).catch(()=>{}),a.subscribers))try{b(null)}catch{}a.subscribers.clear(),setTimeout(()=>{W.get(a.sessionId)===a&&T(a.sessionId)},3e4)}}function M(a){a._waitingFinalizeTimer&&(clearTimeout(a._waitingFinalizeTimer),a._waitingFinalizeTimer=null)}function N(a){a._subscribeRetryTimer&&(clearTimeout(a._subscribeRetryTimer),a._subscribeRetryTimer=null)}function O(a){a._subscribeRetryAttempt=0,N(a)}function P(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 Q(a){if(a._persistTimer)return;let b=Date.now()-a._lastPersistedAt,c=Math.max(0,2e3-b);a._persistTimer=setTimeout(()=>{a._persistTimer=null,R(a).catch(()=>{})},c)}async function R(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||!l(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 S(a.sessionId,f)}catch(a){console.error("[active-runs] Persistence error:",a)}}async function S(a,b){await I();let c=(0,f.join)(p(),`${a}.jsonl`),d=b.id,e=!1;await r(c,async()=>{await q(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 J(a,{}):await J(a,{incrementCount:1}))}function T(a){let b=W.get(a);b&&(b._persistTimer&&clearTimeout(b._persistTimer),M(b),K(b),W.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.lifecycleErrorCloseTimer=null,this.lifecycleErrorRecoveryUntil=0,this.useChatSend=!1,this.receivedAgentEvent=!1,this.start()}kill(a){return!this.finished&&(this.requestedClose=!0,this.clearLifecycleErrorCloseTimer(),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){let a;this.params.sessionKey&&await this.ensureFullToolVerbose(this.params.sessionKey);let b=this.params.sessionKey,c=this.params.message??"";if(this.useChatSend=c.startsWith("/"),!(a=this.useChatSend?await this.client.request("chat.send",{message:c,...b?{sessionKey:b}:{},idempotencyKey:(0,e.randomUUID)(),deliver:!1}):await this.client.request("agent",{message:c,idempotencyKey:(0,e.randomUUID)(),...b?{sessionKey:b}:{},deliver:!1,channel:"webchat",lane:this.params.lane??"web",timeout:0})).ok)throw Error(t(a));let d=o(a.payload),f=d&&"string"==typeof d.runId?d.runId:null;this.runId=f,b&&await this.ensureFullToolVerbose(b)}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
- `)}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
- `);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)}
9
- `);return}if("error"===a.event){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:"error",data:b,..."number"==typeof d?{globalSeq:d}:{},...c?{sessionKey:c}:{}};this.stdout.write(`${JSON.stringify(e)}
10
- `),"start"===this.params.mode&&this.scheduleClose()}}}scheduleClose(){this.closeScheduled||this.finished||(this.closeScheduled=!0,setTimeout(()=>{this.finished||(this.requestedClose=!0,this.client?.close(),this.finish(0,null))},25))}handleSocketClose(a,b){if(this.finished)return;if(!this.requestedClose){let c=b.trim()||`code ${a}`;this.stderr.write(`Gateway connection closed: ${c}
11
- `)}let c=this.requestedClose||1e3===a||1005===a?0:1;this.finish(c,null)}finish(a,b){if(!this.finished){this.finished=!0;try{this.stdout.end(),this.stderr.end()}catch{}this.emit("close",a,b)}}}async function w(a,b,c){let d=!1,{client:e,settings:f}=await v(()=>{},()=>{d=!0});try{let d=await e.request("connect",s(f),c?.timeoutMs??12e3);if(!d.ok)throw Error(t(d));return await e.request(a,b,c?.timeoutMs??12e3)}finally{d||e.close()}}function x(a,b,c){let d=c??(0,k.TY)(),e=b?`agent:${d}:web:${b}`:void 0;return new J({mode:"start",message:a,sessionKey:e,afterSeq:0})}function y(a,b=0){return new J({mode:"subscribe",sessionKey:a,afterSeq:Math.max(0,Number.isFinite(b)?b:0)})}function z(a,b){return new J({mode:"start",message:a,sessionKey:b,afterSeq:0,lane:"subagent"})}function A(a){if(!a)return{};let b={};if(a.text&&(b.text=a.text),a.details)for(let[c,d]of Object.entries(a.details))void 0!==d&&(b[c]=d);if(!b.text&&a.details)try{let c=JSON.stringify(a.details);c.length<=5e4&&(b.text=c)}catch{}return b}function B(a){if(a){if("string"==typeof a.error)return C(a.error);if("object"==typeof a.error&&null!==a.error){let b=a.error;if("string"==typeof b.message)return C(b.message)}if("string"==typeof a.message)return C(a.message);if("string"==typeof a.errorMessage)return C(a.errorMessage);if("string"==typeof a.detail)return C(a.detail);if("string"==typeof a.reason)return C(a.reason);if("string"==typeof a.description)return C(a.description);if("string"==typeof a.code&&a.code.trim())return a.code;try{let b=JSON.stringify(a);if("{}"!==b&&b.length<=500)return b;if(b.length>500)return`${b.slice(0,497)}...`}catch{}}}function C(a){let b=a.indexOf("{");if(b>=0)try{let c=JSON.parse(a.slice(b)),d=c?.error?.message??c?.message??c?.error;if("string"==typeof d)return d}catch{}return a}function D(a){if(!a)return;let b=a.replace(/\x1B\[[0-9;]*[A-Za-z]/g,""),c=b.match(/\{"error":\{[^}]*"message":"([^"]+)"[^}]*\}/);if(c?.[1])return c[1];let d=b.split("\n").filter(Boolean);for(let a of d){let b=a.trim();if(/\b(error|failed|fatal)\b/i.test(b)){let a=b.replace(/^\[.*?\]\s*/,"").replace(/^Error:\s*/i,"");if(a.length>5)return a}}let e=d[d.length-1]?.trim();if(e&&e.length<=300)return e}d()}catch(a){d(a)}})}};
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){this.receivedAgentEvent=!0;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)if(!(Date.now()<=this.lifecycleErrorRecoveryUntil))return;else this.runId=d,this.clearLifecycleErrorCloseTimer();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
+ `);let g="string"==typeof b.stream?b.stream:"",h=o(b.data),i=h&&"string"==typeof h.phase?h.phase:"";("lifecycle"!==g||"error"!==i)&&this.clearLifecycleErrorCloseTimer(),"start"===this.params.mode&&"lifecycle"===g&&"end"===i&&this.scheduleClose(),"start"===this.params.mode&&"lifecycle"===g&&"error"===i&&this.armLifecycleErrorCloseTimer();return}if("chat"===a.event){if(!("subscribe"===this.params.mode||this.useChatSend&&!this.receivedAgentEvent))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)}
9
+ `),this.useChatSend&&"start"===this.params.mode&&"string"==typeof b.state&&"final"===b.state&&this.scheduleClose();return}if("error"===a.event){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:"error",data:b,..."number"==typeof d?{globalSeq:d}:{},...c?{sessionKey:c}:{}};this.stdout.write(`${JSON.stringify(e)}
10
+ `),"start"===this.params.mode&&this.armLifecycleErrorCloseTimer()}}}armLifecycleErrorCloseTimer(){this.lifecycleErrorRecoveryUntil=Date.now()+15e3,this.clearLifecycleErrorCloseTimer(),this.lifecycleErrorCloseTimer=setTimeout(()=>{this.lifecycleErrorCloseTimer=null,this.finished||this.scheduleClose()},15e3)}clearLifecycleErrorCloseTimer(){this.lifecycleErrorRecoveryUntil=0,this.lifecycleErrorCloseTimer&&(clearTimeout(this.lifecycleErrorCloseTimer),this.lifecycleErrorCloseTimer=null)}scheduleClose(){this.closeScheduled||this.finished||(this.closeScheduled=!0,setTimeout(()=>{this.finished||(this.requestedClose=!0,this.client?.close(),this.finish(0,null))},25))}handleSocketClose(a,b){if(this.finished)return;if(!this.requestedClose){let c=b.trim()||`code ${a}`;this.stderr.write(`Gateway connection closed: ${c}
11
+ `)}let c=this.requestedClose||1e3===a||1005===a?0:1;this.finish(c,null)}finish(a,b){if(!this.finished){this.finished=!0,this.clearLifecycleErrorCloseTimer();try{this.stdout.end(),this.stderr.end()}catch{}this.emit("close",a,b)}}}async function w(a,b,c){let d=!1,{client:e,settings:f}=await v(()=>{},()=>{d=!0});try{let d=await e.request("connect",s(f),c?.timeoutMs??12e3);if(!d.ok)throw Error(t(d));return await e.request(a,b,c?.timeoutMs??12e3)}finally{d||e.close()}}function x(a,b,c){let d=c??(0,k.TY)(),e=b?`agent:${d}:web:${b}`:void 0;return new J({mode:"start",message:a,sessionKey:e,afterSeq:0,lane:b?`web:${b}`:"web"})}function y(a,b=0){return new J({mode:"subscribe",sessionKey:a,afterSeq:Math.max(0,Number.isFinite(b)?b:0)})}function z(a,b){return new J({mode:"start",message:a,sessionKey:b,afterSeq:0,lane:"subagent"})}function A(a){if(!a)return{};let b={};if(a.text&&(b.text=a.text),a.details)for(let[c,d]of Object.entries(a.details))void 0!==d&&(b[c]=d);if(!b.text&&a.details)try{let c=JSON.stringify(a.details);c.length<=5e4&&(b.text=c)}catch{}return b}function B(a){if(a){if("string"==typeof a.error)return C(a.error);if("object"==typeof a.error&&null!==a.error){let b=a.error;if("string"==typeof b.message)return C(b.message)}if("string"==typeof a.message)return C(a.message);if("string"==typeof a.errorMessage)return C(a.errorMessage);if("string"==typeof a.detail)return C(a.detail);if("string"==typeof a.reason)return C(a.reason);if("string"==typeof a.description)return C(a.description);if("string"==typeof a.code&&a.code.trim())return a.code;try{let b=JSON.stringify(a);if("{}"!==b&&b.length<=500)return b;if(b.length>500)return`${b.slice(0,497)}...`}catch{}}}function C(a){let b=a.indexOf("{");if(b>=0)try{let c=JSON.parse(a.slice(b)),d=c?.error?.message??c?.message??c?.error;if("string"==typeof d)return d}catch{}return a}function D(a){if(!a)return;let b=a.replace(/\x1B\[[0-9;]*[A-Za-z]/g,""),c=b.match(/\{"error":\{[^}]*"message":"([^"]+)"[^}]*\}/);if(c?.[1])return c[1];let d=b.split("\n").filter(Boolean);for(let a of d){let b=a.trim();if(/\b(error|failed|fatal)\b/i.test(b)){let a=b.replace(/^\[.*?\]\s*/,"").replace(/^Error:\s*/i,"");if(a.length>5)return a}}let e=d[d.length-1]?.trim();if(e&&e.length<=300)return e}d()}catch(a){d(a)}})}};
@@ -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.4",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.6",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 +1 @@
1
- exports.id=8137,exports.ids=[8137],exports.modules={9962:()=>{},44388:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>o,XF:()=>n,hv:()=>m,rR:()=>function a(b){return{...b,rules:b.rules.map(b=>e(b)?a(b):f.has(b.operator)&&Array.isArray(b.value)&&b.value.length>=2&&null==b.valueTo?{...b,value:b.value[0],valueTo:b.value[1]}:b)}}});let d=[{value:"is_empty",label:"is empty"},{value:"is_not_empty",label:"is not empty"}];function e(a){return"conjunction"in a&&"rules"in a}[...d],[...d],[...d],[...d],[...d],[...d],[...d];let f=new Set(["date_between","between"]);function g(a){return null==a?"":"string"==typeof a?a:"object"==typeof a?JSON.stringify(a):"symbol"==typeof a||"function"==typeof a?"":String(a)}function h(a){if(null==a)return null;let b=Number(a);return Number.isNaN(b)?null:b}function i(a,b,c){let d=new Date,e="past"===c?-1:1;switch(b){case"days":d.setDate(d.getDate()+e*a);break;case"weeks":d.setDate(d.getDate()+e*a*7);break;case"months":d.setMonth(d.getMonth()+e*a)}return d}function j(a){return a.toISOString().slice(0,10)}function k(a){return a.replace(/'/g,"''")}function l(a){if(!/^[\w\s-]+$/.test(a))throw Error(`Invalid field name: ${a}`);return`"${a.replace(/"/g,'""')}"`}function m(a,b){return a&&0!==a.rules.length?function a(b,c){let d=[];for(let f of b.rules){let b=e(f)?a(f,c):function(a,b){if(!b.find(b=>b.name===a.field))return null;let c=l(a.field),d=a.operator;if("is_empty"===d)return`(${c} IS NULL OR CAST(${c} AS VARCHAR) = '' OR CAST(${c} AS VARCHAR) = '[]')`;if("is_not_empty"===d)return`(${c} IS NOT NULL AND CAST(${c} AS VARCHAR) != '' AND CAST(${c} AS VARCHAR) != '[]')`;if("is_true"===d)return`(LOWER(CAST(${c} AS VARCHAR)) IN ('true', '1', 'yes'))`;if("is_false"===d)return`(LOWER(CAST(${c} AS VARCHAR)) IN ('false', '0', 'no', ''))`;if("contains"===d)return`(LOWER(CAST(${c} AS VARCHAR)) LIKE '%${k(g(a.value).toLowerCase())}%')`;if("not_contains"===d)return`(LOWER(CAST(${c} AS VARCHAR)) NOT LIKE '%${k(g(a.value).toLowerCase())}%')`;if("equals"===d)return`(LOWER(CAST(${c} AS VARCHAR)) = '${k(g(a.value).toLowerCase())}')`;if("not_equals"===d)return`(LOWER(CAST(${c} AS VARCHAR)) != '${k(g(a.value).toLowerCase())}')`;if("starts_with"===d)return`(LOWER(CAST(${c} AS VARCHAR)) LIKE '${k(g(a.value).toLowerCase())}%')`;if("ends_with"===d)return`(LOWER(CAST(${c} AS VARCHAR)) LIKE '%${k(g(a.value).toLowerCase())}')`;let e=h(a.value);if("eq"===d&&null!=e)return`(CAST(${c} AS DOUBLE) = ${e})`;if("neq"===d&&null!=e)return`(CAST(${c} AS DOUBLE) != ${e})`;if("gt"===d&&null!=e)return`(CAST(${c} AS DOUBLE) > ${e})`;if("gte"===d&&null!=e)return`(CAST(${c} AS DOUBLE) >= ${e})`;if("lt"===d&&null!=e)return`(CAST(${c} AS DOUBLE) < ${e})`;if("lte"===d&&null!=e)return`(CAST(${c} AS DOUBLE) <= ${e})`;if("between"===d){let b=Array.isArray(a.value)?a.value:null,d=h(b?b[0]:a.value),e=h(b?b[1]:a.valueTo);if(null!=d&&null!=e)return`(CAST(${c} AS DOUBLE) BETWEEN ${d} AND ${e})`}if("on"===d){let b="today"===a.value?j(new Date):g(a.value);return`(CAST(${c} AS VARCHAR) LIKE '${k(b)}%')`}if("before"===d){let b="today"===a.value?j(new Date):g(a.value);return`(CAST(${c} AS DATE) < '${k(b)}')`}if("after"===d){let b="today"===a.value?j(new Date):g(a.value);return`(CAST(${c} AS DATE) > '${k(b)}')`}if("date_between"===d){let b=Array.isArray(a.value)?a.value:null,d=g(b?b[0]:a.value),e=g(b?b[1]:a.valueTo);return`(CAST(${c} AS DATE) BETWEEN '${k(d)}' AND '${k(e)}')`}if("relative_past"===d){let b=j(i(a.relativeAmount??7,a.relativeUnit??"days","past")),d=j(new Date);return`(CAST(${c} AS DATE) BETWEEN '${k(b)}' AND '${k(d)}')`}if("relative_next"===d){let b=j(i(a.relativeAmount??7,a.relativeUnit??"days","next")),d=j(new Date);return`(CAST(${c} AS DATE) BETWEEN '${k(d)}' AND '${k(b)}')`}if("is"===d)return`(CAST(${c} AS VARCHAR) = '${k(g(a.value))}')`;if("is_not"===d)return`(CAST(${c} AS VARCHAR) != '${k(g(a.value))}')`;if("is_any_of"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`'${k(String(a))}'`).join(", ");return`(CAST(${c} AS VARCHAR) IN (${b}))`}if("is_none_of"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`'${k(String(a))}'`).join(", ");return`(CAST(${c} AS VARCHAR) NOT IN (${b}))`}if("has_any"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`CAST(${c} AS VARCHAR) LIKE '%${k(String(a))}%'`);return`(${b.join(" OR ")})`}if("has_none"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`CAST(${c} AS VARCHAR) NOT LIKE '%${k(String(a))}%'`);return`(${b.join(" AND ")})`}if("has_all"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`CAST(${c} AS VARCHAR) LIKE '%${k(String(a))}%'`);return`(${b.join(" AND ")})`}return null}(f,c);b&&d.push(b)}if(0===d.length)return null;let f="and"===b.conjunction?" AND ":" OR ";return`(${d.join(f)})`}(a,b):null}function n(a){return a&&0!==a.length?a.map(a=>`${l(a.field)} ${"desc"===a.direction?"DESC":"ASC"}`).join(", "):null}function o(a){try{return JSON.parse(atob(a))}catch{return null}}},49714:()=>{},93349:(a,b,c)=>{"use strict";let d;c.d(b,{b:()=>aa,Bk:()=>ab,Ih:()=>G,u4:()=>ai,eI:()=>aj,Jv:()=>ac,b2:()=>af,AI:()=>ae,hM:()=>an,LM:()=>ao,VM:()=>T,Ed:()=>U,pO:()=>V,fO:()=>ag,RO:()=>ah,O8:()=>D,IL:()=>W,up:()=>av,MM:()=>am,hR:()=>az,vP:()=>H,Dv:()=>ak,TN:()=>as,sL:()=>aB,TY:()=>J,Dr:()=>_,XL:()=>ad,FF:()=>aq,We:()=>F,GY:()=>$,$9:()=>Y,Yn:()=>Z,NI:()=>aA,Zr:()=>ar,$A:()=>aw,Co:()=>X,GC:()=>E});var e=c(73024),f=c(51455),g=c(31421),h=c(57975),i=c(76760),j=c(48161),k=c(22137),l=c(44388);function m(a){return a.startsWith("~/")}let n=(0,h.promisify)(g.exec);async function o(a){try{return await (0,f.access)(a),!0}catch{return!1}}let p="workspace-",q="workspace",r=/^[a-z0-9][a-z0-9_-]{0,63}$/i,s="default",t="main",u="chat-slot-",v=new Set([s,t]);function w(a){let b=a?.trim()||null;return b&&r.test(b)?b:null}function x(a){return a===q?s:a.startsWith(p)?w(a.slice(p.length)):null}function y(a){let b=F();if(a===s){let c=(0,i.join)(b,q);if((0,e.existsSync)(c))return c;let d=(0,i.join)(b,`${p}${a}`);return(0,e.existsSync)(d)?d:c}return(0,i.join)(b,`${p}${a}`)}function z(){return(0,i.join)(F(),".dench-ui-state.json")}function A(){try{let a=(0,e.readFileSync)(z(),"utf-8");return JSON.parse(a)}catch{return{}}}function B(a){if(!a)return null;let b=(0,i.resolve)(function(a){let b=a.trim();return b&&b.startsWith("~")?(0,i.join)((0,j.homedir)(),b.slice(1)):b}(a)),c=(0,i.resolve)(F()),d=(0,i.relative)(c,b);if(!d||d.startsWith(".."))return null;let e=d.split(/[\\/]/)[0];return e?x(e):null}function C(a){try{let b=(0,e.readdirSync)(a,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>x(a.name)).filter(a=>!!a);return[...new Set(b)].toSorted((a,b)=>a.localeCompare(b))}catch{return[]}}function D(){let a=C(F()),b=b=>!!(b&&a.includes(b)),c=B(process.env.OPENCLAW_WORKSPACE?.trim());if(b(c))return c;if(null===d)return null;if(b(d))return d;let e=w(A().activeWorkspace);return b(e)?e:a[0]??null}function E(a){let b=w(a);d=b;var c={...A(),activeWorkspace:b};let f=z(),g=(0,i.join)(f,"..");(0,e.existsSync)(g)||(0,e.mkdirSync)(g,{recursive:!0}),(0,e.writeFileSync)(f,JSON.stringify(c,null,2)+"\n")}function F(){return(0,i.join)(process.env.OPENCLAW_HOME?.trim()||(0,j.homedir)(),".openclaw-dench")}function G(){let a=F(),b=D(),c=[];for(let d of C(a)){let f=y(d);c.push({name:d,stateDir:a,workspaceDir:(0,e.existsSync)(f)?f:null,isActive:b===d,hasConfig:(0,e.existsSync)((0,i.join)(a,"openclaw.json"))})}return c.sort((a,b)=>a.name.localeCompare(b.name)),!c.some(a=>a.isActive)&&c.length>0&&(c[0]={...c[0],isActive:!0}),c}function H(a){let b=w(a);return null!==b&&!function(a){let b=a.toLowerCase();return v.has(b)||b.startsWith(u)}(b)}function I(a){return a===s?t:a}function J(){return I(D()??s)}function K(){return(0,i.join)(F(),"openclaw.json")}function L(){let a=K();if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf-8"));if(b&&"object"==typeof b&&!Array.isArray(b))return b;return{}}catch{return{}}}function M(a){let b=K(),c=(0,i.join)(b,"..");(0,e.existsSync)(c)||(0,e.mkdirSync)(c,{recursive:!0}),(0,e.writeFileSync)(b,JSON.stringify(a,null,2)+"\n","utf-8")}function N(a){a.agents||(a.agents={})}function O(a,b,c){return b===s&&(N(a),a.agents.defaults||(a.agents.defaults={}),a.agents.defaults.workspace!==c&&(a.agents.defaults.workspace=c,!0))}function P(a){if(N(a),!Array.isArray(a.agents.list)){a.agents.list=[];let b=a.agents.defaults?.workspace;b&&a.agents.list.push({id:t,workspace:b})}return a.agents.list}function Q(a,b,c){let d=a.find(a=>a.id===b);return d?d.workspace!==c&&(d.workspace=c,!0):(a.push({id:b,workspace:c}),!0)}function R(a,b){let c=!1;for(let d of a){if(d.id===b){!0!==d.default&&(d.default=!0,c=!0);continue}"default"in d&&(delete d.default,c=!0)}return c}function S(a,b,c,d){let e=!1;for(let f=1;f<=d;f++)e=Q(a,`${u}${b}-${f}`,c)||e;return e}function T(a,b,c){let d=w(a);if(!d)throw Error("Invalid workspace name.");let e=L(),f=O(e,d,b),g=P(e),h=I(d);f=Q(g,h,b)||f,(c?.markDefault??!0)&&(f=R(g,h)||f),f&&M(e)}function U(a,b,c=5){let d=w(a);if(!d)throw Error("Invalid workspace name.");let e=L(),f=O(e,d,b);(f=S(P(e),I(d),b,c)||f)&&M(e)}function V(a,b,c){let d=w(a);if(!d)throw Error("Invalid workspace name.");let e=L(),f=O(e,d,b),g=P(e),h=I(d);f=Q(g,h,b)||f,f=S(g,h,b,c?.poolSize??5)||f,c?.markDefault&&(f=R(g,h)||f),f&&M(e)}function W(a){let b=L(),c=b.agents?.list;if(!Array.isArray(c))return[];let d=I(a??D()??s),e=`${u}${d}-`;return c.filter(a=>a.id.startsWith(e)).map(a=>a.id)}function X(a){let b=L(),c=b.agents?.list;if(!Array.isArray(c)||0===c.length)return;let d=I(a);if(c.find(a=>a.id===d)){for(let a of c)a.id===d?a.default=!0:delete a.default;M(b)}}function Y(a){let b=w(a);if(!b)throw Error("Invalid workspace name.");return y(b)}function Z(){let a=B(process.env.OPENCLAW_WORKSPACE?.trim());if(a){let b=y(a);if((0,e.existsSync)(b))return b}let b=D();if(b){let a=y(b);if((0,e.existsSync)(a))return a}let c=G();return c.find(a=>a.isActive)?.workspaceDir??null}function $(){let a=Z();if(a)return(0,i.join)(a,".openclaw","web-chat");let b=D();return b?(0,i.join)(y(b),".openclaw","web-chat"):(0,i.join)(y(s),".openclaw","web-chat")}function _(){let a=Z();if(!a)return null;if(a.startsWith("/")){let b=process.cwd(),c=b.endsWith((0,i.join)("apps","web"))?(0,i.resolve)(b,"..",".."):b,d=(0,i.relative)(c,a);return d.startsWith("..")?a:d||a}return a}function aa(a){let b=a??Z();if(!b)return[];let c=[];return!function a(b,d){let f=(0,i.join)(b,"workspace.duckdb");(0,e.existsSync)(f)&&c.push({path:f,depth:d});try{for(let c of(0,e.readdirSync)(b,{withFileTypes:!0}))!c.isDirectory()||c.name.startsWith(".")||"tmp"!==c.name&&"exports"!==c.name&&"node_modules"!==c.name&&a((0,i.join)(b,c.name),d+1)}catch{}}(b,0),c.sort((a,b)=>a.depth-b.depth),c.map(a=>a.path)}async function ab(a){let b=a??Z();if(!b)return[];let c=[];async function d(a,b){let e=(0,i.join)(a,"workspace.duckdb");await o(e)&&c.push({path:e,depth:b});try{for(let c of(await (0,f.readdir)(a,{withFileTypes:!0})))!c.isDirectory()||c.name.startsWith(".")||"tmp"!==c.name&&"exports"!==c.name&&"node_modules"!==c.name&&await d((0,i.join)(a,c.name),b+1)}catch{}}return await d(b,0),c.sort((a,b)=>a.depth-b.depth),c.map(a=>a.path)}async function ac(){let a=Z();if(!a)return null;let b=(0,i.join)(a,"workspace.duckdb");if(await o(b))return b;let c=await ab(a);return c.length>0?c[0]:null}function ad(){let a=(0,j.homedir)();for(let b of[(0,i.join)(a,".duckdb","cli","latest","duckdb"),(0,i.join)(a,".local","bin","duckdb"),"/opt/homebrew/bin/duckdb","/usr/local/bin/duckdb","/usr/bin/duckdb"])if((0,e.existsSync)(b))return b;try{return(0,g.execSync)("which duckdb",{encoding:"utf-8",timeout:2e3}),"duckdb"}catch{return null}}async function ae(a){let b=await ac();if(!b)return[];let c=ad();if(!c)return[];try{let d=a.replace(/'/g,"'\\''"),{stdout:e}=await n(`'${c}' -json '${b}' '${d}'`,{encoding:"utf-8",timeout:1e4,maxBuffer:0xa00000,shell:"/bin/sh"}),f=e.trim();if(!f||"[]"===f)return[];return JSON.parse(f)}catch{return[]}}async function af(a,b){let c=await ab();if(0===c.length)return[];let d=ad();if(!d)return[];let e=new Set,f=[];for(let g of c)try{let c=a.replace(/'/g,"'\\''"),{stdout:h}=await n(`'${d}' -json '${g}' '${c}'`,{encoding:"utf-8",timeout:1e4,maxBuffer:0xa00000,shell:"/bin/sh"}),i=h.trim();if(!i||"[]"===i)continue;for(let a of JSON.parse(i)){if(b){let c=a[b];if(e.has(c))continue;e.add(c)}f.push(a)}}catch{}return f}function ag(a){let b=aa();if(0===b.length)return null;let c=ad();if(!c)return null;let d=`SELECT id FROM objects WHERE name = '${a.replace(/'/g,"''")}' LIMIT 1`.replace(/'/g,"'\\''");for(let a of b)try{let b=(0,g.execSync)(`'${c}' -json '${a}' '${d}'`,{encoding:"utf-8",timeout:5e3,maxBuffer:1048576,shell:"/bin/sh"}).trim();if(b&&"[]"!==b)return a}catch{}return null}async function ah(a){let b=await ab();if(0===b.length)return null;let c=ad();if(!c)return null;let d=`SELECT id FROM objects WHERE name = '${a.replace(/'/g,"''")}' LIMIT 1`.replace(/'/g,"'\\''");for(let a of b)try{let{stdout:b}=await n(`'${c}' -json '${a}' '${d}'`,{encoding:"utf-8",timeout:5e3,maxBuffer:1048576,shell:"/bin/sh"}),e=b.trim();if(e&&"[]"!==e)return a}catch{}return null}function ai(a,b){let c=ad();if(!c)return!1;try{let d=b.replace(/'/g,"'\\''");return(0,g.execSync)(`'${c}' '${a}' '${d}'`,{encoding:"utf-8",timeout:1e4,shell:"/bin/sh"}),!0}catch{return!1}}async function aj(a,b){let c=ad();if(!c)return!1;try{let d=b.replace(/'/g,"'\\''");return await n(`'${c}' '${a}' '${d}'`,{encoding:"utf-8",timeout:1e4,shell:"/bin/sh"}),!0}catch{return!1}}function ak(a){if(!a)return[];let b=a.trim();if(!b)return[];if(b.startsWith("["))try{let a=JSON.parse(b);if(Array.isArray(a))return a.map(String).filter(Boolean)}catch{}return[b]}let al=new Set(["duckdb","sqlite","sqlite3","db","postgres"]);function am(a){let b=a.split(".").pop()?.toLowerCase();return!!b&&al.has(b)}function an(a,b){let c=ad();if(!c)return[];try{let d=b.replace(/'/g,"'\\''"),e=(0,g.execSync)(`'${c}' -json '${a}' '${d}'`,{encoding:"utf-8",timeout:15e3,maxBuffer:0xa00000,shell:"/bin/sh"}).trim();if(!e||"[]"===e)return[];return JSON.parse(e)}catch{return[]}}async function ao(a,b){let c=ad();if(!c)return[];try{let d=b.replace(/'/g,"'\\''"),{stdout:e}=await n(`'${c}' -json '${a}' '${d}'`,{encoding:"utf-8",timeout:15e3,maxBuffer:0xa00000,shell:"/bin/sh"}),f=e.trim();if(!f||"[]"===f)return[];return JSON.parse(f)}catch{return[]}}function ap(a,b){let c=(0,i.relative)((0,i.resolve)(a),(0,i.resolve)(b));return""===c||!c.startsWith("..")&&!(0,i.isAbsolute)(c)}function aq(a,b={}){let c,d=function(a){return a.startsWith("~")&&!m(a)?"virtual":m(a)?"homeRelative":a.startsWith("/")?"absolute":"workspaceRelative"}(a);if("virtual"===d)return null;let f=Z();if("workspaceRelative"===d){if(!f||(c=(0,i.resolve)(f,(0,i.normalize)(a)),!ap(f,c)))return null}else if("homeRelative"===d)c=(0,i.resolve)((0,i.normalize)(m(a)?(0,i.join)((0,j.homedir)(),a.slice(2)):a));else c=(0,i.resolve)((0,i.normalize)(a));if(!b.allowMissing&&!(0,e.existsSync)(c))return null;let g=!!f&&ap(f,c),h=g&&f?(0,i.relative)((0,i.resolve)(f),c).replace(/\\/g,"/"):null;return{absolutePath:c,kind:d,withinWorkspace:g,workspaceRelativePath:h}}function ar(a){let b=aq(a);return b&&"workspaceRelative"===b.kind?b.absolutePath:null}function as(a){let b={},c=a.split("\n"),d=null;for(let a of c){if(a.trim().startsWith("#")||!a.trim())continue;let c=a.match(/^(\w[\w_-]*)\s*:\s*(.*)/);if(c){d=null;let a=c[1],e=c[2].trim();if(""===e){d=a,b[a]=[];continue}"string"==typeof e&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=e.slice(1,-1)),"true"===e?e=!0:"false"===e?e=!1:"null"===e?e=null:"string"==typeof e&&/^-?\d+(\.\d+)?$/.test(e)&&(e=Number(e)),b[a]=e;continue}if(d){let c=a.match(/^\s+-\s+(.*)/);if(c){let a=c[1].trim();"string"==typeof a&&(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),b[d].push(a)}else d=null}}return b}function at(a){try{let b=k.parse(a);if(!b||"object"!=typeof b)return{};return b}catch{return as(a)}}function au(a){let b=Z();if(!b)return null;let c=(0,i.join)(b,a);if((0,e.existsSync)(c)&&(0,e.existsSync)((0,i.join)(c,".object.yaml")))return c;let d=new Set(["node_modules",".git",".next","tmp","exports"]);return function b(c,f){if(f>4)return null;try{for(let g of(0,e.readdirSync)(c,{withFileTypes:!0})){if(!g.isDirectory()||g.name.startsWith(".")||d.has(g.name))continue;let h=(0,i.join)(c,g.name);if(g.name===a&&(0,e.existsSync)((0,i.join)(h,".object.yaml")))return h;let j=b(h,f+1);if(j)return j}}catch{}return null}(b,1)}function av(a){let b=au(a);if(!b)return{views:[],activeView:void 0,viewSettings:void 0};let c=function(a){let b=(0,i.join)(a,".object.yaml");return(0,e.existsSync)(b)?at((0,e.readFileSync)(b,"utf-8")):null}(b);return c?{views:(c.views??[]).map(a=>({...a,filters:a.filters?(0,l.rR)(a.filters):void 0})),activeView:c.active_view,viewSettings:c.view_settings}:{views:[],activeView:void 0,viewSettings:void 0}}function aw(a,b,c,d){let f=au(a);if(!f)return!1;let g={views:b.length>0?b:void 0,active_view:c};d&&(g.view_settings=d);let h=(0,i.join)(f,".object.yaml"),j={};if((0,e.existsSync)(h))try{j=at((0,e.readFileSync)(h,"utf-8"))}catch{j={}}let l={...j,...g};for(let a of Object.keys(l))void 0===l[a]&&delete l[a];let m=k.stringify(l,{indent:2,lineWidth:0});return(0,e.writeFileSync)(h,m,"utf-8"),!0}let ax=[/^\.object\.yaml$/,/\.wal$/,/\.tmp$/],ay=[/^workspace\.duckdb/,/^workspace_context\.yaml$/];function az(a){if(!a?.withinWorkspace||null==a.workspaceRelativePath)return!1;var b=a.workspaceRelativePath;let c=b.split("/").pop()??"";return!!ax.some(a=>a.test(c))||!b.includes("/")&&ay.some(a=>a.test(c))}function aA(a){let b=aq(a,{allowMissing:!0});return b&&"workspaceRelative"===b.kind?b.absolutePath:null}function aB(a){let b=ar(a);if(!b)return null;try{let c=(0,e.readFileSync)(b,"utf-8"),d=a.split(".").pop()?.toLowerCase(),f="text";return"md"===d||"mdx"===d?f="markdown":("yaml"===d||"yml"===d)&&(f="yaml"),{content:c,type:f}}catch{return null}}}};
1
+ exports.id=8137,exports.ids=[8137],exports.modules={9962:()=>{},44388:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>o,XF:()=>n,hv:()=>m,rR:()=>function a(b){return{...b,rules:b.rules.map(b=>e(b)?a(b):f.has(b.operator)&&Array.isArray(b.value)&&b.value.length>=2&&null==b.valueTo?{...b,value:b.value[0],valueTo:b.value[1]}:b)}}});let d=[{value:"is_empty",label:"is empty"},{value:"is_not_empty",label:"is not empty"}];function e(a){return"conjunction"in a&&"rules"in a}[...d],[...d],[...d],[...d],[...d],[...d],[...d];let f=new Set(["date_between","between"]);function g(a){return null==a?"":"string"==typeof a?a:"object"==typeof a?JSON.stringify(a):"symbol"==typeof a||"function"==typeof a?"":String(a)}function h(a){if(null==a)return null;let b=Number(a);return Number.isNaN(b)?null:b}function i(a,b,c){let d=new Date,e="past"===c?-1:1;switch(b){case"days":d.setDate(d.getDate()+e*a);break;case"weeks":d.setDate(d.getDate()+e*a*7);break;case"months":d.setMonth(d.getMonth()+e*a)}return d}function j(a){return a.toISOString().slice(0,10)}function k(a){return a.replace(/'/g,"''")}function l(a){if(!/^[\w\s-]+$/.test(a))throw Error(`Invalid field name: ${a}`);return`"${a.replace(/"/g,'""')}"`}function m(a,b){return a&&0!==a.rules.length?function a(b,c){let d=[];for(let f of b.rules){let b=e(f)?a(f,c):function(a,b){if(!b.find(b=>b.name===a.field))return null;let c=l(a.field),d=a.operator;if("is_empty"===d)return`(${c} IS NULL OR CAST(${c} AS VARCHAR) = '' OR CAST(${c} AS VARCHAR) = '[]')`;if("is_not_empty"===d)return`(${c} IS NOT NULL AND CAST(${c} AS VARCHAR) != '' AND CAST(${c} AS VARCHAR) != '[]')`;if("is_true"===d)return`(LOWER(CAST(${c} AS VARCHAR)) IN ('true', '1', 'yes'))`;if("is_false"===d)return`(LOWER(CAST(${c} AS VARCHAR)) IN ('false', '0', 'no', ''))`;if("contains"===d)return`(LOWER(CAST(${c} AS VARCHAR)) LIKE '%${k(g(a.value).toLowerCase())}%')`;if("not_contains"===d)return`(LOWER(CAST(${c} AS VARCHAR)) NOT LIKE '%${k(g(a.value).toLowerCase())}%')`;if("equals"===d)return`(LOWER(CAST(${c} AS VARCHAR)) = '${k(g(a.value).toLowerCase())}')`;if("not_equals"===d)return`(LOWER(CAST(${c} AS VARCHAR)) != '${k(g(a.value).toLowerCase())}')`;if("starts_with"===d)return`(LOWER(CAST(${c} AS VARCHAR)) LIKE '${k(g(a.value).toLowerCase())}%')`;if("ends_with"===d)return`(LOWER(CAST(${c} AS VARCHAR)) LIKE '%${k(g(a.value).toLowerCase())}')`;let e=h(a.value);if("eq"===d&&null!=e)return`(CAST(${c} AS DOUBLE) = ${e})`;if("neq"===d&&null!=e)return`(CAST(${c} AS DOUBLE) != ${e})`;if("gt"===d&&null!=e)return`(CAST(${c} AS DOUBLE) > ${e})`;if("gte"===d&&null!=e)return`(CAST(${c} AS DOUBLE) >= ${e})`;if("lt"===d&&null!=e)return`(CAST(${c} AS DOUBLE) < ${e})`;if("lte"===d&&null!=e)return`(CAST(${c} AS DOUBLE) <= ${e})`;if("between"===d){let b=Array.isArray(a.value)?a.value:null,d=h(b?b[0]:a.value),e=h(b?b[1]:a.valueTo);if(null!=d&&null!=e)return`(CAST(${c} AS DOUBLE) BETWEEN ${d} AND ${e})`}if("on"===d){let b="today"===a.value?j(new Date):g(a.value);return`(CAST(${c} AS VARCHAR) LIKE '${k(b)}%')`}if("before"===d){let b="today"===a.value?j(new Date):g(a.value);return`(CAST(${c} AS DATE) < '${k(b)}')`}if("after"===d){let b="today"===a.value?j(new Date):g(a.value);return`(CAST(${c} AS DATE) > '${k(b)}')`}if("date_between"===d){let b=Array.isArray(a.value)?a.value:null,d=g(b?b[0]:a.value),e=g(b?b[1]:a.valueTo);return`(CAST(${c} AS DATE) BETWEEN '${k(d)}' AND '${k(e)}')`}if("relative_past"===d){let b=j(i(a.relativeAmount??7,a.relativeUnit??"days","past")),d=j(new Date);return`(CAST(${c} AS DATE) BETWEEN '${k(b)}' AND '${k(d)}')`}if("relative_next"===d){let b=j(i(a.relativeAmount??7,a.relativeUnit??"days","next")),d=j(new Date);return`(CAST(${c} AS DATE) BETWEEN '${k(d)}' AND '${k(b)}')`}if("is"===d)return`(CAST(${c} AS VARCHAR) = '${k(g(a.value))}')`;if("is_not"===d)return`(CAST(${c} AS VARCHAR) != '${k(g(a.value))}')`;if("is_any_of"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`'${k(String(a))}'`).join(", ");return`(CAST(${c} AS VARCHAR) IN (${b}))`}if("is_none_of"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`'${k(String(a))}'`).join(", ");return`(CAST(${c} AS VARCHAR) NOT IN (${b}))`}if("has_any"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`CAST(${c} AS VARCHAR) LIKE '%${k(String(a))}%'`);return`(${b.join(" OR ")})`}if("has_none"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`CAST(${c} AS VARCHAR) NOT LIKE '%${k(String(a))}%'`);return`(${b.join(" AND ")})`}if("has_all"===d){let b=(Array.isArray(a.value)?a.value:[g(a.value)]).map(a=>`CAST(${c} AS VARCHAR) LIKE '%${k(String(a))}%'`);return`(${b.join(" AND ")})`}return null}(f,c);b&&d.push(b)}if(0===d.length)return null;let f="and"===b.conjunction?" AND ":" OR ";return`(${d.join(f)})`}(a,b):null}function n(a){return a&&0!==a.length?a.map(a=>`${l(a.field)} ${"desc"===a.direction?"DESC":"ASC"}`).join(", "):null}function o(a){try{return JSON.parse(atob(a))}catch{return null}}},49714:()=>{},93349:(a,b,c)=>{"use strict";let d;c.d(b,{b:()=>U,Bk:()=>V,Ih:()=>G,u4:()=>aa,eI:()=>ab,Jv:()=>W,b2:()=>Z,AI:()=>Y,hM:()=>af,LM:()=>ag,VM:()=>O,fO:()=>$,RO:()=>_,O8:()=>D,up:()=>an,MM:()=>ae,hR:()=>ar,vP:()=>H,Dv:()=>ac,TN:()=>ak,sL:()=>at,TY:()=>J,Dr:()=>T,XL:()=>X,FF:()=>ai,We:()=>F,GY:()=>S,$9:()=>Q,Yn:()=>R,NI:()=>as,Zr:()=>aj,$A:()=>ao,Co:()=>P,GC:()=>E});var e=c(73024),f=c(51455),g=c(31421),h=c(57975),i=c(76760),j=c(48161),k=c(22137),l=c(44388);function m(a){return a.startsWith("~/")}let n=(0,h.promisify)(g.exec);async function o(a){try{return await (0,f.access)(a),!0}catch{return!1}}let p="workspace-",q="workspace",r=/^[a-z0-9][a-z0-9_-]{0,63}$/i,s="default",t="main",u="chat-slot-",v=new Set([s,t]);function w(a){let b=a?.trim()||null;return b&&r.test(b)?b:null}function x(a){return a===q?s:a.startsWith(p)?w(a.slice(p.length)):null}function y(a){let b=F();if(a===s){let c=(0,i.join)(b,q);if((0,e.existsSync)(c))return c;let d=(0,i.join)(b,`${p}${a}`);return(0,e.existsSync)(d)?d:c}return(0,i.join)(b,`${p}${a}`)}function z(){return(0,i.join)(F(),".dench-ui-state.json")}function A(){try{let a=(0,e.readFileSync)(z(),"utf-8");return JSON.parse(a)}catch{return{}}}function B(a){if(!a)return null;let b=(0,i.resolve)(function(a){let b=a.trim();return b&&b.startsWith("~")?(0,i.join)((0,j.homedir)(),b.slice(1)):b}(a)),c=(0,i.resolve)(F()),d=(0,i.relative)(c,b);if(!d||d.startsWith(".."))return null;let e=d.split(/[\\/]/)[0];return e?x(e):null}function C(a){try{let b=(0,e.readdirSync)(a,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>x(a.name)).filter(a=>!!(a&&!function(a){let b=a.toLowerCase();return b===t||b.startsWith(u)}(a)));return[...new Set(b)].toSorted((a,b)=>a.localeCompare(b))}catch{return[]}}function D(){let a=C(F()),b=b=>!!(b&&a.includes(b)),c=B(process.env.OPENCLAW_WORKSPACE?.trim());if(b(c))return c;if(null===d)return null;if(b(d))return d;let e=w(A().activeWorkspace);return b(e)?e:a[0]??null}function E(a){let b=w(a);d=b;var c={...A(),activeWorkspace:b};let f=z(),g=(0,i.join)(f,"..");(0,e.existsSync)(g)||(0,e.mkdirSync)(g,{recursive:!0}),(0,e.writeFileSync)(f,JSON.stringify(c,null,2)+"\n")}function F(){return(0,i.join)(process.env.OPENCLAW_HOME?.trim()||(0,j.homedir)(),".openclaw-dench")}function G(){let a=F(),b=D(),c=[];for(let d of C(a)){let f=y(d);c.push({name:d,stateDir:a,workspaceDir:(0,e.existsSync)(f)?f:null,isActive:b===d,hasConfig:(0,e.existsSync)((0,i.join)(a,"openclaw.json"))})}return c.sort((a,b)=>a.name.localeCompare(b.name)),!c.some(a=>a.isActive)&&c.length>0&&(c[0]={...c[0],isActive:!0}),c}function H(a){let b=w(a);return null!==b&&!function(a){let b=a.toLowerCase();return v.has(b)||b.startsWith(u)}(b)}function I(a){return a===s?t:a}function J(){return I(D()??s)}function K(){return(0,i.join)(F(),"openclaw.json")}function L(){let a=K();if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf-8"));if(b&&"object"==typeof b&&!Array.isArray(b))return b;return{}}catch{return{}}}function M(a){let b=K(),c=(0,i.join)(b,"..");(0,e.existsSync)(c)||(0,e.mkdirSync)(c,{recursive:!0}),(0,e.writeFileSync)(b,JSON.stringify(a,null,2)+"\n","utf-8")}function N(a){a.agents||(a.agents={})}function O(a,b,c){let d=w(a);if(!d)throw Error("Invalid workspace name.");let e=L(),f=d===s&&(N(e),e.agents.defaults||(e.agents.defaults={}),e.agents.defaults.workspace!==b&&(e.agents.defaults.workspace=b,!0)),g=function(a){if(N(a),!Array.isArray(a.agents.list)){a.agents.list=[];let b=a.agents.defaults?.workspace;b&&a.agents.list.push({id:t,workspace:b})}return a.agents.list}(e),h=I(d);f=function(a,b){let c=a.filter(a=>!a.id.startsWith(u));return c.length!==a.length&&(a.length=0,a.push(...c),!0)}(g)||f,f=function(a,b,c){let d=a.find(a=>a.id===b);return d?d.workspace!==c&&(d.workspace=c,!0):(a.push({id:b,workspace:c}),!0)}(g,h,b)||f,(c?.markDefault??!0)&&(f=function(a,b){let c=!1;for(let d of a){if(d.id===b){!0!==d.default&&(d.default=!0,c=!0);continue}"default"in d&&(delete d.default,c=!0)}return c}(g,h)||f),f&&M(e)}function P(a){let b=L(),c=b.agents?.list;if(!Array.isArray(c)||0===c.length)return;let d=I(a);if(c.find(a=>a.id===d)){for(let a of c)a.id===d?a.default=!0:delete a.default;M(b)}}function Q(a){let b=w(a);if(!b)throw Error("Invalid workspace name.");return y(b)}function R(){let a=B(process.env.OPENCLAW_WORKSPACE?.trim());if(a){let b=y(a);if((0,e.existsSync)(b))return b}let b=D();if(b){let a=y(b);if((0,e.existsSync)(a))return a}let c=G();return c.find(a=>a.isActive)?.workspaceDir??null}function S(){let a=R();if(a)return(0,i.join)(a,".openclaw","web-chat");let b=D();return b?(0,i.join)(y(b),".openclaw","web-chat"):(0,i.join)(y(s),".openclaw","web-chat")}function T(){let a=R();if(!a)return null;if(a.startsWith("/")){let b=process.cwd(),c=b.endsWith((0,i.join)("apps","web"))?(0,i.resolve)(b,"..",".."):b,d=(0,i.relative)(c,a);return d.startsWith("..")?a:d||a}return a}function U(a){let b=a??R();if(!b)return[];let c=[];return!function a(b,d){let f=(0,i.join)(b,"workspace.duckdb");(0,e.existsSync)(f)&&c.push({path:f,depth:d});try{for(let c of(0,e.readdirSync)(b,{withFileTypes:!0}))!c.isDirectory()||c.name.startsWith(".")||"tmp"!==c.name&&"exports"!==c.name&&"node_modules"!==c.name&&a((0,i.join)(b,c.name),d+1)}catch{}}(b,0),c.sort((a,b)=>a.depth-b.depth),c.map(a=>a.path)}async function V(a){let b=a??R();if(!b)return[];let c=[];async function d(a,b){let e=(0,i.join)(a,"workspace.duckdb");await o(e)&&c.push({path:e,depth:b});try{for(let c of(await (0,f.readdir)(a,{withFileTypes:!0})))!c.isDirectory()||c.name.startsWith(".")||"tmp"!==c.name&&"exports"!==c.name&&"node_modules"!==c.name&&await d((0,i.join)(a,c.name),b+1)}catch{}}return await d(b,0),c.sort((a,b)=>a.depth-b.depth),c.map(a=>a.path)}async function W(){let a=R();if(!a)return null;let b=(0,i.join)(a,"workspace.duckdb");if(await o(b))return b;let c=await V(a);return c.length>0?c[0]:null}function X(){let a=(0,j.homedir)();for(let b of[(0,i.join)(a,".duckdb","cli","latest","duckdb"),(0,i.join)(a,".local","bin","duckdb"),"/opt/homebrew/bin/duckdb","/usr/local/bin/duckdb","/usr/bin/duckdb"])if((0,e.existsSync)(b))return b;try{return(0,g.execSync)("which duckdb",{encoding:"utf-8",timeout:2e3}),"duckdb"}catch{return null}}async function Y(a){let b=await W();if(!b)return[];let c=X();if(!c)return[];try{let d=a.replace(/'/g,"'\\''"),{stdout:e}=await n(`'${c}' -json '${b}' '${d}'`,{encoding:"utf-8",timeout:1e4,maxBuffer:0xa00000,shell:"/bin/sh"}),f=e.trim();if(!f||"[]"===f)return[];return JSON.parse(f)}catch{return[]}}async function Z(a,b){let c=await V();if(0===c.length)return[];let d=X();if(!d)return[];let e=new Set,f=[];for(let g of c)try{let c=a.replace(/'/g,"'\\''"),{stdout:h}=await n(`'${d}' -json '${g}' '${c}'`,{encoding:"utf-8",timeout:1e4,maxBuffer:0xa00000,shell:"/bin/sh"}),i=h.trim();if(!i||"[]"===i)continue;for(let a of JSON.parse(i)){if(b){let c=a[b];if(e.has(c))continue;e.add(c)}f.push(a)}}catch{}return f}function $(a){let b=U();if(0===b.length)return null;let c=X();if(!c)return null;let d=`SELECT id FROM objects WHERE name = '${a.replace(/'/g,"''")}' LIMIT 1`.replace(/'/g,"'\\''");for(let a of b)try{let b=(0,g.execSync)(`'${c}' -json '${a}' '${d}'`,{encoding:"utf-8",timeout:5e3,maxBuffer:1048576,shell:"/bin/sh"}).trim();if(b&&"[]"!==b)return a}catch{}return null}async function _(a){let b=await V();if(0===b.length)return null;let c=X();if(!c)return null;let d=`SELECT id FROM objects WHERE name = '${a.replace(/'/g,"''")}' LIMIT 1`.replace(/'/g,"'\\''");for(let a of b)try{let{stdout:b}=await n(`'${c}' -json '${a}' '${d}'`,{encoding:"utf-8",timeout:5e3,maxBuffer:1048576,shell:"/bin/sh"}),e=b.trim();if(e&&"[]"!==e)return a}catch{}return null}function aa(a,b){let c=X();if(!c)return!1;try{let d=b.replace(/'/g,"'\\''");return(0,g.execSync)(`'${c}' '${a}' '${d}'`,{encoding:"utf-8",timeout:1e4,shell:"/bin/sh"}),!0}catch{return!1}}async function ab(a,b){let c=X();if(!c)return!1;try{let d=b.replace(/'/g,"'\\''");return await n(`'${c}' '${a}' '${d}'`,{encoding:"utf-8",timeout:1e4,shell:"/bin/sh"}),!0}catch{return!1}}function ac(a){if(!a)return[];let b=a.trim();if(!b)return[];if(b.startsWith("["))try{let a=JSON.parse(b);if(Array.isArray(a))return a.map(String).filter(Boolean)}catch{}return[b]}let ad=new Set(["duckdb","sqlite","sqlite3","db","postgres"]);function ae(a){let b=a.split(".").pop()?.toLowerCase();return!!b&&ad.has(b)}function af(a,b){let c=X();if(!c)return[];try{let d=b.replace(/'/g,"'\\''"),e=(0,g.execSync)(`'${c}' -json '${a}' '${d}'`,{encoding:"utf-8",timeout:15e3,maxBuffer:0xa00000,shell:"/bin/sh"}).trim();if(!e||"[]"===e)return[];return JSON.parse(e)}catch{return[]}}async function ag(a,b){let c=X();if(!c)return[];try{let d=b.replace(/'/g,"'\\''"),{stdout:e}=await n(`'${c}' -json '${a}' '${d}'`,{encoding:"utf-8",timeout:15e3,maxBuffer:0xa00000,shell:"/bin/sh"}),f=e.trim();if(!f||"[]"===f)return[];return JSON.parse(f)}catch{return[]}}function ah(a,b){let c=(0,i.relative)((0,i.resolve)(a),(0,i.resolve)(b));return""===c||!c.startsWith("..")&&!(0,i.isAbsolute)(c)}function ai(a,b={}){let c,d=function(a){return a.startsWith("~")&&!m(a)?"virtual":m(a)?"homeRelative":a.startsWith("/")?"absolute":"workspaceRelative"}(a);if("virtual"===d)return null;let f=R();if("workspaceRelative"===d){if(!f||(c=(0,i.resolve)(f,(0,i.normalize)(a)),!ah(f,c)))return null}else if("homeRelative"===d)c=(0,i.resolve)((0,i.normalize)(m(a)?(0,i.join)((0,j.homedir)(),a.slice(2)):a));else c=(0,i.resolve)((0,i.normalize)(a));if(!b.allowMissing&&!(0,e.existsSync)(c))return null;let g=!!f&&ah(f,c),h=g&&f?(0,i.relative)((0,i.resolve)(f),c).replace(/\\/g,"/"):null;return{absolutePath:c,kind:d,withinWorkspace:g,workspaceRelativePath:h}}function aj(a){let b=ai(a);return b&&"workspaceRelative"===b.kind?b.absolutePath:null}function ak(a){let b={},c=a.split("\n"),d=null;for(let a of c){if(a.trim().startsWith("#")||!a.trim())continue;let c=a.match(/^(\w[\w_-]*)\s*:\s*(.*)/);if(c){d=null;let a=c[1],e=c[2].trim();if(""===e){d=a,b[a]=[];continue}"string"==typeof e&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=e.slice(1,-1)),"true"===e?e=!0:"false"===e?e=!1:"null"===e?e=null:"string"==typeof e&&/^-?\d+(\.\d+)?$/.test(e)&&(e=Number(e)),b[a]=e;continue}if(d){let c=a.match(/^\s+-\s+(.*)/);if(c){let a=c[1].trim();"string"==typeof a&&(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),b[d].push(a)}else d=null}}return b}function al(a){try{let b=k.parse(a);if(!b||"object"!=typeof b)return{};return b}catch{return ak(a)}}function am(a){let b=R();if(!b)return null;let c=(0,i.join)(b,a);if((0,e.existsSync)(c)&&(0,e.existsSync)((0,i.join)(c,".object.yaml")))return c;let d=new Set(["node_modules",".git",".next","tmp","exports"]);return function b(c,f){if(f>4)return null;try{for(let g of(0,e.readdirSync)(c,{withFileTypes:!0})){if(!g.isDirectory()||g.name.startsWith(".")||d.has(g.name))continue;let h=(0,i.join)(c,g.name);if(g.name===a&&(0,e.existsSync)((0,i.join)(h,".object.yaml")))return h;let j=b(h,f+1);if(j)return j}}catch{}return null}(b,1)}function an(a){let b=am(a);if(!b)return{views:[],activeView:void 0,viewSettings:void 0};let c=function(a){let b=(0,i.join)(a,".object.yaml");return(0,e.existsSync)(b)?al((0,e.readFileSync)(b,"utf-8")):null}(b);return c?{views:(c.views??[]).map(a=>({...a,filters:a.filters?(0,l.rR)(a.filters):void 0})),activeView:c.active_view,viewSettings:c.view_settings}:{views:[],activeView:void 0,viewSettings:void 0}}function ao(a,b,c,d){let f=am(a);if(!f)return!1;let g={views:b.length>0?b:void 0,active_view:c};d&&(g.view_settings=d);let h=(0,i.join)(f,".object.yaml"),j={};if((0,e.existsSync)(h))try{j=al((0,e.readFileSync)(h,"utf-8"))}catch{j={}}let l={...j,...g};for(let a of Object.keys(l))void 0===l[a]&&delete l[a];let m=k.stringify(l,{indent:2,lineWidth:0});return(0,e.writeFileSync)(h,m,"utf-8"),!0}let ap=[/^\.object\.yaml$/,/\.wal$/,/\.tmp$/],aq=[/^workspace\.duckdb/,/^workspace_context\.yaml$/];function ar(a){if(!a?.withinWorkspace||null==a.workspaceRelativePath)return!1;var b=a.workspaceRelativePath;let c=b.split("/").pop()??"";return!!ap.some(a=>a.test(c))||!b.includes("/")&&aq.some(a=>a.test(c))}function as(a){let b=ai(a,{allowMissing:!0});return b&&"workspaceRelative"===b.kind?b.absolutePath:null}function at(a){let b=aj(a);if(!b)return null;try{let c=(0,e.readFileSync)(b,"utf-8"),d=a.split(".").pop()?.toLowerCase(),f="text";return"md"===d||"mdx"===d?f="markdown":("yaml"===d||"yml"===d)&&(f="yaml"),{content:c,type:f}}catch{return null}}}};
@@ -1,53 +1,53 @@
1
1
  {
2
2
  "version": 1,
3
3
  "functions": {
4
- "/api/chat/active": {},
5
- "/api/chat": {},
4
+ "/api/apps/serve/[...path]": {},
5
+ "/api/apps": {},
6
6
  "/api/chat/runs": {},
7
- "/api/chat/stream": {},
8
7
  "/api/chat/stop": {},
9
- "/api/apps": {},
10
- "/api/chat/subagents": {},
11
- "/api/apps/serve/[...path]": {},
8
+ "/api/chat": {},
9
+ "/api/chat/stream": {},
10
+ "/api/chat/active": {},
12
11
  "/api/feedback": {},
12
+ "/api/chat/subagents": {},
13
13
  "/api/profiles": {},
14
14
  "/api/profiles/switch": {},
15
- "/api/workspace/browse-file": {},
16
15
  "/api/workspace/assets/[...path]": {},
16
+ "/api/workspace/browse-file": {},
17
+ "/api/workspace/browse": {},
17
18
  "/api/workspace/copy": {},
19
+ "/api/workspace/context": {},
18
20
  "/api/workspace/db/introspect": {},
19
- "/api/workspace/browse": {},
20
21
  "/api/workspace/db/query": {},
21
22
  "/api/workspace/delete": {},
22
- "/api/workspace/context": {},
23
+ "/api/workspace/file": {},
24
+ "/api/workspace/init": {},
25
+ "/api/workspace/list": {},
23
26
  "/api/workspace/mkdir": {},
24
27
  "/api/workspace/move": {},
25
- "/api/workspace/init": {},
26
- "/api/workspace/file": {},
27
28
  "/api/workspace/objects/[name]/display-field": {},
28
29
  "/api/workspace/objects/[name]/entries/bulk-delete": {},
30
+ "/api/workspace/objects/[name]/fields/[fieldId]/enum-rename": {},
29
31
  "/api/workspace/objects/[name]/entries/options": {},
30
- "/api/workspace/objects/[name]/entries/[id]": {},
31
- "/api/workspace/objects/[name]/entries": {},
32
32
  "/api/workspace/objects/[name]/fields/[fieldId]": {},
33
+ "/api/workspace/objects/[name]/entries/[id]": {},
33
34
  "/api/workspace/objects/[name]/fields/reorder": {},
34
- "/api/workspace/objects/[name]/fields/[fieldId]/enum-rename": {},
35
35
  "/api/workspace/open-file": {},
36
- "/api/workspace/objects/[name]": {},
37
36
  "/api/workspace/path-info": {},
38
- "/api/workspace/list": {},
39
- "/api/workspace/rename": {},
37
+ "/api/workspace/objects/[name]": {},
40
38
  "/api/workspace/query": {},
41
- "/api/workspace/raw-file": {},
39
+ "/api/workspace/rename": {},
40
+ "/api/workspace/objects/[name]/entries": {},
42
41
  "/api/workspace/reports/execute": {},
42
+ "/api/workspace/raw-file": {},
43
43
  "/api/workspace/search-index": {},
44
- "/api/workspace/upload": {},
45
- "/api/workspace/thumbnail": {},
46
44
  "/api/workspace/suggest-files": {},
47
45
  "/api/workspace/switch": {},
48
- "/api/workspace/tree": {},
46
+ "/api/workspace/thumbnail": {},
47
+ "/api/workspace/upload": {},
49
48
  "/api/workspace/write-binary": {},
50
- "/api/workspace/virtual-file": {},
51
- "/api/workspace/watch": {}
49
+ "/api/workspace/watch": {},
50
+ "/api/workspace/tree": {},
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/2PT--7EGcUx5lQZabcJq1/_buildManifest.js" defer=""></script><script src="/_next/static/2PT--7EGcUx5lQZabcJq1/_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":"2PT--7EGcUx5lQZabcJq1","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/8JJPnGXX0UABv387IrLpB/_buildManifest.js" defer=""></script><script src="/_next/static/8JJPnGXX0UABv387IrLpB/_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":"8JJPnGXX0UABv387IrLpB","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -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.4",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.6",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()}]);