failproofai 1.0.5 → 1.0.6-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +5 -5
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +14 -14
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -4
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[externals]__0sds_16._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o07qi9._.js +1 -1
- package/.next/standalone/.next/server/chunks/_09dz7xv._.js +3 -3
- package/.next/standalone/.next/server/chunks/_0tovk6q._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0trp3yc._.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +2 -2
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +2 -2
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__013jr2b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01wy8d-._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02npjtd._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da85px._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ftmoxc._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oa1lav._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p-5p8u._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s740oi._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__15k-dqb._.js → [root-of-the-server]__1i26dsw._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0sz_5na._.js → [root-of-the-server]__1ouobn4._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1p2otjt._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1qapotl._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0-yi74u._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_1b78kcp._.js → _09hs6ms._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0guaevg._.js → _0lbwa8m._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0wso5d3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1-3unkg._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1ddpc5g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1es2j7i._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/_1u8-lu2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1zopuov._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_components_project-list_tsx_1ke6anr._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_settings_settings-client_tsx_20lq-mq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1hl81y4._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +2 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +19 -19
- package/.next/standalone/.next/static/chunks/{3w46euc60dx39.js → 03n_qjih7-w6q.js} +1 -1
- package/.next/standalone/.next/static/chunks/{2zafgs90r_leq.js → 06jxjnw8bfczc.js} +1 -1
- package/.next/standalone/.next/static/chunks/{252xreaecy80h.js → 0vanab2g65op_.js} +1 -1
- package/.next/standalone/.next/static/chunks/17pjz_h45j10c.js +1 -0
- package/.next/standalone/.next/static/chunks/1ekh-hj_iom84.js +1 -0
- package/.next/standalone/.next/static/chunks/{021ydrq6rhpsi.js → 1so_3s0q4c4j1.js} +1 -1
- package/.next/standalone/.next/static/chunks/1xacnwjkbekn7.js +1 -0
- package/.next/standalone/.next/static/chunks/2hg_bp8z_vm2g.js +1 -0
- package/.next/standalone/.next/static/chunks/{3bleyy40s99f2.js → 2u0kol_boahtv.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1vb33xa6j9y2q.js → 3_vesf83-0903.js} +1 -1
- package/.next/standalone/.next/static/chunks/3d3hzhcnns6ww.js +1 -0
- package/.next/standalone/.next/static/chunks/3iasus89n8mg1.js +6 -0
- package/.next/standalone/.next/static/chunks/{11s_v03ub6nss.js → 44_cj1_i_aa2z.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-3p73obe0xmrxm.js → turbopack-38nzuvp95_2rv.js} +1 -1
- package/.next/standalone/fp-cloud-cli/uv.lock +3 -3
- package/.next/standalone/hermes-plugin/README.md +133 -0
- package/.next/standalone/hermes-plugin/__init__.py +248 -0
- package/.next/standalone/hermes-plugin/client.py +134 -0
- package/.next/standalone/hermes-plugin/ledger.py +187 -0
- package/.next/standalone/hermes-plugin/plugin.yaml +37 -0
- package/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/.next/standalone/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +2 -1
- package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/disk-lru-cache.external.js +7 -1
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +6 -1
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/.next/standalone/node_modules/next/package.json +10 -10
- package/.next/standalone/node_modules/react/cjs/react.development.js +92 -46
- package/.next/standalone/node_modules/react/cjs/react.production.js +112 -89
- package/.next/standalone/node_modules/react/package.json +1 -1
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1165 -790
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1171 -791
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +1294 -862
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +1305 -868
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +1315 -896
- package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +24 -5
- package/.next/standalone/node_modules/react-dom/package.json +4 -4
- package/.next/standalone/package.json +13 -12
- package/.next/standalone/sdk/python/uv.lock +18 -18
- package/.next/standalone/server.js +1 -1
- package/README.md +29 -13
- package/bin/failproofai.mjs +3 -1
- package/dist/cli.mjs +420 -178
- package/dist/worker.mjs +17 -3
- package/hermes-plugin/README.md +133 -0
- package/hermes-plugin/__init__.py +248 -0
- package/hermes-plugin/client.py +134 -0
- package/hermes-plugin/ledger.py +187 -0
- package/hermes-plugin/plugin.yaml +37 -0
- package/package.json +13 -12
- package/scripts/translate-docs/validate-translation.ts +48 -0
- package/src/hooks/handler.ts +29 -1
- package/src/hooks/integrations.ts +264 -73
- package/src/hooks/manager.ts +17 -5
- package/src/hooks/types.ts +8 -8
- package/src/hooks/worker-server.ts +1 -0
- package/.next/standalone/.next/server/chunks/[externals]__157pf8j._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_13n822a._.js +0 -3
- package/.next/standalone/.next/static/chunks/0y8_1s45gbqmn.js +0 -6
- package/.next/standalone/.next/static/chunks/14b3ezufe5411.js +0 -1
- package/.next/standalone/.next/static/chunks/1oskk7pdo8aon.js +0 -1
- package/.next/standalone/.next/static/chunks/2xycd6mjg00fb.js +0 -1
- package/.next/standalone/.next/static/chunks/3l36d73kj18zw.js +0 -1
- package/.next/standalone/.next/static/chunks/40lpt2o2b283e.js +0 -1
- /package/.next/standalone/.next/static/{uFpAs_vIXSo6qBzmkXPWD → -7OT2NwGPxAu-skEL_Xee}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{uFpAs_vIXSo6qBzmkXPWD → -7OT2NwGPxAu-skEL_Xee}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{uFpAs_vIXSo6qBzmkXPWD → -7OT2NwGPxAu-skEL_Xee}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[35770,a=>{"use strict";a.s(["CopyButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/copy-button.tsx","CopyButton")},893,a=>{"use strict";var b=a.i(35770);a.n(b)},19597,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/lazy-log-viewer.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/lazy-log-viewer.tsx","default")},71130,a=>{"use strict";var b=a.i(19597);a.n(b)},41190,a=>{"use strict";var b=a.i(7997),c=a.i(95936),d=a.i(717);let e=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var f=a.i(53808);let g=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},h)=>(0,d.createElement)(f.default,{ref:h,iconNode:b,className:((...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim())(`lucide-${e(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=e(a),c},h=g("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),i=g("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.i(70396);var j=a.i(73727),k=a.i(83397),l=a.i(2157),m=a.i(12714),n=a.i(50227),o=a.i(60526),p=a.i(34900),q=a.i(92246);let r=(0,a.i(75818).codexSessionPathsFile)();function s(){try{if(!(0,l.existsSync)(r))return{};return JSON.parse((0,l.readFileSync)(r,"utf-8"))}catch{return{}}}function t(a,b){try{(0,l.mkdirSync)((0,n.dirname)(r),{recursive:!0});let c=s();c[a]=b,(0,l.writeFileSync)(r,JSON.stringify(c),"utf-8")}catch{}}function u(a,b){try{for(let c of(0,l.readdirSync)(a,{withFileTypes:!0}))if(c.isFile()&&c.name.includes(b)&&c.name.endsWith(".jsonl"))return(0,n.join)(a,c.name)}catch{}return null}function v(a,b){return Array.isArray(a)?a.filter(a=>a?.type===b&&"string"==typeof a.text).map(a=>a.text).join("\n"):""}async function w(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let l=d[a];try{j=JSON.parse(l)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=j.type,r=j.payload??{};if("session_meta"===p){let a=r.cwd;"string"!=typeof a||c||(c=a),e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}if("response_item"===p){let a=r.type;if("message"===a){let a=r.role,c=r.content;if("user"===a||"developer"===a){let d=v(c,"input_text");if(!d)continue;let f="developer"===a?`[developer] ${d}`:d;e.push({type:"user",...(0,k.baseEntry)(m,n,o,b),message:{role:"user",content:f}});continue}if("assistant"===a){let a=v(c,"output_text");if(!a)continue;let d=[{type:"text",text:a}];e.push({type:"assistant",...(0,k.baseEntry)(m,n,o,b),message:{role:"assistant",content:d}});continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}if("function_call"===a){let a=r.call_id,c=r.name??"function_call",d={type:"tool_use",id:a??`${n}-${c}`,name:c,input:function(a){if(!a)return{};try{return JSON.parse(a)}catch{return{}}}(r.arguments)},f={type:"assistant",...(0,k.baseEntry)(m,n,o,b),message:{role:"assistant",content:[d]}};e.push(f),a&&(g.set(a,d),h.set(a,o.getTime()));continue}if("function_call_output"===a){let a=r.call_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??o.getTime(),d=Math.max(0,o.getTime()-b);c.result={timestamp:n,timestampFormatted:(0,k.formatTimestamp)(o),content:"string"==typeof r.output?r.output:JSON.stringify(r.output),durationMs:d,durationFormatted:(0,q.formatDuration)(d)};continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}if("event_msg"===p){let a=r.type;if("task_started"===a){let a=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(m,n,o,b),label:a});continue}if("exec_command_end"===a){let a=r.call_id,c=a?g.get(a):void 0;if(c){let b=r.duration,d=b?(b.secs??0)*1e3+Math.round((b.nanos??0)/1e6):Math.max(0,o.getTime()-(h.get(a)??o.getTime())),e=r.aggregated_output;c.result={timestamp:n,timestampFormatted:(0,k.formatTimestamp)(o),content:"string"==typeof e?e:JSON.stringify(e),durationMs:d,durationFormatted:(0,q.formatDuration)(d)};continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}if("user_message"===a||"agent_message"===a)continue;e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m});continue}e.push({type:"system",...(0,k.baseEntry)(m,n,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function x(a){let b=function(a){let b=s()[a];if(b&&(0,l.existsSync)(b))return b;let c=(0,n.join)((0,o.homedir)(),".codex","sessions"),d=new Date,e=new Date(d.getTime()-864e5);for(let b of[d,e].map(a=>{let b=String(a.getUTCFullYear()),d=String(a.getUTCMonth()+1).padStart(2,"0"),e=String(a.getUTCDate()).padStart(2,"0");return(0,n.join)(c,b,d,e)})){let c=u(b,a);if(c)return t(a,c),c}try{for(let b of(0,l.readdirSync)(c,{withFileTypes:!0}))if(b.isDirectory()){for(let d of(0,l.readdirSync)((0,n.join)(c,b.name),{withFileTypes:!0}))if(d.isDirectory())for(let e of(0,l.readdirSync)((0,n.join)(c,b.name,d.name),{withFileTypes:!0})){if(!e.isDirectory())continue;let f=u((0,n.join)(c,b.name,d.name,e.name),a);if(f)return t(a,f),f}}}catch{}return null}(a);if(!b)return null;let c=await (0,m.readFile)(b,"utf-8"),{entries:d,rawLines:e,cwd:f}=await w(c,"session");return{entries:d,rawLines:e,cwd:f,filePath:b}}let y=(0,p.runtimeCache)(a=>x(a),60,{maxSize:50});function z(a,b){let c=function(a){if(!a)return null;let b=(0,n.resolve)((0,n.join)(process.env.COPILOT_HOME||(0,n.join)((0,o.homedir)(),".copilot"),"session-state")),c=(0,n.resolve)(b,a);return c!==b&&c.startsWith(`${b}${n.sep}`)?c:null}(a);return c?(0,n.join)(c,b):null}async function A(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let l=d[a];try{j=JSON.parse(l)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=o.toISOString(),r=j.type,s=j.data??{};if("session.start"===r){let a=s.context,d=a?.cwd;"string"!=typeof d||c||(c=d);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(m,p,o,b),label:f});continue}if("user.message"===r){let a=s.content??"";if(!a)continue;e.push({type:"user",...(0,k.baseEntry)(m,p,o,b),message:{role:"user",content:a}});continue}if("system.message"===r){e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}if("assistant.message"===r){let a=s.content??"";if(!a){e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...(0,k.baseEntry)(m,p,o,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===r){let a=s.toolCallId,c=s.toolName??"tool",d=s.arguments??{},f={type:"tool_use",id:a??`${o.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...(0,k.baseEntry)(m,p,o,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,o.getTime()));continue}if("tool.execution_complete"===r){let a=s.toolCallId,c=a?g.get(a):void 0;if(c){let b=h.get(a)??o.getTime(),d=s.result??{},e=s.toolTelemetry??{},f=e.metrics?.commandTimeMs??e.metrics?.durationMs??null,g="number"==typeof f&&f>=0?f:Math.max(0,o.getTime()-b),i=d.detailedContent??d.content??"";c.result={timestamp:p,timestampFormatted:(0,k.formatTimestamp)(o),content:"string"==typeof i?i:JSON.stringify(i),durationMs:g,durationFormatted:(0,q.formatDuration)(g)};continue}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function B(a){let b,c,d=(c=z(a,"events.jsonl"))&&(0,l.existsSync)(c)?c:null;if(!d)return null;try{b=await (0,m.readFile)(d,"utf-8")}catch{return null}let{entries:e,rawLines:f,cwd:g}=await A(b,"session");return{entries:e,rawLines:f,cwd:g??function(a){let b,c=(b=z(a,"workspace.yaml"))&&(0,l.existsSync)(b)?b:null;if(c)try{let a=(0,l.readFileSync)(c,"utf-8"),b=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),d=a.match(b);if(!d)return;return d[1].replace(/^['"]|['"]$/g,"")}catch{return}}(a),filePath:d}}let C=(0,p.runtimeCache)(a=>B(a),60,{maxSize:50}),D=["agent-sessions","conversations","sessions"],E=["events.jsonl","transcript.jsonl","messages.jsonl"],F="agent-transcripts";async function G(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1,j=Date.now();for(let a=0;a<d.length;a++){let l;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let m=d[a];try{l=JSON.parse(m)}catch{continue}let n={...l,_source:b};if(f.push(n),!l.type&&l.role&&l.message?.content){let c=new Date(j+a),d=c.toISOString(),f=l.message.content.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join("");if("user"===l.role){let a=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(f),g=a?a[1]:f;g&&e.push({type:"user",...(0,k.baseEntry)(n,d,c,b),message:{role:"user",content:g}});continue}if("assistant"===l.role){let a=f?[{type:"text",text:f}]:[];0===a.length?e.push({type:"system",...(0,k.baseEntry)(n,d,c,b),raw:n}):e.push({type:"assistant",...(0,k.baseEntry)(n,d,c,b),message:{role:"assistant",content:a}});continue}e.push({type:"system",...(0,k.baseEntry)(n,d,c,b),raw:n});continue}let o=l.timestamp;if(!o)continue;let p=new Date(o);if(Number.isNaN(p.getTime()))continue;let r=p.toISOString(),s=l.type,t=l.data??{};if("session.start"===s||"sessionStart"===s||"session_start"===s){let a=t.context??t,d=a.cwd;"string"!=typeof d||c||(c=d),!c&&Array.isArray(a.workspace_roots)&&"string"==typeof a.workspace_roots[0]&&(c=a.workspace_roots[0]);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(n,r,p,b),label:f});continue}if("user.message"===s||"userMessage"===s){let a="string"==typeof t.content?t.content:"string"==typeof t.text?t.text:"";if(!a)continue;e.push({type:"user",...(0,k.baseEntry)(n,r,p,b),message:{role:"user",content:a}});continue}if("system.message"===s||"systemMessage"===s){e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n});continue}if("assistant.message"===s||"assistantMessage"===s){let a="string"==typeof t.content?t.content:"string"==typeof t.text?t.text:"";if(!a){e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...(0,k.baseEntry)(n,r,p,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===s||"tool.executionStart"===s||"preToolUse"===s){let a=t.toolCallId??t.tool_use_id,c=t.toolName??t.tool_name??"tool",d=t.arguments??t.tool_input??{},f={type:"tool_use",id:a??`${p.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...(0,k.baseEntry)(n,r,p,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,p.getTime()));continue}if("tool.execution_complete"===s||"tool.executionComplete"===s||"postToolUse"===s){let a=t.toolCallId??t.tool_use_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??p.getTime(),d=t.result??{},e=t.duration,f="number"==typeof e&&e>=0?e:Math.max(0,p.getTime()-b),g=d.detailedContent??d.content??t.tool_output??"";c.result={timestamp:r,timestampFormatted:(0,k.formatTimestamp)(p),content:"string"==typeof g?g:JSON.stringify(g),durationMs:f,durationFormatted:(0,q.formatDuration)(f)};continue}e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n});continue}e.push({type:"system",...(0,k.baseEntry)(n,r,p,b),raw:n})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function H(a){let b,c=function(a){let b=function(a){if(!a)return null;let b=(0,n.resolve)(process.env.CURSOR_HOME||(0,n.join)((0,o.homedir)(),".cursor")),c=(0,n.resolve)(b,"projects"),d=[];try{d=(0,l.readdirSync)(c,{withFileTypes:!0})}catch{}for(let b of d){if(!b.isDirectory())continue;let d=(0,n.resolve)(c,b.name,F,a),e=(0,n.resolve)(c,b.name,F);if(d!==e&&d.startsWith(`${e}${n.sep}`)&&(0,l.existsSync)(d))return d}for(let c of D){let d=(0,n.resolve)(b,c),e=(0,n.resolve)(d,a);if(e!==d&&e.startsWith(`${d}${n.sep}`)&&(0,l.existsSync)(e))return e}return null}(a);if(!b)return null;let c=(0,n.join)(b,`${(0,n.basename)(b)}.jsonl`);if((0,l.existsSync)(c))return c;for(let a of E){let c=(0,n.join)(b,a);if((0,l.existsSync)(c))return c}return null}(a);if(!c)return null;try{b=await (0,m.readFile)(c,"utf-8")}catch{return null}let{entries:d,rawLines:e,cwd:f}=await G(b,"session");return{entries:d,rawLines:e,cwd:f,filePath:c}}let I=(0,p.runtimeCache)(a=>H(a),60,{maxSize:50});var J=a.i(84794);function K(a){try{return a()}catch{return null}}function L(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function M(a){if("string"!=typeof a||0===a.length)return null;try{let b=JSON.parse(a);return L(b)?b:null}catch{return null}}async function N(a){if(!a||!/^[A-Za-z0-9_-]+$/.test(a))return null;let b=await (0,J.withOpenCodeDb)(b=>({sessions:K(()=>b.query("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = ?",[a])),messages:K(()=>b.query("SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = ? ORDER BY time_created ASC",[a])),parts:K(()=>b.query("SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = ? ORDER BY time_created ASC",[a]))})),c=b?.sessions??null;if(!c||0===c.length)return null;let d=c[0],e=b?.messages??null,f=b?.parts??null;if(!e)return{entries:[],rawLines:[],cwd:d.directory??void 0,filePath:`opencode://${a}`};let g=new Map;for(let a of f??[]){let b=g.get(a.message_id);b||(b=[],g.set(a.message_id,b)),b.push(a)}let h=[],i=[];for(let a of e){let b=g.get(a.id)??[];h.push(function(a,b,c){let d=M(a.data)??{},e="string"==typeof d.role?d.role:"system",f=new Date(a.time_created),g=f.toISOString(),h={uuid:a.id,parentUuid:null},i=(0,k.baseEntry)(h,g,f,c),j=[],l="";for(let a of b){let b=M(a.data);if(!b)continue;let c="string"==typeof b.type?b.type:"unknown";if("text"===c){let a="string"==typeof b.text?b.text:"string"==typeof b.content?b.content:"";a&&(j.push({type:"text",text:a}),l+=(l?"\n":"")+a);continue}if("tool"===c){let c="string"==typeof b.tool?b.tool:"string"==typeof b.name?b.name:"tool",d=L(b.state)?b.state:null,e=d&&L(d.input)?d.input:L(b.input)?b.input:L(b.args)?b.args:{},f={type:"tool_use",id:a.id,name:c,input:e},g=d&&"string"==typeof d.status?d.status:"";if(d&&("completed"===g||"error"===g)){let b=("error"===g&&"string"==typeof d.error?d.error:null)??d.output,c="string"==typeof b?b:null!=b?JSON.stringify(b):"",e=L(d.time)?d.time:{},h="number"==typeof e.start?e.start:a.time_created,i="number"==typeof e.end?e.end:a.time_updated,j=Math.max(0,i-h),l=new Date(i);f.result={timestamp:l.toISOString(),timestampFormatted:(0,k.formatTimestamp)(l),content:c,durationMs:j,durationFormatted:(0,q.formatDuration)(j)}}j.push(f);continue}j.push({type:"text",text:`[opencode ${c}]`})}if("user"===e)return{...i,type:"user",message:{role:"user",content:l}};if("assistant"===e){let a=L(d.model)?d.model:null,b=a&&"string"==typeof a.modelID?a.modelID:void 0;return{...i,type:"assistant",message:{role:"assistant",content:j,model:b}}}return{...i,type:"system",raw:{id:a.id,role:e,parts:j}}}(a,b,"session"));let c=M(a.data);i.push({id:a.id,session_id:a.session_id,time_created:a.time_created,data:c??a.data})}return{entries:h,rawLines:i,cwd:d.directory??void 0,filePath:`opencode://${a}`}}let O=(0,p.runtimeCache)(a=>N(a),30,{maxSize:50}),P=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Q=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;function R(a){if(!Array.isArray(a))return"";let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text&&b.push(c.text);return b.join("\n\n")}async function S(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=!1,h=new Map,i=new Map;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let l=d[a];try{j=JSON.parse(l)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=o.toISOString(),r=j.type;if("session"===r){"string"!=typeof j.cwd||c||(c=j.cwd);let a=g?"Session Resumed":"Session Started";g=!0,e.push({type:"queue-operation",...(0,k.baseEntry)(m,p,o,b),label:a});continue}if("message"===r&&j.message&&"object"==typeof j.message){let a=j.message.role,c=j.message.content;if("user"===a){let a=R(c);if(!a)continue;e.push({type:"user",...(0,k.baseEntry)(m,p,o,b),message:{role:"user",content:a}});continue}if("assistant"===a){let a=function(a,b){if(!Array.isArray(a))return[];let c=[];for(let d of a)if(d?.type==="text"&&"string"==typeof d.text&&d.text.length>0&&c.push({type:"text",text:d.text}),d?.type==="thinking"&&"string"==typeof d.thinking&&d.thinking.length>0&&c.push({type:"text",text:`[thinking] ${d.thinking}`}),d?.type==="toolCall"){let a="string"==typeof d.id&&d.id.length>0?d.id:`${"string"==typeof d.name?d.name:"tool"}-${c.length}`,e={type:"tool_use",id:a,name:"string"==typeof d.name?d.name:"tool",input:d.arguments&&"object"==typeof d.arguments&&!Array.isArray(d.arguments)?d.arguments:{}};c.push(e),b?.(e)}return c}(c,a=>{h.set(a.id,a),i.set(a.id,o.getTime())});if(0===a.length){e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"assistant",...(0,k.baseEntry)(m,p,o,b),message:{role:"assistant",content:a}});continue}if("toolResult"===a){let a=j.message.toolCallId,b="string"==typeof a?h.get(a):void 0;if(b){let d="string"==typeof a&&i.get(a)||o.getTime(),e=Math.max(0,o.getTime()-d);b.result={timestamp:p,timestampFormatted:(0,k.formatTimestamp)(o),content:R(c),durationMs:e,durationFormatted:(0,q.formatDuration)(e)};continue}}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"system",...(0,k.baseEntry)(m,p,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function T(a){let b,c,d=function(a){let b;if(!P.test(a))return null;let c=(0,n.resolve)(process.env.PI_SESSIONS_DIR||(0,n.join)((0,o.homedir)(),".pi","agent","sessions"));try{b=(0,l.readdirSync)(c)}catch{return null}for(let d of b){let b,e=(0,n.resolve)(c,d);if(e.startsWith(`${c}${n.sep}`)){try{b=(0,l.readdirSync)(e)}catch{continue}for(let c of b){let b=Q.exec(c);if(!b||b[1].toLowerCase()!==a.toLowerCase())continue;let d=(0,n.resolve)(e,c);if(d.startsWith(`${e}${n.sep}`)&&(0,l.existsSync)(d))return d}}}return null}(a);if(!d)return null;try{b=await (0,m.readFile)(d,"utf-8")}catch{return null}try{c=await S(b,"session")}catch{return null}return{entries:c.entries,rawLines:c.rawLines,cwd:c.cwd,filePath:d}}let U=(0,p.runtimeCache)(a=>T(a),60,{maxSize:50});var V=a.i(54563),W=a.i(87488),X=a.i(89901),Y=a.i(33559),Z=a.i(99910),$=a.i(74615),_=a.i(90798),aa=a.i(69191),ab=a.i(71130),ac=a.i(893),ad=a.i(24282);function ae({cli:a}){let c=(0,ad.getCliLabel)(a),d=(0,ad.getCliBadgeClasses)(a);return(0,b.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-mono font-medium uppercase tracking-wider border ${d}`,title:`Agent CLI: ${c}`,children:c})}async function af({params:a}){let d,e,{name:f,sessionId:g}=await a;try{(0,aa.resolveProjectPath)(f)}catch{(0,j.notFound)()}let l=(0,_.decodeFolderName)(f),m=-1===(e=g.indexOf("/"))?g:g.slice(0,e);aa.UUID_RE.test(m)||/^ses_[A-Za-z0-9]+$/.test(m)||/^[A-Za-z0-9_-]+$/.test(m)||(0,j.notFound)();let n=null,o=null,p=null,q="claude";try{let a=await (0,k.getCachedSessionLog)(f,m);n=a.entries,o=a.rawLines}catch(a){if("ENOENT"===a.code){let a=await y(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="codex";else{let a=await C(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="copilot";else{let a=await I(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="cursor";else{let a=await O(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="opencode";else{let a=await U(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="pi";else{let a=await (0,V.getCachedHermesSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="hermes";else{let a=await (0,W.getCachedOpenClawSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="openclaw";else{let a=await (0,X.getCachedFactorySessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="factory";else{let a=await (0,Y.getCachedDevinSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="devin";else{let a=await (0,Z.getCachedAntigravitySessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="antigravity";else{let a=await (0,$.getCachedGooseSessionLog)(m);a?(n=a.entries,o=a.rawLines,d=a.cwd,q="goose"):p="Session log file not found."}}}}}}}}}}}else p="Failed to read session log."}let r="claude"!==q,s="codex"===q?`OpenAI Codex${d?` \xb7 ${d}`:""}`:"copilot"===q?`GitHub Copilot${d?` \xb7 ${d}`:""}`:"cursor"===q?`Cursor Agent${d?` \xb7 ${d}`:""}`:"opencode"===q?`OpenCode${d?` \xb7 ${d}`:""}`:"pi"===q?`Pi${d?` \xb7 ${d}`:""}`:"hermes"===q?`Hermes${d?` \xb7 ${d}`:""}`:"openclaw"===q?`OpenClaw${d?` \xb7 ${d}`:""}`:"factory"===q?`Factory Droid${d?` \xb7 ${d}`:""}`:"devin"===q?`Devin CLI${d?` \xb7 ${d}`:""}`:"antigravity"===q?`Antigravity CLI${d?` \xb7 ${d}`:""}`:"goose"===q?`Goose${d?` \xb7 ${d}`:""}`:l;return(0,b.jsx)("main",{className:"min-h-screen bg-background",children:(0,b.jsxs)("div",{className:"container mx-auto p-8",children:[(0,b.jsxs)(c.default,{href:r?"/policies?tab=activity":`/project/${encodeURIComponent(f)}`,className:"inline-flex items-center gap-2 text-muted-foreground hover:text-foreground mb-6 transition-colors",children:[(0,b.jsx)(h,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:r?"Back to Activity":"Back to Sessions"})]}),(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mb-2",children:[(0,b.jsx)("h1",{className:"text-4xl font-bold text-foreground",children:"Session Log"}),(0,b.jsx)(ae,{cli:q})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium",children:[r?"CLI":"Project",":"]})," ",s]}),(0,b.jsxs)("p",{className:"text-muted-foreground break-words break-all inline-flex items-center gap-1",children:[(0,b.jsx)("span",{className:"font-medium",children:"Session:"})," ",m,(0,b.jsx)(ac.CopyButton,{text:m})]}),n&&o&&(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium",children:o.length})," log lines"]}),(0,b.jsxs)("a",{href:`/api/download/${encodeURIComponent(f)}/${encodeURIComponent(m)}?cli=${q}`,download:!0,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-md bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground transition-colors",children:[(0,b.jsx)(i,{className:"w-4 h-4"}),"Download Logs"]})]})]})]}),p&&(0,b.jsx)("div",{className:"bg-card text-card-foreground rounded-lg border border-destructive/50 p-6 shadow-sm",children:(0,b.jsx)("p",{className:"text-destructive text-center py-8",children:p})}),!p&&n&&(0,b.jsx)(ab.default,{entries:n,projectName:r?d??("codex"===q?"OpenAI Codex":"copilot"===q?"GitHub Copilot":"cursor"===q?"Cursor Agent":"opencode"===q?"OpenCode":"pi"===q?"Pi":"hermes"===q?"Hermes":"openclaw"===q?"OpenClaw":"factory"===q?"Factory Droid":"devin"===q?"Devin CLI":"Antigravity CLI"):l,sessionId:m})]})})}a.s(["default",0,af,"dynamic",0,"force-dynamic"],41190)},87330,function(a){a.n(a.i(41190))},90697,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/lucide-react/dist/esm/Icon.mjs from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/lucide-react/dist/esm/Icon.mjs","default")},53808,a=>{"use strict";var b=a.i(90697);a.n(b)}];
|
|
1
|
+
module.exports=[35770,a=>{"use strict";a.s(["CopyButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/copy-button.tsx","CopyButton")},893,a=>{"use strict";var b=a.i(35770);a.n(b)},19597,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/lazy-log-viewer.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/lazy-log-viewer.tsx","default")},71130,a=>{"use strict";var b=a.i(19597);a.n(b)},41190,a=>{"use strict";var b=a.i(7997),c=a.i(95936),d=a.i(717),e=a.i(53808);function f(a,b=[],c=[]){let g,h="string"==typeof a?function(a,b,c=[]){if(null==b)throw Error("[lucide]: iconNode is required when icon name is used");return{name:a?.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),size:24,node:b,...c.length>0?{aliases:c}:{}}}(a,b,c):a,i=(0,d.forwardRef)(({className:a,...b},c)=>(0,d.createElement)(e.default,{ref:c,icon:h,className:a,...b}));return h.name&&(i.displayName=(g=(a=>{let b="",c=!1;for(let d of a){if("-"===d||"_"===d||d<=" "){c=b.length>0;continue}0===b.length?b+=d.toLowerCase():b+=c?d.toUpperCase():d,c=!1}return b})(h.name)).charAt(0).toUpperCase()+g.slice(1)),i}let g={name:"arrow-left",size:24,node:[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]};g.node;let h=f(g),i={name:"download",size:24,node:[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]};i.node;let j=f(i);a.i(70396);var k=a.i(73727),l=a.i(83397),m=a.i(2157),n=a.i(12714),o=a.i(50227),p=a.i(60526),q=a.i(34900),r=a.i(92246);let s=(0,a.i(75818).codexSessionPathsFile)();function t(){try{if(!(0,m.existsSync)(s))return{};return JSON.parse((0,m.readFileSync)(s,"utf-8"))}catch{return{}}}function u(a,b){try{(0,m.mkdirSync)((0,o.dirname)(s),{recursive:!0});let c=t();c[a]=b,(0,m.writeFileSync)(s,JSON.stringify(c),"utf-8")}catch{}}function v(a,b){try{for(let c of(0,m.readdirSync)(a,{withFileTypes:!0}))if(c.isFile()&&c.name.includes(b)&&c.name.endsWith(".jsonl"))return(0,o.join)(a,c.name)}catch{}return null}function w(a,b){return Array.isArray(a)?a.filter(a=>a?.type===b&&"string"==typeof a.text).map(a=>a.text).join("\n"):""}async function x(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let k=d[a];try{j=JSON.parse(k)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=j.type,q=j.payload??{};if("session_meta"===p){let a=q.cwd;"string"!=typeof a||c||(c=a),e.push({type:"system",...(0,l.baseEntry)(m,n,o,b),raw:m});continue}if("response_item"===p){let a=q.type;if("message"===a){let a=q.role,c=q.content;if("user"===a||"developer"===a){let d=w(c,"input_text");if(!d)continue;let f="developer"===a?`[developer] ${d}`:d;e.push({type:"user",...(0,l.baseEntry)(m,n,o,b),message:{role:"user",content:f}});continue}if("assistant"===a){let a=w(c,"output_text");if(!a)continue;let d=[{type:"text",text:a}];e.push({type:"assistant",...(0,l.baseEntry)(m,n,o,b),message:{role:"assistant",content:d}});continue}e.push({type:"system",...(0,l.baseEntry)(m,n,o,b),raw:m});continue}if("function_call"===a){let a=q.call_id,c=q.name??"function_call",d={type:"tool_use",id:a??`${n}-${c}`,name:c,input:function(a){if(!a)return{};try{return JSON.parse(a)}catch{return{}}}(q.arguments)},f={type:"assistant",...(0,l.baseEntry)(m,n,o,b),message:{role:"assistant",content:[d]}};e.push(f),a&&(g.set(a,d),h.set(a,o.getTime()));continue}if("function_call_output"===a){let a=q.call_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??o.getTime(),d=Math.max(0,o.getTime()-b);c.result={timestamp:n,timestampFormatted:(0,l.formatTimestamp)(o),content:"string"==typeof q.output?q.output:JSON.stringify(q.output),durationMs:d,durationFormatted:(0,r.formatDuration)(d)};continue}e.push({type:"system",...(0,l.baseEntry)(m,n,o,b),raw:m});continue}e.push({type:"system",...(0,l.baseEntry)(m,n,o,b),raw:m});continue}if("event_msg"===p){let a=q.type;if("task_started"===a){let a=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,l.baseEntry)(m,n,o,b),label:a});continue}if("exec_command_end"===a){let a=q.call_id,c=a?g.get(a):void 0;if(c){let b=q.duration,d=b?(b.secs??0)*1e3+Math.round((b.nanos??0)/1e6):Math.max(0,o.getTime()-(h.get(a)??o.getTime())),e=q.aggregated_output;c.result={timestamp:n,timestampFormatted:(0,l.formatTimestamp)(o),content:"string"==typeof e?e:JSON.stringify(e),durationMs:d,durationFormatted:(0,r.formatDuration)(d)};continue}e.push({type:"system",...(0,l.baseEntry)(m,n,o,b),raw:m});continue}if("user_message"===a||"agent_message"===a)continue;e.push({type:"system",...(0,l.baseEntry)(m,n,o,b),raw:m});continue}e.push({type:"system",...(0,l.baseEntry)(m,n,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function y(a){let b=function(a){let b=t()[a];if(b&&(0,m.existsSync)(b))return b;let c=(0,o.join)((0,p.homedir)(),".codex","sessions"),d=new Date,e=new Date(d.getTime()-864e5);for(let b of[d,e].map(a=>{let b=String(a.getUTCFullYear()),d=String(a.getUTCMonth()+1).padStart(2,"0"),e=String(a.getUTCDate()).padStart(2,"0");return(0,o.join)(c,b,d,e)})){let c=v(b,a);if(c)return u(a,c),c}try{for(let b of(0,m.readdirSync)(c,{withFileTypes:!0}))if(b.isDirectory()){for(let d of(0,m.readdirSync)((0,o.join)(c,b.name),{withFileTypes:!0}))if(d.isDirectory())for(let e of(0,m.readdirSync)((0,o.join)(c,b.name,d.name),{withFileTypes:!0})){if(!e.isDirectory())continue;let f=v((0,o.join)(c,b.name,d.name,e.name),a);if(f)return u(a,f),f}}}catch{}return null}(a);if(!b)return null;let c=await (0,n.readFile)(b,"utf-8"),{entries:d,rawLines:e,cwd:f}=await x(c,"session");return{entries:d,rawLines:e,cwd:f,filePath:b}}let z=(0,q.runtimeCache)(a=>y(a),60,{maxSize:50});function A(a,b){let c=function(a){if(!a)return null;let b=(0,o.resolve)((0,o.join)(process.env.COPILOT_HOME||(0,o.join)((0,p.homedir)(),".copilot"),"session-state")),c=(0,o.resolve)(b,a);return c!==b&&c.startsWith(`${b}${o.sep}`)?c:null}(a);return c?(0,o.join)(c,b):null}async function B(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let k=d[a];try{j=JSON.parse(k)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=o.toISOString(),q=j.type,s=j.data??{};if("session.start"===q){let a=s.context,d=a?.cwd;"string"!=typeof d||c||(c=d);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,l.baseEntry)(m,p,o,b),label:f});continue}if("user.message"===q){let a=s.content??"";if(!a)continue;e.push({type:"user",...(0,l.baseEntry)(m,p,o,b),message:{role:"user",content:a}});continue}if("system.message"===q){e.push({type:"system",...(0,l.baseEntry)(m,p,o,b),raw:m});continue}if("assistant.message"===q){let a=s.content??"";if(!a){e.push({type:"system",...(0,l.baseEntry)(m,p,o,b),raw:m});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...(0,l.baseEntry)(m,p,o,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===q){let a=s.toolCallId,c=s.toolName??"tool",d=s.arguments??{},f={type:"tool_use",id:a??`${o.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...(0,l.baseEntry)(m,p,o,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,o.getTime()));continue}if("tool.execution_complete"===q){let a=s.toolCallId,c=a?g.get(a):void 0;if(c){let b=h.get(a)??o.getTime(),d=s.result??{},e=s.toolTelemetry??{},f=e.metrics?.commandTimeMs??e.metrics?.durationMs??null,g="number"==typeof f&&f>=0?f:Math.max(0,o.getTime()-b),i=d.detailedContent??d.content??"";c.result={timestamp:p,timestampFormatted:(0,l.formatTimestamp)(o),content:"string"==typeof i?i:JSON.stringify(i),durationMs:g,durationFormatted:(0,r.formatDuration)(g)};continue}e.push({type:"system",...(0,l.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"system",...(0,l.baseEntry)(m,p,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function C(a){let b,c,d=(c=A(a,"events.jsonl"))&&(0,m.existsSync)(c)?c:null;if(!d)return null;try{b=await (0,n.readFile)(d,"utf-8")}catch{return null}let{entries:e,rawLines:f,cwd:g}=await B(b,"session");return{entries:e,rawLines:f,cwd:g??function(a){let b,c=(b=A(a,"workspace.yaml"))&&(0,m.existsSync)(b)?b:null;if(c)try{let a=(0,m.readFileSync)(c,"utf-8"),b=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),d=a.match(b);if(!d)return;return d[1].replace(/^['"]|['"]$/g,"")}catch{return}}(a),filePath:d}}let D=(0,q.runtimeCache)(a=>C(a),60,{maxSize:50}),E=["agent-sessions","conversations","sessions"],F=["events.jsonl","transcript.jsonl","messages.jsonl"],G="agent-transcripts";async function H(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1,j=Date.now();for(let a=0;a<d.length;a++){let k;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let m=d[a];try{k=JSON.parse(m)}catch{continue}let n={...k,_source:b};if(f.push(n),!k.type&&k.role&&k.message?.content){let c=new Date(j+a),d=c.toISOString(),f=k.message.content.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join("");if("user"===k.role){let a=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(f),g=a?a[1]:f;g&&e.push({type:"user",...(0,l.baseEntry)(n,d,c,b),message:{role:"user",content:g}});continue}if("assistant"===k.role){let a=f?[{type:"text",text:f}]:[];0===a.length?e.push({type:"system",...(0,l.baseEntry)(n,d,c,b),raw:n}):e.push({type:"assistant",...(0,l.baseEntry)(n,d,c,b),message:{role:"assistant",content:a}});continue}e.push({type:"system",...(0,l.baseEntry)(n,d,c,b),raw:n});continue}let o=k.timestamp;if(!o)continue;let p=new Date(o);if(Number.isNaN(p.getTime()))continue;let q=p.toISOString(),s=k.type,t=k.data??{};if("session.start"===s||"sessionStart"===s||"session_start"===s){let a=t.context??t,d=a.cwd;"string"!=typeof d||c||(c=d),!c&&Array.isArray(a.workspace_roots)&&"string"==typeof a.workspace_roots[0]&&(c=a.workspace_roots[0]);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...(0,l.baseEntry)(n,q,p,b),label:f});continue}if("user.message"===s||"userMessage"===s){let a="string"==typeof t.content?t.content:"string"==typeof t.text?t.text:"";if(!a)continue;e.push({type:"user",...(0,l.baseEntry)(n,q,p,b),message:{role:"user",content:a}});continue}if("system.message"===s||"systemMessage"===s){e.push({type:"system",...(0,l.baseEntry)(n,q,p,b),raw:n});continue}if("assistant.message"===s||"assistantMessage"===s){let a="string"==typeof t.content?t.content:"string"==typeof t.text?t.text:"";if(!a){e.push({type:"system",...(0,l.baseEntry)(n,q,p,b),raw:n});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...(0,l.baseEntry)(n,q,p,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===s||"tool.executionStart"===s||"preToolUse"===s){let a=t.toolCallId??t.tool_use_id,c=t.toolName??t.tool_name??"tool",d=t.arguments??t.tool_input??{},f={type:"tool_use",id:a??`${p.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...(0,l.baseEntry)(n,q,p,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,p.getTime()));continue}if("tool.execution_complete"===s||"tool.executionComplete"===s||"postToolUse"===s){let a=t.toolCallId??t.tool_use_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??p.getTime(),d=t.result??{},e=t.duration,f="number"==typeof e&&e>=0?e:Math.max(0,p.getTime()-b),g=d.detailedContent??d.content??t.tool_output??"";c.result={timestamp:q,timestampFormatted:(0,l.formatTimestamp)(p),content:"string"==typeof g?g:JSON.stringify(g),durationMs:f,durationFormatted:(0,r.formatDuration)(f)};continue}e.push({type:"system",...(0,l.baseEntry)(n,q,p,b),raw:n});continue}e.push({type:"system",...(0,l.baseEntry)(n,q,p,b),raw:n})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function I(a){let b,c=function(a){let b=function(a){if(!a)return null;let b=(0,o.resolve)(process.env.CURSOR_HOME||(0,o.join)((0,p.homedir)(),".cursor")),c=(0,o.resolve)(b,"projects"),d=[];try{d=(0,m.readdirSync)(c,{withFileTypes:!0})}catch{}for(let b of d){if(!b.isDirectory())continue;let d=(0,o.resolve)(c,b.name,G,a),e=(0,o.resolve)(c,b.name,G);if(d!==e&&d.startsWith(`${e}${o.sep}`)&&(0,m.existsSync)(d))return d}for(let c of E){let d=(0,o.resolve)(b,c),e=(0,o.resolve)(d,a);if(e!==d&&e.startsWith(`${d}${o.sep}`)&&(0,m.existsSync)(e))return e}return null}(a);if(!b)return null;let c=(0,o.join)(b,`${(0,o.basename)(b)}.jsonl`);if((0,m.existsSync)(c))return c;for(let a of F){let c=(0,o.join)(b,a);if((0,m.existsSync)(c))return c}return null}(a);if(!c)return null;try{b=await (0,n.readFile)(c,"utf-8")}catch{return null}let{entries:d,rawLines:e,cwd:f}=await H(b,"session");return{entries:d,rawLines:e,cwd:f,filePath:c}}let J=(0,q.runtimeCache)(a=>I(a),60,{maxSize:50});var K=a.i(84794);function L(a){try{return a()}catch{return null}}function M(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function N(a){if("string"!=typeof a||0===a.length)return null;try{let b=JSON.parse(a);return M(b)?b:null}catch{return null}}async function O(a){if(!a||!/^[A-Za-z0-9_-]+$/.test(a))return null;let b=await (0,K.withOpenCodeDb)(b=>({sessions:L(()=>b.query("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = ?",[a])),messages:L(()=>b.query("SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = ? ORDER BY time_created ASC",[a])),parts:L(()=>b.query("SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = ? ORDER BY time_created ASC",[a]))})),c=b?.sessions??null;if(!c||0===c.length)return null;let d=c[0],e=b?.messages??null,f=b?.parts??null;if(!e)return{entries:[],rawLines:[],cwd:d.directory??void 0,filePath:`opencode://${a}`};let g=new Map;for(let a of f??[]){let b=g.get(a.message_id);b||(b=[],g.set(a.message_id,b)),b.push(a)}let h=[],i=[];for(let a of e){let b=g.get(a.id)??[];h.push(function(a,b,c){let d=N(a.data)??{},e="string"==typeof d.role?d.role:"system",f=new Date(a.time_created),g=f.toISOString(),h={uuid:a.id,parentUuid:null},i=(0,l.baseEntry)(h,g,f,c),j=[],k="";for(let a of b){let b=N(a.data);if(!b)continue;let c="string"==typeof b.type?b.type:"unknown";if("text"===c){let a="string"==typeof b.text?b.text:"string"==typeof b.content?b.content:"";a&&(j.push({type:"text",text:a}),k+=(k?"\n":"")+a);continue}if("tool"===c){let c="string"==typeof b.tool?b.tool:"string"==typeof b.name?b.name:"tool",d=M(b.state)?b.state:null,e=d&&M(d.input)?d.input:M(b.input)?b.input:M(b.args)?b.args:{},f={type:"tool_use",id:a.id,name:c,input:e},g=d&&"string"==typeof d.status?d.status:"";if(d&&("completed"===g||"error"===g)){let b=("error"===g&&"string"==typeof d.error?d.error:null)??d.output,c="string"==typeof b?b:null!=b?JSON.stringify(b):"",e=M(d.time)?d.time:{},h="number"==typeof e.start?e.start:a.time_created,i="number"==typeof e.end?e.end:a.time_updated,j=Math.max(0,i-h),k=new Date(i);f.result={timestamp:k.toISOString(),timestampFormatted:(0,l.formatTimestamp)(k),content:c,durationMs:j,durationFormatted:(0,r.formatDuration)(j)}}j.push(f);continue}j.push({type:"text",text:`[opencode ${c}]`})}if("user"===e)return{...i,type:"user",message:{role:"user",content:k}};if("assistant"===e){let a=M(d.model)?d.model:null,b=a&&"string"==typeof a.modelID?a.modelID:void 0;return{...i,type:"assistant",message:{role:"assistant",content:j,model:b}}}return{...i,type:"system",raw:{id:a.id,role:e,parts:j}}}(a,b,"session"));let c=N(a.data);i.push({id:a.id,session_id:a.session_id,time_created:a.time_created,data:c??a.data})}return{entries:h,rawLines:i,cwd:d.directory??void 0,filePath:`opencode://${a}`}}let P=(0,q.runtimeCache)(a=>O(a),30,{maxSize:50}),Q=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,R=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;function S(a){if(!Array.isArray(a))return"";let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text&&b.push(c.text);return b.join("\n\n")}async function T(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=!1,h=new Map,i=new Map;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let k=d[a];try{j=JSON.parse(k)}catch{continue}let m={...j,_source:b};f.push(m);let n=j.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=o.toISOString(),q=j.type;if("session"===q){"string"!=typeof j.cwd||c||(c=j.cwd);let a=g?"Session Resumed":"Session Started";g=!0,e.push({type:"queue-operation",...(0,l.baseEntry)(m,p,o,b),label:a});continue}if("message"===q&&j.message&&"object"==typeof j.message){let a=j.message.role,c=j.message.content;if("user"===a){let a=S(c);if(!a)continue;e.push({type:"user",...(0,l.baseEntry)(m,p,o,b),message:{role:"user",content:a}});continue}if("assistant"===a){let a=function(a,b){if(!Array.isArray(a))return[];let c=[];for(let d of a)if(d?.type==="text"&&"string"==typeof d.text&&d.text.length>0&&c.push({type:"text",text:d.text}),d?.type==="thinking"&&"string"==typeof d.thinking&&d.thinking.length>0&&c.push({type:"text",text:`[thinking] ${d.thinking}`}),d?.type==="toolCall"){let a="string"==typeof d.id&&d.id.length>0?d.id:`${"string"==typeof d.name?d.name:"tool"}-${c.length}`,e={type:"tool_use",id:a,name:"string"==typeof d.name?d.name:"tool",input:d.arguments&&"object"==typeof d.arguments&&!Array.isArray(d.arguments)?d.arguments:{}};c.push(e),b?.(e)}return c}(c,a=>{h.set(a.id,a),i.set(a.id,o.getTime())});if(0===a.length){e.push({type:"system",...(0,l.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"assistant",...(0,l.baseEntry)(m,p,o,b),message:{role:"assistant",content:a}});continue}if("toolResult"===a){let a=j.message.toolCallId,b="string"==typeof a?h.get(a):void 0;if(b){let d="string"==typeof a&&i.get(a)||o.getTime(),e=Math.max(0,o.getTime()-d);b.result={timestamp:p,timestampFormatted:(0,l.formatTimestamp)(o),content:S(c),durationMs:e,durationFormatted:(0,r.formatDuration)(e)};continue}}e.push({type:"system",...(0,l.baseEntry)(m,p,o,b),raw:m});continue}e.push({type:"system",...(0,l.baseEntry)(m,p,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function U(a){let b,c,d=function(a){let b;if(!Q.test(a))return null;let c=(0,o.resolve)(process.env.PI_SESSIONS_DIR||(0,o.join)((0,p.homedir)(),".pi","agent","sessions"));try{b=(0,m.readdirSync)(c)}catch{return null}for(let d of b){let b,e=(0,o.resolve)(c,d);if(e.startsWith(`${c}${o.sep}`)){try{b=(0,m.readdirSync)(e)}catch{continue}for(let c of b){let b=R.exec(c);if(!b||b[1].toLowerCase()!==a.toLowerCase())continue;let d=(0,o.resolve)(e,c);if(d.startsWith(`${e}${o.sep}`)&&(0,m.existsSync)(d))return d}}}return null}(a);if(!d)return null;try{b=await (0,n.readFile)(d,"utf-8")}catch{return null}try{c=await T(b,"session")}catch{return null}return{entries:c.entries,rawLines:c.rawLines,cwd:c.cwd,filePath:d}}let V=(0,q.runtimeCache)(a=>U(a),60,{maxSize:50});var W=a.i(54563),X=a.i(87488),Y=a.i(89901),Z=a.i(33559),$=a.i(99910),_=a.i(74615),aa=a.i(90798),ab=a.i(69191),ac=a.i(71130),ad=a.i(893),ae=a.i(24282);function af({cli:a}){let c=(0,ae.getCliLabel)(a),d=(0,ae.getCliBadgeClasses)(a);return(0,b.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-mono font-medium uppercase tracking-wider border ${d}`,title:`Agent CLI: ${c}`,children:c})}async function ag({params:a}){let d,e,{name:f,sessionId:g}=await a;try{(0,ab.resolveProjectPath)(f)}catch{(0,k.notFound)()}let i=(0,aa.decodeFolderName)(f),m=-1===(e=g.indexOf("/"))?g:g.slice(0,e);ab.UUID_RE.test(m)||/^ses_[A-Za-z0-9]+$/.test(m)||/^[A-Za-z0-9_-]+$/.test(m)||(0,k.notFound)();let n=null,o=null,p=null,q="claude";try{let a=await (0,l.getCachedSessionLog)(f,m);n=a.entries,o=a.rawLines}catch(a){if("ENOENT"===a.code){let a=await z(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="codex";else{let a=await D(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="copilot";else{let a=await J(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="cursor";else{let a=await P(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="opencode";else{let a=await V(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="pi";else{let a=await (0,W.getCachedHermesSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="hermes";else{let a=await (0,X.getCachedOpenClawSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="openclaw";else{let a=await (0,Y.getCachedFactorySessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="factory";else{let a=await (0,Z.getCachedDevinSessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="devin";else{let a=await (0,$.getCachedAntigravitySessionLog)(m);if(a)n=a.entries,o=a.rawLines,d=a.cwd,q="antigravity";else{let a=await (0,_.getCachedGooseSessionLog)(m);a?(n=a.entries,o=a.rawLines,d=a.cwd,q="goose"):p="Session log file not found."}}}}}}}}}}}else p="Failed to read session log."}let r="claude"!==q,s="codex"===q?`OpenAI Codex${d?` \xb7 ${d}`:""}`:"copilot"===q?`GitHub Copilot${d?` \xb7 ${d}`:""}`:"cursor"===q?`Cursor Agent${d?` \xb7 ${d}`:""}`:"opencode"===q?`OpenCode${d?` \xb7 ${d}`:""}`:"pi"===q?`Pi${d?` \xb7 ${d}`:""}`:"hermes"===q?`Hermes${d?` \xb7 ${d}`:""}`:"openclaw"===q?`OpenClaw${d?` \xb7 ${d}`:""}`:"factory"===q?`Factory Droid${d?` \xb7 ${d}`:""}`:"devin"===q?`Devin CLI${d?` \xb7 ${d}`:""}`:"antigravity"===q?`Antigravity CLI${d?` \xb7 ${d}`:""}`:"goose"===q?`Goose${d?` \xb7 ${d}`:""}`:i;return(0,b.jsx)("main",{className:"min-h-screen bg-background",children:(0,b.jsxs)("div",{className:"container mx-auto p-8",children:[(0,b.jsxs)(c.default,{href:r?"/policies?tab=activity":`/project/${encodeURIComponent(f)}`,className:"inline-flex items-center gap-2 text-muted-foreground hover:text-foreground mb-6 transition-colors",children:[(0,b.jsx)(h,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:r?"Back to Activity":"Back to Sessions"})]}),(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mb-2",children:[(0,b.jsx)("h1",{className:"text-4xl font-bold text-foreground",children:"Session Log"}),(0,b.jsx)(af,{cli:q})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium",children:[r?"CLI":"Project",":"]})," ",s]}),(0,b.jsxs)("p",{className:"text-muted-foreground break-words break-all inline-flex items-center gap-1",children:[(0,b.jsx)("span",{className:"font-medium",children:"Session:"})," ",m,(0,b.jsx)(ad.CopyButton,{text:m})]}),n&&o&&(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium",children:o.length})," log lines"]}),(0,b.jsxs)("a",{href:`/api/download/${encodeURIComponent(f)}/${encodeURIComponent(m)}?cli=${q}`,download:!0,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-md bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground transition-colors",children:[(0,b.jsx)(j,{className:"w-4 h-4"}),"Download Logs"]})]})]})]}),p&&(0,b.jsx)("div",{className:"bg-card text-card-foreground rounded-lg border border-destructive/50 p-6 shadow-sm",children:(0,b.jsx)("p",{className:"text-destructive text-center py-8",children:p})}),!p&&n&&(0,b.jsx)(ac.default,{entries:n,projectName:r?d??("codex"===q?"OpenAI Codex":"copilot"===q?"GitHub Copilot":"cursor"===q?"Cursor Agent":"opencode"===q?"OpenCode":"pi"===q?"Pi":"hermes"===q?"Hermes":"openclaw"===q?"OpenClaw":"factory"===q?"Factory Droid":"devin"===q?"Devin CLI":"Antigravity CLI"):i,sessionId:m})]})})}a.s(["default",0,ag,"dynamic",0,"force-dynamic"],41190)},87330,function(a){a.n(a.i(41190))},90697,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/lucide-react/dist/esm/Icon.mjs from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/lucide-react/dist/esm/Icon.mjs","default")},53808,a=>{"use strict";var b=a.i(90697);a.n(b)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_1ddpc5g._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[27267,(a,b,c)=>{"use strict";let d=Symbol.for("yaml.alias"),e=Symbol.for("yaml.document"),f=Symbol.for("yaml.map"),g=Symbol.for("yaml.pair"),h=Symbol.for("yaml.scalar"),i=Symbol.for("yaml.seq"),j=Symbol.for("yaml.node.type"),k=a=>!!a&&"object"==typeof a&&a[j]===h;function l(a){if(a&&"object"==typeof a)switch(a[j]){case f:case i:return!0}return!1}c.ALIAS=d,c.DOC=e,c.MAP=f,c.NODE_TYPE=j,c.PAIR=g,c.SCALAR=h,c.SEQ=i,c.hasAnchor=a=>(k(a)||l(a))&&!!a.anchor,c.isAlias=a=>!!a&&"object"==typeof a&&a[j]===d,c.isCollection=l,c.isDocument=a=>!!a&&"object"==typeof a&&a[j]===e,c.isMap=a=>!!a&&"object"==typeof a&&a[j]===f,c.isNode=function(a){if(a&&"object"==typeof a)switch(a[j]){case d:case f:case h:case i:return!0}return!1},c.isPair=a=>!!a&&"object"==typeof a&&a[j]===g,c.isScalar=k,c.isSeq=a=>!!a&&"object"==typeof a&&a[j]===i},85927,(a,b,c)=>{"use strict";var d=a.r(27267);let e=Symbol("break visit"),f=Symbol("skip children"),g=Symbol("remove node");function h(a,b){let c=l(b);d.isDocument(a)?i(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):i(null,a,c,Object.freeze([]))}function i(a,b,c,f){let h=m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),i(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=i(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=i("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=i("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}async function j(a,b){let c=l(b);d.isDocument(a)?await k(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):await k(null,a,c,Object.freeze([]))}async function k(a,b,c,f){let h=await m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),k(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=await k(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=await k("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=await k("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}function l(a){return"object"==typeof a&&(a.Collection||a.Node||a.Value)?Object.assign({Alias:a.Node,Map:a.Node,Scalar:a.Node,Seq:a.Node},a.Value&&{Map:a.Value,Scalar:a.Value,Seq:a.Value},a.Collection&&{Map:a.Collection,Seq:a.Collection},a):a}function m(a,b,c,e){return"function"==typeof c?c(a,b,e):d.isMap(b)?c.Map?.(a,b,e):d.isSeq(b)?c.Seq?.(a,b,e):d.isPair(b)?c.Pair?.(a,b,e):d.isScalar(b)?c.Scalar?.(a,b,e):d.isAlias(b)?c.Alias?.(a,b,e):void 0}function n(a,b,c){let e=b[b.length-1];if(d.isCollection(e))e.items[a]=c;else if(d.isPair(e))"key"===a?e.key=c:e.value=c;else if(d.isDocument(e))e.contents=c;else{let a=d.isAlias(e)?"alias":"scalar";throw Error(`Cannot replace node with ${a} parent`)}}h.BREAK=e,h.SKIP=f,h.REMOVE=g,j.BREAK=e,j.SKIP=f,j.REMOVE=g,c.visit=h,c.visitAsync=j},74957,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(85927);let f={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},g=a=>a.replace(/[!,[\]{}]/g,a=>f[a]);class h{constructor(a,b){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},h.defaultYaml,a),this.tags=Object.assign({},h.defaultTags,b)}clone(){let a=new h(this.yaml,this.tags);return a.docStart=this.docStart,a}atDocument(){let a=new h(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:h.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},h.defaultTags)}return a}add(a,b){this.atNextDocument&&(this.yaml={explicit:h.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},h.defaultTags),this.atNextDocument=!1);let c=a.trim().split(/[ \t]+/),d=c.shift();switch(d){case"%TAG":{if(2!==c.length&&(b(0,"%TAG directive should contain exactly two parts"),c.length<2))return!1;let[a,d]=c;return this.tags[a]=d,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==c.length)return b(0,"%YAML directive should contain exactly one part"),!1;let[a]=c;if("1.1"===a||"1.2"===a)return this.yaml.version=a,!0;{let c=/^\d+\.\d+$/.test(a);return b(6,`Unsupported YAML version ${a}`,c),!1}}default:return b(0,`Unknown directive ${d}`,!0),!1}}tagName(a,b){if("!"===a)return"!";if("!"!==a[0])return b(`Not a valid tag: ${a}`),null;if("<"===a[1]){let c=a.slice(2,-1);return"!"===c||"!!"===c?(b(`Verbatim tags aren't resolved, so ${a} is invalid.`),null):(">"!==a[a.length-1]&&b("Verbatim tags must end with a >"),c)}let[,c,d]=a.match(/^(.*!)([^!]*)$/s);d||b(`The ${a} tag has no suffix`);let e=this.tags[c];if(e)try{return e+decodeURIComponent(d)}catch(a){return b(String(a)),null}return"!"===c?a:(b(`Could not resolve tag: ${a}`),null)}tagString(a){for(let[b,c]of Object.entries(this.tags))if(a.startsWith(c))return b+g(a.substring(c.length));return"!"===a[0]?a:`!<${a}>`}toString(a){let b,c=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],f=Object.entries(this.tags);if(a&&f.length>0&&d.isNode(a.contents)){let c={};e.visit(a.contents,(a,b)=>{d.isNode(b)&&b.tag&&(c[b.tag]=!0)}),b=Object.keys(c)}else b=[];for(let[d,e]of f)("!!"!==d||"tag:yaml.org,2002:"!==e)&&(!a||b.some(a=>a.startsWith(e)))&&c.push(`%TAG ${d} ${e}`);return c.join("\n")}}h.defaultYaml={explicit:!1,version:"1.2"},h.defaultTags={"!!":"tag:yaml.org,2002:"},c.Directives=h},10937,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(85927);function f(a){let b=new Set;return e.visit(a,{Value(a,c){c.anchor&&b.add(c.anchor)}}),b}function g(a,b){for(let c=1;;++c){let d=`${a}${c}`;if(!b.has(d))return d}}c.anchorIsValid=function(a){if(/[\x00-\x19\s,[\]{}]/.test(a)){let b=JSON.stringify(a);throw Error(`Anchor must not contain whitespace or control characters: ${b}`)}return!0},c.anchorNames=f,c.createNodeAnchors=function(a,b){let c=[],e=new Map,h=null;return{onAnchor:d=>{c.push(d),h??(h=f(a));let e=g(b,h);return h.add(e),e},setAnchors:()=>{for(let a of c){let b=e.get(a);if("object"==typeof b&&b.anchor&&(d.isScalar(b.node)||d.isCollection(b.node)))b.node.anchor=b.anchor;else{let b=Error("Failed to resolve repeated object (this should not happen)");throw b.source=a,b}}},sourceObjects:e}},c.findNewAnchor=g},59588,(a,b,c)=>{"use strict";c.applyReviver=function a(b,c,d,e){if(e&&"object"==typeof e)if(Array.isArray(e))for(let c=0,d=e.length;c<d;++c){let d=e[c],f=a(b,e,String(c),d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}else if(e instanceof Map)for(let c of Array.from(e.keys())){let d=e.get(c),f=a(b,e,c,d);void 0===f?e.delete(c):f!==d&&e.set(c,f)}else if(e instanceof Set)for(let c of Array.from(e)){let d=a(b,e,c,c);void 0===d?e.delete(c):d!==c&&(e.delete(c),e.add(d))}else for(let[c,d]of Object.entries(e)){let f=a(b,e,c,d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}return b.call(c,d,e)}},94,(a,b,c)=>{"use strict";var d=a.r(27267);c.toJS=function a(b,c,e){if(Array.isArray(b))return b.map((b,c)=>a(b,String(c),e));if(b&&"function"==typeof b.toJSON){if(!e||!d.hasAnchor(b))return b.toJSON(c,e);let a={aliasCount:0,count:1,res:void 0};e.anchors.set(b,a),e.onCreate=b=>{a.res=b,delete e.onCreate};let f=b.toJSON(c,e);return e.onCreate&&e.onCreate(f),f}return"bigint"!=typeof b||e?.keep?b:Number(b)}},25154,(a,b,c)=>{"use strict";var d=a.r(59588),e=a.r(27267),f=a.r(94);c.NodeBase=class{constructor(a){Object.defineProperty(this,e.NODE_TYPE,{value:a})}clone(){let a=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(a.range=this.range.slice()),a}toJS(a,{mapAsMap:b,maxAliasCount:c,onAnchor:g,reviver:h}={}){if(!e.isDocument(a))throw TypeError("A document argument is required");let i={anchors:new Map,doc:a,keep:!0,mapAsMap:!0===b,mapKeyWarned:!1,maxAliasCount:"number"==typeof c?c:100},j=f.toJS(this,"",i);if("function"==typeof g)for(let{count:a,res:b}of i.anchors.values())g(b,a);return"function"==typeof h?d.applyReviver(h,{"":j},"",j):j}}},21562,(a,b,c)=>{"use strict";var d=a.r(10937),e=a.r(85927),f=a.r(27267),g=a.r(25154),h=a.r(94);class i extends g.NodeBase{constructor(a){super(f.ALIAS),this.source=a,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(a,b){let c,d;if(b?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let g of(b?.aliasResolveCache?c=b.aliasResolveCache:(c=[],e.visit(a,{Node:(a,b)=>{(f.isAlias(b)||f.hasAnchor(b))&&c.push(b)}}),b&&(b.aliasResolveCache=c)),c)){if(g===this)break;g.anchor===this.source&&(d=g)}return d}toJSON(a,b){if(!b)return{source:this.source};let{anchors:c,doc:d,maxAliasCount:e}=b,g=this.resolve(d,b);if(!g)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let i=c.get(g);if(i||(h.toJS(g,null,b),i=c.get(g)),i?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(e>=0&&(i.count+=1,0===i.aliasCount&&(i.aliasCount=function a(b,c,d){if(f.isAlias(c)){let a=c.resolve(b),e=d&&a&&d.get(a);return e?e.count*e.aliasCount:0}if(f.isCollection(c)){let e=0;for(let f of c.items){let c=a(b,f,d);c>e&&(e=c)}return e}return f.isPair(c)?Math.max(a(b,c.key,d),a(b,c.value,d)):1}(d,g,c)),i.count*i.aliasCount>e))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return i.res}toString(a,b,c){let e=`*${this.source}`;if(a){if(d.anchorIsValid(this.source),a.options.verifyAliasOrder&&!a.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(a.implicitKey)return`${e} `}return e}}c.Alias=i},27853,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(25154),f=a.r(94);class g extends e.NodeBase{constructor(a){super(d.SCALAR),this.value=a}toJSON(a,b){return b?.keep?this.value:f.toJS(this.value,a,b)}toString(){return String(this.value)}}g.BLOCK_FOLDED="BLOCK_FOLDED",g.BLOCK_LITERAL="BLOCK_LITERAL",g.PLAIN="PLAIN",g.QUOTE_DOUBLE="QUOTE_DOUBLE",g.QUOTE_SINGLE="QUOTE_SINGLE",c.Scalar=g,c.isScalarValue=a=>!a||"function"!=typeof a&&"object"!=typeof a},10882,(a,b,c)=>{"use strict";var d=a.r(21562),e=a.r(27267),f=a.r(27853);c.createNode=function(a,b,c){let g;if(e.isDocument(a)&&(a=a.contents),e.isNode(a))return a;if(e.isPair(a)){let b=c.schema[e.MAP].createNode?.(c.schema,null,c);return b.items.push(a),b}(a instanceof String||a instanceof Number||a instanceof Boolean||"u">typeof BigInt&&a instanceof BigInt)&&(a=a.valueOf());let{aliasDuplicateObjects:h,onAnchor:i,onTagObj:j,schema:k,sourceObjects:l}=c;if(h&&a&&"object"==typeof a){if(g=l.get(a))return g.anchor??(g.anchor=i(a)),new d.Alias(g.anchor);g={anchor:null,node:null},l.set(a,g)}b?.startsWith("!!")&&(b="tag:yaml.org,2002:"+b.slice(2));let m=function(a,b,c){if(b){let a=c.filter(a=>a.tag===b),d=a.find(a=>!a.format)??a[0];if(!d)throw Error(`Tag ${b} not found`);return d}return c.find(b=>b.identify?.(a)&&!b.format)}(a,b,k.tags);if(!m){if(a&&"function"==typeof a.toJSON&&(a=a.toJSON()),!a||"object"!=typeof a){let b=new f.Scalar(a);return g&&(g.node=b),b}m=a instanceof Map?k[e.MAP]:Symbol.iterator in Object(a)?k[e.SEQ]:k[e.MAP]}j&&(j(m),delete c.onTagObj);let n=m?.createNode?m.createNode(c.schema,a,c):"function"==typeof m?.nodeClass?.from?m.nodeClass.from(c.schema,a,c):new f.Scalar(a);return b?n.tag=b:m.default||(n.tag=m.tag),g&&(g.node=n),n}},35249,(a,b,c)=>{"use strict";var d=a.r(10882),e=a.r(27267),f=a.r(25154);function g(a,b,c){let e=c;for(let a=b.length-1;a>=0;--a){let c=b[a];if("number"==typeof c&&Number.isInteger(c)&&c>=0){let a=[];a[c]=e,e=a}else e=new Map([[c,e]])}return d.createNode(e,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:a,sourceObjects:new Map})}let h=a=>null==a||"object"==typeof a&&!!a[Symbol.iterator]().next().done;class i extends f.NodeBase{constructor(a,b){super(a),Object.defineProperty(this,"schema",{value:b,configurable:!0,enumerable:!1,writable:!0})}clone(a){let b=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return a&&(b.schema=a),b.items=b.items.map(b=>e.isNode(b)||e.isPair(b)?b.clone(a):b),this.range&&(b.range=this.range.slice()),b}addIn(a,b){if(h(a))this.add(b);else{let[c,...d]=a,f=this.get(c,!0);if(e.isCollection(f))f.addIn(d,b);else if(void 0===f&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}deleteIn(a){let[b,...c]=a;if(0===c.length)return this.delete(b);let d=this.get(b,!0);if(e.isCollection(d))return d.deleteIn(c);throw Error(`Expected YAML collection at ${b}. Remaining path: ${c}`)}getIn(a,b){let[c,...d]=a,f=this.get(c,!0);return 0===d.length?!b&&e.isScalar(f)?f.value:f:e.isCollection(f)?f.getIn(d,b):void 0}hasAllNullValues(a){return this.items.every(b=>{if(!e.isPair(b))return!1;let c=b.value;return null==c||a&&e.isScalar(c)&&null==c.value&&!c.commentBefore&&!c.comment&&!c.tag})}hasIn(a){let[b,...c]=a;if(0===c.length)return this.has(b);let d=this.get(b,!0);return!!e.isCollection(d)&&d.hasIn(c)}setIn(a,b){let[c,...d]=a;if(0===d.length)this.set(c,b);else{let a=this.get(c,!0);if(e.isCollection(a))a.setIn(d,b);else if(void 0===a&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}}c.Collection=i,c.collectionFromPath=g,c.isEmptyPath=h},53074,(a,b,c)=>{"use strict";function d(a,b){return/^\n+$/.test(a)?a.substring(1):b?a.replace(/^(?! *$)/gm,b):a}c.indentComment=d,c.lineComment=(a,b,c)=>a.endsWith("\n")?d(c,b):c.includes("\n")?"\n"+d(c,b):(a.endsWith(" ")?"":" ")+c,c.stringifyComment=a=>a.replace(/^(?!$)(?: $)?/gm,"#")},59245,(a,b,c)=>{"use strict";let d="block",e="quoted";function f(a,b,c){let d=b,e=b+1,f=a[e];for(;" "===f||" "===f;)if(b<e+c)f=a[++b];else{do f=a[++b];while(f&&"\n"!==f)d=b,f=a[e=b+1]}return d}c.FOLD_BLOCK=d,c.FOLD_FLOW="flow",c.FOLD_QUOTED=e,c.foldFlowLines=function(a,b,c="flow",{indentAtStart:g,lineWidth:h=80,minContentWidth:i=20,onFold:j,onOverflow:k}={}){let l,m,n;if(!h||h<0)return a;h<i&&(i=0);let o=Math.max(1+i,1+h-b.length);if(a.length<=o)return a;let p=[],q={},r=h-b.length;"number"==typeof g&&(g>h-Math.max(2,i)?p.push(0):r=h-g);let s=!1,t=-1,u=-1,v=-1;for(c===d&&-1!==(t=f(a,t,b.length))&&(r=t+o);n=a[t+=1];){if(c===e&&"\\"===n){switch(u=t,a[t+1]){case"x":t+=3;break;case"u":t+=5;break;case"U":t+=9;break;default:t+=1}v=t}if("\n"===n)c===d&&(t=f(a,t,b.length)),r=t+b.length+o,l=void 0;else{if(" "===n&&m&&" "!==m&&"\n"!==m&&" "!==m){let b=a[t+1];b&&" "!==b&&"\n"!==b&&" "!==b&&(l=t)}if(t>=r)if(l)p.push(l),r=l+o,l=void 0;else if(c===e){for(;" "===m||" "===m;)m=n,n=a[t+=1],s=!0;let b=t>v+1?t-2:u-1;if(q[b])return a;p.push(b),q[b]=!0,r=b+o,l=void 0}else s=!0}m=n}if(s&&k&&k(),0===p.length)return a;j&&j();let w=a.slice(0,p[0]);for(let d=0;d<p.length;++d){let f=p[d],g=p[d+1]||a.length;0===f?w=`
|
|
1
|
+
module.exports=[27267,(a,b,c)=>{"use strict";let d=Symbol.for("yaml.alias"),e=Symbol.for("yaml.document"),f=Symbol.for("yaml.map"),g=Symbol.for("yaml.pair"),h=Symbol.for("yaml.scalar"),i=Symbol.for("yaml.seq"),j=Symbol.for("yaml.node.type"),k=a=>!!a&&"object"==typeof a&&a[j]===h;function l(a){if(a&&"object"==typeof a)switch(a[j]){case f:case i:return!0}return!1}c.ALIAS=d,c.DOC=e,c.MAP=f,c.NODE_TYPE=j,c.PAIR=g,c.SCALAR=h,c.SEQ=i,c.hasAnchor=a=>(k(a)||l(a))&&!!a.anchor,c.isAlias=a=>!!a&&"object"==typeof a&&a[j]===d,c.isCollection=l,c.isDocument=a=>!!a&&"object"==typeof a&&a[j]===e,c.isMap=a=>!!a&&"object"==typeof a&&a[j]===f,c.isNode=function(a){if(a&&"object"==typeof a)switch(a[j]){case d:case f:case h:case i:return!0}return!1},c.isPair=a=>!!a&&"object"==typeof a&&a[j]===g,c.isScalar=k,c.isSeq=a=>!!a&&"object"==typeof a&&a[j]===i},85927,(a,b,c)=>{"use strict";var d=a.r(27267);let e=Symbol("break visit"),f=Symbol("skip children"),g=Symbol("remove node");function h(a,b){let c=l(b);d.isDocument(a)?i(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):i(null,a,c,Object.freeze([]))}function i(a,b,c,f){let h=m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),i(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=i(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=i("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=i("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}async function j(a,b){let c=l(b);d.isDocument(a)?await k(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):await k(null,a,c,Object.freeze([]))}async function k(a,b,c,f){let h=await m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),k(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=await k(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=await k("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=await k("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}function l(a){return"object"==typeof a&&(a.Collection||a.Node||a.Value)?Object.assign({Alias:a.Node,Map:a.Node,Scalar:a.Node,Seq:a.Node},a.Value&&{Map:a.Value,Scalar:a.Value,Seq:a.Value},a.Collection&&{Map:a.Collection,Seq:a.Collection},a):a}function m(a,b,c,e){return"function"==typeof c?c(a,b,e):d.isMap(b)?c.Map?.(a,b,e):d.isSeq(b)?c.Seq?.(a,b,e):d.isPair(b)?c.Pair?.(a,b,e):d.isScalar(b)?c.Scalar?.(a,b,e):d.isAlias(b)?c.Alias?.(a,b,e):void 0}function n(a,b,c){let e=b[b.length-1];if(d.isCollection(e))e.items[a]=c;else if(d.isPair(e))"key"===a?e.key=c:e.value=c;else if(d.isDocument(e))e.contents=c;else{let a=d.isAlias(e)?"alias":"scalar";throw Error(`Cannot replace node with ${a} parent`)}}h.BREAK=e,h.SKIP=f,h.REMOVE=g,j.BREAK=e,j.SKIP=f,j.REMOVE=g,c.visit=h,c.visitAsync=j},74957,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(85927);let f={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},g=a=>a.replace(/[!,[\]{}]/g,a=>f[a]);class h{constructor(a,b){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},h.defaultYaml,a),this.tags=Object.assign({},h.defaultTags,b)}clone(){let a=new h(this.yaml,this.tags);return a.docStart=this.docStart,a}atDocument(){let a=new h(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:h.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},h.defaultTags)}return a}add(a,b){this.atNextDocument&&(this.yaml={explicit:h.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},h.defaultTags),this.atNextDocument=!1);let c=a.trim().split(/[ \t]+/),d=c.shift();switch(d){case"%TAG":{if(2!==c.length&&(b(0,"%TAG directive should contain exactly two parts"),c.length<2))return!1;let[a,d]=c;return this.tags[a]=d,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==c.length)return b(0,"%YAML directive should contain exactly one part"),!1;let[a]=c;if("1.1"===a||"1.2"===a)return this.yaml.version=a,!0;{let c=/^\d+\.\d+$/.test(a);return b(6,`Unsupported YAML version ${a}`,c),!1}}default:return b(0,`Unknown directive ${d}`,!0),!1}}tagName(a,b){if("!"===a)return"!";if("!"!==a[0])return b(`Not a valid tag: ${a}`),null;if("<"===a[1]){let c=a.slice(2,-1);return"!"===c||"!!"===c?(b(`Verbatim tags aren't resolved, so ${a} is invalid.`),null):(">"!==a[a.length-1]&&b("Verbatim tags must end with a >"),c)}let[,c,d]=a.match(/^(.*!)([^!]*)$/s);d||b(`The ${a} tag has no suffix`);let e=this.tags[c];if(e)try{return e+decodeURIComponent(d)}catch(a){return b(String(a)),null}return"!"===c?a:(b(`Could not resolve tag: ${a}`),null)}tagString(a){for(let[b,c]of Object.entries(this.tags))if(a.startsWith(c))return b+g(a.substring(c.length));return"!"===a[0]?a:`!<${a}>`}toString(a){let b,c=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],f=Object.entries(this.tags);if(a&&f.length>0&&d.isNode(a.contents)){let c={};e.visit(a.contents,(a,b)=>{d.isNode(b)&&b.tag&&(c[b.tag]=!0)}),b=Object.keys(c)}else b=[];for(let[d,e]of f)("!!"!==d||"tag:yaml.org,2002:"!==e)&&(!a||b.some(a=>a.startsWith(e)))&&c.push(`%TAG ${d} ${e}`);return c.join("\n")}}h.defaultYaml={explicit:!1,version:"1.2"},h.defaultTags={"!!":"tag:yaml.org,2002:"},c.Directives=h},10937,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(85927);function f(a){let b=new Set;return e.visit(a,{Value(a,c){c.anchor&&b.add(c.anchor)}}),b}function g(a,b){for(let c=1;;++c){let d=`${a}${c}`;if(!b.has(d))return d}}c.anchorIsValid=function(a){if(/[\x00-\x19\s,[\]{}]/.test(a)){let b=JSON.stringify(a);throw Error(`Anchor must not contain whitespace or control characters: ${b}`)}return!0},c.anchorNames=f,c.createNodeAnchors=function(a,b){let c=[],e=new Map,h=null;return{onAnchor:d=>{c.push(d),h??(h=f(a));let e=g(b,h);return h.add(e),e},setAnchors:()=>{for(let a of c){let b=e.get(a);if("object"==typeof b&&b.anchor&&(d.isScalar(b.node)||d.isCollection(b.node)))b.node.anchor=b.anchor;else{let b=Error("Failed to resolve repeated object (this should not happen)");throw b.source=a,b}}},sourceObjects:e}},c.findNewAnchor=g},59588,(a,b,c)=>{"use strict";c.applyReviver=function a(b,c,d,e){if(e&&"object"==typeof e)if(Array.isArray(e))for(let c=0,d=e.length;c<d;++c){let d=e[c],f=a(b,e,String(c),d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}else if(e instanceof Map)for(let c of Array.from(e.keys())){let d=e.get(c),f=a(b,e,c,d);void 0===f?e.delete(c):f!==d&&e.set(c,f)}else if(e instanceof Set)for(let c of Array.from(e)){let d=a(b,e,c,c);void 0===d?e.delete(c):d!==c&&(e.delete(c),e.add(d))}else for(let[c,d]of Object.entries(e)){let f=a(b,e,c,d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}return b.call(c,d,e)}},94,(a,b,c)=>{"use strict";var d=a.r(27267);c.toJS=function a(b,c,e){if(Array.isArray(b))return b.map((b,c)=>a(b,String(c),e));if(b&&"function"==typeof b.toJSON){if(!e||!d.hasAnchor(b))return b.toJSON(c,e);let a={aliasCount:0,count:1,res:void 0};e.anchors.set(b,a),e.onCreate=b=>{a.res=b,delete e.onCreate};let f=b.toJSON(c,e);return e.onCreate&&e.onCreate(f),f}return"bigint"!=typeof b||e?.keep?b:Number(b)}},25154,(a,b,c)=>{"use strict";var d=a.r(59588),e=a.r(27267),f=a.r(94);c.NodeBase=class{constructor(a){Object.defineProperty(this,e.NODE_TYPE,{value:a})}clone(){let a=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(a.range=this.range.slice()),a}toJS(a,{mapAsMap:b,maxAliasCount:c,onAnchor:g,reviver:h}={}){if(!e.isDocument(a))throw TypeError("A document argument is required");let i={anchors:new Map,doc:a,keep:!0,mapAsMap:!0===b,mapKeyWarned:!1,maxAliasCount:"number"==typeof c?c:100},j=f.toJS(this,"",i);if("function"==typeof g)for(let{count:a,res:b}of i.anchors.values())g(b,a);return"function"==typeof h?d.applyReviver(h,{"":j},"",j):j}}},21562,(a,b,c)=>{"use strict";var d=a.r(10937),e=a.r(85927),f=a.r(27267),g=a.r(25154),h=a.r(94);class i extends g.NodeBase{constructor(a){super(f.ALIAS),this.source=a,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(a,b){let c,d;if(b?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let g of(b?.aliasResolveCache?c=b.aliasResolveCache:(c=[],e.visit(a,{Node:(a,b)=>{(f.isAlias(b)||f.hasAnchor(b))&&c.push(b)}}),b&&(b.aliasResolveCache=c)),c)){if(g===this)break;g.anchor===this.source&&(d=g)}if(d&&b){let{anchors:a,doc:c,maxAliasCount:e}=b,g=a.get(d);if(g||(h.toJS(d,null,b),g=a.get(d)),g?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(e>=0&&(g.count+=1,0===g.aliasCount&&(g.aliasCount=function a(b,c,d){if(f.isAlias(c)){let a=c.resolve(b),e=d&&a&&d.get(a);return e?e.count*e.aliasCount:0}if(f.isCollection(c)){let e=0;for(let f of c.items){let c=a(b,f,d);c>e&&(e=c)}return e}return f.isPair(c)?Math.max(a(b,c.key,d),a(b,c.value,d)):1}(c,d,a)),g.count*g.aliasCount>e))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return d}toJSON(a,b){if(!b)return{source:this.source};let c=this.resolve(b.doc,b);if(!c)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);return b.anchors.get(c).res}toString(a,b,c){let e=`*${this.source}`;if(a){if(d.anchorIsValid(this.source),a.options.verifyAliasOrder&&!a.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(a.implicitKey)return`${e} `}return e}}c.Alias=i},27853,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(25154),f=a.r(94);class g extends e.NodeBase{constructor(a){super(d.SCALAR),this.value=a}toJSON(a,b){return b?.keep?this.value:f.toJS(this.value,a,b)}toString(){return String(this.value)}}g.BLOCK_FOLDED="BLOCK_FOLDED",g.BLOCK_LITERAL="BLOCK_LITERAL",g.PLAIN="PLAIN",g.QUOTE_DOUBLE="QUOTE_DOUBLE",g.QUOTE_SINGLE="QUOTE_SINGLE",c.Scalar=g,c.isScalarValue=a=>!a||"function"!=typeof a&&"object"!=typeof a},10882,(a,b,c)=>{"use strict";var d=a.r(21562),e=a.r(27267),f=a.r(27853);c.createNode=function(a,b,c){let g;if(e.isDocument(a)&&(a=a.contents),e.isNode(a))return a;if(e.isPair(a)){let b=c.schema[e.MAP].createNode?.(c.schema,null,c);return b.items.push(a),b}(a instanceof String||a instanceof Number||a instanceof Boolean||"u">typeof BigInt&&a instanceof BigInt)&&(a=a.valueOf());let{aliasDuplicateObjects:h,onAnchor:i,onTagObj:j,schema:k,sourceObjects:l}=c;if(h&&a&&"object"==typeof a){if(g=l.get(a))return g.anchor??(g.anchor=i(a)),new d.Alias(g.anchor);g={anchor:null,node:null},l.set(a,g)}b?.startsWith("!!")&&(b="tag:yaml.org,2002:"+b.slice(2));let m=function(a,b,c){if(b){let a=c.filter(a=>a.tag===b),d=a.find(a=>!a.format)??a[0];if(!d)throw Error(`Tag ${b} not found`);return d}return c.find(b=>b.identify?.(a)&&!b.format)}(a,b,k.tags);if(!m){if(a&&"function"==typeof a.toJSON&&(a=a.toJSON()),!a||"object"!=typeof a){let b=new f.Scalar(a);return g&&(g.node=b),b}m=a instanceof Map?k[e.MAP]:Symbol.iterator in Object(a)?k[e.SEQ]:k[e.MAP]}j&&(j(m),delete c.onTagObj);let n=m?.createNode?m.createNode(c.schema,a,c):"function"==typeof m?.nodeClass?.from?m.nodeClass.from(c.schema,a,c):new f.Scalar(a);return b?n.tag=b:m.default||(n.tag=m.tag),g&&(g.node=n),n}},35249,(a,b,c)=>{"use strict";var d=a.r(10882),e=a.r(27267),f=a.r(25154);function g(a,b,c){let e=c;for(let a=b.length-1;a>=0;--a){let c=b[a];if("number"==typeof c&&Number.isInteger(c)&&c>=0){let a=[];a[c]=e,e=a}else e=new Map([[c,e]])}return d.createNode(e,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:a,sourceObjects:new Map})}let h=a=>null==a||"object"==typeof a&&!!a[Symbol.iterator]().next().done;class i extends f.NodeBase{constructor(a,b){super(a),Object.defineProperty(this,"schema",{value:b,configurable:!0,enumerable:!1,writable:!0})}clone(a){let b=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return a&&(b.schema=a),b.items=b.items.map(b=>e.isNode(b)||e.isPair(b)?b.clone(a):b),this.range&&(b.range=this.range.slice()),b}addIn(a,b){if(h(a))this.add(b);else{let[c,...d]=a,f=this.get(c,!0);if(e.isCollection(f))f.addIn(d,b);else if(void 0===f&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}deleteIn(a){let[b,...c]=a;if(0===c.length)return this.delete(b);let d=this.get(b,!0);if(e.isCollection(d))return d.deleteIn(c);throw Error(`Expected YAML collection at ${b}. Remaining path: ${c}`)}getIn(a,b){let[c,...d]=a,f=this.get(c,!0);return 0===d.length?!b&&e.isScalar(f)?f.value:f:e.isCollection(f)?f.getIn(d,b):void 0}hasAllNullValues(a){return this.items.every(b=>{if(!e.isPair(b))return!1;let c=b.value;return null==c||a&&e.isScalar(c)&&null==c.value&&!c.commentBefore&&!c.comment&&!c.tag})}hasIn(a){let[b,...c]=a;if(0===c.length)return this.has(b);let d=this.get(b,!0);return!!e.isCollection(d)&&d.hasIn(c)}setIn(a,b){let[c,...d]=a;if(0===d.length)this.set(c,b);else{let a=this.get(c,!0);if(e.isCollection(a))a.setIn(d,b);else if(void 0===a&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}}c.Collection=i,c.collectionFromPath=g,c.isEmptyPath=h},53074,(a,b,c)=>{"use strict";function d(a,b){return/^\n+$/.test(a)?a.substring(1):b?a.replace(/^(?! *$)/gm,b):a}c.indentComment=d,c.lineComment=(a,b,c)=>a.endsWith("\n")?d(c,b):c.includes("\n")?"\n"+d(c,b):(a.endsWith(" ")?"":" ")+c,c.stringifyComment=a=>a.replace(/^(?!$)(?: $)?/gm,"#")},59245,(a,b,c)=>{"use strict";let d="block",e="quoted";function f(a,b,c){let d=b,e=b+1,f=a[e];for(;" "===f||" "===f;)if(b<e+c)f=a[++b];else{do f=a[++b];while(f&&"\n"!==f)d=b,f=a[e=b+1]}return d}c.FOLD_BLOCK=d,c.FOLD_FLOW="flow",c.FOLD_QUOTED=e,c.foldFlowLines=function(a,b,c="flow",{indentAtStart:g,lineWidth:h=80,minContentWidth:i=20,onFold:j,onOverflow:k}={}){let l,m,n;if(!h||h<0)return a;h<i&&(i=0);let o=Math.max(1+i,1+h-b.length);if(a.length<=o)return a;let p=[],q={},r=h-b.length;"number"==typeof g&&(g>h-Math.max(2,i)?p.push(0):r=h-g);let s=!1,t=-1,u=-1,v=-1;for(c===d&&-1!==(t=f(a,t,b.length))&&(r=t+o);n=a[t+=1];){if(c===e&&"\\"===n){switch(u=t,a[t+1]){case"x":t+=3;break;case"u":t+=5;break;case"U":t+=9;break;default:t+=1}v=t}if("\n"===n)c===d&&(t=f(a,t,b.length)),r=t+b.length+o,l=void 0;else{if(" "===n&&m&&" "!==m&&"\n"!==m&&" "!==m){let b=a[t+1];b&&" "!==b&&"\n"!==b&&" "!==b&&(l=t)}if(t>=r)if(l)p.push(l),r=l+o,l=void 0;else if(c===e){for(;" "===m||" "===m;)m=n,n=a[t+=1],s=!0;let b=t>v+1?t-2:u-1;if(q[b])return a;p.push(b),q[b]=!0,r=b+o,l=void 0}else s=!0}m=n}if(s&&k&&k(),0===p.length)return a;j&&j();let w=a.slice(0,p[0]);for(let d=0;d<p.length;++d){let f=p[d],g=p[d+1]||a.length;0===f?w=`
|
|
2
2
|
${b}${a.slice(0,g)}`:(c===e&&q[f]&&(w+=`${a[f]}\\`),w+=`
|
|
3
3
|
${b}${a.slice(f+1,g)}`)}return w}},88583,(a,b,c)=>{"use strict";let d;var e=a.r(27853),f=a.r(59245);let g=(a,b)=>({indentAtStart:b?a.indent.length:a.indentAtStart,lineWidth:a.options.lineWidth,minContentWidth:a.options.minContentWidth});function h(a,b){let c=JSON.stringify(a);if(b.options.doubleQuotedAsJSON)return c;let{implicitKey:d}=b,e=b.options.doubleQuotedMinMultiLineLength,h=b.indent||(/^(%|---|\.\.\.)/m.test(a)?" ":""),i="",j=0;for(let a=0,b=c[a];b;b=c[++a])if(" "===b&&"\\"===c[a+1]&&"n"===c[a+2]&&(i+=c.slice(j,a)+"\\ ",a+=1,j=a,b="\\"),"\\"===b)switch(c[a+1]){case"u":{i+=c.slice(j,a);let b=c.substr(a+2,4);switch(b){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:"00"===b.substr(0,2)?i+="\\x"+b.substr(2):i+=c.substr(a,6)}a+=5,j=a+1}break;case"n":if(d||'"'===c[a+2]||c.length<e)a+=1;else{for(i+=c.slice(j,a)+"\n\n";"\\"===c[a+2]&&"n"===c[a+3]&&'"'!==c[a+4];)i+="\n",a+=2;i+=h," "===c[a+2]&&(i+="\\"),a+=1,j=a+1}break;default:a+=1}return i=j?i+c.slice(j):c,d?i:f.foldFlowLines(i,h,f.FOLD_QUOTED,g(b,!1))}function i(a,b){if(!1===b.options.singleQuote||b.implicitKey&&a.includes("\n")||/[ \t]\n|\n[ \t]/.test(a))return h(a,b);let c=b.indent||(/^(%|---|\.\.\.)/m.test(a)?" ":""),d="'"+a.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
4
4
|
${c}`)+"'";return b.implicitKey?d:f.foldFlowLines(d,c,f.FOLD_FLOW,g(b,!1))}function j(a,b){let c,{singleQuote:d}=b.options;if(!1===d)c=h;else{let b=a.includes('"'),e=a.includes("'");c=b&&!e?i:e&&!b?h:d?i:h}return c(a,b)}try{d=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{d=/\n+(?!\n|$)/g}function k({comment:a,type:b,value:c},h,i,l){let m,n,o,p,{blockQuote:q,commentString:r,lineWidth:s}=h.options;if(!q||/\n[\t ]+$/.test(c))return j(c,h);let t=h.indent||(h.forceBlockIndent||(p=c,/^(%|---|\.\.\.)/m.test(p))?" ":""),u="literal"===q||"folded"!==q&&b!==e.Scalar.BLOCK_FOLDED&&(b===e.Scalar.BLOCK_LITERAL||!function(a,b,c){if(!b||b<0)return!1;let d=b-c,e=a.length;if(e<=d)return!1;for(let b=0,c=0;b<e;++b)if("\n"===a[b]){if(b-c>d)return!0;if(e-(c=b+1)<=d)return!1}return!0}(c,s,t.length));if(!c)return u?"|\n":">\n";for(n=c.length;n>0;--n){let a=c[n-1];if("\n"!==a&&" "!==a&&" "!==a)break}let v=c.substring(n),w=v.indexOf("\n");-1===w?m="-":c===v||w!==v.length-1?(m="+",l&&l()):m="",v&&(c=c.slice(0,-v.length),"\n"===v[v.length-1]&&(v=v.slice(0,-1)),v=v.replace(d,`$&${t}`));let x=!1,y=-1;for(o=0;o<c.length;++o){let a=c[o];if(" "===a)x=!0;else if("\n"===a)y=o;else break}let z=c.substring(0,y<o?y+1:o);z&&(c=c.substring(z.length),z=z.replace(/\n+/g,`$&${t}`));let A=t?"2":"1",B=(x?A:"")+m;if(a&&(B+=" "+r(a.replace(/ ?[\r\n]+/g," ")),i&&i()),!u){let a=c.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${t}`),d=!1,i=g(h,!0);"folded"!==q&&b!==e.Scalar.BLOCK_FOLDED&&(i.onOverflow=()=>{d=!0});let j=f.foldFlowLines(`${z}${a}${v}`,t,f.FOLD_BLOCK,i);if(!d)return`>${B}
|
|
@@ -18,7 +18,7 @@ ${b.comment}`:g.comment}g=a}a.items[c]=d.isPair(g)?g:new e.Pair(g)}}else b("Expe
|
|
|
18
18
|
|
|
19
19
|
${g}
|
|
20
20
|
${h}
|
|
21
|
-
`}}},91199,(a,b,c)=>{"use strict";c.resolveProps=function(a,{flow:b,indicator:c,next:d,offset:e,onError:f,parentIndent:g,startOnNewline:h}){let i=!1,j=h,k=h,l="",m="",n=!1,o=!1,p=null,q=null,r=null,s=null,t=null,u=null,v=null;for(let e of a)switch(o&&("space"!==e.type&&"newline"!==e.type&&"comma"!==e.type&&f(e.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),o=!1),p&&(j&&"comment"!==e.type&&"newline"!==e.type&&f(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),p=null),e.type){case"space":!b&&("doc-start"!==c||d?.type!=="flow-collection")&&e.source.includes(" ")&&(p=e),k=!0;break;case"comment":{k||f(e,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let a=e.source.substring(1)||" ";l?l+=m+a:l=a,m="",j=!1;break}case"newline":j?l?l+=e.source:u&&"seq-item-ind"===c||(i=!0):m+=e.source,j=!0,n=!0,(q||r)&&(s=e),k=!0;break;case"anchor":q&&f(e,"MULTIPLE_ANCHORS","A node can have at most one anchor"),e.source.endsWith(":")&&f(e.offset+e.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),q=e,v??(v=e.offset),j=!1,k=!1,o=!0;break;case"tag":r&&f(e,"MULTIPLE_TAGS","A node can have at most one tag"),r=e,v??(v=e.offset),j=!1,k=!1,o=!0;break;case c:(q||r)&&f(e,"BAD_PROP_ORDER",`Anchors and tags must be after the ${e.source} indicator`),u&&f(e,"UNEXPECTED_TOKEN",`Unexpected ${e.source} in ${b??"collection"}`),u=e,j="seq-item-ind"===c||"explicit-key-ind"===c,k=!1;break;case"comma":if(b){t&&f(e,"UNEXPECTED_TOKEN",`Unexpected , in ${b}`),t=e,j=!1,k=!1;break}default:f(e,"UNEXPECTED_TOKEN",`Unexpected ${e.type} token`),j=!1,k=!1}let w=a[a.length-1],x=w?w.offset+w.source.length:e;return o&&d&&"space"!==d.type&&"newline"!==d.type&&"comma"!==d.type&&("scalar"!==d.type||""!==d.source)&&f(d.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),p&&(j&&p.indent<=g||d?.type==="block-map"||d?.type==="block-seq")&&f(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:t,found:u,spaceBefore:i,comment:l,hasNewline:n,anchor:q,tag:r,newlineAfterProp:s,end:x,start:v??x}}},85397,(a,b,c)=>{"use strict";c.containsNewline=function a(b){if(!b)return null;switch(b.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(b.source.includes("\n"))return!0;if(b.end){for(let a of b.end)if("newline"===a.type)return!0}return!1;case"flow-collection":for(let c of b.items){for(let a of c.start)if("newline"===a.type)return!0;if(c.sep){for(let a of c.sep)if("newline"===a.type)return!0}if(a(c.key)||a(c.value))return!0}return!1;default:return!0}}},49647,(a,b,c)=>{"use strict";var d=a.r(85397);c.flowIndentCheck=function(a,b,c){if(b?.type==="flow-collection"){let e=b.end[0];e.indent===a&&("]"===e.source||"}"===e.source)&&d.containsNewline(b)&&c(e,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}},55485,(a,b,c)=>{"use strict";var d=a.r(27267);c.mapIncludes=function(a,b,c){let{uniqueKeys:e}=a.options;if(!1===e)return!1;let f="function"==typeof e?e:(a,b)=>a===b||d.isScalar(a)&&d.isScalar(b)&&a.value===b.value;return b.some(a=>f(a.key,c))}},24786,(a,b,c)=>{"use strict";var d=a.r(17602),e=a.r(47544),f=a.r(91199),g=a.r(85397),h=a.r(49647),i=a.r(55485);let j="All mapping items must start at the same column";c.resolveBlockMap=function({composeNode:a,composeEmptyNode:b},c,k,l,m){let n=new(m?.nodeClass??e.YAMLMap)(c.schema);c.atRoot&&(c.atRoot=!1);let o=k.offset,p=null;for(let e of k.items){let{start:m,key:q,sep:r,value:s}=e,t=f.resolveProps(m,{indicator:"explicit-key-ind",next:q??r?.[0],offset:o,onError:l,parentIndent:k.indent,startOnNewline:!0}),u=!t.found;if(u){if(q&&("block-seq"===q.type?l(o,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in q&&q.indent!==k.indent&&l(o,"BAD_INDENT",j)),!t.anchor&&!t.tag&&!r){p=t.end,t.comment&&(n.comment?n.comment+="\n"+t.comment:n.comment=t.comment);continue}(t.newlineAfterProp||g.containsNewline(q))&&l(q??m[m.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else t.found?.indent!==k.indent&&l(o,"BAD_INDENT",j);c.atKey=!0;let v=t.end,w=q?a(c,q,t,l):b(c,v,m,null,t,l);c.schema.compat&&h.flowIndentCheck(k.indent,q,l),c.atKey=!1,i.mapIncludes(c,n.items,w)&&l(v,"DUPLICATE_KEY","Map keys must be unique");let x=f.resolveProps(r??[],{indicator:"map-value-ind",next:s,offset:w.range[2],onError:l,parentIndent:k.indent,startOnNewline:!q||"block-scalar"===q.type});if(o=x.end,x.found){u&&(s?.type!=="block-map"||x.hasNewline||l(o,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),c.options.strict&&t.start<x.found.offset-1024&&l(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let f=s?a(c,s,x,l):b(c,o,r,null,x,l);c.schema.compat&&h.flowIndentCheck(k.indent,s,l),o=f.range[2];let g=new d.Pair(w,f);c.options.keepSourceTokens&&(g.srcToken=e),n.items.push(g)}else{u&&l(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),x.comment&&(w.comment?w.comment+="\n"+x.comment:w.comment=x.comment);let a=new d.Pair(w);c.options.keepSourceTokens&&(a.srcToken=e),n.items.push(a)}}return p&&p<o&&l(p,"IMPOSSIBLE","Map comment with trailing content"),n.range=[k.offset,o,p??o],n}},63137,(a,b,c)=>{"use strict";var d=a.r(7621),e=a.r(91199),f=a.r(49647);c.resolveBlockSeq=function({composeNode:a,composeEmptyNode:b},c,g,h,i){let j=new(i?.nodeClass??d.YAMLSeq)(c.schema);c.atRoot&&(c.atRoot=!1),c.atKey&&(c.atKey=!1);let k=g.offset,l=null;for(let{start:d,value:i}of g.items){let m=e.resolveProps(d,{indicator:"seq-item-ind",next:i,offset:k,onError:h,parentIndent:g.indent,startOnNewline:!0});if(!m.found)if(m.anchor||m.tag||i)i?.type==="block-seq"?h(m.end,"BAD_INDENT","All sequence items must start at the same column"):h(k,"MISSING_CHAR","Sequence item without - indicator");else{l=m.end,m.comment&&(j.comment=m.comment);continue}let n=i?a(c,i,m,h):b(c,m.end,d,null,m,h);c.schema.compat&&f.flowIndentCheck(g.indent,i,h),k=n.range[2],j.items.push(n)}return j.range=[g.offset,k,l??k],j}},68355,(a,b,c)=>{"use strict";c.resolveEnd=function(a,b,c,d){let e="";if(a){let f=!1,g="";for(let h of a){let{source:a,type:i}=h;switch(i){case"space":f=!0;break;case"comment":{c&&!f&&d(h,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let b=a.substring(1)||" ";e?e+=g+b:e=b,g="";break}case"newline":e&&(g+=a),f=!0;break;default:d(h,"UNEXPECTED_TOKEN",`Unexpected ${i} at node end`)}b+=a.length}}return{comment:e,offset:b}}},81689,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(17602),f=a.r(47544),g=a.r(7621),h=a.r(68355),i=a.r(91199),j=a.r(85397),k=a.r(55485);let l="Block collections are not allowed within flow collections",m=a=>a&&("block-map"===a.type||"block-seq"===a.type);c.resolveFlowCollection=function({composeNode:a,composeEmptyNode:b},c,n,o,p){let q="{"===n.start.source,r=q?"flow map":"flow sequence",s=new(p?.nodeClass??(q?f.YAMLMap:g.YAMLSeq))(c.schema);s.flow=!0;let t=c.atRoot;t&&(c.atRoot=!1),c.atKey&&(c.atKey=!1);let u=n.offset+n.start.source.length;for(let g=0;g<n.items.length;++g){let h=n.items[g],{start:p,key:t,sep:v,value:w}=h,x=i.resolveProps(p,{flow:r,indicator:"explicit-key-ind",next:t??v?.[0],offset:u,onError:o,parentIndent:n.indent,startOnNewline:!1});if(!x.found){if(!x.anchor&&!x.tag&&!v&&!w){0===g&&x.comma?o(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${r}`):g<n.items.length-1&&o(x.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${r}`),x.comment&&(s.comment?s.comment+="\n"+x.comment:s.comment=x.comment),u=x.end;continue}!q&&c.options.strict&&j.containsNewline(t)&&o(t,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(0===g)x.comma&&o(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${r}`);else if(x.comma||o(x.start,"MISSING_CHAR",`Missing , between ${r} items`),x.comment){let a="";a:for(let b of p)switch(b.type){case"comma":case"space":break;case"comment":a=b.source.substring(1);break a;default:break a}if(a){let b=s.items[s.items.length-1];d.isPair(b)&&(b=b.value??b.key),b.comment?b.comment+="\n"+a:b.comment=a,x.comment=x.comment.substring(a.length+1)}}if(q||v||x.found){c.atKey=!0;let d=x.end,g=t?a(c,t,x,o):b(c,d,p,null,x,o);m(t)&&o(g.range,"BLOCK_IN_FLOW",l),c.atKey=!1;let j=i.resolveProps(v??[],{flow:r,indicator:"map-value-ind",next:w,offset:g.range[2],onError:o,parentIndent:n.indent,startOnNewline:!1});if(j.found){if(!q&&!x.found&&c.options.strict){if(v)for(let a of v){if(a===j.found)break;if("newline"===a.type){o(a,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}x.start<j.found.offset-1024&&o(j.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else w&&("source"in w&&w.source?.[0]===":"?o(w,"MISSING_CHAR",`Missing space after : in ${r}`):o(j.start,"MISSING_CHAR",`Missing , or : between ${r} items`));let y=w?a(c,w,j,o):j.found?b(c,j.end,v,null,j,o):null;y?m(w)&&o(y.range,"BLOCK_IN_FLOW",l):j.comment&&(g.comment?g.comment+="\n"+j.comment:g.comment=j.comment);let z=new e.Pair(g,y);if(c.options.keepSourceTokens&&(z.srcToken=h),q)k.mapIncludes(c,s.items,g)&&o(d,"DUPLICATE_KEY","Map keys must be unique"),s.items.push(z);else{let a=new f.YAMLMap(c.schema);a.flow=!0,a.items.push(z);let b=(y??g).range;a.range=[g.range[0],b[1],b[2]],s.items.push(a)}u=y?y.range[2]:j.end}else{let d=w?a(c,w,x,o):b(c,x.end,v,null,x,o);s.items.push(d),u=d.range[2],m(w)&&o(d.range,"BLOCK_IN_FLOW",l)}}let v=q?"}":"]",[w,...x]=n.end,y=u;if(w?.source===v)y=w.offset+w.source.length;else{let a=r[0].toUpperCase()+r.substring(1),b=t?`${a} must end with a ${v}`:`${a} in block collection must be sufficiently indented and end with a ${v}`;o(u,t?"MISSING_CHAR":"BAD_INDENT",b),w&&1!==w.source.length&&x.unshift(w)}if(x.length>0){let a=h.resolveEnd(x,y,c.options.strict,o);a.comment&&(s.comment?s.comment+="\n"+a.comment:s.comment=a.comment),s.range=[n.offset,y,a.offset]}else s.range=[n.offset,y,y];return s}},57694,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(27853),f=a.r(47544),g=a.r(7621),h=a.r(24786),i=a.r(63137),j=a.r(81689);function k(a,b,c,d,e,f){let g="block-map"===c.type?h.resolveBlockMap(a,b,c,d,f):"block-seq"===c.type?i.resolveBlockSeq(a,b,c,d,f):j.resolveFlowCollection(a,b,c,d,f),k=g.constructor;return"!"===e||e===k.tagName?g.tag=k.tagName:e&&(g.tag=e),g}c.composeCollection=function(a,b,c,h,i){let j=h.tag,l=j?b.directives.tagName(j.source,a=>i(j,"TAG_RESOLVE_FAILED",a)):null;if("block-seq"===c.type){let{anchor:a,newlineAfterProp:b}=h,c=a&&j?a.offset>j.offset?a:j:a??j;c&&(!b||b.offset<c.offset)&&i(c,"MISSING_CHAR","Missing newline after block sequence props")}let m="block-map"===c.type?"map":"block-seq"===c.type?"seq":"{"===c.start.source?"map":"seq";if(!j||!l||"!"===l||l===f.YAMLMap.tagName&&"map"===m||l===g.YAMLSeq.tagName&&"seq"===m)return k(a,b,c,i,l);let n=b.schema.tags.find(a=>a.tag===l&&a.collection===m);if(!n){let d=b.schema.knownTags[l];if(d?.collection!==m)return d?i(j,"BAD_COLLECTION_TYPE",`${d.tag} used for ${m} collection, but expects ${d.collection??"scalar"}`,!0):i(j,"TAG_RESOLVE_FAILED",`Unresolved tag: ${l}`,!0),k(a,b,c,i,l);b.schema.tags.push(Object.assign({},d,{default:!1})),n=d}let o=k(a,b,c,i,l,n),p=n.resolve?.(o,a=>i(j,"TAG_RESOLVE_FAILED",a),b.options)??o,q=d.isNode(p)?p:new e.Scalar(p);return q.range=o.range,q.tag=l,n?.format&&(q.format=n.format),q}},71014,(a,b,c)=>{"use strict";var d=a.r(27853);c.resolveBlockScalar=function(a,b,c){let e=b.offset,f=function({offset:a,props:b},c,d){if("block-scalar-header"!==b[0].type)return d(b[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:e}=b[0],f=e[0],g=0,h="",i=-1;for(let b=1;b<e.length;++b){let c=e[b];if(h||"-"!==c&&"+"!==c){let d=Number(c);!g&&d?g=d:-1===i&&(i=a+b)}else h=c}-1!==i&&d(i,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${e}`);let j=!1,k="",l=e.length;for(let a=1;a<b.length;++a){let e=b[a];switch(e.type){case"space":j=!0;case"newline":l+=e.source.length;break;case"comment":c&&!j&&d(e,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),l+=e.source.length,k=e.source.substring(1);break;case"error":d(e,"UNEXPECTED_TOKEN",e.message),l+=e.source.length;break;default:{let a=`Unexpected token in block scalar header: ${e.type}`;d(e,"UNEXPECTED_TOKEN",a);let b=e.source;b&&"string"==typeof b&&(l+=b.length)}}}return{mode:f,indent:g,chomp:h,comment:k,length:l}}(b,a.options.strict,c);if(!f)return{value:"",type:null,comment:"",range:[e,e,e]};let g=">"===f.mode?d.Scalar.BLOCK_FOLDED:d.Scalar.BLOCK_LITERAL,h=b.source?function(a){let b=a.split(/\n( *)/),c=b[0],d=c.match(/^( *)/),e=[d?.[1]?[d[1],c.slice(d[1].length)]:["",c]];for(let a=1;a<b.length;a+=2)e.push([b[a],b[a+1]]);return e}(b.source):[],i=h.length;for(let a=h.length-1;a>=0;--a){let b=h[a][1];if(""===b||"\r"===b)i=a;else break}if(0===i){let a="+"===f.chomp&&h.length>0?"\n".repeat(Math.max(1,h.length-1)):"",c=e+f.length;return b.source&&(c+=b.source.length),{value:a,type:g,comment:f.comment,range:[e,c,c]}}let j=b.indent+f.indent,k=b.offset+f.length,l=0;for(let b=0;b<i;++b){let[d,e]=h[b];if(""===e||"\r"===e)0===f.indent&&d.length>j&&(j=d.length);else{d.length<j&&c(k+d.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),0===f.indent&&(j=d.length),l=b,0!==j||a.atRoot||c(k,"BAD_INDENT","Block scalar values in collections must be indented");break}k+=d.length+e.length+1}for(let a=h.length-1;a>=i;--a)h[a][0].length>j&&(i=a+1);let m="",n="",o=!1;for(let a=0;a<l;++a)m+=h[a][0].slice(j)+"\n";for(let a=l;a<i;++a){let[b,e]=h[a];k+=b.length+e.length+1;let i="\r"===e[e.length-1];if(i&&(e=e.slice(0,-1)),e&&b.length<j){let a=f.indent?"explicit indentation indicator":"first line",d=`Block scalar lines must not be less indented than their ${a}`;c(k-e.length-(i?2:1),"BAD_INDENT",d),b=""}g===d.Scalar.BLOCK_LITERAL?(m+=n+b.slice(j)+e,n="\n"):b.length>j||" "===e[0]?(" "===n?n="\n":o||"\n"!==n||(n="\n\n"),m+=n+b.slice(j)+e,n="\n",o=!0):""===e?"\n"===n?m+="\n":n="\n":(m+=n+e,n=" ",o=!1)}switch(f.chomp){case"-":break;case"+":for(let a=i;a<h.length;++a)m+="\n"+h[a][0].slice(j);"\n"!==m[m.length-1]&&(m+="\n");break;default:m+="\n"}let p=e+f.length+b.source.length;return{value:m,type:g,comment:f.comment,range:[e,p,p]}}},21525,(a,b,c)=>{"use strict";var d=a.r(27853),e=a.r(68355);function f(a){let b,c;try{b=RegExp("(.*?)(?<![ ])[ ]*\r?\n","sy"),c=RegExp("[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?\n","sy")}catch{b=/(.*?)[ \t]*\r?\n/sy,c=/[ \t]*(.*?)[ \t]*\r?\n/sy}let d=b.exec(a);if(!d)return a;let e=d[1],f=" ",g=b.lastIndex;for(c.lastIndex=g;d=c.exec(a);)""===d[1]?"\n"===f?e+=f:f="\n":(e+=f+d[1],f=" "),g=c.lastIndex;let h=/[ \t]*(.*)/sy;return h.lastIndex=g,d=h.exec(a),e+f+(d?.[1]??"")}let g={0:"\0",a:"\x07",b:"\b",e:"\x1b",f:"\f",n:"\n",r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};c.resolveFlowScalar=function(a,b,c){let h,i,{offset:j,type:k,source:l,end:m}=a,n=(a,b,d)=>c(j+a,b,d);switch(k){case"scalar":h=d.Scalar.PLAIN,i=function(a,b){let c="";switch(a[0]){case" ":c="a tab character";break;case",":c="flow indicator character ,";break;case"%":c="directive indicator character %";break;case"|":case">":c=`block scalar indicator ${a[0]}`;break;case"@":case"`":c=`reserved character ${a[0]}`}return c&&b(0,"BAD_SCALAR_START",`Plain value cannot start with ${c}`),f(a)}(l,n);break;case"single-quoted-scalar":var o,p;h=d.Scalar.QUOTE_SINGLE,o=l,p=n,("'"!==o[o.length-1]||1===o.length)&&p(o.length,"MISSING_CHAR","Missing closing 'quote"),i=f(o.slice(1,-1)).replace(/''/g,"'");break;case"double-quoted-scalar":h=d.Scalar.QUOTE_DOUBLE,i=function(a,b){let c="";for(let d=1;d<a.length-1;++d){let e=a[d];if("\r"!==e||"\n"!==a[d+1])if("\n"===e){let{fold:b,offset:e}=function(a,b){let c="",d=a[b+1];for(;(" "===d||" "===d||"\n"===d||"\r"===d)&&("\r"!==d||"\n"===a[b+2]);)"\n"===d&&(c+="\n"),b+=1,d=a[b+1];return c||(c=" "),{fold:c,offset:b}}(a,d);c+=b,d=e}else if("\\"===e){let e=a[++d],f=g[e];if(f)c+=f;else if("\n"===e)for(e=a[d+1];" "===e||" "===e;)e=a[++d+1];else if("\r"===e&&"\n"===a[d+1])for(e=a[++d+1];" "===e||" "===e;)e=a[++d+1];else if("x"===e||"u"===e||"U"===e){let f="x"===e?2:"u"===e?4:8;c+=function(a,b,c,d){let e=a.substr(b,c),f=e.length===c&&/^[0-9a-fA-F]+$/.test(e)?parseInt(e,16):NaN;try{return String.fromCodePoint(f)}catch{let e=a.substr(b-2,c+2);return d(b-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${e}`),e}}(a,d+1,f,b),d+=f}else{let e=a.substr(d-1,2);b(d-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${e}`),c+=e}}else if(" "===e||" "===e){let b=d,f=a[d+1];for(;" "===f||" "===f;)f=a[++d+1];"\n"!==f&&("\r"!==f||"\n"!==a[d+2])&&(c+=d>b?a.slice(b,d+1):e)}else c+=e}return('"'!==a[a.length-1]||1===a.length)&&b(a.length,"MISSING_CHAR",'Missing closing "quote'),c}(l,n);break;default:return c(a,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${k}`),{value:"",type:null,comment:"",range:[j,j+l.length,j+l.length]}}let q=j+l.length,r=e.resolveEnd(m,q,b,c);return{value:i,type:h,comment:r.comment,range:[j,q,r.offset]}}},86072,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(27853),f=a.r(71014),g=a.r(21525);c.composeScalar=function(a,b,c,h){let i,j,{value:k,type:l,comment:m,range:n}="block-scalar"===b.type?f.resolveBlockScalar(a,b,h):g.resolveFlowScalar(b,a.options.strict,h),o=c?a.directives.tagName(c.source,a=>h(c,"TAG_RESOLVE_FAILED",a)):null;i=a.options.stringKeys&&a.atKey?a.schema[d.SCALAR]:o?function(a,b,c,e,f){if("!"===c)return a[d.SCALAR];let g=[];for(let b of a.tags)if(!b.collection&&b.tag===c)if(!b.default||!b.test)return b;else g.push(b);for(let a of g)if(a.test?.test(b))return a;let h=a.knownTags[c];return h&&!h.collection?(a.tags.push(Object.assign({},h,{default:!1,test:void 0})),h):(f(e,"TAG_RESOLVE_FAILED",`Unresolved tag: ${c}`,"tag:yaml.org,2002:str"!==c),a[d.SCALAR])}(a.schema,k,o,c,h):"scalar"===b.type?function({atKey:a,directives:b,schema:c},e,f,g){let h=c.tags.find(b=>(!0===b.default||a&&"key"===b.default)&&b.test?.test(e))||c[d.SCALAR];if(c.compat){let a=c.compat.find(a=>a.default&&a.test?.test(e))??c[d.SCALAR];if(h.tag!==a.tag){let c=b.tagString(h.tag),d=b.tagString(a.tag);g(f,"TAG_RESOLVE_FAILED",`Value may be parsed as either ${c} or ${d}`,!0)}}return h}(a,k,b,h):a.schema[d.SCALAR];try{let f=i.resolve(k,a=>h(c??b,"TAG_RESOLVE_FAILED",a),a.options);j=d.isScalar(f)?f:new e.Scalar(f)}catch(a){h(c??b,"TAG_RESOLVE_FAILED",a instanceof Error?a.message:String(a)),j=new e.Scalar(k)}return j.range=n,j.source=k,l&&(j.type=l),o&&(j.tag=o),i.format&&(j.format=i.format),m&&(j.comment=m),j}},97818,(a,b,c)=>{"use strict";c.emptyScalarPosition=function(a,b,c){if(b){c??(c=b.length);for(let d=c-1;d>=0;--d){let c=b[d];switch(c.type){case"space":case"comment":case"newline":a-=c.source.length;continue}for(c=b[++d];c?.type==="space";)a+=c.source.length,c=b[++d];break}}return a}},37023,(a,b,c)=>{"use strict";var d=a.r(21562),e=a.r(27267),f=a.r(57694),g=a.r(86072),h=a.r(68355),i=a.r(97818);let j={composeNode:k,composeEmptyNode:l};function k(a,b,c,i){let k,m=a.atKey,{spaceBefore:n,comment:o,anchor:p,tag:q}=c,r=!0;switch(b.type){case"alias":k=function({options:a},{offset:b,source:c,end:e},f){let g=new d.Alias(c.substring(1));""===g.source&&f(b,"BAD_ALIAS","Alias cannot be an empty string"),g.source.endsWith(":")&&f(b+c.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let i=b+c.length,j=h.resolveEnd(e,i,a.strict,f);return g.range=[b,i,j.offset],j.comment&&(g.comment=j.comment),g}(a,b,i),(p||q)&&i(b,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":k=g.composeScalar(a,b,q,i),p&&(k.anchor=p.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{k=f.composeCollection(j,a,b,c,i),p&&(k.anchor=p.source.substring(1))}catch(a){i(b,"RESOURCE_EXHAUSTION",a instanceof Error?a.message:String(a))}break;default:{let a="error"===b.type?b.message:`Unsupported token (type: ${b.type})`;i(b,"UNEXPECTED_TOKEN",a),r=!1}}return k??(k=l(a,b.offset,void 0,null,c,i)),p&&""===k.anchor&&i(p,"BAD_ALIAS","Anchor cannot be an empty string"),m&&a.options.stringKeys&&(!e.isScalar(k)||"string"!=typeof k.value||k.tag&&"tag:yaml.org,2002:str"!==k.tag)&&i(q??b,"NON_STRING_KEY","With stringKeys, all keys must be strings"),n&&(k.spaceBefore=!0),o&&("scalar"===b.type&&""===b.source?k.comment=o:k.commentBefore=o),a.options.keepSourceTokens&&r&&(k.srcToken=b),k}function l(a,b,c,d,{spaceBefore:e,comment:f,anchor:h,tag:j,end:k},m){let n={type:"scalar",offset:i.emptyScalarPosition(b,c,d),indent:-1,source:""},o=g.composeScalar(a,n,j,m);return h&&(o.anchor=h.source.substring(1),""===o.anchor&&m(h,"BAD_ALIAS","Anchor cannot be an empty string")),e&&(o.spaceBefore=!0),f&&(o.comment=f,o.range[2]=k),o}c.composeEmptyNode=l,c.composeNode=k},72585,(a,b,c)=>{"use strict";var d=a.r(85774),e=a.r(37023),f=a.r(68355),g=a.r(91199);c.composeDoc=function(a,b,{offset:c,start:h,value:i,end:j},k){let l=Object.assign({_directives:b},a),m=new d.Document(void 0,l),n={atKey:!1,atRoot:!0,directives:m.directives,options:m.options,schema:m.schema},o=g.resolveProps(h,{indicator:"doc-start",next:i??j?.[0],offset:c,onError:k,parentIndent:0,startOnNewline:!0});o.found&&(m.directives.docStart=!0,i&&("block-map"===i.type||"block-seq"===i.type)&&!o.hasNewline&&k(o.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),m.contents=i?e.composeNode(n,i,o,k):e.composeEmptyNode(n,o.end,h,null,o,k);let p=m.contents.range[2],q=f.resolveEnd(j,p,!1,k);return q.comment&&(m.comment=q.comment),m.range=[c,p,q.offset],m}},19662,(a,b,c)=>{"use strict";var d=a.r(5365),e=a.r(74957),f=a.r(85774),g=a.r(25717),h=a.r(27267),i=a.r(72585),j=a.r(68355);function k(a){if("number"==typeof a)return[a,a+1];if(Array.isArray(a))return 2===a.length?a:[a[0],a[1]];let{offset:b,source:c}=a;return[b,b+("string"==typeof c?c.length:1)]}function l(a){let b="",c=!1,d=!1;for(let e=0;e<a.length;++e){let f=a[e];switch(f[0]){case"#":b+=(""===b?"":d?"\n\n":"\n")+(f.substring(1)||" "),c=!0,d=!1;break;case"%":a[e+1]?.[0]!=="#"&&(e+=1),c=!1;break;default:c||(d=!0),c=!1}}return{comment:b,afterEmptyLine:d}}c.Composer=class{constructor(a={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(a,b,c,d)=>{let e=k(a);d?this.warnings.push(new g.YAMLWarning(e,b,c)):this.errors.push(new g.YAMLParseError(e,b,c))},this.directives=new e.Directives({version:a.version||"1.2"}),this.options=a}decorate(a,b){let{comment:c,afterEmptyLine:d}=l(this.prelude);if(c){let e=a.contents;if(b)a.comment=a.comment?`${a.comment}
|
|
21
|
+
`}}},91199,(a,b,c)=>{"use strict";c.resolveProps=function(a,{flow:b,indicator:c,next:d,offset:e,onError:f,parentIndent:g,startOnNewline:h}){let i=!1,j=h,k=h,l="",m="",n=!1,o=!1,p=null,q=null,r=null,s=null,t=null,u=null,v=null;for(let e of a)switch(o&&("space"!==e.type&&"newline"!==e.type&&"comma"!==e.type&&f(e.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),o=!1),p&&(j&&"comment"!==e.type&&"newline"!==e.type&&f(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),p=null),e.type){case"space":!b&&("doc-start"!==c||d?.type!=="flow-collection")&&e.source.includes(" ")&&(p=e),k=!0;break;case"comment":{k||f(e,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let a=e.source.substring(1)||" ";l?l+=m+a:l=a,m="",j=!1;break}case"newline":j?l?l+=e.source:u&&"seq-item-ind"===c||(i=!0):m+=e.source,j=!0,n=!0,(q||r)&&(s=e),k=!0;break;case"anchor":q&&f(e,"MULTIPLE_ANCHORS","A node can have at most one anchor"),e.source.endsWith(":")&&f(e.offset+e.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),q=e,v??(v=e.offset),j=!1,k=!1,o=!0;break;case"tag":r&&f(e,"MULTIPLE_TAGS","A node can have at most one tag"),r=e,v??(v=e.offset),j=!1,k=!1,o=!0;break;case c:(q||r)&&f(e,"BAD_PROP_ORDER",`Anchors and tags must be after the ${e.source} indicator`),u&&f(e,"UNEXPECTED_TOKEN",`Unexpected ${e.source} in ${b??"collection"}`),u=e,j="seq-item-ind"===c||"explicit-key-ind"===c,k=!1;break;case"comma":if(b){t&&f(e,"UNEXPECTED_TOKEN",`Unexpected , in ${b}`),t=e,j=!1,k=!1;break}default:f(e,"UNEXPECTED_TOKEN",`Unexpected ${e.type} token`),j=!1,k=!1}let w=a[a.length-1],x=w?w.offset+w.source.length:e;return o&&d&&"space"!==d.type&&"newline"!==d.type&&"comma"!==d.type&&("scalar"!==d.type||""!==d.source)&&f(d.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),p&&(j&&p.indent<=g||d?.type==="block-map"||d?.type==="block-seq")&&f(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:t,found:u,spaceBefore:i,comment:l,hasNewline:n,anchor:q,tag:r,newlineAfterProp:s,end:x,start:v??x}}},85397,(a,b,c)=>{"use strict";c.containsNewline=function a(b){if(!b)return null;switch(b.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(b.source.includes("\n"))return!0;if(b.end){for(let a of b.end)if("newline"===a.type)return!0}return!1;case"flow-collection":for(let c of b.items){for(let a of c.start)if("newline"===a.type)return!0;if(c.sep){for(let a of c.sep)if("newline"===a.type)return!0}if(a(c.key)||a(c.value))return!0}return!1;default:return!0}}},49647,(a,b,c)=>{"use strict";var d=a.r(85397);c.flowIndentCheck=function(a,b,c){if(b?.type==="flow-collection"){let e=b.end[0];e.indent===a&&("]"===e.source||"}"===e.source)&&d.containsNewline(b)&&c(e,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}},55485,(a,b,c)=>{"use strict";var d=a.r(27267);c.mapIncludes=function(a,b,c){let{uniqueKeys:e}=a.options;if(!1===e)return!1;let f="function"==typeof e?e:(a,b)=>a===b||d.isScalar(a)&&d.isScalar(b)&&a.value===b.value;return b.some(a=>f(a.key,c))}},24786,(a,b,c)=>{"use strict";var d=a.r(17602),e=a.r(47544),f=a.r(91199),g=a.r(85397),h=a.r(49647),i=a.r(55485);let j="All mapping items must start at the same column";c.resolveBlockMap=function({composeNode:a,composeEmptyNode:b},c,k,l,m){let n=new(m?.nodeClass??e.YAMLMap)(c.schema);c.atRoot&&(c.atRoot=!1);let o=k.offset,p=null;for(let e of k.items){let{start:m,key:q,sep:r,value:s}=e,t=f.resolveProps(m,{indicator:"explicit-key-ind",next:q??r?.[0],offset:o,onError:l,parentIndent:k.indent,startOnNewline:!0}),u=!t.found;if(u){if(q&&("block-seq"===q.type?l(o,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in q&&q.indent!==k.indent&&l(o,"BAD_INDENT",j)),!t.anchor&&!t.tag&&!r){p=t.end,t.comment&&(n.comment?n.comment+="\n"+t.comment:n.comment=t.comment);continue}(t.newlineAfterProp||g.containsNewline(q))&&l(q??m[m.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else t.found?.indent!==k.indent&&l(o,"BAD_INDENT",j);c.atKey=!0;let v=t.end,w=q?a(c,q,t,l):b(c,v,m,null,t,l);c.schema.compat&&h.flowIndentCheck(k.indent,q,l),c.atKey=!1,i.mapIncludes(c,n.items,w)&&l(v,"DUPLICATE_KEY","Map keys must be unique");let x=f.resolveProps(r??[],{indicator:"map-value-ind",next:s,offset:w.range[2],onError:l,parentIndent:k.indent,startOnNewline:!q||"block-scalar"===q.type});if(o=x.end,x.found){u&&(s?.type!=="block-map"||x.hasNewline||l(o,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),c.options.strict&&t.start<x.found.offset-1024&&l(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let f=s?a(c,s,x,l):b(c,o,r,null,x,l);c.schema.compat&&h.flowIndentCheck(k.indent,s,l),o=f.range[2];let g=new d.Pair(w,f);c.options.keepSourceTokens&&(g.srcToken=e),n.items.push(g)}else{u&&l(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),x.comment&&(w.comment?w.comment+="\n"+x.comment:w.comment=x.comment);let a=new d.Pair(w);c.options.keepSourceTokens&&(a.srcToken=e),n.items.push(a)}}return p&&p<o&&l(p,"IMPOSSIBLE","Map comment with trailing content"),n.range=[k.offset,o,p??o],n}},63137,(a,b,c)=>{"use strict";var d=a.r(7621),e=a.r(91199),f=a.r(49647);c.resolveBlockSeq=function({composeNode:a,composeEmptyNode:b},c,g,h,i){let j=new(i?.nodeClass??d.YAMLSeq)(c.schema);c.atRoot&&(c.atRoot=!1),c.atKey&&(c.atKey=!1);let k=g.offset,l=null;for(let{start:d,value:i}of g.items){let m=e.resolveProps(d,{indicator:"seq-item-ind",next:i,offset:k,onError:h,parentIndent:g.indent,startOnNewline:!0});if(!m.found)if(m.anchor||m.tag||i)i?.type==="block-seq"?h(m.end,"BAD_INDENT","All sequence items must start at the same column"):h(k,"MISSING_CHAR","Sequence item without - indicator");else{l=m.end,m.comment&&(j.comment=m.comment);continue}let n=i?a(c,i,m,h):b(c,m.end,d,null,m,h);c.schema.compat&&f.flowIndentCheck(g.indent,i,h),k=n.range[2],j.items.push(n)}return j.range=[g.offset,k,l??k],j}},68355,(a,b,c)=>{"use strict";c.resolveEnd=function(a,b,c,d){let e="";if(a){let f=!1,g="";for(let h of a){let{source:a,type:i}=h;switch(i){case"space":f=!0;break;case"comment":{c&&!f&&d(h,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let b=a.substring(1)||" ";e?e+=g+b:e=b,g="";break}case"newline":e&&(g+=a),f=!0;break;default:d(h,"UNEXPECTED_TOKEN",`Unexpected ${i} at node end`)}b+=a.length}}return{comment:e,offset:b}}},81689,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(17602),f=a.r(47544),g=a.r(7621),h=a.r(68355),i=a.r(91199),j=a.r(85397),k=a.r(55485);let l="Block collections are not allowed within flow collections",m=a=>a&&("block-map"===a.type||"block-seq"===a.type);c.resolveFlowCollection=function({composeNode:a,composeEmptyNode:b},c,n,o,p){let q="{"===n.start.source,r=q?"flow map":"flow sequence",s=new(p?.nodeClass??(q?f.YAMLMap:g.YAMLSeq))(c.schema);s.flow=!0;let t=c.atRoot;t&&(c.atRoot=!1),c.atKey&&(c.atKey=!1);let u=n.offset+n.start.source.length;for(let g=0;g<n.items.length;++g){let h=n.items[g],{start:p,key:t,sep:v,value:w}=h,x=i.resolveProps(p,{flow:r,indicator:"explicit-key-ind",next:t??v?.[0],offset:u,onError:o,parentIndent:n.indent,startOnNewline:!1});if(!x.found){if(!x.anchor&&!x.tag&&!v&&!w){0===g&&x.comma?o(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${r}`):g<n.items.length-1&&o(x.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${r}`),x.comment&&(s.comment?s.comment+="\n"+x.comment:s.comment=x.comment),u=x.end;continue}!q&&c.options.strict&&j.containsNewline(t)&&o(t,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(0===g)x.comma&&o(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${r}`);else if(x.comma||o(x.start,"MISSING_CHAR",`Missing , between ${r} items`),x.comment){let a="";a:for(let b of p)switch(b.type){case"comma":case"space":break;case"comment":a=b.source.substring(1);break a;default:break a}if(a){let b=s.items[s.items.length-1];d.isPair(b)&&(b=b.value??b.key),b.comment?b.comment+="\n"+a:b.comment=a,x.comment=x.comment.substring(a.length+1)}}if(q||v||x.found){c.atKey=!0;let d=x.end,g=t?a(c,t,x,o):b(c,d,p,null,x,o);m(t)&&o(g.range,"BLOCK_IN_FLOW",l),c.atKey=!1;let j=i.resolveProps(v??[],{flow:r,indicator:"map-value-ind",next:w,offset:g.range[2],onError:o,parentIndent:n.indent,startOnNewline:!1});if(j.found){if(!q&&!x.found&&c.options.strict){if(v)for(let a of v){if(a===j.found)break;if("newline"===a.type){o(a,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}x.start<j.found.offset-1024&&o(j.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else w&&("source"in w&&w.source?.[0]===":"?o(w,"MISSING_CHAR",`Missing space after : in ${r}`):o(j.start,"MISSING_CHAR",`Missing , or : between ${r} items`));let y=w?a(c,w,j,o):j.found?b(c,j.end,v,null,j,o):null;y?m(w)&&o(y.range,"BLOCK_IN_FLOW",l):j.comment&&(g.comment?g.comment+="\n"+j.comment:g.comment=j.comment);let z=new e.Pair(g,y);if(c.options.keepSourceTokens&&(z.srcToken=h),q)k.mapIncludes(c,s.items,g)&&o(d,"DUPLICATE_KEY","Map keys must be unique"),s.items.push(z);else{let a=new f.YAMLMap(c.schema);a.flow=!0,a.items.push(z);let b=(y??g).range;a.range=[g.range[0],b[1],b[2]],s.items.push(a)}u=y?y.range[2]:j.end}else{let d=w?a(c,w,x,o):b(c,x.end,v,null,x,o);s.items.push(d),u=d.range[2],m(w)&&o(d.range,"BLOCK_IN_FLOW",l)}}let v=q?"}":"]",[w,...x]=n.end,y=u;if(w?.source===v)y=w.offset+w.source.length;else{let a=r[0].toUpperCase()+r.substring(1),b=t?`${a} must end with a ${v}`:`${a} in block collection must be sufficiently indented and end with a ${v}`;o(u,t?"MISSING_CHAR":"BAD_INDENT",b),w&&1!==w.source.length&&x.unshift(w)}if(x.length>0){let a=h.resolveEnd(x,y,c.options.strict,o);a.comment&&(s.comment?s.comment+="\n"+a.comment:s.comment=a.comment),s.range=[n.offset,y,a.offset]}else s.range=[n.offset,y,y];return s}},57694,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(27853),f=a.r(47544),g=a.r(7621),h=a.r(24786),i=a.r(63137),j=a.r(81689);function k(a,b,c,d,e,f){let g="block-map"===c.type?h.resolveBlockMap(a,b,c,d,f):"block-seq"===c.type?i.resolveBlockSeq(a,b,c,d,f):j.resolveFlowCollection(a,b,c,d,f),k=g.constructor;return"!"===e||e===k.tagName?g.tag=k.tagName:e&&(g.tag=e),g}c.composeCollection=function(a,b,c,h,i){let j=h.tag,l=j?b.directives.tagName(j.source,a=>i(j,"TAG_RESOLVE_FAILED",a)):null;if("block-seq"===c.type){let{anchor:a,newlineAfterProp:b}=h,c=a&&j?a.offset>j.offset?a:j:a??j;c&&(!b||b.offset<c.offset)&&i(c,"MISSING_CHAR","Missing newline after block sequence props")}let m="block-map"===c.type?"map":"block-seq"===c.type?"seq":"{"===c.start.source?"map":"seq";if(!j||!l||"!"===l||l===f.YAMLMap.tagName&&"map"===m||l===g.YAMLSeq.tagName&&"seq"===m)return k(a,b,c,i,l);let n=b.schema.tags.find(a=>a.tag===l&&a.collection===m);if(!n){let d=b.schema.knownTags[l];if(d?.collection!==m)return d?i(j,"BAD_COLLECTION_TYPE",`${d.tag} used for ${m} collection, but expects ${d.collection??"scalar"}`,!0):i(j,"TAG_RESOLVE_FAILED",`Unresolved tag: ${l}`,!0),k(a,b,c,i,l);b.schema.tags.push(Object.assign({},d,{default:!1})),n=d}let o=k(a,b,c,i,l,n),p=n.resolve?.(o,a=>i(j,"TAG_RESOLVE_FAILED",a),b.options)??o,q=d.isNode(p)?p:new e.Scalar(p);return q.range=o.range,q.tag=l,n?.format&&(q.format=n.format),q}},71014,(a,b,c)=>{"use strict";var d=a.r(27853);c.resolveBlockScalar=function(a,b,c){let e=b.offset,f=function({offset:a,props:b},c,d){if("block-scalar-header"!==b[0].type)return d(b[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:e}=b[0],f=e[0],g=0,h="",i=-1;for(let b=1;b<e.length;++b){let c=e[b];if(h||"-"!==c&&"+"!==c){let d=Number(c);!g&&d?g=d:-1===i&&(i=a+b)}else h=c}-1!==i&&d(i,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${e}`);let j=!1,k="",l=e.length;for(let a=1;a<b.length;++a){let e=b[a];switch(e.type){case"space":j=!0;case"newline":l+=e.source.length;break;case"comment":c&&!j&&d(e,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),l+=e.source.length,k=e.source.substring(1);break;case"error":d(e,"UNEXPECTED_TOKEN",e.message),l+=e.source.length;break;default:{let a=`Unexpected token in block scalar header: ${e.type}`;d(e,"UNEXPECTED_TOKEN",a);let b=e.source;b&&"string"==typeof b&&(l+=b.length)}}}return{mode:f,indent:g,chomp:h,comment:k,length:l}}(b,a.options.strict,c);if(!f)return{value:"",type:null,comment:"",range:[e,e,e]};let g=">"===f.mode?d.Scalar.BLOCK_FOLDED:d.Scalar.BLOCK_LITERAL,h=b.source?function(a){let b=a.split(/\n( *)/),c=b[0],d=c.match(/^( *)/),e=[d?.[1]?[d[1],c.slice(d[1].length)]:["",c]];for(let a=1;a<b.length;a+=2)e.push([b[a],b[a+1]]);return e}(b.source):[],i=h.length;for(let a=h.length-1;a>=0;--a){let b=h[a][1];if(""===b||"\r"===b)i=a;else break}if(0===i){let a="+"===f.chomp&&h.length>0?"\n".repeat(Math.max(1,h.length-1)):"",c=e+f.length;return b.source&&(c+=b.source.length),{value:a,type:g,comment:f.comment,range:[e,c,c]}}let j=b.indent+f.indent,k=b.offset+f.length,l=0;for(let b=0;b<i;++b){let[d,e]=h[b];if(""===e||"\r"===e)0===f.indent&&d.length>j&&(j=d.length);else{d.length<j&&c(k+d.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),0===f.indent&&(j=d.length),l=b,0!==j||a.atRoot||c(k,"BAD_INDENT","Block scalar values in collections must be indented");break}k+=d.length+e.length+1}for(let a=h.length-1;a>=i;--a)h[a][0].length>j&&(i=a+1);let m="",n="",o=!1;for(let a=0;a<l;++a)m+=h[a][0].slice(j)+"\n";for(let a=l;a<i;++a){let[b,e]=h[a];k+=b.length+e.length+1;let i="\r"===e[e.length-1];if(i&&(e=e.slice(0,-1)),e&&b.length<j){let a=f.indent?"explicit indentation indicator":"first line",d=`Block scalar lines must not be less indented than their ${a}`;c(k-e.length-(i?2:1),"BAD_INDENT",d),b=""}g===d.Scalar.BLOCK_LITERAL?(m+=n+b.slice(j)+e,n="\n"):b.length>j||" "===e[0]?(" "===n?n="\n":o||"\n"!==n||(n="\n\n"),m+=n+b.slice(j)+e,n="\n",o=!0):""===e?"\n"===n?m+="\n":n="\n":(m+=n+e,n=" ",o=!1)}switch(f.chomp){case"-":break;case"+":for(let a=i;a<h.length;++a)m+="\n"+h[a][0].slice(j);"\n"!==m[m.length-1]&&(m+="\n");break;default:m+="\n"}let p=e+f.length+b.source.length;return{value:m,type:g,comment:f.comment,range:[e,p,p]}}},21525,(a,b,c)=>{"use strict";var d=a.r(27853),e=a.r(68355);function f(a){let b,c,d=/(.*?)\r?\n/sy,e=d.exec(a);if(!e)return a;try{b=RegExp("(?<![ ])[ ]+$"),c=RegExp("^[ ]+|(?<![ ])[ ]+$","g")}catch{b=/[ \t]+$/,c=/^[ \t]+|[ \t]+$/g}let f=e[1].replace(b,""),g=" ",h=d.lastIndex;for(;e=d.exec(a);){let a=e[1].replace(c,"");""===a?"\n"===g?f+=g:g="\n":(f+=g+a,g=" "),h=d.lastIndex}let i=/[ \t]*(.*)/sy;return i.lastIndex=h,e=i.exec(a),f+g+(e?.[1]??"")}let g={0:"\0",a:"\x07",b:"\b",e:"\x1b",f:"\f",n:"\n",r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};c.resolveFlowScalar=function(a,b,c){let h,i,{offset:j,type:k,source:l,end:m}=a,n=(a,b,d)=>c(j+a,b,d);switch(k){case"scalar":h=d.Scalar.PLAIN,i=function(a,b){let c="";switch(a[0]){case" ":c="a tab character";break;case",":c="flow indicator character ,";break;case"%":c="directive indicator character %";break;case"|":case">":c=`block scalar indicator ${a[0]}`;break;case"@":case"`":c=`reserved character ${a[0]}`}return c&&b(0,"BAD_SCALAR_START",`Plain value cannot start with ${c}`),f(a)}(l,n);break;case"single-quoted-scalar":var o,p;h=d.Scalar.QUOTE_SINGLE,o=l,p=n,("'"!==o[o.length-1]||1===o.length)&&p(o.length,"MISSING_CHAR","Missing closing 'quote"),i=f(o.slice(1,-1)).replace(/''/g,"'");break;case"double-quoted-scalar":h=d.Scalar.QUOTE_DOUBLE,i=function(a,b){let c="";for(let d=1;d<a.length-1;++d){let e=a[d];if("\r"!==e||"\n"!==a[d+1])if("\n"===e){let{fold:b,offset:e}=function(a,b){let c="",d=a[b+1];for(;(" "===d||" "===d||"\n"===d||"\r"===d)&&("\r"!==d||"\n"===a[b+2]);)"\n"===d&&(c+="\n"),b+=1,d=a[b+1];return c||(c=" "),{fold:c,offset:b}}(a,d);c+=b,d=e}else if("\\"===e){let e=a[++d],f=g[e];if(f)c+=f;else if("\n"===e)for(e=a[d+1];" "===e||" "===e;)e=a[++d+1];else if("\r"===e&&"\n"===a[d+1])for(e=a[++d+1];" "===e||" "===e;)e=a[++d+1];else if("x"===e||"u"===e||"U"===e){let f="x"===e?2:"u"===e?4:8;c+=function(a,b,c,d){let e=a.substr(b,c),f=e.length===c&&/^[0-9a-fA-F]+$/.test(e)?parseInt(e,16):NaN;try{return String.fromCodePoint(f)}catch{let e=a.substr(b-2,c+2);return d(b-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${e}`),e}}(a,d+1,f,b),d+=f}else{let e=a.substr(d-1,2);b(d-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${e}`),c+=e}}else if(" "===e||" "===e){let b=d,f=a[d+1];for(;" "===f||" "===f;)f=a[++d+1];"\n"!==f&&("\r"!==f||"\n"!==a[d+2])&&(c+=d>b?a.slice(b,d+1):e)}else c+=e}return('"'!==a[a.length-1]||1===a.length)&&b(a.length,"MISSING_CHAR",'Missing closing "quote'),c}(l,n);break;default:return c(a,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${k}`),{value:"",type:null,comment:"",range:[j,j+l.length,j+l.length]}}let q=j+l.length,r=e.resolveEnd(m,q,b,c);return{value:i,type:h,comment:r.comment,range:[j,q,r.offset]}}},86072,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(27853),f=a.r(71014),g=a.r(21525);c.composeScalar=function(a,b,c,h){let i,j,{value:k,type:l,comment:m,range:n}="block-scalar"===b.type?f.resolveBlockScalar(a,b,h):g.resolveFlowScalar(b,a.options.strict,h),o=c?a.directives.tagName(c.source,a=>h(c,"TAG_RESOLVE_FAILED",a)):null;i=a.options.stringKeys&&a.atKey?a.schema[d.SCALAR]:o?function(a,b,c,e,f){if("!"===c)return a[d.SCALAR];let g=[];for(let b of a.tags)if(!b.collection&&b.tag===c)if(!b.default||!b.test)return b;else g.push(b);for(let a of g)if(a.test?.test(b))return a;let h=a.knownTags[c];return h&&!h.collection?(a.tags.push(Object.assign({},h,{default:!1,test:void 0})),h):(f(e,"TAG_RESOLVE_FAILED",`Unresolved tag: ${c}`,"tag:yaml.org,2002:str"!==c),a[d.SCALAR])}(a.schema,k,o,c,h):"scalar"===b.type?function({atKey:a,directives:b,schema:c},e,f,g){let h=c.tags.find(b=>(!0===b.default||a&&"key"===b.default)&&b.test?.test(e))||c[d.SCALAR];if(c.compat){let a=c.compat.find(a=>a.default&&a.test?.test(e))??c[d.SCALAR];if(h.tag!==a.tag){let c=b.tagString(h.tag),d=b.tagString(a.tag);g(f,"TAG_RESOLVE_FAILED",`Value may be parsed as either ${c} or ${d}`,!0)}}return h}(a,k,b,h):a.schema[d.SCALAR];try{let f=i.resolve(k,a=>h(c??b,"TAG_RESOLVE_FAILED",a),a.options);j=d.isScalar(f)?f:new e.Scalar(f)}catch(a){h(c??b,"TAG_RESOLVE_FAILED",a instanceof Error?a.message:String(a)),j=new e.Scalar(k)}return j.range=n,j.source=k,l&&(j.type=l),o&&(j.tag=o),i.format&&(j.format=i.format),m&&(j.comment=m),j}},97818,(a,b,c)=>{"use strict";c.emptyScalarPosition=function(a,b,c){if(b){c??(c=b.length);for(let d=c-1;d>=0;--d){let c=b[d];switch(c.type){case"space":case"comment":case"newline":a-=c.source.length;continue}for(c=b[++d];c?.type==="space";)a+=c.source.length,c=b[++d];break}}return a}},37023,(a,b,c)=>{"use strict";var d=a.r(21562),e=a.r(27267),f=a.r(57694),g=a.r(86072),h=a.r(68355),i=a.r(97818);let j={composeNode:k,composeEmptyNode:l};function k(a,b,c,i){let k,m=a.atKey,{spaceBefore:n,comment:o,anchor:p,tag:q}=c,r=!0;switch(b.type){case"alias":k=function({options:a},{offset:b,source:c,end:e},f){let g=new d.Alias(c.substring(1));""===g.source&&f(b,"BAD_ALIAS","Alias cannot be an empty string"),g.source.endsWith(":")&&f(b+c.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let i=b+c.length,j=h.resolveEnd(e,i,a.strict,f);return g.range=[b,i,j.offset],j.comment&&(g.comment=j.comment),g}(a,b,i),(p||q)&&i(b,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":k=g.composeScalar(a,b,q,i),p&&(k.anchor=p.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{k=f.composeCollection(j,a,b,c,i),p&&(k.anchor=p.source.substring(1))}catch(a){i(b,"RESOURCE_EXHAUSTION",a instanceof Error?a.message:String(a))}break;default:{let a="error"===b.type?b.message:`Unsupported token (type: ${b.type})`;i(b,"UNEXPECTED_TOKEN",a),r=!1}}return k??(k=l(a,b.offset,void 0,null,c,i)),p&&""===k.anchor&&i(p,"BAD_ALIAS","Anchor cannot be an empty string"),m&&a.options.stringKeys&&(!e.isScalar(k)||"string"!=typeof k.value||k.tag&&"tag:yaml.org,2002:str"!==k.tag)&&i(q??b,"NON_STRING_KEY","With stringKeys, all keys must be strings"),n&&(k.spaceBefore=!0),o&&("scalar"===b.type&&""===b.source?k.comment=o:k.commentBefore=o),a.options.keepSourceTokens&&r&&(k.srcToken=b),k}function l(a,b,c,d,{spaceBefore:e,comment:f,anchor:h,tag:j,end:k},m){let n={type:"scalar",offset:i.emptyScalarPosition(b,c,d),indent:-1,source:""},o=g.composeScalar(a,n,j,m);return h&&(o.anchor=h.source.substring(1),""===o.anchor&&m(h,"BAD_ALIAS","Anchor cannot be an empty string")),e&&(o.spaceBefore=!0),f&&(o.comment=f,o.range[2]=k),o}c.composeEmptyNode=l,c.composeNode=k},72585,(a,b,c)=>{"use strict";var d=a.r(85774),e=a.r(37023),f=a.r(68355),g=a.r(91199);c.composeDoc=function(a,b,{offset:c,start:h,value:i,end:j},k){let l=Object.assign({_directives:b},a),m=new d.Document(void 0,l),n={atKey:!1,atRoot:!0,directives:m.directives,options:m.options,schema:m.schema},o=g.resolveProps(h,{indicator:"doc-start",next:i??j?.[0],offset:c,onError:k,parentIndent:0,startOnNewline:!0});o.found&&(m.directives.docStart=!0,i&&("block-map"===i.type||"block-seq"===i.type)&&!o.hasNewline&&k(o.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),m.contents=i?e.composeNode(n,i,o,k):e.composeEmptyNode(n,o.end,h,null,o,k);let p=m.contents.range[2],q=f.resolveEnd(j,p,!1,k);return q.comment&&(m.comment=q.comment),m.range=[c,p,q.offset],m}},19662,(a,b,c)=>{"use strict";var d=a.r(5365),e=a.r(74957),f=a.r(85774),g=a.r(25717),h=a.r(27267),i=a.r(72585),j=a.r(68355);function k(a){if("number"==typeof a)return[a,a+1];if(Array.isArray(a))return 2===a.length?a:[a[0],a[1]];let{offset:b,source:c}=a;return[b,b+("string"==typeof c?c.length:1)]}function l(a){let b="",c=!1,d=!1;for(let e=0;e<a.length;++e){let f=a[e];switch(f[0]){case"#":b+=(""===b?"":d?"\n\n":"\n")+(f.substring(1)||" "),c=!0,d=!1;break;case"%":a[e+1]?.[0]!=="#"&&(e+=1),c=!1;break;default:c||(d=!0),c=!1}}return{comment:b,afterEmptyLine:d}}c.Composer=class{constructor(a={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(a,b,c,d)=>{let e=k(a);d?this.warnings.push(new g.YAMLWarning(e,b,c)):this.errors.push(new g.YAMLParseError(e,b,c))},this.directives=new e.Directives({version:a.version||"1.2"}),this.options=a}decorate(a,b){let{comment:c,afterEmptyLine:d}=l(this.prelude);if(c){let e=a.contents;if(b)a.comment=a.comment?`${a.comment}
|
|
22
22
|
${c}`:c;else if(d||a.directives.docStart||!e)a.commentBefore=c;else if(h.isCollection(e)&&!e.flow&&e.items.length>0){let a=e.items[0];h.isPair(a)&&(a=a.key);let b=a.commentBefore;a.commentBefore=b?`${c}
|
|
23
23
|
${b}`:c}else{let a=e.commentBefore;e.commentBefore=a?`${c}
|
|
24
24
|
${a}`:c}}if(b){for(let b=0;b<this.errors.length;++b)a.errors.push(this.errors[b]);for(let b=0;b<this.warnings.length;++b)a.warnings.push(this.warnings[b])}else a.errors=this.errors,a.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:l(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(a,b=!1,c=-1){for(let b of a)yield*this.next(b);yield*this.end(b,c)}*next(a){switch(d.env.LOG_STREAM&&console.dir(a,{depth:null}),a.type){case"directive":this.directives.add(a.source,(b,c,d)=>{let e=k(a);e[0]+=b,this.onError(e,"BAD_DIRECTIVE",c,d)}),this.prelude.push(a.source),this.atDirectives=!0;break;case"document":{let b=i.composeDoc(this.options,this.directives,a,this.onError);this.atDirectives&&!b.directives.docStart&&this.onError(a,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(b,!1),this.doc&&(yield this.doc),this.doc=b,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(a.source);break;case"error":{let b=a.source?`${a.message}: ${JSON.stringify(a.source)}`:a.message,c=new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",b);this.atDirectives||!this.doc?this.errors.push(c):this.doc.errors.push(c);break}case"doc-end":{if(!this.doc){this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let b=j.resolveEnd(a.end,a.offset+a.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),b.comment){let a=this.doc.comment;this.doc.comment=a?`${a}
|
|
@@ -227,6 +227,6 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
227
227
|
},
|
|
228
228
|
};
|
|
229
229
|
}
|
|
230
|
-
`),"utf8"),Array.isArray(a.plugin)||(a.plugin=[]);let l="user"===i?`file://${j}`:z,m=a.plugin.findIndex(a=>this.isFailproofaiHook(a));m>=0?a.plugin[m]=l:a.plugin.push(l)},removeHooksFromFile(a){let b=0,d=this.readSettings(a);if(Array.isArray(d.plugin)){let a=d.plugin.length;d.plugin=d.plugin.filter(a=>!this.isFailproofaiHook(a)),b+=a-d.plugin.length,0===d.plugin.length&&delete d.plugin}this.writeSettings(a,d);let e=A(a);if((0,c.existsSync)(e))try{(0,c.readFileSync)(e,"utf8").includes(k.FAILPROOFAI_HOOK_MARKER)&&((0,c.unlinkSync)(e),0===b&&(b=1))}catch{}return b},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);if(!Array.isArray(a.plugin)||!a.plugin.some(a=>this.isFailproofaiHook(a)))return!1;let b=A(d);if(!(0,c.existsSync)(b))return!1;return(0,c.readFileSync)(b,"utf8").includes(k.FAILPROOFAI_HOOK_MARKER)}catch{return!1}},detectInstalled:()=>s("opencode")};function C(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,d.resolve)(a,"pi-extension"):(0,d.resolve)((0,e.fileURLToPath)(l.url),"..","..","..","pi-extension")}function D(a){return"string"==typeof a&&(!!/(?:^|\/)pi-extension\/?$/.test(a)||a.includes("pi-extension")&&a.includes("failproofai"))}let E={id:"pi",displayName:"Pi",scopes:k.PI_HOOK_SCOPES,eventTypes:k.PI_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".pi","agent","settings.json");case"project":case"local":return(0,d.resolve)(c,".pi","settings.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({[k.FAILPROOFAI_HOOK_MARKER]:!0,_piPackagePath:C(),_piScope:c}),isFailproofaiHook:a=>"string"==typeof a?D(a):!!a&&"object"==typeof a&&(!0===a[k.FAILPROOFAI_HOOK_MARKER]||"string"==typeof a.source&&D(a.source)),writeHookEntries(a,b,c){var e;let f,g,h;Array.isArray(a.packages)||(a.packages=[]);let i=C(),j="project"===c?(e=i,f=process.cwd(),g=(0,d.resolve)(f),(h=(0,d.resolve)(e)).startsWith(g+"/")||h===g?"../"+h.slice(g.length+1):h):i,k=a.packages.findIndex(a=>D(a));k>=0?a.packages[k]=j:a.packages.push(j)},removeHooksFromFile(a){if(!(0,c.existsSync)(a))return 0;let b=this.readSettings(a);if(!Array.isArray(b.packages))return 0;let d=b.packages.length;b.packages=b.packages.filter(a=>!D(a));let e=d-b.packages.length;return 0===b.packages.length&&delete b.packages,this.writeSettings(a,b),e},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);if(!Array.isArray(a.packages))return!1;return a.packages.some(a=>D(a))}catch{return!1}},detectInstalled:()=>s("pi")},F={id:"hermes",displayName:"Hermes",scopes:k.HERMES_HOOK_SCOPES,eventTypes:k.HERMES_HOOK_EVENT_TYPES,getSettingsPath:()=>(0,d.resolve)((0,h.hermesRoot)(),"config.yaml"),getSettingsPaths:()=>(0,h.listHermesProfiles)().map(a=>(0,d.resolve)(a.home,"config.yaml")),readSettings:a=>o(a),writeSettings(a,b){p(a,b)},buildHookEntry:(a,b,c)=>({command:"project"===c?`npx -y failproofai --hook ${b} --cli hermes`:`"${a}" --hook ${b} --cli hermes`,timeout:30,[k.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:q,writeHookEntries(a,b,c){let d=a.toJS()??{},e=d.hooks&&"object"==typeof d.hooks?d.hooks:{};for(let a of k.HERMES_HOOK_EVENT_TYPES){let d=this.buildHookEntry(b,a,c),f=Array.isArray(e[a])?e[a]:[],g=f.findIndex(a=>q(a));g>=0?f[g]=d:f.push(d),e[a]=f}a.set("hooks",e),a.set("hooks_auto_accept",!0)},removeHooksFromFile(a){if(!(0,c.existsSync)(a))return 0;let b=o(a),d=(b.toJS()??{}).hooks,e=0;if(d&&"object"==typeof d){for(let a of Object.keys(d)){let b=d[a];if(!Array.isArray(b))continue;let c=b.length,f=b.filter(a=>!q(a));e+=c-f.length,0===f.length?delete d[a]:d[a]=f}e>0&&(0===Object.keys(d).length?b.delete("hooks"):b.set("hooks",d))}let f=b.delete("hooks_auto_accept");return(e>0||f)&&p(a,b),e},hooksInstalledInSettings(a,b){let d=t(this,a,b);return d.length>0&&d.every(a=>(function(a){if(!(0,c.existsSync)(a))return!1;try{let b=(o(a).toJS()??{}).hooks;if(!b||"object"!=typeof b)return!1;for(let a of Object.values(b))if(Array.isArray(a)&&a.some(a=>q(a)))return!0}catch{}return!1})(a))},detectInstalled:()=>s("hermes")},G="failproofai";function H(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,d.resolve)(a,"openclaw-plugin"):(0,d.resolve)((0,e.fileURLToPath)(l.url),"..","..","..","openclaw-plugin")}function I(a){return"string"==typeof a&&(/(?:^|\/)openclaw-plugin\/?$/.test(a)||a.includes("openclaw-plugin")&&a.includes("failproofai"))}let J={id:"openclaw",displayName:"OpenClaw",scopes:k.OPENCLAW_HOOK_SCOPES,eventTypes:k.OPENCLAW_HOOK_EVENT_TYPES,getSettingsPath:()=>(0,d.resolve)(j()[0].home,"openclaw.json"),getSettingsPaths:()=>j().map(a=>(0,d.resolve)(a.home,"openclaw.json")),readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:()=>({[k.FAILPROOFAI_HOOK_MARKER]:!0,_openclawPluginPath:H()}),isFailproofaiHook:a=>"string"==typeof a?I(a):!!a&&"object"==typeof a&&(!0===a[k.FAILPROOFAI_HOOK_MARKER]||"string"==typeof a.source&&I(a.source)),writeHookEntries(a){let b=a.plugins??={},c=b.load??={};Array.isArray(c.paths)||(c.paths=[]);let d=H(),e=c.paths.findIndex(a=>I(a));e>=0?c.paths[e]=d:c.paths.push(d);let f=b.entries??={},g=f[G]??={};g.enabled=!0,(g.hooks??={}).allowConversationAccess=!0},removeHooksFromFile(a){if(!(0,c.existsSync)(a))return 0;let b=this.readSettings(a),d=b.plugins;if(!d)return 0;let e=0;if(Array.isArray(d.load?.paths)){let a=d.load.paths.length;d.load.paths=d.load.paths.filter(a=>!I(a)),e+=a-d.load.paths.length,0===d.load.paths.length&&delete d.load.paths,d.load&&0===Object.keys(d.load).length&&delete d.load}return d.entries&&G in d.entries&&(delete d.entries[G],e+=1,0===Object.keys(d.entries).length&&delete d.entries),0===Object.keys(d).length&&delete b.plugins,this.writeSettings(a,b),e},hooksInstalledInSettings(a,b){let d=t(this,a,b);return d.length>0&&d.every(a=>{if(!(0,c.existsSync)(a))return!1;try{let b=this.readSettings(a),c=b.plugins?.load?.paths,d=Array.isArray(c)&&c.some(a=>I(a)),e=b.plugins?.entries?.[G]?.enabled===!0;return d&&e}catch{return!1}})},detectInstalled:()=>s("openclaw")},K={id:"factory",displayName:"Factory Droid",scopes:k.FACTORY_HOOK_SCOPES,eventTypes:k.FACTORY_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".factory","hooks.json");case"project":case"local":return(0,d.resolve)(c,".factory","hooks.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli factory`:`"${a}" --hook ${b} --cli factory`,timeout:30,[k.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:q,writeHookEntries(a,b,c){for(let d of k.FACTORY_HOOK_EVENT_TYPES){let e=this.buildHookEntry(b,d,c);Array.isArray(a[d])||(a[d]=[]);let f=a[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>q(a));if(b>=0){a.hooks[b]=e,g=!0;break}}if(!g){let a="PreToolUse"===d||"PostToolUse"===d;f.push(a?{matcher:"*",hooks:[e]}:{hooks:[e]})}}},removeHooksFromFile(a){let b=this.readSettings(a),c=0;for(let a of Object.keys(b)){let d=b[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b||!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!q(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b[a]}}return this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(a&&a.hooks&&a.hooks.some(a=>q(a)))return!0}}catch{}return!1},detectInstalled:()=>s("droid")},L={id:"devin",displayName:"Devin CLI",scopes:k.DEVIN_HOOK_SCOPES,eventTypes:k.DEVIN_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".config","devin","config.json");case"project":case"local":return(0,d.resolve)(c,".devin","config.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli devin`:`"${a}" --hook ${b} --cli devin`,timeout:60,[k.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:q,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),k.DEVIN_HOOK_EVENT_TYPES)){let e=this.buildHookEntry(b,d,c);a.hooks[d]||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>q(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!q(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>q(a)))return!0}}catch{}return!1},detectInstalled:()=>s("devin")},M="failproofai",N=new Set(["PreToolUse","PostToolUse"]);function O(a){if(!a||"object"!=typeof a)return!1;let b=a.command;return"string"==typeof b&&b.includes("failproofai")&&b.includes("--cli goose")}let P={claude:u,codex:v,copilot:x,cursor:y,opencode:B,pi:E,hermes:F,openclaw:J,factory:K,devin:L,antigravity:{id:"antigravity",displayName:"Antigravity CLI",scopes:k.ANTIGRAVITY_HOOK_SCOPES,eventTypes:k.ANTIGRAVITY_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".gemini","config","hooks.json");case"project":case"local":return(0,d.resolve)(c,".agents","hooks.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli antigravity`:`"${a}" --hook ${b} --cli antigravity`,timeout:30,[k.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:q,writeHookEntries(a,b,c){a[M]&&"object"==typeof a[M]||(a[M]={});let d=a[M];for(let a of k.ANTIGRAVITY_HOOK_EVENT_TYPES){let e=this.buildHookEntry(b,a,c);if(N.has(a)){Array.isArray(d[a])||(d[a]=[]);let b=d[a],c=!1;for(let a of b){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>q(a));if(b>=0){a.hooks[b]=e,c=!0;break}}c||b.push({matcher:"*",hooks:[e]})}else{Array.isArray(d[a])||(d[a]=[]);let b=d[a],c=b.findIndex(a=>q(a));c>=0?b[c]=e:b.push(e)}}},removeHooksFromFile(a){let b=this.readSettings(a),c=b[M];if(!c||"object"!=typeof c)return this.writeSettings(a,b),0;let d=0;for(let a of Object.keys(c)){let b=c[a];if(Array.isArray(b))if(N.has(a)){for(let a=b.length-1;a>=0;a--){let c=b[a];if(!c||!c.hooks)continue;let e=c.hooks.length;c.hooks=c.hooks.filter(a=>!q(a)),d+=e-c.hooks.length,0===c.hooks.length&&b.splice(a,1)}0===b.length&&delete c[a]}else{let e=b.length,f=b.filter(a=>!q(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}}return 0===Object.keys(c).length&&delete b[M],this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d)[M];if(!a||"object"!=typeof a)return!1;for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(q(a)||a&&Array.isArray(a.hooks)&&a.hooks.some(a=>q(a)))return!0}}catch{}return!1},detectInstalled:()=>s("agy")},goose:{id:"goose",displayName:"Goose",scopes:k.GOOSE_HOOK_SCOPES,eventTypes:k.GOOSE_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".agents","plugins","failproofai","hooks","hooks.json");case"project":case"local":return(0,d.resolve)(c,".agents","plugins","failproofai","hooks","hooks.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli goose`:`"${a}" --hook ${b} --cli goose`}),isFailproofaiHook:O,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),k.GOOSE_HOOK_EVENT_TYPES)){let e=this.buildHookEntry(b,d,c);Array.isArray(a.hooks[d])||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>O(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b||!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!O(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a&&a.hooks&&a.hooks.some(a=>O(a)))return!0}}catch{}return!1},detectInstalled:()=>s("goose")}};a.s(["claudeCode",0,u,"detectInstalledClis",0,function(){return k.INTEGRATION_TYPES.filter(a=>P[a]?.detectInstalled())},"getIntegration",0,function(a){let b=P[a];if(!b)throw Error(`"${a}" is audit-only — live-hook install is not supported for it yet. Installable: ${k.INTEGRATION_TYPES.filter(a=>void 0!==P[a]).join(", ")}`);return b},"listIntegrations",0,function(){return k.INTEGRATION_TYPES.map(a=>P[a]).filter(a=>void 0!==a)},"settingsPathsFor",0,t],67121)},9909,89790,a=>{"use strict";var b=a.i(66680),c=a.i(2157),d=a.i(50227),e=a.i(75818);function f(a,b){if(!b||(0,d.isAbsolute)(b))throw Error(`unsafe managed policy path ${JSON.stringify(b)}`);let e=(0,d.resolve)(a,b),f=(0,d.relative)(a,e);if(f.startsWith("..")||(0,d.isAbsolute)(f))throw Error(`managed policy path escapes its root: ${JSON.stringify(b)}`);let g=(0,c.realpathSync)(a),h=(0,c.realpathSync)(e),i=(0,d.relative)(g,h);if(i.startsWith("..")||(0,d.isAbsolute)(i))throw Error(`managed policy symlink escapes its root: ${JSON.stringify(b)}`);return h}a.s(["resolveManagedPath",0,f],89790);let g=[1],h=/^[a-f0-9]{64}$/,i=/^[A-Za-z0-9._-]{1,64}\/[A-Za-z0-9._-]{1,64}$/,j=/^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$/,k=/^[0-9a-f]{7,40}$/,l=/^[A-Za-z0-9._-]{1,128}$/;function m(){return process.env.FAILPROOFAI_PACK_DIR??(0,e.packsDir)()}function n(a){if("string"!=typeof a.id||!i.test(a.id))throw Error(`unsafe pack id ${JSON.stringify(a.id)}`);if("string"!=typeof a.version||!j.test(a.version))throw Error(`invalid version for pack ${a.id}`);if(void 0!==a.effect&&"enforce"!==a.effect&&"observe"!==a.effect)throw Error(`unknown effect ${JSON.stringify(a.effect)} for pack ${a.id}`);let b="string"==typeof a.commit&&k.test(a.commit.trim().toLowerCase())?a.commit.trim().toLowerCase():void 0;return{id:a.id,version:a.version,effect:a.effect??"enforce",...b?{commit:b}:{}}}function o(){return process.env.FAILPROOFAI_PACK_DIR?(0,d.resolve)(process.env.FAILPROOFAI_PACK_DIR,"installed.json"):(0,e.packsInstalledFile)()}function p(a,b,c){let d=`${a} policy #${c}`;if(!b||"object"!=typeof b)throw Error(`${d} is not an object`);let e=b.name;if("string"!=typeof e||!l.test(e))throw Error(`${d} has an unsafe name ${JSON.stringify(e)}`);if("alwaysOn"in b)throw Error(`${d} declares alwaysOn, which packs may not set`);if("string"!=typeof b.description||0===b.description.length)throw Error(`${d} is missing a description`);if("string"!=typeof b.category||0===b.category.length)throw Error(`${d} is missing a category`);if("boolean"!=typeof b.defaultEnabled)throw Error(`${d} is missing defaultEnabled`);if(!b.match||"object"!=typeof b.match)throw Error(`${d} is missing a match`);let f=b.match;for(let a of["events","toolNames"]){let b=f[a];if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a||0===a.length)))throw Error(`${d} has a match.${a} that is not a list of names`)}return b}function q(a){return a instanceof Error?a.message:String(a)}a.s(["PACK_COMMIT_RE",0,k,"hasInstalledPacks",0,function(){try{let a=JSON.parse((0,c.readFileSync)(o(),"utf8"));return Array.isArray(a.packs)&&a.packs.length>0}catch{return!1}},"packsRoot",0,m,"parsePackIdentity",0,n,"parsePackPolicy",0,p,"readInstalledPacks",0,function(){let a,d=o();if(!(0,c.existsSync)(d))return{packs:[],errors:[]};try{a=JSON.parse((0,c.readFileSync)(d,"utf8"))}catch(a){return{packs:[],errors:[{id:null,reason:`unreadable pack manifest: ${q(a)}`}]}}if(!a||"object"!=typeof a)return{packs:[],errors:[{id:null,reason:"pack manifest is not an object"}]};let e=a;if(!g.includes(e.schemaVersion))return{packs:[],errors:[{id:null,reason:`unsupported pack manifest schema ${String(e.schemaVersion)} (supported: ${g.join(", ")})`}]};if(!Array.isArray(e.packs))return{packs:[],errors:[{id:null,reason:"pack manifest packs is not an array"}]};let i=m(),j=[],k=[],l=new Set;for(let a of e.packs){let d=a&&"object"==typeof a&&"string"==typeof a.id?a.id:null;try{let d=function(a,d){if(!d||"object"!=typeof d)throw Error("pack entry is not an object");let e=n(d);if("string"!=typeof d.source||0===d.source.length)throw Error(`pack ${d.id} has no source`);if("string"!=typeof d.sha256||!h.test(d.sha256))throw Error(`invalid SHA-256 for pack ${d.id}`);let g=e.effect,i=f(a,d.entry),j=(0,b.createHash)("sha256").update((0,c.readFileSync)(i)).digest("hex");if(j!==d.sha256)throw Error(`pack ${d.id} failed integrity verification: expected ${d.sha256}, got ${j}`);if(!Array.isArray(d.policies))throw Error(`pack ${d.id} policies is not an array`);let k=d.policies.map((a,b)=>p(d.id,a,b)),l=new Set;for(let a of k){if(l.has(a.name))throw Error(`pack ${d.id} declares ${a.name} twice`);l.add(a.name)}let m=null;if(void 0!==d.enabled){if(!Array.isArray(d.enabled)||d.enabled.some(a=>"string"!=typeof a))throw Error(`pack ${d.id} enabled is not an array of names`);m=d.enabled.filter(a=>l.has(a))}let o=null;if(void 0!==d.clis){if(!Array.isArray(d.clis)||d.clis.some(a=>"string"!=typeof a))throw Error(`pack ${d.id} clis is not an array of agent names`);o=d.clis}return{clis:o,id:e.id,version:e.version,source:d.source,path:i,sha256:d.sha256,effect:g,policies:k,enabled:m}}(i,a);if(l.has(d.id))throw Error(`duplicate pack id ${d.id}`);l.add(d.id),j.push(d)}catch(c){let b=a&&("observe"===a.effect||"enforce"===a.effect)?a.effect:"enforce";k.push({id:d,reason:q(c),effect:b,...Array.isArray(a?.policies)?{declared:function(a){let b=[];for(let c of a)c&&"object"==typeof c&&"string"==typeof c.name&&c.match&&"object"==typeof c.match&&b.push(c);return b}(a.policies)}:{},...Array.isArray(a?.clis)&&a.clis.every(a=>"string"==typeof a)?{clis:a.clis}:{}})}}return{packs:j,errors:k}}],9909)},17280,a=>{"use strict";var b=a.i(66680),c=a.i(2157),d=a.i(50227),e=a.i(9909);let f="failproofai-pack.json",g="failproofai-pack.mjs",h="SHA256SUMS";function i(){return(process.env.FAILPROOFAI_PACK_BASE_URL||"https://github.com").replace(/\/+$/,"")}let j=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,k=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,127}$/,l="FailproofAI/policies",m=new Set(["core","failproofai","official"]);function n(a){let b=a.trim();if(0===b.length)throw Error("pack source is empty");let c=b.match(/^(?:https?:\/\/)?(?:www\.)?github\.com\/(.+)$/i);if(c){let[a,b,...d]=c[1].replace(/\/+$/,"").split("/"),e=null;if("releases"===d[0]&&("tag"===d[1]||"download"===d[1])){let a=d.slice(2);e=("download"===d[1]?a.slice(0,-1):a).join("/")||null}else"releases"===d[0]&&"latest"===d[1]&&(e=null);return o(a,b,e)}let d=b.replace(/^github:/i,""),e=d.lastIndexOf("@"),f=e>0?d.slice(0,e):d,g=e>0?d.slice(e+1):null,h=f.indexOf("/");if(h<=0||h===f.length-1){if(m.has(f.trim().toLowerCase()))throw Error(`${JSON.stringify(a)} is no longer a pack name — ours is a pack like anyone else's now. Use ${l} instead.`);throw Error(`pack source must be owner/repo, owner/repo@tag, or a github.com URL — got ${JSON.stringify(a)}`)}return o(f.slice(0,h),f.slice(h+1),g)}function o(a,b,c){if(!a||!j.test(a))throw Error(`unsafe owner ${JSON.stringify(a)}`);if(!b||!j.test(b))throw Error(`unsafe repo ${JSON.stringify(b)}`);if(null!==c&&!k.test(c))throw Error(`unsafe tag ${JSON.stringify(c)}`);return{owner:a,repo:b,tag:c}}async function p(a){let b=`${i()}/${a.owner}/${a.repo}/releases/latest`,c=await fetch(b,{signal:AbortSignal.timeout(3e4),redirect:"manual"}),d=c.headers.get("location");if(!d)throw Error(`could not resolve the newest release of ${a.owner}/${a.repo} (GET ${b} returned ${c.status} with no redirect). That redirect is issued only for a published, non-prerelease release, so either the repository has no releases at all or every release it has is a prerelease or a draft. Name a tag explicitly.`);let e=d.match(/\/releases\/tag\/(.+)$/);if(!e)throw Error(`unexpected redirect from ${b}: ${d}`);let f=decodeURIComponent(e[1]).replace(/\/+$/,"");if(!k.test(f))throw Error(`unsafe tag ${JSON.stringify(f)} from ${b}`);return f}async function q(b,c){let d,e=c.toLowerCase(),f=`${(process.env.FAILPROOFAI_GITHUB_API??"https://api.github.com").replace(/\/+$/,"")}/repos/${b.owner}/${b.repo}/releases?per_page=100`;try{let a=(process.env.GITHUB_TOKEN||process.env.GH_TOKEN||"").trim(),b=await fetch(f,{headers:{...a?{Authorization:`Bearer ${a}`}:{},Accept:"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"failproofai"},signal:AbortSignal.timeout(3e4),redirect:"follow"});if(!b.ok)throw Error(`GET ${f} returned ${b.status}`);d=await b.json()}catch(a){throw Error(`could not resolve commit ${c} in ${b.owner}/${b.repo}: ${G(a)}. Name the release tag instead if you know it.`)}let{parseReleaseBody:g}=await a.A(49679),h=Array.isArray(d)?d:[],i=[];for(let a of h){let b="string"==typeof a.tag_name?a.tag_name:"";if(!b||!k.test(b))continue;let c=g("string"==typeof a.body?a.body:"");c.commit&&c.commit.startsWith(e)&&i.push({tag:b,commit:c.commit})}if(i.length>1)throw Error(`commit ${c} matches ${i.length} releases of ${b.owner}/${b.repo}: `+i.map(a=>`${a.tag} (${a.commit})`).join(", ")+". Name one of those tags, or type more of the commit.");return 1===i.length?i[0].tag:null}async function r(a){return null===a.tag?p(a):e.PACK_COMMIT_RE.test(a.tag)?await q(a,a.tag)??a.tag:a.tag}function s(a){return`github:${a.owner}/${a.repo}@${a.tag}`}function t(a,b){return`${i()}/${a.owner}/${a.repo}/releases/download/${a.tag}/${b}`}async function u(a){let b=await fetch(a,{signal:AbortSignal.timeout(3e4),redirect:"follow"});if(!b.ok)throw Error(`GET ${a} returned ${b.status}`);let c=b.headers.get("content-length");if(null!==c){let d=Number(c);if(Number.isFinite(d)&&d>8388608)throw await b.body?.cancel(),Error(`${a} declares ${d} bytes, over the 8388608 limit`)}if(!b.body)return Buffer.alloc(0);let d=[],e=b.body.getReader(),f=0;try{for(;;){let{done:b,value:c}=await e.read();if(b)break;if((f+=c.byteLength)>8388608)throw await e.cancel(),Error(`${a} is over the 8388608 byte limit`);d.push(Buffer.from(c))}}finally{e.releaseLock()}return Buffer.concat(d,f)}function v(a,b){for(let c of a.split("\n")){let a=c.trim().match(/^([0-9a-f]{64})\s+\*?(.+)$/i);if(a&&a[2].trim()===b)return a[1].toLowerCase()}return null}function w(a){return(0,b.createHash)("sha256").update(a).digest("hex")}function x(a,b){let e=`${a}.${process.pid}.tmp`;try{(0,c.mkdirSync)((0,d.dirname)(a),{recursive:!0}),(0,c.writeFileSync)(e,b),(0,c.renameSync)(e,a)}catch(a){throw(0,c.rmSync)(e,{force:!0}),a}}async function y(a,b={}){let c=await D(a,b);return{id:c.id,version:c.version,enabled:c.enabled,available:c.available,bundled:!1,source:c.source,tag:c.tag,resolvedFromLatest:c.resolvedFromLatest,selection:c.selection,categories:c.categories}}async function z(a){let b;if("1"===process.env.FAILPROOFAI_NO_DOWNLOAD)throw Error("FAILPROOFAI_NO_DOWNLOAD is set, so nothing can be fetched to preview");let c=n(a),d=null===c.tag,g={...c,tag:await r(c)},i=(await u(t(g,h))).toString("utf8"),j=await u(t(g,f)),k=v(i,f);if(!k)throw Error(`${h} has no entry for ${f}`);if(w(j)!==k)throw Error(`${f} failed integrity verification`);try{b=JSON.parse(j.toString("utf8"))}catch(a){throw Error(`${f} is not valid JSON: ${G(a)}`)}if(!b||"object"!=typeof b)throw Error(`${f} is not an object`);let l=b,m=(0,e.parsePackIdentity)(l);if(!Array.isArray(l.policies)||0===l.policies.length)throw Error("pack manifest declares no policies");return{id:m.id,version:m.version,effect:m.effect,...m.commit?{commit:m.commit}:{},policies:l.policies.map((a,b)=>(0,e.parsePackPolicy)(m.id,a,b)),source:s(g),resolvedFromLatest:d}}async function A(a){let b,c=(await u(t(a,h))).toString("utf8"),d=await u(t(a,f)),i=v(c,f);if(!i)throw Error(`${h} has no entry for ${f}`);if(w(d)!==i)throw Error(`${f} failed integrity verification`);let j=await u(t(a,g)),k=v(c,g);if(!k)throw Error(`${h} has no entry for ${g}`);let l=w(j);if(l!==k)throw Error(`${g} failed integrity verification`);try{b=JSON.parse(d.toString("utf8"))}catch(a){throw Error(`${f} is not valid JSON: ${G(a)}`)}if(!b||"object"!=typeof b)throw Error(`${f} is not an object`);let m=b,n=(0,e.parsePackIdentity)(m);if(!Array.isArray(m.policies)||0===m.policies.length)throw Error("pack manifest declares no policies");let o=m.policies.map((a,b)=>(0,e.parsePackPolicy)(n.id,a,b));return{id:n.id,version:n.version,policies:o,...void 0!==m.effect?{effect:n.effect}:{},...n.commit?{commit:n.commit}:{},artifact:j,artifactDigest:l}}function B(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}async function C(b,c){let d,{loadCustomHooks:e}=await a.A(6188);try{d=(await e(b,{strict:!0})).map(a=>a.name)}catch(a){throw Error(`its artifact could not be loaded: ${a instanceof Error?a.message:String(a)}`)}let f=c.filter(a=>!d.includes(a)),g=d.filter(a=>!c.includes(a));if(f.length>0)throw Error(`its manifest declares ${f.join(", ")} but the artifact does not register ${1===f.length?"it":"them"} — that would install as protection that never runs`);if(g.length>0)throw Error(`its artifact registers undeclared ${g.join(", ")} — a policy that enforces but appears in no listing cannot be reviewed or switched off`)}async function D(a,b){var f,g,h,i;let j,k;if(process.env.FAILPROOFAI_NO_DOWNLOAD)throw Error("pack downloads are disabled (FAILPROOFAI_NO_DOWNLOAD). Already-installed packs keep enforcing.");let l=n(a),m={...l,tag:await r(l)},o=null===l.tag,p=await A(m);if(f=m.tag,g=p.version,(j=f.slice(f.lastIndexOf("/")+1))!==g&&j!==`v${g}`){let a=m.tag.slice(m.tag.lastIndexOf("/")+1).replace(/^v/,""),b=`re-tag the release ${p.version} (a leading v is fine), or rebuild the pack with --version ${a}`;throw Error(`${p.id} was not installed: release tag ${m.tag} does not match the version its manifest declares (${p.version}). `+(o?`That is the newest release of ${m.owner}/${m.repo}, so the release and the pack disagree at the source — ask the publisher to ${b}.`:`Name the tag whose manifest says ${p.version}, or fix the pack: ${b}.`))}let q=p.policies.map(a=>a.name),t=(h=p.id,i=p.artifactDigest,(k=(0,e.readInstalledPacks)().packs).find(a=>a.id===h)??k.find(a=>a.sha256===i)),{enabled:u,reason:v}=function(a,b,c,d){let e=a.map(a=>a.name);if(b?.all)return{enabled:null,reason:"all"};let f=new Set;if(b?.categories?.length){let c=new Set(b.categories.map(B)),d=new Map(a.map(a=>[B(a.category),a.category])),e=[...c].filter(a=>!d.has(a));if(e.length>0)throw Error(`no such categor${1===e.length?"y":"ies"}: ${e.join(", ")} (has: ${[...new Set(a.map(a=>B(a.category)))].join(", ")})`);for(let b of a)c.has(B(b.category))&&f.add(b.name)}if(b?.only?.length){let a=b.only.filter(a=>!e.includes(a));if(a.length>0)throw Error(`pack does not contain ${a.join(", ")}`);for(let a of b.only)f.add(a)}if(b?.only!==void 0||b?.categories?.length){if(b.merge&&d){if(null===c)return{enabled:null,reason:"carried"};for(let a of c??[])f.add(a);return{enabled:e.filter(a=>f.has(a)),reason:"added"}}return{enabled:e.filter(a=>f.has(a)),reason:"selected"}}return d?{enabled:null===c?null:c??null,reason:"carried"}:{enabled:a.filter(a=>a.defaultEnabled).map(a=>a.name),reason:"defaults"}}(p.policies,b,t?.enabled?t.enabled.filter(a=>q.includes(a)):t?.enabled,!!t),w=(0,e.packsRoot)(),y=`artifacts/${p.artifactDigest}.mjs`,z=(0,d.resolve)(w,y);(0,c.existsSync)(z)||x(z,p.artifact);try{await C(z,q)}catch(a){throw Error(`${p.id}@${p.version} was not installed: ${a instanceof Error?a.message:String(a)}`)}let D=a=>{let b=a.lastIndexOf("@");return b>a.indexOf(":")?a.slice(0,b):a};if(t&&t.id===p.id&&!t.source.startsWith("bundled:")&&D(t.source)!==D(s(m)))throw Error(`pack id ${p.id} is already installed from ${t.source}. Refusing to replace it with ${s(m)} — remove it first if that is what you mean.`);let E={id:p.id,version:p.version,source:s(m),entry:y,sha256:p.artifactDigest,policies:p.policies,...p.commit?{commit:p.commit}:{},...p.effect?{effect:p.effect}:{},...u?{enabled:u}:{},...b?.clis?{clis:b.clis}:b?.merge!==!1&&t?.clis?{clis:t.clis}:{}};return{replaced:function(a,b=!0){let f=(0,d.resolve)((0,e.packsRoot)(),"installed.json"),g=[];if((0,c.existsSync)(f))try{let a=JSON.parse((0,c.readFileSync)(f,"utf8"));Array.isArray(a.packs)&&(g=a.packs)}catch{throw Error(`existing pack manifest at ${f} is unreadable; move it aside and re-add`)}let h=g.filter(b=>b?.sha256===a.sha256&&b?.id!==a.id).map(a=>a.id);if(b&&!a.enabled){let b=g.find(a=>h.includes(a?.id)),c=b?.enabled?.filter(b=>a.policies?.some(a=>a?.name===b));c&&c.length>0&&(a.enabled=c)}let i=g.filter(a=>!h.includes(a?.id)),j=i.findIndex(b=>b?.id===a.id);return j>=0?i[j]=a:i.push(a),x(f,JSON.stringify({schemaVersion:1,packs:i},null,2)+"\n"),h}(E,"all"!==v),id:p.id,version:p.version,source:E.source,tag:m.tag,resolvedFromLatest:o,enabled:u??q,available:q,selection:v,categories:[...new Set(p.policies.map(a=>B(a.category)))],artifact:z}}function E(a){let b=a.trim(),c=b.lastIndexOf("@");return(c>0?b.slice(0,c):b).trim()}class F extends Error{candidates;constructor(a,b){super(`${b} matches ${a.length} installed packs: ${a.join(", ")}. Name one of them exactly.`),this.candidates=a,this.name="AmbiguousPackId"}}function G(a){return a instanceof Error?a.message:String(a)}a.s(["CORE_SOURCE",0,l,"PACK_CHECKSUMS_ASSET",0,h,"PACK_ENTRY_ASSET",0,g,"PACK_MANIFEST_ASSET",0,f,"addPack",0,D,"addPackFromSource",0,y,"fetchPackPreview",0,z,"removePack",0,function(a){let b,f=(0,d.resolve)((0,e.packsRoot)(),"installed.json");if(!(0,c.existsSync)(f))return null;try{b=JSON.parse((0,c.readFileSync)(f,"utf8"))}catch{return null}let g=Array.isArray(b.packs)?b.packs:[],h=g.find(b=>b?.id===E(a)),i=g.filter(b=>{var c;return b?.id&&(c=b.id,E(c).toLowerCase()===E(a).toLowerCase())});if(!h&&i.length>1)throw new F(i.map(a=>a.id).filter(a=>"string"==typeof a),a);let j=h??i[0],k=g.filter(a=>a!==j);return j&&k.length!==g.length?(x(f,JSON.stringify({schemaVersion:1,packs:k},null,2)+"\n"),j.id):null},"setPackPolicyEnabled",0,function(a,b,f){let g,h=(0,d.resolve)((0,e.packsRoot)(),"installed.json");if(!(0,c.existsSync)(h))return{ok:!1,reason:"no packs are installed"};try{g=JSON.parse((0,c.readFileSync)(h,"utf8"))}catch{return{ok:!1,reason:`pack manifest at ${h} is unreadable`}}let i=Array.isArray(g.packs)?g.packs:[],j=i.find(b=>b?.id===a);if(!j)return{ok:!1,reason:`no installed pack with id ${a}`};let k=(Array.isArray(j.policies)?j.policies:[]).map(a=>"string"==typeof a?.name?a.name:null).filter(a=>null!==a);if(!k.includes(b))return{ok:!1,reason:`pack ${a} declares no policy named ${b}`};let l=j.enabled??k,m=f?[...new Set([...l,b])]:l.filter(a=>a!==b);return j.enabled=k.filter(a=>m.includes(a)),x(h,JSON.stringify({schemaVersion:1,packs:i},null,2)+"\n"),{ok:!0}}])},1459,a=>{"use strict";a.i(1457);Symbol("failproofai.back"),Object.values({on:"✓ ON",off:"· OFF",mixed:"◐ MIXED",locked:"✓ LOCK",cloud:"✓ CLOUD",pack:"✓ PACK",failed:"▲ FAIL",observe:"◉ OBS"}).map(a=>a.length),a.s([])},91997,a=>{"use strict";let b=["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PermissionRequest","PermissionDenied","PostToolUse","PostToolUseFailure","Notification","SubagentStart","SubagentStop","TaskCreated","TaskCompleted","Stop","StopFailure","TeammateIdle","InstructionsLoaded","ConfigChange","CwdChanged","FileChanged","WorktreeCreate","WorktreeRemove","PreCompact","PostCompact","Elicitation","ElicitationResult","UserPromptExpansion","PostToolBatch","Setup"].filter(a=>"WorktreeCreate"!==a);a.s(["ANTIGRAVITY_HOOK_EVENT_TYPES",0,["PreToolUse","PostToolUse","PreInvocation","Stop"],"ANTIGRAVITY_HOOK_SCOPES",0,["user","project"],"CLAUDE_INSTALL_EVENT_TYPES",0,b,"CODEX_EVENT_MAP",0,{session_start:"SessionStart",pre_tool_use:"PreToolUse",permission_request:"PermissionRequest",post_tool_use:"PostToolUse",user_prompt_submit:"UserPromptSubmit",stop:"Stop",subagent_start:"SubagentStart",pre_compact:"PreCompact",post_compact:"PostCompact",subagent_stop:"SubagentStop"},"CODEX_HOOK_EVENT_TYPES",0,["session_start","pre_tool_use","permission_request","post_tool_use","user_prompt_submit","stop","subagent_start","pre_compact","post_compact","subagent_stop"],"CODEX_HOOK_SCOPES",0,["user","project"],"COPILOT_HOOK_EVENT_TYPES",0,["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PostToolUse","Stop","SubagentStop","PostToolUseFailure","ErrorOccurred","PreCompact","PermissionRequest","Notification"],"COPILOT_HOOK_SCOPES",0,["user","project"],"CURSOR_HOOK_EVENT_TYPES",0,["sessionStart","sessionEnd","beforeSubmitPrompt","preToolUse","postToolUse","stop","subagentStop"],"CURSOR_HOOK_SCOPES",0,["user","project"],"DEVIN_HOOK_EVENT_TYPES",0,["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","PermissionRequest","Stop","SessionEnd"],"DEVIN_HOOK_SCOPES",0,["user","project"],"FACTORY_HOOK_EVENT_TYPES",0,["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","Notification","Stop","SubagentStop","PreCompact","SessionEnd"],"FACTORY_HOOK_SCOPES",0,["user","project"],"FAILPROOFAI_HOOK_MARKER",0,"__failproofai_hook__","GOOSE_HOOK_EVENT_TYPES",0,["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","SessionEnd"],"GOOSE_HOOK_SCOPES",0,["user","project"],"HERMES_HOOK_EVENT_TYPES",0,["pre_tool_call","post_tool_call","on_session_start","on_session_end","subagent_stop"],"HERMES_HOOK_SCOPES",0,["user"],"HOOK_SCOPES",0,["user","project","local"],"INTEGRATION_TYPES",0,["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],"OPENCLAW_HOOK_EVENT_TYPES",0,["before_tool_call","after_tool_call","before_agent_run","before_agent_finalize","session_start","session_end","subagent_ended","before_compaction"],"OPENCLAW_HOOK_SCOPES",0,["user"],"OPENCODE_HOOK_EVENT_TYPES",0,["tool.execute.before","tool.execute.after","session.created","session.deleted","session.idle","message.updated","permission.ask"],"OPENCODE_HOOK_SCOPES",0,["user","project"],"PI_HOOK_EVENT_TYPES",0,["session_start","session_shutdown","input","tool_call","user_bash","tool_result","agent_end"],"PI_HOOK_SCOPES",0,["user","project"]])}];
|
|
230
|
+
`),"utf8"),Array.isArray(a.plugin)||(a.plugin=[]);let l="user"===i?`file://${j}`:z,m=a.plugin.findIndex(a=>this.isFailproofaiHook(a));m>=0?a.plugin[m]=l:a.plugin.push(l)},removeHooksFromFile(a){let b=0,d=this.readSettings(a);if(Array.isArray(d.plugin)){let a=d.plugin.length;d.plugin=d.plugin.filter(a=>!this.isFailproofaiHook(a)),b+=a-d.plugin.length,0===d.plugin.length&&delete d.plugin}this.writeSettings(a,d);let e=A(a);if((0,c.existsSync)(e))try{(0,c.readFileSync)(e,"utf8").includes(k.FAILPROOFAI_HOOK_MARKER)&&((0,c.unlinkSync)(e),0===b&&(b=1))}catch{}return b},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);if(!Array.isArray(a.plugin)||!a.plugin.some(a=>this.isFailproofaiHook(a)))return!1;let b=A(d);if(!(0,c.existsSync)(b))return!1;return(0,c.readFileSync)(b,"utf8").includes(k.FAILPROOFAI_HOOK_MARKER)}catch{return!1}},detectInstalled:()=>s("opencode")};function C(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,d.resolve)(a,"pi-extension"):(0,d.resolve)((0,e.fileURLToPath)(l.url),"..","..","..","pi-extension")}function D(a){return"string"==typeof a&&(!!/(?:^|\/)pi-extension\/?$/.test(a)||a.includes("pi-extension")&&a.includes("failproofai"))}let E={id:"pi",displayName:"Pi",scopes:k.PI_HOOK_SCOPES,eventTypes:k.PI_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".pi","agent","settings.json");case"project":case"local":return(0,d.resolve)(c,".pi","settings.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({[k.FAILPROOFAI_HOOK_MARKER]:!0,_piPackagePath:C(),_piScope:c}),isFailproofaiHook:a=>"string"==typeof a?D(a):!!a&&"object"==typeof a&&(!0===a[k.FAILPROOFAI_HOOK_MARKER]||"string"==typeof a.source&&D(a.source)),writeHookEntries(a,b,c){var e;let f,g,h;Array.isArray(a.packages)||(a.packages=[]);let i=C(),j="project"===c?(e=i,f=process.cwd(),g=(0,d.resolve)(f),(h=(0,d.resolve)(e)).startsWith(g+"/")||h===g?"../"+h.slice(g.length+1):h):i,k=a.packages.findIndex(a=>D(a));k>=0?a.packages[k]=j:a.packages.push(j)},removeHooksFromFile(a){if(!(0,c.existsSync)(a))return 0;let b=this.readSettings(a);if(!Array.isArray(b.packages))return 0;let d=b.packages.length;b.packages=b.packages.filter(a=>!D(a));let e=d-b.packages.length;return 0===b.packages.length&&delete b.packages,this.writeSettings(a,b),e},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);if(!Array.isArray(a.packages))return!1;return a.packages.some(a=>D(a))}catch{return!1}},detectInstalled:()=>s("pi")},F="failproofai",G=".failproofai-managed",H=["plugin.yaml","__init__.py","client.py","ledger.py"];function I(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,d.resolve)(a,"hermes-plugin"):(0,d.resolve)((0,e.fileURLToPath)(l.url),"..","..","..","hermes-plugin")}function J(a){return(0,d.resolve)((0,d.dirname)(a),"plugins",F)}function K(a){let b=(a.toJS()??{}).hooks,c=0;if(b&&"object"==typeof b){for(let a of Object.keys(b)){let d=b[a];if(!Array.isArray(d))continue;let e=d.length,f=d.filter(a=>!q(a));c+=e-f.length,0===f.length?delete b[a]:b[a]=f}0===Object.keys(b).length?(a.delete("hooks"),c>0&&a.delete("hooks_auto_accept")):a.set("hooks",b)}return c}let L={id:"hermes",displayName:"Hermes",scopes:k.HERMES_HOOK_SCOPES,eventTypes:k.HERMES_HOOK_EVENT_TYPES,getSettingsPath:()=>(0,d.resolve)((0,h.hermesRoot)(),"config.yaml"),getSettingsPaths:()=>(0,h.listHermesProfiles)().map(a=>(0,d.resolve)(a.home,"config.yaml")),readSettings:a=>o(a),writeSettings(a,b){p(a,b)},prepareInstall(a){!function(a){let b=I();for(let a of H)if(!(0,c.existsSync)((0,d.resolve)(b,a)))throw Error(`Hermes plugin asset is missing from the failproofai package: ${a}`);let e=J(a);if((0,c.existsSync)(e)&&((0,c.lstatSync)(e).isSymbolicLink()||!(0,c.existsSync)((0,d.resolve)(e,G))))throw Error(`Refusing to overwrite an unmanaged Hermes plugin at ${e}. Move it aside or install FailproofAI under a different Hermes profile.`);(0,c.mkdirSync)((0,d.dirname)(e),{recursive:!0});let f=`${process.pid}-${Date.now()}`,g=`${e}.install-${f}`,h=`${e}.backup-${f}`,i=!1;try{for(let a of((0,c.mkdirSync)(g,{recursive:!0}),H))(0,c.cpSync)((0,d.resolve)(b,a),(0,d.resolve)(g,a));(0,c.writeFileSync)((0,d.resolve)(g,G),"Managed by failproofai. Remove with `failproofai policies --uninstall --cli hermes`.\n",{encoding:"utf8",mode:384}),(0,c.existsSync)(e)&&((0,c.renameSync)(e,h),i=!0),(0,c.renameSync)(g,e),i&&(0,c.rmSync)(h,{recursive:!0,force:!0})}catch(a){throw(0,c.rmSync)(g,{recursive:!0,force:!0}),i&&!(0,c.existsSync)(e)&&(0,c.existsSync)(h)&&(0,c.renameSync)(h,e),a}}(a)},buildHookEntry:(a,b,c)=>({[k.FAILPROOFAI_HOOK_MARKER]:!0,_hermesPluginPath:I()}),isFailproofaiHook:q,writeHookEntries(a){K(a);let b=a.toJS()??{},c=b.plugins&&"object"==typeof b.plugins?b.plugins:{},d=Array.isArray(c.enabled)?[...c.enabled]:[];d.includes(F)||d.push(F),c.enabled=d,Array.isArray(c.disabled)&&(c.disabled=c.disabled.filter(a=>a!==F),0===c.disabled.length&&delete c.disabled),a.set("plugins",c)},removeHooksFromFile(a){let b,e=o(a),f=K(e),g=(e.toJS()??{}).plugins,h=f>0;if(g&&"object"==typeof g){if(Array.isArray(g.enabled)){let a=g.enabled.length;g.enabled=g.enabled.filter(a=>a!==F),g.enabled.length!==a&&(f+=1,h=!0),0===g.enabled.length&&delete g.enabled}g.entries&&F in g.entries&&(delete g.entries[F],h=!0),0===Object.keys(g).length?e.delete("plugins"):e.set("plugins",g)}return h&&p(a,e),b=J(a),function(a){let b=J(a);try{return!(0,c.lstatSync)(b).isSymbolicLink()&&(0,c.existsSync)((0,d.resolve)(b,G))}catch{return!1}}(a)&&((0,c.rmSync)(b,{recursive:!0,force:!0}),1)&&(f+=1),f},hooksInstalledInSettings(a,b){let e=t(this,a,b);return e.length>0&&e.every(a=>(function(a){try{let b=function(a){if(!(0,c.existsSync)(a))return{pluginEnabled:!1,legacyShellHookPresent:!1};let b=o(a).toJS()??{},d=b.plugins?.enabled,e=!!b.hooks&&"object"==typeof b.hooks&&Object.values(b.hooks).some(a=>Array.isArray(a)&&a.some(a=>q(a)));return{pluginEnabled:Array.isArray(d)&&d.includes(F),legacyShellHookPresent:e}}(a);return b.pluginEnabled&&function(a){let b=J(a);try{if((0,c.lstatSync)(b).isSymbolicLink()||!(0,c.existsSync)((0,d.resolve)(b,G)))return!1;return H.every(a=>(0,c.existsSync)((0,d.resolve)(b,a)))}catch{return!1}}(a)&&!b.legacyShellHookPresent}catch{}return!1})(a))},detectInstalled:()=>s("hermes")},M="failproofai";function N(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,d.resolve)(a,"openclaw-plugin"):(0,d.resolve)((0,e.fileURLToPath)(l.url),"..","..","..","openclaw-plugin")}function O(a){return"string"==typeof a&&(/(?:^|\/)openclaw-plugin\/?$/.test(a)||a.includes("openclaw-plugin")&&a.includes("failproofai"))}let P={id:"openclaw",displayName:"OpenClaw",scopes:k.OPENCLAW_HOOK_SCOPES,eventTypes:k.OPENCLAW_HOOK_EVENT_TYPES,getSettingsPath:()=>(0,d.resolve)(j()[0].home,"openclaw.json"),getSettingsPaths:()=>j().map(a=>(0,d.resolve)(a.home,"openclaw.json")),readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:()=>({[k.FAILPROOFAI_HOOK_MARKER]:!0,_openclawPluginPath:N()}),isFailproofaiHook:a=>"string"==typeof a?O(a):!!a&&"object"==typeof a&&(!0===a[k.FAILPROOFAI_HOOK_MARKER]||"string"==typeof a.source&&O(a.source)),writeHookEntries(a){let b=a.plugins??={},c=b.load??={};Array.isArray(c.paths)||(c.paths=[]);let d=N(),e=c.paths.findIndex(a=>O(a));e>=0?c.paths[e]=d:c.paths.push(d);let f=b.entries??={},g=f[M]??={};g.enabled=!0,(g.hooks??={}).allowConversationAccess=!0},removeHooksFromFile(a){if(!(0,c.existsSync)(a))return 0;let b=this.readSettings(a),d=b.plugins;if(!d)return 0;let e=0;if(Array.isArray(d.load?.paths)){let a=d.load.paths.length;d.load.paths=d.load.paths.filter(a=>!O(a)),e+=a-d.load.paths.length,0===d.load.paths.length&&delete d.load.paths,d.load&&0===Object.keys(d.load).length&&delete d.load}return d.entries&&M in d.entries&&(delete d.entries[M],e+=1,0===Object.keys(d.entries).length&&delete d.entries),0===Object.keys(d).length&&delete b.plugins,this.writeSettings(a,b),e},hooksInstalledInSettings(a,b){let d=t(this,a,b);return d.length>0&&d.every(a=>{if(!(0,c.existsSync)(a))return!1;try{let b=this.readSettings(a),c=b.plugins?.load?.paths,d=Array.isArray(c)&&c.some(a=>O(a)),e=b.plugins?.entries?.[M]?.enabled===!0;return d&&e}catch{return!1}})},detectInstalled:()=>s("openclaw")},Q={id:"factory",displayName:"Factory Droid",scopes:k.FACTORY_HOOK_SCOPES,eventTypes:k.FACTORY_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".factory","hooks.json");case"project":case"local":return(0,d.resolve)(c,".factory","hooks.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli factory`:`"${a}" --hook ${b} --cli factory`,timeout:30,[k.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:q,writeHookEntries(a,b,c){for(let d of k.FACTORY_HOOK_EVENT_TYPES){let e=this.buildHookEntry(b,d,c);Array.isArray(a[d])||(a[d]=[]);let f=a[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>q(a));if(b>=0){a.hooks[b]=e,g=!0;break}}if(!g){let a="PreToolUse"===d||"PostToolUse"===d;f.push(a?{matcher:"*",hooks:[e]}:{hooks:[e]})}}},removeHooksFromFile(a){let b=this.readSettings(a),c=0;for(let a of Object.keys(b)){let d=b[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b||!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!q(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b[a]}}return this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(a&&a.hooks&&a.hooks.some(a=>q(a)))return!0}}catch{}return!1},detectInstalled:()=>s("droid")},R={id:"devin",displayName:"Devin CLI",scopes:k.DEVIN_HOOK_SCOPES,eventTypes:k.DEVIN_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".config","devin","config.json");case"project":case"local":return(0,d.resolve)(c,".devin","config.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli devin`:`"${a}" --hook ${b} --cli devin`,timeout:60,[k.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:q,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),k.DEVIN_HOOK_EVENT_TYPES)){let e=this.buildHookEntry(b,d,c);a.hooks[d]||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>q(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!q(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>q(a)))return!0}}catch{}return!1},detectInstalled:()=>s("devin")},S="failproofai",T=new Set(["PreToolUse","PostToolUse"]);function U(a){if(!a||"object"!=typeof a)return!1;let b=a.command;return"string"==typeof b&&b.includes("failproofai")&&b.includes("--cli goose")}let V={claude:u,codex:v,copilot:x,cursor:y,opencode:B,pi:E,hermes:L,openclaw:P,factory:Q,devin:R,antigravity:{id:"antigravity",displayName:"Antigravity CLI",scopes:k.ANTIGRAVITY_HOOK_SCOPES,eventTypes:k.ANTIGRAVITY_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".gemini","config","hooks.json");case"project":case"local":return(0,d.resolve)(c,".agents","hooks.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli antigravity`:`"${a}" --hook ${b} --cli antigravity`,timeout:30,[k.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:q,writeHookEntries(a,b,c){a[S]&&"object"==typeof a[S]||(a[S]={});let d=a[S];for(let a of k.ANTIGRAVITY_HOOK_EVENT_TYPES){let e=this.buildHookEntry(b,a,c);if(T.has(a)){Array.isArray(d[a])||(d[a]=[]);let b=d[a],c=!1;for(let a of b){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>q(a));if(b>=0){a.hooks[b]=e,c=!0;break}}c||b.push({matcher:"*",hooks:[e]})}else{Array.isArray(d[a])||(d[a]=[]);let b=d[a],c=b.findIndex(a=>q(a));c>=0?b[c]=e:b.push(e)}}},removeHooksFromFile(a){let b=this.readSettings(a),c=b[S];if(!c||"object"!=typeof c)return this.writeSettings(a,b),0;let d=0;for(let a of Object.keys(c)){let b=c[a];if(Array.isArray(b))if(T.has(a)){for(let a=b.length-1;a>=0;a--){let c=b[a];if(!c||!c.hooks)continue;let e=c.hooks.length;c.hooks=c.hooks.filter(a=>!q(a)),d+=e-c.hooks.length,0===c.hooks.length&&b.splice(a,1)}0===b.length&&delete c[a]}else{let e=b.length,f=b.filter(a=>!q(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}}return 0===Object.keys(c).length&&delete b[S],this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d)[S];if(!a||"object"!=typeof a)return!1;for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(q(a)||a&&Array.isArray(a.hooks)&&a.hooks.some(a=>q(a)))return!0}}catch{}return!1},detectInstalled:()=>s("agy")},goose:{id:"goose",displayName:"Goose",scopes:k.GOOSE_HOOK_SCOPES,eventTypes:k.GOOSE_HOOK_EVENT_TYPES,getSettingsPath(a,b){let c=b?(0,d.resolve)(b):process.cwd();switch(a){case"user":return(0,d.resolve)((0,f.homedir)(),".agents","plugins","failproofai","hooks","hooks.json");case"project":case"local":return(0,d.resolve)(c,".agents","plugins","failproofai","hooks","hooks.json")}},readSettings:a=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli goose`:`"${a}" --hook ${b} --cli goose`}),isFailproofaiHook:U,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),k.GOOSE_HOOK_EVENT_TYPES)){let e=this.buildHookEntry(b,d,c);Array.isArray(a.hooks[d])||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>U(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b||!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!U(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let d=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a&&a.hooks&&a.hooks.some(a=>U(a)))return!0}}catch{}return!1},detectInstalled:()=>s("goose")}};a.s(["claudeCode",0,u,"detectInstalledClis",0,function(){return k.INTEGRATION_TYPES.filter(a=>V[a]?.detectInstalled())},"getIntegration",0,function(a){let b=V[a];if(!b)throw Error(`"${a}" is audit-only — live-hook install is not supported for it yet. Installable: ${k.INTEGRATION_TYPES.filter(a=>void 0!==V[a]).join(", ")}`);return b},"listIntegrations",0,function(){return k.INTEGRATION_TYPES.map(a=>V[a]).filter(a=>void 0!==a)},"settingsPathsFor",0,t],67121)},9909,89790,a=>{"use strict";var b=a.i(66680),c=a.i(2157),d=a.i(50227),e=a.i(75818);function f(a,b){if(!b||(0,d.isAbsolute)(b))throw Error(`unsafe managed policy path ${JSON.stringify(b)}`);let e=(0,d.resolve)(a,b),f=(0,d.relative)(a,e);if(f.startsWith("..")||(0,d.isAbsolute)(f))throw Error(`managed policy path escapes its root: ${JSON.stringify(b)}`);let g=(0,c.realpathSync)(a),h=(0,c.realpathSync)(e),i=(0,d.relative)(g,h);if(i.startsWith("..")||(0,d.isAbsolute)(i))throw Error(`managed policy symlink escapes its root: ${JSON.stringify(b)}`);return h}a.s(["resolveManagedPath",0,f],89790);let g=[1],h=/^[a-f0-9]{64}$/,i=/^[A-Za-z0-9._-]{1,64}\/[A-Za-z0-9._-]{1,64}$/,j=/^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$/,k=/^[0-9a-f]{7,40}$/,l=/^[A-Za-z0-9._-]{1,128}$/;function m(){return process.env.FAILPROOFAI_PACK_DIR??(0,e.packsDir)()}function n(a){if("string"!=typeof a.id||!i.test(a.id))throw Error(`unsafe pack id ${JSON.stringify(a.id)}`);if("string"!=typeof a.version||!j.test(a.version))throw Error(`invalid version for pack ${a.id}`);if(void 0!==a.effect&&"enforce"!==a.effect&&"observe"!==a.effect)throw Error(`unknown effect ${JSON.stringify(a.effect)} for pack ${a.id}`);let b="string"==typeof a.commit&&k.test(a.commit.trim().toLowerCase())?a.commit.trim().toLowerCase():void 0;return{id:a.id,version:a.version,effect:a.effect??"enforce",...b?{commit:b}:{}}}function o(){return process.env.FAILPROOFAI_PACK_DIR?(0,d.resolve)(process.env.FAILPROOFAI_PACK_DIR,"installed.json"):(0,e.packsInstalledFile)()}function p(a,b,c){let d=`${a} policy #${c}`;if(!b||"object"!=typeof b)throw Error(`${d} is not an object`);let e=b.name;if("string"!=typeof e||!l.test(e))throw Error(`${d} has an unsafe name ${JSON.stringify(e)}`);if("alwaysOn"in b)throw Error(`${d} declares alwaysOn, which packs may not set`);if("string"!=typeof b.description||0===b.description.length)throw Error(`${d} is missing a description`);if("string"!=typeof b.category||0===b.category.length)throw Error(`${d} is missing a category`);if("boolean"!=typeof b.defaultEnabled)throw Error(`${d} is missing defaultEnabled`);if(!b.match||"object"!=typeof b.match)throw Error(`${d} is missing a match`);let f=b.match;for(let a of["events","toolNames"]){let b=f[a];if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a||0===a.length)))throw Error(`${d} has a match.${a} that is not a list of names`)}return b}function q(a){return a instanceof Error?a.message:String(a)}a.s(["PACK_COMMIT_RE",0,k,"hasInstalledPacks",0,function(){try{let a=JSON.parse((0,c.readFileSync)(o(),"utf8"));return Array.isArray(a.packs)&&a.packs.length>0}catch{return!1}},"packsRoot",0,m,"parsePackIdentity",0,n,"parsePackPolicy",0,p,"readInstalledPacks",0,function(){let a,d=o();if(!(0,c.existsSync)(d))return{packs:[],errors:[]};try{a=JSON.parse((0,c.readFileSync)(d,"utf8"))}catch(a){return{packs:[],errors:[{id:null,reason:`unreadable pack manifest: ${q(a)}`}]}}if(!a||"object"!=typeof a)return{packs:[],errors:[{id:null,reason:"pack manifest is not an object"}]};let e=a;if(!g.includes(e.schemaVersion))return{packs:[],errors:[{id:null,reason:`unsupported pack manifest schema ${String(e.schemaVersion)} (supported: ${g.join(", ")})`}]};if(!Array.isArray(e.packs))return{packs:[],errors:[{id:null,reason:"pack manifest packs is not an array"}]};let i=m(),j=[],k=[],l=new Set;for(let a of e.packs){let d=a&&"object"==typeof a&&"string"==typeof a.id?a.id:null;try{let d=function(a,d){if(!d||"object"!=typeof d)throw Error("pack entry is not an object");let e=n(d);if("string"!=typeof d.source||0===d.source.length)throw Error(`pack ${d.id} has no source`);if("string"!=typeof d.sha256||!h.test(d.sha256))throw Error(`invalid SHA-256 for pack ${d.id}`);let g=e.effect,i=f(a,d.entry),j=(0,b.createHash)("sha256").update((0,c.readFileSync)(i)).digest("hex");if(j!==d.sha256)throw Error(`pack ${d.id} failed integrity verification: expected ${d.sha256}, got ${j}`);if(!Array.isArray(d.policies))throw Error(`pack ${d.id} policies is not an array`);let k=d.policies.map((a,b)=>p(d.id,a,b)),l=new Set;for(let a of k){if(l.has(a.name))throw Error(`pack ${d.id} declares ${a.name} twice`);l.add(a.name)}let m=null;if(void 0!==d.enabled){if(!Array.isArray(d.enabled)||d.enabled.some(a=>"string"!=typeof a))throw Error(`pack ${d.id} enabled is not an array of names`);m=d.enabled.filter(a=>l.has(a))}let o=null;if(void 0!==d.clis){if(!Array.isArray(d.clis)||d.clis.some(a=>"string"!=typeof a))throw Error(`pack ${d.id} clis is not an array of agent names`);o=d.clis}return{clis:o,id:e.id,version:e.version,source:d.source,path:i,sha256:d.sha256,effect:g,policies:k,enabled:m}}(i,a);if(l.has(d.id))throw Error(`duplicate pack id ${d.id}`);l.add(d.id),j.push(d)}catch(c){let b=a&&("observe"===a.effect||"enforce"===a.effect)?a.effect:"enforce";k.push({id:d,reason:q(c),effect:b,...Array.isArray(a?.policies)?{declared:function(a){let b=[];for(let c of a)c&&"object"==typeof c&&"string"==typeof c.name&&c.match&&"object"==typeof c.match&&b.push(c);return b}(a.policies)}:{},...Array.isArray(a?.clis)&&a.clis.every(a=>"string"==typeof a)?{clis:a.clis}:{}})}}return{packs:j,errors:k}}],9909)},17280,a=>{"use strict";var b=a.i(66680),c=a.i(2157),d=a.i(50227),e=a.i(9909);let f="failproofai-pack.json",g="failproofai-pack.mjs",h="SHA256SUMS";function i(){return(process.env.FAILPROOFAI_PACK_BASE_URL||"https://github.com").replace(/\/+$/,"")}let j=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,k=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,127}$/,l="FailproofAI/policies",m=new Set(["core","failproofai","official"]);function n(a){let b=a.trim();if(0===b.length)throw Error("pack source is empty");let c=b.match(/^(?:https?:\/\/)?(?:www\.)?github\.com\/(.+)$/i);if(c){let[a,b,...d]=c[1].replace(/\/+$/,"").split("/"),e=null;if("releases"===d[0]&&("tag"===d[1]||"download"===d[1])){let a=d.slice(2);e=("download"===d[1]?a.slice(0,-1):a).join("/")||null}else"releases"===d[0]&&"latest"===d[1]&&(e=null);return o(a,b,e)}let d=b.replace(/^github:/i,""),e=d.lastIndexOf("@"),f=e>0?d.slice(0,e):d,g=e>0?d.slice(e+1):null,h=f.indexOf("/");if(h<=0||h===f.length-1){if(m.has(f.trim().toLowerCase()))throw Error(`${JSON.stringify(a)} is no longer a pack name — ours is a pack like anyone else's now. Use ${l} instead.`);throw Error(`pack source must be owner/repo, owner/repo@tag, or a github.com URL — got ${JSON.stringify(a)}`)}return o(f.slice(0,h),f.slice(h+1),g)}function o(a,b,c){if(!a||!j.test(a))throw Error(`unsafe owner ${JSON.stringify(a)}`);if(!b||!j.test(b))throw Error(`unsafe repo ${JSON.stringify(b)}`);if(null!==c&&!k.test(c))throw Error(`unsafe tag ${JSON.stringify(c)}`);return{owner:a,repo:b,tag:c}}async function p(a){let b=`${i()}/${a.owner}/${a.repo}/releases/latest`,c=await fetch(b,{signal:AbortSignal.timeout(3e4),redirect:"manual"}),d=c.headers.get("location");if(!d)throw Error(`could not resolve the newest release of ${a.owner}/${a.repo} (GET ${b} returned ${c.status} with no redirect). That redirect is issued only for a published, non-prerelease release, so either the repository has no releases at all or every release it has is a prerelease or a draft. Name a tag explicitly.`);let e=d.match(/\/releases\/tag\/(.+)$/);if(!e)throw Error(`unexpected redirect from ${b}: ${d}`);let f=decodeURIComponent(e[1]).replace(/\/+$/,"");if(!k.test(f))throw Error(`unsafe tag ${JSON.stringify(f)} from ${b}`);return f}async function q(b,c){let d,e=c.toLowerCase(),f=`${(process.env.FAILPROOFAI_GITHUB_API??"https://api.github.com").replace(/\/+$/,"")}/repos/${b.owner}/${b.repo}/releases?per_page=100`;try{let a=(process.env.GITHUB_TOKEN||process.env.GH_TOKEN||"").trim(),b=await fetch(f,{headers:{...a?{Authorization:`Bearer ${a}`}:{},Accept:"application/vnd.github+json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"failproofai"},signal:AbortSignal.timeout(3e4),redirect:"follow"});if(!b.ok)throw Error(`GET ${f} returned ${b.status}`);d=await b.json()}catch(a){throw Error(`could not resolve commit ${c} in ${b.owner}/${b.repo}: ${G(a)}. Name the release tag instead if you know it.`)}let{parseReleaseBody:g}=await a.A(49679),h=Array.isArray(d)?d:[],i=[];for(let a of h){let b="string"==typeof a.tag_name?a.tag_name:"";if(!b||!k.test(b))continue;let c=g("string"==typeof a.body?a.body:"");c.commit&&c.commit.startsWith(e)&&i.push({tag:b,commit:c.commit})}if(i.length>1)throw Error(`commit ${c} matches ${i.length} releases of ${b.owner}/${b.repo}: `+i.map(a=>`${a.tag} (${a.commit})`).join(", ")+". Name one of those tags, or type more of the commit.");return 1===i.length?i[0].tag:null}async function r(a){return null===a.tag?p(a):e.PACK_COMMIT_RE.test(a.tag)?await q(a,a.tag)??a.tag:a.tag}function s(a){return`github:${a.owner}/${a.repo}@${a.tag}`}function t(a,b){return`${i()}/${a.owner}/${a.repo}/releases/download/${a.tag}/${b}`}async function u(a){let b=await fetch(a,{signal:AbortSignal.timeout(3e4),redirect:"follow"});if(!b.ok)throw Error(`GET ${a} returned ${b.status}`);let c=b.headers.get("content-length");if(null!==c){let d=Number(c);if(Number.isFinite(d)&&d>8388608)throw await b.body?.cancel(),Error(`${a} declares ${d} bytes, over the 8388608 limit`)}if(!b.body)return Buffer.alloc(0);let d=[],e=b.body.getReader(),f=0;try{for(;;){let{done:b,value:c}=await e.read();if(b)break;if((f+=c.byteLength)>8388608)throw await e.cancel(),Error(`${a} is over the 8388608 byte limit`);d.push(Buffer.from(c))}}finally{e.releaseLock()}return Buffer.concat(d,f)}function v(a,b){for(let c of a.split("\n")){let a=c.trim().match(/^([0-9a-f]{64})\s+\*?(.+)$/i);if(a&&a[2].trim()===b)return a[1].toLowerCase()}return null}function w(a){return(0,b.createHash)("sha256").update(a).digest("hex")}function x(a,b){let e=`${a}.${process.pid}.tmp`;try{(0,c.mkdirSync)((0,d.dirname)(a),{recursive:!0}),(0,c.writeFileSync)(e,b),(0,c.renameSync)(e,a)}catch(a){throw(0,c.rmSync)(e,{force:!0}),a}}async function y(a,b={}){let c=await D(a,b);return{id:c.id,version:c.version,enabled:c.enabled,available:c.available,bundled:!1,source:c.source,tag:c.tag,resolvedFromLatest:c.resolvedFromLatest,selection:c.selection,categories:c.categories}}async function z(a){let b;if("1"===process.env.FAILPROOFAI_NO_DOWNLOAD)throw Error("FAILPROOFAI_NO_DOWNLOAD is set, so nothing can be fetched to preview");let c=n(a),d=null===c.tag,g={...c,tag:await r(c)},i=(await u(t(g,h))).toString("utf8"),j=await u(t(g,f)),k=v(i,f);if(!k)throw Error(`${h} has no entry for ${f}`);if(w(j)!==k)throw Error(`${f} failed integrity verification`);try{b=JSON.parse(j.toString("utf8"))}catch(a){throw Error(`${f} is not valid JSON: ${G(a)}`)}if(!b||"object"!=typeof b)throw Error(`${f} is not an object`);let l=b,m=(0,e.parsePackIdentity)(l);if(!Array.isArray(l.policies)||0===l.policies.length)throw Error("pack manifest declares no policies");return{id:m.id,version:m.version,effect:m.effect,...m.commit?{commit:m.commit}:{},policies:l.policies.map((a,b)=>(0,e.parsePackPolicy)(m.id,a,b)),source:s(g),resolvedFromLatest:d}}async function A(a){let b,c=(await u(t(a,h))).toString("utf8"),d=await u(t(a,f)),i=v(c,f);if(!i)throw Error(`${h} has no entry for ${f}`);if(w(d)!==i)throw Error(`${f} failed integrity verification`);let j=await u(t(a,g)),k=v(c,g);if(!k)throw Error(`${h} has no entry for ${g}`);let l=w(j);if(l!==k)throw Error(`${g} failed integrity verification`);try{b=JSON.parse(d.toString("utf8"))}catch(a){throw Error(`${f} is not valid JSON: ${G(a)}`)}if(!b||"object"!=typeof b)throw Error(`${f} is not an object`);let m=b,n=(0,e.parsePackIdentity)(m);if(!Array.isArray(m.policies)||0===m.policies.length)throw Error("pack manifest declares no policies");let o=m.policies.map((a,b)=>(0,e.parsePackPolicy)(n.id,a,b));return{id:n.id,version:n.version,policies:o,...void 0!==m.effect?{effect:n.effect}:{},...n.commit?{commit:n.commit}:{},artifact:j,artifactDigest:l}}function B(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}async function C(b,c){let d,{loadCustomHooks:e}=await a.A(6188);try{d=(await e(b,{strict:!0})).map(a=>a.name)}catch(a){throw Error(`its artifact could not be loaded: ${a instanceof Error?a.message:String(a)}`)}let f=c.filter(a=>!d.includes(a)),g=d.filter(a=>!c.includes(a));if(f.length>0)throw Error(`its manifest declares ${f.join(", ")} but the artifact does not register ${1===f.length?"it":"them"} — that would install as protection that never runs`);if(g.length>0)throw Error(`its artifact registers undeclared ${g.join(", ")} — a policy that enforces but appears in no listing cannot be reviewed or switched off`)}async function D(a,b){var f,g,h,i;let j,k;if(process.env.FAILPROOFAI_NO_DOWNLOAD)throw Error("pack downloads are disabled (FAILPROOFAI_NO_DOWNLOAD). Already-installed packs keep enforcing.");let l=n(a),m={...l,tag:await r(l)},o=null===l.tag,p=await A(m);if(f=m.tag,g=p.version,(j=f.slice(f.lastIndexOf("/")+1))!==g&&j!==`v${g}`){let a=m.tag.slice(m.tag.lastIndexOf("/")+1).replace(/^v/,""),b=`re-tag the release ${p.version} (a leading v is fine), or rebuild the pack with --version ${a}`;throw Error(`${p.id} was not installed: release tag ${m.tag} does not match the version its manifest declares (${p.version}). `+(o?`That is the newest release of ${m.owner}/${m.repo}, so the release and the pack disagree at the source — ask the publisher to ${b}.`:`Name the tag whose manifest says ${p.version}, or fix the pack: ${b}.`))}let q=p.policies.map(a=>a.name),t=(h=p.id,i=p.artifactDigest,(k=(0,e.readInstalledPacks)().packs).find(a=>a.id===h)??k.find(a=>a.sha256===i)),{enabled:u,reason:v}=function(a,b,c,d){let e=a.map(a=>a.name);if(b?.all)return{enabled:null,reason:"all"};let f=new Set;if(b?.categories?.length){let c=new Set(b.categories.map(B)),d=new Map(a.map(a=>[B(a.category),a.category])),e=[...c].filter(a=>!d.has(a));if(e.length>0)throw Error(`no such categor${1===e.length?"y":"ies"}: ${e.join(", ")} (has: ${[...new Set(a.map(a=>B(a.category)))].join(", ")})`);for(let b of a)c.has(B(b.category))&&f.add(b.name)}if(b?.only?.length){let a=b.only.filter(a=>!e.includes(a));if(a.length>0)throw Error(`pack does not contain ${a.join(", ")}`);for(let a of b.only)f.add(a)}if(b?.only!==void 0||b?.categories?.length){if(b.merge&&d){if(null===c)return{enabled:null,reason:"carried"};for(let a of c??[])f.add(a);return{enabled:e.filter(a=>f.has(a)),reason:"added"}}return{enabled:e.filter(a=>f.has(a)),reason:"selected"}}return d?{enabled:null===c?null:c??null,reason:"carried"}:{enabled:a.filter(a=>a.defaultEnabled).map(a=>a.name),reason:"defaults"}}(p.policies,b,t?.enabled?t.enabled.filter(a=>q.includes(a)):t?.enabled,!!t),w=(0,e.packsRoot)(),y=`artifacts/${p.artifactDigest}.mjs`,z=(0,d.resolve)(w,y);(0,c.existsSync)(z)||x(z,p.artifact);try{await C(z,q)}catch(a){throw Error(`${p.id}@${p.version} was not installed: ${a instanceof Error?a.message:String(a)}`)}let D=a=>{let b=a.lastIndexOf("@");return b>a.indexOf(":")?a.slice(0,b):a};if(t&&t.id===p.id&&!t.source.startsWith("bundled:")&&D(t.source)!==D(s(m)))throw Error(`pack id ${p.id} is already installed from ${t.source}. Refusing to replace it with ${s(m)} — remove it first if that is what you mean.`);let E={id:p.id,version:p.version,source:s(m),entry:y,sha256:p.artifactDigest,policies:p.policies,...p.commit?{commit:p.commit}:{},...p.effect?{effect:p.effect}:{},...u?{enabled:u}:{},...b?.clis?{clis:b.clis}:b?.merge!==!1&&t?.clis?{clis:t.clis}:{}};return{replaced:function(a,b=!0){let f=(0,d.resolve)((0,e.packsRoot)(),"installed.json"),g=[];if((0,c.existsSync)(f))try{let a=JSON.parse((0,c.readFileSync)(f,"utf8"));Array.isArray(a.packs)&&(g=a.packs)}catch{throw Error(`existing pack manifest at ${f} is unreadable; move it aside and re-add`)}let h=g.filter(b=>b?.sha256===a.sha256&&b?.id!==a.id).map(a=>a.id);if(b&&!a.enabled){let b=g.find(a=>h.includes(a?.id)),c=b?.enabled?.filter(b=>a.policies?.some(a=>a?.name===b));c&&c.length>0&&(a.enabled=c)}let i=g.filter(a=>!h.includes(a?.id)),j=i.findIndex(b=>b?.id===a.id);return j>=0?i[j]=a:i.push(a),x(f,JSON.stringify({schemaVersion:1,packs:i},null,2)+"\n"),h}(E,"all"!==v),id:p.id,version:p.version,source:E.source,tag:m.tag,resolvedFromLatest:o,enabled:u??q,available:q,selection:v,categories:[...new Set(p.policies.map(a=>B(a.category)))],artifact:z}}function E(a){let b=a.trim(),c=b.lastIndexOf("@");return(c>0?b.slice(0,c):b).trim()}class F extends Error{candidates;constructor(a,b){super(`${b} matches ${a.length} installed packs: ${a.join(", ")}. Name one of them exactly.`),this.candidates=a,this.name="AmbiguousPackId"}}function G(a){return a instanceof Error?a.message:String(a)}a.s(["CORE_SOURCE",0,l,"PACK_CHECKSUMS_ASSET",0,h,"PACK_ENTRY_ASSET",0,g,"PACK_MANIFEST_ASSET",0,f,"addPack",0,D,"addPackFromSource",0,y,"fetchPackPreview",0,z,"removePack",0,function(a){let b,f=(0,d.resolve)((0,e.packsRoot)(),"installed.json");if(!(0,c.existsSync)(f))return null;try{b=JSON.parse((0,c.readFileSync)(f,"utf8"))}catch{return null}let g=Array.isArray(b.packs)?b.packs:[],h=g.find(b=>b?.id===E(a)),i=g.filter(b=>{var c;return b?.id&&(c=b.id,E(c).toLowerCase()===E(a).toLowerCase())});if(!h&&i.length>1)throw new F(i.map(a=>a.id).filter(a=>"string"==typeof a),a);let j=h??i[0],k=g.filter(a=>a!==j);return j&&k.length!==g.length?(x(f,JSON.stringify({schemaVersion:1,packs:k},null,2)+"\n"),j.id):null},"setPackPolicyEnabled",0,function(a,b,f){let g,h=(0,d.resolve)((0,e.packsRoot)(),"installed.json");if(!(0,c.existsSync)(h))return{ok:!1,reason:"no packs are installed"};try{g=JSON.parse((0,c.readFileSync)(h,"utf8"))}catch{return{ok:!1,reason:`pack manifest at ${h} is unreadable`}}let i=Array.isArray(g.packs)?g.packs:[],j=i.find(b=>b?.id===a);if(!j)return{ok:!1,reason:`no installed pack with id ${a}`};let k=(Array.isArray(j.policies)?j.policies:[]).map(a=>"string"==typeof a?.name?a.name:null).filter(a=>null!==a);if(!k.includes(b))return{ok:!1,reason:`pack ${a} declares no policy named ${b}`};let l=j.enabled??k,m=f?[...new Set([...l,b])]:l.filter(a=>a!==b);return j.enabled=k.filter(a=>m.includes(a)),x(h,JSON.stringify({schemaVersion:1,packs:i},null,2)+"\n"),{ok:!0}}])},1459,a=>{"use strict";a.i(1457);Symbol("failproofai.back"),Object.values({on:"✓ ON",off:"· OFF",mixed:"◐ MIXED",locked:"✓ LOCK",cloud:"✓ CLOUD",pack:"✓ PACK",failed:"▲ FAIL",observe:"◉ OBS"}).map(a=>a.length),a.s([])},91997,a=>{"use strict";let b=["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PermissionRequest","PermissionDenied","PostToolUse","PostToolUseFailure","Notification","SubagentStart","SubagentStop","TaskCreated","TaskCompleted","Stop","StopFailure","TeammateIdle","InstructionsLoaded","ConfigChange","CwdChanged","FileChanged","WorktreeCreate","WorktreeRemove","PreCompact","PostCompact","Elicitation","ElicitationResult","UserPromptExpansion","PostToolBatch","Setup"].filter(a=>"WorktreeCreate"!==a);a.s(["ANTIGRAVITY_HOOK_EVENT_TYPES",0,["PreToolUse","PostToolUse","PreInvocation","Stop"],"ANTIGRAVITY_HOOK_SCOPES",0,["user","project"],"CLAUDE_INSTALL_EVENT_TYPES",0,b,"CODEX_EVENT_MAP",0,{session_start:"SessionStart",pre_tool_use:"PreToolUse",permission_request:"PermissionRequest",post_tool_use:"PostToolUse",user_prompt_submit:"UserPromptSubmit",stop:"Stop",subagent_start:"SubagentStart",pre_compact:"PreCompact",post_compact:"PostCompact",subagent_stop:"SubagentStop"},"CODEX_HOOK_EVENT_TYPES",0,["session_start","pre_tool_use","permission_request","post_tool_use","user_prompt_submit","stop","subagent_start","pre_compact","post_compact","subagent_stop"],"CODEX_HOOK_SCOPES",0,["user","project"],"COPILOT_HOOK_EVENT_TYPES",0,["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PostToolUse","Stop","SubagentStop","PostToolUseFailure","ErrorOccurred","PreCompact","PermissionRequest","Notification"],"COPILOT_HOOK_SCOPES",0,["user","project"],"CURSOR_HOOK_EVENT_TYPES",0,["sessionStart","sessionEnd","beforeSubmitPrompt","preToolUse","postToolUse","stop","subagentStop"],"CURSOR_HOOK_SCOPES",0,["user","project"],"DEVIN_HOOK_EVENT_TYPES",0,["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","PermissionRequest","Stop","SessionEnd"],"DEVIN_HOOK_SCOPES",0,["user","project"],"FACTORY_HOOK_EVENT_TYPES",0,["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","Notification","Stop","SubagentStop","PreCompact","SessionEnd"],"FACTORY_HOOK_SCOPES",0,["user","project"],"FAILPROOFAI_HOOK_MARKER",0,"__failproofai_hook__","GOOSE_HOOK_EVENT_TYPES",0,["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","SessionEnd"],"GOOSE_HOOK_SCOPES",0,["user","project"],"HERMES_HOOK_EVENT_TYPES",0,["pre_tool_call","post_tool_call","on_session_start","on_session_end","subagent_stop"],"HERMES_HOOK_SCOPES",0,["user"],"HOOK_SCOPES",0,["user","project","local"],"INTEGRATION_TYPES",0,["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],"OPENCLAW_HOOK_EVENT_TYPES",0,["before_tool_call","after_tool_call","before_agent_run","before_agent_finalize","session_start","session_end","subagent_ended","before_compaction"],"OPENCLAW_HOOK_SCOPES",0,["user"],"OPENCODE_HOOK_EVENT_TYPES",0,["tool.execute.before","tool.execute.after","session.created","session.deleted","session.idle","message.updated","permission.ask"],"OPENCODE_HOOK_SCOPES",0,["user","project"],"PI_HOOK_EVENT_TYPES",0,["session_start","session_shutdown","input","tool_call","user_bash","tool_result","agent_end"],"PI_HOOK_SCOPES",0,["user","project"]])}];
|
|
231
231
|
|
|
232
232
|
//# sourceMappingURL=_1es2j7i._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[21776,a=>{"use strict";var b=a.i(36359),c=a.i(7292);a.s([],84740),a.i(84740),a.s(["
|
|
1
|
+
module.exports=[21776,a=>{"use strict";var b=a.i(36359),c=a.i(7292);a.s([],84740),a.i(84740),a.s(["0063ba1faacd4a7cc66db2f7fccfcddfbe72075409",()=>b.getTelemetryConfig,"60919da84d588b64e3316bc6c331b436bf613d0424",()=>c.searchHookActivityAction],21776)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0vmspq5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_1u8-lu2._.js.map
|