failproofai 1.0.2-beta.7 → 1.0.2-beta.9
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 +3 -3
- 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 +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/audit/invite/route.js +3 -2
- 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 +4 -3
- 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 +2 -2
- 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 +4 -3
- 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 +4 -4
- 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 +4 -4
- 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 +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- 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 +6 -5
- 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.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]__0-9ti7z._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[externals]__1qzqcio._.js → [externals]__0sg9-3p._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[externals]__0u3wrvq._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01eqny5._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1p8poxd._.js → [root-of-the-server]__0igxt32._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o07qi9._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zlqo2t._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1anxb5k._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1le9jqc._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1p-qi2t._.js +5 -0
- package/.next/standalone/.next/server/chunks/_09dz7xv._.js +27 -0
- package/.next/standalone/.next/server/chunks/_0bs-v8p._.js +3 -0
- package/.next/standalone/.next/server/chunks/_0tovk6q._.js +3 -0
- package/.next/standalone/.next/server/chunks/_0trp3yc._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_19uwam-._.js → _1-akg6w._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_185gyk9._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1ek68ln._.js +5 -7
- package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_09d5c79._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_04op_ou._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_1d2g73o._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_0dr20uz._.js} +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_hooks_0iu54mz._.js +3 -0
- package/.next/standalone/.next/server/chunks/src_hooks_custom-hooks-loader_ts_0lnb3n3._.js +10 -0
- package/.next/standalone/.next/server/chunks/src_hooks_fp-home_ts_09kv0bn._.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]__0n_lxhg._.js +5 -0
- 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]__1jjjg6g._.js → [root-of-the-server]__1_7n3xe._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1p2otjt._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_1uvml5y._.js → _0b6xubz._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07gm3zl._.js → _1es2j7i._.js} +7 -21
- package/.next/standalone/.next/server/chunks/ssr/{_0_nsohj._.js → _1pj-r7q._.js} +2 -2
- 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 +17 -0
- 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_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/src_hooks_1cv9_c4._.js +10 -0
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_builtin-policies_ts_09j2ndl._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_pack-cli_ts_0t7me65._.js +3 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
- package/.next/standalone/.next/server/middleware.js +1 -1
- 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/{3swqstog1cd9u.js → 06zoac_7ffkus.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0icodhlwr9x_e.js → 0bshgqm5waivd.js} +2 -2
- package/.next/standalone/.next/static/chunks/{2-9lvhuto1iwo.js → 13grq7pifzvu5.js} +1 -1
- package/.next/standalone/.next/static/chunks/{3i8rg2fv9nd6e.js → 16pmxmg9x48ob.js} +1 -1
- package/.next/standalone/.next/static/chunks/{44oamw33aso19.js → 1da7-a7ek66uy.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1d6c85605lsgp.js → 1fg7drro5kle-.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0tvmd0p_1i_g6.js → 1opyu56l4cdfk.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1d7o3wnt3h6se.js → 1p-o1i0lyt9un.js} +1 -1
- package/.next/standalone/.next/static/chunks/{3vqddiy9tvlwf.js → 2mfojtsy214sf.js} +1 -1
- package/.next/standalone/.next/static/chunks/{3jt6n16p2qpex.js → 32jj4qy40hln_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1vzyn9h2kvj-i.js → 3ww5ik9eo_1b_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1mfzsja6ftim5.css → 40nr6ehj4p3cw.css} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-2x-o099q64i8h.js → turbopack-1gehh2qpjyj5_.js} +1 -1
- package/.next/standalone/app/actions/get-hooks-config.ts +8 -1
- package/.next/standalone/app/actions/pack-actions.ts +12 -1
- package/.next/standalone/app/policies/hooks-client.tsx +41 -4
- package/.next/standalone/fp-cloud-cli/tests/test_pagination.py +204 -0
- package/.next/standalone/package.json +9 -9
- package/.next/standalone/server.js +1 -1
- package/bin/failproofai.mjs +57 -13
- package/dist/cli.mjs +23076 -20000
- package/dist/worker.mjs +1252 -542
- package/package.json +9 -9
- package/scripts/build-policy-pack.mjs +28 -4
- package/src/audit/index.ts +24 -4
- package/src/hooks/builtin-policies.ts +933 -8
- package/src/hooks/custom-hooks-loader.ts +98 -8
- package/src/hooks/handler.ts +26 -14
- package/src/hooks/manager.ts +36 -2
- package/src/hooks/pack-cli.ts +1224 -121
- package/src/hooks/pack-failclosed.ts +100 -4
- package/src/hooks/pack-manifest.ts +63 -1
- package/src/hooks/pack-param-key.ts +36 -0
- package/src/hooks/pack-store.ts +309 -25
- package/src/hooks/policy-catalog.ts +9 -1
- package/src/hooks/policy-evaluator.ts +77 -1
- package/src/hooks/tui.ts +21 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06cuf1y._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_usx0j._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_zk340._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jnjf2t._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oy4kxb._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zf034w._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1tg4pu6._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0lxbzdq._.js +0 -3
- package/.next/standalone/.next/server/chunks/_1zuiiy3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mgrjnx._.js +0 -10
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1opxw-7._.js +0 -5
- /package/.next/standalone/.next/static/{PKwyBPAHjy3DB8qqapaH4 → BFSuuqOY0YU7NpThROqre}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{PKwyBPAHjy3DB8qqapaH4 → BFSuuqOY0YU7NpThROqre}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{PKwyBPAHjy3DB8qqapaH4 → BFSuuqOY0YU7NpThROqre}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[5365,(a,b,c)=>{b.exports=a.x("process",()=>require("process"))},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)}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=`
|
|
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}
|
|
@@ -12,7 +12,7 @@ ${c.indent}`:"\n"===A&&l&&(A="\n\n")}else if(!u&&d.isCollection(b)){let a=z[0],d
|
|
|
12
12
|
${c.indent}`)}}else(""===z||"\n"===z[0])&&(A="");return x+=A+z,c.inFlow?y&&h&&h():l&&!y?x+=g.lineComment(x,c.indent,q(l)):w&&i&&i(),x}},18114,(a,b,c)=>{"use strict";var d=a.r(5365);c.debug=function(a,...b){"debug"===a&&console.log(...b)},c.warn=function(a,b){("debug"===a||"warn"===a)&&("function"==typeof d.emitWarning?d.emitWarning(b):console.warn(b))}},57876,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(27853);let f={identify:a=>"<<"===a||"symbol"==typeof a&&"<<"===a.description,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new e.Scalar(Symbol("<<")),{addToJSMap:g}),stringify:()=>"<<"};function g(a,b,c){let e=i(a,c);if(d.isSeq(e))for(let c of e.items)h(a,b,c);else if(Array.isArray(e))for(let c of e)h(a,b,c);else h(a,b,e)}function h(a,b,c){let e=i(a,c);if(!d.isMap(e))throw Error("Merge sources must be maps or map aliases");for(let[c,d]of e.toJSON(null,a,Map))b instanceof Map?b.has(c)||b.set(c,d):b instanceof Set?b.add(c):Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{value:d,writable:!0,enumerable:!0,configurable:!0});return b}function i(a,b){return a&&d.isAlias(b)?b.resolve(a.doc,a):b}c.addMergeToJSMap=g,c.isMergeKey=(a,b)=>(f.identify(b)||d.isScalar(b)&&(!b.type||b.type===e.Scalar.PLAIN)&&f.identify(b.value))&&a?.doc.schema.tags.some(a=>a.tag===f.tag&&a.default),c.merge=f},98155,(a,b,c)=>{"use strict";var d=a.r(18114),e=a.r(57876),f=a.r(7687),g=a.r(27267),h=a.r(94);c.addPairToJSMap=function(a,b,{key:c,value:i}){if(g.isNode(c)&&c.addToJSMap)c.addToJSMap(a,b,i);else if(e.isMergeKey(a,c))e.addMergeToJSMap(a,b,i);else{let e=h.toJS(c,"",a);if(b instanceof Map)b.set(e,h.toJS(i,e,a));else if(b instanceof Set)b.add(e);else{let j=function(a,b,c){if(null===b)return"";if("object"!=typeof b)return String(b);if(g.isNode(a)&&c?.doc){let b=f.createStringifyContext(c.doc,{});for(let a of(b.anchors=new Set,c.anchors.keys()))b.anchors.add(a.anchor);b.inFlow=!0,b.inStringifyKey=!0;let e=a.toString(b);if(!c.mapKeyWarned){let a=JSON.stringify(e);a.length>40&&(a=a.substring(0,36)+'..."'),d.warn(c.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${a}. Set mapAsMap: true to use object keys.`),c.mapKeyWarned=!0}return e}return JSON.stringify(b)}(c,e,a),k=h.toJS(i,j,a);j in b?Object.defineProperty(b,j,{value:k,writable:!0,enumerable:!0,configurable:!0}):b[j]=k}}return b}},17602,(a,b,c)=>{"use strict";var d=a.r(10882),e=a.r(5850),f=a.r(98155),g=a.r(27267);class h{constructor(a,b=null){Object.defineProperty(this,g.NODE_TYPE,{value:g.PAIR}),this.key=a,this.value=b}clone(a){let{key:b,value:c}=this;return g.isNode(b)&&(b=b.clone(a)),g.isNode(c)&&(c=c.clone(a)),new h(b,c)}toJSON(a,b){let c=b?.mapAsMap?new Map:{};return f.addPairToJSMap(b,c,this)}toString(a,b,c){return a?.doc?e.stringifyPair(this,a,b,c):JSON.stringify(this)}}c.Pair=h,c.createPair=function(a,b,c){return new h(d.createNode(a,void 0,c),d.createNode(b,void 0,c))}},11144,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(7687),f=a.r(53074);function g({indent:a,options:{commentString:b}},c,d,e){if(d&&e&&(d=d.replace(/^\n+/,"")),d){let e=f.indentComment(b(d),a);c.push(e.trimStart())}}c.stringifyCollection=function(a,b,c){return(b.inFlow??a.flow?function({items:a},b,{flowChars:c,itemIndent:h}){let{indent:i,indentStep:j,flowCollectionPadding:k,options:{commentString:l}}=b,m=Object.assign({},b,{indent:h+=j,inFlow:!0,type:null}),n=!1,o=0,p=[];for(let c=0;c<a.length;++c){let i=a[c],j=null;if(d.isNode(i))i.spaceBefore&&p.push(""),g(b,p,i.commentBefore,!1),i.comment&&(j=i.comment);else if(d.isPair(i)){let a=d.isNode(i.key)?i.key:null;a&&(a.spaceBefore&&p.push(""),g(b,p,a.commentBefore,!1),a.comment&&(n=!0));let c=d.isNode(i.value)?i.value:null;c?(c.comment&&(j=c.comment),c.commentBefore&&(n=!0)):null==i.value&&a?.comment&&(j=a.comment)}j&&(n=!0);let k=e.stringify(i,m,()=>j=null);n||(n=p.length>o||k.includes("\n")),c<a.length-1?k+=",":b.options.trailingComma&&(b.options.lineWidth>0&&(n||(n=p.reduce((a,b)=>a+b.length+2,2)+(k.length+2)>b.options.lineWidth)),n&&(k+=",")),j&&(k+=f.lineComment(k,h,l(j))),p.push(k),o=p.length}let{start:q,end:r}=c;if(0===p.length)return q+r;if(!n){let a=p.reduce((a,b)=>a+b.length+2,2);n=b.options.lineWidth>0&&a>b.options.lineWidth}if(!n)return`${q}${k}${p.join(" ")}${k}${r}`;{let a=q;for(let b of p)a+=b?`
|
|
13
13
|
${j}${i}${b}`:"\n";return`${a}
|
|
14
14
|
${i}${r}`}}:function({comment:a,items:b},c,{blockItemPrefix:h,flowChars:i,itemIndent:j,onChompKeep:k,onComment:l}){let m,{indent:n,options:{commentString:o}}=c,p=Object.assign({},c,{indent:j,type:null}),q=!1,r=[];for(let a=0;a<b.length;++a){let i=b[a],k=null;if(d.isNode(i))!q&&i.spaceBefore&&r.push(""),g(c,r,i.commentBefore,q),i.comment&&(k=i.comment);else if(d.isPair(i)){let a=d.isNode(i.key)?i.key:null;a&&(!q&&a.spaceBefore&&r.push(""),g(c,r,a.commentBefore,q))}q=!1;let l=e.stringify(i,p,()=>k=null,()=>q=!0);k&&(l+=f.lineComment(l,j,o(k))),q&&k&&(q=!1),r.push(h+l)}if(0===r.length)m=i.start+i.end;else{m=r[0];for(let a=1;a<r.length;++a){let b=r[a];m+=b?`
|
|
15
|
-
${n}${b}`:"\n"}}return a?(m+="\n"+f.indentComment(o(a),n),l&&l()):q&&k&&k(),m})(a,b,c)}},47544,(a,b,c)=>{"use strict";var d=a.r(11144),e=a.r(98155),f=a.r(35249),g=a.r(27267),h=a.r(17602),i=a.r(27853);function j(a,b){let c=g.isScalar(b)?b.value:b;for(let d of a)if(g.isPair(d)&&(d.key===b||d.key===c||g.isScalar(d.key)&&d.key.value===c))return d}class k extends f.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(a){super(g.MAP,a),this.items=[]}static from(a,b,c){let{keepUndefined:d,replacer:e}=c,f=new this(a),g=(a,g)=>{if("function"==typeof e)g=e.call(b,a,g);else if(Array.isArray(e)&&!e.includes(a))return;(void 0!==g||d)&&f.items.push(h.createPair(a,g,c))};if(b instanceof Map)for(let[a,c]of b)g(a,c);else if(b&&"object"==typeof b)for(let a of Object.keys(b))g(a,b[a]);return"function"==typeof a.sortMapEntries&&f.items.sort(a.sortMapEntries),f}add(a,b){let c;c=g.isPair(a)?a:a&&"object"==typeof a&&"key"in a?new h.Pair(a.key,a.value):new h.Pair(a,a?.value);let d=j(this.items,c.key),e=this.schema?.sortMapEntries;if(d){if(!b)throw Error(`Key ${c.key} already set`);g.isScalar(d.value)&&i.isScalarValue(c.value)?d.value.value=c.value:d.value=c.value}else if(e){let a=this.items.findIndex(a=>0>e(c,a));-1===a?this.items.push(c):this.items.splice(a,0,c)}else this.items.push(c)}delete(a){let b=j(this.items,a);return!!b&&this.items.splice(this.items.indexOf(b),1).length>0}get(a,b){let c=j(this.items,a),d=c?.value;return(!b&&g.isScalar(d)?d.value:d)??void 0}has(a){return!!j(this.items,a)}set(a,b){this.add(new h.Pair(a,b),!0)}toJSON(a,b,c){let d=c?new c:b?.mapAsMap?new Map:{};for(let a of(b?.onCreate&&b.onCreate(d),this.items))e.addPairToJSMap(b,d,a);return d}toString(a,b,c){if(!a)return JSON.stringify(this);for(let a of this.items)if(!g.isPair(a))throw Error(`Map items must all be pairs; found ${JSON.stringify(a)} instead`);return!a.allNullValues&&this.hasAllNullValues(!1)&&(a=Object.assign({},a,{allNullValues:!0})),d.stringifyCollection(this,a,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:a.indent||"",onChompKeep:c,onComment:b})}}c.YAMLMap=k,c.findPair=j},62709,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(47544);c.map={collection:"map",default:!0,nodeClass:e.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:(a,b)=>(d.isMap(a)||b("Expected a mapping for this tag"),a),createNode:(a,b,c)=>e.YAMLMap.from(a,b,c)}},7621,(a,b,c)=>{"use strict";var d=a.r(10882),e=a.r(11144),f=a.r(35249),g=a.r(27267),h=a.r(27853),i=a.r(94);class j extends f.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(a){super(g.SEQ,a),this.items=[]}add(a){this.items.push(a)}delete(a){let b=k(a);return"number"==typeof b&&this.items.splice(b,1).length>0}get(a,b){let c=k(a);if("number"!=typeof c)return;let d=this.items[c];return!b&&g.isScalar(d)?d.value:d}has(a){let b=k(a);return"number"==typeof b&&b<this.items.length}set(a,b){let c=k(a);if("number"!=typeof c)throw Error(`Expected a valid index, not ${a}.`);let d=this.items[c];g.isScalar(d)&&h.isScalarValue(b)?d.value=b:this.items[c]=b}toJSON(a,b){let c=[];b?.onCreate&&b.onCreate(c);let d=0;for(let a of this.items)c.push(i.toJS(a,String(d++),b));return c}toString(a,b,c){return a?e.stringifyCollection(this,a,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(a.indent||"")+" ",onChompKeep:c,onComment:b}):JSON.stringify(this)}static from(a,b,c){let{replacer:e}=c,f=new this(a);if(b&&Symbol.iterator in Object(b)){let a=0;for(let g of b){if("function"==typeof e){let c=b instanceof Set?g:String(a++);g=e.call(b,c,g)}f.items.push(d.createNode(g,void 0,c))}}return f}}function k(a){let b=g.isScalar(a)?a.value:a;return b&&"string"==typeof b&&(b=Number(b)),"number"==typeof b&&Number.isInteger(b)&&b>=0?b:null}c.YAMLSeq=j},33507,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(7621);c.seq={collection:"seq",default:!0,nodeClass:e.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:(a,b)=>(d.isSeq(a)||b("Expected a sequence for this tag"),a),createNode:(a,b,c)=>e.YAMLSeq.from(a,b,c)}},50357,(a,b,c)=>{"use strict";var d=a.r(88583);c.string={identify:a=>"string"==typeof a,default:!0,tag:"tag:yaml.org,2002:str",resolve:a=>a,stringify:(a,b,c,e)=>(b=Object.assign({actualString:!0},b),d.stringifyString(a,b,c,e))}},70833,(a,b,c)=>{"use strict";var d=a.r(27853);let e={identify:a=>null==a,createNode:()=>new d.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new d.Scalar(null),stringify:({source:a},b)=>"string"==typeof a&&e.test.test(a)?a:b.options.nullStr};c.nullTag=e},91642,(a,b,c)=>{"use strict";var d=a.r(27853);let e={identify:a=>"boolean"==typeof a,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:a=>new d.Scalar("t"===a[0]||"T"===a[0]),stringify:({source:a,value:b},c)=>a&&e.test.test(a)&&b===("t"===a[0]||"T"===a[0])?a:b?c.options.trueStr:c.options.falseStr};c.boolTag=e},66050,(a,b,c)=>{"use strict";c.stringifyNumber=function({format:a,minFractionDigits:b,tag:c,value:d}){if("bigint"==typeof d)return String(d);let e="number"==typeof d?d:Number(d);if(!isFinite(e))return isNaN(e)?".nan":e<0?"-.inf":".inf";let f=Object.is(d,-0)?"-0":JSON.stringify(d);if(!a&&b&&(!c||"tag:yaml.org,2002:float"===c)&&/^-?\d/.test(f)&&!f.includes("e")){let a=f.indexOf(".");a<0&&(a=f.length,f+=".");let c=b-(f.length-a-1);for(;c-- >0;)f+="0"}return f}},40967,(a,b,c)=>{"use strict";var d=a.r(27853),e=a.r(66050);let f={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:a=>"nan"===a.slice(-3).toLowerCase()?NaN:"-"===a[0]?-1/0:1/0,stringify:e.stringifyNumber};c.float={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(a){let b=new d.Scalar(parseFloat(a)),c=a.indexOf(".");return -1!==c&&"0"===a[a.length-1]&&(b.minFractionDigits=a.length-c-1),b},stringify:e.stringifyNumber},c.floatExp={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:a=>parseFloat(a),stringify(a){let b=Number(a.value);return isFinite(b)?b.toExponential():e.stringifyNumber(a)}},c.floatNaN=f},41069,(a,b,c)=>{"use strict";var d=a.r(66050);let e=a=>"bigint"==typeof a||Number.isInteger(a),f=(a,b,c,{intAsBigInt:d})=>d?BigInt(a):parseInt(a.substring(b),c);function g(a,b,c){let{value:f}=a;return e(f)&&f>=0?c+f.toString(b):d.stringifyNumber(a)}c.int={identify:e,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(a,b,c)=>f(a,0,10,c),stringify:d.stringifyNumber},c.intHex={identify:a=>e(a)&&a>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(a,b,c)=>f(a,2,16,c),stringify:a=>g(a,16,"0x")},c.intOct={identify:a=>e(a)&&a>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(a,b,c)=>f(a,2,8,c),stringify:a=>g(a,8,"0o")}},46145,(a,b,c)=>{"use strict";var d=a.r(62709),e=a.r(70833),f=a.r(33507),g=a.r(50357),h=a.r(91642),i=a.r(40967),j=a.r(41069);c.schema=[d.map,f.seq,g.string,e.nullTag,h.boolTag,j.intOct,j.int,j.intHex,i.floatNaN,i.floatExp,i.float]},35501,(a,b,c)=>{"use strict";var d=a.r(27853),e=a.r(62709),f=a.r(33507);function g(a){return"bigint"==typeof a||Number.isInteger(a)}let h=({value:a})=>JSON.stringify(a),i=[{identify:a=>"string"==typeof a,default:!0,tag:"tag:yaml.org,2002:str",resolve:a=>a,stringify:h},{identify:a=>null==a,createNode:()=>new d.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:h},{identify:a=>"boolean"==typeof a,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:a=>"true"===a,stringify:h},{identify:g,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(a,b,{intAsBigInt:c})=>c?BigInt(a):parseInt(a,10),stringify:({value:a})=>g(a)?a.toString():JSON.stringify(a)},{identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:a=>parseFloat(a),stringify:h}];c.schema=[e.map,f.seq].concat(i,{default:!0,tag:"",test:/^/,resolve:(a,b)=>(b(`Unresolved plain scalar ${JSON.stringify(a)}`),a)})},
|
|
15
|
+
${n}${b}`:"\n"}}return a?(m+="\n"+f.indentComment(o(a),n),l&&l()):q&&k&&k(),m})(a,b,c)}},47544,(a,b,c)=>{"use strict";var d=a.r(11144),e=a.r(98155),f=a.r(35249),g=a.r(27267),h=a.r(17602),i=a.r(27853);function j(a,b){let c=g.isScalar(b)?b.value:b;for(let d of a)if(g.isPair(d)&&(d.key===b||d.key===c||g.isScalar(d.key)&&d.key.value===c))return d}class k extends f.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(a){super(g.MAP,a),this.items=[]}static from(a,b,c){let{keepUndefined:d,replacer:e}=c,f=new this(a),g=(a,g)=>{if("function"==typeof e)g=e.call(b,a,g);else if(Array.isArray(e)&&!e.includes(a))return;(void 0!==g||d)&&f.items.push(h.createPair(a,g,c))};if(b instanceof Map)for(let[a,c]of b)g(a,c);else if(b&&"object"==typeof b)for(let a of Object.keys(b))g(a,b[a]);return"function"==typeof a.sortMapEntries&&f.items.sort(a.sortMapEntries),f}add(a,b){let c;c=g.isPair(a)?a:a&&"object"==typeof a&&"key"in a?new h.Pair(a.key,a.value):new h.Pair(a,a?.value);let d=j(this.items,c.key),e=this.schema?.sortMapEntries;if(d){if(!b)throw Error(`Key ${c.key} already set`);g.isScalar(d.value)&&i.isScalarValue(c.value)?d.value.value=c.value:d.value=c.value}else if(e){let a=this.items.findIndex(a=>0>e(c,a));-1===a?this.items.push(c):this.items.splice(a,0,c)}else this.items.push(c)}delete(a){let b=j(this.items,a);return!!b&&this.items.splice(this.items.indexOf(b),1).length>0}get(a,b){let c=j(this.items,a),d=c?.value;return(!b&&g.isScalar(d)?d.value:d)??void 0}has(a){return!!j(this.items,a)}set(a,b){this.add(new h.Pair(a,b),!0)}toJSON(a,b,c){let d=c?new c:b?.mapAsMap?new Map:{};for(let a of(b?.onCreate&&b.onCreate(d),this.items))e.addPairToJSMap(b,d,a);return d}toString(a,b,c){if(!a)return JSON.stringify(this);for(let a of this.items)if(!g.isPair(a))throw Error(`Map items must all be pairs; found ${JSON.stringify(a)} instead`);return!a.allNullValues&&this.hasAllNullValues(!1)&&(a=Object.assign({},a,{allNullValues:!0})),d.stringifyCollection(this,a,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:a.indent||"",onChompKeep:c,onComment:b})}}c.YAMLMap=k,c.findPair=j},62709,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(47544);c.map={collection:"map",default:!0,nodeClass:e.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:(a,b)=>(d.isMap(a)||b("Expected a mapping for this tag"),a),createNode:(a,b,c)=>e.YAMLMap.from(a,b,c)}},7621,(a,b,c)=>{"use strict";var d=a.r(10882),e=a.r(11144),f=a.r(35249),g=a.r(27267),h=a.r(27853),i=a.r(94);class j extends f.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(a){super(g.SEQ,a),this.items=[]}add(a){this.items.push(a)}delete(a){let b=k(a);return"number"==typeof b&&this.items.splice(b,1).length>0}get(a,b){let c=k(a);if("number"!=typeof c)return;let d=this.items[c];return!b&&g.isScalar(d)?d.value:d}has(a){let b=k(a);return"number"==typeof b&&b<this.items.length}set(a,b){let c=k(a);if("number"!=typeof c)throw Error(`Expected a valid index, not ${a}.`);let d=this.items[c];g.isScalar(d)&&h.isScalarValue(b)?d.value=b:this.items[c]=b}toJSON(a,b){let c=[];b?.onCreate&&b.onCreate(c);let d=0;for(let a of this.items)c.push(i.toJS(a,String(d++),b));return c}toString(a,b,c){return a?e.stringifyCollection(this,a,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(a.indent||"")+" ",onChompKeep:c,onComment:b}):JSON.stringify(this)}static from(a,b,c){let{replacer:e}=c,f=new this(a);if(b&&Symbol.iterator in Object(b)){let a=0;for(let g of b){if("function"==typeof e){let c=b instanceof Set?g:String(a++);g=e.call(b,c,g)}f.items.push(d.createNode(g,void 0,c))}}return f}}function k(a){let b=g.isScalar(a)?a.value:a;return b&&"string"==typeof b&&(b=Number(b)),"number"==typeof b&&Number.isInteger(b)&&b>=0?b:null}c.YAMLSeq=j},33507,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(7621);c.seq={collection:"seq",default:!0,nodeClass:e.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:(a,b)=>(d.isSeq(a)||b("Expected a sequence for this tag"),a),createNode:(a,b,c)=>e.YAMLSeq.from(a,b,c)}},50357,(a,b,c)=>{"use strict";var d=a.r(88583);c.string={identify:a=>"string"==typeof a,default:!0,tag:"tag:yaml.org,2002:str",resolve:a=>a,stringify:(a,b,c,e)=>(b=Object.assign({actualString:!0},b),d.stringifyString(a,b,c,e))}},70833,(a,b,c)=>{"use strict";var d=a.r(27853);let e={identify:a=>null==a,createNode:()=>new d.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new d.Scalar(null),stringify:({source:a},b)=>"string"==typeof a&&e.test.test(a)?a:b.options.nullStr};c.nullTag=e},91642,(a,b,c)=>{"use strict";var d=a.r(27853);let e={identify:a=>"boolean"==typeof a,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:a=>new d.Scalar("t"===a[0]||"T"===a[0]),stringify:({source:a,value:b},c)=>a&&e.test.test(a)&&b===("t"===a[0]||"T"===a[0])?a:b?c.options.trueStr:c.options.falseStr};c.boolTag=e},66050,(a,b,c)=>{"use strict";c.stringifyNumber=function({format:a,minFractionDigits:b,tag:c,value:d}){if("bigint"==typeof d)return String(d);let e="number"==typeof d?d:Number(d);if(!isFinite(e))return isNaN(e)?".nan":e<0?"-.inf":".inf";let f=Object.is(d,-0)?"-0":JSON.stringify(d);if(!a&&b&&(!c||"tag:yaml.org,2002:float"===c)&&/^-?\d/.test(f)&&!f.includes("e")){let a=f.indexOf(".");a<0&&(a=f.length,f+=".");let c=b-(f.length-a-1);for(;c-- >0;)f+="0"}return f}},40967,(a,b,c)=>{"use strict";var d=a.r(27853),e=a.r(66050);let f={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:a=>"nan"===a.slice(-3).toLowerCase()?NaN:"-"===a[0]?-1/0:1/0,stringify:e.stringifyNumber};c.float={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(a){let b=new d.Scalar(parseFloat(a)),c=a.indexOf(".");return -1!==c&&"0"===a[a.length-1]&&(b.minFractionDigits=a.length-c-1),b},stringify:e.stringifyNumber},c.floatExp={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:a=>parseFloat(a),stringify(a){let b=Number(a.value);return isFinite(b)?b.toExponential():e.stringifyNumber(a)}},c.floatNaN=f},41069,(a,b,c)=>{"use strict";var d=a.r(66050);let e=a=>"bigint"==typeof a||Number.isInteger(a),f=(a,b,c,{intAsBigInt:d})=>d?BigInt(a):parseInt(a.substring(b),c);function g(a,b,c){let{value:f}=a;return e(f)&&f>=0?c+f.toString(b):d.stringifyNumber(a)}c.int={identify:e,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(a,b,c)=>f(a,0,10,c),stringify:d.stringifyNumber},c.intHex={identify:a=>e(a)&&a>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(a,b,c)=>f(a,2,16,c),stringify:a=>g(a,16,"0x")},c.intOct={identify:a=>e(a)&&a>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(a,b,c)=>f(a,2,8,c),stringify:a=>g(a,8,"0o")}},46145,(a,b,c)=>{"use strict";var d=a.r(62709),e=a.r(70833),f=a.r(33507),g=a.r(50357),h=a.r(91642),i=a.r(40967),j=a.r(41069);c.schema=[d.map,f.seq,g.string,e.nullTag,h.boolTag,j.intOct,j.int,j.intHex,i.floatNaN,i.floatExp,i.float]},35501,(a,b,c)=>{"use strict";var d=a.r(27853),e=a.r(62709),f=a.r(33507);function g(a){return"bigint"==typeof a||Number.isInteger(a)}let h=({value:a})=>JSON.stringify(a),i=[{identify:a=>"string"==typeof a,default:!0,tag:"tag:yaml.org,2002:str",resolve:a=>a,stringify:h},{identify:a=>null==a,createNode:()=>new d.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:h},{identify:a=>"boolean"==typeof a,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:a=>"true"===a,stringify:h},{identify:g,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(a,b,{intAsBigInt:c})=>c?BigInt(a):parseInt(a,10),stringify:({value:a})=>g(a)?a.toString():JSON.stringify(a)},{identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:a=>parseFloat(a),stringify:h}];c.schema=[e.map,f.seq].concat(i,{default:!0,tag:"",test:/^/,resolve:(a,b)=>(b(`Unresolved plain scalar ${JSON.stringify(a)}`),a)})},81475,(a,b,c)=>{"use strict";var d=a.r(874),e=a.r(27853),f=a.r(88583);c.binary={identify:a=>a instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(a,b){if("function"==typeof d.Buffer)return d.Buffer.from(a,"base64");if("function"!=typeof atob)return b("This environment does not support reading binary tags; either Buffer or atob is required"),a;{let b=atob(a.replace(/[\n\r]/g,"")),c=new Uint8Array(b.length);for(let a=0;a<b.length;++a)c[a]=b.charCodeAt(a);return c}},stringify({comment:a,type:b,value:c},g,h,i){let j;if(!c)return"";if("function"==typeof d.Buffer)j=c instanceof d.Buffer?c.toString("base64"):d.Buffer.from(c.buffer).toString("base64");else if("function"==typeof btoa){let a="";for(let b=0;b<c.length;++b)a+=String.fromCharCode(c[b]);j=btoa(a)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(b??(b=e.Scalar.BLOCK_LITERAL),b!==e.Scalar.QUOTE_DOUBLE){let a=Math.max(g.options.lineWidth-g.indent.length,g.options.minContentWidth),c=Math.ceil(j.length/a),d=Array(c);for(let b=0,e=0;b<c;++b,e+=a)d[b]=j.substr(e,a);j=d.join(b===e.Scalar.BLOCK_LITERAL?"\n":" ")}return f.stringifyString({comment:a,type:b,value:j},g,h,i)}}},26609,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(17602),f=a.r(27853),g=a.r(7621);function h(a,b){if(d.isSeq(a))for(let c=0;c<a.items.length;++c){let g=a.items[c];if(!d.isPair(g)){if(d.isMap(g)){g.items.length>1&&b("Each pair must have its own sequence indicator");let a=g.items[0]||new e.Pair(new f.Scalar(null));if(g.commentBefore&&(a.key.commentBefore=a.key.commentBefore?`${g.commentBefore}
|
|
16
16
|
${a.key.commentBefore}`:g.commentBefore),g.comment){let b=a.value??a.key;b.comment=b.comment?`${g.comment}
|
|
17
17
|
${b.comment}`:g.comment}g=a}a.items[c]=d.isPair(g)?g:new e.Pair(g)}}else b("Expected a sequence for this tag");return a}function i(a,b,c){let{replacer:d}=c,f=new g.YAMLSeq(a);f.tag="tag:yaml.org,2002:pairs";let h=0;if(b&&Symbol.iterator in Object(b))for(let a of b){let g,i;if("function"==typeof d&&(a=d.call(b,String(h++),a)),Array.isArray(a))if(2===a.length)g=a[0],i=a[1];else throw TypeError(`Expected [key, value] tuple: ${a}`);else if(a&&a instanceof Object){let b=Object.keys(a);if(1===b.length)i=a[g=b[0]];else throw TypeError(`Expected tuple with one key, not ${b.length} keys`)}else g=a;f.items.push(e.createPair(g,i,c))}return f}c.createPairs=i,c.pairs={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:h,createNode:i},c.resolvePairs=h},85441,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(94),f=a.r(47544),g=a.r(7621),h=a.r(26609);class i extends g.YAMLSeq{constructor(){super(),this.add=f.YAMLMap.prototype.add.bind(this),this.delete=f.YAMLMap.prototype.delete.bind(this),this.get=f.YAMLMap.prototype.get.bind(this),this.has=f.YAMLMap.prototype.has.bind(this),this.set=f.YAMLMap.prototype.set.bind(this),this.tag=i.tag}toJSON(a,b){if(!b)return super.toJSON(a);let c=new Map;for(let a of(b?.onCreate&&b.onCreate(c),this.items)){let f,g;if(d.isPair(a)?(f=e.toJS(a.key,"",b),g=e.toJS(a.value,f,b)):f=e.toJS(a,"",b),c.has(f))throw Error("Ordered maps must not include duplicate keys");c.set(f,g)}return c}static from(a,b,c){let d=h.createPairs(a,b,c),e=new this;return e.items=d.items,e}}i.tag="tag:yaml.org,2002:omap",c.YAMLOMap=i,c.omap={collection:"seq",identify:a=>a instanceof Map,nodeClass:i,default:!1,tag:"tag:yaml.org,2002:omap",resolve(a,b){let c=h.resolvePairs(a,b),e=[];for(let{key:a}of c.items)d.isScalar(a)&&(e.includes(a.value)?b(`Ordered maps must not include duplicate keys: ${a.value}`):e.push(a.value));return Object.assign(new i,c)},createNode:(a,b,c)=>i.from(a,b,c)}},16616,(a,b,c)=>{"use strict";var d=a.r(27853);function e({value:a,source:b},c){let d=a?f:g;return b&&d.test.test(b)?b:a?c.options.trueStr:c.options.falseStr}let f={identify:a=>!0===a,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new d.Scalar(!0),stringify:e},g={identify:a=>!1===a,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new d.Scalar(!1),stringify:e};c.falseTag=g,c.trueTag=f},22577,(a,b,c)=>{"use strict";var d=a.r(27853),e=a.r(66050);let f={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:a=>"nan"===a.slice(-3).toLowerCase()?NaN:"-"===a[0]?-1/0:1/0,stringify:e.stringifyNumber};c.float={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(a){let b=new d.Scalar(parseFloat(a.replace(/_/g,""))),c=a.indexOf(".");if(-1!==c){let d=a.substring(c+1).replace(/_/g,"");"0"===d[d.length-1]&&(b.minFractionDigits=d.length)}return b},stringify:e.stringifyNumber},c.floatExp={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:a=>parseFloat(a.replace(/_/g,"")),stringify(a){let b=Number(a.value);return isFinite(b)?b.toExponential():e.stringifyNumber(a)}},c.floatNaN=f},67915,(a,b,c)=>{"use strict";var d=a.r(66050);let e=a=>"bigint"==typeof a||Number.isInteger(a);function f(a,b,c,{intAsBigInt:d}){let e=a[0];if(("-"===e||"+"===e)&&(b+=1),a=a.substring(b).replace(/_/g,""),d){switch(c){case 2:a=`0b${a}`;break;case 8:a=`0o${a}`;break;case 16:a=`0x${a}`}let b=BigInt(a);return"-"===e?BigInt(-1)*b:b}let g=parseInt(a,c);return"-"===e?-1*g:g}function g(a,b,c){let{value:f}=a;if(e(f)){let a=f.toString(b);return f<0?"-"+c+a.substr(1):c+a}return d.stringifyNumber(a)}c.int={identify:e,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(a,b,c)=>f(a,0,10,c),stringify:d.stringifyNumber},c.intBin={identify:e,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(a,b,c)=>f(a,2,2,c),stringify:a=>g(a,2,"0b")},c.intHex={identify:e,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(a,b,c)=>f(a,2,16,c),stringify:a=>g(a,16,"0x")},c.intOct={identify:e,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(a,b,c)=>f(a,1,8,c),stringify:a=>g(a,8,"0")}},83720,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(17602),f=a.r(47544);class g extends f.YAMLMap{constructor(a){super(a),this.tag=g.tag}add(a){let b;b=d.isPair(a)?a:a&&"object"==typeof a&&"key"in a&&"value"in a&&null===a.value?new e.Pair(a.key,null):new e.Pair(a,null),f.findPair(this.items,b.key)||this.items.push(b)}get(a,b){let c=f.findPair(this.items,a);return!b&&d.isPair(c)?d.isScalar(c.key)?c.key.value:c.key:c}set(a,b){if("boolean"!=typeof b)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof b}`);let c=f.findPair(this.items,a);c&&!b?this.items.splice(this.items.indexOf(c),1):!c&&b&&this.items.push(new e.Pair(a))}toJSON(a,b){return super.toJSON(a,b,Set)}toString(a,b,c){if(!a)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},a,{allNullValues:!0}),b,c);throw Error("Set items must all have null values")}static from(a,b,c){let{replacer:d}=c,f=new this(a);if(b&&Symbol.iterator in Object(b))for(let a of b)"function"==typeof d&&(a=d.call(b,a,a)),f.items.push(e.createPair(a,null,c));return f}}g.tag="tag:yaml.org,2002:set",c.YAMLSet=g,c.set={collection:"map",identify:a=>a instanceof Set,nodeClass:g,default:!1,tag:"tag:yaml.org,2002:set",createNode:(a,b,c)=>g.from(a,b,c),resolve(a,b){if(d.isMap(a))if(a.hasAllNullValues(!0))return Object.assign(new g,a);else b("Set items must all have null values");else b("Expected a mapping for this tag");return a}}},3599,(a,b,c)=>{"use strict";var d=a.r(66050);function e(a,b){let c=a[0],d="-"===c||"+"===c?a.substring(1):a,e=a=>b?BigInt(a):Number(a),f=d.replace(/_/g,"").split(":").reduce((a,b)=>a*e(60)+e(b),e(0));return"-"===c?e(-1)*f:f}function f(a){let{value:b}=a,c=a=>a;if("bigint"==typeof b)c=a=>BigInt(a);else if(isNaN(b)||!isFinite(b))return d.stringifyNumber(a);let e="";b<0&&(e="-",b*=c(-1));let f=c(60),g=[b%f];return b<60?g.unshift(0):(b=(b-g[0])/f,g.unshift(b%f),b>=60&&(b=(b-g[0])/f,g.unshift(b))),e+g.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}let g={identify:a=>a instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(a){let b=a.match(g.test);if(!b)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,c,d,f,h,i,j]=b.map(Number),k=Date.UTC(c,d-1,f,h||0,i||0,j||0,b[7]?Number((b[7]+"00").substr(1,3)):0),l=b[8];if(l&&"Z"!==l){let a=e(l,!1);30>Math.abs(a)&&(a*=60),k-=6e4*a}return new Date(k)},stringify:({value:a})=>a?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};c.floatTime={identify:a=>"number"==typeof a,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:a=>e(a,!1),stringify:f},c.intTime={identify:a=>"bigint"==typeof a||Number.isInteger(a),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(a,b,{intAsBigInt:c})=>e(a,c),stringify:f},c.timestamp=g},7049,(a,b,c)=>{"use strict";var d=a.r(62709),e=a.r(70833),f=a.r(33507),g=a.r(50357),h=a.r(81475),i=a.r(16616),j=a.r(22577),k=a.r(67915),l=a.r(57876),m=a.r(85441),n=a.r(26609),o=a.r(83720),p=a.r(3599);c.schema=[d.map,f.seq,g.string,e.nullTag,i.trueTag,i.falseTag,k.intBin,k.intOct,k.int,k.intHex,j.floatNaN,j.floatExp,j.float,h.binary,l.merge,m.omap,n.pairs,o.set,p.intTime,p.floatTime,p.timestamp]},33572,(a,b,c)=>{"use strict";var d=a.r(62709),e=a.r(70833),f=a.r(33507),g=a.r(50357),h=a.r(91642),i=a.r(40967),j=a.r(41069),k=a.r(46145),l=a.r(35501),m=a.r(81475),n=a.r(57876),o=a.r(85441),p=a.r(26609),q=a.r(7049),r=a.r(83720),s=a.r(3599);let t=new Map([["core",k.schema],["failsafe",[d.map,f.seq,g.string]],["json",l.schema],["yaml11",q.schema],["yaml-1.1",q.schema]]),u={binary:m.binary,bool:h.boolTag,float:i.float,floatExp:i.floatExp,floatNaN:i.floatNaN,floatTime:s.floatTime,int:j.int,intHex:j.intHex,intOct:j.intOct,intTime:s.intTime,map:d.map,merge:n.merge,null:e.nullTag,omap:o.omap,pairs:p.pairs,seq:f.seq,set:r.set,timestamp:s.timestamp};c.coreKnownTags={"tag:yaml.org,2002:binary":m.binary,"tag:yaml.org,2002:merge":n.merge,"tag:yaml.org,2002:omap":o.omap,"tag:yaml.org,2002:pairs":p.pairs,"tag:yaml.org,2002:set":r.set,"tag:yaml.org,2002:timestamp":s.timestamp},c.getTags=function(a,b,c){let d=t.get(b);if(d&&!a)return c&&!d.includes(n.merge)?d.concat(n.merge):d.slice();let e=d;if(!e)if(Array.isArray(a))e=[];else{let a=Array.from(t.keys()).filter(a=>"yaml11"!==a).map(a=>JSON.stringify(a)).join(", ");throw Error(`Unknown schema "${b}"; use one of ${a} or define customTags array`)}if(Array.isArray(a))for(let b of a)e=e.concat(b);else"function"==typeof a&&(e=a(e.slice()));return c&&(e=e.concat(n.merge)),e.reduce((a,b)=>{let c="string"==typeof b?u[b]:b;if(!c){let a=JSON.stringify(b),c=Object.keys(u).map(a=>JSON.stringify(a)).join(", ");throw Error(`Unknown custom tag ${a}; use one of ${c}`)}return a.includes(c)||a.push(c),a},[])}},98027,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(62709),f=a.r(33507),g=a.r(50357),h=a.r(33572);let i=(a,b)=>a.key<b.key?-1:+(a.key>b.key);c.Schema=class a{constructor({compat:a,customTags:b,merge:c,resolveKnownTags:j,schema:k,sortMapEntries:l,toStringDefaults:m}){this.compat=Array.isArray(a)?h.getTags(a,"compat"):a?h.getTags(null,a):null,this.name="string"==typeof k&&k||"core",this.knownTags=j?h.coreKnownTags:{},this.tags=h.getTags(b,this.name,c),this.toStringOptions=m??null,Object.defineProperty(this,d.MAP,{value:e.map}),Object.defineProperty(this,d.SCALAR,{value:g.string}),Object.defineProperty(this,d.SEQ,{value:f.seq}),this.sortMapEntries="function"==typeof l?l:!0===l?i:null}clone(){let b=Object.create(a.prototype,Object.getOwnPropertyDescriptors(this));return b.tags=this.tags.slice(),b}}},5950,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(7687),f=a.r(53074);c.stringifyDocument=function(a,b){let c=[],g=!0===b.directives;if(!1!==b.directives&&a.directives){let b=a.directives.toString(a);b?(c.push(b),g=!0):a.directives.docStart&&(g=!0)}g&&c.push("---");let h=e.createStringifyContext(a,b),{commentString:i}=h.options;if(a.commentBefore){1!==c.length&&c.unshift("");let b=i(a.commentBefore);c.unshift(f.indentComment(b,""))}let j=!1,k=null;if(a.contents){if(d.isNode(a.contents)){if(a.contents.spaceBefore&&g&&c.push(""),a.contents.commentBefore){let b=i(a.contents.commentBefore);c.push(f.indentComment(b,""))}h.forceBlockIndent=!!a.comment,k=a.contents.comment}let b=k?void 0:()=>j=!0,l=e.stringify(a.contents,h,()=>k=null,b);k&&(l+=f.lineComment(l,"",i(k))),("|"===l[0]||">"===l[0])&&"---"===c[c.length-1]?c[c.length-1]=`--- ${l}`:c.push(l)}else c.push(e.stringify(a.contents,h));if(a.directives?.docEnd)if(a.comment){let b=i(a.comment);b.includes("\n")?(c.push("..."),c.push(f.indentComment(b,""))):c.push(`... ${b}`)}else c.push("...");else{let b=a.comment;b&&j&&(b=b.replace(/^\n+/,"")),b&&((!j||k)&&""!==c[c.length-1]&&c.push(""),c.push(f.indentComment(i(b),"")))}return c.join("\n")+"\n"}},85774,(a,b,c)=>{"use strict";var d=a.r(21562),e=a.r(35249),f=a.r(27267),g=a.r(17602),h=a.r(94),i=a.r(98027),j=a.r(5950),k=a.r(10937),l=a.r(59588),m=a.r(10882),n=a.r(74957);function o(a){if(f.isCollection(a))return!0;throw Error("Expected a YAML collection as document contents")}c.Document=class a{constructor(a,b,c){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,f.NODE_TYPE,{value:f.DOC});let d=null;"function"==typeof b||Array.isArray(b)?d=b:void 0===c&&b&&(c=b,b=void 0);const e=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},c);this.options=e;let{version:g}=e;c?._directives?(this.directives=c._directives.atDocument(),this.directives.yaml.explicit&&(g=this.directives.yaml.version)):this.directives=new n.Directives({version:g}),this.setSchema(g,c),this.contents=void 0===a?null:this.createNode(a,d,c)}clone(){let b=Object.create(a.prototype,{[f.NODE_TYPE]:{value:f.DOC}});return b.commentBefore=this.commentBefore,b.comment=this.comment,b.errors=this.errors.slice(),b.warnings=this.warnings.slice(),b.options=Object.assign({},this.options),this.directives&&(b.directives=this.directives.clone()),b.schema=this.schema.clone(),b.contents=f.isNode(this.contents)?this.contents.clone(b.schema):this.contents,this.range&&(b.range=this.range.slice()),b}add(a){o(this.contents)&&this.contents.add(a)}addIn(a,b){o(this.contents)&&this.contents.addIn(a,b)}createAlias(a,b){if(!a.anchor){let c=k.anchorNames(this);a.anchor=!b||c.has(b)?k.findNewAnchor(b||"a",c):b}return new d.Alias(a.anchor)}createNode(a,b,c){let d;if("function"==typeof b)a=b.call({"":a},"",a),d=b;else if(Array.isArray(b)){let a=b.filter(a=>"number"==typeof a||a instanceof String||a instanceof Number).map(String);a.length>0&&(b=b.concat(a)),d=b}else void 0===c&&b&&(c=b,b=void 0);let{aliasDuplicateObjects:e,anchorPrefix:g,flow:h,keepUndefined:i,onTagObj:j,tag:l}=c??{},{onAnchor:n,setAnchors:o,sourceObjects:p}=k.createNodeAnchors(this,g||"a"),q={aliasDuplicateObjects:e??!0,keepUndefined:i??!1,onAnchor:n,onTagObj:j,replacer:d,schema:this.schema,sourceObjects:p},r=m.createNode(a,l,q);return h&&f.isCollection(r)&&(r.flow=!0),o(),r}createPair(a,b,c={}){let d=this.createNode(a,null,c),e=this.createNode(b,null,c);return new g.Pair(d,e)}delete(a){return!!o(this.contents)&&this.contents.delete(a)}deleteIn(a){return e.isEmptyPath(a)?null!=this.contents&&(this.contents=null,!0):!!o(this.contents)&&this.contents.deleteIn(a)}get(a,b){return f.isCollection(this.contents)?this.contents.get(a,b):void 0}getIn(a,b){return e.isEmptyPath(a)?!b&&f.isScalar(this.contents)?this.contents.value:this.contents:f.isCollection(this.contents)?this.contents.getIn(a,b):void 0}has(a){return!!f.isCollection(this.contents)&&this.contents.has(a)}hasIn(a){return e.isEmptyPath(a)?void 0!==this.contents:!!f.isCollection(this.contents)&&this.contents.hasIn(a)}set(a,b){null==this.contents?this.contents=e.collectionFromPath(this.schema,[a],b):o(this.contents)&&this.contents.set(a,b)}setIn(a,b){e.isEmptyPath(a)?this.contents=b:null==this.contents?this.contents=e.collectionFromPath(this.schema,Array.from(a),b):o(this.contents)&&this.contents.setIn(a,b)}setSchema(a,b={}){let c;switch("number"==typeof a&&(a=String(a)),a){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new n.Directives({version:"1.1"}),c={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=a:this.directives=new n.Directives({version:a}),c={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,c=null;break;default:{let b=JSON.stringify(a);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${b}`)}}if(b.schema instanceof Object)this.schema=b.schema;else if(c)this.schema=new i.Schema(Object.assign(c,b));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:a,jsonArg:b,mapAsMap:c,maxAliasCount:d,onAnchor:e,reviver:f}={}){let g={anchors:new Map,doc:this,keep:!a,mapAsMap:!0===c,mapKeyWarned:!1,maxAliasCount:"number"==typeof d?d:100},i=h.toJS(this.contents,b??"",g);if("function"==typeof e)for(let{count:a,res:b}of g.anchors.values())e(b,a);return"function"==typeof f?l.applyReviver(f,{"":i},"",i):i}toJSON(a,b){return this.toJS({json:!0,jsonArg:a,mapAsMap:!1,onAnchor:b})}toString(a={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in a&&(!Number.isInteger(a.indent)||0>=Number(a.indent))){let b=JSON.stringify(a.indent);throw Error(`"indent" option must be a positive integer, not ${b}`)}return j.stringifyDocument(this,a)}}},25717,(a,b,c)=>{"use strict";class d extends Error{constructor(a,b,c,d){super(),this.name=a,this.code=c,this.message=d,this.pos=b}}c.YAMLError=d,c.YAMLParseError=class extends d{constructor(a,b,c){super("YAMLParseError",a,b,c)}},c.YAMLWarning=class extends d{constructor(a,b,c){super("YAMLWarning",a,b,c)}},c.prettifyError=(a,b)=>c=>{if(-1===c.pos[0])return;c.linePos=c.pos.map(a=>b.linePos(a));let{line:d,col:e}=c.linePos[0];c.message+=` at line ${d}, column ${e}`;let f=e-1,g=a.substring(b.lineStarts[d-1],b.lineStarts[d]).replace(/[\n\r]+$/,"");if(f>=60&&g.length>80){let a=Math.min(f-39,g.length-79);g="…"+g.substring(a),f-=a-1}if(g.length>80&&(g=g.substring(0,79)+"…"),d>1&&/^ *$/.test(g.substring(0,f))){let c=a.substring(b.lineStarts[d-2],b.lineStarts[d-1]);c.length>80&&(c=c.substring(0,79)+"…\n"),g=c+g}if(/[^ ]/.test(g)){let a=1,b=c.linePos[1];b?.line===d&&b.col>e&&(a=Math.max(1,Math.min(b.col-e,80-f)));let h=" ".repeat(f)+"^".repeat(a);c.message+=`:
|
|
18
18
|
|
|
@@ -22,7 +22,7 @@ ${h}
|
|
|
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}
|
|
25
|
-
${b.comment}`:b.comment}this.doc.range[2]=b.offset;break}default:this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",`Unsupported token ${a.type}`))}}*end(a=!1,b=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(a){let a=Object.assign({_directives:this.directives},this.options),c=new f.Document(void 0,a);this.atDirectives&&this.onError(b,"MISSING_CHAR","Missing directives-end indicator line"),c.range=[0,b,b],this.decorate(c,!1),yield c}}}},86888,(a,b,c)=>{"use strict";var d=a.r(71014),e=a.r(21525),f=a.r(25717),g=a.r(88583);function h(a,b){if(b)for(let c of b)switch(c.type){case"space":case"comment":a.push(c);break;case"newline":return a.push(c),!0}return!1}function i(a,b,c){switch(a.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":a.type=c,a.source=b;break;case"block-scalar":{let d=a.props.slice(1),e=b.length;for(let b of("block-scalar-header"===a.props[0].type&&(e-=a.props[0].source.length),d))b.offset+=e;delete a.props,Object.assign(a,{type:c,source:b,end:d});break}case"block-map":case"block-seq":{let d={type:"newline",offset:a.offset+b.length,indent:a.indent,source:"\n"};delete a.items,Object.assign(a,{type:c,source:b,end:[d]});break}default:{let d="indent"in a?a.indent:-1,e="end"in a&&Array.isArray(a.end)?a.end.filter(a=>"space"===a.type||"comment"===a.type||"newline"===a.type):[];for(let b of Object.keys(a))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:c,indent:d,source:b,end:e})}}}c.createScalarToken=function(a,b){let{implicitKey:c=!1,indent:d,inFlow:e=!1,offset:f=-1,type:i="PLAIN"}=b,j=g.stringifyString({type:i,value:a},{implicitKey:c,indent:d>0?" ".repeat(d):"",inFlow:e,options:{blockQuote:!0,lineWidth:-1}}),k=b.end??[{type:"newline",offset:-1,indent:d,source:"\n"}];switch(j[0]){case"|":case">":{let a=j.indexOf("\n"),b=j.substring(0,a),c=j.substring(a+1)+"\n",e=[{type:"block-scalar-header",offset:f,indent:d,source:b}];return h(e,k)||e.push({type:"newline",offset:-1,indent:d,source:"\n"}),{type:"block-scalar",offset:f,indent:d,props:e,source:c}}case'"':return{type:"double-quoted-scalar",offset:f,indent:d,source:j,end:k};case"'":return{type:"single-quoted-scalar",offset:f,indent:d,source:j,end:k};default:return{type:"scalar",offset:f,indent:d,source:j,end:k}}},c.resolveAsScalar=function(a,b=!0,c){if(a){let g=(a,b,d)=>{let e="number"==typeof a?a:Array.isArray(a)?a[0]:a.offset;if(c)c(e,b,d);else throw new f.YAMLParseError([e,e+1],b,d)};switch(a.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return e.resolveFlowScalar(a,b,g);case"block-scalar":return d.resolveBlockScalar({options:{strict:b}},a,g)}}return null},c.setScalarValue=function(a,b,c={}){let{afterKey:d=!1,implicitKey:e=!1,inFlow:f=!1,type:j}=c,k="indent"in a?a.indent:null;if(d&&"number"==typeof k&&(k+=2),!j)switch(a.type){case"single-quoted-scalar":j="QUOTE_SINGLE";break;case"double-quoted-scalar":j="QUOTE_DOUBLE";break;case"block-scalar":{let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");j=">"===b.source[0]?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:j="PLAIN"}let l=g.stringifyString({type:j,value:b},{implicitKey:e||null===k,indent:null!==k&&k>0?" ".repeat(k):"",inFlow:f,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":!function(a,b){let c=b.indexOf("\n"),d=b.substring(0,c),e=b.substring(c+1)+"\n";if("block-scalar"===a.type){let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");b.source=d,a.source=e}else{let{offset:b}=a,c="indent"in a?a.indent:-1,f=[{type:"block-scalar-header",offset:b,indent:c,source:d}];for(let b of(h(f,"end"in a?a.end:void 0)||f.push({type:"newline",offset:-1,indent:c,source:"\n"}),Object.keys(a)))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:"block-scalar",indent:c,props:f,source:e})}}(a,l);break;case'"':i(a,l,"double-quoted-scalar");break;case"'":i(a,l,"single-quoted-scalar");break;default:i(a,l,"scalar")}}},25449,(a,b,c)=>{"use strict";function d(a){switch(a.type){case"block-scalar":{let b="";for(let c of a.props)b+=d(c);return b+a.source}case"block-map":case"block-seq":{let b="";for(let c of a.items)b+=e(c);return b}case"flow-collection":{let b=a.start.source;for(let c of a.items)b+=e(c);for(let c of a.end)b+=c.source;return b}case"document":{let b=e(a);if(a.end)for(let c of a.end)b+=c.source;return b}default:{let b=a.source;if("end"in a&&a.end)for(let c of a.end)b+=c.source;return b}}}function e({start:a,key:b,sep:c,value:f}){let g="";for(let b of a)g+=b.source;if(b&&(g+=d(b)),c)for(let a of c)g+=a.source;return f&&(g+=d(f)),g}c.stringify=a=>"type"in a?d(a):e(a)},2135,(a,b,c)=>{"use strict";let d=Symbol("break visit"),e=Symbol("skip children"),f=Symbol("remove item");function g(a,b){"type"in a&&"document"===a.type&&(a={start:a.start,value:a.value}),function a(b,c,e){let g=e(c,b);if("symbol"==typeof g)return g;for(let h of["key","value"]){let i=c[h];if(i&&"items"in i){for(let c=0;c<i.items.length;++c){let g=a(Object.freeze(b.concat([[h,c]])),i.items[c],e);if("number"==typeof g)c=g-1;else{if(g===d)return d;g===f&&(i.items.splice(c,1),c-=1)}}"function"==typeof g&&"key"===h&&(g=g(c,b))}}return"function"==typeof g?g(c,b):g}(Object.freeze([]),a,b)}g.BREAK=d,g.SKIP=e,g.REMOVE=f,g.itemAtPath=(a,b)=>{let c=a;for(let[a,d]of b){let b=c?.[a];if(!b||!("items"in b))return;c=b.items[d]}return c},g.parentCollection=(a,b)=>{let c=g.itemAtPath(a,b.slice(0,-1)),d=b[b.length-1][0],e=c?.[d];if(e&&"items"in e)return e;throw Error("Parent collection not found")},c.visit=g},2704,(a,b,c)=>{"use strict";var d=a.r(86888),e=a.r(25449),f=a.r(2135);c.createScalarToken=d.createScalarToken,c.resolveAsScalar=d.resolveAsScalar,c.setScalarValue=d.setScalarValue,c.stringify=e.stringify,c.visit=f.visit,c.BOM="\uFEFF",c.DOCUMENT="\x02",c.FLOW_END="\x18",c.SCALAR="\x1f",c.isCollection=a=>!!a&&"items"in a,c.isScalar=a=>!!a&&("scalar"===a.type||"single-quoted-scalar"===a.type||"double-quoted-scalar"===a.type||"block-scalar"===a.type),c.prettyToken=function(a){switch(a){case"\uFEFF":return"<BOM>";case"\x02":return"<DOC>";case"\x18":return"<FLOW_END>";case"\x1f":return"<SCALAR>";default:return JSON.stringify(a)}},c.tokenType=function(a){switch(a){case"\uFEFF":return"byte-order-mark";case"\x02":return"doc-mode";case"\x18":return"flow-error-end";case"\x1f":return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case"\n":case"\r\n":return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(a[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}},66326,(a,b,c)=>{"use strict";var d=a.r(2704);function e(a){switch(a){case void 0:case" ":case"\n":case"\r":case" ":return!0;default:return!1}}let f=new Set("0123456789ABCDEFabcdef"),g=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),h=new Set(",[]{}"),i=new Set(" ,[]{}\n\r "),j=a=>!a||i.has(a);c.Lexer=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(a,b=!1){if(a){if("string"!=typeof a)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+a:a,this.lineEndPos=null}this.atEnd=!b;let c=this.next??"stream";for(;c&&(b||this.hasChars(1));)c=yield*this.parseNext(c)}atLineEnd(){let a=this.pos,b=this.buffer[a];for(;" "===b||" "===b;)b=this.buffer[++a];return!b||"#"===b||"\n"===b||"\r"===b&&"\n"===this.buffer[a+1]}charAt(a){return this.buffer[this.pos+a]}continueScalar(a){let b=this.buffer[a];if(this.indentNext>0){let c=0;for(;" "===b;)b=this.buffer[++c+a];if("\r"===b){let b=this.buffer[c+a+1];if("\n"===b||!b&&!this.atEnd)return a+c+1}return"\n"!==b&&!(c>=this.indentNext)&&(b||this.atEnd)?-1:a+c}if("-"===b||"."===b){let b=this.buffer.substr(a,3);if(("---"===b||"..."===b)&&e(this.buffer[a+3]))return -1}return a}getLine(){let a=this.lineEndPos;return(("number"!=typeof a||-1!==a&&a<this.pos)&&(a=this.buffer.indexOf("\n",this.pos),this.lineEndPos=a),-1===a)?this.atEnd?this.buffer.substring(this.pos):null:("\r"===this.buffer[a-1]&&(a-=1),this.buffer.substring(this.pos,a))}hasChars(a){return this.pos+a<=this.buffer.length}setNext(a){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=a,null}peek(a){return this.buffer.substr(this.pos,a)}*parseNext(a){switch(a){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let a=this.getLine();if(null===a)return this.setNext("stream");if(a[0]===d.BOM&&(yield*this.pushCount(1),a=a.substring(1)),"%"===a[0]){let b=a.length,c=a.indexOf("#");for(;-1!==c;){let d=a[c-1];if(" "===d||" "===d){b=c-1;break}c=a.indexOf("#",c+1)}for(;;){let c=a[b-1];if(" "===c||" "===c)b-=1;else break}let d=(yield*this.pushCount(b))+(yield*this.pushSpaces(!0));return yield*this.pushCount(a.length-d),this.pushNewline(),"stream"}if(this.atLineEnd()){let b=yield*this.pushSpaces(!0);return yield*this.pushCount(a.length-b),yield*this.pushNewline(),"stream"}return yield d.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let a=this.charAt(0);if(!a&&!this.atEnd)return this.setNext("line-start");if("-"===a||"."===a){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let a=this.peek(3);if(("---"===a||"..."===a)&&e(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,"---"===a?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!e(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[a,b]=this.peek(2);if(!b&&!this.atEnd)return this.setNext("block-start");if(("-"===a||"?"===a||":"===a)&&e(b)){let a=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=a,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let a=this.getLine();if(null===a)return this.setNext("doc");let b=yield*this.pushIndicators();switch(a[b]){case"#":yield*this.pushCount(a.length-b);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(j),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return b+=yield*this.parseBlockScalarHeader(),b+=yield*this.pushSpaces(!0),yield*this.pushCount(a.length-b),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let a,b,c=-1;do(a=yield*this.pushNewline())>0?(b=yield*this.pushSpaces(!1),this.indentValue=c=b):b=0,b+=yield*this.pushSpaces(!0);while(a+b>0)let f=this.getLine();if(null===f)return this.setNext("flow");if((-1!==c&&c<this.indentNext&&"#"!==f[0]||0===c&&(f.startsWith("---")||f.startsWith("..."))&&e(f[3]))&&(c!==this.indentNext-1||1!==this.flowLevel||"]"!==f[0]&&"}"!==f[0]))return this.flowLevel=0,yield d.FLOW_END,yield*this.parseLineStart();let g=0;for(;","===f[g];)g+=yield*this.pushCount(1),g+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(f[g+=yield*this.pushIndicators()]){case void 0:return"flow";case"#":return yield*this.pushCount(f.length-g),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(j),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let a=this.charAt(1);if(this.flowKey||e(a)||","===a)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let a=this.charAt(0),b=this.buffer.indexOf(a,this.pos+1);if("'"===a)for(;-1!==b&&"'"===this.buffer[b+1];)b=this.buffer.indexOf("'",b+2);else for(;-1!==b;){let a=0;for(;"\\"===this.buffer[b-1-a];)a+=1;if(a%2==0)break;b=this.buffer.indexOf('"',b+1)}let c=this.buffer.substring(0,b),d=c.indexOf("\n",this.pos);if(-1!==d){for(;-1!==d;){let a=this.continueScalar(d+1);if(-1===a)break;d=c.indexOf("\n",a)}-1!==d&&(b=d-("\r"===c[d-1]?2:1))}if(-1===b){if(!this.atEnd)return this.setNext("quoted-scalar");b=this.buffer.length}return yield*this.pushToIndex(b+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let a=this.pos;for(;;){let b=this.buffer[++a];if("+"===b)this.blockScalarKeep=!0;else if(b>"0"&&b<="9")this.blockScalarIndent=Number(b)-1;else if("-"!==b)break}return yield*this.pushUntil(a=>e(a)||"#"===a)}*parseBlockScalar(){let a,b=this.pos-1,c=0;a:for(let d=this.pos;a=this.buffer[d];++d)switch(a){case" ":c+=1;break;case"\n":b=d,c=0;break;case"\r":{let a=this.buffer[d+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if("\n"===a)break}default:break a}if(!a&&!this.atEnd)return this.setNext("block-scalar");if(c>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=c:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{let a=this.continueScalar(b+1);if(-1===a)break;b=this.buffer.indexOf("\n",a)}while(-1!==b)if(-1===b){if(!this.atEnd)return this.setNext("block-scalar");b=this.buffer.length}}let e=b+1;for(a=this.buffer[e];" "===a;)a=this.buffer[++e];if(" "===a){for(;" "===a||" "===a||"\r"===a||"\n"===a;)a=this.buffer[++e];b=e-1}else if(!this.blockScalarKeep)for(;;){let a=b-1,d=this.buffer[a];"\r"===d&&(d=this.buffer[--a]);let e=a;for(;" "===d;)d=this.buffer[--a];if("\n"===d&&a>=this.pos&&a+1+c>e)b=a;else break}return yield d.SCALAR,yield*this.pushToIndex(b+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let a,b=this.flowLevel>0,c=this.pos-1,f=this.pos-1;for(;a=this.buffer[++f];)if(":"===a){let a=this.buffer[f+1];if(e(a)||b&&h.has(a))break;c=f}else if(e(a)){let d=this.buffer[f+1];if("\r"===a&&("\n"===d?(f+=1,a="\n",d=this.buffer[f+1]):c=f),"#"===d||b&&h.has(d))break;if("\n"===a){let a=this.continueScalar(f+1);if(-1===a)break;f=Math.max(f,a-2)}}else{if(b&&h.has(a))break;c=f}return a||this.atEnd?(yield d.SCALAR,yield*this.pushToIndex(c+1,!0),b?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(a){return a>0?(yield this.buffer.substr(this.pos,a),this.pos+=a,a):0}*pushToIndex(a,b){let c=this.buffer.slice(this.pos,a);return c?(yield c,this.pos+=c.length,c.length):(b&&(yield""),0)}*pushIndicators(){let a=0;for(;;){switch(this.charAt(0)){case"!":a+=yield*this.pushTag(),a+=yield*this.pushSpaces(!0);continue;case"&":a+=yield*this.pushUntil(j),a+=yield*this.pushSpaces(!0);continue;case"-":case"?":case":":{let b=this.flowLevel>0,c=this.charAt(1);if(e(c)||b&&h.has(c)){b?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,a+=yield*this.pushCount(1),a+=yield*this.pushSpaces(!0);continue}}}break}return a}*pushTag(){if("<"===this.charAt(1)){let a=this.pos+2,b=this.buffer[a];for(;!e(b)&&">"!==b;)b=this.buffer[++a];return yield*this.pushToIndex(">"===b?a+1:a,!1)}{let a=this.pos+1,b=this.buffer[a];for(;b;)if(g.has(b))b=this.buffer[++a];else if("%"===b&&f.has(this.buffer[a+1])&&f.has(this.buffer[a+2]))b=this.buffer[a+=3];else break;return yield*this.pushToIndex(a,!1)}}*pushNewline(){let a=this.buffer[this.pos];return"\n"===a?yield*this.pushCount(1):"\r"===a&&"\n"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(a){let b,c=this.pos-1;do b=this.buffer[++c];while(" "===b||a&&" "===b)let d=c-this.pos;return d>0&&(yield this.buffer.substr(this.pos,d),this.pos=c),d}*pushUntil(a){let b=this.pos,c=this.buffer[b];for(;!a(c);)c=this.buffer[++b];return yield*this.pushToIndex(b,!1)}}},46987,(a,b,c)=>{"use strict";c.LineCounter=class{constructor(){this.lineStarts=[],this.addNewLine=a=>this.lineStarts.push(a),this.linePos=a=>{let b=0,c=this.lineStarts.length;for(;b<c;){let d=b+c>>1;this.lineStarts[d]<a?b=d+1:c=d}if(this.lineStarts[b]===a)return{line:b+1,col:1};if(0===b)return{line:0,col:a};let d=this.lineStarts[b-1];return{line:b,col:a-d+1}}}}},9575,(a,b,c)=>{"use strict";var d=a.r(5365),e=a.r(2704),f=a.r(66326);function g(a,b){for(let c=0;c<a.length;++c)if(a[c].type===b)return!0;return!1}function h(a){for(let b=0;b<a.length;++b)switch(a[b].type){case"space":case"comment":case"newline":break;default:return b}return -1}function i(a){switch(a?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function j(a){switch(a.type){case"document":return a.start;case"block-map":{let b=a.items[a.items.length-1];return b.sep??b.start}case"block-seq":return a.items[a.items.length-1].start;default:return[]}}function k(a){if(0===a.length)return[];let b=a.length;a:for(;--b>=0;)switch(a[b].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break a}for(;a[++b]?.type==="space";);return a.splice(b,a.length)}function l(a,b){if(b.length<1e5)Array.prototype.push.apply(a,b);else for(let c=0;c<b.length;++c)a.push(b[c])}function m(a){if("flow-seq-start"===a.start.type)for(let b of a.items)!b.sep||b.value||g(b.start,"explicit-key-ind")||g(b.sep,"map-value-ind")||(b.key&&(b.value=b.key),delete b.key,i(b.value)?b.value.end?l(b.value.end,b.sep):b.value.end=b.sep:l(b.start,b.sep),delete b.sep)}c.Parser=class{constructor(a){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new f.Lexer,this.onNewLine=a}*parse(a,b=!1){for(let c of(this.onNewLine&&0===this.offset&&this.onNewLine(0),this.lexer.lex(a,b)))yield*this.next(c);b||(yield*this.end())}*next(a){if(this.source=a,d.env.LOG_TOKENS&&console.log("|",e.prettyToken(a)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=a.length;return}let b=e.tokenType(a);if(b)if("scalar"===b)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=b,yield*this.step(),b){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+a.length);break;case"space":this.atNewLine&&" "===a[0]&&(this.indent+=a.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=a.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=a.length}else{let b=`Not a YAML token: ${a}`;yield*this.pop({type:"error",offset:this.offset,message:b,source:a}),this.offset+=a.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let a=this.peek(1);if("doc-end"===this.type&&a?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!a)return yield*this.stream();switch(a.type){case"document":return yield*this.document(a);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(a);case"block-scalar":return yield*this.blockScalar(a);case"block-map":return yield*this.blockMap(a);case"block-seq":return yield*this.blockSequence(a);case"flow-collection":return yield*this.flowCollection(a);case"doc-end":return yield*this.documentEnd(a)}yield*this.pop()}peek(a){return this.stack[this.stack.length-a]}*pop(a){let b=a??this.stack.pop();if(b)if(0===this.stack.length)yield b;else{let a=this.peek(1);switch("block-scalar"===b.type?b.indent="indent"in a?a.indent:0:"flow-collection"===b.type&&"document"===a.type&&(b.indent=0),"flow-collection"===b.type&&m(b),a.type){case"document":a.value=b;break;case"block-scalar":a.props.push(b);break;case"block-map":{let c=a.items[a.items.length-1];if(c.value){a.items.push({start:[],key:b,sep:[]}),this.onKeyLine=!0;return}if(c.sep)c.value=b;else{Object.assign(c,{key:b,sep:[]}),this.onKeyLine=!c.explicitKey;return}break}case"block-seq":{let c=a.items[a.items.length-1];c.value?a.items.push({start:[],value:b}):c.value=b;break}case"flow-collection":{let c=a.items[a.items.length-1];!c||c.value?a.items.push({start:[],key:b,sep:[]}):c.sep?c.value=b:Object.assign(c,{key:b,sep:[]});return}default:yield*this.pop(),yield*this.pop(b)}if(("document"===a.type||"block-map"===a.type||"block-seq"===a.type)&&("block-map"===b.type||"block-seq"===b.type)){let c=b.items[b.items.length-1];c&&!c.sep&&!c.value&&c.start.length>0&&-1===h(c.start)&&(0===b.indent||c.start.every(a=>"comment"!==a.type||a.indent<b.indent))&&("document"===a.type?a.end=c.start:a.items.push({start:c.start}),b.items.splice(-1,1))}}else yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let a={type:"document",offset:this.offset,start:[]};"doc-start"===this.type&&a.start.push(this.sourceToken),this.stack.push(a);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(a){if(a.value)return yield*this.lineEnd(a);switch(this.type){case"doc-start":-1!==h(a.start)?(yield*this.pop(),yield*this.step()):a.start.push(this.sourceToken);return;case"anchor":case"tag":case"space":case"comment":case"newline":a.start.push(this.sourceToken);return}let b=this.startBlockValue(a);b?this.stack.push(b):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(a){if("map-value-ind"===this.type){let b,c=k(j(this.peek(2)));a.end?((b=a.end).push(this.sourceToken),delete a.end):b=[this.sourceToken];let d={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:b}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=d}else yield*this.lineEnd(a)}*blockScalar(a){switch(this.type){case"space":case"comment":case"newline":a.props.push(this.sourceToken);return;case"scalar":if(a.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else if(b.sep)b.sep.push(this.sourceToken);else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return}if(this.indent>=a.indent){let c=!this.onKeyLine&&this.indent===a.indent,d=c&&(b.sep||b.explicitKey)&&"seq-item-ind"!==this.type,e=[];if(d&&b.sep&&!b.value){let c=[];for(let d=0;d<b.sep.length;++d){let e=b.sep[d];switch(e.type){case"newline":c.push(d);break;case"space":break;case"comment":e.indent>a.indent&&(c.length=0);break;default:c.length=0}}c.length>=2&&(e=b.sep.splice(c[1]))}switch(this.type){case"anchor":case"tag":d||b.value?(e.push(this.sourceToken),a.items.push({start:e}),this.onKeyLine=!0):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"explicit-key-ind":b.sep||b.explicitKey?d||b.value?(e.push(this.sourceToken),a.items.push({start:e,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(b.start.push(this.sourceToken),b.explicitKey=!0),this.onKeyLine=!0;return;case"map-value-ind":if(b.explicitKey)if(b.sep)if(b.value)a.items.push({start:[],key:null,sep:[this.sourceToken]});else if(g(b.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]});else if(i(b.key)&&!g(b.sep,"newline")){let a=k(b.start),c=b.key,d=b.sep;d.push(this.sourceToken),delete b.key,delete b.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:c,sep:d}]})}else e.length>0?b.sep=b.sep.concat(e,this.sourceToken):b.sep.push(this.sourceToken);else if(g(b.start,"newline"))Object.assign(b,{key:null,sep:[this.sourceToken]});else{let a=k(b.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else b.sep?b.value||d?a.items.push({start:e,key:null,sep:[this.sourceToken]}):g(b.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);d||b.value?(a.items.push({start:e,key:c,sep:[]}),this.onKeyLine=!0):b.sep?this.stack.push(c):(Object.assign(b,{key:c,sep:[]}),this.onKeyLine=!0);return}default:{let d=this.startBlockValue(a);if(d){if("block-seq"===d.type){if(!b.explicitKey&&b.sep&&!g(b.sep,"newline"))return void(yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}))}else c&&a.items.push({start:e});this.stack.push(d);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return;case"anchor":case"tag":if(b.value||this.indent<=a.indent)break;b.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==a.indent)break;b.value||g(b.start,"seq-item-ind")?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return}if(this.indent>a.indent){let b=this.startBlockValue(a);if(b)return void this.stack.push(b)}yield*this.pop(),yield*this.step()}*flowCollection(a){let b=a.items[a.items.length-1];if("flow-error-end"===this.type){let a;do yield*this.pop(),a=this.peek(1);while(a?.type==="flow-collection")}else if(0===a.end.length){switch(this.type){case"comma":case"explicit-key-ind":!b||b.sep?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return;case"map-value-ind":!b||b.value?a.items.push({start:[],key:null,sep:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!b||b.value?a.items.push({start:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);!b||b.value?a.items.push({start:[],key:c,sep:[]}):b.sep?this.stack.push(c):Object.assign(b,{key:c,sep:[]});return}case"flow-map-end":case"flow-seq-end":a.end.push(this.sourceToken);return}let c=this.startBlockValue(a);c?this.stack.push(c):(yield*this.pop(),yield*this.step())}else{let b=this.peek(2);if("block-map"!==b.type||("map-value-ind"!==this.type||b.indent!==a.indent)&&("newline"!==this.type||b.items[b.items.length-1].sep))if("map-value-ind"===this.type&&"flow-collection"!==b.type){let c=k(j(b));m(a);let d=a.end.splice(1,a.end.length);d.push(this.sourceToken);let e={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:d}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=e}else yield*this.lineEnd(a);else yield*this.pop(),yield*this.step()}}flowScalar(a){if(this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}return{type:a,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(a){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let b=k(j(a));return b.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let b=k(j(a));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(a,b){return"comment"===this.type&&!(this.indent<=b)&&a.every(a=>"newline"===a.type||"space"===a.type)}*documentEnd(a){"doc-mode"!==this.type&&(a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(a){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}}},5013,(a,b,c)=>{"use strict";var d=a.r(19662),e=a.r(85774),f=a.r(25717),g=a.r(18114),h=a.r(27267),i=a.r(46987),j=a.r(9575);function k(a){let b=!1!==a.prettyErrors;return{lineCounter:a.lineCounter||b&&new i.LineCounter||null,prettyErrors:b}}function l(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=null;for(let b of h.compose(g.parse(a),!0,a.length))if(i){if("silent"!==i.options.logLevel){i.errors.push(new f.YAMLParseError(b.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}}else i=b;return e&&c&&(i.errors.forEach(f.prettifyError(a,c)),i.warnings.forEach(f.prettifyError(a,c))),i}c.parse=function(a,b,c){let d;"function"==typeof b?d=b:void 0===c&&b&&"object"==typeof b&&(c=b);let e=l(a,c);if(!e)return null;if(e.warnings.forEach(a=>g.warn(e.options.logLevel,a)),e.errors.length>0)if("silent"!==e.options.logLevel)throw e.errors[0];else e.errors=[];return e.toJS(Object.assign({reviver:d},c))},c.parseAllDocuments=function(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=Array.from(h.compose(g.parse(a)));if(e&&c)for(let b of i)b.errors.forEach(f.prettifyError(a,c)),b.warnings.forEach(f.prettifyError(a,c));return i.length>0?i:Object.assign([],{empty:!0},h.streamInfo())},c.parseDocument=l,c.stringify=function(a,b,c){let d=null;if("function"==typeof b||Array.isArray(b)?d=b:void 0===c&&b&&(c=b),"string"==typeof c&&(c=c.length),"number"==typeof c){let a=Math.round(c);c=a<1?void 0:a>8?{indent:8}:{indent:a}}if(void 0===a){let{keepUndefined:a}=c??b??{};if(!a)return}return h.isDocument(a)&&!d?a.toString(c):new e.Document(a,d,c).toString(c)}},22650,(a,b,c)=>{"use strict";var d=a.r(19662),e=a.r(85774),f=a.r(98027),g=a.r(25717),h=a.r(21562),i=a.r(27267),j=a.r(17602),k=a.r(27853),l=a.r(47544),m=a.r(7621),n=a.r(2704),o=a.r(66326),p=a.r(46987),q=a.r(9575),r=a.r(5013),s=a.r(85927);c.Composer=d.Composer,c.Document=e.Document,c.Schema=f.Schema,c.YAMLError=g.YAMLError,c.YAMLParseError=g.YAMLParseError,c.YAMLWarning=g.YAMLWarning,c.Alias=h.Alias,c.isAlias=i.isAlias,c.isCollection=i.isCollection,c.isDocument=i.isDocument,c.isMap=i.isMap,c.isNode=i.isNode,c.isPair=i.isPair,c.isScalar=i.isScalar,c.isSeq=i.isSeq,c.Pair=j.Pair,c.Scalar=k.Scalar,c.YAMLMap=l.YAMLMap,c.YAMLSeq=m.YAMLSeq,c.CST=n,c.Lexer=o.Lexer,c.LineCounter=p.LineCounter,c.Parser=q.Parser,c.parse=r.parse,c.parseAllDocuments=r.parseAllDocuments,c.parseDocument=r.parseDocument,c.stringify=r.stringify,c.visit=s.visit,c.visitAsync=s.visitAsync},73338,a=>{"use strict";var b=a.i(36359),c=a.i(7292),d=a.i(37936),e=a.i(2157),f=a.i(66680),g=a.i(50227);a.i(8674),a.i(1144);var h=a.i(75818),i=a.i(13095);async function j(){return function(a=Date.now()){let b,c,d=(c=process.env.FAILPROOFAI_STATE_DIR)?(0,g.resolve)(c,"sessions"):(0,h.sessionPauseDir)();if(!(0,e.existsSync)(d))return[];let f=[];try{b=(0,e.readdirSync)(d)}catch{return[]}for(let c of b)if(c.endsWith(".json"))try{let b=function(a){if(!a||"object"!=typeof a||1!==a.schemaVersion||"string"!=typeof a.sessionId||0===a.sessionId.length||!Number.isFinite(a.pausedAt)||!Number.isFinite(a.expiresAt))return null;let b=a.pausedAt,c=Number.isFinite(a.firstPausedAt)?a.firstPausedAt:b;return{schemaVersion:1,sessionId:a.sessionId,pausedAt:b,firstPausedAt:c,expiresAt:Math.min(a.expiresAt,c+288e5),setBy:"string"==typeof a.setBy?a.setBy:"unknown",..."string"==typeof a.cwd?{cwd:a.cwd}:{}}}(JSON.parse((0,e.readFileSync)((0,g.join)(d,c),"utf8")));if(!b||b.expiresAt<=a)continue;let{schemaVersion:h,...i}=b;f.push(i)}catch{}return f.sort((a,b)=>b.pausedAt-a.pausedAt)}()}(0,i.ensureServerEntryExports)([j]),(0,d.registerServerReference)(j,"001bbf4af11d93677c03e58e9f370280b80ac5a00f",null);var k=a.i(28120),l=a.i(74533),m=a.i(60526);let n=["user","project","local"],o=["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],p=["session_start","pre_tool_use","permission_request","post_tool_use","user_prompt_submit","stop","subagent_start","pre_compact","post_compact","subagent_stop"],q={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"},r=["pre_tool_call","post_tool_call","on_session_start","on_session_end","subagent_stop"],s=["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PostToolUse","Stop","SubagentStop","PostToolUseFailure","ErrorOccurred","PreCompact","PermissionRequest","Notification"],t=["sessionStart","sessionEnd","beforeSubmitPrompt","preToolUse","postToolUse","stop","subagentStop"],u=["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","Notification","Stop","SubagentStop","PreCompact","SessionEnd"],v=["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","PermissionRequest","Stop","SessionEnd"],w=["PreToolUse","PostToolUse","PreInvocation","Stop"],x=["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","SessionEnd"],y=["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),z="__failproofai_hook__";var A=a.i(57764),B=a.i(22650),C=a.i(43600),D={get url(){return a.F("src/hooks/integrations.ts")},env:{DEV:!1,PROD:!0,MODE:"production",BASE_URL:"/",SSR:!0}};function E(a){return(0,e.existsSync)(a)?JSON.parse((0,e.readFileSync)(a,"utf8")):{}}function F(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0}),(0,e.writeFileSync)(a,JSON.stringify(b,null,2)+"\n","utf8")}function G(a){try{return(0,e.existsSync)(a)?(0,B.parseDocument)((0,e.readFileSync)(a,"utf8")):(0,B.parseDocument)("")}catch{return(0,B.parseDocument)("")}}function H(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0}),(0,e.writeFileSync)(a,b.toString(),"utf8")}function I(a){if(!a||"object"!=typeof a)return!1;if(!0===a[z])return!0;let b="string"==typeof a.command?a.command:"";return b.includes("failproofai")&&b.includes("--hook")}function J(a){return"version"in a&&(delete a.version,!0)}function K(a){try{let b=`which ${a}`;return(0,l.execSync)(b,{encoding:"utf8",stdio:"pipe"}),!0}catch{return!1}}function L(a,b,c){let d=a.getSettingsPaths?.(b,c);return d&&d.length>0?d:[a.getSettingsPath(b,c)]}let M={id:"claude",displayName:"Claude Code",scopes:n,eventTypes:y,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".claude","settings.json");case"project":return(0,g.resolve)(c,".claude","settings.json");case"local":return(0,g.resolve)(c,".claude","settings.local.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b}`:`"${a}" --hook ${b}`,timeout:60,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){a.hooks||(a.hooks={});let d=new Set(y);for(let b of Object.keys(a.hooks)){if(d.has(b))continue;let c=a.hooks[b];if(!Array.isArray(c))continue;let e=[];for(let a of c){if(!a||!Array.isArray(a.hooks)){a&&e.push(a);continue}let b=a.hooks.length;a.hooks=a.hooks.filter(a=>!I(a)),0===a.hooks.length&&b>0||e.push(a)}a.hooks[b]=e,0===e.length&&delete a.hooks[b]}for(let d of y){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=>I(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=>!I(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 c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);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=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("claude")||K("claude-code")};function N(a){if(!0===a[z])return!0;for(let b of["string"==typeof a.bash?a.bash:"","string"==typeof a.powershell?a.powershell:""])if(b.includes("failproofai")&&b.includes("--hook"))return!0;return!1}let O="./plugins/failproofai.mjs";function P(a){return(0,g.resolve)((0,g.dirname)(a),"plugins","failproofai.mjs")}function Q(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,g.resolve)(a,"pi-extension"):(0,g.resolve)((0,A.fileURLToPath)(D.url),"..","..","..","pi-extension")}function R(a){return"string"==typeof a&&(!!/(?:^|\/)pi-extension\/?$/.test(a)||a.includes("pi-extension")&&a.includes("failproofai"))}let S="failproofai";function T(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,g.resolve)(a,"openclaw-plugin"):(0,g.resolve)((0,A.fileURLToPath)(D.url),"..","..","..","openclaw-plugin")}function U(a){return"string"==typeof a&&(/(?:^|\/)openclaw-plugin\/?$/.test(a)||a.includes("openclaw-plugin")&&a.includes("failproofai"))}let V="failproofai",W=new Set(["PreToolUse","PostToolUse"]);function X(a){if(!a||"object"!=typeof a)return!1;let b=a.command;return"string"==typeof b&&b.includes("failproofai")&&b.includes("--cli goose")}let Y={claude:M,codex:{id:"codex",displayName:"OpenAI Codex",scopes:["user","project"],eventTypes:p,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".codex","hooks.json");case"project":case"local":return(0,g.resolve)(c,".codex","hooks.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli codex`:`"${a}" --hook ${b} --cli codex`,timeout:60,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){for(let d of(J(a),a.hooks||(a.hooks={}),p)){let e=q[d],f=this.buildHookEntry(b,d,c);a.hooks[e]||(a.hooks[e]=[]);let g=a.hooks[e],h=!1;for(let a of g){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>I(a));if(b>=0){a.hooks[b]=f,h=!0;break}}h||g.push({hooks:[f]})}},removeHooksFromFile(a){let b=this.readSettings(a),c=J(b);if(!b.hooks)return c&&this.writeSettings(a,b),0;let d=0;for(let a of Object.keys(b.hooks)){let c=b.hooks[a];if(Array.isArray(c)){for(let a=c.length-1;a>=0;a--){let b=c[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!I(a)),d+=e-b.hooks.length,0===b.hooks.length&&c.splice(a,1)}0===c.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,(d>0||c)&&this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);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=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("codex")},copilot:{id:"copilot",displayName:"GitHub Copilot",scopes:["user","project"],eventTypes:s,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".copilot","hooks","failproofai.json");case"project":case"local":return(0,g.resolve)(c,".github","hooks","failproofai.json")}},readSettings(a){let b=E(a);return void 0===b.version&&(b.version=1),b},writeSettings(a,b){F(a,b)},buildHookEntry(a,b,c){let d="project"===c?`npx -y failproofai --hook ${b} --cli copilot`:`"${a}" --hook ${b} --cli copilot`;return{type:"command",bash:d,powershell:d,timeoutSec:60,[z]:!0}},isFailproofaiHook:N,writeHookEntries(a,b,c){for(let d of(void 0===a.version&&(a.version=1),a.hooks||(a.hooks={}),s)){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=>N(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=>!N(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 c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);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=>N(a)))return!0}}catch{}return!1},detectInstalled:()=>K("copilot")},cursor:{id:"cursor",displayName:"Cursor Agent",scopes:["user","project"],eventTypes:t,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".cursor","hooks.json");case"project":case"local":return(0,g.resolve)(c,".cursor","hooks.json")}},readSettings(a){let b=E(a);return void 0===b.version&&(b.version=1),b},writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli cursor`:`"${a}" --hook ${b} --cli cursor`,timeout:60,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){for(let d of(void 0===a.version&&(a.version=1),a.hooks||(a.hooks={}),t)){let e=this.buildHookEntry(b,d,c),f=a.hooks[d],g=f??[];f||(a.hooks[d]=g);let h=g.findIndex(a=>I(a));h>=0?g[h]=e:g.push(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))continue;let e=d.length,f=d.filter(a=>!I(a));c+=e-f.length,0===f.length?delete b.hooks[a]:b.hooks[a]=f}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)&&b.some(a=>I(a)))return!0}catch{}return!1},detectInstalled:()=>K("cursor-agent")||K("agent")},opencode:{id:"opencode",displayName:"OpenCode",scopes:["user","project"],eventTypes:["tool.execute.before","tool.execute.after","session.created","session.deleted","session.idle","message.updated","permission.ask"],getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".config","opencode","opencode.json");case"project":case"local":return(0,g.resolve)(c,".opencode","opencode.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry(a,b,c){if("user"===c){let a=(0,g.resolve)((0,m.homedir)(),".config","opencode","plugins","failproofai.mjs");return{spec:`file://${a}`,[z]:!0}}return{spec:O,[z]:!0}},isFailproofaiHook:a=>"string"==typeof a?a.includes("failproofai.mjs"):!!Array.isArray(a)&&"string"==typeof a[0]&&a[0].includes("failproofai.mjs"),writeHookEntries(a,b,c){let d,f,h=c??"project",i=P("user"===h?(0,g.resolve)((0,m.homedir)(),".config","opencode","opencode.json"):(0,g.resolve)(process.cwd(),".opencode","opencode.json"));(0,e.mkdirSync)((0,g.dirname)(i),{recursive:!0}),(0,e.writeFileSync)(i,(f=(d="project"===h)?'""':JSON.stringify(b),`// AUTO-GENERATED by failproofai. ${z}
|
|
25
|
+
${b.comment}`:b.comment}this.doc.range[2]=b.offset;break}default:this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",`Unsupported token ${a.type}`))}}*end(a=!1,b=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(a){let a=Object.assign({_directives:this.directives},this.options),c=new f.Document(void 0,a);this.atDirectives&&this.onError(b,"MISSING_CHAR","Missing directives-end indicator line"),c.range=[0,b,b],this.decorate(c,!1),yield c}}}},86888,(a,b,c)=>{"use strict";var d=a.r(71014),e=a.r(21525),f=a.r(25717),g=a.r(88583);function h(a,b){if(b)for(let c of b)switch(c.type){case"space":case"comment":a.push(c);break;case"newline":return a.push(c),!0}return!1}function i(a,b,c){switch(a.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":a.type=c,a.source=b;break;case"block-scalar":{let d=a.props.slice(1),e=b.length;for(let b of("block-scalar-header"===a.props[0].type&&(e-=a.props[0].source.length),d))b.offset+=e;delete a.props,Object.assign(a,{type:c,source:b,end:d});break}case"block-map":case"block-seq":{let d={type:"newline",offset:a.offset+b.length,indent:a.indent,source:"\n"};delete a.items,Object.assign(a,{type:c,source:b,end:[d]});break}default:{let d="indent"in a?a.indent:-1,e="end"in a&&Array.isArray(a.end)?a.end.filter(a=>"space"===a.type||"comment"===a.type||"newline"===a.type):[];for(let b of Object.keys(a))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:c,indent:d,source:b,end:e})}}}c.createScalarToken=function(a,b){let{implicitKey:c=!1,indent:d,inFlow:e=!1,offset:f=-1,type:i="PLAIN"}=b,j=g.stringifyString({type:i,value:a},{implicitKey:c,indent:d>0?" ".repeat(d):"",inFlow:e,options:{blockQuote:!0,lineWidth:-1}}),k=b.end??[{type:"newline",offset:-1,indent:d,source:"\n"}];switch(j[0]){case"|":case">":{let a=j.indexOf("\n"),b=j.substring(0,a),c=j.substring(a+1)+"\n",e=[{type:"block-scalar-header",offset:f,indent:d,source:b}];return h(e,k)||e.push({type:"newline",offset:-1,indent:d,source:"\n"}),{type:"block-scalar",offset:f,indent:d,props:e,source:c}}case'"':return{type:"double-quoted-scalar",offset:f,indent:d,source:j,end:k};case"'":return{type:"single-quoted-scalar",offset:f,indent:d,source:j,end:k};default:return{type:"scalar",offset:f,indent:d,source:j,end:k}}},c.resolveAsScalar=function(a,b=!0,c){if(a){let g=(a,b,d)=>{let e="number"==typeof a?a:Array.isArray(a)?a[0]:a.offset;if(c)c(e,b,d);else throw new f.YAMLParseError([e,e+1],b,d)};switch(a.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return e.resolveFlowScalar(a,b,g);case"block-scalar":return d.resolveBlockScalar({options:{strict:b}},a,g)}}return null},c.setScalarValue=function(a,b,c={}){let{afterKey:d=!1,implicitKey:e=!1,inFlow:f=!1,type:j}=c,k="indent"in a?a.indent:null;if(d&&"number"==typeof k&&(k+=2),!j)switch(a.type){case"single-quoted-scalar":j="QUOTE_SINGLE";break;case"double-quoted-scalar":j="QUOTE_DOUBLE";break;case"block-scalar":{let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");j=">"===b.source[0]?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:j="PLAIN"}let l=g.stringifyString({type:j,value:b},{implicitKey:e||null===k,indent:null!==k&&k>0?" ".repeat(k):"",inFlow:f,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":!function(a,b){let c=b.indexOf("\n"),d=b.substring(0,c),e=b.substring(c+1)+"\n";if("block-scalar"===a.type){let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");b.source=d,a.source=e}else{let{offset:b}=a,c="indent"in a?a.indent:-1,f=[{type:"block-scalar-header",offset:b,indent:c,source:d}];for(let b of(h(f,"end"in a?a.end:void 0)||f.push({type:"newline",offset:-1,indent:c,source:"\n"}),Object.keys(a)))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:"block-scalar",indent:c,props:f,source:e})}}(a,l);break;case'"':i(a,l,"double-quoted-scalar");break;case"'":i(a,l,"single-quoted-scalar");break;default:i(a,l,"scalar")}}},25449,(a,b,c)=>{"use strict";function d(a){switch(a.type){case"block-scalar":{let b="";for(let c of a.props)b+=d(c);return b+a.source}case"block-map":case"block-seq":{let b="";for(let c of a.items)b+=e(c);return b}case"flow-collection":{let b=a.start.source;for(let c of a.items)b+=e(c);for(let c of a.end)b+=c.source;return b}case"document":{let b=e(a);if(a.end)for(let c of a.end)b+=c.source;return b}default:{let b=a.source;if("end"in a&&a.end)for(let c of a.end)b+=c.source;return b}}}function e({start:a,key:b,sep:c,value:f}){let g="";for(let b of a)g+=b.source;if(b&&(g+=d(b)),c)for(let a of c)g+=a.source;return f&&(g+=d(f)),g}c.stringify=a=>"type"in a?d(a):e(a)},2135,(a,b,c)=>{"use strict";let d=Symbol("break visit"),e=Symbol("skip children"),f=Symbol("remove item");function g(a,b){"type"in a&&"document"===a.type&&(a={start:a.start,value:a.value}),function a(b,c,e){let g=e(c,b);if("symbol"==typeof g)return g;for(let h of["key","value"]){let i=c[h];if(i&&"items"in i){for(let c=0;c<i.items.length;++c){let g=a(Object.freeze(b.concat([[h,c]])),i.items[c],e);if("number"==typeof g)c=g-1;else{if(g===d)return d;g===f&&(i.items.splice(c,1),c-=1)}}"function"==typeof g&&"key"===h&&(g=g(c,b))}}return"function"==typeof g?g(c,b):g}(Object.freeze([]),a,b)}g.BREAK=d,g.SKIP=e,g.REMOVE=f,g.itemAtPath=(a,b)=>{let c=a;for(let[a,d]of b){let b=c?.[a];if(!b||!("items"in b))return;c=b.items[d]}return c},g.parentCollection=(a,b)=>{let c=g.itemAtPath(a,b.slice(0,-1)),d=b[b.length-1][0],e=c?.[d];if(e&&"items"in e)return e;throw Error("Parent collection not found")},c.visit=g},2704,(a,b,c)=>{"use strict";var d=a.r(86888),e=a.r(25449),f=a.r(2135);c.createScalarToken=d.createScalarToken,c.resolveAsScalar=d.resolveAsScalar,c.setScalarValue=d.setScalarValue,c.stringify=e.stringify,c.visit=f.visit,c.BOM="\uFEFF",c.DOCUMENT="\x02",c.FLOW_END="\x18",c.SCALAR="\x1f",c.isCollection=a=>!!a&&"items"in a,c.isScalar=a=>!!a&&("scalar"===a.type||"single-quoted-scalar"===a.type||"double-quoted-scalar"===a.type||"block-scalar"===a.type),c.prettyToken=function(a){switch(a){case"\uFEFF":return"<BOM>";case"\x02":return"<DOC>";case"\x18":return"<FLOW_END>";case"\x1f":return"<SCALAR>";default:return JSON.stringify(a)}},c.tokenType=function(a){switch(a){case"\uFEFF":return"byte-order-mark";case"\x02":return"doc-mode";case"\x18":return"flow-error-end";case"\x1f":return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case"\n":case"\r\n":return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(a[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}},66326,(a,b,c)=>{"use strict";var d=a.r(2704);function e(a){switch(a){case void 0:case" ":case"\n":case"\r":case" ":return!0;default:return!1}}let f=new Set("0123456789ABCDEFabcdef"),g=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),h=new Set(",[]{}"),i=new Set(" ,[]{}\n\r "),j=a=>!a||i.has(a);c.Lexer=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(a,b=!1){if(a){if("string"!=typeof a)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+a:a,this.lineEndPos=null}this.atEnd=!b;let c=this.next??"stream";for(;c&&(b||this.hasChars(1));)c=yield*this.parseNext(c)}atLineEnd(){let a=this.pos,b=this.buffer[a];for(;" "===b||" "===b;)b=this.buffer[++a];return!b||"#"===b||"\n"===b||"\r"===b&&"\n"===this.buffer[a+1]}charAt(a){return this.buffer[this.pos+a]}continueScalar(a){let b=this.buffer[a];if(this.indentNext>0){let c=0;for(;" "===b;)b=this.buffer[++c+a];if("\r"===b){let b=this.buffer[c+a+1];if("\n"===b||!b&&!this.atEnd)return a+c+1}return"\n"!==b&&!(c>=this.indentNext)&&(b||this.atEnd)?-1:a+c}if("-"===b||"."===b){let b=this.buffer.substr(a,3);if(("---"===b||"..."===b)&&e(this.buffer[a+3]))return -1}return a}getLine(){let a=this.lineEndPos;return(("number"!=typeof a||-1!==a&&a<this.pos)&&(a=this.buffer.indexOf("\n",this.pos),this.lineEndPos=a),-1===a)?this.atEnd?this.buffer.substring(this.pos):null:("\r"===this.buffer[a-1]&&(a-=1),this.buffer.substring(this.pos,a))}hasChars(a){return this.pos+a<=this.buffer.length}setNext(a){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=a,null}peek(a){return this.buffer.substr(this.pos,a)}*parseNext(a){switch(a){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let a=this.getLine();if(null===a)return this.setNext("stream");if(a[0]===d.BOM&&(yield*this.pushCount(1),a=a.substring(1)),"%"===a[0]){let b=a.length,c=a.indexOf("#");for(;-1!==c;){let d=a[c-1];if(" "===d||" "===d){b=c-1;break}c=a.indexOf("#",c+1)}for(;;){let c=a[b-1];if(" "===c||" "===c)b-=1;else break}let d=(yield*this.pushCount(b))+(yield*this.pushSpaces(!0));return yield*this.pushCount(a.length-d),this.pushNewline(),"stream"}if(this.atLineEnd()){let b=yield*this.pushSpaces(!0);return yield*this.pushCount(a.length-b),yield*this.pushNewline(),"stream"}return yield d.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let a=this.charAt(0);if(!a&&!this.atEnd)return this.setNext("line-start");if("-"===a||"."===a){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let a=this.peek(3);if(("---"===a||"..."===a)&&e(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,"---"===a?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!e(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[a,b]=this.peek(2);if(!b&&!this.atEnd)return this.setNext("block-start");if(("-"===a||"?"===a||":"===a)&&e(b)){let a=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=a,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let a=this.getLine();if(null===a)return this.setNext("doc");let b=yield*this.pushIndicators();switch(a[b]){case"#":yield*this.pushCount(a.length-b);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(j),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return b+=yield*this.parseBlockScalarHeader(),b+=yield*this.pushSpaces(!0),yield*this.pushCount(a.length-b),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let a,b,c=-1;do(a=yield*this.pushNewline())>0?(b=yield*this.pushSpaces(!1),this.indentValue=c=b):b=0,b+=yield*this.pushSpaces(!0);while(a+b>0)let f=this.getLine();if(null===f)return this.setNext("flow");if((-1!==c&&c<this.indentNext&&"#"!==f[0]||0===c&&(f.startsWith("---")||f.startsWith("..."))&&e(f[3]))&&(c!==this.indentNext-1||1!==this.flowLevel||"]"!==f[0]&&"}"!==f[0]))return this.flowLevel=0,yield d.FLOW_END,yield*this.parseLineStart();let g=0;for(;","===f[g];)g+=yield*this.pushCount(1),g+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(f[g+=yield*this.pushIndicators()]){case void 0:return"flow";case"#":return yield*this.pushCount(f.length-g),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(j),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let a=this.charAt(1);if(this.flowKey||e(a)||","===a)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let a=this.charAt(0),b=this.buffer.indexOf(a,this.pos+1);if("'"===a)for(;-1!==b&&"'"===this.buffer[b+1];)b=this.buffer.indexOf("'",b+2);else for(;-1!==b;){let a=0;for(;"\\"===this.buffer[b-1-a];)a+=1;if(a%2==0)break;b=this.buffer.indexOf('"',b+1)}let c=this.buffer.substring(0,b),d=c.indexOf("\n",this.pos);if(-1!==d){for(;-1!==d;){let a=this.continueScalar(d+1);if(-1===a)break;d=c.indexOf("\n",a)}-1!==d&&(b=d-("\r"===c[d-1]?2:1))}if(-1===b){if(!this.atEnd)return this.setNext("quoted-scalar");b=this.buffer.length}return yield*this.pushToIndex(b+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let a=this.pos;for(;;){let b=this.buffer[++a];if("+"===b)this.blockScalarKeep=!0;else if(b>"0"&&b<="9")this.blockScalarIndent=Number(b)-1;else if("-"!==b)break}return yield*this.pushUntil(a=>e(a)||"#"===a)}*parseBlockScalar(){let a,b=this.pos-1,c=0;a:for(let d=this.pos;a=this.buffer[d];++d)switch(a){case" ":c+=1;break;case"\n":b=d,c=0;break;case"\r":{let a=this.buffer[d+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if("\n"===a)break}default:break a}if(!a&&!this.atEnd)return this.setNext("block-scalar");if(c>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=c:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{let a=this.continueScalar(b+1);if(-1===a)break;b=this.buffer.indexOf("\n",a)}while(-1!==b)if(-1===b){if(!this.atEnd)return this.setNext("block-scalar");b=this.buffer.length}}let e=b+1;for(a=this.buffer[e];" "===a;)a=this.buffer[++e];if(" "===a){for(;" "===a||" "===a||"\r"===a||"\n"===a;)a=this.buffer[++e];b=e-1}else if(!this.blockScalarKeep)for(;;){let a=b-1,d=this.buffer[a];"\r"===d&&(d=this.buffer[--a]);let e=a;for(;" "===d;)d=this.buffer[--a];if("\n"===d&&a>=this.pos&&a+1+c>e)b=a;else break}return yield d.SCALAR,yield*this.pushToIndex(b+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let a,b=this.flowLevel>0,c=this.pos-1,f=this.pos-1;for(;a=this.buffer[++f];)if(":"===a){let a=this.buffer[f+1];if(e(a)||b&&h.has(a))break;c=f}else if(e(a)){let d=this.buffer[f+1];if("\r"===a&&("\n"===d?(f+=1,a="\n",d=this.buffer[f+1]):c=f),"#"===d||b&&h.has(d))break;if("\n"===a){let a=this.continueScalar(f+1);if(-1===a)break;f=Math.max(f,a-2)}}else{if(b&&h.has(a))break;c=f}return a||this.atEnd?(yield d.SCALAR,yield*this.pushToIndex(c+1,!0),b?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(a){return a>0?(yield this.buffer.substr(this.pos,a),this.pos+=a,a):0}*pushToIndex(a,b){let c=this.buffer.slice(this.pos,a);return c?(yield c,this.pos+=c.length,c.length):(b&&(yield""),0)}*pushIndicators(){let a=0;for(;;){switch(this.charAt(0)){case"!":a+=yield*this.pushTag(),a+=yield*this.pushSpaces(!0);continue;case"&":a+=yield*this.pushUntil(j),a+=yield*this.pushSpaces(!0);continue;case"-":case"?":case":":{let b=this.flowLevel>0,c=this.charAt(1);if(e(c)||b&&h.has(c)){b?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,a+=yield*this.pushCount(1),a+=yield*this.pushSpaces(!0);continue}}}break}return a}*pushTag(){if("<"===this.charAt(1)){let a=this.pos+2,b=this.buffer[a];for(;!e(b)&&">"!==b;)b=this.buffer[++a];return yield*this.pushToIndex(">"===b?a+1:a,!1)}{let a=this.pos+1,b=this.buffer[a];for(;b;)if(g.has(b))b=this.buffer[++a];else if("%"===b&&f.has(this.buffer[a+1])&&f.has(this.buffer[a+2]))b=this.buffer[a+=3];else break;return yield*this.pushToIndex(a,!1)}}*pushNewline(){let a=this.buffer[this.pos];return"\n"===a?yield*this.pushCount(1):"\r"===a&&"\n"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(a){let b,c=this.pos-1;do b=this.buffer[++c];while(" "===b||a&&" "===b)let d=c-this.pos;return d>0&&(yield this.buffer.substr(this.pos,d),this.pos=c),d}*pushUntil(a){let b=this.pos,c=this.buffer[b];for(;!a(c);)c=this.buffer[++b];return yield*this.pushToIndex(b,!1)}}},46987,(a,b,c)=>{"use strict";c.LineCounter=class{constructor(){this.lineStarts=[],this.addNewLine=a=>this.lineStarts.push(a),this.linePos=a=>{let b=0,c=this.lineStarts.length;for(;b<c;){let d=b+c>>1;this.lineStarts[d]<a?b=d+1:c=d}if(this.lineStarts[b]===a)return{line:b+1,col:1};if(0===b)return{line:0,col:a};let d=this.lineStarts[b-1];return{line:b,col:a-d+1}}}}},9575,(a,b,c)=>{"use strict";var d=a.r(5365),e=a.r(2704),f=a.r(66326);function g(a,b){for(let c=0;c<a.length;++c)if(a[c].type===b)return!0;return!1}function h(a){for(let b=0;b<a.length;++b)switch(a[b].type){case"space":case"comment":case"newline":break;default:return b}return -1}function i(a){switch(a?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function j(a){switch(a.type){case"document":return a.start;case"block-map":{let b=a.items[a.items.length-1];return b.sep??b.start}case"block-seq":return a.items[a.items.length-1].start;default:return[]}}function k(a){if(0===a.length)return[];let b=a.length;a:for(;--b>=0;)switch(a[b].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break a}for(;a[++b]?.type==="space";);return a.splice(b,a.length)}function l(a,b){if(b.length<1e5)Array.prototype.push.apply(a,b);else for(let c=0;c<b.length;++c)a.push(b[c])}function m(a){if("flow-seq-start"===a.start.type)for(let b of a.items)!b.sep||b.value||g(b.start,"explicit-key-ind")||g(b.sep,"map-value-ind")||(b.key&&(b.value=b.key),delete b.key,i(b.value)?b.value.end?l(b.value.end,b.sep):b.value.end=b.sep:l(b.start,b.sep),delete b.sep)}c.Parser=class{constructor(a){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new f.Lexer,this.onNewLine=a}*parse(a,b=!1){for(let c of(this.onNewLine&&0===this.offset&&this.onNewLine(0),this.lexer.lex(a,b)))yield*this.next(c);b||(yield*this.end())}*next(a){if(this.source=a,d.env.LOG_TOKENS&&console.log("|",e.prettyToken(a)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=a.length;return}let b=e.tokenType(a);if(b)if("scalar"===b)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=b,yield*this.step(),b){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+a.length);break;case"space":this.atNewLine&&" "===a[0]&&(this.indent+=a.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=a.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=a.length}else{let b=`Not a YAML token: ${a}`;yield*this.pop({type:"error",offset:this.offset,message:b,source:a}),this.offset+=a.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let a=this.peek(1);if("doc-end"===this.type&&a?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!a)return yield*this.stream();switch(a.type){case"document":return yield*this.document(a);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(a);case"block-scalar":return yield*this.blockScalar(a);case"block-map":return yield*this.blockMap(a);case"block-seq":return yield*this.blockSequence(a);case"flow-collection":return yield*this.flowCollection(a);case"doc-end":return yield*this.documentEnd(a)}yield*this.pop()}peek(a){return this.stack[this.stack.length-a]}*pop(a){let b=a??this.stack.pop();if(b)if(0===this.stack.length)yield b;else{let a=this.peek(1);switch("block-scalar"===b.type?b.indent="indent"in a?a.indent:0:"flow-collection"===b.type&&"document"===a.type&&(b.indent=0),"flow-collection"===b.type&&m(b),a.type){case"document":a.value=b;break;case"block-scalar":a.props.push(b);break;case"block-map":{let c=a.items[a.items.length-1];if(c.value){a.items.push({start:[],key:b,sep:[]}),this.onKeyLine=!0;return}if(c.sep)c.value=b;else{Object.assign(c,{key:b,sep:[]}),this.onKeyLine=!c.explicitKey;return}break}case"block-seq":{let c=a.items[a.items.length-1];c.value?a.items.push({start:[],value:b}):c.value=b;break}case"flow-collection":{let c=a.items[a.items.length-1];!c||c.value?a.items.push({start:[],key:b,sep:[]}):c.sep?c.value=b:Object.assign(c,{key:b,sep:[]});return}default:yield*this.pop(),yield*this.pop(b)}if(("document"===a.type||"block-map"===a.type||"block-seq"===a.type)&&("block-map"===b.type||"block-seq"===b.type)){let c=b.items[b.items.length-1];c&&!c.sep&&!c.value&&c.start.length>0&&-1===h(c.start)&&(0===b.indent||c.start.every(a=>"comment"!==a.type||a.indent<b.indent))&&("document"===a.type?a.end=c.start:a.items.push({start:c.start}),b.items.splice(-1,1))}}else yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let a={type:"document",offset:this.offset,start:[]};"doc-start"===this.type&&a.start.push(this.sourceToken),this.stack.push(a);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(a){if(a.value)return yield*this.lineEnd(a);switch(this.type){case"doc-start":-1!==h(a.start)?(yield*this.pop(),yield*this.step()):a.start.push(this.sourceToken);return;case"anchor":case"tag":case"space":case"comment":case"newline":a.start.push(this.sourceToken);return}let b=this.startBlockValue(a);b?this.stack.push(b):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(a){if("map-value-ind"===this.type){let b,c=k(j(this.peek(2)));a.end?((b=a.end).push(this.sourceToken),delete a.end):b=[this.sourceToken];let d={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:b}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=d}else yield*this.lineEnd(a)}*blockScalar(a){switch(this.type){case"space":case"comment":case"newline":a.props.push(this.sourceToken);return;case"scalar":if(a.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else if(b.sep)b.sep.push(this.sourceToken);else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return}if(this.indent>=a.indent){let c=!this.onKeyLine&&this.indent===a.indent,d=c&&(b.sep||b.explicitKey)&&"seq-item-ind"!==this.type,e=[];if(d&&b.sep&&!b.value){let c=[];for(let d=0;d<b.sep.length;++d){let e=b.sep[d];switch(e.type){case"newline":c.push(d);break;case"space":break;case"comment":e.indent>a.indent&&(c.length=0);break;default:c.length=0}}c.length>=2&&(e=b.sep.splice(c[1]))}switch(this.type){case"anchor":case"tag":d||b.value?(e.push(this.sourceToken),a.items.push({start:e}),this.onKeyLine=!0):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"explicit-key-ind":b.sep||b.explicitKey?d||b.value?(e.push(this.sourceToken),a.items.push({start:e,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(b.start.push(this.sourceToken),b.explicitKey=!0),this.onKeyLine=!0;return;case"map-value-ind":if(b.explicitKey)if(b.sep)if(b.value)a.items.push({start:[],key:null,sep:[this.sourceToken]});else if(g(b.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]});else if(i(b.key)&&!g(b.sep,"newline")){let a=k(b.start),c=b.key,d=b.sep;d.push(this.sourceToken),delete b.key,delete b.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:c,sep:d}]})}else e.length>0?b.sep=b.sep.concat(e,this.sourceToken):b.sep.push(this.sourceToken);else if(g(b.start,"newline"))Object.assign(b,{key:null,sep:[this.sourceToken]});else{let a=k(b.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else b.sep?b.value||d?a.items.push({start:e,key:null,sep:[this.sourceToken]}):g(b.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);d||b.value?(a.items.push({start:e,key:c,sep:[]}),this.onKeyLine=!0):b.sep?this.stack.push(c):(Object.assign(b,{key:c,sep:[]}),this.onKeyLine=!0);return}default:{let d=this.startBlockValue(a);if(d){if("block-seq"===d.type){if(!b.explicitKey&&b.sep&&!g(b.sep,"newline"))return void(yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}))}else c&&a.items.push({start:e});this.stack.push(d);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return;case"anchor":case"tag":if(b.value||this.indent<=a.indent)break;b.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==a.indent)break;b.value||g(b.start,"seq-item-ind")?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return}if(this.indent>a.indent){let b=this.startBlockValue(a);if(b)return void this.stack.push(b)}yield*this.pop(),yield*this.step()}*flowCollection(a){let b=a.items[a.items.length-1];if("flow-error-end"===this.type){let a;do yield*this.pop(),a=this.peek(1);while(a?.type==="flow-collection")}else if(0===a.end.length){switch(this.type){case"comma":case"explicit-key-ind":!b||b.sep?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return;case"map-value-ind":!b||b.value?a.items.push({start:[],key:null,sep:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!b||b.value?a.items.push({start:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);!b||b.value?a.items.push({start:[],key:c,sep:[]}):b.sep?this.stack.push(c):Object.assign(b,{key:c,sep:[]});return}case"flow-map-end":case"flow-seq-end":a.end.push(this.sourceToken);return}let c=this.startBlockValue(a);c?this.stack.push(c):(yield*this.pop(),yield*this.step())}else{let b=this.peek(2);if("block-map"!==b.type||("map-value-ind"!==this.type||b.indent!==a.indent)&&("newline"!==this.type||b.items[b.items.length-1].sep))if("map-value-ind"===this.type&&"flow-collection"!==b.type){let c=k(j(b));m(a);let d=a.end.splice(1,a.end.length);d.push(this.sourceToken);let e={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:d}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=e}else yield*this.lineEnd(a);else yield*this.pop(),yield*this.step()}}flowScalar(a){if(this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}return{type:a,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(a){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let b=k(j(a));return b.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let b=k(j(a));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(a,b){return"comment"===this.type&&!(this.indent<=b)&&a.every(a=>"newline"===a.type||"space"===a.type)}*documentEnd(a){"doc-mode"!==this.type&&(a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(a){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}}},5013,(a,b,c)=>{"use strict";var d=a.r(19662),e=a.r(85774),f=a.r(25717),g=a.r(18114),h=a.r(27267),i=a.r(46987),j=a.r(9575);function k(a){let b=!1!==a.prettyErrors;return{lineCounter:a.lineCounter||b&&new i.LineCounter||null,prettyErrors:b}}function l(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=null;for(let b of h.compose(g.parse(a),!0,a.length))if(i){if("silent"!==i.options.logLevel){i.errors.push(new f.YAMLParseError(b.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}}else i=b;return e&&c&&(i.errors.forEach(f.prettifyError(a,c)),i.warnings.forEach(f.prettifyError(a,c))),i}c.parse=function(a,b,c){let d;"function"==typeof b?d=b:void 0===c&&b&&"object"==typeof b&&(c=b);let e=l(a,c);if(!e)return null;if(e.warnings.forEach(a=>g.warn(e.options.logLevel,a)),e.errors.length>0)if("silent"!==e.options.logLevel)throw e.errors[0];else e.errors=[];return e.toJS(Object.assign({reviver:d},c))},c.parseAllDocuments=function(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=Array.from(h.compose(g.parse(a)));if(e&&c)for(let b of i)b.errors.forEach(f.prettifyError(a,c)),b.warnings.forEach(f.prettifyError(a,c));return i.length>0?i:Object.assign([],{empty:!0},h.streamInfo())},c.parseDocument=l,c.stringify=function(a,b,c){let d=null;if("function"==typeof b||Array.isArray(b)?d=b:void 0===c&&b&&(c=b),"string"==typeof c&&(c=c.length),"number"==typeof c){let a=Math.round(c);c=a<1?void 0:a>8?{indent:8}:{indent:a}}if(void 0===a){let{keepUndefined:a}=c??b??{};if(!a)return}return h.isDocument(a)&&!d?a.toString(c):new e.Document(a,d,c).toString(c)}},22650,(a,b,c)=>{"use strict";var d=a.r(19662),e=a.r(85774),f=a.r(98027),g=a.r(25717),h=a.r(21562),i=a.r(27267),j=a.r(17602),k=a.r(27853),l=a.r(47544),m=a.r(7621),n=a.r(2704),o=a.r(66326),p=a.r(46987),q=a.r(9575),r=a.r(5013),s=a.r(85927);c.Composer=d.Composer,c.Document=e.Document,c.Schema=f.Schema,c.YAMLError=g.YAMLError,c.YAMLParseError=g.YAMLParseError,c.YAMLWarning=g.YAMLWarning,c.Alias=h.Alias,c.isAlias=i.isAlias,c.isCollection=i.isCollection,c.isDocument=i.isDocument,c.isMap=i.isMap,c.isNode=i.isNode,c.isPair=i.isPair,c.isScalar=i.isScalar,c.isSeq=i.isSeq,c.Pair=j.Pair,c.Scalar=k.Scalar,c.YAMLMap=l.YAMLMap,c.YAMLSeq=m.YAMLSeq,c.CST=n,c.Lexer=o.Lexer,c.LineCounter=p.LineCounter,c.Parser=q.Parser,c.parse=r.parse,c.parseAllDocuments=r.parseAllDocuments,c.parseDocument=r.parseDocument,c.stringify=r.stringify,c.visit=s.visit,c.visitAsync=s.visitAsync},67121,a=>{"use strict";var b=a.i(74533),c=a.i(2157),d=a.i(50227),e=a.i(57764),f=a.i(60526),g=a.i(22650),h=a.i(43600),i=a.i(91997),j={get url(){return a.F("src/hooks/integrations.ts")},env:{DEV:!1,PROD:!0,MODE:"production",BASE_URL:"/",SSR:!0}};function k(a){return(0,c.existsSync)(a)?JSON.parse((0,c.readFileSync)(a,"utf8")):{}}function l(a,b){(0,c.mkdirSync)((0,d.dirname)(a),{recursive:!0}),(0,c.writeFileSync)(a,JSON.stringify(b,null,2)+"\n","utf8")}function m(a){try{return(0,c.existsSync)(a)?(0,g.parseDocument)((0,c.readFileSync)(a,"utf8")):(0,g.parseDocument)("")}catch{return(0,g.parseDocument)("")}}function n(a,b){(0,c.mkdirSync)((0,d.dirname)(a),{recursive:!0}),(0,c.writeFileSync)(a,b.toString(),"utf8")}function o(a){if(!a||"object"!=typeof a)return!1;if(!0===a[i.FAILPROOFAI_HOOK_MARKER])return!0;let b="string"==typeof a.command?a.command:"";return b.includes("failproofai")&&b.includes("--hook")}function p(a){return"version"in a&&(delete a.version,!0)}function q(a){try{let c=`which ${a}`;return(0,b.execSync)(c,{encoding:"utf8",stdio:"pipe"}),!0}catch{return!1}}function r(a,b,c){let d=a.getSettingsPaths?.(b,c);return d&&d.length>0?d:[a.getSettingsPath(b,c)]}let s={id:"claude",displayName:"Claude Code",scopes:i.HOOK_SCOPES,eventTypes:i.CLAUDE_INSTALL_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)(),".claude","settings.json");case"project":return(0,d.resolve)(c,".claude","settings.json");case"local":return(0,d.resolve)(c,".claude","settings.local.json")}},readSettings:a=>k(a),writeSettings(a,b){l(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b}`:`"${a}" --hook ${b}`,timeout:60,[i.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:o,writeHookEntries(a,b,c){a.hooks||(a.hooks={});let d=new Set(i.CLAUDE_INSTALL_EVENT_TYPES);for(let b of Object.keys(a.hooks)){if(d.has(b))continue;let c=a.hooks[b];if(!Array.isArray(c))continue;let e=[];for(let a of c){if(!a||!Array.isArray(a.hooks)){a&&e.push(a);continue}let b=a.hooks.length;a.hooks=a.hooks.filter(a=>!o(a)),0===a.hooks.length&&b>0||e.push(a)}a.hooks[b]=e,0===e.length&&delete a.hooks[b]}for(let d of i.CLAUDE_INSTALL_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=>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.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.hooks&&a.hooks.some(a=>o(a)))return!0}}catch{}return!1},detectInstalled:()=>q("claude")||q("claude-code")},t={id:"codex",displayName:"OpenAI Codex",scopes:i.CODEX_HOOK_SCOPES,eventTypes:i.CODEX_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)(),".codex","hooks.json");case"project":case"local":return(0,d.resolve)(c,".codex","hooks.json")}},readSettings:a=>k(a),writeSettings(a,b){l(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli codex`:`"${a}" --hook ${b} --cli codex`,timeout:60,[i.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:o,writeHookEntries(a,b,c){for(let d of(p(a),a.hooks||(a.hooks={}),i.CODEX_HOOK_EVENT_TYPES)){let e=i.CODEX_EVENT_MAP[d],f=this.buildHookEntry(b,d,c);a.hooks[e]||(a.hooks[e]=[]);let g=a.hooks[e],h=!1;for(let a of g){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>o(a));if(b>=0){a.hooks[b]=f,h=!0;break}}h||g.push({hooks:[f]})}},removeHooksFromFile(a){let b=this.readSettings(a),c=p(b);if(!b.hooks)return c&&this.writeSettings(a,b),0;let d=0;for(let a of Object.keys(b.hooks)){let c=b.hooks[a];if(Array.isArray(c)){for(let a=c.length-1;a>=0;a--){let b=c[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!o(a)),d+=e-b.hooks.length,0===b.hooks.length&&c.splice(a,1)}0===c.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,(d>0||c)&&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);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=>o(a)))return!0}}catch{}return!1},detectInstalled:()=>q("codex")};function u(a){if(!0===a[i.FAILPROOFAI_HOOK_MARKER])return!0;for(let b of["string"==typeof a.bash?a.bash:"","string"==typeof a.powershell?a.powershell:""])if(b.includes("failproofai")&&b.includes("--hook"))return!0;return!1}let v={id:"copilot",displayName:"GitHub Copilot",scopes:i.COPILOT_HOOK_SCOPES,eventTypes:i.COPILOT_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)(),".copilot","hooks","failproofai.json");case"project":case"local":return(0,d.resolve)(c,".github","hooks","failproofai.json")}},readSettings(a){let b=k(a);return void 0===b.version&&(b.version=1),b},writeSettings(a,b){l(a,b)},buildHookEntry(a,b,c){let d="project"===c?`npx -y failproofai --hook ${b} --cli copilot`:`"${a}" --hook ${b} --cli copilot`;return{type:"command",bash:d,powershell:d,timeoutSec:60,[i.FAILPROOFAI_HOOK_MARKER]:!0}},isFailproofaiHook:u,writeHookEntries(a,b,c){for(let d of(void 0===a.version&&(a.version=1),a.hooks||(a.hooks={}),i.COPILOT_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=>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.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.hooks&&a.hooks.some(a=>u(a)))return!0}}catch{}return!1},detectInstalled:()=>q("copilot")},w={id:"cursor",displayName:"Cursor Agent",scopes:i.CURSOR_HOOK_SCOPES,eventTypes:i.CURSOR_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)(),".cursor","hooks.json");case"project":case"local":return(0,d.resolve)(c,".cursor","hooks.json")}},readSettings(a){let b=k(a);return void 0===b.version&&(b.version=1),b},writeSettings(a,b){l(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli cursor`:`"${a}" --hook ${b} --cli cursor`,timeout:60,[i.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:o,writeHookEntries(a,b,c){for(let d of(void 0===a.version&&(a.version=1),a.hooks||(a.hooks={}),i.CURSOR_HOOK_EVENT_TYPES)){let e=this.buildHookEntry(b,d,c),f=a.hooks[d],g=f??[];f||(a.hooks[d]=g);let h=g.findIndex(a=>o(a));h>=0?g[h]=e:g.push(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))continue;let e=d.length,f=d.filter(a=>!o(a));c+=e-f.length,0===f.length?delete b.hooks[a]:b.hooks[a]=f}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)&&b.some(a=>o(a)))return!0}catch{}return!1},detectInstalled:()=>q("cursor-agent")||q("agent")},x="./plugins/failproofai.mjs";function y(a){return(0,d.resolve)((0,d.dirname)(a),"plugins","failproofai.mjs")}let z={id:"opencode",displayName:"OpenCode",scopes:i.OPENCODE_HOOK_SCOPES,eventTypes:i.OPENCODE_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","opencode","opencode.json");case"project":case"local":return(0,d.resolve)(c,".opencode","opencode.json")}},readSettings:a=>k(a),writeSettings(a,b){l(a,b)},buildHookEntry(a,b,c){if("user"===c){let a=(0,d.resolve)((0,f.homedir)(),".config","opencode","plugins","failproofai.mjs");return{spec:`file://${a}`,[i.FAILPROOFAI_HOOK_MARKER]:!0}}return{spec:x,[i.FAILPROOFAI_HOOK_MARKER]:!0}},isFailproofaiHook:a=>"string"==typeof a?a.includes("failproofai.mjs"):!!Array.isArray(a)&&"string"==typeof a[0]&&a[0].includes("failproofai.mjs"),writeHookEntries(a,b,e){let g,h,j=e??"project",k=y("user"===j?(0,d.resolve)((0,f.homedir)(),".config","opencode","opencode.json"):(0,d.resolve)(process.cwd(),".opencode","opencode.json"));(0,c.mkdirSync)((0,d.dirname)(k),{recursive:!0}),(0,c.writeFileSync)(k,(h=(g="project"===j)?'""':JSON.stringify(b),`// AUTO-GENERATED by failproofai. ${i.FAILPROOFAI_HOOK_MARKER}
|
|
26
26
|
// Re-generate via: failproofai policies --install --cli opencode
|
|
27
27
|
// Plugin shim that bridges OpenCode's plugin API to the failproofai binary.
|
|
28
28
|
// See: https://opencode.ai/docs/plugins/
|
|
@@ -86,8 +86,8 @@ function canonicalizeToolInput(canonicalToolName, args) {
|
|
|
86
86
|
return out;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
const FAILPROOFAI_BIN = ${
|
|
90
|
-
const USE_NPX = ${
|
|
89
|
+
const FAILPROOFAI_BIN = ${h};
|
|
90
|
+
const USE_NPX = ${g};
|
|
91
91
|
|
|
92
92
|
function runFailproofai(eventName, payload, directory) {
|
|
93
93
|
const cmd = USE_NPX ? "npx" : FAILPROOFAI_BIN;
|
|
@@ -227,20 +227,6 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
227
227
|
},
|
|
228
228
|
};
|
|
229
229
|
}
|
|
230
|
-
`),"utf8"),Array.isArray(a.plugin)||(a.plugin=[]);let j="user"===h?`file://${i}`:O,k=a.plugin.findIndex(a=>this.isFailproofaiHook(a));k>=0?a.plugin[k]=j:a.plugin.push(j)},removeHooksFromFile(a){let b=0,c=this.readSettings(a);if(Array.isArray(c.plugin)){let a=c.plugin.length;c.plugin=c.plugin.filter(a=>!this.isFailproofaiHook(a)),b+=a-c.plugin.length,0===c.plugin.length&&delete c.plugin}this.writeSettings(a,c);let d=P(a);if((0,e.existsSync)(d))try{(0,e.readFileSync)(d,"utf8").includes(z)&&((0,e.unlinkSync)(d),0===b&&(b=1))}catch{}return b},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!Array.isArray(a.plugin)||!a.plugin.some(a=>this.isFailproofaiHook(a)))return!1;let b=P(c);if(!(0,e.existsSync)(b))return!1;return(0,e.readFileSync)(b,"utf8").includes(z)}catch{return!1}},detectInstalled:()=>K("opencode")},pi:{id:"pi",displayName:"Pi",scopes:["user","project"],eventTypes:["session_start","session_shutdown","input","tool_call","user_bash","tool_result","agent_end"],getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".pi","agent","settings.json");case"project":case"local":return(0,g.resolve)(c,".pi","settings.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({[z]:!0,_piPackagePath:Q(),_piScope:c}),isFailproofaiHook:a=>"string"==typeof a?R(a):!!a&&"object"==typeof a&&(!0===a[z]||"string"==typeof a.source&&R(a.source)),writeHookEntries(a,b,c){var d;let e,f,h;Array.isArray(a.packages)||(a.packages=[]);let i=Q(),j="project"===c?(d=i,e=process.cwd(),f=(0,g.resolve)(e),(h=(0,g.resolve)(d)).startsWith(f+"/")||h===f?"../"+h.slice(f.length+1):h):i,k=a.packages.findIndex(a=>R(a));k>=0?a.packages[k]=j:a.packages.push(j)},removeHooksFromFile(a){if(!(0,e.existsSync)(a))return 0;let b=this.readSettings(a);if(!Array.isArray(b.packages))return 0;let c=b.packages.length;b.packages=b.packages.filter(a=>!R(a));let d=c-b.packages.length;return 0===b.packages.length&&delete b.packages,this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!Array.isArray(a.packages))return!1;return a.packages.some(a=>R(a))}catch{return!1}},detectInstalled:()=>K("pi")},hermes:{id:"hermes",displayName:"Hermes",scopes:["user"],eventTypes:r,getSettingsPath:()=>(0,g.resolve)((0,C.hermesRoot)(),"config.yaml"),getSettingsPaths:()=>(0,C.listHermesProfiles)().map(a=>(0,g.resolve)(a.home,"config.yaml")),readSettings:a=>G(a),writeSettings(a,b){H(a,b)},buildHookEntry:(a,b,c)=>({command:"project"===c?`npx -y failproofai --hook ${b} --cli hermes`:`"${a}" --hook ${b} --cli hermes`,timeout:30,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){let d=a.toJS()??{},e=d.hooks&&"object"==typeof d.hooks?d.hooks:{};for(let a of r){let d=this.buildHookEntry(b,a,c),f=Array.isArray(e[a])?e[a]:[],g=f.findIndex(a=>I(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,e.existsSync)(a))return 0;let b=G(a),c=(b.toJS()??{}).hooks,d=0;if(c&&"object"==typeof c){for(let a of Object.keys(c)){let b=c[a];if(!Array.isArray(b))continue;let e=b.length,f=b.filter(a=>!I(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}d>0&&(0===Object.keys(c).length?b.delete("hooks"):b.set("hooks",c))}let f=b.delete("hooks_auto_accept");return(d>0||f)&&H(a,b),d},hooksInstalledInSettings(a,b){let c=L(this,a,b);return c.length>0&&c.every(a=>(function(a){if(!(0,e.existsSync)(a))return!1;try{let b=(G(a).toJS()??{}).hooks;if(!b||"object"!=typeof b)return!1;for(let a of Object.values(b))if(Array.isArray(a)&&a.some(a=>I(a)))return!0}catch{}return!1})(a))},detectInstalled:()=>K("hermes")},openclaw:{id:"openclaw",displayName:"OpenClaw",scopes:["user"],eventTypes:["before_tool_call","after_tool_call","before_agent_run","before_agent_finalize","session_start","session_end","subagent_ended","before_compaction"],getSettingsPath:()=>(0,g.resolve)((0,m.homedir)(),".openclaw","openclaw.json"),readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:()=>({[z]:!0,_openclawPluginPath:T()}),isFailproofaiHook:a=>"string"==typeof a?U(a):!!a&&"object"==typeof a&&(!0===a[z]||"string"==typeof a.source&&U(a.source)),writeHookEntries(a){let b=a.plugins??={},c=b.load??={};Array.isArray(c.paths)||(c.paths=[]);let d=T(),e=c.paths.findIndex(a=>U(a));e>=0?c.paths[e]=d:c.paths.push(d);let f=b.entries??={},g=f[S]??={};g.enabled=!0,(g.hooks??={}).allowConversationAccess=!0},removeHooksFromFile(a){if(!(0,e.existsSync)(a))return 0;let b=this.readSettings(a),c=b.plugins;if(!c)return 0;let d=0;if(Array.isArray(c.load?.paths)){let a=c.load.paths.length;c.load.paths=c.load.paths.filter(a=>!U(a)),d+=a-c.load.paths.length,0===c.load.paths.length&&delete c.load.paths,c.load&&0===Object.keys(c.load).length&&delete c.load}return c.entries&&S in c.entries&&(delete c.entries[S],d+=1,0===Object.keys(c.entries).length&&delete c.entries),0===Object.keys(c).length&&delete b.plugins,this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c),b=a.plugins?.load?.paths,d=Array.isArray(b)&&b.some(a=>U(a)),e=a.plugins?.entries?.[S]?.enabled===!0;return d&&e}catch{return!1}},detectInstalled:()=>K("openclaw")},factory:{id:"factory",displayName:"Factory Droid",scopes:["user","project"],eventTypes:u,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".factory","hooks.json");case"project":case"local":return(0,g.resolve)(c,".factory","hooks.json")}},readSettings:a=>E(a),writeSettings(a,b){F(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,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){for(let d of u){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=>I(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=>!I(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 c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(a&&a.hooks&&a.hooks.some(a=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("droid")},devin:{id:"devin",displayName:"Devin CLI",scopes:["user","project"],eventTypes:v,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".config","devin","config.json");case"project":case"local":return(0,g.resolve)(c,".devin","config.json")}},readSettings:a=>E(a),writeSettings(a,b){F(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,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),v)){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=>I(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=>!I(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 c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);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=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("devin")},antigravity:{id:"antigravity",displayName:"Antigravity CLI",scopes:["user","project"],eventTypes:w,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".gemini","config","hooks.json");case"project":case"local":return(0,g.resolve)(c,".agents","hooks.json")}},readSettings:a=>E(a),writeSettings(a,b){F(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,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){a[V]&&"object"==typeof a[V]||(a[V]={});let d=a[V];for(let a of w){let e=this.buildHookEntry(b,a,c);if(W.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=>I(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=>I(a));c>=0?b[c]=e:b.push(e)}}},removeHooksFromFile(a){let b=this.readSettings(a),c=b[V];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(W.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=>!I(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=>!I(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}}return 0===Object.keys(c).length&&delete b[V],this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c)[V];if(!a||"object"!=typeof a)return!1;for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(I(a)||a&&Array.isArray(a.hooks)&&a.hooks.some(a=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("agy")},goose:{id:"goose",displayName:"Goose",scopes:["user","project"],eventTypes:x,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".agents","plugins","failproofai","hooks","hooks.json");case"project":case"local":return(0,g.resolve)(c,".agents","plugins","failproofai","hooks","hooks.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli goose`:`"${a}" --hook ${b} --cli goose`}),isFailproofaiHook:X,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),x)){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=>X(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=>!X(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 c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);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=>X(a)))return!0}}catch{}return!1},detectInstalled:()=>K("goose")}};function Z(a){let b=Y[a];if(!b)throw Error(`"${a}" is audit-only — live-hook install is not supported for it yet. Installable: ${o.filter(a=>void 0!==Y[a]).join(", ")}`);return b}function $(){return o.filter(a=>Y[a]?.detectInstalled())}var _=a.i(92956),aa=a.i(15638),ab=a.i(98378),ac=a.i(69839);class ad extends Error{exitCode;constructor(a,b=1){super(a),this.name="CliError",this.exitCode=b}}a.i(10695);let ae=[1],af=/^[a-f0-9]{64}$/,ag=/^[A-Za-z0-9._-]{1,64}\/[A-Za-z0-9._-]{1,64}$/,ah=/^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$/,ai=/^[A-Za-z0-9._-]{1,128}$/;function aj(){return process.env.FAILPROOFAI_PACK_DIR??(0,h.packsDir)()}function ak(a){if("string"!=typeof a.id||!ag.test(a.id))throw Error(`unsafe pack id ${JSON.stringify(a.id)}`);if("string"!=typeof a.version||!ah.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}`);return{id:a.id,version:a.version,effect:a.effect??"enforce"}}function al(){return process.env.FAILPROOFAI_PACK_DIR?(0,g.resolve)(process.env.FAILPROOFAI_PACK_DIR,"installed.json"):(0,h.packsInstalledFile)()}function am(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||!ai.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`);return b}function an(){let a,b=al();if(!(0,e.existsSync)(b))return{packs:[],errors:[]};try{a=JSON.parse((0,e.readFileSync)(b,"utf8"))}catch(a){return{packs:[],errors:[{id:null,reason:`unreadable pack manifest: ${ao(a)}`}]}}if(!a||"object"!=typeof a)return{packs:[],errors:[{id:null,reason:"pack manifest is not an object"}]};let c=a;if(!ae.includes(c.schemaVersion))return{packs:[],errors:[{id:null,reason:`unsupported pack manifest schema ${String(c.schemaVersion)} (supported: ${ae.join(", ")})`}]};if(!Array.isArray(c.packs))return{packs:[],errors:[{id:null,reason:"pack manifest packs is not an array"}]};let d=aj(),h=[],i=[],j=new Set;for(let a of c.packs){let b=a&&"object"==typeof a&&"string"==typeof a.id?a.id:null;try{let b=function(a,b){if(!b||"object"!=typeof b)throw Error("pack entry is not an object");let c=ak(b);if("string"!=typeof b.source||0===b.source.length)throw Error(`pack ${b.id} has no source`);if("string"!=typeof b.sha256||!af.test(b.sha256))throw Error(`invalid SHA-256 for pack ${b.id}`);let d=c.effect,h=function(a,b){if(!b||(0,g.isAbsolute)(b))throw Error(`unsafe managed policy path ${JSON.stringify(b)}`);let c=(0,g.resolve)(a,b),d=(0,g.relative)(a,c);if(d.startsWith("..")||(0,g.isAbsolute)(d))throw Error(`managed policy path escapes its root: ${JSON.stringify(b)}`);let f=(0,e.realpathSync)(a),h=(0,e.realpathSync)(c),i=(0,g.relative)(f,h);if(i.startsWith("..")||(0,g.isAbsolute)(i))throw Error(`managed policy symlink escapes its root: ${JSON.stringify(b)}`);return h}(a,b.entry),i=(0,f.createHash)("sha256").update((0,e.readFileSync)(h)).digest("hex");if(i!==b.sha256)throw Error(`pack ${b.id} failed integrity verification: expected ${b.sha256}, got ${i}`);if(!Array.isArray(b.policies))throw Error(`pack ${b.id} policies is not an array`);let j=b.policies.map((a,c)=>am(b.id,a,c)),k=new Set;for(let a of j){if(k.has(a.name))throw Error(`pack ${b.id} declares ${a.name} twice`);k.add(a.name)}let l=null;if(void 0!==b.enabled){if(!Array.isArray(b.enabled)||b.enabled.some(a=>"string"!=typeof a))throw Error(`pack ${b.id} enabled is not an array of names`);l=b.enabled.filter(a=>k.has(a))}let m=null;if(void 0!==b.clis){if(!Array.isArray(b.clis)||b.clis.some(a=>"string"!=typeof a))throw Error(`pack ${b.id} clis is not an array of agent names`);m=b.clis}return{clis:m,id:c.id,version:c.version,source:b.source,path:h,sha256:b.sha256,effect:d,policies:j,enabled:l}}(d,a);if(j.has(b.id))throw Error(`duplicate pack id ${b.id}`);j.add(b.id),h.push(b)}catch(d){let c=a&&("observe"===a.effect||"enforce"===a.effect)?a.effect:"enforce";i.push({id:b,reason:ao(d),effect:c,...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)}:{}})}}return{packs:h,errors:i}}function ao(a){return a instanceof Error?a.message:String(a)}let ap="failproofai-pack.json",aq="failproofai-pack.mjs",ar="SHA256SUMS";function as(){return(process.env.FAILPROOFAI_PACK_BASE_URL||"https://github.com").replace(/\/+$/,"")}let at=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,au=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,127}$/,av="FailproofAI/policies",aw=new Set(["core","failproofai","official"]);function ax(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 ay(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(aw.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 ${av} instead.`);throw Error(`pack source must be owner/repo, owner/repo@tag, or a github.com URL — got ${JSON.stringify(a)}`)}return ay(f.slice(0,h),f.slice(h+1),g)}function ay(a,b,c){if(!a||!at.test(a))throw Error(`unsafe owner ${JSON.stringify(a)}`);if(!b||!at.test(b))throw Error(`unsafe repo ${JSON.stringify(b)}`);if(null!==c&&!au.test(c))throw Error(`unsafe tag ${JSON.stringify(c)}`);return{owner:a,repo:b,tag:c}}async function az(a){let b=`${as()}/${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(!au.test(f))throw Error(`unsafe tag ${JSON.stringify(f)} from ${b}`);return f}function aA(a){return`github:${a.owner}/${a.repo}@${a.tag}`}function aB(a,b){return`${as()}/${a.owner}/${a.repo}/releases/download/${a.tag}/${b}`}async function aC(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 aD(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 aE(a){return(0,f.createHash)("sha256").update(a).digest("hex")}function aF(a,b){let c=`${a}.${process.pid}.tmp`;try{(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0}),(0,e.writeFileSync)(c,b),(0,e.renameSync)(c,a)}catch(a){throw(0,e.rmSync)(c,{force:!0}),a}}async function aG(a,b={}){let c=await aL(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 aH(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=ax(a),d=null===c.tag,e=null!==c.tag?{...c,tag:c.tag}:{...c,tag:await az(c)},f=(await aC(aB(e,ar))).toString("utf8"),g=await aC(aB(e,ap)),h=aD(f,ap);if(!h)throw Error(`${ar} has no entry for ${ap}`);if(aE(g)!==h)throw Error(`${ap} failed integrity verification`);try{b=JSON.parse(g.toString("utf8"))}catch(a){throw Error(`${ap} is not valid JSON: ${aN(a)}`)}if(!b||"object"!=typeof b)throw Error(`${ap} is not an object`);let i=b,j=ak(i);if(!Array.isArray(i.policies)||0===i.policies.length)throw Error("pack manifest declares no policies");return{id:j.id,version:j.version,effect:j.effect,policies:i.policies.map((a,b)=>am(j.id,a,b)),source:aA(e),resolvedFromLatest:d}}async function aI(a){let b,c=(await aC(aB(a,ar))).toString("utf8"),d=await aC(aB(a,ap)),e=aD(c,ap);if(!e)throw Error(`${ar} has no entry for ${ap}`);if(aE(d)!==e)throw Error(`${ap} failed integrity verification`);let f=await aC(aB(a,aq)),g=aD(c,aq);if(!g)throw Error(`${ar} has no entry for ${aq}`);let h=aE(f);if(h!==g)throw Error(`${aq} failed integrity verification`);try{b=JSON.parse(d.toString("utf8"))}catch(a){throw Error(`${ap} is not valid JSON: ${aN(a)}`)}if(!b||"object"!=typeof b)throw Error(`${ap} is not an object`);let i=b,j=ak(i);if(!Array.isArray(i.policies)||0===i.policies.length)throw Error("pack manifest declares no policies");let k=i.policies.map((a,b)=>am(j.id,a,b));return{id:j.id,version:j.version,policies:k,...void 0!==i.effect?{effect:j.effect}:{},artifact:f,artifactDigest:h}}function aJ(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}async function aK(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 aL(a,b){var c,d,f,h;let i,j;if(process.env.FAILPROOFAI_NO_DOWNLOAD)throw Error("pack downloads are disabled (FAILPROOFAI_NO_DOWNLOAD). Already-installed packs keep enforcing.");let k=ax(a),l=k.tag?{...k,tag:k.tag}:{...k,tag:await az(k)},m=null===k.tag,n=await aI(l);if(c=l.tag,d=n.version,(i=c.slice(c.lastIndexOf("/")+1))!==d&&i!==`v${d}`){let a=l.tag.slice(l.tag.lastIndexOf("/")+1).replace(/^v/,""),b=`re-tag the release ${n.version} (a leading v is fine), or rebuild the pack with --version ${a}`;throw Error(`${n.id} was not installed: release tag ${l.tag} does not match the version its manifest declares (${n.version}). `+(m?`That is the newest release of ${l.owner}/${l.repo}, so the release and the pack disagree at the source — ask the publisher to ${b}.`:`Name the tag whose manifest says ${n.version}, or fix the pack: ${b}.`))}let o=n.policies.map(a=>a.name),p=(f=n.id,h=n.artifactDigest,(j=an().packs).find(a=>a.id===f)??j.find(a=>a.sha256===h)),{enabled:q,reason:r}=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(aJ)),d=new Map(a.map(a=>[aJ(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=>aJ(a.category)))].join(", ")})`);for(let b of a)c.has(aJ(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)}return b?.only!==void 0||b?.categories?.length?{enabled:e.filter(a=>f.has(a)),reason:"selected"}:d?{enabled:null===c?null:c??null,reason:"carried"}:{enabled:a.filter(a=>a.defaultEnabled).map(a=>a.name),reason:"defaults"}}(n.policies,b,p?.enabled?p.enabled.filter(a=>o.includes(a)):p?.enabled,!!p),s=aj(),t=`artifacts/${n.artifactDigest}.mjs`,u=(0,g.resolve)(s,t);(0,e.existsSync)(u)||aF(u,n.artifact);try{await aK(u,o)}catch(a){throw Error(`${n.id}@${n.version} was not installed: ${a instanceof Error?a.message:String(a)}`)}let v=a=>{let b=a.lastIndexOf("@");return b>a.indexOf(":")?a.slice(0,b):a};if(p&&!p.source.startsWith("bundled:")&&v(p.source)!==v(aA(l)))throw Error(`pack id ${n.id} is already installed from ${p.source}. Refusing to replace it with ${aA(l)} — remove it first if that is what you mean.`);let w={id:n.id,version:n.version,source:aA(l),entry:t,sha256:n.artifactDigest,policies:n.policies,...n.effect?{effect:n.effect}:{},...q?{enabled:q}:{},...b?.clis?{clis:b.clis}:{}};return{replaced:function(a){let b=(0,g.resolve)(aj(),"installed.json"),c=[];if((0,e.existsSync)(b))try{let a=JSON.parse((0,e.readFileSync)(b,"utf8"));Array.isArray(a.packs)&&(c=a.packs)}catch{throw Error(`existing pack manifest at ${b} is unreadable; move it aside and re-add`)}let d=c.filter(b=>b?.sha256===a.sha256&&b?.id!==a.id).map(a=>a.id);if(!a.enabled){let b=c.find(a=>d.includes(a?.id)),e=b?.enabled?.filter(b=>a.policies?.some(a=>a?.name===b));e&&e.length>0&&(a.enabled=e)}let f=c.filter(a=>!d.includes(a?.id)),h=f.findIndex(b=>b?.id===a.id);return h>=0?f[h]=a:f.push(a),aF(b,JSON.stringify({schemaVersion:1,packs:f},null,2)+"\n"),d}(w),id:n.id,version:n.version,source:w.source,tag:l.tag,resolvedFromLatest:m,enabled:q??o,available:o,selection:r,categories:[...new Set(n.policies.map(a=>aJ(a.category)))],artifact:u}}function aM(a,b,c){let d,f=(0,g.resolve)(aj(),"installed.json");if(!(0,e.existsSync)(f))return{ok:!1,reason:"no packs are installed"};try{d=JSON.parse((0,e.readFileSync)(f,"utf8"))}catch{return{ok:!1,reason:`pack manifest at ${f} is unreadable`}}let h=Array.isArray(d.packs)?d.packs:[],i=h.find(b=>b?.id===a);if(!i)return{ok:!1,reason:`no installed pack with id ${a}`};let j=(Array.isArray(i.policies)?i.policies:[]).map(a=>"string"==typeof a?.name?a.name:null).filter(a=>null!==a);if(!j.includes(b))return{ok:!1,reason:`pack ${a} declares no policy named ${b}`};let k=i.enabled??j,l=c?[...new Set([...k,b])]:k.filter(a=>a!==b);return i.enabled=j.filter(a=>l.includes(a)),aF(f,JSON.stringify({schemaVersion:1,packs:h},null,2)+"\n"),{ok:!0}}function aN(a){return a instanceof Error?a.message:String(a)}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);let aO=new Set(_.BUILTIN_POLICIES.map(a=>a.name));function aP(a,b){return M.getSettingsPath(a,b)}function aQ(a){let b=[],c=[],d=[],e=[];try{e=an().packs}catch{}let f=(a,b)=>e.filter(b=>null===a||b.id===a).filter(a=>a.policies.some(a=>a.name===b)).map(a=>({packId:a.id,packVersion:a.version,name:b,disabledKey:`pack:${a.id}@${a.version}:${b}`}));for(let e of a){let a=f(null,e);if(1===a.length){c.push(a[0]);continue}if(a.length>1)throw new ad(`"${e}" is declared by ${a.length} installed packs.
|
|
231
|
-
Name the one you mean:
|
|
232
|
-
`+a.map(a=>` ${a.packId}:${a.name}`).join("\n"));if(aO.has(e)){b.push(e);continue}let g=e.lastIndexOf(":"),h=g>0?{packId:e.slice(0,g),name:e.slice(g+1)}:null,i=h?f(h.packId,h.name):f(null,e);if(1===i.length){c.push(i[0]);continue}if(i.length>1)throw new ad(`"${e}" is declared by ${i.length} installed packs.
|
|
233
|
-
Name the one you mean:
|
|
234
|
-
`+i.map(a=>` ${a.packId}:${a.name}`).join("\n"));d.push(e)}if(d.length>0){let a=e.flatMap(a=>a.policies.map(b=>`${a.id}:${b.name}`));throw new ad(`Unknown policy name(s): ${d.join(", ")}
|
|
235
|
-
Valid policies: ${[...aO].join(", ")}`+(a.length>0?`
|
|
236
|
-
From installed packs: ${a.join(", ")}`:""))}return{builtins:b,packs:c}}function aR(a,b,c,d){if(0!==a.length){for(let c of a){let a=aM(c.packId,c.name,b);if(!a.ok)throw new ad(`Could not ${b?"enable":"disable"} ${c.name}: ${a.reason}`)}if(b){let b=(0,k.readScopedHooksConfig)(c,d),e=new Set(a.map(a=>a.disabledKey)),f=(b.disabledCustomPolicies??[]).filter(a=>!e.has(a));if(f.length!==(b.disabledCustomPolicies??[]).length){let a={...b,disabledCustomPolicies:f};0===f.length&&delete a.disabledCustomPolicies,(0,k.writeScopedHooksConfig)(a,c,d)}}for(let c of a)console.log(`${b?"Enabled":"Disabled"} ${c.name} from pack ${c.packId}@${c.packVersion}.`)}}function aS(a,b){var c,d;return(c=a,d=b,o.filter(a=>{try{let b=Z(a);if(!b.scopes.includes(c)||!b.hooksInstalledInSettings(c,d))return!1;let e=b.getSettingsPath(c,d);return!n.some(a=>a!==c&&n.indexOf(a)<n.indexOf(c)&&b.scopes.includes(a)&&function(a,b,c){try{return a.getSettingsPath(b,c)}catch{return null}}(b,a,d)===e)}catch{return!1}})).length>0}async function aT(a,b="user",c,d=!1,e,f,g=!1,h,i={}){let{replace:j=!1,quiet:k=!1}=i;if(!k)return aU(a,b,c,d,e,f,g,h,j);let l=console.log;console.log=()=>{};try{return await aU(a,b,c,d,e,f,g,h,j)}finally{console.log=l}}async function aU(a,b="user",c,d=!1,f,h,i=!1,j,o=!1){let p,q;if(void 0!==a&&a.length>0){let d=a.filter(a=>"all"!==a);if(d.length>0){let e=aQ(d);if(aR(e.packs,!0,b,c),e.packs.length>0&&0===(a=a.filter(a=>"all"===a||e.builtins.includes(a))).length)return}if(a.includes("all")&&d.length>0)throw new ad(`"all" cannot be combined with specific policy names.
|
|
237
|
-
Use either: --install all or --install block-sudo sanitize-jwt ...`)}let r=j&&j.length>0?[...new Set(j)]:["claude"];for(let a of r){let c=Z(a);if(!c.scopes.includes(b)){try{await (0,ab.trackHookEvent)((0,ac.getInstanceId)(),"scope_validation_failed",{cli:a,scope:b,supported_scopes:c.scopes})}catch{}throw new ad(`Scope "${b}" is not supported by ${c.displayName}. Valid scopes: ${c.scopes.join(", ")}`)}}let s=function(){let a=process.env.FAILPROOFAI_BINARY_OVERRIDE;if(a&&a.trim())return a.trim();try{return(0,l.execSync)("which failproofai",{encoding:"utf8"}).trim().split("\n")[0].trim()}catch{throw new ad("failproofai binary not found in PATH.\nInstall it globally first: npm install -g failproofai")}}(),t=(0,k.readScopedHooksConfig)(b,c),u=new Set(t.enabledPolicies);if(void 0!==a){let b;b=1===a.length&&"all"===a[0]?_.BUILTIN_POLICIES.filter(a=>d||!a.beta).map(a=>a.name):a,p=o?[...new Set(b)]:[...new Set([...t.enabledPolicies,...b])]}else p=t.enabledPolicies;let v={...t,enabledPolicies:p};if(i)delete v.customPoliciesPath,delete v.customPoliciesPaths;else if(h&&("string"==typeof h||h.length>0)){let a=("string"==typeof h?[h]:h).map(a=>(0,g.resolve)(a)),c=(t.customPoliciesPaths??(t.customPoliciesPath?[t.customPoliciesPath]:[])).map(a=>(0,g.resolve)(a)).filter(a=>!!(0,e.existsSync)(a)||(console.log(`Dropping custom policies path (file no longer exists): ${a}`),!1));for(let d of(v.customPoliciesPaths=o?[...new Set(a)]:[...new Set([...c,...a])],delete v.customPoliciesPath,a)){let a=[];try{a=await (0,aa.loadCustomHooks)(d,{strict:!0})}catch(c){let a=c instanceof Error?c.message:String(c);try{await (0,ab.trackHookEvent)((0,ac.getInstanceId)(),"custom_policy_validation_failed",{scope:b,error_type:/not found/i.test(a)?"file_not_found":"load_error"})}catch{}console.error(`Error: ${a}`),process.exit(1)}if(0===a.length){try{await (0,ab.trackHookEvent)((0,ac.getInstanceId)(),"custom_policy_validation_failed",{scope:b,error_type:"no_hooks_registered"})}catch{}console.error(`Error: no hooks registered in ${d}. Make sure your file calls customPolicies.add(...) at least once.`),process.exit(1)}console.log(`
|
|
238
|
-
Validated ${a.length} custom hook(s) from ${d}: ${a.map(a=>a.name).join(", ")}`)}}(0,k.writeScopedHooksConfig)(v,b,c);let w=new Set(_.BUILTIN_POLICIES.filter(a=>a.alwaysOn).map(a=>a.name)),x=void 0===a?[]:p.filter(a=>!w.has(a));if(x.length>0){if(!function(){try{let a=JSON.parse((0,e.readFileSync)(al(),"utf8"));return Array.isArray(a.packs)&&a.packs.length>0}catch{return!1}}())try{await aL(av,{only:x})}catch(a){console.log(`
|
|
239
|
-
Warning: could not fetch the policy pack (${a instanceof Error?a.message:String(a)}).
|
|
240
|
-
Run \`failproofai policies add FailproofAI/policies\` once you are online.`)}else for(let a of x)for(let b of an().packs)if(b.policies.some(b=>b.name===a)){aM(b.id,a,!0);break}}if(void 0!==a&&p.length>0&&console.log(`
|
|
241
|
-
Enabled ${p.length} policy(ies): ${p.join(", ")}
|
|
242
|
-
`),i)console.log("Custom hooks path cleared.");else if(v.customPoliciesPaths?.length||v.customPoliciesPath){let a=v.customPoliciesPaths??[v.customPoliciesPath];console.log(`Custom hooks paths: ${a.join(", ")}`)}let y=[];for(let a of r){let d=Z(a),e=L(d,b,c);try{for(let c of e){let e=d.readSettings(c);d.writeHookEntries(e,s,b),d.writeSettings(c,e),y.push({cli:a,path:c})}}catch(d){let c=d instanceof Error&&/EACCES|EPERM/.test(d.message)?"permission_denied":d instanceof Error&&/ENOENT|ENOTDIR/.test(d.message)?"path_not_found":"write_error";try{await (0,ab.trackHookEvent)((0,ac.getInstanceId)(),"hook_write_failed",{cli:a,scope:b,error_type:c})}catch{}throw d}}try{let a=new Set(p),c=p.filter(a=>!u.has(a)),e=[...u].filter(b=>!a.has(b)),g=(0,ac.getInstanceId)();if(await (0,ab.trackHookEvent)(g,"hooks_installed",{scope:b,cli:r,cli_count:r.length,policies:p,policy_count:p.length,policies_added:c,policies_removed:e,...f?{source:f}:{},platform:(0,m.platform)(),arch:(0,m.arch)(),os_release:(0,m.release)(),hostname_hash:(0,ac.hashToId)((0,m.hostname)()),has_custom_hooks_path:!!(v.customPoliciesPaths?.length||v.customPoliciesPath),has_policy_params:!!(v.policyParams&&Object.keys(v.policyParams).length>0),param_policy_names:v.policyParams?Object.keys(v.policyParams):[],command_format:"project"===b?"npx":"absolute"}),d){let a=new Set(_.BUILTIN_POLICIES.filter(a=>a.beta).map(a=>a.name)),c=p.filter(b=>a.has(b));c.length>0&&await (0,ab.trackHookEvent)(g,"beta_policies_installed",{scope:b,cli:r,beta_count:c.length,beta_policy_names:c,...f?{source:f}:{}})}}catch{}for(let{cli:a,path:c}of y){let d=Z(a);console.log(`Failproof AI hooks installed for ${d.displayName} (${d.eventTypes.length} event types, scope: ${b}).`),console.log(`Settings: ${c}`)}"project"===b?(console.log("Command: npx -y failproofai"),console.log(`
|
|
243
|
-
This file can be committed to git — no machine-specific paths.`)):console.log(`Binary: ${s}`);let z=(q=new Set,n.filter(a=>{let b=aP(a,c);return!q.has(b)&&(q.add(b),!0)})).filter(a=>a!==b).filter(a=>aS(a,c));if(z.length>0){let a=z.map(a=>`${a} (${function(a){switch(a){case"user":return"~/.claude/settings.json";case"project":return"{cwd}/.claude/settings.json";case"local":return"{cwd}/.claude/settings.local.json"}}(a)})`).join(", ");console.log(),console.log(`\x1b[33mWarning: Failproof AI hooks are also installed at ${a}.\x1b[0m`),console.log("Having hooks in multiple scopes may cause duplicate policy evaluation."),console.log(`Use \`failproofai policies --uninstall --scope ${z[0]}\` to remove the other installation,`),console.log("or `failproofai policies` to see all scopes.");try{await (0,ab.trackHookEvent)((0,ac.getInstanceId)(),"multi_scope_warning_shown",{new_scope:b,existing_scopes:z,cli:r})}catch{}}}async function aV(a,b="user",c,d){let f="all"===b?"user":b,g=d?.cli&&d.cli.length>0?[...new Set(d.cli)]:["claude"];if(d?.removeCustomHooks){let a=(0,k.readScopedHooksConfig)(f,c);delete a.customPoliciesPath,delete a.customPoliciesPaths,(0,k.writeScopedHooksConfig)(a,f,c),console.log("Custom hooks path cleared.")}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let b=aQ(a);aR(b.packs,!1,f,c);var h=a=b.builtins;let d=new Set(_.BUILTIN_POLICIES.filter(a=>a.alwaysOn).map(a=>a.name)),e=h.filter(a=>d.has(a));if(e.length>0)throw new ad(`Cannot disable: ${e.join(", ")}
|
|
244
|
-
This policy stops an agent from switching off failproofai itself, so it is always on and ships with the package. A guard the agent can disable by the means it is meant to prevent is not a guard.`);if(b.packs.length>0&&0===a.length)return}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let e=(0,k.readScopedHooksConfig)(f,c),h=new Set(a),i=e.enabledPolicies.filter(a=>!h.has(a)),j=a.filter(a=>!e.enabledPolicies.includes(a));j.length>0&&console.log(`Warning: policy(ies) not currently enabled: ${j.join(", ")}`);let{policyParams:l,...n}=e,o=l?Object.fromEntries(Object.entries(l).filter(([a])=>!h.has(a))):null,p={...n,enabledPolicies:i,...o&&Object.keys(o).length>0?{policyParams:o}:{}};(0,k.writeScopedHooksConfig)(p,f,c);try{let c=(0,ac.getInstanceId)(),f=a.filter(a=>e.enabledPolicies.includes(a));await (0,ab.trackHookEvent)(c,"hooks_removed",{scope:b,cli:g,removal_mode:d?.betaOnly?"beta_policies":"policies",beta_only:d?.betaOnly??!1,policies_removed:f,removed_count:f.length,...d?.source?{source:d.source}:{},platform:(0,m.platform)(),arch:(0,m.arch)(),os_release:(0,m.release)(),hostname_hash:(0,ac.hashToId)((0,m.hostname)())})}catch{}console.log(`Disabled ${a.length-j.length} policy(ies).`),console.log(`Remaining: ${i.length>0?i.join(", "):"(none)"}`);return}let i=(0,k.readScopedHooksConfig)(f,c),j=0,l=!1;for(let a of g){let d=Z(a);for(let a of"all"===b?[...d.scopes]:d.scopes.includes(b)?[b]:[]){let f=L(d,a,c).filter(a=>(0,e.existsSync)(a));if(0===f.length){"all"!==b&&1===g.length&&(console.log("No settings file found. Nothing to remove."),l=!0);continue}let h=0;for(let a of f){let c=d.removeHooksFromFile(a);h+=c,c>0&&"all"!==b&&(console.log(`Removed ${c} failproofai hook(s) from ${d.displayName} settings.`),console.log(`Settings: ${a}`))}if(0===h&&"all"!==b&&1===g.length){console.log("No hooks found in settings. Nothing to remove."),l=!0;continue}j+=h}}if(!l||0!==j){if("all"===b)for(let a of(console.log(`Removed ${j} failproofai hook(s) from all scopes.`),g)){let b=Z(a);for(let a of b.scopes)for(let d of L(b,a,c))console.log(` ${b.displayName} / ${a}: ${d}`)}try{let a=(0,ac.getInstanceId)();await (0,ab.trackHookEvent)(a,"hooks_removed",{scope:b,cli:g,removal_mode:"hooks",policies_removed:i.enabledPolicies,removed_count:j,...d?.source?{source:d.source}:{},platform:(0,m.platform)(),arch:(0,m.arch)(),os_release:(0,m.release)(),hostname_hash:(0,ac.hashToId)((0,m.hostname)())})}catch{}if("all"===b)for(let a of n){let b=(0,k.readScopedHooksConfig)(a,c);if(b.enabledPolicies.length>0||b.customPoliciesPaths?.length||b.customPoliciesPath||b.policyParams){let{customPoliciesPath:d,customPoliciesPaths:e,policyParams:f,...g}=b;(0,k.writeScopedHooksConfig)({...g,enabledPolicies:[]},a,c)}}else if(!n.some(a=>aS(a,c))){let{customPoliciesPath:a,customPoliciesPaths:b,policyParams:d,...e}=(0,k.readScopedHooksConfig)(f,c);(0,k.writeScopedHooksConfig)({...e,enabledPolicies:[]},f,c)}}}var aW=a.i(24282),aX=a.i(12714);async function aY(a,b){let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),d=(0,g.resolve)((0,k.findProjectConfigDir)(c),".failproofai","policies"),e=(0,h.customPoliciesDir)(),f=[];for(let{scope:c,dir:h}of[{scope:"project",dir:d},...e===d?[]:[{scope:"user",dir:e}]]){let d=[];try{d=(0,aa.discoverPolicyFiles)(h)}catch{continue}for(let e of d){if(b.has(e))continue;let d=[];try{d=(await aZ(e)).map(b=>{let d=(0,aa.conventionPolicyId)(c,(0,g.basename)(e),b.name);return{...b,id:d,enabled:!a.has(d)}})}catch{}f.push({scope:c,file:(0,g.basename)(e),path:e,policies:d})}}return f}async function aZ(a){if(!(0,e.existsSync)(a))return[];let b=await (0,aX.readFile)(a,"utf-8"),c=[],d=b.split(/customPolicies\.add\s*\(/);for(let a=1;a<d.length;a++){let b=d[a],e=b.match(/name:\s*["'`]([^"'`]+)["'`]/);if(!e)continue;let f=b.match(/description:\s*["'`]([^"'`]+)["'`]/),g=b.match(/events:\s*\[([^\]]+)\]/),h=g?g[1].replace(/["'`\s]/g,"").split(",").filter(Boolean).join(", "):void 0;c.push({name:e[1],description:f?.[1],eventScope:h,id:"",enabled:!0})}return c}async function a$(){let a=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),b=(0,k.readMergedHooksConfig)(a),c=new Set(b.disabledCustomPolicies??[]),d=n.filter(a=>aS(a)),e=aP(d[0]??"user"),f=o.map(a=>Y[a]).filter(a=>void 0!==a).map(a=>({id:a.id,label:(0,aW.getCliLabel)(a.id),installed:a.hooksInstalledInSettings("user"),settingsPath:a.getSettingsPath("user"),detected:a.detectInstalled()})),h=[],i=[];try{let a=an();h=a.packs,i=a.errors}catch{}let j=[];for(let a of h){let d=a.enabled??a.policies.map(a=>a.name);for(let e of a.policies)j.push({name:e.name,description:e.description,category:e.category,defaultEnabled:e.defaultEnabled,beta:!1,enabled:d.includes(e.name)&&!c.has(`pack:${a.id}@${a.version}:${e.name}`),eventScope:function(a){let b=a.events?.join(", ")??"",c=a.toolNames?` \xb7 ${a.toolNames.join(", ")}`:"";return`${b}${c}`}(e.match),packId:a.id,packVersion:a.version,...e.params?{params:Object.fromEntries(Object.entries(e.params).map(([a,b])=>[a,{type:b.type,description:b.description,default:b.default}])),currentParams:b.policyParams?.[e.name]??{}}:{}})}let l=(0,k.configuredCustomPolicyPaths)(b),m=(0,k.findProjectConfigDir)(a),p=l.map(a=>(0,g.resolve)(m,a)),q=(await Promise.all(p.map(async a=>{try{return(await aZ(a)).map(b=>{let d=(0,aa.customPolicyId)(a,b.name);return{...b,id:d,enabled:!c.has(d)}})}catch{return[]}}))).flat(),r=await aY(c,new Set(p)),s=h.map(a=>{let b=a.enabled??a.policies.map(a=>a.name);return{id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(d=>({name:d.name,description:d.description,category:d.category,enabled:b.includes(d.name)&&!c.has(`pack:${a.id}@${a.version}:${d.name}`)}))}});for(let a of i)s.push({id:a.id??"(unnamed pack)",version:"",source:"",effect:"enforce",policies:[],error:a.reason});return{enabledPolicies:b.enabledPolicies,installedScopes:d,settingsPath:e,clis:f,policies:j,customPoliciesPaths:l.length?l:void 0,customPoliciesPath:1===l.length?l[0]:void 0,customPolicies:q.length?q:void 0,conventionPolicies:r,packs:s}}async function a_(a,b){let c=(0,k.readHooksConfig)(),d=new Set(c.enabledPolicies);b?d.add(a):d.delete(a),(0,k.writeHooksConfig)({...c,enabledPolicies:[...d]});try{let c=(0,ac.getInstanceId)();await (0,ab.trackHookEvent)(c,"policy_toggled",{policy_name:a,enabled:b,action:b?"enable":"disable",source:"web"})}catch{}}async function a0(a,b){if(!a.startsWith("custom:")&&!a.startsWith("convention:"))throw Error("Invalid custom policy ID");let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd();if(b){for(let b of n){let d=(0,k.readScopedHooksConfig)(b,c);if(!d.disabledCustomPolicies?.includes(a))continue;let e=d.disabledCustomPolicies.filter(b=>b!==a),f={...d,disabledCustomPolicies:e};e.length||delete f.disabledCustomPolicies,(0,k.writeScopedHooksConfig)(f,b,c)}return}let d=(0,k.readHooksConfig)(),e=new Set(d.disabledCustomPolicies??[]);e.add(a);let f={...d,disabledCustomPolicies:[...e]};e.size||delete f.disabledCustomPolicies,(0,k.writeHooksConfig)(f)}async function a1(a,b){let c=a.trim();if(!c)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await aG(c,b??{});return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function a2(){try{let a=await aL(av);return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function a3(a){return!function(a){let b,c=(0,g.resolve)(aj(),"installed.json");if(!(0,e.existsSync)(c))return!1;try{b=JSON.parse((0,e.readFileSync)(c,"utf8"))}catch{return!1}let d=Array.isArray(b.packs)?b.packs:[],f=d.filter(b=>b?.id!==a);return f.length!==d.length&&(aF(c,JSON.stringify({schemaVersion:1,packs:f},null,2)+"\n"),!0)}(a)?{ok:!1,error:`No installed pack with id ${a}`}:{ok:!0,id:a}}async function a4(a,b,c){let d=aM(a,b,c);if(!d.ok)return{ok:!1,error:d.reason};if(c){let c=an().packs.find(b=>b.id===a);if(c){let a=`pack:${c.id}@${c.version}:${b}`,d=(0,k.readHooksConfig)(),e=(d.disabledCustomPolicies??[]).filter(b=>b!==a);if(e.length!==(d.disabledCustomPolicies??[]).length){let{disabledCustomPolicies:a,...b}=d;(0,k.writeHooksConfig)(e.length>0?{...b,disabledCustomPolicies:e}:b)}}}return{ok:!0,id:a}}async function a5(a){let b=a.trim();if(!b)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await aH(b);return{ok:!0,id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(a=>({name:a.name,description:a.description,category:a.category,defaultEnabled:a.defaultEnabled}))}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function a6(a="user",b){let c=(0,k.readHooksConfig)(),d=c.enabledPolicies.length>0?c.enabledPolicies:_.BUILTIN_POLICIES.filter(a=>a.defaultEnabled&&!a.beta).map(a=>a.name),e=b&&b.length>0?b:$(),f=e.length>0?e:["claude"];await aT(d,a,void 0,!1,"web",void 0,!1,f)}async function a7(a="user",b){let c=b&&b.length>0?b:$(),d=c.length>0?c:["claude"];await aV(void 0,a,void 0,{source:"web",cli:d})}async function a8(a,b){let c=(0,k.readHooksConfig)(),d={...c.policyParams??{},[a]:b};(0,k.writeHooksConfig)({...c,policyParams:d});try{let c=(0,ac.getInstanceId)();await (0,ab.trackHookEvent)(c,"policy_params_updated",{policy_name:a,param_keys:Object.keys(b),source:"web"})}catch{}}(0,i.ensureServerEntryExports)([a$]),(0,d.registerServerReference)(a$,"00faa43e0e77a606f8559d3c06e2d232070d22b262",null),(0,i.ensureServerEntryExports)([a_,a0]),(0,d.registerServerReference)(a_,"609563c41a5715314dde4b69eddd7cf53c02680d28",null),(0,d.registerServerReference)(a0,"60420986e49eaf4564c5b4ecb7d5bda75cc64ab492",null),(0,i.ensureServerEntryExports)([a1,a2,a3,a4,a5]),(0,d.registerServerReference)(a1,"60c5067f9f286b738c5c76b309746159e02a66bbc7",null),(0,d.registerServerReference)(a2,"0018630e2a21339b4bae4e15cd0b2c7a695a77e156",null),(0,d.registerServerReference)(a3,"40dbaadd4ff49e6e9f4c864e57c8e068cd16d4e83d",null),(0,d.registerServerReference)(a4,"70a7f6e5ea6692be98257e80db786c456f1094614d",null),(0,d.registerServerReference)(a5,"40a1f6546c335a8ba4c528011dd8ec0c2156a1f35b",null),(0,i.ensureServerEntryExports)([a6,a7]),(0,d.registerServerReference)(a6,"605a85a3e288a7685c886917cdd9d5720c06c594e8",null),(0,d.registerServerReference)(a7,"60565a5a22bd9f2ff66fa9385b5a4f4bb0e62a8e62",null),(0,i.ensureServerEntryExports)([a8]),(0,d.registerServerReference)(a8,"60c190aac8d7394dc5d84accb74d126d7827b13ba9",null),a.s([],96801),a.i(96801),a.s(["0015f4a5578fe8996802a345897ed97f39e5ae1148",()=>b.getTelemetryConfig,"0018630e2a21339b4bae4e15cd0b2c7a695a77e156",0,a2,"001bbf4af11d93677c03e58e9f370280b80ac5a00f",0,j,"00faa43e0e77a606f8559d3c06e2d232070d22b262",0,a$,"40481d58ed4ed5aaba2cd3b9d75f6393d5b8b40851",()=>c.getHookActivityAction,"40a1f6546c335a8ba4c528011dd8ec0c2156a1f35b",0,a5,"40dbaadd4ff49e6e9f4c864e57c8e068cd16d4e83d",0,a3,"60420986e49eaf4564c5b4ecb7d5bda75cc64ab492",0,a0,"60565a5a22bd9f2ff66fa9385b5a4f4bb0e62a8e62",0,a7,"605a85a3e288a7685c886917cdd9d5720c06c594e8",0,a6,"6094b1444deee9a9ed8be824e47be380a30753b0b8",()=>c.searchHookActivityAction,"60c190aac8d7394dc5d84accb74d126d7827b13ba9",0,a8,"60c5067f9f286b738c5c76b309746159e02a66bbc7",0,a1,"70a7f6e5ea6692be98257e80db786c456f1094614d",0,a4],73338)}];
|
|
230
|
+
`),"utf8"),Array.isArray(a.plugin)||(a.plugin=[]);let l="user"===j?`file://${k}`:x,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=y(a);if((0,c.existsSync)(e))try{(0,c.readFileSync)(e,"utf8").includes(i.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=y(d);if(!(0,c.existsSync)(b))return!1;return(0,c.readFileSync)(b,"utf8").includes(i.FAILPROOFAI_HOOK_MARKER)}catch{return!1}},detectInstalled:()=>q("opencode")};function A(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,d.resolve)(a,"pi-extension"):(0,d.resolve)((0,e.fileURLToPath)(j.url),"..","..","..","pi-extension")}function B(a){return"string"==typeof a&&(!!/(?:^|\/)pi-extension\/?$/.test(a)||a.includes("pi-extension")&&a.includes("failproofai"))}let C={id:"pi",displayName:"Pi",scopes:i.PI_HOOK_SCOPES,eventTypes:i.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=>k(a),writeSettings(a,b){l(a,b)},buildHookEntry:(a,b,c)=>({[i.FAILPROOFAI_HOOK_MARKER]:!0,_piPackagePath:A(),_piScope:c}),isFailproofaiHook:a=>"string"==typeof a?B(a):!!a&&"object"==typeof a&&(!0===a[i.FAILPROOFAI_HOOK_MARKER]||"string"==typeof a.source&&B(a.source)),writeHookEntries(a,b,c){var e;let f,g,h;Array.isArray(a.packages)||(a.packages=[]);let i=A(),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=>B(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=>!B(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=>B(a))}catch{return!1}},detectInstalled:()=>q("pi")},D={id:"hermes",displayName:"Hermes",scopes:i.HERMES_HOOK_SCOPES,eventTypes:i.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=>m(a),writeSettings(a,b){n(a,b)},buildHookEntry:(a,b,c)=>({command:"project"===c?`npx -y failproofai --hook ${b} --cli hermes`:`"${a}" --hook ${b} --cli hermes`,timeout:30,[i.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:o,writeHookEntries(a,b,c){let d=a.toJS()??{},e=d.hooks&&"object"==typeof d.hooks?d.hooks:{};for(let a of i.HERMES_HOOK_EVENT_TYPES){let d=this.buildHookEntry(b,a,c),f=Array.isArray(e[a])?e[a]:[],g=f.findIndex(a=>o(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=m(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=>!o(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)&&n(a,b),e},hooksInstalledInSettings(a,b){let d=r(this,a,b);return d.length>0&&d.every(a=>(function(a){if(!(0,c.existsSync)(a))return!1;try{let b=(m(a).toJS()??{}).hooks;if(!b||"object"!=typeof b)return!1;for(let a of Object.values(b))if(Array.isArray(a)&&a.some(a=>o(a)))return!0}catch{}return!1})(a))},detectInstalled:()=>q("hermes")},E="failproofai";function F(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,d.resolve)(a,"openclaw-plugin"):(0,d.resolve)((0,e.fileURLToPath)(j.url),"..","..","..","openclaw-plugin")}function G(a){return"string"==typeof a&&(/(?:^|\/)openclaw-plugin\/?$/.test(a)||a.includes("openclaw-plugin")&&a.includes("failproofai"))}let H={id:"openclaw",displayName:"OpenClaw",scopes:i.OPENCLAW_HOOK_SCOPES,eventTypes:i.OPENCLAW_HOOK_EVENT_TYPES,getSettingsPath:()=>(0,d.resolve)((0,f.homedir)(),".openclaw","openclaw.json"),readSettings:a=>k(a),writeSettings(a,b){l(a,b)},buildHookEntry:()=>({[i.FAILPROOFAI_HOOK_MARKER]:!0,_openclawPluginPath:F()}),isFailproofaiHook:a=>"string"==typeof a?G(a):!!a&&"object"==typeof a&&(!0===a[i.FAILPROOFAI_HOOK_MARKER]||"string"==typeof a.source&&G(a.source)),writeHookEntries(a){let b=a.plugins??={},c=b.load??={};Array.isArray(c.paths)||(c.paths=[]);let d=F(),e=c.paths.findIndex(a=>G(a));e>=0?c.paths[e]=d:c.paths.push(d);let f=b.entries??={},g=f[E]??={};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=>!G(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&&E in d.entries&&(delete d.entries[E],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=this.getSettingsPath(a,b);if(!(0,c.existsSync)(d))return!1;try{let a=this.readSettings(d),b=a.plugins?.load?.paths,c=Array.isArray(b)&&b.some(a=>G(a)),e=a.plugins?.entries?.[E]?.enabled===!0;return c&&e}catch{return!1}},detectInstalled:()=>q("openclaw")},I={id:"factory",displayName:"Factory Droid",scopes:i.FACTORY_HOOK_SCOPES,eventTypes:i.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=>k(a),writeSettings(a,b){l(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,[i.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:o,writeHookEntries(a,b,c){for(let d of i.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=>o(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=>!o(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=>o(a)))return!0}}catch{}return!1},detectInstalled:()=>q("droid")},J={id:"devin",displayName:"Devin CLI",scopes:i.DEVIN_HOOK_SCOPES,eventTypes:i.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=>k(a),writeSettings(a,b){l(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,[i.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:o,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),i.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=>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.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.hooks&&a.hooks.some(a=>o(a)))return!0}}catch{}return!1},detectInstalled:()=>q("devin")},K="failproofai",L=new Set(["PreToolUse","PostToolUse"]);function M(a){if(!a||"object"!=typeof a)return!1;let b=a.command;return"string"==typeof b&&b.includes("failproofai")&&b.includes("--cli goose")}let N={claude:s,codex:t,copilot:v,cursor:w,opencode:z,pi:C,hermes:D,openclaw:H,factory:I,devin:J,antigravity:{id:"antigravity",displayName:"Antigravity CLI",scopes:i.ANTIGRAVITY_HOOK_SCOPES,eventTypes:i.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=>k(a),writeSettings(a,b){l(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,[i.FAILPROOFAI_HOOK_MARKER]:!0}),isFailproofaiHook:o,writeHookEntries(a,b,c){a[K]&&"object"==typeof a[K]||(a[K]={});let d=a[K];for(let a of i.ANTIGRAVITY_HOOK_EVENT_TYPES){let e=this.buildHookEntry(b,a,c);if(L.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=>o(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=>o(a));c>=0?b[c]=e:b.push(e)}}},removeHooksFromFile(a){let b=this.readSettings(a),c=b[K];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(L.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=>!o(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=>!o(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}}return 0===Object.keys(c).length&&delete b[K],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)[K];if(!a||"object"!=typeof a)return!1;for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(o(a)||a&&Array.isArray(a.hooks)&&a.hooks.some(a=>o(a)))return!0}}catch{}return!1},detectInstalled:()=>q("agy")},goose:{id:"goose",displayName:"Goose",scopes:i.GOOSE_HOOK_SCOPES,eventTypes:i.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=>k(a),writeSettings(a,b){l(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli goose`:`"${a}" --hook ${b} --cli goose`}),isFailproofaiHook:M,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),i.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=>M(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=>!M(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=>M(a)))return!0}}catch{}return!1},detectInstalled:()=>q("goose")}};a.s(["claudeCode",0,s,"detectInstalledClis",0,function(){return i.INTEGRATION_TYPES.filter(a=>N[a]?.detectInstalled())},"getIntegration",0,function(a){let b=N[a];if(!b)throw Error(`"${a}" is audit-only — live-hook install is not supported for it yet. Installable: ${i.INTEGRATION_TYPES.filter(a=>void 0!==N[a]).join(", ")}`);return b},"listIntegrations",0,function(){return i.INTEGRATION_TYPES.map(a=>N[a]).filter(a=>void 0!==a)},"settingsPathsFor",0,r])},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"]])}];
|
|
245
231
|
|
|
246
|
-
//# sourceMappingURL
|
|
232
|
+
//# sourceMappingURL=_1es2j7i._.js.map
|