@vibe-lark/larkpal 0.1.87 → 0.1.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{account-id-BM1T6029-BzQ_cMoi.mjs → account-id-BM1T6029-BvcZ99G0.mjs} +1 -1
- package/dist/{activation-context--5yu1dPF-XV0Y0pTy.mjs → activation-context--5yu1dPF-DHM2x52-.mjs} +1 -1
- package/dist/{anthropic-CFZUCb1w.mjs → anthropic-gnoZ_QRy.mjs} +1 -1
- package/dist/{assistant-visible-text-DuFWokAt-BOJV_zwc.mjs → assistant-visible-text-DuFWokAt-GbRm46te.mjs} +1 -1
- package/dist/{azure-openai-responses-BEuiMaF-.mjs → azure-openai-responses-DbHzq7dt.mjs} +1 -1
- package/dist/{boundary-file-read-BSd9MXPy-gnNVhPKT.mjs → boundary-file-read-BSd9MXPy-Tpd4W7aA.mjs} +1 -1
- package/dist/{browser-lifecycle-cleanup-BdNsMhMD-BM97qA_M.mjs → browser-lifecycle-cleanup-BdNsMhMD-Bjf5GI3L.mjs} +1 -1
- package/dist/{bundled-compat-BpaDaAAu-DJtrIX6i.mjs → bundled-compat-BpaDaAAu-DElY7pj-.mjs} +1 -1
- package/dist/{bundled-dir-U738ay4K-BxbzrJOo.mjs → bundled-dir-U738ay4K-DxHVp4u1.mjs} +1 -1
- package/dist/{call-DimWbpgJ-B4pv55RH.mjs → call-DimWbpgJ-BnglLl-j.mjs} +1 -1
- package/dist/channel-bootstrap.runtime-BVclcGv1-BH-3XviM.mjs +1 -0
- package/dist/{channel-bootstrap.runtime-Cwcr38m2-Dt6QlQkX.mjs → channel-bootstrap.runtime-Cwcr38m2-K7QN0kxA.mjs} +1 -1
- package/dist/cli.mjs +2 -2
- package/dist/{command-format-LSnUCVVF-Dn4h9IOh.mjs → command-format-LSnUCVVF-Ck0yuZRk.mjs} +1 -1
- package/dist/config-Bim2pi8a-xbw-saVR.mjs +1 -0
- package/dist/config-CtxZK_ZE.mjs +2 -0
- package/dist/{delivery-context.shared-j5hC5qb1-BSLQG47q.mjs → delivery-context.shared-j5hC5qb1-DIY5v1oC.mjs} +1 -1
- package/dist/{diagnostic-ClMwNnUA-BMKvPQJT.mjs → diagnostic-ClMwNnUA-BLmizo4w.mjs} +1 -1
- package/dist/{dist-coestTs9.mjs → dist-BUE_cxIa.mjs} +1 -1
- package/dist/{dist-J5UB83Ws.mjs → dist-Drhg3yZT.mjs} +1 -1
- package/dist/{facade-loader-DFzIYYt_-4bzFvy-b.mjs → facade-loader-DFzIYYt_--SN2-DQM.mjs} +1 -1
- package/dist/{google-ABo-1guT.mjs → google-BdoIr_xq.mjs} +1 -1
- package/dist/{google-gemini-cli-CGlN1zUA.mjs → google-gemini-cli-H9jO3Mvn.mjs} +1 -1
- package/dist/{google-shared-C60sNhwd.mjs → google-shared-DDK4NMAJ.mjs} +2 -2
- package/dist/{google-vertex-De0nAItu.mjs → google-vertex-B_OTGKnl.mjs} +1 -1
- package/dist/{ids-BPsM98Uu-CJBJAeVC.mjs → ids-BPsM98Uu-DGJB5aAM.mjs} +1 -1
- package/dist/{image-2w3cApg7-CrpUMCvm.mjs → image-2w3cApg7-B_-Jsk_m.mjs} +1 -1
- package/dist/interactive-init-CzbT0dDB.mjs +8 -0
- package/dist/{io-CH2g3vsv-JJtUIa_U.mjs → io-CH2g3vsv-BevbMdi6.mjs} +1 -1
- package/dist/{jiti-loader-cache-Bat69wam-DNIteTtO.mjs → jiti-loader-cache-Bat69wam-Cq2EONsH.mjs} +1 -1
- package/dist/{live-smoke-DpURW676.mjs → live-smoke-Be7Fzqj0.mjs} +18 -18
- package/dist/load-context-mb7uvLSn-C6DFwEWN.mjs +1 -0
- package/dist/{loader-708jrx4Y-BbJRXNlQ.mjs → loader-708jrx4Y-eFvaGnCt.mjs} +1 -1
- package/dist/main.mjs +86 -86
- package/dist/{manifest-registry-_hxKCS2K-OL8KK_o4.mjs → manifest-registry-_hxKCS2K-ezh_x2Cu.mjs} +1 -1
- package/dist/{message-channel-Bk_YHfQg-n2Hw2Y0L.mjs → message-channel-Bk_YHfQg-BGBJVvRK.mjs} +1 -1
- package/dist/{message-channel-core-DTA--Gjh-CIh10vfo.mjs → message-channel-core-DTA--Gjh-DeWCDZu1.mjs} +1 -1
- package/dist/message.config.runtime-K-k4XOyq-JWPtRES_.mjs +1 -0
- package/dist/message.gateway.runtime-DqHOHRTQ-BeYUdgSg.mjs +1 -0
- package/dist/{mistral-DyL3Zo1b.mjs → mistral-zWGv0zHS.mjs} +1 -1
- package/dist/{model-auth-env-oyg2Hexc-DJbt9J3o.mjs → model-auth-env-oyg2Hexc-B5WQGZqf.mjs} +1 -1
- package/dist/{models-config-BmpSQJQF-BL6S5qAo.mjs → models-config-BmpSQJQF-Bwnt6IgA.mjs} +1 -1
- package/dist/models-config.runtime-DkQfNKqN.mjs +1 -0
- package/dist/{multipart-parser-B9dwXBqu.mjs → multipart-parser-D_0C82Yv.mjs} +1 -1
- package/dist/{oauth-25y2wc7K.mjs → oauth-TYJ7I-Cs.mjs} +1 -1
- package/dist/{openai-codex-responses-BbyAPsP1.mjs → openai-codex-responses-CJA9360v.mjs} +1 -1
- package/dist/{openai-completions-Bu5qvQzb.mjs → openai-completions-BfXo7VuS.mjs} +1 -1
- package/dist/{openai-responses-pIdwQBc4.mjs → openai-responses-BH-GaE-g.mjs} +1 -1
- package/dist/{openai-responses-shared-DqW1JSux.mjs → openai-responses-shared-DHm7pNQU.mjs} +1 -1
- package/dist/{paths-D6msg0S1-BO4XgM1u.mjs → paths-D6msg0S1-C3GtW9t2.mjs} +1 -1
- package/dist/{paths-D92DjaZ--DdtJ-zYp.mjs → paths-D92DjaZ--CKAvIWoZ.mjs} +1 -1
- package/dist/{pi-model-discovery-Bd0TWzo8-DvSM0eWu.mjs → pi-model-discovery-Bd0TWzo8-DcalEcic.mjs} +1 -1
- package/dist/{pi-model-discovery-runtime-PrjWOmsV.mjs → pi-model-discovery-runtime-DnW_CaR2.mjs} +1 -1
- package/dist/{pi-tools.before-tool-call.runtime-Bn7uqKie-WPxU5oNX.mjs → pi-tools.before-tool-call.runtime-Bn7uqKie-CitpH_Lv.mjs} +1 -1
- package/dist/{plugin-auto-enable-DdH3n9V8-Dr_bUXkG.mjs → plugin-auto-enable-DdH3n9V8-Dd9H4luQ.mjs} +1 -1
- package/dist/{provider-discovery.runtime-DY0VWQ81.mjs → provider-discovery.runtime-CVft4TR0.mjs} +1 -1
- package/dist/{provider-model-compat-CFqcq0it-BUwZENrz.mjs → provider-model-compat-CFqcq0it-W6mE-T-j.mjs} +1 -1
- package/dist/{provider-runtime-C8rljsNs-BDvu6FW3.mjs → provider-runtime-C8rljsNs-BGpzSHUk.mjs} +1 -1
- package/dist/{provider-runtime-CT50mNIX-DImw7ZZu.mjs → provider-runtime-CT50mNIX-CC3WVtfL.mjs} +1 -1
- package/dist/{provider-stream-COLujAAo-Dpq1DSIk.mjs → provider-stream-COLujAAo-BtNcIBP4.mjs} +1 -1
- package/dist/{providers.runtime-Ba7tOlq7-B4t6ywCr.mjs → providers.runtime-Ba7tOlq7-CX4GoaJL.mjs} +1 -1
- package/dist/{public-surface-loader-BVl0NQAE-TfJ3izj1.mjs → public-surface-loader-BVl0NQAE-CTXfgfHE.mjs} +1 -1
- package/dist/{resolve-C33B7eeu-DZM_z6Wr.mjs → resolve-C33B7eeu-DhMVJCKm.mjs} +1 -1
- package/dist/{runtime-Cym-fqI8-1GOIuRRQ.mjs → runtime-Cym-fqI8-BuiEWXF-.mjs} +1 -1
- package/dist/{runtime-snapshot-C54O1-gI-DxusscPf.mjs → runtime-snapshot-C54O1-gI-0r2omPvJ.mjs} +1 -1
- package/dist/{runtime-web-tools-fallback.runtime-Ca-qn1mj-BsYE2gOd.mjs → runtime-web-tools-fallback.runtime-Ca-qn1mj-C5hD_aI-.mjs} +1 -1
- package/dist/runtime-web-tools-manifest.runtime-BgxQTjmq-BTi3YQxK.mjs +1 -0
- package/dist/runtime-web-tools-public-artifacts.runtime-D9qcoWIX-DNaDY4zG.mjs +1 -0
- package/dist/{session-archive.runtime-B52_5vs4-cU2tYbBz.mjs → session-archive.runtime-B52_5vs4-CUKEEsvr.mjs} +1 -1
- package/dist/{session-key-Cn2QoOyX-QZeYmbxd.mjs → session-key-Cn2QoOyX-BIh-9Y77.mjs} +1 -1
- package/dist/{session-transcript-files.fs-DEeFXruQ-CXIAFSsr.mjs → session-transcript-files.fs-DEeFXruQ-Dh_OJado.mjs} +1 -1
- package/dist/{src-CCDx_C-U.mjs → src-C9CsRdwI.mjs} +1 -1
- package/dist/{subagent-announce-L5WsQatW--rMn240x.mjs → subagent-announce-L5WsQatW-DyZFJvpK.mjs} +1 -1
- package/dist/{subagent-announce.registry.runtime-DiqZyeTs-DNfNHsls.mjs → subagent-announce.registry.runtime-DiqZyeTs-WCL-itg8.mjs} +1 -1
- package/dist/{subagent-registry-steer-runtime-DFgZFC0j-XYS1_qwl.mjs → subagent-registry-steer-runtime-DFgZFC0j-BlxUMPcM.mjs} +1 -1
- package/dist/{subagent-system-prompt-C1qnN--K-CsU4f97T.mjs → subagent-system-prompt-C1qnN--K-bhNPmt0u.mjs} +1 -1
- package/dist/{target-parsing-loaded-DKkb6jJY-B830OA1a.mjs → target-parsing-loaded-DKkb6jJY-Bx7-SykE.mjs} +1 -1
- package/dist/{task-registry-delivery-runtime-Dd1CUkZF-B2Hj2k8C.mjs → task-registry-delivery-runtime-Dd1CUkZF-xNioBd-k.mjs} +2 -2
- package/dist/task-registry-delivery-runtime-ragbeVx5-BXczubuw.mjs +1 -0
- package/dist/{transcript-E_-ISOkD-VTwb782D.mjs → transcript-E_-ISOkD-STFNoSGx.mjs} +2 -2
- package/dist/transcript.runtime-BqhvZZdl-BLeKq_RO.mjs +1 -0
- package/dist/{web-provider-public-artifacts-BlpRwIUS-DbVhDOrY.mjs → web-provider-public-artifacts-BlpRwIUS-CjacPoGF.mjs} +1 -1
- package/dist/{web-search-providers.runtime--0aUtC3b-Bjh4Bmrz.mjs → web-search-providers.runtime--0aUtC3b-EcJfEKJo.mjs} +1 -1
- package/package.json +2 -1
- package/dist/channel-bootstrap.runtime-BVclcGv1-CEZ0-JP9.mjs +0 -1
- package/dist/config-Bim2pi8a-03N-28sw.mjs +0 -1
- package/dist/interactive-init-C5MFL5MW.mjs +0 -8
- package/dist/load-context-mb7uvLSn-3xYwSnOZ.mjs +0 -1
- package/dist/message.config.runtime-K-k4XOyq-F_h0Cgkl.mjs +0 -1
- package/dist/message.gateway.runtime-DqHOHRTQ-ge4c5p4s.mjs +0 -1
- package/dist/models-config.runtime-SOhLEw-f.mjs +0 -1
- package/dist/runtime-web-tools-manifest.runtime-BgxQTjmq-P6MKP9gQ.mjs +0 -1
- package/dist/runtime-web-tools-public-artifacts.runtime-D9qcoWIX-5VoyjouO.mjs +0 -1
- package/dist/task-registry-delivery-runtime-ragbeVx5-Bdvo2Q5u.mjs +0 -1
- package/dist/transcript.runtime-BqhvZZdl-B4E0TiX5.mjs +0 -1
- /package/dist/{build-Bkj0hOS2.mjs → build-DSSm_dj2.mjs} +0 -0
- /package/dist/{env-api-keys-Cuz5irWW.mjs → env-api-keys-qlOAYu08.mjs} +0 -0
- /package/dist/{event-stream-B7Ei41Bu.mjs → event-stream-JP51qlT7.mjs} +0 -0
- /package/dist/{from-Ba69_5cR.mjs → from-BmSefSMV.mjs} +0 -0
- /package/dist/{gateway-method-policy-C7rf0SeV-CTJcMQCE.mjs → gateway-method-policy-C7rf0SeV-DXbYlbpG.mjs} +0 -0
- /package/dist/{github-copilot-headers-BfhryVuU.mjs → github-copilot-headers-BQ2T2OVX.mjs} +0 -0
- /package/dist/{hash-Dw-N8Y9l.mjs → hash-DtceYjXb.mjs} +0 -0
- /package/dist/{headers-Bpsp70B9.mjs → headers-KsIWdB9S.mjs} +0 -0
- /package/dist/{home-dir-C44RaPME-B5iLWwCq.mjs → home-dir-C44RaPME-BqOMy1pu.mjs} +0 -0
- /package/dist/{json-file-BQRNuxmK-hRjIgOXI.mjs → json-file-BQRNuxmK-DQHpAzI5.mjs} +0 -0
- /package/dist/{json-parse-BESd8UAM.mjs → json-parse-BJPqxncf.mjs} +0 -0
- /package/dist/{jws-YaZ38F_i.mjs → jws-EKtyH_je.mjs} +0 -0
- /package/dist/{lark-cli-provider-BLMxH6CN.mjs → lark-cli-provider-DrGmcwiB.mjs} +0 -0
- /package/dist/{openai-C-rgGb7X.mjs → openai-D-MIrxrj.mjs} +0 -0
- /package/dist/{process-scoped-map-B2cWkYET-Co-i-MXA.mjs → process-scoped-map-B2cWkYET-Bc7DvrUZ.mjs} +0 -0
- /package/dist/{runtime-channel-state-CohMybAh-BBzhl07Q.mjs → runtime-channel-state-CohMybAh-DfCjeyJq.mjs} +0 -0
- /package/dist/{runtime-state-IBOIXKOx-Cw1GA1td.mjs → runtime-state-IBOIXKOx-Cr97WVOr.mjs} +0 -0
- /package/dist/{src-DACmA9V6.mjs → src-5lm1WxWm.mjs} +0 -0
- /package/dist/{thinking-Bh-7MqXz-uApNUe6g.mjs → thinking-Bh-7MqXz-BB7ZJReA.mjs} +0 -0
- /package/dist/{transform-messages-BTA3xbAI.mjs → transform-messages-B6RF0Czv.mjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./home-dir-C44RaPME-B5iLWwCq.mjs";import{l as t,s as n}from"./bundled-dir-U738ay4K-BxbzrJOo.mjs";import{l as r}from"./io-CH2g3vsv-JJtUIa_U.mjs";import{Mt as i,ft as a,gt as o,ht as s,mt as c,pt as l}from"./bundled-compat-BpaDaAAu-DJtrIX6i.mjs";import{m as u}from"./runtime-snapshot-C54O1-gI-DxusscPf.mjs";import"node:fs";import d from"node:path";import f from"node:fs/promises";import p from"node:os";import{spawn as m}from"node:child_process";const h=new Set([`I`,`OI`,`CI`,`IO`,`NP`]),g=new Set([`everyone`,`users`,`builtin\\users`,`authenticated users`,`nt authority\\authenticated users`]),_=new Set([`nt authority\\system`,`system`,`builtin\\administrators`,`creator owner`,`autorite nt\\système`,`nt-autorität\\system`,`autoridad nt\\system`,`autoridade nt\\system`]),v=[`\\users`,`\\authenticated users`],y=[`\\administrators`,`\\system`,`\\système`],b=/^\*?s-\d+-\d+(-\d+)+$/i,x=new Set([`s-1-5-18`,`s-1-5-32-544`,`s-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464`]),S=new Set([`s-1-1-0`,`s-1-5-11`,`s-1-5-32-545`]),ee=[`successfully processed`,`processed`,`failed processing`,`no mapping between account names`],C=t=>e(t);function w(e){let t=C(e);return t.startsWith(`*`)?t.slice(1):t}function T(e){let t=e?.USERNAME?.trim()||p.userInfo().username?.trim();if(!t)return null;let n=e?.USERDOMAIN?.trim();return n?`${n}\\${t}`:t}function E(e){let t=new Set(_),n=T(e);if(n){t.add(C(n));let e=n.split(`\\`).at(-1);e&&t.add(C(e))}let r=w(e?.USERSID??``);return r&&b.test(r)&&!S.has(r)&&t.add(r),t}function D(e,t){let n=C(e);if(b.test(n)){let e=w(n);return S.has(e)?`world`:x.has(e)||t.has(e)?`trusted`:`group`}if(t.has(n)||y.some(e=>n.endsWith(e)))return`trusted`;if(g.has(n)||v.some(e=>n.endsWith(e)))return`world`;let r=n.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);return r!==n&&(_.has(r)||y.some(e=>{let t=e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);return r.endsWith(t)}))?`trusted`:`group`}function te(e){let t=e.join(``).toUpperCase(),n=t.includes(`F`)||t.includes(`M`)||t.includes(`W`)||t.includes(`D`);return{canRead:t.includes(`F`)||t.includes(`M`)||t.includes(`R`),canWrite:n}}function ne(e){return ee.some(t=>e.startsWith(t))}function re(e){return e.lowerLine.startsWith(e.lowerTarget)?e.trimmedLine.slice(e.normalizedTarget.length).trim():e.lowerLine.startsWith(e.quotedLower)?e.trimmedLine.slice(e.quotedTarget.length).trim():e.trimmedLine}function ie(e){if(!e||!e.includes(`(`))return null;let t=e.indexOf(`:`);if(t===-1)return null;let n=e.slice(0,t).trim(),r=e.slice(t+1).trim(),i=r.match(/\(([^)]+)\)/g)?.map(e=>e.slice(1,-1).trim()).filter(Boolean)??[];if(i.some(e=>e.toUpperCase()===`DENY`))return null;let a=i.filter(e=>!h.has(e.toUpperCase()));if(a.length===0)return null;let{canRead:o,canWrite:s}=te(a);return{principal:n,rights:a,rawRights:r,canRead:o,canWrite:s}}function ae(e,t){let n=[],r=t.trim(),i=r.toLowerCase(),a=`"${r}"`,o=a.toLowerCase();for(let t of e.split(/\r?\n/)){let e=t.trimEnd();if(!e.trim())continue;let s=e.trim(),c=s.toLowerCase();if(ne(c))continue;let l=ie(re({trimmedLine:s,lowerLine:c,normalizedTarget:r,lowerTarget:i,quotedTarget:a,quotedLower:o}));l&&n.push(l)}return n}function O(e,t){let n=E(t),r=[],i=[],a=[];for(let t of e){let e=D(t.principal,n);e===`trusted`?r.push(t):e===`world`?i.push(t):a.push(t)}return{trusted:r,untrustedWorld:i,untrustedGroup:a}}async function oe(e){try{let{stdout:t,stderr:n}=await e(`whoami`,[`/user`,`/fo`,`csv`,`/nh`]),r=`${t}\n${n}`.match(/\*?S-\d+-\d+(?:-\d+)+/i);return r?w(r[0]):null}catch(e){return console.warn(`[windows-acl] resolveCurrentUserSid failed:`,String(e)),null}}async function se(e,t){let n=t?.exec??u;try{let{stdout:r,stderr:i}=await n(`icacls`,[e,`/sid`]),a=ae(`${r}\n${i}`.trim(),e),o=t?.env,{trusted:s,untrustedWorld:c,untrustedGroup:l}=O(a,o);if(!o?.USERSID&&l.some(e=>b.test(C(e.principal)))){let e=await oe(n);e&&(o={...o,USERSID:e},{trusted:s,untrustedWorld:c,untrustedGroup:l}=O(a,o))}return{ok:!0,entries:a,trusted:s,untrustedWorld:c,untrustedGroup:l}}catch(e){return{ok:!1,entries:[],trusted:[],untrustedWorld:[],untrustedGroup:[],error:String(e)}}}function ce(e){if(!e.ok)return`unknown`;let t=[...e.untrustedWorld,...e.untrustedGroup];return t.length===0?`trusted-only`:t.map(e=>`${e.principal}:${e.rawRights}`).join(`, `)}async function k(e){try{let t=await f.lstat(e);return{ok:!0,isSymlink:t.isSymbolicLink(),isDir:t.isDirectory(),mode:typeof t.mode==`number`?t.mode:null,uid:typeof t.uid==`number`?t.uid:null,gid:typeof t.gid==`number`?t.gid:null}}catch(e){return{ok:!1,isSymlink:!1,isDir:!1,mode:null,uid:null,gid:null,error:String(e)}}}async function A(e,t){let n=await k(e);if(!n.ok)return{ok:!1,isSymlink:!1,isDir:!1,mode:null,bits:null,source:`unknown`,worldWritable:!1,groupWritable:!1,worldReadable:!1,groupReadable:!1,error:n.error};let r=n.mode,i=n.isDir;if(n.isSymlink)try{let t=await f.stat(e);r=typeof t.mode==`number`?t.mode:n.mode,i=t.isDirectory()}catch{}let a=j(r);if((t?.platform??process.platform)===`win32`){let o=await se(e,{env:t?.env,exec:t?.exec});return o.ok?{ok:!0,isSymlink:n.isSymlink,isDir:i,mode:r,bits:a,source:`windows-acl`,worldWritable:o.untrustedWorld.some(e=>e.canWrite),groupWritable:o.untrustedGroup.some(e=>e.canWrite),worldReadable:o.untrustedWorld.some(e=>e.canRead),groupReadable:o.untrustedGroup.some(e=>e.canRead),aclSummary:ce(o)}:{ok:!0,isSymlink:n.isSymlink,isDir:i,mode:r,bits:a,source:`unknown`,worldWritable:!1,groupWritable:!1,worldReadable:!1,groupReadable:!1,error:o.error}}return{ok:!0,isSymlink:n.isSymlink,isDir:i,mode:r,bits:a,source:`posix`,worldWritable:M(a),groupWritable:N(a),worldReadable:P(a),groupReadable:F(a)}}function j(e){return e==null?null:e&511}function M(e){return e==null?!1:(e&2)!=0}function N(e){return e==null?!1:(e&16)!=0}function P(e){return e==null?!1:(e&4)!=0}function F(e){return e==null?!1:(e&32)!=0}async function I(e){let{tasks:t,limit:n,onTaskError:r}=e,i=e.errorMode??`continue`;if(t.length===0)return{results:[],firstError:void 0,hasError:!1};let a=Math.max(1,Math.min(n,t.length)),o=Array.from({length:t.length}),s=0,c,l=!1,u=Array.from({length:a},async()=>{for(;;){if(i===`stop`&&l)return;let e=s;if(s+=1,e>=t.length)return;try{o[e]=await t[e]()}catch(t){if(l||=(c=t,!0),r?.(t,e),i===`stop`)return}}});return await Promise.allSettled(u),{results:o,firstError:c,hasError:l}}function L(e){if(e.onMissing===`throw`)throw Error(e.message)}function R(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function z(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}function B(e,t,n={}){let r=n.onMissing??`throw`;if(!t.startsWith(`/`))return L({onMissing:r,message:`File-backed secret ids must be absolute JSON pointers (for example: "/providers/openai/apiKey").`});let i=t.slice(1).split(`/`).map(e=>z(e)),a=e;for(let e of i){if(Array.isArray(a)){let t=Number.parseInt(e,10);if(!Number.isFinite(t)||t<0||t>=a.length)return L({onMissing:r,message:`JSON pointer segment "${e}" is out of bounds.`});a=a[t];continue}if(!R(a)||!Object.hasOwn(a,e))return L({onMissing:r,message:`JSON pointer segment "${e}" does not exist.`});a=a[e]}return a}function V(e){return typeof e==`string`&&e.trim().length>0}function H(e,t){return typeof e==`number`&&Number.isFinite(e)?Math.max(1,Math.floor(e)):Math.max(1,Math.floor(t))}const U=/^[A-Za-z]:[\\/]/,W=/^\\\\[^\\]+\\[^\\]+/;var G=class extends Error{constructor(e){super(e.message,e.cause===void 0?void 0:{cause:e.cause}),this.scope=`provider`,this.name=`SecretProviderResolutionError`,this.source=e.source,this.provider=e.provider}},K=class extends Error{constructor(e){super(e.message,e.cause===void 0?void 0:{cause:e.cause}),this.scope=`ref`,this.name=`SecretRefResolutionError`,this.source=e.source,this.provider=e.provider,this.refId=e.refId}};function le(e){return e instanceof G||e instanceof K}function q(e){return new G(e)}function J(e){return new K(e)}function Y(e){throw le(e.err)?e.err:q({source:e.source,provider:e.provider,message:i(e.err),cause:e.err})}async function X(e,t){let n=await k(e);if(!n.ok)throw Error(`${t} is not readable: ${e}`);if(n.isDir)throw Error(`${t} must be a file: ${e}`);return n}function Z(e){return d.isAbsolute(e)||U.test(e)||W.test(e)}function ue(e){let t=e.secrets?.resolution;return{maxProviderConcurrency:H(t?.maxProviderConcurrency,4),maxRefsPerProvider:H(t?.maxRefsPerProvider,512),maxBatchBytes:H(t?.maxBatchBytes,262144)}}function de(e,t){return`${e}:${t}`}function fe(e,t){let n=t.secrets?.providers?.[e.provider];if(!n){if(e.source===`env`&&e.provider===s(t,`env`))return{source:`env`};throw q({source:e.source,provider:e.provider,message:`Secret provider "${e.provider}" is not configured (ref: ${e.source}:${e.provider}:${e.id}).`})}if(n.source!==e.source)throw q({source:e.source,provider:e.provider,message:`Secret provider "${e.provider}" has source "${n.source}" but ref requests "${e.source}".`});return n}async function Q(e){if(!Z(e.targetPath))throw Error(`${e.label} must be an absolute path.`);let n=e.targetPath,i=await X(n,e.label);if(i.isSymlink){if(!e.allowSymlinkPath)throw Error(`${e.label} must not be a symlink: ${n}`);try{n=await f.realpath(n)}catch{throw Error(`${e.label} symlink target is not readable: ${e.targetPath}`)}if(!Z(n))throw Error(`${e.label} resolved symlink target must be an absolute path.`);if(i=await X(n,e.label),i.isSymlink)throw Error(`${e.label} symlink target must not be a symlink: ${n}`)}if(e.trustedDirs&&e.trustedDirs.length>0&&!e.trustedDirs.map(e=>t(e)).some(e=>r(e,n)))throw Error(`${e.label} is outside trustedDirs: ${n}`);if(e.allowInsecurePath)return n;let a=await A(n);if(!a.ok)throw Error(`${e.label} permissions could not be verified: ${n}`);let o=a.worldWritable||a.groupWritable,s=a.worldReadable||a.groupReadable;if(o||!e.allowReadableByOthers&&s)throw Error(`${e.label} permissions are too open: ${n}`);if(process.platform===`win32`&&a.source===`unknown`)throw Error(`${e.label} ACL verification unavailable on Windows for ${n}. Set allowInsecurePath=true for this provider to bypass this check when the path is trusted.`);if(process.platform!==`win32`&&typeof process.getuid==`function`&&i.uid!=null){let t=process.getuid();if(i.uid!==t)throw Error(`${e.label} must be owned by the current user (uid=${t}): ${n}`)}return n}async function pe(e){let r=e.providerName,i=e.cache,a=i?.filePayloadByProvider?.get(r);if(a)return await a;let o=t(e.providerConfig.path),s=(async()=>{let t=await Q({targetPath:o,label:`secrets.providers.${e.providerName}.path`}),r=H(e.providerConfig.timeoutMs,5e3),i=H(e.providerConfig.maxBytes,1048576),a=new AbortController,s=`File provider "${e.providerName}" timed out after ${r}ms.`,c=null,l=new Promise((e,t)=>{c=setTimeout(()=>{a.abort(),t(Error(s))},r)});try{let r=await Promise.race([f.readFile(t,{signal:a.signal}),l]);if(r.byteLength>i)throw Error(`File provider "${e.providerName}" exceeded maxBytes (${i}).`);let o=r.toString(`utf8`);if(e.providerConfig.mode===`singleValue`)return o.replace(/\r?\n$/,``);let s=JSON.parse(o);if(!n(s))throw Error(`File provider "${e.providerName}" payload is not a JSON object.`);return s}catch(e){throw e instanceof Error&&e.name===`AbortError`?Error(s,{cause:e}):e}finally{c&&clearTimeout(c)}})();return i&&(i.filePayloadByProvider??=new Map,i.filePayloadByProvider.set(r,s)),await s}async function $(e){let t=new Map,n=e.providerConfig.allowlist?new Set(e.providerConfig.allowlist):null;for(let r of e.refs){if(n&&!n.has(r.id))throw J({source:`env`,provider:e.providerName,refId:r.id,message:`Environment variable "${r.id}" is not allowlisted in secrets.providers.${e.providerName}.allowlist.`});let i=e.env[r.id];if(!V(i))throw J({source:`env`,provider:e.providerName,refId:r.id,message:`Environment variable "${r.id}" is missing or empty.`});t.set(r.id,i)}return t}async function me(e){let t;try{t=await pe({providerName:e.providerName,providerConfig:e.providerConfig,cache:e.cache})}catch(t){Y({source:`file`,provider:e.providerName,err:t})}let n=e.providerConfig.mode??`json`,r=new Map;if(n===`singleValue`){for(let n of e.refs){if(n.id!==`value`)throw J({source:`file`,provider:e.providerName,refId:n.id,message:`singleValue file provider "${e.providerName}" expects ref id "${a}".`});r.set(n.id,t)}return r}for(let n of e.refs)try{r.set(n.id,B(t,n.id,{onMissing:`throw`}))}catch(t){throw J({source:`file`,provider:e.providerName,refId:n.id,message:i(t),cause:t})}return r}function he(e){if(typeof e!=`object`||!e||!(`code`in e))return!1;let t=String(e.code);return t===`EPIPE`||t===`ERR_STREAM_DESTROYED`}async function ge(e){return await new Promise((t,n)=>{let r=m(e.command,e.args,{cwd:e.cwd,env:e.env,stdio:[`pipe`,`pipe`,`pipe`],shell:!1,windowsHide:!0}),i=!1,a=``,o=``,s=!1,c=!1,l=0,u=null,d=setTimeout(()=>{s=!0,r.kill(`SIGKILL`)},e.timeoutMs),f=()=>{clearTimeout(d),u&&=(clearTimeout(u),null)},p=()=>{u&&clearTimeout(u),u=setTimeout(()=>{c=!0,r.kill(`SIGKILL`)},e.noOutputTimeoutMs)},h=(t,s)=>{let c=typeof t==`string`?t:t.toString(`utf8`);if(l+=Buffer.byteLength(c,`utf8`),l>e.maxOutputBytes){r.kill(`SIGKILL`),i||(i=!0,f(),n(Error(`Exec provider output exceeded maxOutputBytes (${e.maxOutputBytes}).`)));return}s===`stdout`?a+=c:o+=c,p()};p(),r.on(`error`,e=>{i||(i=!0,f(),n(e))}),r.stdout?.on(`data`,e=>h(e,`stdout`)),r.stderr?.on(`data`,e=>h(e,`stderr`)),r.on(`close`,(e,n)=>{i||(i=!0,f(),t({stdout:a,stderr:o,code:e,signal:n,termination:c?`no-output-timeout`:s?`timeout`:`exit`}))});let g=e=>{he(e)||i||(i=!0,f(),n(e instanceof Error?e:Error(String(e))))};r.stdin?.on(`error`,g);try{r.stdin?.end(e.input)}catch(e){g(e)}})}function _e(e){let t=e.stdout.trim();if(!t)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" returned empty stdout.`});let r;if(!e.jsonOnly&&e.ids.length===1)try{r=JSON.parse(t)}catch{return{[e.ids[0]]:t}}else try{r=JSON.parse(t)}catch{throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" returned invalid JSON.`})}if(!n(r)){if(!e.jsonOnly&&e.ids.length===1&&typeof r==`string`)return{[e.ids[0]]:r};throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" response must be an object.`})}if(r.protocolVersion!==1)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" protocolVersion must be 1.`});let i=r.values;if(!n(i))throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" response missing "values".`});let a=n(r.errors)?r.errors:null,o={};for(let t of e.ids){if(a&&t in a){let r=a[t];throw n(r)&&typeof r.message==`string`&&r.message.trim()?J({source:`exec`,provider:e.providerName,refId:t,message:`Exec provider "${e.providerName}" failed for id "${t}" (${r.message.trim()}).`}):J({source:`exec`,provider:e.providerName,refId:t,message:`Exec provider "${e.providerName}" failed for id "${t}".`})}if(!(t in i))throw J({source:`exec`,provider:e.providerName,refId:t,message:`Exec provider "${e.providerName}" response missing id "${t}".`});o[t]=i[t]}return o}async function ve(e){let n=[...new Set(e.refs.map(e=>e.id))];if(n.length>e.limits.maxRefsPerProvider)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" exceeded maxRefsPerProvider (${e.limits.maxRefsPerProvider}).`});let r=t(e.providerConfig.command),i;try{i=await Q({targetPath:r,label:`secrets.providers.${e.providerName}.command`,trustedDirs:e.providerConfig.trustedDirs,allowInsecurePath:e.providerConfig.allowInsecurePath,allowReadableByOthers:!0,allowSymlinkPath:e.providerConfig.allowSymlinkCommand})}catch(t){Y({source:`exec`,provider:e.providerName,err:t})}let a={protocolVersion:1,provider:e.providerName,ids:n},o=JSON.stringify(a);if(Buffer.byteLength(o,`utf8`)>e.limits.maxBatchBytes)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" request exceeded maxBatchBytes (${e.limits.maxBatchBytes}).`});let s={};for(let t of e.providerConfig.passEnv??[]){let n=e.env[t];n!==void 0&&(s[t]=n)}for(let[t,n]of Object.entries(e.providerConfig.env??{}))s[t]=n;let c=H(e.providerConfig.timeoutMs,5e3),l=H(e.providerConfig.noOutputTimeoutMs,c),u=H(e.providerConfig.maxOutputBytes,1048576),f=e.providerConfig.jsonOnly??!0,p;try{p=await ge({command:i,args:e.providerConfig.args??[],cwd:d.dirname(i),env:s,input:o,timeoutMs:c,noOutputTimeoutMs:l,maxOutputBytes:u})}catch(t){Y({source:`exec`,provider:e.providerName,err:t})}if(p.termination===`timeout`)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" timed out after ${c}ms.`});if(p.termination===`no-output-timeout`)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" produced no output for ${l}ms.`});if(p.code!==0)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" exited with code ${String(p.code)}.`});let m;try{m=_e({providerName:e.providerName,ids:n,stdout:p.stdout,jsonOnly:f})}catch(t){Y({source:`exec`,provider:e.providerName,err:t})}let h=new Map;for(let e of n)h.set(e,m[e]);return h}async function ye(e){try{if(e.providerConfig.source===`env`)return await $({refs:e.refs,providerName:e.providerName,providerConfig:e.providerConfig,env:e.options.env??process.env});if(e.providerConfig.source===`file`)return await me({refs:e.refs,providerName:e.providerName,providerConfig:e.providerConfig,cache:e.options.cache});if(e.providerConfig.source===`exec`)return await ve({refs:e.refs,providerName:e.providerName,providerConfig:e.providerConfig,env:e.options.env??process.env,limits:e.limits});throw q({source:e.source,provider:e.providerName,message:`Unsupported secret provider source "${String(e.providerConfig.source)}".`})}catch(t){return Y({source:e.source,provider:e.providerName,err:t})}}async function be(e,t){if(e.length===0)return new Map;let n=ue(t.config),r=new Map;for(let t of e){let e=t.id.trim();if(!e)throw Error(`Secret reference id is empty.`);if(t.source===`exec`&&!c(e))throw Error(`${l()} (ref: ${t.source}:${t.provider}:${e}).`);r.set(o(t),{...t,id:e})}let i=new Map;for(let e of r.values()){let t=de(e.source,e.provider),n=i.get(t);if(n){n.refs.push(e);continue}i.set(t,{source:e.source,providerName:e.provider,refs:[e]})}let a=await I({tasks:[...i.values()].map(e=>async()=>{if(e.refs.length>n.maxRefsPerProvider)throw q({source:e.source,provider:e.providerName,message:`Secret provider "${e.providerName}" exceeded maxRefsPerProvider (${n.maxRefsPerProvider}).`});let r=fe(e.refs[0],t.config);return{group:e,values:await ye({refs:e.refs,source:e.source,providerName:e.providerName,providerConfig:r,options:t,limits:n})}}),limit:n.maxProviderConcurrency,errorMode:`stop`});if(a.hasError)throw a.firstError;let s=new Map;for(let e of a.results)for(let t of e.group.refs){if(!e.values.has(t.id))throw J({source:e.group.source,provider:e.group.providerName,refId:t.id,message:`Secret provider "${e.group.providerName}" did not return id "${t.id}".`});s.set(o(t),e.values.get(t.id))}return s}async function xe(e,t){let n=t.cache,r=o(e),i=n?.resolvedByRefKey?.get(r);if(i)return await i;let a=(async()=>{let n=await be([e],t);if(!n.has(r))throw J({source:e.source,provider:e.provider,refId:e.id,message:`Secret reference "${r}" resolved to no value.`});return n.get(r)})();return n&&(n.resolvedByRefKey??=new Map,n.resolvedByRefKey.set(r,a)),await a}async function Se(e,t){let n=await xe(e,t);if(!V(n))throw Error(`Secret reference "${e.source}:${e.provider}:${e.id}" resolved to a non-string or empty value.`);return n}export{Se as t};
|
|
1
|
+
import{o as e}from"./home-dir-C44RaPME-BqOMy1pu.mjs";import{l as t,s as n}from"./bundled-dir-U738ay4K-DxHVp4u1.mjs";import{l as r}from"./io-CH2g3vsv-BevbMdi6.mjs";import{Mt as i,ft as a,gt as o,ht as s,mt as c,pt as l}from"./bundled-compat-BpaDaAAu-DElY7pj-.mjs";import{m as u}from"./runtime-snapshot-C54O1-gI-0r2omPvJ.mjs";import"node:fs";import d from"node:path";import f from"node:fs/promises";import p from"node:os";import{spawn as m}from"node:child_process";const h=new Set([`I`,`OI`,`CI`,`IO`,`NP`]),g=new Set([`everyone`,`users`,`builtin\\users`,`authenticated users`,`nt authority\\authenticated users`]),_=new Set([`nt authority\\system`,`system`,`builtin\\administrators`,`creator owner`,`autorite nt\\système`,`nt-autorität\\system`,`autoridad nt\\system`,`autoridade nt\\system`]),v=[`\\users`,`\\authenticated users`],y=[`\\administrators`,`\\system`,`\\système`],b=/^\*?s-\d+-\d+(-\d+)+$/i,x=new Set([`s-1-5-18`,`s-1-5-32-544`,`s-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464`]),S=new Set([`s-1-1-0`,`s-1-5-11`,`s-1-5-32-545`]),ee=[`successfully processed`,`processed`,`failed processing`,`no mapping between account names`],C=t=>e(t);function w(e){let t=C(e);return t.startsWith(`*`)?t.slice(1):t}function T(e){let t=e?.USERNAME?.trim()||p.userInfo().username?.trim();if(!t)return null;let n=e?.USERDOMAIN?.trim();return n?`${n}\\${t}`:t}function E(e){let t=new Set(_),n=T(e);if(n){t.add(C(n));let e=n.split(`\\`).at(-1);e&&t.add(C(e))}let r=w(e?.USERSID??``);return r&&b.test(r)&&!S.has(r)&&t.add(r),t}function D(e,t){let n=C(e);if(b.test(n)){let e=w(n);return S.has(e)?`world`:x.has(e)||t.has(e)?`trusted`:`group`}if(t.has(n)||y.some(e=>n.endsWith(e)))return`trusted`;if(g.has(n)||v.some(e=>n.endsWith(e)))return`world`;let r=n.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);return r!==n&&(_.has(r)||y.some(e=>{let t=e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);return r.endsWith(t)}))?`trusted`:`group`}function te(e){let t=e.join(``).toUpperCase(),n=t.includes(`F`)||t.includes(`M`)||t.includes(`W`)||t.includes(`D`);return{canRead:t.includes(`F`)||t.includes(`M`)||t.includes(`R`),canWrite:n}}function ne(e){return ee.some(t=>e.startsWith(t))}function re(e){return e.lowerLine.startsWith(e.lowerTarget)?e.trimmedLine.slice(e.normalizedTarget.length).trim():e.lowerLine.startsWith(e.quotedLower)?e.trimmedLine.slice(e.quotedTarget.length).trim():e.trimmedLine}function ie(e){if(!e||!e.includes(`(`))return null;let t=e.indexOf(`:`);if(t===-1)return null;let n=e.slice(0,t).trim(),r=e.slice(t+1).trim(),i=r.match(/\(([^)]+)\)/g)?.map(e=>e.slice(1,-1).trim()).filter(Boolean)??[];if(i.some(e=>e.toUpperCase()===`DENY`))return null;let a=i.filter(e=>!h.has(e.toUpperCase()));if(a.length===0)return null;let{canRead:o,canWrite:s}=te(a);return{principal:n,rights:a,rawRights:r,canRead:o,canWrite:s}}function ae(e,t){let n=[],r=t.trim(),i=r.toLowerCase(),a=`"${r}"`,o=a.toLowerCase();for(let t of e.split(/\r?\n/)){let e=t.trimEnd();if(!e.trim())continue;let s=e.trim(),c=s.toLowerCase();if(ne(c))continue;let l=ie(re({trimmedLine:s,lowerLine:c,normalizedTarget:r,lowerTarget:i,quotedTarget:a,quotedLower:o}));l&&n.push(l)}return n}function O(e,t){let n=E(t),r=[],i=[],a=[];for(let t of e){let e=D(t.principal,n);e===`trusted`?r.push(t):e===`world`?i.push(t):a.push(t)}return{trusted:r,untrustedWorld:i,untrustedGroup:a}}async function oe(e){try{let{stdout:t,stderr:n}=await e(`whoami`,[`/user`,`/fo`,`csv`,`/nh`]),r=`${t}\n${n}`.match(/\*?S-\d+-\d+(?:-\d+)+/i);return r?w(r[0]):null}catch(e){return console.warn(`[windows-acl] resolveCurrentUserSid failed:`,String(e)),null}}async function se(e,t){let n=t?.exec??u;try{let{stdout:r,stderr:i}=await n(`icacls`,[e,`/sid`]),a=ae(`${r}\n${i}`.trim(),e),o=t?.env,{trusted:s,untrustedWorld:c,untrustedGroup:l}=O(a,o);if(!o?.USERSID&&l.some(e=>b.test(C(e.principal)))){let e=await oe(n);e&&(o={...o,USERSID:e},{trusted:s,untrustedWorld:c,untrustedGroup:l}=O(a,o))}return{ok:!0,entries:a,trusted:s,untrustedWorld:c,untrustedGroup:l}}catch(e){return{ok:!1,entries:[],trusted:[],untrustedWorld:[],untrustedGroup:[],error:String(e)}}}function ce(e){if(!e.ok)return`unknown`;let t=[...e.untrustedWorld,...e.untrustedGroup];return t.length===0?`trusted-only`:t.map(e=>`${e.principal}:${e.rawRights}`).join(`, `)}async function k(e){try{let t=await f.lstat(e);return{ok:!0,isSymlink:t.isSymbolicLink(),isDir:t.isDirectory(),mode:typeof t.mode==`number`?t.mode:null,uid:typeof t.uid==`number`?t.uid:null,gid:typeof t.gid==`number`?t.gid:null}}catch(e){return{ok:!1,isSymlink:!1,isDir:!1,mode:null,uid:null,gid:null,error:String(e)}}}async function A(e,t){let n=await k(e);if(!n.ok)return{ok:!1,isSymlink:!1,isDir:!1,mode:null,bits:null,source:`unknown`,worldWritable:!1,groupWritable:!1,worldReadable:!1,groupReadable:!1,error:n.error};let r=n.mode,i=n.isDir;if(n.isSymlink)try{let t=await f.stat(e);r=typeof t.mode==`number`?t.mode:n.mode,i=t.isDirectory()}catch{}let a=j(r);if((t?.platform??process.platform)===`win32`){let o=await se(e,{env:t?.env,exec:t?.exec});return o.ok?{ok:!0,isSymlink:n.isSymlink,isDir:i,mode:r,bits:a,source:`windows-acl`,worldWritable:o.untrustedWorld.some(e=>e.canWrite),groupWritable:o.untrustedGroup.some(e=>e.canWrite),worldReadable:o.untrustedWorld.some(e=>e.canRead),groupReadable:o.untrustedGroup.some(e=>e.canRead),aclSummary:ce(o)}:{ok:!0,isSymlink:n.isSymlink,isDir:i,mode:r,bits:a,source:`unknown`,worldWritable:!1,groupWritable:!1,worldReadable:!1,groupReadable:!1,error:o.error}}return{ok:!0,isSymlink:n.isSymlink,isDir:i,mode:r,bits:a,source:`posix`,worldWritable:M(a),groupWritable:N(a),worldReadable:P(a),groupReadable:F(a)}}function j(e){return e==null?null:e&511}function M(e){return e==null?!1:(e&2)!=0}function N(e){return e==null?!1:(e&16)!=0}function P(e){return e==null?!1:(e&4)!=0}function F(e){return e==null?!1:(e&32)!=0}async function I(e){let{tasks:t,limit:n,onTaskError:r}=e,i=e.errorMode??`continue`;if(t.length===0)return{results:[],firstError:void 0,hasError:!1};let a=Math.max(1,Math.min(n,t.length)),o=Array.from({length:t.length}),s=0,c,l=!1,u=Array.from({length:a},async()=>{for(;;){if(i===`stop`&&l)return;let e=s;if(s+=1,e>=t.length)return;try{o[e]=await t[e]()}catch(t){if(l||=(c=t,!0),r?.(t,e),i===`stop`)return}}});return await Promise.allSettled(u),{results:o,firstError:c,hasError:l}}function L(e){if(e.onMissing===`throw`)throw Error(e.message)}function R(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function z(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}function B(e,t,n={}){let r=n.onMissing??`throw`;if(!t.startsWith(`/`))return L({onMissing:r,message:`File-backed secret ids must be absolute JSON pointers (for example: "/providers/openai/apiKey").`});let i=t.slice(1).split(`/`).map(e=>z(e)),a=e;for(let e of i){if(Array.isArray(a)){let t=Number.parseInt(e,10);if(!Number.isFinite(t)||t<0||t>=a.length)return L({onMissing:r,message:`JSON pointer segment "${e}" is out of bounds.`});a=a[t];continue}if(!R(a)||!Object.hasOwn(a,e))return L({onMissing:r,message:`JSON pointer segment "${e}" does not exist.`});a=a[e]}return a}function V(e){return typeof e==`string`&&e.trim().length>0}function H(e,t){return typeof e==`number`&&Number.isFinite(e)?Math.max(1,Math.floor(e)):Math.max(1,Math.floor(t))}const U=/^[A-Za-z]:[\\/]/,W=/^\\\\[^\\]+\\[^\\]+/;var G=class extends Error{constructor(e){super(e.message,e.cause===void 0?void 0:{cause:e.cause}),this.scope=`provider`,this.name=`SecretProviderResolutionError`,this.source=e.source,this.provider=e.provider}},K=class extends Error{constructor(e){super(e.message,e.cause===void 0?void 0:{cause:e.cause}),this.scope=`ref`,this.name=`SecretRefResolutionError`,this.source=e.source,this.provider=e.provider,this.refId=e.refId}};function le(e){return e instanceof G||e instanceof K}function q(e){return new G(e)}function J(e){return new K(e)}function Y(e){throw le(e.err)?e.err:q({source:e.source,provider:e.provider,message:i(e.err),cause:e.err})}async function X(e,t){let n=await k(e);if(!n.ok)throw Error(`${t} is not readable: ${e}`);if(n.isDir)throw Error(`${t} must be a file: ${e}`);return n}function Z(e){return d.isAbsolute(e)||U.test(e)||W.test(e)}function ue(e){let t=e.secrets?.resolution;return{maxProviderConcurrency:H(t?.maxProviderConcurrency,4),maxRefsPerProvider:H(t?.maxRefsPerProvider,512),maxBatchBytes:H(t?.maxBatchBytes,262144)}}function de(e,t){return`${e}:${t}`}function fe(e,t){let n=t.secrets?.providers?.[e.provider];if(!n){if(e.source===`env`&&e.provider===s(t,`env`))return{source:`env`};throw q({source:e.source,provider:e.provider,message:`Secret provider "${e.provider}" is not configured (ref: ${e.source}:${e.provider}:${e.id}).`})}if(n.source!==e.source)throw q({source:e.source,provider:e.provider,message:`Secret provider "${e.provider}" has source "${n.source}" but ref requests "${e.source}".`});return n}async function Q(e){if(!Z(e.targetPath))throw Error(`${e.label} must be an absolute path.`);let n=e.targetPath,i=await X(n,e.label);if(i.isSymlink){if(!e.allowSymlinkPath)throw Error(`${e.label} must not be a symlink: ${n}`);try{n=await f.realpath(n)}catch{throw Error(`${e.label} symlink target is not readable: ${e.targetPath}`)}if(!Z(n))throw Error(`${e.label} resolved symlink target must be an absolute path.`);if(i=await X(n,e.label),i.isSymlink)throw Error(`${e.label} symlink target must not be a symlink: ${n}`)}if(e.trustedDirs&&e.trustedDirs.length>0&&!e.trustedDirs.map(e=>t(e)).some(e=>r(e,n)))throw Error(`${e.label} is outside trustedDirs: ${n}`);if(e.allowInsecurePath)return n;let a=await A(n);if(!a.ok)throw Error(`${e.label} permissions could not be verified: ${n}`);let o=a.worldWritable||a.groupWritable,s=a.worldReadable||a.groupReadable;if(o||!e.allowReadableByOthers&&s)throw Error(`${e.label} permissions are too open: ${n}`);if(process.platform===`win32`&&a.source===`unknown`)throw Error(`${e.label} ACL verification unavailable on Windows for ${n}. Set allowInsecurePath=true for this provider to bypass this check when the path is trusted.`);if(process.platform!==`win32`&&typeof process.getuid==`function`&&i.uid!=null){let t=process.getuid();if(i.uid!==t)throw Error(`${e.label} must be owned by the current user (uid=${t}): ${n}`)}return n}async function pe(e){let r=e.providerName,i=e.cache,a=i?.filePayloadByProvider?.get(r);if(a)return await a;let o=t(e.providerConfig.path),s=(async()=>{let t=await Q({targetPath:o,label:`secrets.providers.${e.providerName}.path`}),r=H(e.providerConfig.timeoutMs,5e3),i=H(e.providerConfig.maxBytes,1048576),a=new AbortController,s=`File provider "${e.providerName}" timed out after ${r}ms.`,c=null,l=new Promise((e,t)=>{c=setTimeout(()=>{a.abort(),t(Error(s))},r)});try{let r=await Promise.race([f.readFile(t,{signal:a.signal}),l]);if(r.byteLength>i)throw Error(`File provider "${e.providerName}" exceeded maxBytes (${i}).`);let o=r.toString(`utf8`);if(e.providerConfig.mode===`singleValue`)return o.replace(/\r?\n$/,``);let s=JSON.parse(o);if(!n(s))throw Error(`File provider "${e.providerName}" payload is not a JSON object.`);return s}catch(e){throw e instanceof Error&&e.name===`AbortError`?Error(s,{cause:e}):e}finally{c&&clearTimeout(c)}})();return i&&(i.filePayloadByProvider??=new Map,i.filePayloadByProvider.set(r,s)),await s}async function $(e){let t=new Map,n=e.providerConfig.allowlist?new Set(e.providerConfig.allowlist):null;for(let r of e.refs){if(n&&!n.has(r.id))throw J({source:`env`,provider:e.providerName,refId:r.id,message:`Environment variable "${r.id}" is not allowlisted in secrets.providers.${e.providerName}.allowlist.`});let i=e.env[r.id];if(!V(i))throw J({source:`env`,provider:e.providerName,refId:r.id,message:`Environment variable "${r.id}" is missing or empty.`});t.set(r.id,i)}return t}async function me(e){let t;try{t=await pe({providerName:e.providerName,providerConfig:e.providerConfig,cache:e.cache})}catch(t){Y({source:`file`,provider:e.providerName,err:t})}let n=e.providerConfig.mode??`json`,r=new Map;if(n===`singleValue`){for(let n of e.refs){if(n.id!==`value`)throw J({source:`file`,provider:e.providerName,refId:n.id,message:`singleValue file provider "${e.providerName}" expects ref id "${a}".`});r.set(n.id,t)}return r}for(let n of e.refs)try{r.set(n.id,B(t,n.id,{onMissing:`throw`}))}catch(t){throw J({source:`file`,provider:e.providerName,refId:n.id,message:i(t),cause:t})}return r}function he(e){if(typeof e!=`object`||!e||!(`code`in e))return!1;let t=String(e.code);return t===`EPIPE`||t===`ERR_STREAM_DESTROYED`}async function ge(e){return await new Promise((t,n)=>{let r=m(e.command,e.args,{cwd:e.cwd,env:e.env,stdio:[`pipe`,`pipe`,`pipe`],shell:!1,windowsHide:!0}),i=!1,a=``,o=``,s=!1,c=!1,l=0,u=null,d=setTimeout(()=>{s=!0,r.kill(`SIGKILL`)},e.timeoutMs),f=()=>{clearTimeout(d),u&&=(clearTimeout(u),null)},p=()=>{u&&clearTimeout(u),u=setTimeout(()=>{c=!0,r.kill(`SIGKILL`)},e.noOutputTimeoutMs)},h=(t,s)=>{let c=typeof t==`string`?t:t.toString(`utf8`);if(l+=Buffer.byteLength(c,`utf8`),l>e.maxOutputBytes){r.kill(`SIGKILL`),i||(i=!0,f(),n(Error(`Exec provider output exceeded maxOutputBytes (${e.maxOutputBytes}).`)));return}s===`stdout`?a+=c:o+=c,p()};p(),r.on(`error`,e=>{i||(i=!0,f(),n(e))}),r.stdout?.on(`data`,e=>h(e,`stdout`)),r.stderr?.on(`data`,e=>h(e,`stderr`)),r.on(`close`,(e,n)=>{i||(i=!0,f(),t({stdout:a,stderr:o,code:e,signal:n,termination:c?`no-output-timeout`:s?`timeout`:`exit`}))});let g=e=>{he(e)||i||(i=!0,f(),n(e instanceof Error?e:Error(String(e))))};r.stdin?.on(`error`,g);try{r.stdin?.end(e.input)}catch(e){g(e)}})}function _e(e){let t=e.stdout.trim();if(!t)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" returned empty stdout.`});let r;if(!e.jsonOnly&&e.ids.length===1)try{r=JSON.parse(t)}catch{return{[e.ids[0]]:t}}else try{r=JSON.parse(t)}catch{throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" returned invalid JSON.`})}if(!n(r)){if(!e.jsonOnly&&e.ids.length===1&&typeof r==`string`)return{[e.ids[0]]:r};throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" response must be an object.`})}if(r.protocolVersion!==1)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" protocolVersion must be 1.`});let i=r.values;if(!n(i))throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" response missing "values".`});let a=n(r.errors)?r.errors:null,o={};for(let t of e.ids){if(a&&t in a){let r=a[t];throw n(r)&&typeof r.message==`string`&&r.message.trim()?J({source:`exec`,provider:e.providerName,refId:t,message:`Exec provider "${e.providerName}" failed for id "${t}" (${r.message.trim()}).`}):J({source:`exec`,provider:e.providerName,refId:t,message:`Exec provider "${e.providerName}" failed for id "${t}".`})}if(!(t in i))throw J({source:`exec`,provider:e.providerName,refId:t,message:`Exec provider "${e.providerName}" response missing id "${t}".`});o[t]=i[t]}return o}async function ve(e){let n=[...new Set(e.refs.map(e=>e.id))];if(n.length>e.limits.maxRefsPerProvider)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" exceeded maxRefsPerProvider (${e.limits.maxRefsPerProvider}).`});let r=t(e.providerConfig.command),i;try{i=await Q({targetPath:r,label:`secrets.providers.${e.providerName}.command`,trustedDirs:e.providerConfig.trustedDirs,allowInsecurePath:e.providerConfig.allowInsecurePath,allowReadableByOthers:!0,allowSymlinkPath:e.providerConfig.allowSymlinkCommand})}catch(t){Y({source:`exec`,provider:e.providerName,err:t})}let a={protocolVersion:1,provider:e.providerName,ids:n},o=JSON.stringify(a);if(Buffer.byteLength(o,`utf8`)>e.limits.maxBatchBytes)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" request exceeded maxBatchBytes (${e.limits.maxBatchBytes}).`});let s={};for(let t of e.providerConfig.passEnv??[]){let n=e.env[t];n!==void 0&&(s[t]=n)}for(let[t,n]of Object.entries(e.providerConfig.env??{}))s[t]=n;let c=H(e.providerConfig.timeoutMs,5e3),l=H(e.providerConfig.noOutputTimeoutMs,c),u=H(e.providerConfig.maxOutputBytes,1048576),f=e.providerConfig.jsonOnly??!0,p;try{p=await ge({command:i,args:e.providerConfig.args??[],cwd:d.dirname(i),env:s,input:o,timeoutMs:c,noOutputTimeoutMs:l,maxOutputBytes:u})}catch(t){Y({source:`exec`,provider:e.providerName,err:t})}if(p.termination===`timeout`)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" timed out after ${c}ms.`});if(p.termination===`no-output-timeout`)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" produced no output for ${l}ms.`});if(p.code!==0)throw q({source:`exec`,provider:e.providerName,message:`Exec provider "${e.providerName}" exited with code ${String(p.code)}.`});let m;try{m=_e({providerName:e.providerName,ids:n,stdout:p.stdout,jsonOnly:f})}catch(t){Y({source:`exec`,provider:e.providerName,err:t})}let h=new Map;for(let e of n)h.set(e,m[e]);return h}async function ye(e){try{if(e.providerConfig.source===`env`)return await $({refs:e.refs,providerName:e.providerName,providerConfig:e.providerConfig,env:e.options.env??process.env});if(e.providerConfig.source===`file`)return await me({refs:e.refs,providerName:e.providerName,providerConfig:e.providerConfig,cache:e.options.cache});if(e.providerConfig.source===`exec`)return await ve({refs:e.refs,providerName:e.providerName,providerConfig:e.providerConfig,env:e.options.env??process.env,limits:e.limits});throw q({source:e.source,provider:e.providerName,message:`Unsupported secret provider source "${String(e.providerConfig.source)}".`})}catch(t){return Y({source:e.source,provider:e.providerName,err:t})}}async function be(e,t){if(e.length===0)return new Map;let n=ue(t.config),r=new Map;for(let t of e){let e=t.id.trim();if(!e)throw Error(`Secret reference id is empty.`);if(t.source===`exec`&&!c(e))throw Error(`${l()} (ref: ${t.source}:${t.provider}:${e}).`);r.set(o(t),{...t,id:e})}let i=new Map;for(let e of r.values()){let t=de(e.source,e.provider),n=i.get(t);if(n){n.refs.push(e);continue}i.set(t,{source:e.source,providerName:e.provider,refs:[e]})}let a=await I({tasks:[...i.values()].map(e=>async()=>{if(e.refs.length>n.maxRefsPerProvider)throw q({source:e.source,provider:e.providerName,message:`Secret provider "${e.providerName}" exceeded maxRefsPerProvider (${n.maxRefsPerProvider}).`});let r=fe(e.refs[0],t.config);return{group:e,values:await ye({refs:e.refs,source:e.source,providerName:e.providerName,providerConfig:r,options:t,limits:n})}}),limit:n.maxProviderConcurrency,errorMode:`stop`});if(a.hasError)throw a.firstError;let s=new Map;for(let e of a.results)for(let t of e.group.refs){if(!e.values.has(t.id))throw J({source:e.group.source,provider:e.group.providerName,refId:t.id,message:`Secret provider "${e.group.providerName}" did not return id "${t.id}".`});s.set(o(t),e.values.get(t.id))}return s}async function xe(e,t){let n=t.cache,r=o(e),i=n?.resolvedByRefKey?.get(r);if(i)return await i;let a=(async()=>{let n=await be([e],t);if(!n.has(r))throw J({source:e.source,provider:e.provider,refId:e.id,message:`Secret reference "${r}" resolved to no value.`});return n.get(r)})();return n&&(n.resolvedByRefKey??=new Map,n.resolvedByRefKey.set(r,a)),await a}async function Se(e,t){let n=await xe(e,t);if(!V(n))throw Error(`Secret reference "${e.source}:${e.provider}:${e.id}" resolved to a non-string or empty value.`);return n}export{Se as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./runtime-snapshot-C54O1-gI-
|
|
1
|
+
import"./runtime-snapshot-C54O1-gI-0r2omPvJ.mjs";import{t as e}from"./runtime-state-IBOIXKOx-Cr97WVOr.mjs";function t(){return{plugins:[],tools:[],hooks:[],typedHooks:[],channels:[],channelSetups:[],providers:[],cliBackends:[],textTransforms:[],speechProviders:[],realtimeTranscriptionProviders:[],realtimeVoiceProviders:[],mediaUnderstandingProviders:[],imageGenerationProviders:[],videoGenerationProviders:[],musicGenerationProviders:[],webFetchProviders:[],webSearchProviders:[],embeddedExtensionFactories:[],codexAppServerExtensionFactories:[],memoryEmbeddingProviders:[],agentHarnesses:[],gatewayHandlers:{},gatewayMethodScopes:{},httpRoutes:[],cliRegistrars:[],reloads:[],nodeHostCommands:[],securityAuditCollectors:[],services:[],commands:[],conversationBindingResolvedHandlers:[],diagnostics:[]}}function n(e){return e}const r=(()=>{let t=globalThis,n=t[e];return n||(n={activeRegistry:null,activeVersion:0,httpRoute:{registry:null,pinned:!1,version:0},channel:{registry:null,pinned:!1,version:0},key:null,workspaceDir:null,runtimeSubagentMode:`default`,importedPluginIds:new Set},t[e]=n),n})();function i(e){r.importedPluginIds.add(e)}function a(e,t,n){e.registry===t&&e.pinned===n||(e.registry=t,e.pinned=n,e.version+=1)}function o(e,t,n=!1){if(!e.pinned){if(e.registry===t&&!e.pinned){n&&(e.version+=1);return}a(e,t,!1)}}function s(e,t,n=`default`,i){r.activeRegistry=e,r.activeVersion+=1,o(r.httpRoute,e,!0),o(r.channel,e,!0),r.key=t??null,r.workspaceDir=i??null,r.runtimeSubagentMode=n}function c(){return n(r.activeRegistry)}function l(){return r.workspaceDir??void 0}function u(){return n(r.channel.registry??r.activeRegistry)}function d(){return r.channel.registry?r.channel.version:r.activeVersion}function f(){return r.key}function p(){return r.runtimeSubagentMode}export{l as a,s as c,f as i,t as l,d as n,p as o,c as r,i as s,u as t};
|
package/dist/{runtime-snapshot-C54O1-gI-DxusscPf.mjs → runtime-snapshot-C54O1-gI-0r2omPvJ.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,d as t,i as n,o as r,s as i}from"./home-dir-C44RaPME-B5iLWwCq.mjs";import{o as a,s as o}from"./paths-D92DjaZ--DdtJ-zYp.mjs";import{l as s,o as c}from"./bundled-dir-U738ay4K-BxbzrJOo.mjs";import{n as l}from"./ids-BPsM98Uu-CJBJAeVC.mjs";import{n as ee,t as te}from"./runtime-channel-state-CohMybAh-BBzhl07Q.mjs";import{At as ne,Ct as re,Dt as u,Et as ie,Rt as ae,St as d,kt as f,u as oe,wt as se}from"./bundled-compat-BpaDaAAu-DJtrIX6i.mjs";import{P as p}from"./manifest-registry-_hxKCS2K-OL8KK_o4.mjs";import"./boundary-file-read-BSd9MXPy-gnNVhPKT.mjs";import{i as m,o as ce,t as le}from"./session-key-Cn2QoOyX-QZeYmbxd.mjs";import{createRequire as h}from"node:module";import ue from"node:fs";import g from"node:path";import{fileURLToPath as de}from"node:url";import"node:fs/promises";import fe from"node:os";import{execFile as pe}from"node:child_process";import _ from"node:process";import{promisify as me}from"node:util";let v={registryVersion:-1,registryRef:null,sorted:[],byId:new Map};function he(t){let n=e(t?.id)??``;return!t||!n?null:((!t.meta||typeof t.meta!=`object`)&&(t.meta={}),t)}function ge(t){let n=new Set,r=[];for(let i of t){let t=e(i.id)??``;!t||n.has(t)||(n.add(t),r.push(i))}return r}function y(){let e=te(),t=ee(),n=v;if(n.registryVersion===t&&n.registryRef===e)return n;let r=[];if(e&&Array.isArray(e.channels))for(let t of e.channels){let e=he(t?.plugin);e&&r.push(e)}let i=ge(r).toSorted((e,t)=>{let n=l.indexOf(e.id),r=l.indexOf(t.id),i=e.meta.order??(n===-1?999:n),a=t.meta.order??(r===-1?999:r);return i===a?e.id.localeCompare(t.id):i-a}),a=new Map;for(let e of i)a.set(e.id,e);let o={registryVersion:t,registryRef:e,sorted:i,byId:a};return v=o,o}function _e(){return y().sorted.slice()}function ve(t){let n=e(t)??``;if(n)return y().byId.get(n)}function ye(){return _e()}function b(t){let n=e(t)??``;if(n)return ve(n)}function be(t){let n=e(t)??``;if(n)return b(n)??oe(n)}function xe(e){return ae(e)}const x={accent:`#FF5A2D`,accentBright:`#FF7A3D`,accentDim:`#D14A22`,info:`#FF8A5B`,success:`#2FBF71`,warn:`#FFB020`,error:`#E23D2D`,muted:`#8B7F77`},Se=typeof process.env.FORCE_COLOR==`string`&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!==`0`,S=process.env.NO_COLOR&&!Se?new re({level:0}):se,C=e=>S.hex(e),w={accent:C(x.accent),accentBright:C(x.accentBright),accentDim:C(x.accentDim),info:C(x.info),success:C(x.success),warn:C(x.warn),error:C(x.error),muted:C(x.muted),heading:S.bold.hex(x.accent),command:C(x.accentBright),option:C(x.warn)};function T(){return u()||ne(`debug`)}function Ce(e){if(T()){try{f().debug({message:e},`verbose`)}catch{}u()&&console.log(w.muted(e))}}w.success,w.warn,w.info;const E=w.error;function D(e){return{...e,OPENCLAW_CLI:`1`}}const O=/^([a-z][a-z0-9-]{1,20}):\s+(.*)$/i;function k(e){let t=e.match(O);if(!t)return null;let[,n,r]=t;return{subsystem:n,rest:r}}function A(e){let t=e.runtime===p?k(e.message):null;if(t){d(t.subsystem)[e.subsystemMethod](t.rest);return}e.runtime[e.runtimeMethod](e.runtimeFormatter(e.message)),f()[e.loggerMethod](e.message)}w.info;const we=w.warn;w.success;const Te=w.error;function Ee(e,t=p){A({message:e,runtime:t,runtimeMethod:`log`,runtimeFormatter:we,loggerMethod:`warn`,subsystemMethod:`warn`})}function j(e,t=p){A({message:e,runtime:t,runtimeMethod:`error`,runtimeFormatter:Te,loggerMethod:`error`,subsystemMethod:`error`})}function M(e){f().debug(e),u()&&console.log(w.muted(e))}function De(e){if((e.platform??_.platform)!==`win32`)return e.command;let t=r(g.basename(e.command));return g.extname(t)?e.command:e.cmdCommands.includes(t)?`${e.command}.cmd`:e.command}const Oe=me(pe),ke=/[&|<>^%\r\n]/;function Ae(e){if(_.platform!==`win32`)return!1;let t=r(g.extname(e));return t===`.cmd`||t===`.bat`}function N(e){if(ke.test(e))throw Error(`Unsafe Windows cmd.exe argument detected: ${JSON.stringify(e)}. Pass an explicit shell-wrapper argv at the call site instead.`);return!e.includes(` `)&&!e.includes(`"`)?e:`"${e.replace(/"/g,`""`)}"`}function je(e,t){return[N(e),...t.map(N)].join(` `)}function Me(e){if(_.platform!==`win32`||e.length===0)return null;let t=r(g.basename(e[0])).replace(/\.(cmd|exe|bat)$/,``),n=t===`npx`?`npx-cli.js`:t===`npm`?`npm-cli.js`:null;if(!n)return null;let i=g.dirname(_.execPath),a=g.join(i,`node_modules`,`npm`,`bin`,n);if(!ue.existsSync(a)){let t=e[0]??``;return[r(g.extname(t))?t:`${t}.cmd`,...e.slice(1)]}return[_.execPath,a,...e.slice(1)]}function Ne(e){return De({command:e,cmdCommands:[`corepack`,`pnpm`,`yarn`]})}function Pe(e){let t=_.platform===`win32`?Me(e.argv)??e.argv:e.argv,n=t===e.argv?Ne(e.argv[0]??``):t[0]??``,r=Ae(n);return{command:r?_.env.ComSpec??`cmd.exe`:n,args:r?[`/d`,`/s`,`/c`,je(n,t.slice(1))]:t.slice(1),usesWindowsExitCodeShim:_.platform===`win32`&&(r||t!==e.argv),windowsHide:!0,windowsVerbatimArguments:r?!0:e.windowsVerbatimArguments}}async function Fe(e,t,n=1e4){let r=typeof n==`number`?{timeout:n,encoding:`utf8`}:{timeout:n.timeoutMs,maxBuffer:n.maxBuffer,cwd:n.cwd,encoding:`utf8`};try{let n=Pe({argv:[e,...t]}),{stdout:i,stderr:a}=await Oe(n.command,n.args,{...r,windowsHide:n.windowsHide,windowsVerbatimArguments:n.windowsVerbatimArguments});return T()&&(i.trim()&&M(i.trim()),a.trim()&&j(a.trim())),{stdout:i,stderr:a}}catch(n){throw T()&&j(E(`Command failed: ${e} ${t.join(` `)}`)),n}}g.resolve(g.dirname(de(import.meta.url)),`../../docs/reference/templates`);function P(e=process.env,t=fe.homedir){let r=n(e,t),a=e.OPENCLAW_PROFILE?.trim();return a&&i(a)!==`default`?g.join(r,`.openclaw`,`workspace-${a}`):g.join(r,`.openclaw`,`workspace`)}P();let F=null,I=!1;function Ie(){return F??=d(`agent-scope`),F}function L(e){return e.replaceAll(`\0`,``)}function R(e){let t=e.agents?.list;return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e):[]}function z(e){let t=R(e);if(t.length===0)return le;let n=t.filter(e=>e?.default);n.length>1&&!I&&(I=!0,Ie().warn(`Multiple agents marked default=true; using the first entry as default.`));let r=(n[0]??t[0])?.id?.trim();return m(r||`main`)}function Le(e,t){let n=m(t);return R(e).find(e=>m(e.id)===n)}function B(e,n){let r=Le(e,m(n));if(!r)return;let i=e.agents?.defaults;return{name:t(r.name),workspace:t(r.workspace),agentDir:t(r.agentDir),systemPromptOverride:t(r.systemPromptOverride),model:typeof r.model==`string`||r.model&&typeof r.model==`object`?r.model:void 0,thinkingDefault:r.thinkingDefault,verboseDefault:r.verboseDefault??i?.verboseDefault,reasoningDefault:r.reasoningDefault,fastModeDefault:r.fastModeDefault,skills:Array.isArray(r.skills)?r.skills:void 0,memorySearch:r.memorySearch,humanDelay:r.humanDelay,contextLimits:typeof r.contextLimits==`object`&&r.contextLimits?{...i?.contextLimits,...r.contextLimits}:i?.contextLimits,heartbeat:r.heartbeat,identity:r.identity,groupChat:r.groupChat,subagents:typeof r.subagents==`object`&&r.subagents?r.subagents:void 0,embeddedPi:typeof r.embeddedPi==`object`&&r.embeddedPi?r.embeddedPi:void 0,sandbox:r.sandbox,tools:r.tools}}function Re(e,t,n=process.env){let r=m(t),i=B(e,r)?.workspace?.trim();if(i)return L(s(i,n));let o=z(e),c=e.agents?.defaults?.workspace?.trim();if(r===o)return L(c?s(c,n):P(n));if(c)return L(g.join(s(c,n),r));let l=a(n);return L(g.join(l,`workspace-${r}`))}function ze(e){let t=z(e.config??{}),n=r(e.agentId),i=n?m(n):null,a=e.sessionKey?.trim(),o=a?r(a):void 0,s=o?ce(o):null;return{defaultAgentId:t,sessionAgentId:i??(s?.agentId?m(s.agentId):t)}}function Be(e){return ze(e).sessionAgentId}function Ve(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function He(e){return Ve(e)?e:null}function V(e){let t=ie(e).replace(/\r/g,`\\r`).replace(/\n/g,`\\n`).replace(/\t/g,`\\t`),n=``;for(let e of t){let t=e.charCodeAt(0);t>=0&&t<=31||t>=127&&t<=159||(n+=e)}return n}function H(e){return c(e)?typeof e.id==`string`&&e.id.length>0:!1}function Ue(e,t,n){if(!e.every(H))return;let r=[...e],i=new Map;for(let[e,t]of r.entries()){if(!H(t))return;i.set(t.id,e)}for(let e of t){if(!H(e)){r.push(structuredClone(e));continue}let t=i.get(e.id);if(t===void 0){r.push(structuredClone(e)),i.set(e.id,r.length-1);continue}r[t]=U(r[t],e,n)}return r}function U(e,t,n={}){if(!c(t))return t;let r=c(e)?{...e}:{};for(let[e,i]of Object.entries(t))if(!o(e)){if(i===null){delete r[e];continue}if(n.mergeObjectArraysById&&Array.isArray(r[e])&&Array.isArray(i)){let t=Ue(r[e],i,n);if(t){r[e]=t;continue}}if(c(i)){let t=r[e];r[e]=U(c(t)?t:{},i,n);continue}r[e]=i}return r}function W(e,t){return e.length<=t?e:`${e.slice(0,t)}... (+${e.length-t} chars)`}function G(e){try{let t=JSON.stringify(e);if(t!==void 0)return t}catch{}return String(e)}function We(e){return typeof e==`string`?JSON.stringify(W(e,160)):W(G(e),160)}function Ge(e){return typeof e==`string`?e:G(e)}function Ke(e){if(e===null)return`null:null`;let t=typeof e;return t===`string`?`string:${e}`:`${t}:${G(e)}`}function K(e){if(e.length===0)return null;let t=[],n=new Set;for(let r of e){let e=Ke(r);n.has(e)||(n.add(e),t.push({value:Ge(r),label:We(r)}))}let r=t.slice(0,12),i=t.length-r.length,a=r.map(e=>e.label).join(`, `),o=i>0?`${a}, ... (+${i} more)`:a;return{values:r.map(e=>e.value),hiddenCount:i,formatted:o}}function qe(e){let t=r(e);return t.includes(`(allowed:`)||t.includes(`expected one of`)}function q(e,t){return qe(e)?e:`${e} (allowed: ${t.formatted})`}const Je=h(import.meta.url),J=new Map;function Ye(e){let t=J.get(e);if(t)return t;let n=Je(`ajv`),r=new(typeof n.default==`function`?n.default:n)({allErrors:!0,strict:!1,removeAdditional:!1,...e===`defaults`?{useDefaults:!0}:{}});return r.addFormat(`uri`,{type:`string`,validate:e=>URL.canParse(e)}),J.set(e,r),r}const Y=new Map;function Xe(e){return e==null?e:structuredClone(e)}function Ze(e){let t=e?.replace(/^\//,``).replace(/\//g,`.`);return t&&t.length>0?t:`<root>`}function X(e,t){let n=t.trim();return n?e===`<root>`?n:`${e}.${n}`:e}function Qe(e){if(e.keyword!==`required`&&e.keyword!==`dependentRequired`&&e.keyword!==`dependencies`)return null;let t=e.params.missingProperty;return typeof t==`string`&&t.trim()?t:null}function $e(e){let t=Ze(e.instancePath),n=Qe(e);return n?X(t,n):t}function et(e){if(e.keyword===`enum`){let t=e.params.allowedValues;return Array.isArray(t)?t:null}if(e.keyword===`const`){let t=e.params;return Object.prototype.hasOwnProperty.call(t,`allowedValue`)?[t.allowedValue]:null}return null}function tt(e){let t=et(e);return t?K(t):null}function nt(e){return!e||e.length===0?[{path:`<root>`,message:`invalid config`,text:`<root>: invalid config`}]:e.map(e=>{let t=$e(e),n=e.message??`invalid`,r=tt(e),i=r?q(n,r):n;return{path:t,message:i,text:`${V(t)}: ${V(i)}`,...r?{allowedValues:r.values,allowedValuesHiddenCount:r.hiddenCount}:{}}})}function rt(e){let t=e.applyDefaults?`${e.cacheKey}::defaults`:e.cacheKey,n=Y.get(t);(!n||n.schema!==e.schema)&&(n={validate:Ye(e.applyDefaults?`defaults`:`default`).compile(e.schema),schema:e.schema},Y.set(t,n));let r=e.applyDefaults?Xe(e.value):e.value;return n.validate(r)?{ok:!0,value:r}:{ok:!1,errors:nt(n.validate.errors)}}let Z=null,Q=null;function it(e,t){Z=e,Q=t??null}function $(){return Z}function at(){return Q}function ot(e){if(Z)return Z;let t=e();return it(t),$()??t}export{xe as C,ye as S,Ee as _,U as a,be as b,V as c,Re as d,z as f,j as g,M as h,q as i,He as l,Fe as m,at as n,K as o,Be as p,ot as r,rt as s,$ as t,B as u,D as v,b as x,Ce as y};
|
|
1
|
+
import{c as e,d as t,i as n,o as r,s as i}from"./home-dir-C44RaPME-BqOMy1pu.mjs";import{o as a,s as o}from"./paths-D92DjaZ--CKAvIWoZ.mjs";import{l as s,o as c}from"./bundled-dir-U738ay4K-DxHVp4u1.mjs";import{n as l}from"./ids-BPsM98Uu-DGJB5aAM.mjs";import{n as ee,t as te}from"./runtime-channel-state-CohMybAh-DfCjeyJq.mjs";import{At as ne,Ct as re,Dt as u,Et as ie,Rt as ae,St as d,kt as f,u as oe,wt as se}from"./bundled-compat-BpaDaAAu-DElY7pj-.mjs";import{P as p}from"./manifest-registry-_hxKCS2K-ezh_x2Cu.mjs";import"./boundary-file-read-BSd9MXPy-Tpd4W7aA.mjs";import{i as m,o as ce,t as le}from"./session-key-Cn2QoOyX-BIh-9Y77.mjs";import{createRequire as h}from"node:module";import ue from"node:fs";import g from"node:path";import{fileURLToPath as de}from"node:url";import"node:fs/promises";import fe from"node:os";import{execFile as pe}from"node:child_process";import _ from"node:process";import{promisify as me}from"node:util";let v={registryVersion:-1,registryRef:null,sorted:[],byId:new Map};function he(t){let n=e(t?.id)??``;return!t||!n?null:((!t.meta||typeof t.meta!=`object`)&&(t.meta={}),t)}function ge(t){let n=new Set,r=[];for(let i of t){let t=e(i.id)??``;!t||n.has(t)||(n.add(t),r.push(i))}return r}function y(){let e=te(),t=ee(),n=v;if(n.registryVersion===t&&n.registryRef===e)return n;let r=[];if(e&&Array.isArray(e.channels))for(let t of e.channels){let e=he(t?.plugin);e&&r.push(e)}let i=ge(r).toSorted((e,t)=>{let n=l.indexOf(e.id),r=l.indexOf(t.id),i=e.meta.order??(n===-1?999:n),a=t.meta.order??(r===-1?999:r);return i===a?e.id.localeCompare(t.id):i-a}),a=new Map;for(let e of i)a.set(e.id,e);let o={registryVersion:t,registryRef:e,sorted:i,byId:a};return v=o,o}function _e(){return y().sorted.slice()}function ve(t){let n=e(t)??``;if(n)return y().byId.get(n)}function ye(){return _e()}function b(t){let n=e(t)??``;if(n)return ve(n)}function be(t){let n=e(t)??``;if(n)return b(n)??oe(n)}function xe(e){return ae(e)}const x={accent:`#FF5A2D`,accentBright:`#FF7A3D`,accentDim:`#D14A22`,info:`#FF8A5B`,success:`#2FBF71`,warn:`#FFB020`,error:`#E23D2D`,muted:`#8B7F77`},Se=typeof process.env.FORCE_COLOR==`string`&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!==`0`,S=process.env.NO_COLOR&&!Se?new re({level:0}):se,C=e=>S.hex(e),w={accent:C(x.accent),accentBright:C(x.accentBright),accentDim:C(x.accentDim),info:C(x.info),success:C(x.success),warn:C(x.warn),error:C(x.error),muted:C(x.muted),heading:S.bold.hex(x.accent),command:C(x.accentBright),option:C(x.warn)};function T(){return u()||ne(`debug`)}function Ce(e){if(T()){try{f().debug({message:e},`verbose`)}catch{}u()&&console.log(w.muted(e))}}w.success,w.warn,w.info;const E=w.error;function D(e){return{...e,OPENCLAW_CLI:`1`}}const O=/^([a-z][a-z0-9-]{1,20}):\s+(.*)$/i;function k(e){let t=e.match(O);if(!t)return null;let[,n,r]=t;return{subsystem:n,rest:r}}function A(e){let t=e.runtime===p?k(e.message):null;if(t){d(t.subsystem)[e.subsystemMethod](t.rest);return}e.runtime[e.runtimeMethod](e.runtimeFormatter(e.message)),f()[e.loggerMethod](e.message)}w.info;const we=w.warn;w.success;const Te=w.error;function Ee(e,t=p){A({message:e,runtime:t,runtimeMethod:`log`,runtimeFormatter:we,loggerMethod:`warn`,subsystemMethod:`warn`})}function j(e,t=p){A({message:e,runtime:t,runtimeMethod:`error`,runtimeFormatter:Te,loggerMethod:`error`,subsystemMethod:`error`})}function M(e){f().debug(e),u()&&console.log(w.muted(e))}function De(e){if((e.platform??_.platform)!==`win32`)return e.command;let t=r(g.basename(e.command));return g.extname(t)?e.command:e.cmdCommands.includes(t)?`${e.command}.cmd`:e.command}const Oe=me(pe),ke=/[&|<>^%\r\n]/;function Ae(e){if(_.platform!==`win32`)return!1;let t=r(g.extname(e));return t===`.cmd`||t===`.bat`}function N(e){if(ke.test(e))throw Error(`Unsafe Windows cmd.exe argument detected: ${JSON.stringify(e)}. Pass an explicit shell-wrapper argv at the call site instead.`);return!e.includes(` `)&&!e.includes(`"`)?e:`"${e.replace(/"/g,`""`)}"`}function je(e,t){return[N(e),...t.map(N)].join(` `)}function Me(e){if(_.platform!==`win32`||e.length===0)return null;let t=r(g.basename(e[0])).replace(/\.(cmd|exe|bat)$/,``),n=t===`npx`?`npx-cli.js`:t===`npm`?`npm-cli.js`:null;if(!n)return null;let i=g.dirname(_.execPath),a=g.join(i,`node_modules`,`npm`,`bin`,n);if(!ue.existsSync(a)){let t=e[0]??``;return[r(g.extname(t))?t:`${t}.cmd`,...e.slice(1)]}return[_.execPath,a,...e.slice(1)]}function Ne(e){return De({command:e,cmdCommands:[`corepack`,`pnpm`,`yarn`]})}function Pe(e){let t=_.platform===`win32`?Me(e.argv)??e.argv:e.argv,n=t===e.argv?Ne(e.argv[0]??``):t[0]??``,r=Ae(n);return{command:r?_.env.ComSpec??`cmd.exe`:n,args:r?[`/d`,`/s`,`/c`,je(n,t.slice(1))]:t.slice(1),usesWindowsExitCodeShim:_.platform===`win32`&&(r||t!==e.argv),windowsHide:!0,windowsVerbatimArguments:r?!0:e.windowsVerbatimArguments}}async function Fe(e,t,n=1e4){let r=typeof n==`number`?{timeout:n,encoding:`utf8`}:{timeout:n.timeoutMs,maxBuffer:n.maxBuffer,cwd:n.cwd,encoding:`utf8`};try{let n=Pe({argv:[e,...t]}),{stdout:i,stderr:a}=await Oe(n.command,n.args,{...r,windowsHide:n.windowsHide,windowsVerbatimArguments:n.windowsVerbatimArguments});return T()&&(i.trim()&&M(i.trim()),a.trim()&&j(a.trim())),{stdout:i,stderr:a}}catch(n){throw T()&&j(E(`Command failed: ${e} ${t.join(` `)}`)),n}}g.resolve(g.dirname(de(import.meta.url)),`../../docs/reference/templates`);function P(e=process.env,t=fe.homedir){let r=n(e,t),a=e.OPENCLAW_PROFILE?.trim();return a&&i(a)!==`default`?g.join(r,`.openclaw`,`workspace-${a}`):g.join(r,`.openclaw`,`workspace`)}P();let F=null,I=!1;function Ie(){return F??=d(`agent-scope`),F}function L(e){return e.replaceAll(`\0`,``)}function R(e){let t=e.agents?.list;return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e):[]}function z(e){let t=R(e);if(t.length===0)return le;let n=t.filter(e=>e?.default);n.length>1&&!I&&(I=!0,Ie().warn(`Multiple agents marked default=true; using the first entry as default.`));let r=(n[0]??t[0])?.id?.trim();return m(r||`main`)}function Le(e,t){let n=m(t);return R(e).find(e=>m(e.id)===n)}function B(e,n){let r=Le(e,m(n));if(!r)return;let i=e.agents?.defaults;return{name:t(r.name),workspace:t(r.workspace),agentDir:t(r.agentDir),systemPromptOverride:t(r.systemPromptOverride),model:typeof r.model==`string`||r.model&&typeof r.model==`object`?r.model:void 0,thinkingDefault:r.thinkingDefault,verboseDefault:r.verboseDefault??i?.verboseDefault,reasoningDefault:r.reasoningDefault,fastModeDefault:r.fastModeDefault,skills:Array.isArray(r.skills)?r.skills:void 0,memorySearch:r.memorySearch,humanDelay:r.humanDelay,contextLimits:typeof r.contextLimits==`object`&&r.contextLimits?{...i?.contextLimits,...r.contextLimits}:i?.contextLimits,heartbeat:r.heartbeat,identity:r.identity,groupChat:r.groupChat,subagents:typeof r.subagents==`object`&&r.subagents?r.subagents:void 0,embeddedPi:typeof r.embeddedPi==`object`&&r.embeddedPi?r.embeddedPi:void 0,sandbox:r.sandbox,tools:r.tools}}function Re(e,t,n=process.env){let r=m(t),i=B(e,r)?.workspace?.trim();if(i)return L(s(i,n));let o=z(e),c=e.agents?.defaults?.workspace?.trim();if(r===o)return L(c?s(c,n):P(n));if(c)return L(g.join(s(c,n),r));let l=a(n);return L(g.join(l,`workspace-${r}`))}function ze(e){let t=z(e.config??{}),n=r(e.agentId),i=n?m(n):null,a=e.sessionKey?.trim(),o=a?r(a):void 0,s=o?ce(o):null;return{defaultAgentId:t,sessionAgentId:i??(s?.agentId?m(s.agentId):t)}}function Be(e){return ze(e).sessionAgentId}function Ve(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function He(e){return Ve(e)?e:null}function V(e){let t=ie(e).replace(/\r/g,`\\r`).replace(/\n/g,`\\n`).replace(/\t/g,`\\t`),n=``;for(let e of t){let t=e.charCodeAt(0);t>=0&&t<=31||t>=127&&t<=159||(n+=e)}return n}function H(e){return c(e)?typeof e.id==`string`&&e.id.length>0:!1}function Ue(e,t,n){if(!e.every(H))return;let r=[...e],i=new Map;for(let[e,t]of r.entries()){if(!H(t))return;i.set(t.id,e)}for(let e of t){if(!H(e)){r.push(structuredClone(e));continue}let t=i.get(e.id);if(t===void 0){r.push(structuredClone(e)),i.set(e.id,r.length-1);continue}r[t]=U(r[t],e,n)}return r}function U(e,t,n={}){if(!c(t))return t;let r=c(e)?{...e}:{};for(let[e,i]of Object.entries(t))if(!o(e)){if(i===null){delete r[e];continue}if(n.mergeObjectArraysById&&Array.isArray(r[e])&&Array.isArray(i)){let t=Ue(r[e],i,n);if(t){r[e]=t;continue}}if(c(i)){let t=r[e];r[e]=U(c(t)?t:{},i,n);continue}r[e]=i}return r}function W(e,t){return e.length<=t?e:`${e.slice(0,t)}... (+${e.length-t} chars)`}function G(e){try{let t=JSON.stringify(e);if(t!==void 0)return t}catch{}return String(e)}function We(e){return typeof e==`string`?JSON.stringify(W(e,160)):W(G(e),160)}function Ge(e){return typeof e==`string`?e:G(e)}function Ke(e){if(e===null)return`null:null`;let t=typeof e;return t===`string`?`string:${e}`:`${t}:${G(e)}`}function K(e){if(e.length===0)return null;let t=[],n=new Set;for(let r of e){let e=Ke(r);n.has(e)||(n.add(e),t.push({value:Ge(r),label:We(r)}))}let r=t.slice(0,12),i=t.length-r.length,a=r.map(e=>e.label).join(`, `),o=i>0?`${a}, ... (+${i} more)`:a;return{values:r.map(e=>e.value),hiddenCount:i,formatted:o}}function qe(e){let t=r(e);return t.includes(`(allowed:`)||t.includes(`expected one of`)}function q(e,t){return qe(e)?e:`${e} (allowed: ${t.formatted})`}const Je=h(import.meta.url),J=new Map;function Ye(e){let t=J.get(e);if(t)return t;let n=Je(`ajv`),r=new(typeof n.default==`function`?n.default:n)({allErrors:!0,strict:!1,removeAdditional:!1,...e===`defaults`?{useDefaults:!0}:{}});return r.addFormat(`uri`,{type:`string`,validate:e=>URL.canParse(e)}),J.set(e,r),r}const Y=new Map;function Xe(e){return e==null?e:structuredClone(e)}function Ze(e){let t=e?.replace(/^\//,``).replace(/\//g,`.`);return t&&t.length>0?t:`<root>`}function X(e,t){let n=t.trim();return n?e===`<root>`?n:`${e}.${n}`:e}function Qe(e){if(e.keyword!==`required`&&e.keyword!==`dependentRequired`&&e.keyword!==`dependencies`)return null;let t=e.params.missingProperty;return typeof t==`string`&&t.trim()?t:null}function $e(e){let t=Ze(e.instancePath),n=Qe(e);return n?X(t,n):t}function et(e){if(e.keyword===`enum`){let t=e.params.allowedValues;return Array.isArray(t)?t:null}if(e.keyword===`const`){let t=e.params;return Object.prototype.hasOwnProperty.call(t,`allowedValue`)?[t.allowedValue]:null}return null}function tt(e){let t=et(e);return t?K(t):null}function nt(e){return!e||e.length===0?[{path:`<root>`,message:`invalid config`,text:`<root>: invalid config`}]:e.map(e=>{let t=$e(e),n=e.message??`invalid`,r=tt(e),i=r?q(n,r):n;return{path:t,message:i,text:`${V(t)}: ${V(i)}`,...r?{allowedValues:r.values,allowedValuesHiddenCount:r.hiddenCount}:{}}})}function rt(e){let t=e.applyDefaults?`${e.cacheKey}::defaults`:e.cacheKey,n=Y.get(t);(!n||n.schema!==e.schema)&&(n={validate:Ye(e.applyDefaults?`defaults`:`default`).compile(e.schema),schema:e.schema},Y.set(t,n));let r=e.applyDefaults?Xe(e.value):e.value;return n.validate(r)?{ok:!0,value:r}:{ok:!1,errors:nt(n.validate.errors)}}let Z=null,Q=null;function it(e,t){Z=e,Q=t??null}function $(){return Z}function at(){return Q}function ot(e){if(Z)return Z;let t=e();return it(t),$()??t}export{xe as C,ye as S,Ee as _,U as a,be as b,V as c,Re as d,z as f,j as g,M as h,q as i,He as l,Fe as m,at as n,K as o,Be as p,ot as r,rt as s,$ as t,B as u,D as v,b as x,Ce as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,i as n,s as r,t as i}from"./web-provider-public-artifacts-BlpRwIUS-
|
|
1
|
+
import{a as e,c as t,i as n,s as r,t as i}from"./web-provider-public-artifacts-BlpRwIUS-CjacPoGF.mjs";import{n as a,r as o,t as s}from"./web-search-providers.runtime--0aUtC3b-EcJfEKJo.mjs";let c=a();function l(e){return r({contract:`webFetchProviders`,configKey:`webFetch`,config:e.config,workspaceDir:e.workspaceDir,env:e.env,onlyPluginIds:e.onlyPluginIds,origin:e.origin})}function u(e){return n({entries:e.registry.webFetchProviders,onlyPluginIds:e.onlyPluginIds,sortProviders:t})}function d(t){return o(t,{snapshotCache:c,resolveBundledResolutionConfig:e,resolveCandidatePluginIds:l,mapRegistryProviders:u,resolveBundledPublicArtifactProviders:i})}const f={resolvePluginWebFetchProviders:d,resolvePluginWebSearchProviders:s};export{f as runtimeWebToolsFallbackProviders};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,l as t,u as n}from"./manifest-registry-_hxKCS2K-ezh_x2Cu.mjs";export{e as resolveManifestContractOwnerPluginId,t as resolveManifestContractPluginIds,n as resolveManifestContractPluginIdsByCompatibilityRuntimePath};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./web-provider-public-artifacts-BlpRwIUS-CjacPoGF.mjs";export{t as resolveBundledWebFetchProvidersFromPublicArtifacts,e as resolveBundledWebSearchProvidersFromPublicArtifacts};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,t as r}from"./session-transcript-files.fs-DEeFXruQ-
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"./session-transcript-files.fs-DEeFXruQ-Dh_OJado.mjs";export{r as archiveSessionTranscripts,t as archiveSessionTranscriptsDetailed,n as cleanupArchivedSessionTranscripts,e as resolveStableSessionEndTranscript};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,o as t,s as n}from"./home-dir-C44RaPME-
|
|
1
|
+
import{c as e,o as t,s as n}from"./home-dir-C44RaPME-BqOMy1pu.mjs";function r(t){let r=n(t);if(!r)return null;let i=r.split(`:`).filter(Boolean);if(i.length<3||i[0]!==`agent`)return null;let a=e(i[1]),o=i.slice(2).join(`:`);return!a||!o?null:{agentId:a,rest:o}}function i(e){let t=r(e);return t?n(t.rest)?.startsWith(`cron:`)===!0:!1}function a(e){let t=n(e);return t?t.split(`:subagent:`).length-1:0}function o(n){let r=e(n);if(!r)return{baseSessionKey:void 0,threadId:void 0};let i=t(r).lastIndexOf(`:thread:`);return{baseSessionKey:i===-1?r:r.slice(0,i),threadId:e(i===-1?void 0:r.slice(i+8))}}function s(t){let r=e(t);if(!r)return null;let i=r.split(`:`).filter(Boolean),a=i.length>=3&&n(i[0])===`agent`?2:0,o=i.slice(a);if(o.length<3)return null;let s=n(o[0]),c=n(o[1]);if(!s||c!==`group`&&c!==`channel`)return null;let l=e(o.slice(2).join(`:`)),u=e(i.slice(0,a+2).join(`:`));return!l||!u?null:{channel:s,kind:c,rawId:l,prefix:u}}const c=`main`,l=/^[a-z0-9][a-z0-9_-]{0,63}$/i,u=/[^a-z0-9_-]+/g,d=/^-+/,f=/-+$/;function p(e){return t(e)||`main`}function m(e){return h(r(e)?.agentId??`main`)}function h(e){let n=(e??``).trim();if(!n)return c;let r=t(n);return l.test(n)?r:r.replace(u,`-`).replace(d,``).replace(f,``).slice(0,64)||`main`}export{p as a,o as c,h as i,m as l,a as n,r as o,i as r,s,c as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./home-dir-C44RaPME-
|
|
1
|
+
import{i as e}from"./home-dir-C44RaPME-BqOMy1pu.mjs";import{i as t,l as n,n as r,o as i,r as a}from"./paths-D6msg0S1-C3GtW9t2.mjs";import o from"node:fs";import s from"node:path";import c from"node:os";function l(e,t){let n=u(t);return n?n===e?`current`:`stale`:`custom`}function u(e){let t=e?.trim();if(!t)return;let n=s.basename(t);if(!n.endsWith(`.jsonl`))return;let r=n.slice(0,-6),i=r.indexOf(`-topic-`);if(i>0){let e=r.slice(0,i);return d(e)?e:void 0}let a=r.match(/^(\d{4}-\d{2}-\d{2}T[\w-]+(?:Z|[+-]\d{2}(?:-\d{2})?)?)_(.+)$/);return a?.[2]?d(a[2])?a[2]:void 0:d(r)?r:void 0}function d(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function f(e){let t=s.resolve(e);try{return o.realpathSync(t)}catch{return t}}function p(n,i,o,u){let d=[],f=l(n,o),p=e=>{try{d.push(e())}catch{}};if(i){let e=s.dirname(i);o&&f!==`stale`&&p(()=>r(n,{sessionFile:o},{sessionsDir:e,agentId:u})),p(()=>t(n,e)),o&&f===`stale`&&p(()=>r(n,{sessionFile:o},{sessionsDir:e,agentId:u}))}else if(o)if(u)f!==`stale`&&p(()=>r(n,{sessionFile:o},{agentId:u}));else{let e=o.trim();e&&d.push(s.resolve(e))}u&&(p(()=>a(n,u)),o&&f===`stale`&&p(()=>r(n,{sessionFile:o},{agentId:u})));let m=e(process.env,c.homedir),h=s.join(m,`.openclaw`,`sessions`);return p(()=>t(n,h)),Array.from(new Set(d))}function m(e,t){let n=`${e}.${t}.${i()}`;return o.renameSync(e,n),n}function h(e){return g(e).map(e=>e.archivedPath)}function g(e){let t=[],n=e.restrictToStoreDir&&e.storePath?f(s.dirname(e.storePath)):null;for(let r of p(e.sessionId,e.storePath,e.sessionFile,e.agentId)){let i=f(r);if(n){let e=s.relative(n,i);if(!e||e.startsWith(`..`)||s.isAbsolute(e))continue}if(o.existsSync(i))try{t.push({sourcePath:i,archivedPath:m(i,e.reason)})}catch{}}return t}function _(e){let t=e.archivedTranscripts??[];if(t.length>0){let n=e.sessionFile?.trim()?f(e.sessionFile):void 0,r=(n==null?void 0:t.find(e=>f(e.sourcePath)===n))?.archivedPath??t[0]?.archivedPath;if(r)return{sessionFile:r,transcriptArchived:!0}}for(let t of p(e.sessionId,e.storePath,e.sessionFile,e.agentId)){let e=f(t);if(o.existsSync(e))return{sessionFile:e,transcriptArchived:!1}}return{}}async function v(e){if(!Number.isFinite(e.olderThanMs)||e.olderThanMs<0)return{removed:0,scanned:0};let t=e.nowMs??Date.now(),r=e.reason??`deleted`,i=Array.from(new Set(e.directories.map(e=>s.resolve(e)))),a=0,c=0;for(let l of i){let i=await o.promises.readdir(l).catch(()=>[]);for(let u of i){let i=n(u,r);if(i==null||(c+=1,t-i<=e.olderThanMs))continue;let d=s.join(l,u);(await o.promises.stat(d).catch(()=>null))?.isFile()&&(await o.promises.rm(d).catch(()=>void 0),a+=1)}}return{removed:a,scanned:c}}export{_ as i,g as n,v as r,h as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DHbaKqs-.mjs";import{i as t,n,o as r,r as i,s as a,t as o}from"./from-Ba69_5cR.mjs";import{format as s}from"node:url";import c,{PassThrough as l,pipeline as u}from"node:stream";import{deprecate as d,promisify as f,types as p}from"node:util";import{isIP as m}from"node:net";import{Buffer as h}from"node:buffer";import g from"node:zlib";import _ from"node:http";import ee from"node:https";function te(e){if(!/^data:/i.test(e))throw TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');e=e.replace(/\r?\n/g,``);let t=e.indexOf(`,`);if(t===-1||t<=4)throw TypeError(`malformed data: URI`);let n=e.substring(5,t).split(`;`),r=``,i=!1,a=n[0]||`text/plain`,o=a;for(let e=1;e<n.length;e++)n[e]===`base64`?i=!0:n[e]&&(o+=`;${n[e]}`,n[e].indexOf(`charset=`)===0&&(r=n[e].substring(8)));!n[0]&&!r.length&&(o+=`;charset=US-ASCII`,r=`US-ASCII`);let s=i?`base64`:`ascii`,c=unescape(e.substring(t+1)),l=Buffer.from(c,s);return l.type=a,l.typeFull=o,l.charset=r,l}var v=e((()=>{})),y,b=e((()=>{y=class extends Error{constructor(e,t){super(e),Error.captureStackTrace(this,this.constructor),this.type=t}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}})),x,ne=e((()=>{b(),x=class extends y{constructor(e,t,n){super(e,t),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}})),S,C,w,T,E,D,O=e((()=>{S=Symbol.toStringTag,C=e=>typeof e==`object`&&typeof e.append==`function`&&typeof e.delete==`function`&&typeof e.get==`function`&&typeof e.getAll==`function`&&typeof e.has==`function`&&typeof e.set==`function`&&typeof e.sort==`function`&&e[S]===`URLSearchParams`,w=e=>e&&typeof e==`object`&&typeof e.arrayBuffer==`function`&&typeof e.type==`string`&&typeof e.stream==`function`&&typeof e.constructor==`function`&&/^(Blob|File)$/.test(e[S]),T=e=>typeof e==`object`&&(e[S]===`AbortSignal`||e[S]===`EventTarget`),E=(e,t)=>{let n=new URL(t).hostname,r=new URL(e).hostname;return n===r||n.endsWith(`.${r}`)},D=(e,t)=>new URL(t).protocol===new URL(e).protocol}));async function k(e){if(e[j].disturbed)throw TypeError(`body used already for: ${e.url}`);if(e[j].disturbed=!0,e[j].error)throw e[j].error;let{body:t}=e;if(t===null||!(t instanceof c))return h.alloc(0);let n=[],r=0;try{for await(let i of t){if(e.size>0&&r+i.length>e.size){let n=new x(`content size at ${e.url} over limit: ${e.size}`,`max-size`);throw t.destroy(n),n}r+=i.length,n.push(i)}}catch(t){throw t instanceof y?t:new x(`Invalid response body while trying to fetch ${e.url}: ${t.message}`,`system`,t)}if(t.readableEnded===!0||t._readableState.ended===!0)try{return n.every(e=>typeof e==`string`)?h.from(n.join(``)):h.concat(n,r)}catch(t){throw new x(`Could not create Buffer from response body for ${e.url}: ${t.message}`,`system`,t)}else throw new x(`Premature close of server response while trying to fetch ${e.url}`)}var A,j,M,N,re,P,ie,F,I=e((()=>{a(),t(),ne(),b(),O(),A=f(c.pipeline),j=Symbol(`Body internals`),M=class{constructor(e,{size:t=0}={}){let r=null;e===null?e=null:C(e)?e=h.from(e.toString()):w(e)||h.isBuffer(e)||(p.isAnyArrayBuffer(e)?e=h.from(e):ArrayBuffer.isView(e)?e=h.from(e.buffer,e.byteOffset,e.byteLength):e instanceof c||(e instanceof n?(e=i(e),r=e.type.split(`=`)[1]):e=h.from(String(e))));let a=e;h.isBuffer(e)?a=c.Readable.from(e):w(e)&&(a=c.Readable.from(e.stream())),this[j]={body:e,stream:a,boundary:r,disturbed:!1,error:null},this.size=t,e instanceof c&&e.on(`error`,e=>{let t=e instanceof y?e:new x(`Invalid response body while trying to fetch ${this.url}: ${e.message}`,`system`,e);this[j].error=t})}get body(){return this[j].stream}get bodyUsed(){return this[j].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:t,byteLength:n}=await k(this);return e.slice(t,t+n)}async formData(){let e=this.headers.get(`content-type`);if(e.startsWith(`application/x-www-form-urlencoded`)){let e=new n,t=new URLSearchParams(await this.text());for(let[n,r]of t)e.append(n,r);return e}let{toFormData:t}=await import(`./multipart-parser-B9dwXBqu.mjs`);return t(this.body,e)}async blob(){let e=this.headers&&this.headers.get(`content-type`)||this[j].body&&this[j].body.type||``;return new r([await this.arrayBuffer()],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await k(this);return new TextDecoder().decode(e)}buffer(){return k(this)}},M.prototype.buffer=d(M.prototype.buffer,`Please use 'response.arrayBuffer()' instead of 'response.buffer()'`,`node-fetch#buffer`),Object.defineProperties(M.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:d(()=>{},`data doesn't exist, use json(), text(), arrayBuffer(), or body instead`,`https://github.com/node-fetch/node-fetch/issues/1000 (response)`)}}),N=(e,t)=>{let n,r,{body:i}=e[j];if(e.bodyUsed)throw Error(`cannot clone body after it is used`);return i instanceof c&&typeof i.getBoundary!=`function`&&(n=new l({highWaterMark:t}),r=new l({highWaterMark:t}),i.pipe(n),i.pipe(r),e[j].stream=n,i=r),i},re=d(e=>e.getBoundary(),`form-data doesn't follow the spec and requires special treatment. Use alternative package`,`https://github.com/node-fetch/node-fetch/issues/1167`),P=(e,t)=>e===null?null:typeof e==`string`?`text/plain;charset=UTF-8`:C(e)?`application/x-www-form-urlencoded;charset=UTF-8`:w(e)?e.type||null:h.isBuffer(e)||p.isAnyArrayBuffer(e)||ArrayBuffer.isView(e)?null:e instanceof n?`multipart/form-data; boundary=${t[j].boundary}`:e&&typeof e.getBoundary==`function`?`multipart/form-data;boundary=${re(e)}`:e instanceof c?null:`text/plain;charset=UTF-8`,ie=e=>{let{body:t}=e[j];return t===null?0:w(t)?t.size:h.isBuffer(t)?t.length:t&&typeof t.getLengthSync==`function`&&t.hasKnownLength&&t.hasKnownLength()?t.getLengthSync():null},F=async(e,{body:t})=>{t===null?e.end():await A(t,e)}}));function ae(e=[]){return new z(e.reduce((e,t,n,r)=>(n%2==0&&e.push(r.slice(n,n+2)),e),[]).filter(([e,t])=>{try{return L(e),R(e,String(t)),!0}catch{return!1}}))}var L,R,z,B=e((()=>{L=typeof _.validateHeaderName==`function`?_.validateHeaderName:e=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(e)){let t=TypeError(`Header name must be a valid HTTP token [${e}]`);throw Object.defineProperty(t,`code`,{value:`ERR_INVALID_HTTP_TOKEN`}),t}},R=typeof _.validateHeaderValue==`function`?_.validateHeaderValue:(e,t)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(t)){let t=TypeError(`Invalid character in header content ["${e}"]`);throw Object.defineProperty(t,`code`,{value:`ERR_INVALID_CHAR`}),t}},z=class e extends URLSearchParams{constructor(t){let n=[];if(t instanceof e){let e=t.raw();for(let[t,r]of Object.entries(e))n.push(...r.map(e=>[t,e]))}else if(t!=null)if(typeof t==`object`&&!p.isBoxedPrimitive(t)){let e=t[Symbol.iterator];if(e==null)n.push(...Object.entries(t));else{if(typeof e!=`function`)throw TypeError(`Header pairs must be iterable`);n=[...t].map(e=>{if(typeof e!=`object`||p.isBoxedPrimitive(e))throw TypeError(`Each header pair must be an iterable object`);return[...e]}).map(e=>{if(e.length!==2)throw TypeError(`Each header pair must be a name/value tuple`);return[...e]})}}else throw TypeError(`Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)`);return n=n.length>0?n.map(([e,t])=>(L(e),R(e,String(t)),[String(e).toLowerCase(),String(t)])):void 0,super(n),new Proxy(this,{get(e,t,n){switch(t){case`append`:case`set`:return(n,r)=>(L(n),R(n,String(r)),URLSearchParams.prototype[t].call(e,String(n).toLowerCase(),String(r)));case`delete`:case`has`:case`getAll`:return n=>(L(n),URLSearchParams.prototype[t].call(e,String(n).toLowerCase()));case`keys`:return()=>(e.sort(),new Set(URLSearchParams.prototype.keys.call(e)).keys());default:return Reflect.get(e,t,n)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let t=this.getAll(e);if(t.length===0)return null;let n=t.join(`, `);return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,t=void 0){for(let n of this.keys())Reflect.apply(e,t,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,t)=>(e[t]=this.getAll(t),e),{})}[Symbol.for(`nodejs.util.inspect.custom`)](){return[...this.keys()].reduce((e,t)=>{let n=this.getAll(t);return t===`host`?e[t]=n[0]:e[t]=n.length>1?n:n[0],e},{})}},Object.defineProperties(z.prototype,[`get`,`entries`,`forEach`,`values`].reduce((e,t)=>(e[t]={enumerable:!0},e),{}))})),V,H,U=e((()=>{V=new Set([301,302,303,307,308]),H=e=>V.has(e)})),W,G,oe=e((()=>{B(),I(),U(),W=Symbol(`Response internals`),G=class e extends M{constructor(e=null,t={}){super(e,t);let n=t.status==null?200:t.status,r=new z(t.headers);if(e!==null&&!r.has(`Content-Type`)){let t=P(e,this);t&&r.append(`Content-Type`,t)}this[W]={type:`default`,url:t.url,status:n,statusText:t.statusText||``,headers:r,counter:t.counter,highWaterMark:t.highWaterMark}}get type(){return this[W].type}get url(){return this[W].url||``}get status(){return this[W].status}get ok(){return this[W].status>=200&&this[W].status<300}get redirected(){return this[W].counter>0}get statusText(){return this[W].statusText}get headers(){return this[W].headers}get highWaterMark(){return this[W].highWaterMark}clone(){return new e(N(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(t,n=302){if(!H(n))throw RangeError(`Failed to execute "redirect" on "response": Invalid status code`);return new e(null,{headers:{location:new URL(t).toString()},status:n})}static error(){let t=new e(null,{status:0,statusText:``});return t[W].type=`error`,t}static json(t=void 0,n={}){let r=JSON.stringify(t);if(r===void 0)throw TypeError(`data is not JSON serializable`);let i=new z(n&&n.headers);return i.has(`content-type`)||i.set(`content-type`,`application/json`),new e(r,{...n,headers:i})}get[Symbol.toStringTag](){return`Response`}},Object.defineProperties(G.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})})),K,se=e((()=>{K=e=>{if(e.search)return e.search;let t=e.href.length-1,n=e.hash||(e.href[t]===`#`?`#`:``);return e.href[t-n.length]===`?`?`?`:``}}));function q(e,t=!1){return e==null||(e=new URL(e),/^(about|blob|data):$/.test(e.protocol))?`no-referrer`:(e.username=``,e.password=``,e.hash=``,t&&(e.pathname=``,e.search=``),e)}function ce(e){if(!Y.has(e))throw TypeError(`Invalid referrerPolicy: ${e}`);return e}function le(e){if(/^(http|ws)s:$/.test(e.protocol))return!0;let t=e.host.replace(/(^\[)|(]$)/g,``),n=m(t);return n===4&&/^127\./.test(t)||n===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(t)?!0:e.host===`localhost`||e.host.endsWith(`.localhost`)?!1:e.protocol===`file:`}function J(e){return/^about:(blank|srcdoc)$/.test(e)||e.protocol===`data:`||/^(blob|filesystem):$/.test(e.protocol)?!0:le(e)}function ue(e,{referrerURLCallback:t,referrerOriginCallback:n}={}){if(e.referrer===`no-referrer`||e.referrerPolicy===``)return null;let r=e.referrerPolicy;if(e.referrer===`about:client`)return`no-referrer`;let i=e.referrer,a=q(i),o=q(i,!0);a.toString().length>4096&&(a=o),t&&(a=t(a)),n&&(o=n(o));let s=new URL(e.url);switch(r){case`no-referrer`:return`no-referrer`;case`origin`:return o;case`unsafe-url`:return a;case`strict-origin`:return J(a)&&!J(s)?`no-referrer`:o.toString();case`strict-origin-when-cross-origin`:return a.origin===s.origin?a:J(a)&&!J(s)?`no-referrer`:o;case`same-origin`:return a.origin===s.origin?a:`no-referrer`;case`origin-when-cross-origin`:return a.origin===s.origin?a:o;case`no-referrer-when-downgrade`:return J(a)&&!J(s)?`no-referrer`:a;default:throw TypeError(`Invalid referrerPolicy: ${r}`)}}function de(e){let t=(e.get(`referrer-policy`)||``).split(/[,\s]+/),n=``;for(let e of t)e&&Y.has(e)&&(n=e);return n}var Y,X,fe=e((()=>{Y=new Set([``,`no-referrer`,`no-referrer-when-downgrade`,`same-origin`,`origin`,`strict-origin`,`origin-when-cross-origin`,`strict-origin-when-cross-origin`,`unsafe-url`]),X=`strict-origin-when-cross-origin`})),Z,Q,pe,$,me,he=e((()=>{B(),I(),O(),se(),fe(),Z=Symbol(`Request internals`),Q=e=>typeof e==`object`&&typeof e[Z]==`object`,pe=d(()=>{},`.data is not a valid RequestInit property, use .body instead`,`https://github.com/node-fetch/node-fetch/issues/1000 (request)`),$=class e extends M{constructor(e,t={}){let n;if(Q(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==``||n.password!==``)throw TypeError(`${n} is an url with embedded credentials.`);let r=t.method||e.method||`GET`;if(/^(delete|get|head|options|post|put)$/i.test(r)&&(r=r.toUpperCase()),!Q(t)&&`data`in t&&pe(),(t.body!=null||Q(e)&&e.body!==null)&&(r===`GET`||r===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body`);let i=t.body?t.body:Q(e)&&e.body!==null?N(e):null;super(i,{size:t.size||e.size||0});let a=new z(t.headers||e.headers||{});if(i!==null&&!a.has(`Content-Type`)){let e=P(i,this);e&&a.set(`Content-Type`,e)}let o=Q(e)?e.signal:null;if(`signal`in t&&(o=t.signal),o!=null&&!T(o))throw TypeError(`Expected signal to be an instanceof AbortSignal or EventTarget`);let s=t.referrer==null?e.referrer:t.referrer;if(s===``)s=`no-referrer`;else if(s){let e=new URL(s);s=/^about:(\/\/)?client$/.test(e)?`client`:e}else s=void 0;this[Z]={method:r,redirect:t.redirect||e.redirect||`follow`,headers:a,parsedURL:n,signal:o,referrer:s},this.follow=t.follow===void 0?e.follow===void 0?20:e.follow:t.follow,this.compress=t.compress===void 0?e.compress===void 0?!0:e.compress:t.compress,this.counter=t.counter||e.counter||0,this.agent=t.agent||e.agent,this.highWaterMark=t.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=t.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=t.referrerPolicy||e.referrerPolicy||``}get method(){return this[Z].method}get url(){return s(this[Z].parsedURL)}get headers(){return this[Z].headers}get redirect(){return this[Z].redirect}get signal(){return this[Z].signal}get referrer(){if(this[Z].referrer===`no-referrer`)return``;if(this[Z].referrer===`client`)return`about:client`;if(this[Z].referrer)return this[Z].referrer.toString()}get referrerPolicy(){return this[Z].referrerPolicy}set referrerPolicy(e){this[Z].referrerPolicy=ce(e)}clone(){return new e(this)}get[Symbol.toStringTag](){return`Request`}},Object.defineProperties($.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}}),me=e=>{let{parsedURL:t}=e[Z],n=new z(e[Z].headers);n.has(`Accept`)||n.set(`Accept`,`*/*`);let r=null;if(e.body===null&&/^(post|put)$/i.test(e.method)&&(r=`0`),e.body!==null){let t=ie(e);typeof t==`number`&&!Number.isNaN(t)&&(r=String(t))}r&&n.set(`Content-Length`,r),e.referrerPolicy===``&&(e.referrerPolicy=X),e.referrer&&e.referrer!==`no-referrer`?e[Z].referrer=ue(e):e[Z].referrer=`no-referrer`,e[Z].referrer instanceof URL&&n.set(`Referer`,e.referrer),n.has(`User-Agent`)||n.set(`User-Agent`,`node-fetch`),e.compress&&!n.has(`Accept-Encoding`)&&n.set(`Accept-Encoding`,`gzip, deflate, br`);let{agent:i}=e;typeof i==`function`&&(i=i(t));let a=K(t);return{parsedURL:t,options:{path:t.pathname+a,method:e.method,headers:n[Symbol.for(`nodejs.util.inspect.custom`)](),insecureHTTPParser:e.insecureHTTPParser,agent:i}}}})),ge,_e=e((()=>{b(),ge=class extends y{constructor(e,t=`aborted`){super(e,t)}}}));async function ve(e,t){return new Promise((n,r)=>{let i=new $(e,t),{parsedURL:a,options:o}=me(i);if(!be.has(a.protocol))throw TypeError(`node-fetch cannot load ${e}. URL scheme "${a.protocol.replace(/:$/,``)}" is not supported.`);if(a.protocol===`data:`){let e=te(i.url);n(new G(e,{headers:{"Content-Type":e.typeFull}}));return}let s=(a.protocol===`https:`?ee:_).request,{signal:d}=i,f=null,p=()=>{let e=new ge(`The operation was aborted.`);r(e),i.body&&i.body instanceof c.Readable&&i.body.destroy(e),!(!f||!f.body)&&f.body.emit(`error`,e)};if(d&&d.aborted){p();return}let m=()=>{p(),v()},h=s(a.toString(),o);d&&d.addEventListener(`abort`,m);let v=()=>{h.abort(),d&&d.removeEventListener(`abort`,m)};h.on(`error`,e=>{r(new x(`request to ${i.url} failed, reason: ${e.message}`,`system`,e)),v()}),ye(h,e=>{f&&f.body&&f.body.destroy(e)}),process.version<`v14`&&h.on(`socket`,e=>{let t;e.prependListener(`end`,()=>{t=e._eventsCount}),e.prependListener(`close`,n=>{if(f&&t<e._eventsCount&&!n){let e=Error(`Premature close`);e.code=`ERR_STREAM_PREMATURE_CLOSE`,f.body.emit(`error`,e)}})}),h.on(`response`,e=>{h.setTimeout(0);let a=ae(e.rawHeaders);if(H(e.statusCode)){let o=a.get(`Location`),s=null;try{s=o===null?null:new URL(o,i.url)}catch{if(i.redirect!==`manual`){r(new x(`uri requested responds with an invalid redirect URL: ${o}`,`invalid-redirect`)),v();return}}switch(i.redirect){case`error`:r(new x(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,`no-redirect`)),v();return;case`manual`:break;case`follow`:{if(s===null)break;if(i.counter>=i.follow){r(new x(`maximum redirect reached at: ${i.url}`,`max-redirect`)),v();return}let o={headers:new z(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:N(i),signal:i.signal,size:i.size,referrer:i.referrer,referrerPolicy:i.referrerPolicy};if(!E(i.url,s)||!D(i.url,s))for(let e of[`authorization`,`www-authenticate`,`cookie`,`cookie2`])o.headers.delete(e);if(e.statusCode!==303&&i.body&&t.body instanceof c.Readable){r(new x(`Cannot follow redirect with body being a readable stream`,`unsupported-redirect`)),v();return}(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&i.method===`POST`)&&(o.method=`GET`,o.body=void 0,o.headers.delete(`content-length`));let l=de(a);l&&(o.referrerPolicy=l),n(ve(new $(s,o))),v();return}default:return r(TypeError(`Redirect option '${i.redirect}' is not a valid value of RequestRedirect`))}}d&&e.once(`end`,()=>{d.removeEventListener(`abort`,m)});let o=u(e,new l,e=>{e&&r(e)});process.version<`v12.10`&&e.on(`aborted`,m);let s={url:i.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:i.size,counter:i.counter,highWaterMark:i.highWaterMark},p=a.get(`Content-Encoding`);if(!i.compress||i.method===`HEAD`||p===null||e.statusCode===204||e.statusCode===304){f=new G(o,s),n(f);return}let _={flush:g.Z_SYNC_FLUSH,finishFlush:g.Z_SYNC_FLUSH};if(p===`gzip`||p===`x-gzip`){o=u(o,g.createGunzip(_),e=>{e&&r(e)}),f=new G(o,s),n(f);return}if(p===`deflate`||p===`x-deflate`){let t=u(e,new l,e=>{e&&r(e)});t.once(`data`,e=>{o=(e[0]&15)==8?u(o,g.createInflate(),e=>{e&&r(e)}):u(o,g.createInflateRaw(),e=>{e&&r(e)}),f=new G(o,s),n(f)}),t.once(`end`,()=>{f||(f=new G(o,s),n(f))});return}if(p===`br`){o=u(o,g.createBrotliDecompress(),e=>{e&&r(e)}),f=new G(o,s),n(f);return}f=new G(o,s),n(f)}),F(h,i).catch(r)})}function ye(e,t){let n=h.from(`0\r
|
|
1
|
+
import{n as e}from"./chunk-DHbaKqs-.mjs";import{i as t,n,o as r,r as i,s as a,t as o}from"./from-BmSefSMV.mjs";import{format as s}from"node:url";import c,{PassThrough as l,pipeline as u}from"node:stream";import{deprecate as d,promisify as f,types as p}from"node:util";import{isIP as m}from"node:net";import{Buffer as h}from"node:buffer";import g from"node:zlib";import _ from"node:http";import ee from"node:https";function te(e){if(!/^data:/i.test(e))throw TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');e=e.replace(/\r?\n/g,``);let t=e.indexOf(`,`);if(t===-1||t<=4)throw TypeError(`malformed data: URI`);let n=e.substring(5,t).split(`;`),r=``,i=!1,a=n[0]||`text/plain`,o=a;for(let e=1;e<n.length;e++)n[e]===`base64`?i=!0:n[e]&&(o+=`;${n[e]}`,n[e].indexOf(`charset=`)===0&&(r=n[e].substring(8)));!n[0]&&!r.length&&(o+=`;charset=US-ASCII`,r=`US-ASCII`);let s=i?`base64`:`ascii`,c=unescape(e.substring(t+1)),l=Buffer.from(c,s);return l.type=a,l.typeFull=o,l.charset=r,l}var v=e((()=>{})),y,b=e((()=>{y=class extends Error{constructor(e,t){super(e),Error.captureStackTrace(this,this.constructor),this.type=t}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}})),x,ne=e((()=>{b(),x=class extends y{constructor(e,t,n){super(e,t),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}})),S,C,w,T,E,D,O=e((()=>{S=Symbol.toStringTag,C=e=>typeof e==`object`&&typeof e.append==`function`&&typeof e.delete==`function`&&typeof e.get==`function`&&typeof e.getAll==`function`&&typeof e.has==`function`&&typeof e.set==`function`&&typeof e.sort==`function`&&e[S]===`URLSearchParams`,w=e=>e&&typeof e==`object`&&typeof e.arrayBuffer==`function`&&typeof e.type==`string`&&typeof e.stream==`function`&&typeof e.constructor==`function`&&/^(Blob|File)$/.test(e[S]),T=e=>typeof e==`object`&&(e[S]===`AbortSignal`||e[S]===`EventTarget`),E=(e,t)=>{let n=new URL(t).hostname,r=new URL(e).hostname;return n===r||n.endsWith(`.${r}`)},D=(e,t)=>new URL(t).protocol===new URL(e).protocol}));async function k(e){if(e[j].disturbed)throw TypeError(`body used already for: ${e.url}`);if(e[j].disturbed=!0,e[j].error)throw e[j].error;let{body:t}=e;if(t===null||!(t instanceof c))return h.alloc(0);let n=[],r=0;try{for await(let i of t){if(e.size>0&&r+i.length>e.size){let n=new x(`content size at ${e.url} over limit: ${e.size}`,`max-size`);throw t.destroy(n),n}r+=i.length,n.push(i)}}catch(t){throw t instanceof y?t:new x(`Invalid response body while trying to fetch ${e.url}: ${t.message}`,`system`,t)}if(t.readableEnded===!0||t._readableState.ended===!0)try{return n.every(e=>typeof e==`string`)?h.from(n.join(``)):h.concat(n,r)}catch(t){throw new x(`Could not create Buffer from response body for ${e.url}: ${t.message}`,`system`,t)}else throw new x(`Premature close of server response while trying to fetch ${e.url}`)}var A,j,M,N,re,P,ie,F,I=e((()=>{a(),t(),ne(),b(),O(),A=f(c.pipeline),j=Symbol(`Body internals`),M=class{constructor(e,{size:t=0}={}){let r=null;e===null?e=null:C(e)?e=h.from(e.toString()):w(e)||h.isBuffer(e)||(p.isAnyArrayBuffer(e)?e=h.from(e):ArrayBuffer.isView(e)?e=h.from(e.buffer,e.byteOffset,e.byteLength):e instanceof c||(e instanceof n?(e=i(e),r=e.type.split(`=`)[1]):e=h.from(String(e))));let a=e;h.isBuffer(e)?a=c.Readable.from(e):w(e)&&(a=c.Readable.from(e.stream())),this[j]={body:e,stream:a,boundary:r,disturbed:!1,error:null},this.size=t,e instanceof c&&e.on(`error`,e=>{let t=e instanceof y?e:new x(`Invalid response body while trying to fetch ${this.url}: ${e.message}`,`system`,e);this[j].error=t})}get body(){return this[j].stream}get bodyUsed(){return this[j].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:t,byteLength:n}=await k(this);return e.slice(t,t+n)}async formData(){let e=this.headers.get(`content-type`);if(e.startsWith(`application/x-www-form-urlencoded`)){let e=new n,t=new URLSearchParams(await this.text());for(let[n,r]of t)e.append(n,r);return e}let{toFormData:t}=await import(`./multipart-parser-D_0C82Yv.mjs`);return t(this.body,e)}async blob(){let e=this.headers&&this.headers.get(`content-type`)||this[j].body&&this[j].body.type||``;return new r([await this.arrayBuffer()],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await k(this);return new TextDecoder().decode(e)}buffer(){return k(this)}},M.prototype.buffer=d(M.prototype.buffer,`Please use 'response.arrayBuffer()' instead of 'response.buffer()'`,`node-fetch#buffer`),Object.defineProperties(M.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:d(()=>{},`data doesn't exist, use json(), text(), arrayBuffer(), or body instead`,`https://github.com/node-fetch/node-fetch/issues/1000 (response)`)}}),N=(e,t)=>{let n,r,{body:i}=e[j];if(e.bodyUsed)throw Error(`cannot clone body after it is used`);return i instanceof c&&typeof i.getBoundary!=`function`&&(n=new l({highWaterMark:t}),r=new l({highWaterMark:t}),i.pipe(n),i.pipe(r),e[j].stream=n,i=r),i},re=d(e=>e.getBoundary(),`form-data doesn't follow the spec and requires special treatment. Use alternative package`,`https://github.com/node-fetch/node-fetch/issues/1167`),P=(e,t)=>e===null?null:typeof e==`string`?`text/plain;charset=UTF-8`:C(e)?`application/x-www-form-urlencoded;charset=UTF-8`:w(e)?e.type||null:h.isBuffer(e)||p.isAnyArrayBuffer(e)||ArrayBuffer.isView(e)?null:e instanceof n?`multipart/form-data; boundary=${t[j].boundary}`:e&&typeof e.getBoundary==`function`?`multipart/form-data;boundary=${re(e)}`:e instanceof c?null:`text/plain;charset=UTF-8`,ie=e=>{let{body:t}=e[j];return t===null?0:w(t)?t.size:h.isBuffer(t)?t.length:t&&typeof t.getLengthSync==`function`&&t.hasKnownLength&&t.hasKnownLength()?t.getLengthSync():null},F=async(e,{body:t})=>{t===null?e.end():await A(t,e)}}));function ae(e=[]){return new z(e.reduce((e,t,n,r)=>(n%2==0&&e.push(r.slice(n,n+2)),e),[]).filter(([e,t])=>{try{return L(e),R(e,String(t)),!0}catch{return!1}}))}var L,R,z,B=e((()=>{L=typeof _.validateHeaderName==`function`?_.validateHeaderName:e=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(e)){let t=TypeError(`Header name must be a valid HTTP token [${e}]`);throw Object.defineProperty(t,`code`,{value:`ERR_INVALID_HTTP_TOKEN`}),t}},R=typeof _.validateHeaderValue==`function`?_.validateHeaderValue:(e,t)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(t)){let t=TypeError(`Invalid character in header content ["${e}"]`);throw Object.defineProperty(t,`code`,{value:`ERR_INVALID_CHAR`}),t}},z=class e extends URLSearchParams{constructor(t){let n=[];if(t instanceof e){let e=t.raw();for(let[t,r]of Object.entries(e))n.push(...r.map(e=>[t,e]))}else if(t!=null)if(typeof t==`object`&&!p.isBoxedPrimitive(t)){let e=t[Symbol.iterator];if(e==null)n.push(...Object.entries(t));else{if(typeof e!=`function`)throw TypeError(`Header pairs must be iterable`);n=[...t].map(e=>{if(typeof e!=`object`||p.isBoxedPrimitive(e))throw TypeError(`Each header pair must be an iterable object`);return[...e]}).map(e=>{if(e.length!==2)throw TypeError(`Each header pair must be a name/value tuple`);return[...e]})}}else throw TypeError(`Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)`);return n=n.length>0?n.map(([e,t])=>(L(e),R(e,String(t)),[String(e).toLowerCase(),String(t)])):void 0,super(n),new Proxy(this,{get(e,t,n){switch(t){case`append`:case`set`:return(n,r)=>(L(n),R(n,String(r)),URLSearchParams.prototype[t].call(e,String(n).toLowerCase(),String(r)));case`delete`:case`has`:case`getAll`:return n=>(L(n),URLSearchParams.prototype[t].call(e,String(n).toLowerCase()));case`keys`:return()=>(e.sort(),new Set(URLSearchParams.prototype.keys.call(e)).keys());default:return Reflect.get(e,t,n)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let t=this.getAll(e);if(t.length===0)return null;let n=t.join(`, `);return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,t=void 0){for(let n of this.keys())Reflect.apply(e,t,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,t)=>(e[t]=this.getAll(t),e),{})}[Symbol.for(`nodejs.util.inspect.custom`)](){return[...this.keys()].reduce((e,t)=>{let n=this.getAll(t);return t===`host`?e[t]=n[0]:e[t]=n.length>1?n:n[0],e},{})}},Object.defineProperties(z.prototype,[`get`,`entries`,`forEach`,`values`].reduce((e,t)=>(e[t]={enumerable:!0},e),{}))})),V,H,U=e((()=>{V=new Set([301,302,303,307,308]),H=e=>V.has(e)})),W,G,oe=e((()=>{B(),I(),U(),W=Symbol(`Response internals`),G=class e extends M{constructor(e=null,t={}){super(e,t);let n=t.status==null?200:t.status,r=new z(t.headers);if(e!==null&&!r.has(`Content-Type`)){let t=P(e,this);t&&r.append(`Content-Type`,t)}this[W]={type:`default`,url:t.url,status:n,statusText:t.statusText||``,headers:r,counter:t.counter,highWaterMark:t.highWaterMark}}get type(){return this[W].type}get url(){return this[W].url||``}get status(){return this[W].status}get ok(){return this[W].status>=200&&this[W].status<300}get redirected(){return this[W].counter>0}get statusText(){return this[W].statusText}get headers(){return this[W].headers}get highWaterMark(){return this[W].highWaterMark}clone(){return new e(N(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(t,n=302){if(!H(n))throw RangeError(`Failed to execute "redirect" on "response": Invalid status code`);return new e(null,{headers:{location:new URL(t).toString()},status:n})}static error(){let t=new e(null,{status:0,statusText:``});return t[W].type=`error`,t}static json(t=void 0,n={}){let r=JSON.stringify(t);if(r===void 0)throw TypeError(`data is not JSON serializable`);let i=new z(n&&n.headers);return i.has(`content-type`)||i.set(`content-type`,`application/json`),new e(r,{...n,headers:i})}get[Symbol.toStringTag](){return`Response`}},Object.defineProperties(G.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})})),K,se=e((()=>{K=e=>{if(e.search)return e.search;let t=e.href.length-1,n=e.hash||(e.href[t]===`#`?`#`:``);return e.href[t-n.length]===`?`?`?`:``}}));function q(e,t=!1){return e==null||(e=new URL(e),/^(about|blob|data):$/.test(e.protocol))?`no-referrer`:(e.username=``,e.password=``,e.hash=``,t&&(e.pathname=``,e.search=``),e)}function ce(e){if(!Y.has(e))throw TypeError(`Invalid referrerPolicy: ${e}`);return e}function le(e){if(/^(http|ws)s:$/.test(e.protocol))return!0;let t=e.host.replace(/(^\[)|(]$)/g,``),n=m(t);return n===4&&/^127\./.test(t)||n===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(t)?!0:e.host===`localhost`||e.host.endsWith(`.localhost`)?!1:e.protocol===`file:`}function J(e){return/^about:(blank|srcdoc)$/.test(e)||e.protocol===`data:`||/^(blob|filesystem):$/.test(e.protocol)?!0:le(e)}function ue(e,{referrerURLCallback:t,referrerOriginCallback:n}={}){if(e.referrer===`no-referrer`||e.referrerPolicy===``)return null;let r=e.referrerPolicy;if(e.referrer===`about:client`)return`no-referrer`;let i=e.referrer,a=q(i),o=q(i,!0);a.toString().length>4096&&(a=o),t&&(a=t(a)),n&&(o=n(o));let s=new URL(e.url);switch(r){case`no-referrer`:return`no-referrer`;case`origin`:return o;case`unsafe-url`:return a;case`strict-origin`:return J(a)&&!J(s)?`no-referrer`:o.toString();case`strict-origin-when-cross-origin`:return a.origin===s.origin?a:J(a)&&!J(s)?`no-referrer`:o;case`same-origin`:return a.origin===s.origin?a:`no-referrer`;case`origin-when-cross-origin`:return a.origin===s.origin?a:o;case`no-referrer-when-downgrade`:return J(a)&&!J(s)?`no-referrer`:a;default:throw TypeError(`Invalid referrerPolicy: ${r}`)}}function de(e){let t=(e.get(`referrer-policy`)||``).split(/[,\s]+/),n=``;for(let e of t)e&&Y.has(e)&&(n=e);return n}var Y,X,fe=e((()=>{Y=new Set([``,`no-referrer`,`no-referrer-when-downgrade`,`same-origin`,`origin`,`strict-origin`,`origin-when-cross-origin`,`strict-origin-when-cross-origin`,`unsafe-url`]),X=`strict-origin-when-cross-origin`})),Z,Q,pe,$,me,he=e((()=>{B(),I(),O(),se(),fe(),Z=Symbol(`Request internals`),Q=e=>typeof e==`object`&&typeof e[Z]==`object`,pe=d(()=>{},`.data is not a valid RequestInit property, use .body instead`,`https://github.com/node-fetch/node-fetch/issues/1000 (request)`),$=class e extends M{constructor(e,t={}){let n;if(Q(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==``||n.password!==``)throw TypeError(`${n} is an url with embedded credentials.`);let r=t.method||e.method||`GET`;if(/^(delete|get|head|options|post|put)$/i.test(r)&&(r=r.toUpperCase()),!Q(t)&&`data`in t&&pe(),(t.body!=null||Q(e)&&e.body!==null)&&(r===`GET`||r===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body`);let i=t.body?t.body:Q(e)&&e.body!==null?N(e):null;super(i,{size:t.size||e.size||0});let a=new z(t.headers||e.headers||{});if(i!==null&&!a.has(`Content-Type`)){let e=P(i,this);e&&a.set(`Content-Type`,e)}let o=Q(e)?e.signal:null;if(`signal`in t&&(o=t.signal),o!=null&&!T(o))throw TypeError(`Expected signal to be an instanceof AbortSignal or EventTarget`);let s=t.referrer==null?e.referrer:t.referrer;if(s===``)s=`no-referrer`;else if(s){let e=new URL(s);s=/^about:(\/\/)?client$/.test(e)?`client`:e}else s=void 0;this[Z]={method:r,redirect:t.redirect||e.redirect||`follow`,headers:a,parsedURL:n,signal:o,referrer:s},this.follow=t.follow===void 0?e.follow===void 0?20:e.follow:t.follow,this.compress=t.compress===void 0?e.compress===void 0?!0:e.compress:t.compress,this.counter=t.counter||e.counter||0,this.agent=t.agent||e.agent,this.highWaterMark=t.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=t.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=t.referrerPolicy||e.referrerPolicy||``}get method(){return this[Z].method}get url(){return s(this[Z].parsedURL)}get headers(){return this[Z].headers}get redirect(){return this[Z].redirect}get signal(){return this[Z].signal}get referrer(){if(this[Z].referrer===`no-referrer`)return``;if(this[Z].referrer===`client`)return`about:client`;if(this[Z].referrer)return this[Z].referrer.toString()}get referrerPolicy(){return this[Z].referrerPolicy}set referrerPolicy(e){this[Z].referrerPolicy=ce(e)}clone(){return new e(this)}get[Symbol.toStringTag](){return`Request`}},Object.defineProperties($.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}}),me=e=>{let{parsedURL:t}=e[Z],n=new z(e[Z].headers);n.has(`Accept`)||n.set(`Accept`,`*/*`);let r=null;if(e.body===null&&/^(post|put)$/i.test(e.method)&&(r=`0`),e.body!==null){let t=ie(e);typeof t==`number`&&!Number.isNaN(t)&&(r=String(t))}r&&n.set(`Content-Length`,r),e.referrerPolicy===``&&(e.referrerPolicy=X),e.referrer&&e.referrer!==`no-referrer`?e[Z].referrer=ue(e):e[Z].referrer=`no-referrer`,e[Z].referrer instanceof URL&&n.set(`Referer`,e.referrer),n.has(`User-Agent`)||n.set(`User-Agent`,`node-fetch`),e.compress&&!n.has(`Accept-Encoding`)&&n.set(`Accept-Encoding`,`gzip, deflate, br`);let{agent:i}=e;typeof i==`function`&&(i=i(t));let a=K(t);return{parsedURL:t,options:{path:t.pathname+a,method:e.method,headers:n[Symbol.for(`nodejs.util.inspect.custom`)](),insecureHTTPParser:e.insecureHTTPParser,agent:i}}}})),ge,_e=e((()=>{b(),ge=class extends y{constructor(e,t=`aborted`){super(e,t)}}}));async function ve(e,t){return new Promise((n,r)=>{let i=new $(e,t),{parsedURL:a,options:o}=me(i);if(!be.has(a.protocol))throw TypeError(`node-fetch cannot load ${e}. URL scheme "${a.protocol.replace(/:$/,``)}" is not supported.`);if(a.protocol===`data:`){let e=te(i.url);n(new G(e,{headers:{"Content-Type":e.typeFull}}));return}let s=(a.protocol===`https:`?ee:_).request,{signal:d}=i,f=null,p=()=>{let e=new ge(`The operation was aborted.`);r(e),i.body&&i.body instanceof c.Readable&&i.body.destroy(e),!(!f||!f.body)&&f.body.emit(`error`,e)};if(d&&d.aborted){p();return}let m=()=>{p(),v()},h=s(a.toString(),o);d&&d.addEventListener(`abort`,m);let v=()=>{h.abort(),d&&d.removeEventListener(`abort`,m)};h.on(`error`,e=>{r(new x(`request to ${i.url} failed, reason: ${e.message}`,`system`,e)),v()}),ye(h,e=>{f&&f.body&&f.body.destroy(e)}),process.version<`v14`&&h.on(`socket`,e=>{let t;e.prependListener(`end`,()=>{t=e._eventsCount}),e.prependListener(`close`,n=>{if(f&&t<e._eventsCount&&!n){let e=Error(`Premature close`);e.code=`ERR_STREAM_PREMATURE_CLOSE`,f.body.emit(`error`,e)}})}),h.on(`response`,e=>{h.setTimeout(0);let a=ae(e.rawHeaders);if(H(e.statusCode)){let o=a.get(`Location`),s=null;try{s=o===null?null:new URL(o,i.url)}catch{if(i.redirect!==`manual`){r(new x(`uri requested responds with an invalid redirect URL: ${o}`,`invalid-redirect`)),v();return}}switch(i.redirect){case`error`:r(new x(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,`no-redirect`)),v();return;case`manual`:break;case`follow`:{if(s===null)break;if(i.counter>=i.follow){r(new x(`maximum redirect reached at: ${i.url}`,`max-redirect`)),v();return}let o={headers:new z(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:N(i),signal:i.signal,size:i.size,referrer:i.referrer,referrerPolicy:i.referrerPolicy};if(!E(i.url,s)||!D(i.url,s))for(let e of[`authorization`,`www-authenticate`,`cookie`,`cookie2`])o.headers.delete(e);if(e.statusCode!==303&&i.body&&t.body instanceof c.Readable){r(new x(`Cannot follow redirect with body being a readable stream`,`unsupported-redirect`)),v();return}(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&i.method===`POST`)&&(o.method=`GET`,o.body=void 0,o.headers.delete(`content-length`));let l=de(a);l&&(o.referrerPolicy=l),n(ve(new $(s,o))),v();return}default:return r(TypeError(`Redirect option '${i.redirect}' is not a valid value of RequestRedirect`))}}d&&e.once(`end`,()=>{d.removeEventListener(`abort`,m)});let o=u(e,new l,e=>{e&&r(e)});process.version<`v12.10`&&e.on(`aborted`,m);let s={url:i.url,status:e.statusCode,statusText:e.statusMessage,headers:a,size:i.size,counter:i.counter,highWaterMark:i.highWaterMark},p=a.get(`Content-Encoding`);if(!i.compress||i.method===`HEAD`||p===null||e.statusCode===204||e.statusCode===304){f=new G(o,s),n(f);return}let _={flush:g.Z_SYNC_FLUSH,finishFlush:g.Z_SYNC_FLUSH};if(p===`gzip`||p===`x-gzip`){o=u(o,g.createGunzip(_),e=>{e&&r(e)}),f=new G(o,s),n(f);return}if(p===`deflate`||p===`x-deflate`){let t=u(e,new l,e=>{e&&r(e)});t.once(`data`,e=>{o=(e[0]&15)==8?u(o,g.createInflate(),e=>{e&&r(e)}):u(o,g.createInflateRaw(),e=>{e&&r(e)}),f=new G(o,s),n(f)}),t.once(`end`,()=>{f||(f=new G(o,s),n(f))});return}if(p===`br`){o=u(o,g.createBrotliDecompress(),e=>{e&&r(e)}),f=new G(o,s),n(f);return}f=new G(o,s),n(f)}),F(h,i).catch(r)})}function ye(e,t){let n=h.from(`0\r
|
|
2
2
|
\r
|
|
3
3
|
`),r=!1,i=!1,a;e.on(`response`,e=>{let{headers:t}=e;r=t[`transfer-encoding`]===`chunked`&&!t[`content-length`]}),e.on(`socket`,o=>{let s=()=>{if(r&&!i){let e=Error(`Premature close`);e.code=`ERR_STREAM_PREMATURE_CLOSE`,t(e)}},c=e=>{i=h.compare(e.slice(-5),n)===0,!i&&a&&(i=h.compare(a.slice(-3),n.slice(0,3))===0&&h.compare(e.slice(-2),n.slice(3))===0),a=e};o.prependListener(`close`,s),o.on(`data`,c),e.on(`close`,()=>{o.removeListener(`close`,s),o.removeListener(`data`,c)})})}var be;e((()=>{v(),I(),oe(),B(),he(),ne(),_e(),U(),t(),O(),fe(),o(),be=new Set([`data:`,`http:`,`https:`])}))();export{ve as default};
|
package/dist/{subagent-announce-L5WsQatW--rMn240x.mjs → subagent-announce-L5WsQatW-DyZFJvpK.mjs}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as e}from"./home-dir-C44RaPME-
|
|
1
|
+
import{c as e}from"./home-dir-C44RaPME-BqOMy1pu.mjs";import{C as t,D as n,E as r,O as i,T as a,n as o}from"./target-parsing-loaded-DKkb6jJY-Bx7-SykE.mjs";import{n as s}from"./io-CH2g3vsv-BevbMdi6.mjs";import{C as c,T as l,_ as u,a as ee,b as d,c as f,d as p,f as m,g as h,h as te,i as g,l as _,m as v,n as y,o as b,p as x,r as S,s as C,t as w,u as T,v as E,w as ne,y as D}from"./subagent-system-prompt-C1qnN--K-bhNPmt0u.mjs";import{t as re}from"./message-channel-core-DTA--Gjh-DeWCDZu1.mjs";import"./message-channel-Bk_YHfQg-BGBJVvRK.mjs";import{P as O}from"./manifest-registry-_hxKCS2K-ezh_x2Cu.mjs";import{r as k}from"./session-key-Cn2QoOyX-BIh-9Y77.mjs";import{r as A}from"./delivery-context.shared-j5hC5qb1-DIY5v1oC.mjs";import{t as j}from"./call-DimWbpgJ-BnglLl-j.mjs";const M={callGateway:j,loadConfig:s,loadSubagentRegistryRuntime:F};let N=M,P=null;function F(){return P??=import(`./subagent-announce.registry.runtime-DiqZyeTs-WCL-itg8.mjs`),P}function ie(e){return e.requesterIsSubagent?`Convert this completion into a concise internal orchestration update for your parent agent in your own words. Keep this internal context private (don't mention system/log/stats/session details or announce type). If this result is duplicate or no update is needed, reply ONLY: ${t}.`:e.expectsCompletionMessage?`A completed ${e.announceType} is ready for user delivery. Convert the result above into your normal assistant voice and send that user-facing update now. Keep this internal context private (don't mention system/log/stats/session details or announce type).`:`A completed ${e.announceType} is ready for user delivery. Convert the result above into your normal assistant voice and send that user-facing update now. Keep this internal context private (don't mention system/log/stats/session details or announce type), and do not copy the internal event text verbatim. Reply ONLY: ${t} if this exact result was already delivered to the user in this same turn.`}function ae(e){return l(e)||`A background task finished. Process the completion update now.`}function I(e){if(!e||typeof e!=`object`)return!1;let t=e.sessionId;return typeof t!=`string`||t.trim()!==``}function L(e){return[`[Subagent Context] Your prior run ended while waiting for descendant subagent completions.`,`[Subagent Context] All pending descendants for that run have now settled.`,`[Subagent Context] Continue your workflow using these results. Spawn more subagents if needed, otherwise send your final answer.`,``,`Task: ${e.taskLabel}`,``,e.findings].join(`
|
|
2
2
|
`)}function R(e){let t=e.trim();for(;t.endsWith(`:wake`);)t=t.slice(0,-5);return t||e.trim()}function z(e){let t=e.trim();return t?R(t)!==t:!1}function B(e){let o=e,s=!1,c=r(o,t);return c&&(o=n(o,t),s=!0),(c||o.toLowerCase().includes(`no_reply`))&&(o=i(o,t),s=!0),s&&(!o.trim()||a(o,`NO_REPLY`)||u(o))?null:o}async function V(t){if(t.signal?.aborted||!I(b(t.childSessionKey)))return!1;let n=f(N.loadConfig()),r=L({findings:t.findings,taskLabel:t.taskLabel}),i=``;try{i=e((await T({operation:`descendant wake agent call`,signal:t.signal,run:async()=>await N.callGateway({method:`agent`,params:{sessionKey:t.childSessionKey,message:r,deliver:!1,inputProvenance:{kind:`inter_session`,sourceSessionKey:t.childSessionKey,sourceChannel:`webchat`,sourceTool:`subagent_announce`},idempotencyKey:S(`${t.announceId}:wake`)},timeoutMs:n})}))?.runId)??``}catch{return!1}if(!i)return!1;let{replaceSubagentRunAfterSteer:a}=await F();return a({previousRunId:t.runId,nextRunId:i,preserveFrozenResultFallback:!0})}async function H(t){let n=!1,r=t.expectsCompletionMessage===!0,i=t.announceType??`subagent task`,s=t.cleanup===`delete`;try{let l=t.requesterSessionKey,f=A(t.requesterOrigin),v=(()=>{let e=b(t.childSessionKey);return typeof e?.sessionId==`string`&&e.sessionId.trim()?e.sessionId.trim():void 0})(),w=Math.min(Math.max(t.timeoutMs,1),12e4),T=t.roundOneReply,j=t.outcome;if(v&&c(v)&&!await ne(v,w)&&c(v))return s=!1,!1;if(!T&&t.waitForCompletion!==!1){let e=p({wait:await d(t.childRunId,w),outcome:j,startedAt:t.startedAt,endedAt:t.endedAt});j=e.outcome,t.startedAt=e.startedAt,t.endedAt=e.endedAt}j||={status:`unknown`};let M=j.status===`error`;M&&(T=void 0);let P=o(l),L=()=>P>=1||k(l),H,U;try{if(U=await N.loadSubagentRegistryRuntime(),P>=1&&U.shouldIgnorePostCompletionAnnounceForSession(l))return!0;if(Math.max(0,U.countPendingDescendantRuns(t.childSessionKey))>0&&i!==`cron job`)return s=!1,!1;if(typeof U.listSubagentRunsForRequester==`function`){let e=U.listSubagentRunsForRequester(t.childSessionKey,{requesterRunId:t.childRunId});Array.isArray(e)&&e.length>0&&(H=m(te(h(e,{requesterSessionKey:t.childSessionKey,getLatestSubagentRunByChildSessionKey:U.getLatestSubagentRunByChildSessionKey}))))}}catch{}let W=y({childSessionKey:t.childSessionKey,childRunId:t.childRunId}),G=z(t.childRunId);if(t.wakeOnDescendantSettle===!0&&H?.trim()&&!G){let e=y({childSessionKey:t.childSessionKey,childRunId:R(t.childRunId)});if(await V({runId:t.childRunId,childSessionKey:t.childSessionKey,taskLabel:t.label||t.task||`task`,findings:H,announceId:e,signal:t.signal}))return s=!1,!0}if(!H&&!M){let n=e(t.fallbackReply),r=!!n&&(u(n)||a(n,`NO_REPLY`));if(T||=await D(t.childSessionKey,j),T?.trim()||(T=await E({sessionKey:t.childSessionKey,maxWaitMs:t.timeoutMs,outcome:j})),!T?.trim()&&n&&!r&&(T=n),j?.status===`timeout`&&T?.trim()&&t.waitForCompletion!==!1)try{let e=p({wait:await d(t.childRunId,0),outcome:j,startedAt:t.startedAt,endedAt:t.endedAt});j=e.outcome,t.startedAt=e.startedAt,t.endedAt=e.endedAt}catch{}if(u(T)||a(T,`NO_REPLY`))if(n&&!r){let e=B(n);if(e===null)return!0;T=e}else return!0;else if(T){let e=B(T);if(e===null)if(n&&!r){let e=B(n);if(e===null)return!0;T=e}else return!0;else T=e}}j||={status:`unknown`};let K=j.status===`ok`?`completed successfully`:j.status===`timeout`?`timed out`:j.status===`error`?`failed: ${j.error||`unknown error`}`:`finished with unknown status`,q=t.label||t.task||`task`,oe=v||`unknown`,se=H||T||`(no output)`,J=L();if(J){let{isSubagentSessionRunActive:e,resolveRequesterForChildSession:t,shouldIgnorePostCompletionAnnounceForSession:n}=U??await F();if(!e(l)){if(n(l))return!0;if(!I(b(l))){let e=t(l);if(!e?.requesterSessionKey)return s=!1,!1;l=e.requesterSessionKey,f=A(e.requesterOrigin)??f,P=o(l),J=L()}}}let ce=ie({requesterIsSubagent:J,announceType:i,expectsCompletionMessage:r}),le=await x({sessionKey:t.childSessionKey,startedAt:t.startedAt,endedAt:t.endedAt}),Y=[{type:`task_completion`,source:i===`cron job`?`cron`:`subagent`,childSessionKey:t.childSessionKey,childSessionId:oe,announceType:i,taskLabel:q,status:j.status,statusLabel:K,result:se,statsLine:le,replyInstruction:ce}],X=ae(Y),Z=f;if(!J){let{entry:e}=ee(l);Z=C(e,f)}let Q=r&&!J?await _({childSessionKey:t.childSessionKey,requesterSessionKey:l,requesterOrigin:Z,childRunId:t.childRunId,spawnMode:t.spawnMode,expectsCompletionMessage:r}):f,ue=S(W),$=await g({requesterSessionKey:l,announceId:W,triggerMessage:X,steerMessage:X,internalEvents:Y,summaryLine:q,requesterSessionOrigin:f,requesterOrigin:r&&!J?Q:f,completionDirectOrigin:Q,directOrigin:Z,sourceSessionKey:t.childSessionKey,sourceChannel:re,sourceTool:`subagent_announce`,targetRequesterSessionKey:l,requesterIsSubagent:J,expectsCompletionMessage:r,bestEffortDeliver:t.bestEffortDeliver,directIdempotencyKey:ue,signal:t.signal});n=$.delivered,!$.delivered&&$.path===`direct`&&$.error&&O.error?.(`Subagent completion direct announce failed for run ${t.childRunId}: ${$.error}`)}catch(e){O.error?.(`Subagent announce failed: ${String(e)}`)}finally{if(t.label)try{await N.callGateway({method:`sessions.patch`,params:{key:t.childSessionKey,label:t.label},timeoutMs:1e4})}catch{}if(s)try{await N.callGateway({method:`sessions.delete`,params:{key:t.childSessionKey,deleteTranscript:!0,emitLifecycleHooks:t.spawnMode===`session`},timeoutMs:1e4})}catch{}}return n}const U={setDepsForTest(e){N=e?{...M,...e}:M}};export{U as __testing,w as buildSubagentSystemPrompt,v as captureSubagentCompletionReply,H as runSubagentAnnounceFlow};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./delivery-context.shared-j5hC5qb1-
|
|
1
|
+
import{r as e}from"./delivery-context.shared-j5hC5qb1-DIY5v1oC.mjs";import{a as t,c as n,d as r,i,l as a,m as o,n as s,o as c,p as l,r as u,s as d}from"./subagent-registry-steer-runtime-DFgZFC0j-BlxUMPcM.mjs";function f(t){let n=r(d(o),t);return n?{requesterSessionKey:n.requesterSessionKey,requesterOrigin:e(n.requesterOrigin)}:null}function p(e){return n(o,e)}function m(e){return l(d(o),e)}function h(e,t){return a(o,e,t)}function g(e){return c(d(o),e)}function _(e,n){return t(d(o),e,n)}export{u as countActiveDescendantRuns,g as countPendingDescendantRuns,_ as countPendingDescendantRunsExcludingRun,i as getLatestSubagentRunByChildSessionKey,p as isSubagentSessionRunActive,h as listSubagentRunsForRequester,s as replaceSubagentRunAfterSteer,f as resolveRequesterForChildSession,m as shouldIgnorePostCompletionAnnounceForSession};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as e}from"./home-dir-C44RaPME-
|
|
1
|
+
import{d as e}from"./home-dir-C44RaPME-BqOMy1pu.mjs";import{o as t}from"./paths-D92DjaZ--CKAvIWoZ.mjs";import{r as n}from"./delivery-context.shared-j5hC5qb1-DIY5v1oC.mjs";import{n as r,t as i}from"./json-file-BQRNuxmK-DQHpAzI5.mjs";import a from"node:path";import o from"node:os";const s=new Map;function c(e,t,n){let r=t.trim();if(!r)return[];let i=n?.requesterRunId?.trim(),a=i?e.get(i):void 0,o=a&&a.childSessionKey===r?a:void 0,s=o?.startedAt??o?.createdAt,c=o?.endedAt;return[...e.values()].filter(e=>!(e.requesterSessionKey!==r||typeof s==`number`&&e.createdAt<s||typeof c==`number`&&e.createdAt>c))}function l(e,t){let n=t.trim();if(!n)return;let r;for(let t of e.values())t.childSessionKey===n&&(!r||t.createdAt>r.createdAt)&&(r=t);return r}function u(e,t){let n=l(e,t);return!!(n&&typeof n.endedAt!=`number`)}function d(e,t){let n=l(e,t);return n?{requesterSessionKey:n.requesterSessionKey,requesterOrigin:n.requesterOrigin}:null}function f(e,t){let n=l(e,t);return!!(n&&n.spawnMode!==`session`&&typeof n.endedAt==`number`&&typeof n.cleanupCompletedAt==`number`&&n.cleanupCompletedAt>=n.endedAt)}function p(e,t,n){let r=t.trim();if(!r)return!1;let i=[r],a=new Set([r]);for(let t=0;t<i.length;t+=1){let r=i[t];if(!r)continue;let o=new Map;for(let[t,n]of e.entries()){if(n.requesterSessionKey!==r)continue;let e=n.childSessionKey.trim(),i=o.get(e);(!i||n.createdAt>i[1].createdAt)&&o.set(e,[t,n])}for(let[t,s]of o.values()){let o=l(e,s.childSessionKey);if(!o||o.runId!==t||o.requesterSessionKey!==r)continue;n(t,s);let c=s.childSessionKey.trim();!c||a.has(c)||(a.add(c),i.push(c))}}return!0}function m(e,t){let n=0;return p(e,t,(e,t)=>{typeof t.endedAt!=`number`&&(n+=1)})?n:0}function h(e,t,n){let r=n?.trim(),i=0;return p(e,t,(e,t)=>{let n=typeof t.endedAt==`number`,a=typeof t.cleanupCompletedAt==`number`;(!n||!a)&&e!==r&&(i+=1)})?i:0}function g(e,t){return h(e,t)}function _(e,t,n){return h(e,t,n)}function v(e=process.env){return e.OPENCLAW_STATE_DIR?.trim()?t(e):e.VITEST||e.NODE_ENV===`test`?a.join(o.tmpdir(),`openclaw-test-state`,String(process.pid)):t(e)}function y(){return a.join(v(process.env),`subagents`,`runs.json`)}function b(){let t=i(y());if(!t||typeof t!=`object`)return new Map;let r=t;if(r.version!==1&&r.version!==2)return new Map;let a=r.runs;if(!a||typeof a!=`object`)return new Map;let o=new Map,s=r.version===1,c=!1;for(let[t,r]of Object.entries(a)){if(!r||typeof r!=`object`)continue;let i=r;if(!i.runId||typeof i.runId!=`string`)continue;let a=s&&typeof i.announceCompletedAt==`number`?i.announceCompletedAt:void 0,l=typeof i.cleanupCompletedAt==`number`?i.cleanupCompletedAt:a,u=typeof i.cleanupHandled==`boolean`?i.cleanupHandled:s?!!(i.announceHandled??l):void 0,d=n(i.requesterOrigin??{channel:e(i.requesterChannel),accountId:e(i.requesterAccountId)}),f=e(i.childSessionKey)?.trim()??``,p=e(i.requesterSessionKey)?.trim()??``,m=e(i.controllerSessionKey)?.trim()||p;if(!f||!p)continue;let{announceCompletedAt:h,announceHandled:g,requesterChannel:_,requesterAccountId:v,...y}=i;o.set(t,{...y,childSessionKey:f,requesterSessionKey:p,controllerSessionKey:m,requesterOrigin:d,cleanupCompletedAt:l,cleanupHandled:u,spawnMode:i.spawnMode===`session`?`session`:`run`}),s&&(c=!0)}if(c)try{x(o)}catch{}return o}function x(e){let t=y(),n={};for(let[t,r]of e.entries())n[t]=r;r(t,{version:2,runs:n})}function S(e){try{x(e)}catch{}}function C(e){let t=b();if(t.size===0)return 0;let n=0;for(let[r,i]of t.entries())!r||!i||e.mergeOnly&&e.runs.has(r)||(e.runs.set(r,i),n+=1);return n}function w(e){let t=new Map;if(process.env.OPENCLAW_TEST_READ_SUBAGENT_RUNS_FROM_DISK===`1`||!process.env.VITEST)try{for(let[e,n]of b().entries())t.set(e,n)}catch{}for(let[n,r]of e.entries())t.set(n,r);return t}function T(e){return m(w(s),e)}function E(e){let t=e.trim();if(!t)return null;let n=null;for(let e of w(s).values())e.childSessionKey===t&&(!n||e.createdAt>n.createdAt)&&(n=e);return n}let D=null;function O(e){D=e.replaceSubagentRunAfterSteer}function k(e){return D?.(e)??!1}export{_ as a,u as c,d,C as f,E as i,c as l,s as m,k as n,g as o,f as p,T as r,w as s,O as t,S as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e,l as t,o as n,s as r}from"./home-dir-C44RaPME-B5iLWwCq.mjs";import{o as i}from"./paths-D92DjaZ--DdtJ-zYp.mjs";import{n as a}from"./account-id-BM1T6029-BzQ_cMoi.mjs";import{s as o}from"./bundled-dir-U738ay4K-BxbzrJOo.mjs";import{T as s,m as c,n as l,t as u}from"./target-parsing-loaded-DKkb6jJY-B830OA1a.mjs";import{E as d,n as f}from"./io-CH2g3vsv-JJtUIa_U.mjs";import"./ids-BPsM98Uu-CJBJAeVC.mjs";import{t as ee}from"./runtime-channel-state-CohMybAh-BBzhl07Q.mjs";import{Mt as te,Rt as ne,Tt as re}from"./bundled-compat-BpaDaAAu-DJtrIX6i.mjs";import"./message-channel-core-DTA--Gjh-CIh10vfo.mjs";import{a as ie,c as ae,i as oe,o as se}from"./message-channel-Bk_YHfQg-n2Hw2Y0L.mjs";import{P as ce}from"./manifest-registry-_hxKCS2K-OL8KK_o4.mjs";import{C as p,_ as m,b as le,h as ue}from"./runtime-snapshot-C54O1-gI-DxusscPf.mjs";import"./runtime-Cym-fqI8-1GOIuRRQ.mjs";import{d as de,f as fe,o as pe,p as me,u as he}from"./loader-708jrx4Y-BbJRXNlQ.mjs";import{a as ge,l as h,r as _e}from"./session-key-Cn2QoOyX-QZeYmbxd.mjs";import"./config-Bim2pi8a-03N-28sw.mjs";import{a as g}from"./paths-D6msg0S1-BO4XgM1u.mjs";import{c as _}from"./transcript-E_-ISOkD-VTwb782D.mjs";import{n as v,r as y,t as ve}from"./delivery-context.shared-j5hC5qb1-BSLQG47q.mjs";import{i as b,t as ye}from"./diagnostic-ClMwNnUA-BMKvPQJT.mjs";import{a as be,i as xe,n as Se,o as Ce,r as we}from"./command-format-LSnUCVVF-Dn4h9IOh.mjs";import{n as Te,t as Ee}from"./json-file-BQRNuxmK-hRjIgOXI.mjs";import{t as De}from"./call-DimWbpgJ-B4pv55RH.mjs";import"./load-context-mb7uvLSn-3xYwSnOZ.mjs";import{n as Oe,r as ke,s as Ae}from"./assistant-visible-text-DuFWokAt-BOJV_zwc.mjs";import je from"node:fs";import Me from"node:path";import{spawn as Ne}from"node:child_process";import Pe from"node:crypto";import{PassThrough as Fe}from"node:stream";import Ie from"node:process";import{Client as Le}from"@modelcontextprotocol/sdk/client/index.js";import{SSEClientTransport as Re}from"@modelcontextprotocol/sdk/client/sse.js";import{StreamableHTTPClientTransport as ze}from"@modelcontextprotocol/sdk/client/streamableHttp.js";import{getDefaultEnvironment as Be}from"@modelcontextprotocol/sdk/client/stdio.js";import{ReadBuffer as Ve,serializeMessage as He}from"@modelcontextprotocol/sdk/shared/stdio.js";function Ue(t){let n=e(t.conversationId)??``,r=e(t.parentConversationId),{parentConversationId:i,...a}=t;return{...a,conversationId:n,...r&&r!==n?{parentConversationId:r}:{}}}function x(e){return{...Ue(e),channel:n(e.channel),accountId:a(e.accountId)}}function We(e){return`${n(e.channel)}:${a(e.accountId)}`}function Ge(e){return typeof e==`string`?e.trim():typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`?`${e}`.trim():``}const S=`generic:`;let Ke=!1;const C=new Map;function w(e){let t=x(e);return[t.channel,t.accountId,t.parentConversationId??``,t.conversationId].join(`␟`)}function qe(e){return`${S}${w(e)}`}function Je(e=process.env){return Me.join(i(e),`bindings`,`current-conversations.json`)}function T(e,t=Date.now()){return typeof e.expiresAt==`number`&&Number.isFinite(e.expiresAt)?e.expiresAt<=t:!1}function Ye(){return{version:1,bindings:[...C.values()].filter(e=>!T(e)).toSorted((e,t)=>e.bindingId.localeCompare(t.bindingId))}}function E(){if(Ke)return;Ke=!0,C.clear();let e=Ee(Je()),t=e?.version===1?e.bindings:[];for(let e of t??[]){if(!e?.bindingId||!e?.conversation?.conversationId||T(e))continue;let t=x(e.conversation),n=e.targetSessionKey?.trim()??``;n&&C.set(w(t),{...e,bindingId:qe(t),targetSessionKey:n,conversation:t})}}function D(){Te(Je(),Ye())}function O(e){E();let t=C.get(e)??null;return t?T(t)?(C.delete(e),D(),null):t:null}function Xe(e){let t=ne(e)??r(Ge(e));if(!t)return!1;let n=e=>e.id===t||(e.meta?.aliases??[]).some(e=>r(e)===t);return((ee()?.channels??[]).find(e=>n(e.plugin))?.plugin)?.conversationBindings?.supportsCurrentConversationBinding===!0}function Ze(e){return e.accountId,Xe(e.channel)?{adapterAvailable:!0,bindSupported:!0,unbindSupported:!0,placements:[`current`]}:null}async function Qe(e){let t=x(e.conversation),n=e.targetSessionKey.trim();if(!t.channel||!t.conversationId||!n)return null;E();let r=Date.now(),i=typeof e.ttlMs==`number`&&Number.isFinite(e.ttlMs)?Math.max(0,Math.floor(e.ttlMs)):void 0,a=w(t),o=O(a),s={bindingId:qe(t),targetSessionKey:n,targetKind:e.targetKind,conversation:t,status:`active`,boundAt:r,...i==null?{}:{expiresAt:r+i},metadata:{...o?.metadata,...e.metadata,lastActivityAt:r}};return C.set(a,s),D(),s}function $e(e){return O(w(e))}function et(e){E();let t=[];for(let n of C.keys()){let r=O(n);!r||r.targetSessionKey!==e||t.push(r)}return t}function tt(e,t=Date.now()){if(E(),!e.startsWith(S))return;let n=e.slice(8),r=O(n);r&&(C.set(n,{...r,metadata:{...r.metadata,lastActivityAt:t}}),D())}async function nt(e){E();let t=[],n=e.bindingId?.trim(),r=e.targetSessionKey?.trim();if(n?.startsWith(S)){let e=n.slice(8),r=O(e);return r&&(C.delete(e),t.push(r),D()),t}if(!r)return t;for(let e of C.keys()){let n=O(e);!n||n.targetSessionKey!==r||(C.delete(e),t.push(n))}return t.length>0&&D(),t}var k=class extends Error{constructor(e,t,n){super(t),this.code=e,this.details=n,this.name=`SessionBindingError`}};function rt(e){return We(e)}function it(e){return e===`current`||e===`child`?e:void 0}function at(e){return e.conversationId?`current`:`child`}function ot(e){let t=(e.capabilities?.placements?.map(e=>it(e)))?.filter(e=>!!e);return t&&t.length>0?[...new Set(t)]:[`current`,`child`]}function st(e){if(!e)return{adapterAvailable:!1,bindSupported:!1,unbindSupported:!1,placements:[]};let t=e.capabilities?.bindSupported??!!e.bind;return{adapterAvailable:!0,bindSupported:t,unbindSupported:e.capabilities?.unbindSupported??!!e.unbind,placements:t?ot(e):[]}}const ct=fe(Symbol.for(`openclaw.sessionBinding.adapters`));function lt(e){return ct.get(e)?.at(-1)?.normalizedAdapter??null}function ut(e){return dt({channel:e.channel,accountId:e.accountId})}function dt(e){return lt(rt({channel:e.channel,accountId:e.accountId}))}function ft(){return[...ct.values()].map(e=>e.at(-1)?.normalizedAdapter??null).filter(e=>!!e)}function pt(e){let t=new Map;for(let n of e)n?.bindingId&&t.set(n.bindingId,n);return[...t.values()]}function mt(){return{bind:async e=>{let t=x(e.conversation),n=ut(t);if(!n){if(Ze({channel:t.channel,accountId:t.accountId})?.bindSupported){let n=it(e.placement)??at(t);if(n!==`current`)throw new k(`BINDING_CAPABILITY_UNSUPPORTED`,`Session binding placement "${n}" is not supported for ${t.channel}:${t.accountId}`,{channel:t.channel,accountId:t.accountId,placement:n});let r=await Qe({...e,conversation:t,placement:n});if(!r)throw new k(`BINDING_CREATE_FAILED`,`Session binding adapter failed to bind target conversation`,{channel:t.channel,accountId:t.accountId,placement:n});return r}throw new k(`BINDING_ADAPTER_UNAVAILABLE`,`Session binding adapter unavailable for ${t.channel}:${t.accountId}`,{channel:t.channel,accountId:t.accountId})}if(!n.bind)throw new k(`BINDING_CAPABILITY_UNSUPPORTED`,`Session binding adapter does not support binding for ${t.channel}:${t.accountId}`,{channel:t.channel,accountId:t.accountId});let r=it(e.placement)??at(t);if(!ot(n).includes(r))throw new k(`BINDING_CAPABILITY_UNSUPPORTED`,`Session binding placement "${r}" is not supported for ${t.channel}:${t.accountId}`,{channel:t.channel,accountId:t.accountId,placement:r});let i=await n.bind({...e,conversation:t,placement:r});if(!i)throw new k(`BINDING_CREATE_FAILED`,`Session binding adapter failed to bind target conversation`,{channel:t.channel,accountId:t.accountId,placement:r});return i},getCapabilities:e=>{let t=dt({channel:e.channel,accountId:e.accountId});return t?st(t):Ze(e)??{adapterAvailable:!1,bindSupported:!1,unbindSupported:!1,placements:[]}},listBySession:e=>{let t=e.trim();if(!t)return[];let n=[];for(let e of ft()){let r=e.listBySession(t);r.length>0&&n.push(...r)}return n.push(...et(t)),pt(n)},resolveByConversation:e=>{let t=x(e);if(!t.channel||!t.conversationId)return null;let n=ut(t);return n?n.resolveByConversation(t):$e(t)},touch:(e,t)=>{let n=e.trim();if(n){for(let e of ft())e.touch?.(n,t);tt(n,t)}},unbind:async e=>{let t=[];for(let n of ft()){if(!n.unbind)continue;let r=await n.unbind(e);r.length>0&&t.push(...r)}return t.push(...await nt(e)),pt(t)}}}const ht=mt();function gt(){return ht}function _t(e,t){if(!Number.isFinite(e)||e<=0)return;let n=vt(t?.graceMs);if(process.platform===`win32`){St(e,n);return}bt(e,n)}function vt(e){return typeof e!=`number`||!Number.isFinite(e)?3e3:Math.max(0,Math.min(6e4,Math.floor(e)))}function yt(e){try{return process.kill(e,0),!0}catch{return!1}}function bt(e,t){try{process.kill(-e,`SIGTERM`)}catch{try{process.kill(e,`SIGTERM`)}catch{return}}setTimeout(()=>{if(yt(-e))try{process.kill(-e,`SIGKILL`);return}catch{}if(yt(e))try{process.kill(e,`SIGKILL`)}catch{}},t).unref()}function xt(e){try{Ne(`taskkill`,e,{stdio:`ignore`,detached:!0,windowsHide:!0})}catch{}}function St(e,t){xt([`/T`,`/PID`,String(e)]),setTimeout(()=>{yt(e)&&xt([`/F`,`/T`,`/PID`,String(e)])},t).unref()}const Ct=new Set([`token`,`key`,`api_key`,`apikey`,`secret`,`access_token`,`auth_token`,`password`,`pass`,`passwd`,`auth`,`client_secret`,`hook_token`,`refresh_token`,`signature`]);function wt(e){let t=n(e).replaceAll(`-`,`_`);return Ct.has(t)}function Tt(e){try{let t=new URL(e),n=!1;(t.username||t.password)&&(t.username=t.username?`***`:``,t.password=t.password?`***`:``,n=!0);for(let e of Array.from(t.searchParams.keys()))wt(e)&&(t.searchParams.set(e,`***`),n=!0);return n?t.toString():e}catch{return e}}function Et(e){let t=Tt(e);return t===e?e.replace(/\/\/([^@/?#]+)@/,`//***:***@`).replace(/([?&])([^=&]+)=([^&]*)/g,(e,t,n)=>wt(n)?`${t}${n}=***`:e):t}function Dt(e){return o(e)?Object.fromEntries(Object.entries(e).filter(([,e])=>o(e)).map(([e,t])=>[e,{...t}])):{}}const Ot=`/bin/sh`,kt=`echo 1000 > /proc/self/oom_score_adj 2>/dev/null; exec "$0" "$@"`,At=[`BASH_ENV`,`ENV`,`CDPATH`];function jt(e){switch(e?.trim().toLowerCase()){case`0`:case`false`:case`no`:case`off`:return!0;default:return!1}}let A=null;function Mt(){if(A!==null)return A;try{A=je.statSync(Ot).isFile()}catch{A=!1}return A}function Nt(e){return(e?.platform??process.platform)!==`linux`||jt((e?.env??process.env).OPENCLAW_CHILD_OOM_SCORE_ADJ)?!1:(e?.shellAvailable??Mt)()}function Pt(e,t){return e===Ot&&t[0]===`-c`&&t[1]===kt}function Ft(e){return!e.startsWith(`-`)}function It(e){let t={...e??process.env};for(let e of At)delete t[e];return t}function Lt(e,t=[],n){let r=[...t];return!e||!Ft(e)||!Nt(n)?{command:e,args:r,env:n?.env,wrapped:!1}:Pt(e,r)?{command:e,args:r,env:It(n?.env),wrapped:!0}:{command:Ot,args:[`-c`,kt,e,...r],env:It(n?.env),wrapped:!0}}function j(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Rt(e,t){if(!j(e))return;let n=!1,r=Object.entries(e).map(([e,r])=>t?.shouldDropKey?.(e)?(n=!0,t?.onDroppedEntry?.(e,r),null):typeof r==`string`?[e,r]:typeof r==`number`||typeof r==`boolean`?[e,String(r)]:(t?.onDroppedEntry?.(e,r),null)).filter(e=>e!==null);return r.length===0&&n&&t?.preserveEmptyWhenKeysDropped?{}:r.length>0?Object.fromEntries(r):void 0}function zt(e,t){return Rt(e,t)}function Bt(e,t){return Rt(e,{...t,preserveEmptyWhenKeysDropped:!0,shouldDropKey:e=>d(e)})}function Vt(e){if(!Array.isArray(e))return;let t=e.filter(e=>typeof e==`string`);return t.length>0?t:[]}function Ht(e,t){if(!j(e))return{ok:!1,reason:`server config must be an object`};if(typeof e.command!=`string`||e.command.trim().length===0)return typeof e.url==`string`&&e.url.trim().length>0?{ok:!1,reason:`not a stdio server (has url)`}:{ok:!1,reason:`its command is missing`};let n=typeof e.cwd==`string`&&e.cwd.trim().length>0?e.cwd:typeof e.workingDirectory==`string`&&e.workingDirectory.trim().length>0?e.workingDirectory:void 0;return{ok:!0,config:{command:e.command,args:Vt(e.args),env:Bt(e.env,{onDroppedEntry:t?.onDroppedEnv}),cwd:n}}}function Ut(e){let t=Array.isArray(e.args)&&e.args.length>0?` ${e.args.join(` `)}`:``,n=e.cwd?` (cwd=${e.cwd})`:``;return`${e.command}${t}${n}`}function Wt(e){let t=pe({workspaceDir:e.workspaceDir,cfg:e.cfg}),n=Dt(e.cfg?.mcp?.servers);return{mcpServers:{...t.config.mcpServers,...n},diagnostics:t.diagnostics}}const Gt=2e3;function Kt(e){return new Promise(t=>{setTimeout(t,e).unref()})}var qt=class{constructor(e){this.serverParams=e,this.readBuffer=new Ve,this.stderrStream=null,(e.stderr===`pipe`||e.stderr===`overlapped`)&&(this.stderrStream=new Fe)}async start(){if(this.process)throw Error(`OpenClawStdioClientTransport already started; Client.connect() starts transports automatically.`);await new Promise((e,t)=>{let n={...Be(),...this.serverParams.env},r=Lt(this.serverParams.command,this.serverParams.args??[],{env:n}),i=Ne(r.command,r.args,{cwd:this.serverParams.cwd,detached:Ie.platform!==`win32`,env:r.env,shell:!1,stdio:[`pipe`,`pipe`,this.serverParams.stderr??`inherit`],windowsHide:Ie.platform===`win32`});this.process=i,i.on(`error`,e=>{t(e),this.onerror?.(e)}),i.on(`spawn`,()=>e()),i.on(`close`,()=>{this.process=void 0,this.onclose?.()}),i.stdin?.on(`error`,e=>this.onerror?.(e)),i.stdout?.on(`data`,e=>{this.readBuffer.append(e),this.processReadBuffer()}),i.stdout?.on(`error`,e=>this.onerror?.(e)),this.stderrStream&&i.stderr&&i.stderr.pipe(this.stderrStream)})}get stderr(){return this.stderrStream??this.process?.stderr??null}get pid(){return this.process?.pid??null}processReadBuffer(){for(;;)try{let e=this.readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e instanceof Error?e:Error(String(e)))}}async close(){let e=this.process;if(this.process=void 0,e){let t=new Promise(t=>{e.once(`close`,()=>t())});try{e.stdin?.end()}catch{}await Promise.race([t,Kt(Gt)]),e.exitCode===null&&e.pid&&(_t(e.pid),await Promise.race([t,Kt(Gt)]))}this.readBuffer.clear()}send(e){return new Promise(t=>{let n=this.process?.stdin;if(!n)throw Error(`Not connected`);let r=He(e);n.write(r)?t():n.once(`drain`,t)})}};function Jt(e,t){if(!j(e))return{ok:!1,reason:`server config must be an object`};if(typeof e.url!=`string`||e.url.trim().length===0)return{ok:!1,reason:`its url is missing`};let n=e.url.trim(),r;try{r=new URL(n)}catch{return{ok:!1,reason:`its url is not a valid URL: ${Et(n)}`}}if(r.protocol!==`http:`&&r.protocol!==`https:`)return{ok:!1,reason:`only http and https URLs are supported, got ${r.protocol}`};let i;return e.headers!==void 0&&e.headers!==null&&(j(e.headers)?i=zt(e.headers,{onDroppedEntry:t?.onDroppedHeader}):t?.onMalformedHeaders?.(e.headers)),{ok:!0,config:{transportType:t?.transportType??`sse`,url:n,headers:i}}}function Yt(e){return Tt(e.url)}function Xt(e){return e&&typeof e==`object`&&typeof e.connectionTimeoutMs==`number`&&e.connectionTimeoutMs>0?e.connectionTimeoutMs:3e4}function Zt(e){return!e||typeof e!=`object`||typeof e.transport!=`string`?``:n(e.transport)}function Qt(e,t,n){let r=Jt(t,{transportType:n,onDroppedHeader:t=>{m(`bundle-mcp: server "${e}": header "${t}" has an unsupported value type and was ignored.`)},onMalformedHeaders:()=>{m(`bundle-mcp: server "${e}": "headers" must be a JSON object; the value was ignored.`)}});return r.ok?{kind:`http`,transportType:r.config.transportType,url:r.config.url,headers:r.config.headers,description:Yt(r.config),connectionTimeoutMs:Xt(t)}:null}function $t(e,t){let n=re(e),r=Zt(t),i=Ht(t,{onDroppedEnv:e=>{m(`bundle-mcp: server "${n}": env "${re(e)}" is blocked for stdio startup safety and was ignored.`)}});if(i.ok)return{kind:`stdio`,transportType:`stdio`,command:i.config.command,args:i.config.args,env:i.config.env,cwd:i.config.cwd,description:Ut(i.config),connectionTimeoutMs:Xt(t)};if(r&&r!==`sse`&&r!==`streamable-http`)return m(`bundle-mcp: skipped server "${n}" because transport "${re(r)}" is not supported.`),null;if(r===`streamable-http`){let n=Qt(e,t,`streamable-http`);if(n)return n}let a=Qt(e,t,`sse`);if(a)return a;let o=Jt(t),s=o.ok?`not an HTTP MCP server`:o.reason;return m(`bundle-mcp: skipped server "${n}" because ${i.reason} and ${s}.`),null}function en(t,n){let r=n.stderr;if(!r||typeof r.on!=`function`)return;let i=n=>{let r=e(typeof n==`string`?n:String(n))??``;if(r)for(let e of r.split(/\r?\n/)){let n=e.trim();n&&ue(`bundle-mcp:${t}: ${n}`)}};return r.on(`data`,i),()=>{typeof r.off==`function`?r.off(`data`,i):typeof r.removeListener==`function`&&r.removeListener(`data`,i)}}const tn=async(e,t)=>await Ae().fetch(e,t);function nn(e){return(t,n)=>{let r={};return n?.headers&&(n.headers instanceof Headers?n.headers.forEach((e,t)=>{r[t]=e}):Object.assign(r,n.headers)),tn(t,{...n,headers:{...r,...e}})}}function rn(e,t){let n=$t(e,t);if(!n)return null;if(n.kind===`stdio`){let t=new qt({command:n.command,args:n.args,env:n.env,cwd:n.cwd,stderr:`pipe`});return{transport:t,description:n.description,transportType:`stdio`,connectionTimeoutMs:n.connectionTimeoutMs,detachStderr:en(e,t)}}if(n.transportType===`streamable-http`)return{transport:new ze(new URL(n.url),{requestInit:n.headers?{headers:n.headers}:void 0}),description:n.description,transportType:`streamable-http`,connectionTimeoutMs:n.connectionTimeoutMs};let r={...n.headers},i=Object.keys(r).length>0;return{transport:new Re(new URL(n.url),{requestInit:i?{headers:r}:void 0,fetch:tn,eventSourceInit:{fetch:nn(r)}}),description:n.description,transportType:`sse`,connectionTimeoutMs:n.connectionTimeoutMs}}const an=/[^A-Za-z0-9_-]/g;function on(e,t,n){let r=e.trim().replace(an,`-`)||t;return n&&r.length>n?r.slice(0,n):r}function sn(e,t){let r=on(e,`mcp`,30),i=r,a=2;for(;t.has(n(i));){let e=`-${a}`;i=`${r.slice(0,Math.max(1,30-e.length))}${e}`,a+=1}return t.add(n(i)),i}const cn=Symbol.for(`openclaw.sessionMcpRuntimeManager`);function ln(e,t,n){return new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`MCP server connection timed out after ${n}ms`)),n);e.connect(t).then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})})}function un(e){return Et(String(e))}async function dn(e){let t=[],n;do{let r=await e.listTools(n?{cursor:n}:void 0);t.push(...r.tools),n=r.nextCursor}while(n);return t}async function M(e){e.detachStderr?.(),e.transportType===`streamable-http`&&await e.transport.terminateSession().catch(()=>{}),await e.transport.close().catch(()=>{}),await e.client.close().catch(()=>{})}function fn(e){return Pe.createHash(`sha1`).update(JSON.stringify(e)).digest(`hex`)}function pn(e){let t=Wt({workspaceDir:e.workspaceDir,cfg:e.cfg});if(e.logDiagnostics!==!1)for(let e of t.diagnostics)m(`bundle-mcp: ${e.pluginId}: ${e.message}`);return{loaded:t,fingerprint:fn(t.mcpServers)}}function mn(e){return Error(`bundle-mcp runtime disposed for session ${e}`)}function hn(t){let{loaded:n,fingerprint:r}=pn({workspaceDir:t.workspaceDir,cfg:t.cfg,logDiagnostics:!0}),i=Date.now(),a=i,o=!1,s=null,c,l=new Map,u=()=>{if(o)throw mn(t.sessionId)},d=async()=>{if(u(),s)return s;if(c)return c;c=(async()=>{if(Object.keys(n.mcpServers).length===0)return{version:1,generatedAt:Date.now(),servers:{},tools:[]};let t={},r=[],i=new Set;try{for(let[a,s]of Object.entries(n.mcpServers)){u();let n=rn(a,s);if(!n)continue;let c=sn(a,i);c!==a&&m(`bundle-mcp: server key "${a}" registered as "${c}" for provider-safe tool names.`);let d=new Le({name:`openclaw-bundle-mcp`,version:`0.0.0`},{}),f={serverName:a,client:d,transport:n.transport,transportType:n.transportType,detachStderr:n.detachStderr};l.set(a,f);try{u(),await ln(d,n.transport,n.connectionTimeoutMs),u();let i=await dn(d);u(),t[a]={serverName:a,launchSummary:n.description,toolCount:i.length};for(let t of i){let i=t.name.trim();i&&r.push({serverName:a,safeServerName:c,toolName:i,title:t.title,description:e(t.description),inputSchema:t.inputSchema,fallbackDescription:`Provided by bundle MCP server "${a}" (${n.description}).`})}}catch(e){o||m(`bundle-mcp: failed to start server "${a}" (${n.description}): ${un(e)}`),await M(f),l.delete(a),u()}}return u(),{version:1,generatedAt:Date.now(),servers:t,tools:r}}catch(e){throw await Promise.allSettled(Array.from(l.values(),e=>M(e))),l.clear(),e}})();try{let e=await c;return u(),s=e,e}finally{c=void 0}};return{sessionId:t.sessionId,sessionKey:t.sessionKey,workspaceDir:t.workspaceDir,configFingerprint:r,createdAt:i,get lastUsedAt(){return a},getCatalog:d,markUsed(){a=Date.now()},async callTool(e,t,n){u(),await d();let r=l.get(e);if(!r)throw Error(`bundle-mcp server "${e}" is not connected`);return await r.client.callTool({name:t,arguments:j(n)?n:{}})},async dispose(){if(o)return;o=!0,s=null,c=void 0;let e=Array.from(l.values());l.clear(),await Promise.allSettled(e.map(e=>M(e)))}}}function gn(e={}){let t=new Map,n=new Map,r=e.createRuntime??hn,i=new Map;return{async getOrCreate(e){e.sessionKey&&n.set(e.sessionKey,e.sessionId);let{fingerprint:a}=pn({workspaceDir:e.workspaceDir,cfg:e.cfg,logDiagnostics:!1}),o=t.get(e.sessionId);if(o)if(o.workspaceDir!==e.workspaceDir||o.configFingerprint!==a)t.delete(e.sessionId),await o.dispose();else return o.markUsed(),o;let s=i.get(e.sessionId);if(s){if(s.workspaceDir===e.workspaceDir&&s.configFingerprint===a)return s.promise;i.delete(e.sessionId);let n=await s.promise.catch(()=>void 0);t.delete(e.sessionId),await n?.dispose()}let c=Promise.resolve(r({sessionId:e.sessionId,sessionKey:e.sessionKey,workspaceDir:e.workspaceDir,cfg:e.cfg,configFingerprint:a})).then(n=>(n.markUsed(),t.set(e.sessionId,n),n));i.set(e.sessionId,{promise:c,workspaceDir:e.workspaceDir,configFingerprint:a});try{return await c}finally{i.delete(e.sessionId)}},bindSessionKey(e,t){n.set(e,t)},resolveSessionId(e){return n.get(e)},async disposeSession(e){let r=i.get(e);i.delete(e);let a=t.get(e);if(!a&&r&&(a=await r.promise.catch(()=>void 0)),t.delete(e),!a){for(let[t,r]of n.entries())r===e&&n.delete(t);return}for(let[t,r]of n.entries())r===e&&n.delete(t);await a.dispose()},async disposeAll(){let e=Array.from(i.values());i.clear();let r=Array.from(t.values());t.clear(),n.clear();let a=await Promise.all(e.map(async({promise:e})=>await e.catch(()=>void 0))),o=new Set(r);for(let e of a)e&&o.add(e);await Promise.allSettled(Array.from(o,e=>e.dispose()))},listSessionIds(){return Array.from(t.keys())}}}function _n(){return me(cn,gn)}async function vn(e){await _n().disposeSession(e)}async function yn(t){let n=e(t.sessionId);if(!n)return!1;try{return await vn(n),!0}catch(e){return t.onError?.(e,n,t.reason),!1}}async function bn(t){let n=e(t.sessionKey);return n?await yn({sessionId:_n().resolveSessionId(n),reason:t.reason,onError:t.onError}):!1}function xn(t){return typeof t==`number`&&Number.isFinite(t)?String(Math.trunc(t)):typeof t==`string`?e(t):void 0}function Sn(e){return{channel:typeof e.channel==`string`?ae(e.channel)??e.channel.trim():void 0,conversationId:xn(e.conversationId),parentConversationId:xn(e.parentConversationId)}}function Cn(e){let{channel:t,conversationId:n,parentConversationId:r}=Sn(e);if(!t||!n)return;let i=p(t)?le(p(t))?.messaging?.resolveDeliveryTarget?.({conversationId:n,parentConversationId:r}):null;return i?.to?.trim()?i.to.trim():`channel:${n}`}function wn(e){let{channel:t,conversationId:n,parentConversationId:r}=Sn(e),i=t&&n?le(p(t)??t)?.messaging?.resolveDeliveryTarget?.({conversationId:n,parentConversationId:r}):null;return i?{...i.to?.trim()?{to:i.to.trim()}:{},...i.threadId?.trim()?{threadId:i.threadId.trim()}:{}}:{to:Cn(e)}}function N(e){let t=r(e);if(t){if(t===`queue`||t===`queued`)return`steer`;if(t===`interrupt`||t===`interrupts`||t===`abort`)return`interrupt`;if(t===`steer`||t===`steering`)return`steer`;if(t===`followup`||t===`follow-ups`||t===`followups`)return`followup`;if(t===`collect`||t===`coalesce`)return`collect`;if(t===`steer+backlog`||t===`steer-backlog`||t===`steer_backlog`)return`steer-backlog`}}function Tn(e){let t=r(e);if(t){if(t===`old`||t===`oldest`)return`old`;if(t===`new`||t===`newest`)return`new`;if(t===`summarize`||t===`summary`)return`summarize`}}function P(e){e.droppedCount=0,e.summaryLines=[]}function En(e){return Fn({state:{dropPolicy:e.state.dropPolicy,droppedCount:e.state.droppedCount,summaryLines:[...e.state.summaryLines]},noun:e.noun,title:e.title})}function Dn(e){e.target.mode=e.settings.mode,e.target.debounceMs=typeof e.settings.debounceMs==`number`?Math.max(0,e.settings.debounceMs):e.target.debounceMs,e.target.cap=typeof e.settings.cap==`number`&&e.settings.cap>0?Math.floor(e.settings.cap):e.target.cap,e.target.dropPolicy=e.settings.dropPolicy??e.target.dropPolicy}function On(e,t=140){return e.length<=t?e:`${e.slice(0,Math.max(0,t-1)).trimEnd()}…`}function kn(e,t=160){return On(e.replace(/\s+/g,` `).trim(),t)}function An(e){let t=e.queue.cap;if(t<=0||e.queue.items.length<t)return!0;if(e.queue.dropPolicy===`new`)return!1;let n=e.queue.items.length-t+1,r=e.queue.items.splice(0,n);if(e.queue.dropPolicy===`summarize`){for(let t of r)e.queue.droppedCount+=1,e.queue.summaryLines.push(kn(e.summarize(t)));let n=Math.max(0,e.summaryLimit??t);for(;e.queue.summaryLines.length>n;)e.queue.summaryLines.shift()}return!0}function jn(e){if(process.env.OPENCLAW_TEST_FAST===`1`)return Promise.resolve();let t=Math.max(0,e.debounceMs);return t<=0?Promise.resolve():new Promise(n=>{let r=()=>{let i=Date.now()-e.lastEnqueuedAt;if(i>=t){n();return}setTimeout(r,t-i)};r()})}function Mn(e,t){let n=e.get(t);if(!(!n||n.draining))return n.draining=!0,n}async function F(e,t){let n=e[0];return n?(await t(n),e.shift(),!0):!1}async function Nn(e){return!e.forceIndividualCollect&&!e.isCrossChannel?`skipped`:(e.isCrossChannel&&e.setForceIndividualCollect?.(!0),await F(e.items,e.run)?`drained`:`empty`)}async function Pn(e){return await Nn({forceIndividualCollect:e.collectState.forceIndividualCollect,isCrossChannel:e.isCrossChannel,setForceIndividualCollect:t=>{e.collectState.forceIndividualCollect=t},items:e.items,run:e.run})}function Fn(e){if(e.state.dropPolicy!==`summarize`||e.state.droppedCount<=0)return;let t=e.noun,n=[e.title??`[Queue overflow] Dropped ${e.state.droppedCount} ${t}${e.state.droppedCount===1?``:`s`} due to cap.`];if(e.state.summaryLines.length>0){n.push(`Summary:`);for(let t of e.state.summaryLines)n.push(`- ${t}`)}return P(e.state),n.join(`
|
|
1
|
+
import{c as e,l as t,o as n,s as r}from"./home-dir-C44RaPME-BqOMy1pu.mjs";import{o as i}from"./paths-D92DjaZ--CKAvIWoZ.mjs";import{n as a}from"./account-id-BM1T6029-BvcZ99G0.mjs";import{s as o}from"./bundled-dir-U738ay4K-DxHVp4u1.mjs";import{T as s,m as c,n as l,t as u}from"./target-parsing-loaded-DKkb6jJY-Bx7-SykE.mjs";import{E as d,n as f}from"./io-CH2g3vsv-BevbMdi6.mjs";import"./ids-BPsM98Uu-DGJB5aAM.mjs";import{t as ee}from"./runtime-channel-state-CohMybAh-DfCjeyJq.mjs";import{Mt as te,Rt as ne,Tt as re}from"./bundled-compat-BpaDaAAu-DElY7pj-.mjs";import"./message-channel-core-DTA--Gjh-DeWCDZu1.mjs";import{a as ie,c as ae,i as oe,o as se}from"./message-channel-Bk_YHfQg-BGBJVvRK.mjs";import{P as ce}from"./manifest-registry-_hxKCS2K-ezh_x2Cu.mjs";import{C as p,_ as m,b as le,h as ue}from"./runtime-snapshot-C54O1-gI-0r2omPvJ.mjs";import"./runtime-Cym-fqI8-BuiEWXF-.mjs";import{d as de,f as fe,o as pe,p as me,u as he}from"./loader-708jrx4Y-eFvaGnCt.mjs";import{a as ge,l as h,r as _e}from"./session-key-Cn2QoOyX-BIh-9Y77.mjs";import"./config-Bim2pi8a-xbw-saVR.mjs";import{a as g}from"./paths-D6msg0S1-C3GtW9t2.mjs";import{c as _}from"./transcript-E_-ISOkD-STFNoSGx.mjs";import{n as v,r as y,t as ve}from"./delivery-context.shared-j5hC5qb1-DIY5v1oC.mjs";import{i as b,t as ye}from"./diagnostic-ClMwNnUA-BLmizo4w.mjs";import{a as be,i as xe,n as Se,o as Ce,r as we}from"./command-format-LSnUCVVF-Ck0yuZRk.mjs";import{n as Te,t as Ee}from"./json-file-BQRNuxmK-DQHpAzI5.mjs";import{t as De}from"./call-DimWbpgJ-BnglLl-j.mjs";import"./load-context-mb7uvLSn-C6DFwEWN.mjs";import{n as Oe,r as ke,s as Ae}from"./assistant-visible-text-DuFWokAt-GbRm46te.mjs";import je from"node:fs";import Me from"node:path";import{spawn as Ne}from"node:child_process";import Pe from"node:crypto";import{PassThrough as Fe}from"node:stream";import Ie from"node:process";import{Client as Le}from"@modelcontextprotocol/sdk/client/index.js";import{SSEClientTransport as Re}from"@modelcontextprotocol/sdk/client/sse.js";import{StreamableHTTPClientTransport as ze}from"@modelcontextprotocol/sdk/client/streamableHttp.js";import{getDefaultEnvironment as Be}from"@modelcontextprotocol/sdk/client/stdio.js";import{ReadBuffer as Ve,serializeMessage as He}from"@modelcontextprotocol/sdk/shared/stdio.js";function Ue(t){let n=e(t.conversationId)??``,r=e(t.parentConversationId),{parentConversationId:i,...a}=t;return{...a,conversationId:n,...r&&r!==n?{parentConversationId:r}:{}}}function x(e){return{...Ue(e),channel:n(e.channel),accountId:a(e.accountId)}}function We(e){return`${n(e.channel)}:${a(e.accountId)}`}function Ge(e){return typeof e==`string`?e.trim():typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`?`${e}`.trim():``}const S=`generic:`;let Ke=!1;const C=new Map;function w(e){let t=x(e);return[t.channel,t.accountId,t.parentConversationId??``,t.conversationId].join(`␟`)}function qe(e){return`${S}${w(e)}`}function Je(e=process.env){return Me.join(i(e),`bindings`,`current-conversations.json`)}function T(e,t=Date.now()){return typeof e.expiresAt==`number`&&Number.isFinite(e.expiresAt)?e.expiresAt<=t:!1}function Ye(){return{version:1,bindings:[...C.values()].filter(e=>!T(e)).toSorted((e,t)=>e.bindingId.localeCompare(t.bindingId))}}function E(){if(Ke)return;Ke=!0,C.clear();let e=Ee(Je()),t=e?.version===1?e.bindings:[];for(let e of t??[]){if(!e?.bindingId||!e?.conversation?.conversationId||T(e))continue;let t=x(e.conversation),n=e.targetSessionKey?.trim()??``;n&&C.set(w(t),{...e,bindingId:qe(t),targetSessionKey:n,conversation:t})}}function D(){Te(Je(),Ye())}function O(e){E();let t=C.get(e)??null;return t?T(t)?(C.delete(e),D(),null):t:null}function Xe(e){let t=ne(e)??r(Ge(e));if(!t)return!1;let n=e=>e.id===t||(e.meta?.aliases??[]).some(e=>r(e)===t);return((ee()?.channels??[]).find(e=>n(e.plugin))?.plugin)?.conversationBindings?.supportsCurrentConversationBinding===!0}function Ze(e){return e.accountId,Xe(e.channel)?{adapterAvailable:!0,bindSupported:!0,unbindSupported:!0,placements:[`current`]}:null}async function Qe(e){let t=x(e.conversation),n=e.targetSessionKey.trim();if(!t.channel||!t.conversationId||!n)return null;E();let r=Date.now(),i=typeof e.ttlMs==`number`&&Number.isFinite(e.ttlMs)?Math.max(0,Math.floor(e.ttlMs)):void 0,a=w(t),o=O(a),s={bindingId:qe(t),targetSessionKey:n,targetKind:e.targetKind,conversation:t,status:`active`,boundAt:r,...i==null?{}:{expiresAt:r+i},metadata:{...o?.metadata,...e.metadata,lastActivityAt:r}};return C.set(a,s),D(),s}function $e(e){return O(w(e))}function et(e){E();let t=[];for(let n of C.keys()){let r=O(n);!r||r.targetSessionKey!==e||t.push(r)}return t}function tt(e,t=Date.now()){if(E(),!e.startsWith(S))return;let n=e.slice(8),r=O(n);r&&(C.set(n,{...r,metadata:{...r.metadata,lastActivityAt:t}}),D())}async function nt(e){E();let t=[],n=e.bindingId?.trim(),r=e.targetSessionKey?.trim();if(n?.startsWith(S)){let e=n.slice(8),r=O(e);return r&&(C.delete(e),t.push(r),D()),t}if(!r)return t;for(let e of C.keys()){let n=O(e);!n||n.targetSessionKey!==r||(C.delete(e),t.push(n))}return t.length>0&&D(),t}var k=class extends Error{constructor(e,t,n){super(t),this.code=e,this.details=n,this.name=`SessionBindingError`}};function rt(e){return We(e)}function it(e){return e===`current`||e===`child`?e:void 0}function at(e){return e.conversationId?`current`:`child`}function ot(e){let t=(e.capabilities?.placements?.map(e=>it(e)))?.filter(e=>!!e);return t&&t.length>0?[...new Set(t)]:[`current`,`child`]}function st(e){if(!e)return{adapterAvailable:!1,bindSupported:!1,unbindSupported:!1,placements:[]};let t=e.capabilities?.bindSupported??!!e.bind;return{adapterAvailable:!0,bindSupported:t,unbindSupported:e.capabilities?.unbindSupported??!!e.unbind,placements:t?ot(e):[]}}const ct=fe(Symbol.for(`openclaw.sessionBinding.adapters`));function lt(e){return ct.get(e)?.at(-1)?.normalizedAdapter??null}function ut(e){return dt({channel:e.channel,accountId:e.accountId})}function dt(e){return lt(rt({channel:e.channel,accountId:e.accountId}))}function ft(){return[...ct.values()].map(e=>e.at(-1)?.normalizedAdapter??null).filter(e=>!!e)}function pt(e){let t=new Map;for(let n of e)n?.bindingId&&t.set(n.bindingId,n);return[...t.values()]}function mt(){return{bind:async e=>{let t=x(e.conversation),n=ut(t);if(!n){if(Ze({channel:t.channel,accountId:t.accountId})?.bindSupported){let n=it(e.placement)??at(t);if(n!==`current`)throw new k(`BINDING_CAPABILITY_UNSUPPORTED`,`Session binding placement "${n}" is not supported for ${t.channel}:${t.accountId}`,{channel:t.channel,accountId:t.accountId,placement:n});let r=await Qe({...e,conversation:t,placement:n});if(!r)throw new k(`BINDING_CREATE_FAILED`,`Session binding adapter failed to bind target conversation`,{channel:t.channel,accountId:t.accountId,placement:n});return r}throw new k(`BINDING_ADAPTER_UNAVAILABLE`,`Session binding adapter unavailable for ${t.channel}:${t.accountId}`,{channel:t.channel,accountId:t.accountId})}if(!n.bind)throw new k(`BINDING_CAPABILITY_UNSUPPORTED`,`Session binding adapter does not support binding for ${t.channel}:${t.accountId}`,{channel:t.channel,accountId:t.accountId});let r=it(e.placement)??at(t);if(!ot(n).includes(r))throw new k(`BINDING_CAPABILITY_UNSUPPORTED`,`Session binding placement "${r}" is not supported for ${t.channel}:${t.accountId}`,{channel:t.channel,accountId:t.accountId,placement:r});let i=await n.bind({...e,conversation:t,placement:r});if(!i)throw new k(`BINDING_CREATE_FAILED`,`Session binding adapter failed to bind target conversation`,{channel:t.channel,accountId:t.accountId,placement:r});return i},getCapabilities:e=>{let t=dt({channel:e.channel,accountId:e.accountId});return t?st(t):Ze(e)??{adapterAvailable:!1,bindSupported:!1,unbindSupported:!1,placements:[]}},listBySession:e=>{let t=e.trim();if(!t)return[];let n=[];for(let e of ft()){let r=e.listBySession(t);r.length>0&&n.push(...r)}return n.push(...et(t)),pt(n)},resolveByConversation:e=>{let t=x(e);if(!t.channel||!t.conversationId)return null;let n=ut(t);return n?n.resolveByConversation(t):$e(t)},touch:(e,t)=>{let n=e.trim();if(n){for(let e of ft())e.touch?.(n,t);tt(n,t)}},unbind:async e=>{let t=[];for(let n of ft()){if(!n.unbind)continue;let r=await n.unbind(e);r.length>0&&t.push(...r)}return t.push(...await nt(e)),pt(t)}}}const ht=mt();function gt(){return ht}function _t(e,t){if(!Number.isFinite(e)||e<=0)return;let n=vt(t?.graceMs);if(process.platform===`win32`){St(e,n);return}bt(e,n)}function vt(e){return typeof e!=`number`||!Number.isFinite(e)?3e3:Math.max(0,Math.min(6e4,Math.floor(e)))}function yt(e){try{return process.kill(e,0),!0}catch{return!1}}function bt(e,t){try{process.kill(-e,`SIGTERM`)}catch{try{process.kill(e,`SIGTERM`)}catch{return}}setTimeout(()=>{if(yt(-e))try{process.kill(-e,`SIGKILL`);return}catch{}if(yt(e))try{process.kill(e,`SIGKILL`)}catch{}},t).unref()}function xt(e){try{Ne(`taskkill`,e,{stdio:`ignore`,detached:!0,windowsHide:!0})}catch{}}function St(e,t){xt([`/T`,`/PID`,String(e)]),setTimeout(()=>{yt(e)&&xt([`/F`,`/T`,`/PID`,String(e)])},t).unref()}const Ct=new Set([`token`,`key`,`api_key`,`apikey`,`secret`,`access_token`,`auth_token`,`password`,`pass`,`passwd`,`auth`,`client_secret`,`hook_token`,`refresh_token`,`signature`]);function wt(e){let t=n(e).replaceAll(`-`,`_`);return Ct.has(t)}function Tt(e){try{let t=new URL(e),n=!1;(t.username||t.password)&&(t.username=t.username?`***`:``,t.password=t.password?`***`:``,n=!0);for(let e of Array.from(t.searchParams.keys()))wt(e)&&(t.searchParams.set(e,`***`),n=!0);return n?t.toString():e}catch{return e}}function Et(e){let t=Tt(e);return t===e?e.replace(/\/\/([^@/?#]+)@/,`//***:***@`).replace(/([?&])([^=&]+)=([^&]*)/g,(e,t,n)=>wt(n)?`${t}${n}=***`:e):t}function Dt(e){return o(e)?Object.fromEntries(Object.entries(e).filter(([,e])=>o(e)).map(([e,t])=>[e,{...t}])):{}}const Ot=`/bin/sh`,kt=`echo 1000 > /proc/self/oom_score_adj 2>/dev/null; exec "$0" "$@"`,At=[`BASH_ENV`,`ENV`,`CDPATH`];function jt(e){switch(e?.trim().toLowerCase()){case`0`:case`false`:case`no`:case`off`:return!0;default:return!1}}let A=null;function Mt(){if(A!==null)return A;try{A=je.statSync(Ot).isFile()}catch{A=!1}return A}function Nt(e){return(e?.platform??process.platform)!==`linux`||jt((e?.env??process.env).OPENCLAW_CHILD_OOM_SCORE_ADJ)?!1:(e?.shellAvailable??Mt)()}function Pt(e,t){return e===Ot&&t[0]===`-c`&&t[1]===kt}function Ft(e){return!e.startsWith(`-`)}function It(e){let t={...e??process.env};for(let e of At)delete t[e];return t}function Lt(e,t=[],n){let r=[...t];return!e||!Ft(e)||!Nt(n)?{command:e,args:r,env:n?.env,wrapped:!1}:Pt(e,r)?{command:e,args:r,env:It(n?.env),wrapped:!0}:{command:Ot,args:[`-c`,kt,e,...r],env:It(n?.env),wrapped:!0}}function j(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Rt(e,t){if(!j(e))return;let n=!1,r=Object.entries(e).map(([e,r])=>t?.shouldDropKey?.(e)?(n=!0,t?.onDroppedEntry?.(e,r),null):typeof r==`string`?[e,r]:typeof r==`number`||typeof r==`boolean`?[e,String(r)]:(t?.onDroppedEntry?.(e,r),null)).filter(e=>e!==null);return r.length===0&&n&&t?.preserveEmptyWhenKeysDropped?{}:r.length>0?Object.fromEntries(r):void 0}function zt(e,t){return Rt(e,t)}function Bt(e,t){return Rt(e,{...t,preserveEmptyWhenKeysDropped:!0,shouldDropKey:e=>d(e)})}function Vt(e){if(!Array.isArray(e))return;let t=e.filter(e=>typeof e==`string`);return t.length>0?t:[]}function Ht(e,t){if(!j(e))return{ok:!1,reason:`server config must be an object`};if(typeof e.command!=`string`||e.command.trim().length===0)return typeof e.url==`string`&&e.url.trim().length>0?{ok:!1,reason:`not a stdio server (has url)`}:{ok:!1,reason:`its command is missing`};let n=typeof e.cwd==`string`&&e.cwd.trim().length>0?e.cwd:typeof e.workingDirectory==`string`&&e.workingDirectory.trim().length>0?e.workingDirectory:void 0;return{ok:!0,config:{command:e.command,args:Vt(e.args),env:Bt(e.env,{onDroppedEntry:t?.onDroppedEnv}),cwd:n}}}function Ut(e){let t=Array.isArray(e.args)&&e.args.length>0?` ${e.args.join(` `)}`:``,n=e.cwd?` (cwd=${e.cwd})`:``;return`${e.command}${t}${n}`}function Wt(e){let t=pe({workspaceDir:e.workspaceDir,cfg:e.cfg}),n=Dt(e.cfg?.mcp?.servers);return{mcpServers:{...t.config.mcpServers,...n},diagnostics:t.diagnostics}}const Gt=2e3;function Kt(e){return new Promise(t=>{setTimeout(t,e).unref()})}var qt=class{constructor(e){this.serverParams=e,this.readBuffer=new Ve,this.stderrStream=null,(e.stderr===`pipe`||e.stderr===`overlapped`)&&(this.stderrStream=new Fe)}async start(){if(this.process)throw Error(`OpenClawStdioClientTransport already started; Client.connect() starts transports automatically.`);await new Promise((e,t)=>{let n={...Be(),...this.serverParams.env},r=Lt(this.serverParams.command,this.serverParams.args??[],{env:n}),i=Ne(r.command,r.args,{cwd:this.serverParams.cwd,detached:Ie.platform!==`win32`,env:r.env,shell:!1,stdio:[`pipe`,`pipe`,this.serverParams.stderr??`inherit`],windowsHide:Ie.platform===`win32`});this.process=i,i.on(`error`,e=>{t(e),this.onerror?.(e)}),i.on(`spawn`,()=>e()),i.on(`close`,()=>{this.process=void 0,this.onclose?.()}),i.stdin?.on(`error`,e=>this.onerror?.(e)),i.stdout?.on(`data`,e=>{this.readBuffer.append(e),this.processReadBuffer()}),i.stdout?.on(`error`,e=>this.onerror?.(e)),this.stderrStream&&i.stderr&&i.stderr.pipe(this.stderrStream)})}get stderr(){return this.stderrStream??this.process?.stderr??null}get pid(){return this.process?.pid??null}processReadBuffer(){for(;;)try{let e=this.readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e instanceof Error?e:Error(String(e)))}}async close(){let e=this.process;if(this.process=void 0,e){let t=new Promise(t=>{e.once(`close`,()=>t())});try{e.stdin?.end()}catch{}await Promise.race([t,Kt(Gt)]),e.exitCode===null&&e.pid&&(_t(e.pid),await Promise.race([t,Kt(Gt)]))}this.readBuffer.clear()}send(e){return new Promise(t=>{let n=this.process?.stdin;if(!n)throw Error(`Not connected`);let r=He(e);n.write(r)?t():n.once(`drain`,t)})}};function Jt(e,t){if(!j(e))return{ok:!1,reason:`server config must be an object`};if(typeof e.url!=`string`||e.url.trim().length===0)return{ok:!1,reason:`its url is missing`};let n=e.url.trim(),r;try{r=new URL(n)}catch{return{ok:!1,reason:`its url is not a valid URL: ${Et(n)}`}}if(r.protocol!==`http:`&&r.protocol!==`https:`)return{ok:!1,reason:`only http and https URLs are supported, got ${r.protocol}`};let i;return e.headers!==void 0&&e.headers!==null&&(j(e.headers)?i=zt(e.headers,{onDroppedEntry:t?.onDroppedHeader}):t?.onMalformedHeaders?.(e.headers)),{ok:!0,config:{transportType:t?.transportType??`sse`,url:n,headers:i}}}function Yt(e){return Tt(e.url)}function Xt(e){return e&&typeof e==`object`&&typeof e.connectionTimeoutMs==`number`&&e.connectionTimeoutMs>0?e.connectionTimeoutMs:3e4}function Zt(e){return!e||typeof e!=`object`||typeof e.transport!=`string`?``:n(e.transport)}function Qt(e,t,n){let r=Jt(t,{transportType:n,onDroppedHeader:t=>{m(`bundle-mcp: server "${e}": header "${t}" has an unsupported value type and was ignored.`)},onMalformedHeaders:()=>{m(`bundle-mcp: server "${e}": "headers" must be a JSON object; the value was ignored.`)}});return r.ok?{kind:`http`,transportType:r.config.transportType,url:r.config.url,headers:r.config.headers,description:Yt(r.config),connectionTimeoutMs:Xt(t)}:null}function $t(e,t){let n=re(e),r=Zt(t),i=Ht(t,{onDroppedEnv:e=>{m(`bundle-mcp: server "${n}": env "${re(e)}" is blocked for stdio startup safety and was ignored.`)}});if(i.ok)return{kind:`stdio`,transportType:`stdio`,command:i.config.command,args:i.config.args,env:i.config.env,cwd:i.config.cwd,description:Ut(i.config),connectionTimeoutMs:Xt(t)};if(r&&r!==`sse`&&r!==`streamable-http`)return m(`bundle-mcp: skipped server "${n}" because transport "${re(r)}" is not supported.`),null;if(r===`streamable-http`){let n=Qt(e,t,`streamable-http`);if(n)return n}let a=Qt(e,t,`sse`);if(a)return a;let o=Jt(t),s=o.ok?`not an HTTP MCP server`:o.reason;return m(`bundle-mcp: skipped server "${n}" because ${i.reason} and ${s}.`),null}function en(t,n){let r=n.stderr;if(!r||typeof r.on!=`function`)return;let i=n=>{let r=e(typeof n==`string`?n:String(n))??``;if(r)for(let e of r.split(/\r?\n/)){let n=e.trim();n&&ue(`bundle-mcp:${t}: ${n}`)}};return r.on(`data`,i),()=>{typeof r.off==`function`?r.off(`data`,i):typeof r.removeListener==`function`&&r.removeListener(`data`,i)}}const tn=async(e,t)=>await Ae().fetch(e,t);function nn(e){return(t,n)=>{let r={};return n?.headers&&(n.headers instanceof Headers?n.headers.forEach((e,t)=>{r[t]=e}):Object.assign(r,n.headers)),tn(t,{...n,headers:{...r,...e}})}}function rn(e,t){let n=$t(e,t);if(!n)return null;if(n.kind===`stdio`){let t=new qt({command:n.command,args:n.args,env:n.env,cwd:n.cwd,stderr:`pipe`});return{transport:t,description:n.description,transportType:`stdio`,connectionTimeoutMs:n.connectionTimeoutMs,detachStderr:en(e,t)}}if(n.transportType===`streamable-http`)return{transport:new ze(new URL(n.url),{requestInit:n.headers?{headers:n.headers}:void 0}),description:n.description,transportType:`streamable-http`,connectionTimeoutMs:n.connectionTimeoutMs};let r={...n.headers},i=Object.keys(r).length>0;return{transport:new Re(new URL(n.url),{requestInit:i?{headers:r}:void 0,fetch:tn,eventSourceInit:{fetch:nn(r)}}),description:n.description,transportType:`sse`,connectionTimeoutMs:n.connectionTimeoutMs}}const an=/[^A-Za-z0-9_-]/g;function on(e,t,n){let r=e.trim().replace(an,`-`)||t;return n&&r.length>n?r.slice(0,n):r}function sn(e,t){let r=on(e,`mcp`,30),i=r,a=2;for(;t.has(n(i));){let e=`-${a}`;i=`${r.slice(0,Math.max(1,30-e.length))}${e}`,a+=1}return t.add(n(i)),i}const cn=Symbol.for(`openclaw.sessionMcpRuntimeManager`);function ln(e,t,n){return new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`MCP server connection timed out after ${n}ms`)),n);e.connect(t).then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})})}function un(e){return Et(String(e))}async function dn(e){let t=[],n;do{let r=await e.listTools(n?{cursor:n}:void 0);t.push(...r.tools),n=r.nextCursor}while(n);return t}async function M(e){e.detachStderr?.(),e.transportType===`streamable-http`&&await e.transport.terminateSession().catch(()=>{}),await e.transport.close().catch(()=>{}),await e.client.close().catch(()=>{})}function fn(e){return Pe.createHash(`sha1`).update(JSON.stringify(e)).digest(`hex`)}function pn(e){let t=Wt({workspaceDir:e.workspaceDir,cfg:e.cfg});if(e.logDiagnostics!==!1)for(let e of t.diagnostics)m(`bundle-mcp: ${e.pluginId}: ${e.message}`);return{loaded:t,fingerprint:fn(t.mcpServers)}}function mn(e){return Error(`bundle-mcp runtime disposed for session ${e}`)}function hn(t){let{loaded:n,fingerprint:r}=pn({workspaceDir:t.workspaceDir,cfg:t.cfg,logDiagnostics:!0}),i=Date.now(),a=i,o=!1,s=null,c,l=new Map,u=()=>{if(o)throw mn(t.sessionId)},d=async()=>{if(u(),s)return s;if(c)return c;c=(async()=>{if(Object.keys(n.mcpServers).length===0)return{version:1,generatedAt:Date.now(),servers:{},tools:[]};let t={},r=[],i=new Set;try{for(let[a,s]of Object.entries(n.mcpServers)){u();let n=rn(a,s);if(!n)continue;let c=sn(a,i);c!==a&&m(`bundle-mcp: server key "${a}" registered as "${c}" for provider-safe tool names.`);let d=new Le({name:`openclaw-bundle-mcp`,version:`0.0.0`},{}),f={serverName:a,client:d,transport:n.transport,transportType:n.transportType,detachStderr:n.detachStderr};l.set(a,f);try{u(),await ln(d,n.transport,n.connectionTimeoutMs),u();let i=await dn(d);u(),t[a]={serverName:a,launchSummary:n.description,toolCount:i.length};for(let t of i){let i=t.name.trim();i&&r.push({serverName:a,safeServerName:c,toolName:i,title:t.title,description:e(t.description),inputSchema:t.inputSchema,fallbackDescription:`Provided by bundle MCP server "${a}" (${n.description}).`})}}catch(e){o||m(`bundle-mcp: failed to start server "${a}" (${n.description}): ${un(e)}`),await M(f),l.delete(a),u()}}return u(),{version:1,generatedAt:Date.now(),servers:t,tools:r}}catch(e){throw await Promise.allSettled(Array.from(l.values(),e=>M(e))),l.clear(),e}})();try{let e=await c;return u(),s=e,e}finally{c=void 0}};return{sessionId:t.sessionId,sessionKey:t.sessionKey,workspaceDir:t.workspaceDir,configFingerprint:r,createdAt:i,get lastUsedAt(){return a},getCatalog:d,markUsed(){a=Date.now()},async callTool(e,t,n){u(),await d();let r=l.get(e);if(!r)throw Error(`bundle-mcp server "${e}" is not connected`);return await r.client.callTool({name:t,arguments:j(n)?n:{}})},async dispose(){if(o)return;o=!0,s=null,c=void 0;let e=Array.from(l.values());l.clear(),await Promise.allSettled(e.map(e=>M(e)))}}}function gn(e={}){let t=new Map,n=new Map,r=e.createRuntime??hn,i=new Map;return{async getOrCreate(e){e.sessionKey&&n.set(e.sessionKey,e.sessionId);let{fingerprint:a}=pn({workspaceDir:e.workspaceDir,cfg:e.cfg,logDiagnostics:!1}),o=t.get(e.sessionId);if(o)if(o.workspaceDir!==e.workspaceDir||o.configFingerprint!==a)t.delete(e.sessionId),await o.dispose();else return o.markUsed(),o;let s=i.get(e.sessionId);if(s){if(s.workspaceDir===e.workspaceDir&&s.configFingerprint===a)return s.promise;i.delete(e.sessionId);let n=await s.promise.catch(()=>void 0);t.delete(e.sessionId),await n?.dispose()}let c=Promise.resolve(r({sessionId:e.sessionId,sessionKey:e.sessionKey,workspaceDir:e.workspaceDir,cfg:e.cfg,configFingerprint:a})).then(n=>(n.markUsed(),t.set(e.sessionId,n),n));i.set(e.sessionId,{promise:c,workspaceDir:e.workspaceDir,configFingerprint:a});try{return await c}finally{i.delete(e.sessionId)}},bindSessionKey(e,t){n.set(e,t)},resolveSessionId(e){return n.get(e)},async disposeSession(e){let r=i.get(e);i.delete(e);let a=t.get(e);if(!a&&r&&(a=await r.promise.catch(()=>void 0)),t.delete(e),!a){for(let[t,r]of n.entries())r===e&&n.delete(t);return}for(let[t,r]of n.entries())r===e&&n.delete(t);await a.dispose()},async disposeAll(){let e=Array.from(i.values());i.clear();let r=Array.from(t.values());t.clear(),n.clear();let a=await Promise.all(e.map(async({promise:e})=>await e.catch(()=>void 0))),o=new Set(r);for(let e of a)e&&o.add(e);await Promise.allSettled(Array.from(o,e=>e.dispose()))},listSessionIds(){return Array.from(t.keys())}}}function _n(){return me(cn,gn)}async function vn(e){await _n().disposeSession(e)}async function yn(t){let n=e(t.sessionId);if(!n)return!1;try{return await vn(n),!0}catch(e){return t.onError?.(e,n,t.reason),!1}}async function bn(t){let n=e(t.sessionKey);return n?await yn({sessionId:_n().resolveSessionId(n),reason:t.reason,onError:t.onError}):!1}function xn(t){return typeof t==`number`&&Number.isFinite(t)?String(Math.trunc(t)):typeof t==`string`?e(t):void 0}function Sn(e){return{channel:typeof e.channel==`string`?ae(e.channel)??e.channel.trim():void 0,conversationId:xn(e.conversationId),parentConversationId:xn(e.parentConversationId)}}function Cn(e){let{channel:t,conversationId:n,parentConversationId:r}=Sn(e);if(!t||!n)return;let i=p(t)?le(p(t))?.messaging?.resolveDeliveryTarget?.({conversationId:n,parentConversationId:r}):null;return i?.to?.trim()?i.to.trim():`channel:${n}`}function wn(e){let{channel:t,conversationId:n,parentConversationId:r}=Sn(e),i=t&&n?le(p(t)??t)?.messaging?.resolveDeliveryTarget?.({conversationId:n,parentConversationId:r}):null;return i?{...i.to?.trim()?{to:i.to.trim()}:{},...i.threadId?.trim()?{threadId:i.threadId.trim()}:{}}:{to:Cn(e)}}function N(e){let t=r(e);if(t){if(t===`queue`||t===`queued`)return`steer`;if(t===`interrupt`||t===`interrupts`||t===`abort`)return`interrupt`;if(t===`steer`||t===`steering`)return`steer`;if(t===`followup`||t===`follow-ups`||t===`followups`)return`followup`;if(t===`collect`||t===`coalesce`)return`collect`;if(t===`steer+backlog`||t===`steer-backlog`||t===`steer_backlog`)return`steer-backlog`}}function Tn(e){let t=r(e);if(t){if(t===`old`||t===`oldest`)return`old`;if(t===`new`||t===`newest`)return`new`;if(t===`summarize`||t===`summary`)return`summarize`}}function P(e){e.droppedCount=0,e.summaryLines=[]}function En(e){return Fn({state:{dropPolicy:e.state.dropPolicy,droppedCount:e.state.droppedCount,summaryLines:[...e.state.summaryLines]},noun:e.noun,title:e.title})}function Dn(e){e.target.mode=e.settings.mode,e.target.debounceMs=typeof e.settings.debounceMs==`number`?Math.max(0,e.settings.debounceMs):e.target.debounceMs,e.target.cap=typeof e.settings.cap==`number`&&e.settings.cap>0?Math.floor(e.settings.cap):e.target.cap,e.target.dropPolicy=e.settings.dropPolicy??e.target.dropPolicy}function On(e,t=140){return e.length<=t?e:`${e.slice(0,Math.max(0,t-1)).trimEnd()}…`}function kn(e,t=160){return On(e.replace(/\s+/g,` `).trim(),t)}function An(e){let t=e.queue.cap;if(t<=0||e.queue.items.length<t)return!0;if(e.queue.dropPolicy===`new`)return!1;let n=e.queue.items.length-t+1,r=e.queue.items.splice(0,n);if(e.queue.dropPolicy===`summarize`){for(let t of r)e.queue.droppedCount+=1,e.queue.summaryLines.push(kn(e.summarize(t)));let n=Math.max(0,e.summaryLimit??t);for(;e.queue.summaryLines.length>n;)e.queue.summaryLines.shift()}return!0}function jn(e){if(process.env.OPENCLAW_TEST_FAST===`1`)return Promise.resolve();let t=Math.max(0,e.debounceMs);return t<=0?Promise.resolve():new Promise(n=>{let r=()=>{let i=Date.now()-e.lastEnqueuedAt;if(i>=t){n();return}setTimeout(r,t-i)};r()})}function Mn(e,t){let n=e.get(t);if(!(!n||n.draining))return n.draining=!0,n}async function F(e,t){let n=e[0];return n?(await t(n),e.shift(),!0):!1}async function Nn(e){return!e.forceIndividualCollect&&!e.isCrossChannel?`skipped`:(e.isCrossChannel&&e.setForceIndividualCollect?.(!0),await F(e.items,e.run)?`drained`:`empty`)}async function Pn(e){return await Nn({forceIndividualCollect:e.collectState.forceIndividualCollect,isCrossChannel:e.isCrossChannel,setForceIndividualCollect:t=>{e.collectState.forceIndividualCollect=t},items:e.items,run:e.run})}function Fn(e){if(e.state.dropPolicy!==`summarize`||e.state.droppedCount<=0)return;let t=e.noun,n=[e.title??`[Queue overflow] Dropped ${e.state.droppedCount} ${t}${e.state.droppedCount===1?``:`s`} due to cap.`];if(e.state.summaryLines.length>0){n.push(`Summary:`);for(let t of e.state.summaryLines)n.push(`- ${t}`)}return P(e.state),n.join(`
|
|
2
2
|
`)}function In(e){let t=[e.title];return e.summary&&t.push(e.summary),e.items.forEach((n,r)=>{t.push(e.renderItem(n,r))}),t.join(`
|
|
3
3
|
|
|
4
4
|
`)}function Ln(e,t){let n=new Set,r=!1;for(let i of e){let e=t(i);if(e.cross)return!0;if(!e.key){r=!0;continue}n.add(e.key)}return n.size===0?!1:r?!0:n.size>1}fe(Symbol.for(`openclaw.followupQueues`)),fe(Symbol.for(`openclaw.followupDrainCallbacks`)),he(Symbol.for(`openclaw.recentQueueMessageIds`),{ttlMs:300*1e3,maxSize:1e4});function Rn(e){return`collect`}function zn(e,t){if(!t||!e)return;let n=e[t];return typeof n==`number`&&Number.isFinite(n)?Math.max(0,n):void 0}function Bn(e){let t=r(e.channel),n=e.cfg.messages?.queue,i=t&&n?.byChannel?n.byChannel[t]:void 0,a=e.inlineMode??N(e.sessionEntry?.queueMode)??N(i)??N(n?.mode)??Rn(t),o=e.inlineOptions?.debounceMs??e.sessionEntry?.queueDebounceMs??zn(n?.debounceMsByChannel,t)??e.pluginDebounceMs??n?.debounceMs??1e3,s=e.inlineOptions?.cap??e.sessionEntry?.queueCap??n?.cap??20,c=e.inlineOptions?.dropPolicy??e.sessionEntry?.queueDrop??Tn(n?.drop)??`summarize`;return{mode:a,debounceMs:typeof o==`number`?Math.max(0,o):void 0,cap:typeof s==`number`?Math.max(1,Math.floor(s)):void 0,dropPolicy:c}}function Vn(e){if(!e)return;let t=le(e)?.defaults?.queue?.debounceMs;return typeof t==`number`&&Number.isFinite(t)?Math.max(0,t):void 0}function Hn(e){let t=r(e.channel);return Bn({...e,pluginDebounceMs:e.pluginDebounceMs??Vn(t)})}function Un(e){return e.filter(e=>{if(!e||typeof e!=`object`)return!0;let t=e.role;return t!==`toolResult`&&t!==`tool`})}function I(e){return Oe(e,`history`)}function Wn(e){if(!e||typeof e!=`object`||e.role!==`assistant`)return;let t=ke(e,{phase:`final_answer`,sanitizeText:I,joinWith:``})??ke(e,{sanitizeText:I,joinWith:``}),n=e.stopReason===`error`;return t?Ce(t,{errorContext:n}):void 0}function L(e,t){return xe(e).replace(/\r?\n+/g,` `).trim()||t}function R(e,t){return xe(e).replace(/\r\n/g,`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./chunk-DHbaKqs-.mjs";import{c as t,l as n,o as r,s as i}from"./home-dir-C44RaPME-
|
|
1
|
+
import{a as e}from"./chunk-DHbaKqs-.mjs";import{c as t,l as n,o as r,s as i}from"./home-dir-C44RaPME-BqOMy1pu.mjs";import{n as a}from"./paths-D92DjaZ--CKAvIWoZ.mjs";import{a as o}from"./bundled-dir-U738ay4K-DxHVp4u1.mjs";import"./io-CH2g3vsv-BevbMdi6.mjs";import{t as s}from"./ids-BPsM98Uu-DGJB5aAM.mjs";import{t as c}from"./runtime-channel-state-CohMybAh-DfCjeyJq.mjs";import{Pt as l,St as u}from"./bundled-compat-BpaDaAAu-DElY7pj-.mjs";import"./message-channel-Bk_YHfQg-BGBJVvRK.mjs";import{j as d}from"./manifest-registry-_hxKCS2K-ezh_x2Cu.mjs";import{f,p as ee}from"./runtime-snapshot-C54O1-gI-0r2omPvJ.mjs";import"./runtime-Cym-fqI8-BuiEWXF-.mjs";import"./thinking-Bh-7MqXz-BB7ZJReA.mjs";import{a as p,i as te,n as m,o as h}from"./session-key-Cn2QoOyX-BIh-9Y77.mjs";import{a as g}from"./paths-D6msg0S1-C3GtW9t2.mjs";import"./transcript-E_-ISOkD-STFNoSGx.mjs";import"./delivery-context.shared-j5hC5qb1-DIY5v1oC.mjs";import"./command-format-LSnUCVVF-Ck0yuZRk.mjs";import _ from"node:fs";import v from"node:path";import"node:fs/promises";import"node:crypto";const y=`NO_REPLY`,b=new Map,x=new Map,S=new Map;function ne(e){let t=b.get(e);if(t)return t;let n=o(e),r=RegExp(`^\\s*${n}\\s*$`,`i`);return b.set(e,r),r}function re(e){let t=x.get(e);if(t)return t;let n=o(e),r=RegExp(`(?:^|\\s+|\\*+)${n}\\s*$`,`i`);return x.set(e,r),r}function C(e,t=y){return e?ne(t).test(e):!1}function ie(e,t=y){if(!e)return!1;let n=e.trim();if(!n||!n.startsWith(`{`)||!n.endsWith(`}`)||!n.includes(t))return!1;try{let e=JSON.parse(n);if(!e||typeof e!=`object`||Array.isArray(e))return!1;let r=Object.keys(e);return r.length===1&&r[0]===`action`&&typeof e.action==`string`&&e.action.trim()===t}catch{return!1}}function ae(e,t=y){return C(e,t)||ie(e,t)}function oe(e,t=y){return e.replace(re(t),``).trim()}const w=new Map;function se(e){let t=S.get(e);if(t)return t;let n=o(e),r=RegExp(`^\\s*(?:${n}\\s+)*${n}(?=[\\p{L}\\p{N}])`,`iu`);return S.set(e,r),r}function ce(e){let t=w.get(e);if(t)return t;let n=o(e),r=RegExp(`^(?:\\s*${n})+\\s*`,`i`);return w.set(e,r),r}function le(e,t=y){return e.replace(ce(t),``).trim()}function ue(e,t=y){return e?se(t).test(e):!1}function de(e){let n=t(e?.id)??``;if(!(!e||!n))return(!e.meta||typeof e.meta!=`object`)&&(e.meta={}),e}function fe(e){let n=t(e)??``;if(!n)return;let r=c();if(!(!r||!Array.isArray(r.channels)))for(let e of r.channels){let t=de(e?.plugin);if(t&&t.id===n)return t}}const pe={direct:`disallow`,group:`allow`,internal:`allow`},me={direct:!0,group:!1,internal:!1},T=`Nothing to add right now.,All quiet on my side.,No extra notes from me.,Standing by.,No update from me on this one.,Nothing further to report.,I have nothing else to add.,No follow-up needed from me.,No additional reply from me here.,No extra comment on my end.,No further note from me.,That is all from me for now.,No added response from me.,Nothing else to say here.,No extra message needed from me.,No additional note on this one.,No further response from me.,Nothing new to add from my side.,No extra update from me.,I have no further reply here.,Nothing additional from me.,No added note from my side.,No more to report from me.,No extra reply needed here.,No further word from me.,Nothing further on my end.,No extra answer from me.,No additional response from my side.`.split(`,`);function E(e){let t=0;for(let n=0;n<e.length;n+=1)t=t*31+e.charCodeAt(n)>>>0;return t}function D(e){if(e.conversationType)return e.conversationType;let t=r(e.sessionKey);return t.includes(`:group:`)||t.includes(`:channel:`)?`group`:t.includes(`:direct:`)||t.includes(`:dm:`)||r(e.surface)===`webchat`?`direct`:`internal`}function O(e){return e.surfacePolicy?.[e.conversationType]??e.defaultPolicy?.[e.conversationType]??pe[e.conversationType]}function k(e){return e.surfaceRewrite?.[e.conversationType]??e.defaultRewrite?.[e.conversationType]??me[e.conversationType]}function A(e){return T[E(e.seed?.trim()||`silent-reply`)%T.length]??T[0]}function j(e){let t=D({sessionKey:e.sessionKey,surface:e.surface,conversationType:e.conversationType}),n=r(e.surface),i=n?e.cfg?.surfaces?.[n]:void 0;return{conversationType:t,defaultPolicy:e.cfg?.agents?.defaults?.silentReply,defaultRewrite:e.cfg?.agents?.defaults?.silentReplyRewrite,surfacePolicy:i?.silentReply,surfaceRewrite:i?.silentReplyRewrite}}function M(e){let t=j(e);return{policy:O(t),rewrite:k(t)}}function N(e){let t=i(e);return t===`primary`||t===`secondary`||t===`success`||t===`danger`?t:void 0}function P(e){let t=i(e);return t===`info`||t===`success`||t===`warning`||t===`danger`||t===`neutral`?t:void 0}function F(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let n=e,r=t(n.label)??t(n.text),i=t(n.value)??t(n.callbackData)??t(n.callback_data),a=t(n.url);if(!(!r||!i&&!a))return{label:r,...i?{value:i}:{},...a?{url:a}:{},style:N(n.style)}}function I(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let n=e,r=t(n.label)??t(n.text),i=t(n.value);if(!(!r||!i))return{label:r,value:i}}function L(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let n=e,r=i(n.type);if(r===`text`){let e=t(n.text);return e?{type:`text`,text:e}:void 0}if(r===`buttons`){let e=Array.isArray(n.buttons)?n.buttons.map(e=>F(e)).filter(e=>!!e):[];return e.length>0?{type:`buttons`,buttons:e}:void 0}if(r===`select`){let e=Array.isArray(n.options)?n.options.map(e=>I(e)).filter(e=>!!e):[];return e.length>0?{type:`select`,placeholder:t(n.placeholder),options:e}:void 0}}function R(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let t=e,n=Array.isArray(t.blocks)?t.blocks.map(e=>L(e)).filter(e=>!!e):[];return n.length>0?{blocks:n}:void 0}function z(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let n=e,r=t(n.label)??t(n.text),i=t(n.value)??t(n.callbackData)??t(n.callback_data),a=t(n.url);if(!(!r||!i&&!a))return{label:r,...i?{value:i}:{},...a?{url:a}:{},style:N(n.style)}}function he(e){let t=I(e);return t?{label:t.label,value:t.value}:void 0}function ge(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let n=e,r=i(n.type);if(r===`text`||r===`context`){let e=t(n.text);return e?{type:r,text:e}:void 0}if(r===`divider`)return{type:`divider`};if(r===`buttons`){let e=Array.isArray(n.buttons)?n.buttons.map(e=>z(e)).filter(e=>!!e):[];return e.length>0?{type:`buttons`,buttons:e}:void 0}if(r===`select`){let e=Array.isArray(n.options)?n.options.map(e=>he(e)).filter(e=>!!e):[];return e.length>0?{type:`select`,placeholder:t(n.placeholder),options:e}:void 0}}function B(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let n=e,r=Array.isArray(n.blocks)?n.blocks.map(e=>ge(e)).filter(e=>!!e):[],i=t(n.title);if(!(!i&&r.length===0))return{...i?{title:i}:{},tone:P(n.tone),blocks:r}}function V(e){return!!R(e)}function H(e){return!!B(e)}function _e(e){let n=[],r=t(e.text);r&&n.push(r);let i=e.presentation;if(!i)return n.join(`
|
|
2
2
|
|
|
3
3
|
`);i.title&&n.push(i.title);for(let e of i.blocks){if(e.type===`text`||e.type===`context`){n.push(e.text);continue}if(e.type===`buttons`){let t=e.buttons.map(e=>e.url?`${e.label}: ${e.url}`:e.label).filter(Boolean);t.length>0&&n.push(t.map(e=>`- ${e}`).join(`
|
|
4
4
|
`));continue}if(e.type===`select`){let t=e.options.map(e=>e.label).filter(Boolean);if(t.length>0){let r=e.placeholder?`${e.placeholder}:`:`Options:`;n.push(`${r}\n${t.map(e=>`- ${e}`).join(`
|