failproofai 1.0.9-beta.1 → 1.0.9-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +6 -6
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  19. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
  30. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/index.html +1 -1
  33. package/.next/standalone/.next/server/app/index.rsc +14 -14
  34. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +13 -13
  35. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
  36. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  38. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +14 -14
  41. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  44. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  47. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  48. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  51. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  54. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o07qi9._.js +1 -1
  57. package/.next/standalone/.next/server/chunks/_0tovk6q._.js +1 -1
  58. package/.next/standalone/.next/server/chunks/_0trp3yc._.js +1 -1
  59. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04usis8._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__056wjo4._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n0xg95._.js +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rwtwpm._.js +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11mayhe._.js +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15578wp._.js +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1m_svbe._.js +2 -2
  67. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__03m2iw6._.js → [root-of-the-server]__1ox4w55._.js} +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pprgri._.js +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1q4p5b8._.js +2 -2
  70. package/.next/standalone/.next/server/chunks/ssr/_042cgl1._.js +1 -1
  71. package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/ssr/_0bqoto4._.js +1 -1
  73. package/.next/standalone/.next/server/chunks/ssr/{_11ilmst._.js → _0n6zrjv._.js} +2 -2
  74. package/.next/standalone/.next/server/chunks/ssr/_1gb0ifp._.js +2 -2
  75. package/.next/standalone/.next/server/chunks/ssr/{_1jatlmf._.js → _1pa3k5k._.js} +1 -1
  76. package/.next/standalone/.next/server/chunks/ssr/_1zopuov._.js +1 -1
  77. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo.js +2 -2
  78. package/.next/standalone/.next/server/chunks/ssr/app_actions_get-scheduled-audit_ts_0ei9sni._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +1 -1
  80. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
  81. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
  82. package/.next/standalone/.next/server/chunks/ssr/app_settings_02tf1h4._.js +1 -1
  83. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  84. package/.next/standalone/.next/server/pages/404.html +1 -1
  85. package/.next/standalone/.next/server/pages/500.html +1 -1
  86. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/server-reference-manifest.json +23 -23
  88. package/.next/standalone/.next/static/chunks/{21qlo00jis4w-.js → 0h--izcpk__m9.js} +1 -1
  89. package/.next/standalone/.next/static/chunks/{1-d48e9k-7e1a.js → 1srecm9k-z_i1.js} +1 -1
  90. package/.next/standalone/.next/static/chunks/{1r74hmr1wm_sd.js → 28cmd5molgwa3.js} +1 -1
  91. package/.next/standalone/.next/static/chunks/{3vp54x0dyrrm6.js → 2b59i-n9l-4of.js} +1 -1
  92. package/.next/standalone/.next/static/chunks/{0pefjgvu4x-sx.js → 2k5vhij_w1g82.js} +1 -1
  93. package/.next/standalone/.next/static/chunks/2o1fy-waqn1he.js +6 -0
  94. package/.next/standalone/.next/static/chunks/{2n00c3zqyloy9.js → 30z-240_lrczt.js} +1 -1
  95. package/.next/standalone/.next/static/chunks/38gpf5tb_rd0m.js +1 -0
  96. package/.next/standalone/.next/static/chunks/3nyf50dub1vuk.js +1 -0
  97. package/.next/standalone/.next/static/chunks/{1uec0n0lcx5h1.js → 42-l25bbfo0ec.js} +1 -1
  98. package/.next/standalone/package.json +9 -9
  99. package/.next/standalone/server.js +1 -1
  100. package/dist/cli.mjs +35 -20
  101. package/dist/worker.mjs +1 -1
  102. package/package.json +9 -9
  103. package/src/hooks/integrations.ts +25 -5
  104. package/.next/standalone/.next/static/chunks/08ckontevw-0w.js +0 -1
  105. package/.next/standalone/.next/static/chunks/21-pqc3-l9ak2.js +0 -6
  106. package/.next/standalone/.next/static/chunks/3tv107_for_n7.js +0 -1
  107. /package/.next/standalone/.next/static/{ozuWoyIwOTqeUUjKqOKiH → D1BjwOkHNPetPo47DhV4_}/_buildManifest.js +0 -0
  108. /package/.next/standalone/.next/static/{ozuWoyIwOTqeUUjKqOKiH → D1BjwOkHNPetPo47DhV4_}/_clientMiddlewareManifest.js +0 -0
  109. /package/.next/standalone/.next/static/{ozuWoyIwOTqeUUjKqOKiH → D1BjwOkHNPetPo47DhV4_}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[35874,a=>{"use strict";var b=a.i(36359),c=a.i(36119),d=a.i(41289),e=a.i(37936),f=a.i(2157),g=a.i(50227),h=a.i(5246),i=a.i(8674);let j=new Set(["localhost","127.0.0.1","::1","[::1]","0:0:0:0:0:0:0:1"]);function k(a){let b=a.trim().toLowerCase();return!!b&&(!!j.has(b)||/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(b))}var l=a.i(87481),m=a.i(55113),n=a.i(13095);let o="this request did not come from the dashboard in your browser, so nothing was written.",p="env-key-stand-in";async function q(){var a,b;let c;try{c=await (0,h.headers)()}catch{return o}let d=k((a=void 0,b=process.env.FAILPROOFAI_DASHBOARD_HOST,(a??b??"").trim()||"127.0.0.1")),e=c.get("host");if(d&&(!e||!k(function(a){let b=a.trim();if(b.startsWith("[")){let a=b.indexOf("]");return -1===a?b:b.slice(0,a+1)}let c=b.indexOf(":");return -1===c?b:b.slice(0,c)}(e))))return o;let f=c.get("origin");if(!f)return d?null:o;let g=null;try{g=new URL(f).host.toLowerCase()}catch{g=null}return g&&g===(e??"").toLowerCase()?null:o}function r(a){if(!a)return null;let b=(0,l.validateBaseUrl)(a);if(!b.ok)return null;try{let a=new URL(b.value).origin;return"null"===a?null:a}catch{return null}}function s(a){let b=(0,g.dirname)(a);try{let a=511&(0,f.statSync)(b).mode;(18&a)!=0&&(0,f.chmodSync)(b,-19&a)}catch{}}async function t(a){let b=await q();if(b)return{ok:!1,problem:b};let c=a.provider.trim();if(!l.JEV_PROVIDER_KINDS.includes(c))return{ok:!1,problem:`provider must be one of ${l.JEV_PROVIDER_KINDS.join(", ")}`};if(c===l.JEV_CLOUD_PROVIDER)return{ok:!1,problem:"FailproofAI Cloud's Jev is turned on by connecting this machine (failproofai config --token <key>), and switched with the mode control — not saved from this form."};let e=(0,l.parseJevMode)(a.mode);if(null===e)return{ok:!1,problem:'mode must be "off", "observe" or "enforce".'};let f=a.baseUrl.trim(),g=f?(0,l.validateBaseUrl)(f):null;if(g&&!g.ok)return{ok:!1,problem:g.problem};let h=(0,l.readJevConfigFileForUpdate)(),j=h?.raw??null,k=null!==j&&j.provider===c;if(g?.ok){let a=(0,l.validateBaseUrl)(j?.baseUrl),b=k&&a.ok&&(0,l.baseUrlWithoutQuery)(a.value).url===(0,l.baseUrlWithoutQuery)(g.value).url,d=b?null:(0,l.providerHostConflict)(c,g.value);if(d)return{ok:!1,problem:`${d}.`};let e=b?null:(0,l.endpointGivenAsBase)(g.value);if(e)return{ok:!1,problem:`that url is an endpoint, not an api base — its path ends in ${e.suffix}. ${(0,m.endpointAsBaseReason)(g.value)} Use ${(0,l.baseUrlWithoutQuery)(e.base).url} instead.`}}let n=k?{...j}:{};!k&&j&&(void 0!==j.mode&&(n.mode=j.mode),void 0!==j.timeoutMs&&(n.timeoutMs=j.timeoutMs)),n.provider=c,f?n.baseUrl=function(a,b){if("string"!=typeof b||""===b)return a;let c=(0,l.validateBaseUrl)(b);if(!c.ok)return a;let d=(0,l.baseUrlWithoutQuery)(c.value);if(!d.hadQuery)return a;let e=(0,l.validateBaseUrl)(a);return e.ok&&e.value===d.url?c.value:a}(f,j?.baseUrl):delete n.baseUrl;let o=a.accountId.trim();"cloudflare"===c&&o?n.accountId=o:delete n.accountId,n.mode=e;let t=k&&h?.tooOpen!==!0&&r(f)===r("string"==typeof j?.baseUrl?j.baseUrl:""),u="string"==typeof j?.apiKey&&""!==j.apiKey,v=null!==j&&!u&&(0,l.validateJevConfig)(j,p).ok,w=a.token.trim();if(w){let a=(0,l.validateApiKey)(w);if(a)return{ok:!1,problem:a,needsToken:!0};n.apiKey=w}else if(!t&&!v)return{ok:!1,needsToken:!0,problem:u?k&&h?.tooOpen===!0?`${(0,l.jevConfigPath)()} was open to other users, so the endpoint it names may not be one you chose and its stored token is not reused. check the endpoint above, then enter the token for it.`:k?"that endpoint is not the one the stored token was given for, so it is not sent there. enter the token for it.":"enter the token for this provider.":"enter the token for this provider."};let x=void 0===n.apiKey,y=(0,l.validateJevConfig)(n,x?p:null);if(!y.ok)return{ok:!1,problem:y.problem,...!0===y.missingKey?{needsToken:!0}:{}};let z=(0,l.jevConfigPath)();try{(0,i.writeJsonAtomically)(z,n,{mode:384,dirMode:448})}catch(a){return{ok:!1,problem:`could not write ${z} (${a.code??"error"}).`}}return s(z),{ok:!0,view:await (0,d.getJevSettingsAction)()}}async function u(a){let b=await q();if(b)return{ok:!1,problem:b};let c=(0,l.parseJevMode)(a);if(null===c)return{ok:!1,problem:'mode must be "off", "observe" or "enforce".'};let e=(0,l.readJevConfigFileForUpdate)();if(null===e)return{ok:!1,problem:`there is no readable ${(0,l.jevConfigPath)()} to switch. connect this machine (failproofai config --token <key>) or set up your own endpoint below.`};if(e.tooOpen)return{ok:!1,problem:`${(0,l.jevConfigPath)()} is open to other users, so Jev is already off and the endpoint it names is not trusted. fix its permissions first (chmod 600, and chmod 700 on its directory).`};let f={...e.raw,mode:c},g=f.provider===l.JEV_CLOUD_PROVIDER,h=(0,l.validateJevConfig)(f,g||"string"==typeof f.apiKey?null:p,g?{url:function(a){if("string"!=typeof a)return"";try{return new URL(a).origin}catch{return""}}(f.baseUrl),key:p}:null);if(!h.ok)return{ok:!1,problem:h.problem};let j=(0,l.jevConfigPath)();try{(0,i.writeJsonAtomically)(j,f,{mode:384,dirMode:448})}catch(a){return{ok:!1,problem:`could not write ${j} (${a.code??"error"}).`}}return s(j),{ok:!0,view:await (0,d.getJevSettingsAction)()}}async function v(){let a=await q();if(a)return{ok:!1,problem:a};let b=(0,l.jevConfigPath)();if((0,f.existsSync)(b))try{(0,f.unlinkSync)(b)}catch(a){return{ok:!1,problem:`could not remove ${b} (${a.code??"error"}).`}}return{ok:!0,view:await (0,d.getJevSettingsAction)()}}(0,n.ensureServerEntryExports)([t,u,v]),(0,e.registerServerReference)(t,"4087352d266f465a70af0cbf5a0c791e52f01faefa",null),(0,e.registerServerReference)(u,"40b3608a81d95a535314e134350260644ce750a1ba",null),(0,e.registerServerReference)(v,"00751addb135c55fab285723fc50a8e3816cd8bc2f",null);var w=a.i(21572),x=a.i(81243);async function y(a){if(a&&!await (0,x.whoAmI)()){let a=(0,x.readAuth)();return{ok:!1,reason:a&&1e3*a.refresh_expires_at>Date.now()?"unreachable":"signed-out"}}return{ok:!0,auto:(0,w.updateConfig)({audit:a?{auto:!0,reportsConsentedAt:Date.now()}:{auto:!1}}).audit.auto}}async function z(a){return(0,w.updateConfig)({audit:{intervalDays:a}}),{intervalDays:(0,w.readConfig)().audit.intervalDays}}(0,n.ensureServerEntryExports)([y,z]),(0,e.registerServerReference)(y,"4076b7cc3a4841f63b60f4f87dd7b3a51faa0118d3",null),(0,e.registerServerReference)(z,"4080fb3b00a964564aa1bda3774cc6b837b82f155b",null),a.s([],40320),a.i(40320),a.s(["006f728e8d486e58b082bcadccad899e7a5646a47f",()=>d.getJevSettingsAction,"00751addb135c55fab285723fc50a8e3816cd8bc2f",0,v,"00a9163b93014ab406fd89a6249f844ab47fada4df",()=>b.getTelemetryConfig,"00e636afead3e9ec193cb4c7fd0a125d0399611872",()=>c.getScheduledAuditAction,"4076b7cc3a4841f63b60f4f87dd7b3a51faa0118d3",0,y,"4080fb3b00a964564aa1bda3774cc6b837b82f155b",0,z,"4087352d266f465a70af0cbf5a0c791e52f01faefa",0,t,"40b3608a81d95a535314e134350260644ce750a1ba",0,u],35874)},8018,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(a.r(717));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},81740,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"cookies",{enumerable:!0,get:function(){return n}});let d=a.r(14896),e=a.r(63681),f=a.r(56704),g=a.r(32319),h=a.r(60384),i=a.r(60312),j=a.r(13091),k=a.r(8018),l=a.r(86309),m=a.r(50640);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,l.isRequestApiAllowedInCurrentPhase)(c))throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1381",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E849",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E831",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),(0,j.applyOwnerStack)(f),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E846",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1123",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let g=o.get(q);if(g)return g;let r=(0,j.makeRuntimeHangingPromise)(q.renderSignal,k.route,"`cookies()`",q);return o.set(q,r),r;case"prerender-client":case"validation-client":let s="`cookies`";throw Object.defineProperty(new m.InvariantError(`${s} must not be used within a Client Component. Next.js should be preventing ${s} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1037",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(j.RENDER_STAGES_BY_DATA_KIND.sessionData,"cookies",c.cookies);return p(c.cookies)}case"private-cache":return p(c.cookies);case"request":let t;if((0,h.trackDynamicDataInDynamicRender)(c),t=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return p(t);if(t===c.mutableCookies)return c.asyncApiPromises.mutableCookies;return c.asyncApiPromises.cookies}}(0,g.throwForMissingRequestStore)(a)}let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E830",enumerable:!1,configurable:!0})})},29927,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HeadersAdapter:function(){return h},ReadonlyHeadersError:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(51409);class g extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1176",enumerable:!1,configurable:!0})}static callable(){throw new g}}class h extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return f.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==g)return f.ReflectAdapter.get(b,g,d)},set(b,c,d,e){if("symbol"==typeof c)return f.ReflectAdapter.set(b,c,d,e);let g=c.toLowerCase(),h=Object.keys(a).find(a=>a.toLowerCase()===g);return f.ReflectAdapter.set(b,h??c,d,e)},has(b,c){if("symbol"==typeof c)return f.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&f.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return f.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||f.ReflectAdapter.deleteProperty(b,e)}})}static seal(a,b){let c,d=b&&b.size>0?a=>b.has(a.toLowerCase()):null,e=new Proxy(a,{get(a,b,d){switch(b){case"append":case"delete":case"set":return g.callable;case Symbol.iterator:return c[Symbol.iterator];case"get":case"has":case"getSetCookie":case"keys":case"values":case"entries":case"forEach":return c[b];default:return f.ReflectAdapter.get(a,b,d)}}});return c=d?function(a,b,c){function*d(){for(let b of a.entries())c(b[0])||(yield b)}return{entries:d,[Symbol.iterator]:d,get:b=>c(b)?null:a.get(b),has:b=>!c(b)&&a.has(b),getSetCookie:()=>c("set-cookie")?[]:a.getSetCookie(),*keys(){for(let b of a.keys())c(b)||(yield b)},*values(){for(let[,a]of d())yield a},forEach(a,c){for(let[e,f]of d())a.call(c,f,e,b)}}}(a,e,d):{get:a.get.bind(a),has:a.has.bind(a),getSetCookie:a.getSetCookie.bind(a),keys:a.keys.bind(a),values:a.values.bind(a),entries:a.entries.bind(a),[Symbol.iterator]:a[Symbol.iterator].bind(a),forEach(b,c){for(let[d,f]of a.entries())b.call(c,f,d,e)}},e}static fresh(a){return new Proxy(a,{get:(a,b,c)=>f.ReflectAdapter.get(a,b,c)})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new h(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}},35754,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"headers",{enumerable:!0,get:function(){return m}});let d=a.r(29927),e=a.r(56704),f=a.r(32319),g=a.r(60384),h=a.r(60312),i=a.r(13091),j=a.r(8018),k=a.r(86309),l=a.r(50640);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,k.isRequestApiAllowedInCurrentPhase)(c))throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1378",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E833",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),(0,i.applyOwnerStack)(a),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E838",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1134",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E828",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":var j=b,p=c;let e=n.get(p);if(e)return e;let f=(0,i.makeRuntimeHangingPromise)(p.renderSignal,j.route,"`headers()`",p);return n.set(p,f),f;case"prerender-client":case"validation-client":let q="`headers`";throw Object.defineProperty(new l.InvariantError(`${q} must not be used within a client component. Next.js should be preventing ${q} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1017",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(i.RENDER_STAGES_BY_DATA_KIND.sessionData,"headers",c.headers);return o(c.headers)}case"private-cache":return o(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return c.asyncApiPromises.headers;return o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E836",enumerable:!1,configurable:!0})})},51125,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"draftMode",{enumerable:!0,get:function(){return l}});let d=a.r(32319),e=a.r(56704),f=a.r(60384),g=a.r(8018),h=a.r(60312),i=a.r(96556),j=a.r(50640);a.r(51409);let k=a.r(13091);function l(){let a="draftMode",b=e.workAsyncStorage.getStore(),c=d.workUnitAsyncStorage.getStore();switch((!b||!c)&&(0,d.throwForMissingRequestStore)(a),c.type){case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(k.RENDER_STAGES_BY_DATA_KIND.sessionData,"draftMode",new p(c.draftMode));return m(c.draftMode,b)}case"request":return m(c.draftMode,b);case"cache":case"private-cache":case"unstable-cache":let f=(0,d.getDraftModeProviderForCacheScope)(b,c);if(f)return m(f,b);case"prerender":case"prerender-ppr":case"prerender-legacy":return m(null,b);case"prerender-client":case"validation-client":{let a="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1046",enumerable:!1,configurable:!0})}case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`${a}()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1132",enumerable:!1,configurable:!0});default:return c}}function m(a,b){let c=o.get(a??n);return c||Promise.resolve(new p(a))}let n={},o=new WeakMap;class p{constructor(a){this._provider=a}get isEnabled(){return null!==this._provider&&this._provider.isEnabled}enable(){q("draftMode().enable()",this.enable),null!==this._provider&&this._provider.enable()}disable(){q("draftMode().disable()",this.disable),null!==this._provider&&this._provider.disable()}}function q(a,b){let c=e.workAsyncStorage.getStore(),g=d.workUnitAsyncStorage.getStore();if(c){if((null==g?void 0:g.phase)==="after")throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside \`after()\`. The enabled status of \`draftMode()\` can be read inside \`after()\` but you cannot enable or disable \`draftMode()\`. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E845",enumerable:!1,configurable:!0});if(c.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${c.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(g)switch(g.type){case"cache":case"private-cache":{let d=Object.defineProperty(Error(`Route ${c.route} used "${a}" inside "use cache". The enabled status of \`draftMode()\` can be read in caches but you must not enable or disable \`draftMode()\` inside a cache. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E829",enumerable:!1,configurable:!0});throw Error.captureStackTrace(d,b),(0,k.applyOwnerStack)(d),c.invalidDynamicUsageError??=d,d}case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside a function cached with \`unstable_cache()\`. The enabled status of \`draftMode()\` can be read in caches but you must not enable or disable \`draftMode()\` inside a cache. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E844",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":{let b=Object.defineProperty(Error(`Route ${c.route} used ${a} without first calling \`await connection()\`. See more info here: https://nextjs.org/docs/messages/next-prerender-sync-headers`),"__NEXT_ERROR_CODE",{value:"E126",enumerable:!1,configurable:!0});return(0,f.abortAndThrowOnSynchronousRequestDataAccess)(c.route,a,b,g)}case"prerender-client":case"validation-client":let d="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${d} must not be used within a Client Component. Next.js should be preventing ${d} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1046",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,f.postponeWithTracking)(c.route,a,g.dynamicTracking);case"prerender-legacy":g.revalidate=0;let e=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=a,c.dynamicUsageStack=e.stack,e;case"request":(0,f.trackDynamicDataInDynamicRender)(g);break;case"generate-static-params":throw Object.defineProperty(Error(`Route ${c.route} used \`${a}\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1121",enumerable:!1,configurable:!0})}}}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E835",enumerable:!1,configurable:!0})})},5246,(a,b,c)=>{b.exports.cookies=a.r(81740).cookies,b.exports.headers=a.r(35754).headers,b.exports.draftMode=a.r(51125).draftMode},86309,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={isRequestApiAllowedInCurrentPhase:function(){return k},throwForSearchParamsAccessInUseCache:function(){return j},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(60312),g=a.r(20635),h=a.r(24725);function i(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function j(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function k(a){switch(a.phase){case"action":case"render":return!0;case"after":{let a=g.actionAsyncStorage.getStore();if(a&&(a.isAppRoute||a.isAction))return!0;let b=h.afterTaskAsyncStorage.getStore();if(b)return"action"===b.rootTaskSpawnPhase;return!1}}}},63681,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(36226)},51409,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReflectAdapter",{enumerable:!0,get:function(){return d}});class d{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},4712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ActionDidNotRevalidate:function(){return f},ActionDidRevalidateDynamicOnly:function(){return h},ActionDidRevalidateStaticAndDynamic:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=0,g=1,h=2},14896,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63681),g=a.r(51409),h=a.r(56704),i=a.r(4712);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1180",enumerable:!1,configurable:!0})}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}static fresh(a){return new Proxy(a,{get:(a,b,c)=>g.ReflectAdapter.get(a,b,c)})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}}];
1
+ module.exports=[35874,a=>{"use strict";var b=a.i(36359),c=a.i(36119),d=a.i(41289),e=a.i(37936),f=a.i(2157),g=a.i(50227),h=a.i(5246),i=a.i(8674);let j=new Set(["localhost","127.0.0.1","::1","[::1]","0:0:0:0:0:0:0:1"]);function k(a){let b=a.trim().toLowerCase();return!!b&&(!!j.has(b)||/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(b))}var l=a.i(87481),m=a.i(55113),n=a.i(13095);let o="this request did not come from the dashboard in your browser, so nothing was written.",p="env-key-stand-in";async function q(){var a,b;let c;try{c=await (0,h.headers)()}catch{return o}let d=k((a=void 0,b=process.env.FAILPROOFAI_DASHBOARD_HOST,(a??b??"").trim()||"127.0.0.1")),e=c.get("host");if(d&&(!e||!k(function(a){let b=a.trim();if(b.startsWith("[")){let a=b.indexOf("]");return -1===a?b:b.slice(0,a+1)}let c=b.indexOf(":");return -1===c?b:b.slice(0,c)}(e))))return o;let f=c.get("origin");if(!f)return d?null:o;let g=null;try{g=new URL(f).host.toLowerCase()}catch{g=null}return g&&g===(e??"").toLowerCase()?null:o}function r(a){if(!a)return null;let b=(0,l.validateBaseUrl)(a);if(!b.ok)return null;try{let a=new URL(b.value).origin;return"null"===a?null:a}catch{return null}}function s(a){let b=(0,g.dirname)(a);try{let a=511&(0,f.statSync)(b).mode;(18&a)!=0&&(0,f.chmodSync)(b,-19&a)}catch{}}async function t(a){let b=await q();if(b)return{ok:!1,problem:b};let c=a.provider.trim();if(!l.JEV_PROVIDER_KINDS.includes(c))return{ok:!1,problem:`provider must be one of ${l.JEV_PROVIDER_KINDS.join(", ")}`};if(c===l.JEV_CLOUD_PROVIDER)return{ok:!1,problem:"FailproofAI Cloud's Jev is turned on by connecting this machine (failproofai config --token <key>), and switched with the mode control — not saved from this form."};let e=(0,l.parseJevMode)(a.mode);if(null===e)return{ok:!1,problem:'mode must be "off", "observe" or "enforce".'};let f=a.baseUrl.trim(),g=f?(0,l.validateBaseUrl)(f):null;if(g&&!g.ok)return{ok:!1,problem:g.problem};let h=(0,l.readJevConfigFileForUpdate)(),j=h?.raw??null,k=null!==j&&j.provider===c;if(g?.ok){let a=(0,l.validateBaseUrl)(j?.baseUrl),b=k&&a.ok&&(0,l.baseUrlWithoutQuery)(a.value).url===(0,l.baseUrlWithoutQuery)(g.value).url,d=b?null:(0,l.providerHostConflict)(c,g.value);if(d)return{ok:!1,problem:`${d}.`};let e=b?null:(0,l.endpointGivenAsBase)(g.value);if(e)return{ok:!1,problem:`that url is an endpoint, not an api base — its path ends in ${e.suffix}. ${(0,m.endpointAsBaseReason)(g.value)} Use ${(0,l.baseUrlWithoutQuery)(e.base).url} instead.`}}let n=k?{...j}:{};!k&&j&&(void 0!==j.mode&&(n.mode=j.mode),void 0!==j.timeoutMs&&(n.timeoutMs=j.timeoutMs)),n.provider=c,f?n.baseUrl=function(a,b){if("string"!=typeof b||""===b)return a;let c=(0,l.validateBaseUrl)(b);if(!c.ok)return a;let d=(0,l.baseUrlWithoutQuery)(c.value);if(!d.hadQuery)return a;let e=(0,l.validateBaseUrl)(a);return e.ok&&e.value===d.url?c.value:a}(f,j?.baseUrl):delete n.baseUrl;let o=a.accountId.trim();"cloudflare"===c&&o?n.accountId=o:delete n.accountId,n.mode=e;let t=k&&h?.tooOpen!==!0&&r(f)===r("string"==typeof j?.baseUrl?j.baseUrl:""),u="string"==typeof j?.apiKey&&""!==j.apiKey,v=null!==j&&!u&&(0,l.validateJevConfig)(j,p).ok,w=a.token.trim();if(w){let a=(0,l.validateApiKey)(w);if(a)return{ok:!1,problem:a,needsToken:!0};n.apiKey=w}else if(!t&&!v)return{ok:!1,needsToken:!0,problem:u?k&&h?.tooOpen===!0?`${(0,l.jevConfigPath)()} was open to other users, so the endpoint it names may not be one you chose and its stored token is not reused. check the endpoint above, then enter the token for it.`:k?"that endpoint is not the one the stored token was given for, so it is not sent there. enter the token for it.":"enter the token for this provider.":"enter the token for this provider."};let x=void 0===n.apiKey,y=(0,l.validateJevConfig)(n,x?p:null);if(!y.ok)return{ok:!1,problem:y.problem,...!0===y.missingKey?{needsToken:!0}:{}};let z=(0,l.jevConfigPath)();try{(0,i.writeJsonAtomically)(z,n,{mode:384,dirMode:448})}catch(a){return{ok:!1,problem:`could not write ${z} (${a.code??"error"}).`}}return s(z),{ok:!0,view:await (0,d.getJevSettingsAction)()}}async function u(a){let b=await q();if(b)return{ok:!1,problem:b};let c=(0,l.parseJevMode)(a);if(null===c)return{ok:!1,problem:'mode must be "off", "observe" or "enforce".'};let e=(0,l.readJevConfigFileForUpdate)();if(null===e)return{ok:!1,problem:`there is no readable ${(0,l.jevConfigPath)()} to switch. connect this machine (failproofai config --token <key>) or set up your own endpoint below.`};if(e.tooOpen)return{ok:!1,problem:`${(0,l.jevConfigPath)()} is open to other users, so Jev is already off and the endpoint it names is not trusted. fix its permissions first (chmod 600, and chmod 700 on its directory).`};let f={...e.raw,mode:c},g=f.provider===l.JEV_CLOUD_PROVIDER,h=(0,l.validateJevConfig)(f,g||"string"==typeof f.apiKey?null:p,g?{url:function(a){if("string"!=typeof a)return"";try{return new URL(a).origin}catch{return""}}(f.baseUrl),key:p}:null);if(!h.ok)return{ok:!1,problem:h.problem};let j=(0,l.jevConfigPath)();try{(0,i.writeJsonAtomically)(j,f,{mode:384,dirMode:448})}catch(a){return{ok:!1,problem:`could not write ${j} (${a.code??"error"}).`}}return s(j),{ok:!0,view:await (0,d.getJevSettingsAction)()}}async function v(){let a=await q();if(a)return{ok:!1,problem:a};let b=(0,l.jevConfigPath)();if((0,f.existsSync)(b))try{(0,f.unlinkSync)(b)}catch(a){return{ok:!1,problem:`could not remove ${b} (${a.code??"error"}).`}}return{ok:!0,view:await (0,d.getJevSettingsAction)()}}(0,n.ensureServerEntryExports)([t,u,v]),(0,e.registerServerReference)(t,"40b0a835a1d1be705e7fe1d1e01e533e2a5cb04f66",null),(0,e.registerServerReference)(u,"404e927f3d5c722fc1ff27a703a7c9d6015703989b",null),(0,e.registerServerReference)(v,"008bf2e6ccce587573e41ef6b9775782751a0665aa",null);var w=a.i(21572),x=a.i(81243);async function y(a){if(a&&!await (0,x.whoAmI)()){let a=(0,x.readAuth)();return{ok:!1,reason:a&&1e3*a.refresh_expires_at>Date.now()?"unreachable":"signed-out"}}return{ok:!0,auto:(0,w.updateConfig)({audit:a?{auto:!0,reportsConsentedAt:Date.now()}:{auto:!1}}).audit.auto}}async function z(a){return(0,w.updateConfig)({audit:{intervalDays:a}}),{intervalDays:(0,w.readConfig)().audit.intervalDays}}(0,n.ensureServerEntryExports)([y,z]),(0,e.registerServerReference)(y,"402e61b9237d9af7ed581d96a01dd73460898bc934",null),(0,e.registerServerReference)(z,"40545d53041219669ee6007ad527f1a1657d3660f3",null),a.s([],40320),a.i(40320),a.s(["008bf2e6ccce587573e41ef6b9775782751a0665aa",0,v,"00b0b1e41b15389782e3c2352a31388b82d5d66fc6",()=>b.getTelemetryConfig,"00b69031fbff64bd5f275ab20d05cb9e7657ffca98",()=>d.getJevSettingsAction,"00e970e68be318301fa30c9489985a49391632b718",()=>c.getScheduledAuditAction,"402e61b9237d9af7ed581d96a01dd73460898bc934",0,y,"404e927f3d5c722fc1ff27a703a7c9d6015703989b",0,u,"40545d53041219669ee6007ad527f1a1657d3660f3",0,z,"40b0a835a1d1be705e7fe1d1e01e533e2a5cb04f66",0,t],35874)},8018,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(a.r(717));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},81740,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"cookies",{enumerable:!0,get:function(){return n}});let d=a.r(14896),e=a.r(63681),f=a.r(56704),g=a.r(32319),h=a.r(60384),i=a.r(60312),j=a.r(13091),k=a.r(8018),l=a.r(86309),m=a.r(50640);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,l.isRequestApiAllowedInCurrentPhase)(c))throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1381",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E849",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E831",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),(0,j.applyOwnerStack)(f),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E846",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1123",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let g=o.get(q);if(g)return g;let r=(0,j.makeRuntimeHangingPromise)(q.renderSignal,k.route,"`cookies()`",q);return o.set(q,r),r;case"prerender-client":case"validation-client":let s="`cookies`";throw Object.defineProperty(new m.InvariantError(`${s} must not be used within a Client Component. Next.js should be preventing ${s} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1037",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(j.RENDER_STAGES_BY_DATA_KIND.sessionData,"cookies",c.cookies);return p(c.cookies)}case"private-cache":return p(c.cookies);case"request":let t;if((0,h.trackDynamicDataInDynamicRender)(c),t=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return p(t);if(t===c.mutableCookies)return c.asyncApiPromises.mutableCookies;return c.asyncApiPromises.cookies}}(0,g.throwForMissingRequestStore)(a)}let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E830",enumerable:!1,configurable:!0})})},29927,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HeadersAdapter:function(){return h},ReadonlyHeadersError:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(51409);class g extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1176",enumerable:!1,configurable:!0})}static callable(){throw new g}}class h extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return f.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==g)return f.ReflectAdapter.get(b,g,d)},set(b,c,d,e){if("symbol"==typeof c)return f.ReflectAdapter.set(b,c,d,e);let g=c.toLowerCase(),h=Object.keys(a).find(a=>a.toLowerCase()===g);return f.ReflectAdapter.set(b,h??c,d,e)},has(b,c){if("symbol"==typeof c)return f.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&f.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return f.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||f.ReflectAdapter.deleteProperty(b,e)}})}static seal(a,b){let c,d=b&&b.size>0?a=>b.has(a.toLowerCase()):null,e=new Proxy(a,{get(a,b,d){switch(b){case"append":case"delete":case"set":return g.callable;case Symbol.iterator:return c[Symbol.iterator];case"get":case"has":case"getSetCookie":case"keys":case"values":case"entries":case"forEach":return c[b];default:return f.ReflectAdapter.get(a,b,d)}}});return c=d?function(a,b,c){function*d(){for(let b of a.entries())c(b[0])||(yield b)}return{entries:d,[Symbol.iterator]:d,get:b=>c(b)?null:a.get(b),has:b=>!c(b)&&a.has(b),getSetCookie:()=>c("set-cookie")?[]:a.getSetCookie(),*keys(){for(let b of a.keys())c(b)||(yield b)},*values(){for(let[,a]of d())yield a},forEach(a,c){for(let[e,f]of d())a.call(c,f,e,b)}}}(a,e,d):{get:a.get.bind(a),has:a.has.bind(a),getSetCookie:a.getSetCookie.bind(a),keys:a.keys.bind(a),values:a.values.bind(a),entries:a.entries.bind(a),[Symbol.iterator]:a[Symbol.iterator].bind(a),forEach(b,c){for(let[d,f]of a.entries())b.call(c,f,d,e)}},e}static fresh(a){return new Proxy(a,{get:(a,b,c)=>f.ReflectAdapter.get(a,b,c)})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new h(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}},35754,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"headers",{enumerable:!0,get:function(){return m}});let d=a.r(29927),e=a.r(56704),f=a.r(32319),g=a.r(60384),h=a.r(60312),i=a.r(13091),j=a.r(8018),k=a.r(86309),l=a.r(50640);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,k.isRequestApiAllowedInCurrentPhase)(c))throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1378",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E833",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),(0,i.applyOwnerStack)(a),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E838",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1134",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E828",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":var j=b,p=c;let e=n.get(p);if(e)return e;let f=(0,i.makeRuntimeHangingPromise)(p.renderSignal,j.route,"`headers()`",p);return n.set(p,f),f;case"prerender-client":case"validation-client":let q="`headers`";throw Object.defineProperty(new l.InvariantError(`${q} must not be used within a client component. Next.js should be preventing ${q} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1017",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(i.RENDER_STAGES_BY_DATA_KIND.sessionData,"headers",c.headers);return o(c.headers)}case"private-cache":return o(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return c.asyncApiPromises.headers;return o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E836",enumerable:!1,configurable:!0})})},51125,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"draftMode",{enumerable:!0,get:function(){return l}});let d=a.r(32319),e=a.r(56704),f=a.r(60384),g=a.r(8018),h=a.r(60312),i=a.r(96556),j=a.r(50640);a.r(51409);let k=a.r(13091);function l(){let a="draftMode",b=e.workAsyncStorage.getStore(),c=d.workUnitAsyncStorage.getStore();switch((!b||!c)&&(0,d.throwForMissingRequestStore)(a),c.type){case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(k.RENDER_STAGES_BY_DATA_KIND.sessionData,"draftMode",new p(c.draftMode));return m(c.draftMode,b)}case"request":return m(c.draftMode,b);case"cache":case"private-cache":case"unstable-cache":let f=(0,d.getDraftModeProviderForCacheScope)(b,c);if(f)return m(f,b);case"prerender":case"prerender-ppr":case"prerender-legacy":return m(null,b);case"prerender-client":case"validation-client":{let a="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1046",enumerable:!1,configurable:!0})}case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`${a}()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1132",enumerable:!1,configurable:!0});default:return c}}function m(a,b){let c=o.get(a??n);return c||Promise.resolve(new p(a))}let n={},o=new WeakMap;class p{constructor(a){this._provider=a}get isEnabled(){return null!==this._provider&&this._provider.isEnabled}enable(){q("draftMode().enable()",this.enable),null!==this._provider&&this._provider.enable()}disable(){q("draftMode().disable()",this.disable),null!==this._provider&&this._provider.disable()}}function q(a,b){let c=e.workAsyncStorage.getStore(),g=d.workUnitAsyncStorage.getStore();if(c){if((null==g?void 0:g.phase)==="after")throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside \`after()\`. The enabled status of \`draftMode()\` can be read inside \`after()\` but you cannot enable or disable \`draftMode()\`. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E845",enumerable:!1,configurable:!0});if(c.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${c.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(g)switch(g.type){case"cache":case"private-cache":{let d=Object.defineProperty(Error(`Route ${c.route} used "${a}" inside "use cache". The enabled status of \`draftMode()\` can be read in caches but you must not enable or disable \`draftMode()\` inside a cache. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E829",enumerable:!1,configurable:!0});throw Error.captureStackTrace(d,b),(0,k.applyOwnerStack)(d),c.invalidDynamicUsageError??=d,d}case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside a function cached with \`unstable_cache()\`. The enabled status of \`draftMode()\` can be read in caches but you must not enable or disable \`draftMode()\` inside a cache. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E844",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":{let b=Object.defineProperty(Error(`Route ${c.route} used ${a} without first calling \`await connection()\`. See more info here: https://nextjs.org/docs/messages/next-prerender-sync-headers`),"__NEXT_ERROR_CODE",{value:"E126",enumerable:!1,configurable:!0});return(0,f.abortAndThrowOnSynchronousRequestDataAccess)(c.route,a,b,g)}case"prerender-client":case"validation-client":let d="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${d} must not be used within a Client Component. Next.js should be preventing ${d} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1046",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,f.postponeWithTracking)(c.route,a,g.dynamicTracking);case"prerender-legacy":g.revalidate=0;let e=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=a,c.dynamicUsageStack=e.stack,e;case"request":(0,f.trackDynamicDataInDynamicRender)(g);break;case"generate-static-params":throw Object.defineProperty(Error(`Route ${c.route} used \`${a}\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1121",enumerable:!1,configurable:!0})}}}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E835",enumerable:!1,configurable:!0})})},5246,(a,b,c)=>{b.exports.cookies=a.r(81740).cookies,b.exports.headers=a.r(35754).headers,b.exports.draftMode=a.r(51125).draftMode},86309,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={isRequestApiAllowedInCurrentPhase:function(){return k},throwForSearchParamsAccessInUseCache:function(){return j},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(60312),g=a.r(20635),h=a.r(24725);function i(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function j(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function k(a){switch(a.phase){case"action":case"render":return!0;case"after":{let a=g.actionAsyncStorage.getStore();if(a&&(a.isAppRoute||a.isAction))return!0;let b=h.afterTaskAsyncStorage.getStore();if(b)return"action"===b.rootTaskSpawnPhase;return!1}}}},63681,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(36226)},51409,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReflectAdapter",{enumerable:!0,get:function(){return d}});class d{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},4712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ActionDidNotRevalidate:function(){return f},ActionDidRevalidateDynamicOnly:function(){return h},ActionDidRevalidateStaticAndDynamic:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=0,g=1,h=2},14896,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63681),g=a.r(51409),h=a.r(56704),i=a.r(4712);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1180",enumerable:!1,configurable:!0})}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}static fresh(a){return new Proxy(a,{get:(a,b,c)=>g.ReflectAdapter.get(a,b,c)})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}}];
2
2
 
3
3
  //# sourceMappingURL=_0bqoto4._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[19952,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("00a9163b93014ab406fd89a6249f844ab47fada4df",b.callServer,void 0,b.findSourceMapURL,"getTelemetryConfig");a.s(["getTelemetryConfig",0,c])},18952,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=[],e=0,f=new Set;function g(){for(let a of f)a()}function h(a){return f.add(a),()=>f.delete(a)}function i(){return d}function j({message:a}){let[d,e]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{requestAnimationFrame(()=>e(!0));let a=setTimeout(()=>e(!1),2e3);return()=>clearTimeout(a)},[]),(0,b.jsx)("div",{className:`bg-card border border-border text-foreground text-sm px-4 py-2 rounded-lg shadow-lg transition-opacity duration-300 ${d?"opacity-100":"opacity-0"}`,children:a})}a.s(["Toaster",0,function(){let a=(0,c.useSyncExternalStore)(h,i,i);return(0,b.jsx)("div",{className:"fixed bottom-4 right-4 z-50 flex flex-col gap-2",children:a.map(a=>(0,b.jsx)(j,{message:a.message},a.id))})},"toast",0,function(a){let b=e++;d=[...d,{id:b,message:a}],g(),setTimeout(()=>{d=d.filter(a=>a.id!==b),g()},2500)}])},10765,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(19952),f=a.i(66036);let g=(0,c.createContext)(void 0);a.s(["PostHogProvider",0,function({children:a}){let h=(0,d.usePathname)(),i=(0,c.useRef)(null),j=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let a=!1;return(0,e.getTelemetryConfig)().then(b=>{a||((0,f.setClientTelemetryConfig)(b),j.current=!0,(0,f.captureClientEvent)("$pageview"),i.current=window.location.pathname)}),()=>{a=!0}},[]),(0,c.useEffect)(()=>{j.current&&i.current!==h&&(i.current=h,(0,f.captureClientEvent)("$pageview"))},[h]);let k=c.default.useCallback((a,b)=>{(0,f.captureClientEvent)(a,b)},[]);return(0,b.jsx)(g.Provider,{value:{capture:k},children:a})},"usePostHog",0,function(){let a=(0,c.useContext)(g);if(void 0===a)throw Error("usePostHog must be used within a PostHogProvider");return a}])},66036,a=>{"use strict";a.s(["captureClientEvent",0,function(a,b){},"setClientTelemetryConfig",0,function(a){}])},46058,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},5050,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20611),g=a.r(1722),h=a.r(38783)},20611,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"callServer",{enumerable:!0,get:function(){return g}});let d=a.r(72131),e=a.r(88347),f=a.r(90841);async function g(a,b){return new Promise((c,g)=>{(0,d.startTransition)(()=>{(0,f.dispatchAppRouterAction)({type:e.ACTION_SERVER_ACTION,actionId:a,actionArgs:b,resolve:c,reject:g})})})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},1722,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findSourceMapURL",{enumerable:!0,get:function(){return d}});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},88347,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f={ACTION_HMR_REFRESH:function(){return l},ACTION_NAVIGATE:function(){return i},ACTION_REFRESH:function(){return h},ACTION_RESTORE:function(){return j},ACTION_SERVER_ACTION:function(){return m},ACTION_SERVER_PATCH:function(){return k},PrefetchKind:function(){return n},ScrollBehavior:function(){return o}};for(var g in f)Object.defineProperty(c,g,{enumerable:!0,get:f[g]});let h="refresh",i="navigate",j="restore",k="server-patch",l="hmr-refresh",m="server-action";var n=((d={}).AUTO="auto",d.FULL="full",d),o=((e={})[e.Default=0]="Default",e[e.NoScroll=1]="NoScroll",e);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},90841,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={dispatchAppRouterAction:function(){return i},dispatchGestureState:function(){return j},refreshOnInstantNavigationUnlock:function(){return h},useActionQueue:function(){return k}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058)._(a.r(72131)),g=a.r(67009);a.r(88347);function h(){}function i(a){!0;throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}function j(a){!0;throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}function k(a){let[b,c]=f.default.useState(a.state),[d,e]=(0,f.useOptimistic)(b),h=(0,f.useMemo)(()=>d,[d]);return(0,g.isThenable)(h)?(0,f.use)(h):h}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},14827,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={createLinkPrefetchPartialError:function(){return g},createUnrenderedSegmentError:function(){return f}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a,b){let c=`Route "${a}": Could not validate that a segment in your UI has instant navigation.`;if(b.length>0){let a=1===b.length?"Dropped segment":"Dropped segments";c+=`
1
+ module.exports=[24845,a=>{"use strict";var b=a.i(5050);let c=(0,b.createServerReference)("00b0b1e41b15389782e3c2352a31388b82d5d66fc6",b.callServer,void 0,b.findSourceMapURL,"getTelemetryConfig");a.s(["getTelemetryConfig",0,c])},18952,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=[],e=0,f=new Set;function g(){for(let a of f)a()}function h(a){return f.add(a),()=>f.delete(a)}function i(){return d}function j({message:a}){let[d,e]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{requestAnimationFrame(()=>e(!0));let a=setTimeout(()=>e(!1),2e3);return()=>clearTimeout(a)},[]),(0,b.jsx)("div",{className:`bg-card border border-border text-foreground text-sm px-4 py-2 rounded-lg shadow-lg transition-opacity duration-300 ${d?"opacity-100":"opacity-0"}`,children:a})}a.s(["Toaster",0,function(){let a=(0,c.useSyncExternalStore)(h,i,i);return(0,b.jsx)("div",{className:"fixed bottom-4 right-4 z-50 flex flex-col gap-2",children:a.map(a=>(0,b.jsx)(j,{message:a.message},a.id))})},"toast",0,function(a){let b=e++;d=[...d,{id:b,message:a}],g(),setTimeout(()=>{d=d.filter(a=>a.id!==b),g()},2500)}])},10765,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(24845),f=a.i(66036);let g=(0,c.createContext)(void 0);a.s(["PostHogProvider",0,function({children:a}){let h=(0,d.usePathname)(),i=(0,c.useRef)(null),j=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let a=!1;return(0,e.getTelemetryConfig)().then(b=>{a||((0,f.setClientTelemetryConfig)(b),j.current=!0,(0,f.captureClientEvent)("$pageview"),i.current=window.location.pathname)}),()=>{a=!0}},[]),(0,c.useEffect)(()=>{j.current&&i.current!==h&&(i.current=h,(0,f.captureClientEvent)("$pageview"))},[h]);let k=c.default.useCallback((a,b)=>{(0,f.captureClientEvent)(a,b)},[]);return(0,b.jsx)(g.Provider,{value:{capture:k},children:a})},"usePostHog",0,function(){let a=(0,c.useContext)(g);if(void 0===a)throw Error("usePostHog must be used within a PostHogProvider");return a}])},66036,a=>{"use strict";a.s(["captureClientEvent",0,function(a,b){},"setClientTelemetryConfig",0,function(a){}])},46058,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},5050,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20611),g=a.r(1722),h=a.r(38783)},20611,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"callServer",{enumerable:!0,get:function(){return g}});let d=a.r(72131),e=a.r(88347),f=a.r(90841);async function g(a,b){return new Promise((c,g)=>{(0,d.startTransition)(()=>{(0,f.dispatchAppRouterAction)({type:e.ACTION_SERVER_ACTION,actionId:a,actionArgs:b,resolve:c,reject:g})})})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},1722,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findSourceMapURL",{enumerable:!0,get:function(){return d}});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},88347,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f={ACTION_HMR_REFRESH:function(){return l},ACTION_NAVIGATE:function(){return i},ACTION_REFRESH:function(){return h},ACTION_RESTORE:function(){return j},ACTION_SERVER_ACTION:function(){return m},ACTION_SERVER_PATCH:function(){return k},PrefetchKind:function(){return n},ScrollBehavior:function(){return o}};for(var g in f)Object.defineProperty(c,g,{enumerable:!0,get:f[g]});let h="refresh",i="navigate",j="restore",k="server-patch",l="hmr-refresh",m="server-action";var n=((d={}).AUTO="auto",d.FULL="full",d),o=((e={})[e.Default=0]="Default",e[e.NoScroll=1]="NoScroll",e);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},90841,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={dispatchAppRouterAction:function(){return i},dispatchGestureState:function(){return j},refreshOnInstantNavigationUnlock:function(){return h},useActionQueue:function(){return k}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058)._(a.r(72131)),g=a.r(67009);a.r(88347);function h(){}function i(a){!0;throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}function j(a){!0;throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}function k(a){let[b,c]=f.default.useState(a.state),[d,e]=(0,f.useOptimistic)(b),h=(0,f.useMemo)(()=>d,[d]);return(0,g.isThenable)(h)?(0,f.use)(h):h}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},14827,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={createLinkPrefetchPartialError:function(){return g},createUnrenderedSegmentError:function(){return f}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a,b){let c=`Route "${a}": Could not validate that a segment in your UI has instant navigation.`;if(b.length>0){let a=1===b.length?"Dropped segment":"Dropped segments";c+=`
2
2
 
3
3
  This segment was dropped from rendering. Issues that would prevent instant navigation will go undetected.
4
4
 
@@ -20,4 +20,4 @@ Ways to fix this:
20
20
 
21
21
  Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},88644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},67009,(a,b,c)=>{"use strict";function d(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isThenable",{enumerable:!0,get:function(){return d}})},41997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},54427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},39118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"}];
22
22
 
23
- //# sourceMappingURL=_11ilmst._.js.map
23
+ //# sourceMappingURL=_0n6zrjv._.js.map
@@ -14,7 +14,7 @@ ${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
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
- ${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]},41550,(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(41550);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+=`:
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
 
19
19
  ${g}
20
20
  ${h}
@@ -227,6 +227,6 @@ export default async function failproofaiPlugin({ client, directory }) {
227
227
  },
228
228
  };
229
229
  }
230
- `)),Array.isArray(a.plugin)||(a.plugin=[]);let h="user"===f?`file://${g}`:Z,i=a.plugin.findIndex(a=>this.isFailproofaiHook(a));i>=0?a.plugin[i]=h:a.plugin.push(h)},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=$(a);if((0,D.existsSync)(d))try{(0,D.readFileSync)(d,"utf8").includes(B)&&((0,D.unlinkSync)(d),0===b&&(b=1))}catch{}return b},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,D.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=$(c);if(!(0,D.existsSync)(b))return!1;return(0,D.readFileSync)(b,"utf8").includes(B)}catch{return!1}},detectInstalled:()=>V("opencode")},pi:{id:"pi",displayName:"Pi",scopes:o,eventTypes:p,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".pi","agent","settings.json");case"project":case"local":return(0,E.resolve)(c,".pi","settings.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(a,b)},buildHookEntry:(a,b,c)=>({[B]:!0,_piPackagePath:_(),_piScope:c}),isFailproofaiHook:a=>"string"==typeof a?aa(a):!!a&&"object"==typeof a&&(!0===a[B]||"string"==typeof a.source&&aa(a.source)),writeHookEntries(a,b,c){var d;let e,f,g;Array.isArray(a.packages)||(a.packages=[]);let h=_(),i="project"===c?(d=h,e=process.cwd(),f=(0,E.resolve)(e),(g=(0,E.resolve)(d)).startsWith(f+"/")||g===f?"../"+g.slice(f.length+1):g):h,j=a.packages.findIndex(a=>aa(a));j>=0?a.packages[j]=i:a.packages.push(i)},removeHooksFromFile(a){if(!(0,D.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=>!aa(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,D.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!Array.isArray(a.packages))return!1;return a.packages.some(a=>aa(a))}catch{return!1}},detectInstalled:()=>V("pi")},hermes:{id:"hermes",displayName:"Hermes",requiresHealthyDaemon:!0,scopes:g,eventTypes:h,getSettingsPath:()=>(0,E.resolve)((0,K.hermesRoot)(),"config.yaml"),getSettingsPaths:()=>(0,K.listHermesProfiles)().map(a=>(0,E.resolve)(a.home,"config.yaml")),readSettings:a=>R(a),writeSettings(a,b){S(a,b)},prepareInstall(a){!function(a,b={}){let c=af();for(let a of ad)if(!(0,D.existsSync)((0,E.resolve)(c,a)))throw Error(`Hermes plugin asset is missing from the failproofai package: ${a}`);let d=ag(a),e=aj(a);if("foreign"===e.kind)throw Error(`Refusing to overwrite an unmanaged Hermes plugin at ${d}. Move it aside or install FailproofAI under a different Hermes profile.`);if("link"===e.kind&&e.current)return;(0,D.mkdirSync)((0,E.dirname)(d),{recursive:!0});let f=`${process.pid}-${Date.now()}`,g=`${d}.install-${f}`,h=!1;try{(b.symlink??function(a,b){(0,D.symlinkSync)(a,b,"dir")})(c,g),h=!0}catch{(0,D.rmSync)(g,{recursive:!0,force:!0})}if(!h){(0,D.mkdirSync)(g,{recursive:!0});try{for(let a of ad)(0,D.cpSync)((0,E.resolve)(c,a),(0,E.resolve)(g,a));(0,D.writeFileSync)((0,E.resolve)(g,ac),"Managed by failproofai. Remove with `failproofai policies --uninstall --cli hermes`.\n",{encoding:"utf8",mode:384})}catch(a){throw(0,D.rmSync)(g,{recursive:!0,force:!0}),a}}if(h&&("absent"===e.kind||"link"===e.kind))try{return(0,D.renameSync)(g,d),"linked"}catch(a){if("link"!==e.kind)throw(0,D.rmSync)(g,{force:!0}),a}let i=`${d}.backup-${f}`,j=!1;try{ah(d)&&((0,D.renameSync)(d,i),j=!0),(0,D.renameSync)(g,d),j&&(0,D.rmSync)(i,{recursive:!0,force:!0})}catch(a){throw(0,D.rmSync)(g,{recursive:!0,force:!0}),j&&!ah(d)&&ah(i)&&(0,D.renameSync)(i,d),a}}(a)},buildHookEntry:(a,b,c)=>({[B]:!0,_hermesPluginPath:af()}),isFailproofaiHook:T,writeHookEntries(a){let b,c,d;ak(a),(d=Array.isArray((c=(b=a.toJS()??{}).plugins&&"object"==typeof b.plugins?b.plugins:{}).enabled)?[...c.enabled]:[]).includes(ab)||d.push(ab),c.enabled=d,Array.isArray(c.disabled)&&(c.disabled=c.disabled.filter(a=>a!==ab),0===c.disabled.length&&delete c.disabled),a.set("plugins",c)},removeHooksFromFile(a){let b,c,d=R(a),e=ak(d),f=(d.toJS()??{}).plugins,g=e>0;if(f&&"object"==typeof f){if(Array.isArray(f.enabled)){let a=f.enabled.length;f.enabled=f.enabled.filter(a=>a!==ab),f.enabled.length!==a&&(e+=1,g=!0),0===f.enabled.length&&delete f.enabled}f.entries&&ab in f.entries&&(delete f.entries[ab],g=!0),0===Object.keys(f).length?d.delete("plugins"):d.set("plugins",f)}return g&&S(a,d),b=ag(a),("link"===(c=aj(a)).kind?((0,D.unlinkSync)(b),0):"copy"!==c.kind||((0,D.rmSync)(b,{recursive:!0,force:!0}),0))||(e+=1),e},hooksInstalledInSettings(a,b){let c=W(this,a,b);return c.length>0&&c.every(a=>(function(a){try{let b,c=function(a){if(!(0,D.existsSync)(a))return{pluginEnabled:!1,legacyShellHookPresent:!1};let b=function(a){try{return R(a)}catch{return null}}(a);if(!b)return{pluginEnabled:!1,legacyShellHookPresent:!1,unreadable:!0};let c=b.toJS()??{},d=c.plugins?.enabled,e=!!c.hooks&&"object"==typeof c.hooks&&Object.values(c.hooks).some(a=>Array.isArray(a)&&a.some(a=>T(a)));return{pluginEnabled:Array.isArray(d)&&d.includes(ab),legacyShellHookPresent:e}}(a);return c.pluginEnabled&&(b=aj(a),("link"===b.kind||"copy"===b.kind)&&b.complete)&&!c.legacyShellHookPresent}catch{}return!1})(a))},detectInstalled:()=>V("hermes")},openclaw:{id:"openclaw",displayName:"OpenClaw",scopes:q,eventTypes:r,getSettingsPath:()=>(0,E.resolve)(M()[0].home,"openclaw.json"),getSettingsPaths:()=>M().map(a=>(0,E.resolve)(a.home,"openclaw.json")),readSettings:a=>P(a),writeSettings(a,b){Q(a,b)},buildHookEntry:()=>({[B]:!0,_openclawPluginPath:am()}),isFailproofaiHook:a=>"string"==typeof a?an(a):!!a&&"object"==typeof a&&(!0===a[B]||"string"==typeof a.source&&an(a.source)),writeHookEntries(a){let b=a.plugins??={},c=b.load??={};Array.isArray(c.paths)||(c.paths=[]);let d=am(),e=c.paths.findIndex(a=>an(a));e>=0?c.paths[e]=d:c.paths.push(d);let f=b.entries??={},g=f[al]??={};g.enabled=!0,(g.hooks??={}).allowConversationAccess=!0},removeHooksFromFile(a){if(!(0,D.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=>!an(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&&al in c.entries&&(delete c.entries[al],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=W(this,a,b);return c.length>0&&c.every(a=>{if(!(0,D.existsSync)(a))return!1;try{let b=this.readSettings(a),c=b.plugins?.load?.paths,d=Array.isArray(c)&&c.some(a=>an(a)),e=b.plugins?.entries?.[al]?.enabled===!0;return d&&e}catch{return!1}})},detectInstalled:()=>V("openclaw")},factory:{id:"factory",displayName:"Factory Droid",scopes:s,eventTypes:t,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".factory","hooks.json");case"project":case"local":return(0,E.resolve)(c,".factory","hooks.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(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,[B]:!0}),isFailproofaiHook:T,writeHookEntries(a,b,c){for(let d of t){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=>T(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=>!T(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,D.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=>T(a)))return!0}}catch{}return!1},detectInstalled:()=>V("droid")},devin:{id:"devin",displayName:"Devin CLI",scopes:u,eventTypes:v,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".config","devin","config.json");case"project":case"local":return(0,E.resolve)(c,".devin","config.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(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,[B]:!0}),isFailproofaiHook:T,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=>T(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=>!T(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,D.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=>T(a)))return!0}}catch{}return!1},detectInstalled:()=>V("devin")},antigravity:{id:"antigravity",displayName:"Antigravity CLI",scopes:w,eventTypes:x,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".gemini","config","hooks.json");case"project":case"local":return(0,E.resolve)(c,".agents","hooks.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(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,[B]:!0}),isFailproofaiHook:T,writeHookEntries(a,b,c){a[ao]&&"object"==typeof a[ao]||(a[ao]={});let d=a[ao];for(let a of x){let e=this.buildHookEntry(b,a,c);if(ap.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=>T(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=>T(a));c>=0?b[c]=e:b.push(e)}}},removeHooksFromFile(a){let b=this.readSettings(a),c=b[ao];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(ap.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=>!T(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=>!T(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}}return 0===Object.keys(c).length&&delete b[ao],this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,D.existsSync)(c))return!1;try{let a=this.readSettings(c)[ao];if(!a||"object"!=typeof a)return!1;for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(T(a)||a&&Array.isArray(a.hooks)&&a.hooks.some(a=>T(a)))return!0}}catch{}return!1},detectInstalled:()=>V("agy")},goose:{id:"goose",displayName:"Goose",scopes:y,eventTypes:z,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".agents","plugins","failproofai","hooks","hooks.json");case"project":case"local":return(0,E.resolve)(c,".agents","plugins","failproofai","hooks","hooks.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli goose`:`"${a}" --hook ${b} --cli goose`}),isFailproofaiHook:aq,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),z)){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=>aq(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=>!aq(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,D.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=>aq(a)))return!0}}catch{}return!1},detectInstalled:()=>V("goose")}};a.s(["claudeCode",0,X,"detectInstalledClis",0,function(){return c.filter(a=>ar[a]?.detectInstalled())},"getIntegration",0,function(a){let b=ar[a];if(!b)throw Error(`"${a}" is audit-only — live-hook install is not supported for it yet. Installable: ${c.filter(a=>void 0!==ar[a]).join(", ")}`);return b},"listIntegrations",0,function(){return c.map(a=>ar[a]).filter(a=>void 0!==a)},"settingsPathsFor",0,W],67121)}];
230
+ `)),Array.isArray(a.plugin)||(a.plugin=[]);let h="user"===f?`file://${g}`:Z,i=a.plugin.findIndex(a=>this.isFailproofaiHook(a));i>=0?a.plugin[i]=h:a.plugin.push(h)},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=$(a);if((0,D.existsSync)(d))try{(0,D.readFileSync)(d,"utf8").includes(B)&&((0,D.unlinkSync)(d),0===b&&(b=1))}catch{}return b},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,D.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=$(c);if(!(0,D.existsSync)(b))return!1;return(0,D.readFileSync)(b,"utf8").includes(B)}catch{return!1}},detectInstalled:()=>V("opencode")},pi:{id:"pi",displayName:"Pi",scopes:o,eventTypes:p,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".pi","agent","settings.json");case"project":case"local":return(0,E.resolve)(c,".pi","settings.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(a,b)},buildHookEntry:(a,b,c)=>({[B]:!0,_piPackagePath:_(),_piScope:c}),isFailproofaiHook:a=>"string"==typeof a?aa(a):!!a&&"object"==typeof a&&(!0===a[B]||"string"==typeof a.source&&aa(a.source)),writeHookEntries(a,b,c){var d;let e,f,g;Array.isArray(a.packages)||(a.packages=[]);let h=_(),i="project"===c?(d=h,e=process.cwd(),f=(0,E.resolve)(e),(g=(0,E.resolve)(d)).startsWith(f+"/")||g===f?"../"+g.slice(f.length+1):g):h,j=a.packages.findIndex(a=>aa(a));j>=0?a.packages[j]=i:a.packages.push(i)},removeHooksFromFile(a){if(!(0,D.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=>!aa(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,D.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!Array.isArray(a.packages))return!1;return a.packages.some(a=>aa(a))}catch{return!1}},detectInstalled:()=>V("pi")},hermes:{id:"hermes",displayName:"Hermes",requiresHealthyDaemon:!0,scopes:g,eventTypes:h,getSettingsPath:()=>(0,E.resolve)((0,K.hermesRoot)(),"config.yaml"),getSettingsPaths:()=>(0,K.listHermesProfiles)().map(a=>(0,E.resolve)(a.home,"config.yaml")),readSettings:a=>R(a),writeSettings(a,b){S(a,b)},prepareInstall(a){!function(a,b={}){let c=af();for(let a of ad)if(!(0,D.existsSync)((0,E.resolve)(c,a)))throw Error(`Hermes plugin asset is missing from the failproofai package: ${a}`);let d=ag(a),e=aj(a);if("foreign"===e.kind)throw Error(`Refusing to overwrite an unmanaged Hermes plugin at ${d}. Move it aside or install FailproofAI under a different Hermes profile.`);if("link"===e.kind&&e.current)return;(0,D.mkdirSync)((0,E.dirname)(d),{recursive:!0});let f=`${process.pid}-${Date.now()}`,g=`${d}.install-${f}`,h=!1;try{(b.symlink??function(a,b){(0,D.symlinkSync)(a,b,"dir")})(c,g),h=!0}catch{(0,D.rmSync)(g,{recursive:!0,force:!0})}if(!h){(0,D.mkdirSync)(g,{recursive:!0});try{for(let a of ad)(0,D.cpSync)((0,E.resolve)(c,a),(0,E.resolve)(g,a));(0,D.writeFileSync)((0,E.resolve)(g,ac),"Managed by failproofai. Remove with `failproofai policies --uninstall --cli hermes`.\n",{encoding:"utf8",mode:384})}catch(a){throw(0,D.rmSync)(g,{recursive:!0,force:!0}),a}}if(h&&("absent"===e.kind||"link"===e.kind))try{return(0,D.renameSync)(g,d),"linked"}catch(a){if("link"!==e.kind)throw(0,D.rmSync)(g,{force:!0}),a}let i=`${d}.backup-${f}`,j=!1;try{ah(d)&&((0,D.renameSync)(d,i),j=!0),(0,D.renameSync)(g,d),j&&(0,D.rmSync)(i,{recursive:!0,force:!0})}catch(a){throw(0,D.rmSync)(g,{recursive:!0,force:!0}),j&&!ah(d)&&ah(i)&&(0,D.renameSync)(i,d),a}}(a)},buildHookEntry:(a,b,c)=>({[B]:!0,_hermesPluginPath:af()}),isFailproofaiHook:T,writeHookEntries(a){let b,c,d;ak(a),(d=Array.isArray((c=(b=a.toJS()??{}).plugins&&"object"==typeof b.plugins?b.plugins:{}).enabled)?[...c.enabled]:[]).includes(ab)||d.push(ab),c.enabled=d,Array.isArray(c.disabled)&&(c.disabled=c.disabled.filter(a=>a!==ab),0===c.disabled.length&&delete c.disabled),a.set("plugins",c)},removeHooksFromFile(a){let b,c,d=R(a),e=ak(d),f=(d.toJS()??{}).plugins,g=e>0;if(f&&"object"==typeof f){if(Array.isArray(f.enabled)){let a=f.enabled.length;f.enabled=f.enabled.filter(a=>a!==ab),f.enabled.length!==a&&(e+=1,g=!0),0===f.enabled.length&&delete f.enabled}f.entries&&ab in f.entries&&(delete f.entries[ab],g=!0),0===Object.keys(f).length?d.delete("plugins"):d.set("plugins",f)}return g&&S(a,d),b=ag(a),("link"===(c=aj(a)).kind?((0,D.unlinkSync)(b),0):"copy"!==c.kind||((0,D.rmSync)(b,{recursive:!0,force:!0}),0))||(e+=1),e},hooksInstalledInSettings(a,b){let c=W(this,a,b);return c.length>0&&c.every(a=>(function(a){try{let b,c=function(a){if(!(0,D.existsSync)(a))return{pluginEnabled:!1,pluginListed:!1,pluginDisabled:!1,legacyShellHookPresent:!1};let b=function(a){try{return R(a)}catch{return null}}(a);if(!b)return{pluginEnabled:!1,pluginListed:!1,pluginDisabled:!1,legacyShellHookPresent:!1,unreadable:!0};let c=b.toJS()??{},d=c.plugins?.enabled,e=c.plugins?.disabled,f=!!c.hooks&&"object"==typeof c.hooks&&Object.values(c.hooks).some(a=>Array.isArray(a)&&a.some(a=>T(a))),g=Array.isArray(d)&&d.includes(ab),h=Array.isArray(e)&&e.includes(ab);return{pluginEnabled:g&&!h,pluginListed:g,pluginDisabled:h,legacyShellHookPresent:f}}(a);return c.pluginEnabled&&(b=aj(a),("link"===b.kind||"copy"===b.kind)&&b.complete)&&!c.legacyShellHookPresent}catch{}return!1})(a))},detectInstalled:()=>V("hermes")},openclaw:{id:"openclaw",displayName:"OpenClaw",scopes:q,eventTypes:r,getSettingsPath:()=>(0,E.resolve)(M()[0].home,"openclaw.json"),getSettingsPaths:()=>M().map(a=>(0,E.resolve)(a.home,"openclaw.json")),readSettings:a=>P(a),writeSettings(a,b){Q(a,b)},buildHookEntry:()=>({[B]:!0,_openclawPluginPath:am()}),isFailproofaiHook:a=>"string"==typeof a?an(a):!!a&&"object"==typeof a&&(!0===a[B]||"string"==typeof a.source&&an(a.source)),writeHookEntries(a){let b=a.plugins??={},c=b.load??={};Array.isArray(c.paths)||(c.paths=[]);let d=am(),e=c.paths.findIndex(a=>an(a));e>=0?c.paths[e]=d:c.paths.push(d);let f=b.entries??={},g=f[al]??={};g.enabled=!0,(g.hooks??={}).allowConversationAccess=!0},removeHooksFromFile(a){if(!(0,D.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=>!an(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&&al in c.entries&&(delete c.entries[al],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=W(this,a,b);return c.length>0&&c.every(a=>{if(!(0,D.existsSync)(a))return!1;try{let b=this.readSettings(a),c=b.plugins?.load?.paths,d=Array.isArray(c)&&c.some(a=>an(a)),e=b.plugins?.entries?.[al]?.enabled===!0;return d&&e}catch{return!1}})},detectInstalled:()=>V("openclaw")},factory:{id:"factory",displayName:"Factory Droid",scopes:s,eventTypes:t,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".factory","hooks.json");case"project":case"local":return(0,E.resolve)(c,".factory","hooks.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(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,[B]:!0}),isFailproofaiHook:T,writeHookEntries(a,b,c){for(let d of t){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=>T(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=>!T(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,D.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=>T(a)))return!0}}catch{}return!1},detectInstalled:()=>V("droid")},devin:{id:"devin",displayName:"Devin CLI",scopes:u,eventTypes:v,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".config","devin","config.json");case"project":case"local":return(0,E.resolve)(c,".devin","config.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(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,[B]:!0}),isFailproofaiHook:T,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=>T(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=>!T(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,D.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=>T(a)))return!0}}catch{}return!1},detectInstalled:()=>V("devin")},antigravity:{id:"antigravity",displayName:"Antigravity CLI",scopes:w,eventTypes:x,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".gemini","config","hooks.json");case"project":case"local":return(0,E.resolve)(c,".agents","hooks.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(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,[B]:!0}),isFailproofaiHook:T,writeHookEntries(a,b,c){a[ao]&&"object"==typeof a[ao]||(a[ao]={});let d=a[ao];for(let a of x){let e=this.buildHookEntry(b,a,c);if(ap.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=>T(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=>T(a));c>=0?b[c]=e:b.push(e)}}},removeHooksFromFile(a){let b=this.readSettings(a),c=b[ao];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(ap.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=>!T(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=>!T(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}}return 0===Object.keys(c).length&&delete b[ao],this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,D.existsSync)(c))return!1;try{let a=this.readSettings(c)[ao];if(!a||"object"!=typeof a)return!1;for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(T(a)||a&&Array.isArray(a.hooks)&&a.hooks.some(a=>T(a)))return!0}}catch{}return!1},detectInstalled:()=>V("agy")},goose:{id:"goose",displayName:"Goose",scopes:y,eventTypes:z,getSettingsPath(a,b){let c=b?(0,E.resolve)(b):process.cwd();switch(a){case"user":return(0,E.resolve)((0,G.homedir)(),".agents","plugins","failproofai","hooks","hooks.json");case"project":case"local":return(0,E.resolve)(c,".agents","plugins","failproofai","hooks","hooks.json")}},readSettings:a=>P(a),writeSettings(a,b){Q(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli goose`:`"${a}" --hook ${b} --cli goose`}),isFailproofaiHook:aq,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),z)){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=>aq(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=>!aq(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,D.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=>aq(a)))return!0}}catch{}return!1},detectInstalled:()=>V("goose")}};a.s(["claudeCode",0,X,"detectInstalledClis",0,function(){return c.filter(a=>ar[a]?.detectInstalled())},"getIntegration",0,function(a){let b=ar[a];if(!b)throw Error(`"${a}" is audit-only — live-hook install is not supported for it yet. Installable: ${c.filter(a=>void 0!==ar[a]).join(", ")}`);return b},"listIntegrations",0,function(){return c.map(a=>ar[a]).filter(a=>void 0!==a)},"settingsPathsFor",0,W],67121)}];
231
231
 
232
232
  //# sourceMappingURL=_1gb0ifp._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[4543,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(10765),e=a.i(17094);let f=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function g(a){if((0,e.isAbortError)(a))return"request timed out. check your network and try again.";let b=a instanceof Error?a.message:String(a);return`network error: ${b}`}a.s(["AuthDialog",0,function({open:a,headline:h="where to route the reminder?",subhead:i="we'll send a one-time code to confirm.",onClose:j,onAuthed:k,source:l="unknown"}){let{capture:m}=(0,d.usePostHog)(),[n,o]=(0,c.useState)({kind:"email",error:null}),[p,q]=(0,c.useState)(!1),r=(0,c.useRef)(!1),s=(0,c.useRef)(null),t=(0,c.useRef)(null);(0,c.useEffect)(()=>{a&&(o({kind:"email",error:null}),q(!1),r.current=!1,m("audit_auth_dialog_opened",{source:l}))},[m,a,l]);let u=(0,c.useRef)(!1);(0,c.useEffect)(()=>{if(a){u.current=!0;return}u.current&&!r.current&&m("audit_auth_dialog_dismissed",{source:l,step:n.kind}),u.current=!1},[m,a,l,n.kind]),(0,c.useEffect)(()=>{if(!a)return;let b=setTimeout(()=>{"email"===n.kind?s.current?.focus():"code"===n.kind&&t.current?.focus()},50);return()=>clearTimeout(b)},[a,n.kind]),(0,c.useEffect)(()=>{if(!a)return;let b=a=>{"Escape"!==a.key||p||j()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,p,j]);let v="code"===n.kind&&n.resendIn>0;(0,c.useEffect)(()=>{if(!v)return;let a=setInterval(()=>{o(a=>"code"===a.kind?{...a,resendIn:Math.max(0,a.resendIn-1)}:a)},1e3);return()=>clearInterval(a)},[v]);let w=(0,c.useCallback)(async(a,b={})=>{let{isResend:c=!1}=b,d=a=>{c?o(b=>"code"===b.kind?{...b,error:a}:b):o({kind:"email",error:a})};q(!0);try{let b=await (0,e.fetchWithTimeout)("/api/auth/login-request",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:a})}),c=await b.json().catch(()=>({}));if(!b.ok){let a=c.message??"could not send code.";"rate_limited"===c.code&&void 0!==c.retry_after_secs?a=`too many tries. wait ${c.retry_after_secs}s and try again.`:"upstream_unreachable"===c.code&&(a="api-server unreachable. check your network."),d(a);return}o({kind:"code",email:a,error:null,expiresIn:c.expires_in??600,resendIn:c.resend_available_in??30})}catch(a){d(g(a))}finally{q(!1)}},[]),x=(0,c.useCallback)(async(a,b)=>{q(!0);try{let c=await (0,e.fetchWithTimeout)("/api/auth/login-verify",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:a,code:b})}),d=await c.json().catch(()=>({}));if(!c.ok||!d.authenticated||!d.user){let a=d.message??"invalid code.";"invalid_code"===d.code&&(a="wrong code, or it expired. try again."),o(b=>"code"===b.kind?{...b,error:a}:b);return}r.current=!0,m("audit_auth_dialog_succeeded",{source:l}),o({kind:"done",user:d.user}),k(d.user)}catch(b){let a=g(b);o(b=>"code"===b.kind?{...b,error:a}:b)}finally{q(!1)}},[m,k,l]),y=(0,c.useCallback)(async a=>{if(a.preventDefault(),p||"email"!==n.kind)return;let b=String(new FormData(a.currentTarget).get("email")??"").trim().toLowerCase();f.test(b)?await w(b):o({kind:"email",error:"that doesn't look like an email."})},[p,n,w]),z=(0,c.useCallback)(async a=>{if(a.preventDefault(),p||"code"!==n.kind)return;let b=String(new FormData(a.currentTarget).get("code")??"").trim();b.length<4||b.length>12?o(a=>"code"===a.kind?{...a,error:"code is 4–12 characters."}:a):await x(n.email,b)},[p,n,x]),A=(0,c.useCallback)(async()=>{"code"!==n.kind||n.resendIn>0||p||await w(n.email,{isResend:!0})},[n,p,w]);return a?(0,b.jsx)("div",{className:"auth-dialog-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"auth-dialog-title",onClick:a=>{p||a.target!==a.currentTarget||j()},children:(0,b.jsxs)("div",{className:"auth-dialog",children:[(0,b.jsx)("button",{type:"button",className:"auth-close",onClick:j,disabled:p,"aria-label":"close",children:"×"}),(0,b.jsx)("h2",{id:"auth-dialog-title",className:"auth-headline",children:h}),"email"===n.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"auth-sub",children:i}),(0,b.jsxs)("form",{onSubmit:y,className:"auth-form",children:[(0,b.jsx)("input",{ref:s,id:"auth-dialog-email",name:"email",type:"email",autoComplete:"email",inputMode:"email",spellCheck:!1,placeholder:"you@yourdomain.com",disabled:p,className:"auth-input",required:!0}),n.error&&(0,b.jsx)("div",{className:"auth-error",children:n.error}),(0,b.jsxs)("div",{className:"auth-actions",children:[(0,b.jsx)("button",{type:"submit",className:"auth-btn primary",disabled:p,children:p?"sending…":"send code"}),(0,b.jsx)("button",{type:"button",className:"auth-btn",onClick:j,disabled:p,children:"cancel"})]})]})]}),"code"===n.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"auth-sub",children:["code sent to ",(0,b.jsx)("span",{className:"auth-email",children:n.email}),". expires in ",Math.ceil(n.expiresIn/60)," min."]}),(0,b.jsxs)("form",{onSubmit:z,className:"auth-form",children:[(0,b.jsx)("input",{ref:t,id:"auth-dialog-code",name:"code",type:"text",inputMode:"numeric",autoComplete:"one-time-code",spellCheck:!1,placeholder:"123456",disabled:p,className:"auth-input auth-input-code",maxLength:12,required:!0}),n.error&&(0,b.jsx)("div",{className:"auth-error",children:n.error}),(0,b.jsxs)("div",{className:"auth-actions",children:[(0,b.jsx)("button",{type:"submit",className:"auth-btn primary",disabled:p,children:p?"verifying…":"verify"}),(0,b.jsx)("button",{type:"button",className:"auth-btn",onClick:A,disabled:p||n.resendIn>0,children:n.resendIn>0?`resend in ${n.resendIn}s`:"resend code"})]}),(0,b.jsx)("button",{type:"button",className:"auth-back",onClick:()=>o({kind:"email",error:null}),disabled:p,children:"← use a different email"})]})]}),"done"===n.kind&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"auth-sub",children:[(0,b.jsx)("span",{className:"auth-ok",children:"✓"})," signed in as"," ",(0,b.jsx)("span",{className:"auth-email",children:n.user.email}),"."]}),(0,b.jsx)("div",{className:"auth-actions",children:(0,b.jsx)("button",{type:"button",className:"auth-btn primary",onClick:j,children:"continue"})})]})]})}):null}])},89564,a=>{"use strict";var b=a.i(17094);class c extends Error{kind;constructor(a,b){super(b),this.kind=a,this.name="RerunError"}}async function d(a){try{let d=await (0,b.fetchWithTimeout)("/api/audit/run",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({cli:a.cli.length>0?a.cli:void 0,since:"all"===a.since?void 0:a.since,noCache:!!a.noCache||void 0})});if(!d.ok&&409!==d.status){let a=await d.text().catch(()=>"");throw console.error("audit run failed:",d.status,a),new c("post_failed",`audit run failed (${d.status})`)}}catch(a){if(a instanceof c)throw a;throw console.error("audit run request failed:",a),new c((0,b.isAbortError)(a)?"timeout":"network","audit run request failed")}let d=0;for(;;){await new Promise(a=>setTimeout(a,1e3));let a=null;try{let c=await (0,b.fetchWithTimeout)("/api/audit/status",{cache:"no-store"});c.ok&&(a=await c.json())}catch{}if(null===a){if(++d>=10)throw new c("network","audit status poll lost the server");continue}if(d=0,!a.running){if(a.error)throw new c("post_failed",a.error);return}}}a.s(["RerunError",0,c,"triggerRun",0,d])},17094,a=>{"use strict";a.s(["fetchWithTimeout",0,function(a,b={},c=15e3){let d=AbortSignal.timeout(c),e=b.signal?AbortSignal.any([b.signal,d]):d;return fetch(a,{...b,signal:e})},"isAbortError",0,function(a){if(null===a||"object"!=typeof a)return!1;let b=a.name;return"AbortError"===b||"TimeoutError"===b}])},3900,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_html-to-image_es_index_1ao30b1.js"].map(b=>a.l(b))).then(()=>b(63460)))}];
2
2
 
3
- //# sourceMappingURL=_1jatlmf._.js.map
3
+ //# sourceMappingURL=_1pa3k5k._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[99558,a=>{"use strict";var b=a.i(36359),c=a.i(37936),d=a.i(15501);async function e(){let a=(0,d.readDashboardCache)();if(!a){let a=(0,d.readDashboardCacheMeta)();return{status:"empty",expired:null!==a,expiredAt:a?.cachedAt??null}}return{status:"cached",cachedAt:a.cachedAt,params:a.params,result:a.result}}(0,a.i(13095).ensureServerEntryExports)([e]),(0,c.registerServerReference)(e,"007baae48489fed0b7e3bb90618aad5a259146cb75",null),a.s([],62946),a.i(62946),a.s(["007baae48489fed0b7e3bb90618aad5a259146cb75",0,e,"00a9163b93014ab406fd89a6249f844ab47fada4df",()=>b.getTelemetryConfig],99558)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0vmspq5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
1
+ module.exports=[99558,a=>{"use strict";var b=a.i(36359),c=a.i(37936),d=a.i(15501);async function e(){let a=(0,d.readDashboardCache)();if(!a){let a=(0,d.readDashboardCacheMeta)();return{status:"empty",expired:null!==a,expiredAt:a?.cachedAt??null}}return{status:"cached",cachedAt:a.cachedAt,params:a.params,result:a.result}}(0,a.i(13095).ensureServerEntryExports)([e]),(0,c.registerServerReference)(e,"00bcc3eae48a2821234e58b2fbcb08bcfc7031157d",null),a.s([],62946),a.i(62946),a.s(["00b0b1e41b15389782e3c2352a31388b82d5d66fc6",()=>b.getTelemetryConfig,"00bcc3eae48a2821234e58b2fbcb08bcfc7031157d",0,e],99558)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0vmspq5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
2
2
 
3
3
  //# sourceMappingURL=_1zopuov._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[73338,a=>{"use strict";var b=a.i(36359),c=a.i(7292),d=a.i(37936),e=a.i(2157);a.i(66680);var f=a.i(50227);a.i(8674),a.i(1144);var g=a.i(75818),h=a.i(13095);async function i(){return function(a=Date.now()){let b,c,d=(c=process.env.FAILPROOFAI_STATE_DIR)?(0,f.resolve)(c,"sessions"):(0,g.sessionPauseDir)();if(!(0,e.existsSync)(d))return[];let h=[];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,f.join)(d,c),"utf8")));if(!b||b.expiresAt<=a)continue;let{schemaVersion:g,...i}=b;h.push(i)}catch{}return h.sort((a,b)=>b.pausedAt-a.pausedAt)}()}(0,h.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"001c16826dbc50af19b82abe5a6457f61e495d4a97",null);var j=a.i(17280);a.i(75534),a.i(10695);var k=a.i(98378),l=a.i(69839),m=a.i(28120),n=a.i(74533),o=a.i(60526),p=a.i(91997),q=a.i(67121),r=a.i(92956),s=a.i(15638),t=a.i(32352);class u extends Error{exitCode;constructor(a,b=1){super(a),this.name="CliError",this.exitCode=b}}a.i(89790);var v=a.i(9909),w=a.i(8284);a.i(1459);let x=new Set(r.BUILTIN_POLICIES.map(a=>a.name));function y(a,b){return q.claudeCode.getSettingsPath(a,b)}function z(a){let b=[],c=[],d=[],e=[];try{e=(0,v.readInstalledPacks)().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 u(`"${e}" is declared by ${a.length} installed packs.
1
+ module.exports=[73338,a=>{"use strict";var b=a.i(36359),c=a.i(7292),d=a.i(37936),e=a.i(2157);a.i(66680);var f=a.i(50227);a.i(8674),a.i(1144);var g=a.i(75818),h=a.i(13095);async function i(){return function(a=Date.now()){let b,c,d=(c=process.env.FAILPROOFAI_STATE_DIR)?(0,f.resolve)(c,"sessions"):(0,g.sessionPauseDir)();if(!(0,e.existsSync)(d))return[];let h=[];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,f.join)(d,c),"utf8")));if(!b||b.expiresAt<=a)continue;let{schemaVersion:g,...i}=b;h.push(i)}catch{}return h.sort((a,b)=>b.pausedAt-a.pausedAt)}()}(0,h.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"001c8fddace9926fe733146e707b5fdb8ec43136e8",null);var j=a.i(17280);a.i(75534),a.i(10695);var k=a.i(98378),l=a.i(69839),m=a.i(28120),n=a.i(74533),o=a.i(60526),p=a.i(91997),q=a.i(67121),r=a.i(92956),s=a.i(15638),t=a.i(32352);class u extends Error{exitCode;constructor(a,b=1){super(a),this.name="CliError",this.exitCode=b}}a.i(89790);var v=a.i(9909),w=a.i(8284);a.i(1459);let x=new Set(r.BUILTIN_POLICIES.map(a=>a.name));function y(a,b){return q.claudeCode.getSettingsPath(a,b)}function z(a){let b=[],c=[],d=[],e=[];try{e=(0,v.readInstalledPacks)().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 u(`"${e}" is declared by ${a.length} installed packs.
2
2
  Name the one you mean:
3
3
  `+a.map(a=>` ${a.packId}:${a.name}`).join("\n"));if(x.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 u(`"${e}" is declared by ${i.length} installed packs.
4
4
  Name the one you mean:
@@ -13,6 +13,6 @@ Run \`failproofai policies add FailproofAI/policies\` once you are online.`)}if(
13
13
  Enabled ${G.length} policy(ies): ${G.join(", ")}
14
14
  `),i)console.log("Custom hooks path cleared.");else if(O.customPoliciesPaths?.length||O.customPoliciesPath){let a=O.customPoliciesPaths??[O.customPoliciesPath];console.log(`Custom hooks paths: ${a.join(", ")}`)}let R=[];for(let a of I){let d=(0,q.getIntegration)(a),e=(0,q.settingsPathsFor)(d,b,c);try{for(let c of e){d.prepareInstall?.(c);let e=d.readSettings(c);d.writeHookEntries(e,L,b),d.writeSettings(c,e),R.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,k.trackHookEvent)((0,l.getInstanceId)(),"hook_write_failed",{cli:a,scope:b,error_type:c})}catch{}throw d}}try{let a=new Set(G),c=G.filter(a=>!N.has(a)),e=[...N].filter(b=>!a.has(b)),f=(0,l.getInstanceId)();if(await (0,k.trackHookEvent)(f,"hooks_installed",{scope:b,cli:I,cli_count:I.length,policies:G,policy_count:G.length,policies_added:c,policies_removed:e,...g?{source:g}:{},platform:(0,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)()),has_custom_hooks_path:!!(O.customPoliciesPaths?.length||O.customPoliciesPath),has_policy_params:!!(O.policyParams&&Object.keys(O.policyParams).length>0),param_policy_names:O.policyParams?Object.keys(O.policyParams):[],command_format:"project"===b?"npx":"absolute"}),d){let a=new Set(r.BUILTIN_POLICIES.filter(a=>a.beta).map(a=>a.name)),c=G.filter(b=>a.has(b));c.length>0&&await (0,k.trackHookEvent)(f,"beta_policies_installed",{scope:b,cli:I,beta_count:c.length,beta_policy_names:c,...g?{source:g}:{}})}}catch{}for(let{cli:a,path:c}of R){let d=(0,q.getIntegration)(a);"hermes"===a?console.log(`Failproof AI native plugin installed for ${d.displayName} (8 registered hooks, scope: ${b}).`):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(`
15
15
  This file can be committed to git — no machine-specific paths.`)):console.log(`Binary: ${L}`);let S=(F=p.HOOK_SCOPES,H=new Set,F.filter(a=>{let b=y(a,c);return!H.has(b)&&(H.add(b),!0)})).filter(a=>a!==b).filter(a=>B(a,c));if(S.length>0){let a=S.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 ${S[0]}\` to remove the other installation,`),console.log("or `failproofai policies` to see all scopes.");try{await (0,k.trackHookEvent)((0,l.getInstanceId)(),"multi_scope_warning_shown",{new_scope:b,existing_scopes:S,cli:I})}catch{}}}async function E(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,m.readScopedHooksConfig)(f,c);delete a.customPoliciesPath,delete a.customPoliciesPaths,(0,m.writeScopedHooksConfig)(a,f,c),console.log("Custom hooks path cleared.")}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let b=z(a);A(b.packs,!1,f,c);var h=a=b.builtins;let d=new Set(r.BUILTIN_POLICIES.filter(a=>a.alwaysOn).map(a=>a.name)),e=h.filter(a=>d.has(a));if(e.length>0)throw new u(`Cannot disable: ${e.join(", ")}
16
- 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,m.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:n,...p}=e,q=n?Object.fromEntries(Object.entries(n).filter(([a])=>!h.has(a))):null,r={...p,enabledPolicies:i,...q&&Object.keys(q).length>0?{policyParams:q}:{}};(0,m.writeScopedHooksConfig)(r,f,c);try{let c=(0,l.getInstanceId)(),f=a.filter(a=>e.enabledPolicies.includes(a));await (0,k.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,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)())})}catch{}console.log(`Disabled ${a.length-j.length} policy(ies).`),console.log(`Remaining: ${i.length>0?i.join(", "):"(none)"}`);return}let i=(0,m.readScopedHooksConfig)(f,c),j=0,n=!1;for(let a of g){let d=(0,q.getIntegration)(a);for(let f of"all"===b?[...d.scopes]:d.scopes.includes(b)?[b]:[]){let h=(0,q.settingsPathsFor)(d,f,c),i="hermes"===a?h:h.filter(a=>(0,e.existsSync)(a));if(0===i.length){"all"!==b&&1===g.length&&(console.log("No settings file found. Nothing to remove."),n=!0);continue}let k=0;for(let a of i){let c=d.removeHooksFromFile(a);k+=c,c>0&&"all"!==b&&(console.log(`Removed ${c} failproofai hook(s) from ${d.displayName} settings.`),console.log(`Settings: ${a}`))}if(0===k&&"all"!==b&&1===g.length){console.log("No hooks found in settings. Nothing to remove."),n=!0;continue}j+=k}}if(!n||0!==j){if("all"===b)for(let a of(console.log(`Removed ${j} failproofai hook(s) from all scopes.`),g)){let b=(0,q.getIntegration)(a);for(let a of b.scopes)for(let d of(0,q.settingsPathsFor)(b,a,c))console.log(` ${b.displayName} / ${a}: ${d}`)}try{let a=(0,l.getInstanceId)();await (0,k.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,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)())})}catch{}if("all"===b)for(let a of p.HOOK_SCOPES){let b=(0,m.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,m.writeScopedHooksConfig)({...g,enabledPolicies:[]},a,c)}}else if(!p.HOOK_SCOPES.some(a=>B(a,c))){let{customPoliciesPath:a,customPoliciesPaths:b,policyParams:d,...e}=(0,m.readScopedHooksConfig)(f,c);(0,m.writeScopedHooksConfig)({...e,enabledPolicies:[]},f,c)}}}var F=a.i(24282),G=a.i(12714);async function H(a,b){let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),d=(0,f.resolve)((0,m.findProjectConfigDir)(c),".failproofai","policies"),e=(0,g.customPoliciesDir)(),h=[];for(let{scope:c,dir:g}of[{scope:"project",dir:d},...e===d?[]:[{scope:"user",dir:e}]]){let d=[];try{d=(0,s.discoverPolicyFiles)(g)}catch{continue}for(let e of d){if(b.has(e))continue;let d=[];try{d=(await I(e)).map(b=>{let d=(0,s.conventionPolicyId)(c,(0,f.basename)(e),b.name);return{...b,id:d,enabled:!a.has(d)}})}catch{}h.push({scope:c,file:(0,f.basename)(e),path:e,policies:d})}}return h}async function I(a){if(!(0,e.existsSync)(a))return[];let b=await (0,G.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 J(){let a=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),b=(0,m.readMergedHooksConfig)(a),c=new Set(b.disabledCustomPolicies??[]),d=p.HOOK_SCOPES.filter(a=>B(a)),e=y(d[0]??"user"),g=(0,q.listIntegrations)().map(a=>({id:a.id,label:(0,F.getCliLabel)(a.id),installed:a.hooksInstalledInSettings("user"),settingsPath:a.getSettingsPath("user"),detected:a.detectInstalled()})),h=[],i=[];try{let a=(0,v.readInstalledPacks)();h=a.packs,i=a.errors}catch{}let k=[];for(let a of h){let d=a.enabled??a.policies.map(a=>a.name);for(let e of a.policies)k.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:function(a,b,c){if(!a)return;let d=a[`pack/${b}/${c}`];return d||(b.toLowerCase()===j.CORE_SOURCE.toLowerCase()?a[c]:void 0)}(b.policyParams,a.id,e.name)??{}}:{}})}let l=(0,m.configuredCustomPolicyPaths)(b),n=(0,m.findProjectConfigDir)(a),o=l.map(a=>(0,f.resolve)(n,a)),r=(await Promise.all(o.map(async a=>{try{return(await I(a)).map(b=>{let d=(0,s.customPolicyId)(a,b.name);return{...b,id:d,enabled:!c.has(d)}})}catch{return[]}}))).flat(),t=await H(c,new Set(o)),u=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)u.push({id:a.id??"(unnamed pack)",version:"",source:"",effect:"enforce",policies:[],error:a.reason});return{enabledPolicies:b.enabledPolicies,installedScopes:d,settingsPath:e,clis:g,policies:k,customPoliciesPaths:l.length?l:void 0,customPoliciesPath:1===l.length?l[0]:void 0,customPolicies:r.length?r:void 0,conventionPolicies:t,packs:u}}async function K(a,b){let c=(0,m.readHooksConfig)(),d=new Set(c.enabledPolicies);b?d.add(a):d.delete(a),(0,m.writeHooksConfig)({...c,enabledPolicies:[...d]});try{let c=(0,l.getInstanceId)();await (0,k.trackHookEvent)(c,"policy_toggled",{policy_name:a,enabled:b,action:b?"enable":"disable",source:"web"})}catch{}}async function L(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 p.HOOK_SCOPES){let d=(0,m.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,m.writeScopedHooksConfig)(f,b,c)}return}let d=(0,m.readHooksConfig)(),e=new Set(d.disabledCustomPolicies??[]);e.add(a);let f={...d,disabledCustomPolicies:[...e]};e.size||delete f.disabledCustomPolicies,(0,m.writeHooksConfig)(f)}async function M(a,b){let c=a.trim();if(!c)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,j.addPackFromSource)(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 N(){try{let a=await (0,j.addPack)(j.CORE_SOURCE);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 O(a){let b;try{b=(0,j.removePack)(a)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}return b?{ok:!0,id:b}:{ok:!1,error:`No installed pack with id ${a}`}}async function P(a,b,c){let d=(0,j.setPackPolicyEnabled)(a,b,c);if(!d.ok)return{ok:!1,error:d.reason};if(c){let c=(0,v.readInstalledPacks)().packs.find(b=>b.id===a);if(c){let a=`pack:${c.id}@${c.version}:${b}`,d=(0,m.readHooksConfig)(),e=(d.disabledCustomPolicies??[]).filter(b=>b!==a);if(e.length!==(d.disabledCustomPolicies??[]).length){let{disabledCustomPolicies:a,...b}=d;(0,m.writeHooksConfig)(e.length>0?{...b,disabledCustomPolicies:e}:b)}}}return{ok:!0,id:a}}async function Q(a){let b=a.trim();if(!b)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,j.fetchPackPreview)(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})),...a.semantic.length>0?{semantic:a.semantic.map(a=>a.name)}:{},...a.minCliVersion?{minCliVersion:a.minCliVersion}:{}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function R(a="user",b){let c=(0,m.readHooksConfig)(),d=c.enabledPolicies.length>0?c.enabledPolicies:r.BUILTIN_POLICIES.filter(a=>a.defaultEnabled&&!a.beta).map(a=>a.name),e=b&&b.length>0?b:(0,q.detectInstalledClis)(),f=e.length>0?e:["claude"];await C(d,a,void 0,!1,"web",void 0,!1,f)}async function S(a="user",b){let c=b&&b.length>0?b:(0,q.detectInstalledClis)(),d=c.length>0?c:["claude"];await E(void 0,a,void 0,{source:"web",cli:d})}async function T(a,b){let c=(0,m.readHooksConfig)(),d={...c.policyParams??{},[a]:b};(0,m.writeHooksConfig)({...c,policyParams:d});try{let c=(0,l.getInstanceId)();await (0,k.trackHookEvent)(c,"policy_params_updated",{policy_name:a,param_keys:Object.keys(b),source:"web"})}catch{}}(0,h.ensureServerEntryExports)([J]),(0,d.registerServerReference)(J,"009a4e877995e71e71e594fc4041ca59b74940c495",null),(0,h.ensureServerEntryExports)([K,L]),(0,d.registerServerReference)(K,"6072a3b0dfc7be79b3c516679c91780d6c5ee7b7c3",null),(0,d.registerServerReference)(L,"60e6e93a69e767d5f42a7f2c56957e897d07ed3d83",null),(0,h.ensureServerEntryExports)([M,N,O,P,Q]),(0,d.registerServerReference)(M,"60fa90f7f42e9777bda210c01687fd42e6c27616d6",null),(0,d.registerServerReference)(N,"00db3325da0dd1c94d35674c736ef9b795bb4485dc",null),(0,d.registerServerReference)(O,"40044931971bb582c6fbb4059fc5fba40e90d8afe7",null),(0,d.registerServerReference)(P,"70141135e47087fb5543c0becd2d386719f01d13e0",null),(0,d.registerServerReference)(Q,"40bd53db9fed897ca2a5a873a1948213cd663aa9a7",null),(0,h.ensureServerEntryExports)([R,S]),(0,d.registerServerReference)(R,"60ede4b57cee43d28fa52ae152b09d18cd6a82a556",null),(0,d.registerServerReference)(S,"60bfd5cebdfface692339258de0984451eddb5230e",null),(0,h.ensureServerEntryExports)([T]),(0,d.registerServerReference)(T,"60adf6ea8a8b8ba6abddfefe6a0489fe583753d488",null),a.s([],96801),a.i(96801),a.s(["001c16826dbc50af19b82abe5a6457f61e495d4a97",0,i,"009a4e877995e71e71e594fc4041ca59b74940c495",0,J,"00a9163b93014ab406fd89a6249f844ab47fada4df",()=>b.getTelemetryConfig,"00db3325da0dd1c94d35674c736ef9b795bb4485dc",0,N,"40044931971bb582c6fbb4059fc5fba40e90d8afe7",0,O,"40bc37a56aefa912c16db05694c078261098f19d07",()=>c.getHookActivityAction,"40bd53db9fed897ca2a5a873a1948213cd663aa9a7",0,Q,"60adf6ea8a8b8ba6abddfefe6a0489fe583753d488",0,T,"60ba6ff3e2d21af9ec38adc6462120f44deda66a2b",()=>c.searchHookActivityAction,"60bfd5cebdfface692339258de0984451eddb5230e",0,S,"60e6e93a69e767d5f42a7f2c56957e897d07ed3d83",0,L,"60ede4b57cee43d28fa52ae152b09d18cd6a82a556",0,R,"60fa90f7f42e9777bda210c01687fd42e6c27616d6",0,M,"70141135e47087fb5543c0becd2d386719f01d13e0",0,P],73338)}];
16
+ 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,m.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:n,...p}=e,q=n?Object.fromEntries(Object.entries(n).filter(([a])=>!h.has(a))):null,r={...p,enabledPolicies:i,...q&&Object.keys(q).length>0?{policyParams:q}:{}};(0,m.writeScopedHooksConfig)(r,f,c);try{let c=(0,l.getInstanceId)(),f=a.filter(a=>e.enabledPolicies.includes(a));await (0,k.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,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)())})}catch{}console.log(`Disabled ${a.length-j.length} policy(ies).`),console.log(`Remaining: ${i.length>0?i.join(", "):"(none)"}`);return}let i=(0,m.readScopedHooksConfig)(f,c),j=0,n=!1;for(let a of g){let d=(0,q.getIntegration)(a);for(let f of"all"===b?[...d.scopes]:d.scopes.includes(b)?[b]:[]){let h=(0,q.settingsPathsFor)(d,f,c),i="hermes"===a?h:h.filter(a=>(0,e.existsSync)(a));if(0===i.length){"all"!==b&&1===g.length&&(console.log("No settings file found. Nothing to remove."),n=!0);continue}let k=0;for(let a of i){let c=d.removeHooksFromFile(a);k+=c,c>0&&"all"!==b&&(console.log(`Removed ${c} failproofai hook(s) from ${d.displayName} settings.`),console.log(`Settings: ${a}`))}if(0===k&&"all"!==b&&1===g.length){console.log("No hooks found in settings. Nothing to remove."),n=!0;continue}j+=k}}if(!n||0!==j){if("all"===b)for(let a of(console.log(`Removed ${j} failproofai hook(s) from all scopes.`),g)){let b=(0,q.getIntegration)(a);for(let a of b.scopes)for(let d of(0,q.settingsPathsFor)(b,a,c))console.log(` ${b.displayName} / ${a}: ${d}`)}try{let a=(0,l.getInstanceId)();await (0,k.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,o.platform)(),arch:(0,o.arch)(),os_release:(0,o.release)(),hostname_hash:(0,l.hashToId)((0,o.hostname)())})}catch{}if("all"===b)for(let a of p.HOOK_SCOPES){let b=(0,m.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,m.writeScopedHooksConfig)({...g,enabledPolicies:[]},a,c)}}else if(!p.HOOK_SCOPES.some(a=>B(a,c))){let{customPoliciesPath:a,customPoliciesPaths:b,policyParams:d,...e}=(0,m.readScopedHooksConfig)(f,c);(0,m.writeScopedHooksConfig)({...e,enabledPolicies:[]},f,c)}}}var F=a.i(24282),G=a.i(12714);async function H(a,b){let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),d=(0,f.resolve)((0,m.findProjectConfigDir)(c),".failproofai","policies"),e=(0,g.customPoliciesDir)(),h=[];for(let{scope:c,dir:g}of[{scope:"project",dir:d},...e===d?[]:[{scope:"user",dir:e}]]){let d=[];try{d=(0,s.discoverPolicyFiles)(g)}catch{continue}for(let e of d){if(b.has(e))continue;let d=[];try{d=(await I(e)).map(b=>{let d=(0,s.conventionPolicyId)(c,(0,f.basename)(e),b.name);return{...b,id:d,enabled:!a.has(d)}})}catch{}h.push({scope:c,file:(0,f.basename)(e),path:e,policies:d})}}return h}async function I(a){if(!(0,e.existsSync)(a))return[];let b=await (0,G.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 J(){let a=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),b=(0,m.readMergedHooksConfig)(a),c=new Set(b.disabledCustomPolicies??[]),d=p.HOOK_SCOPES.filter(a=>B(a)),e=y(d[0]??"user"),g=(0,q.listIntegrations)().map(a=>({id:a.id,label:(0,F.getCliLabel)(a.id),installed:a.hooksInstalledInSettings("user"),settingsPath:a.getSettingsPath("user"),detected:a.detectInstalled()})),h=[],i=[];try{let a=(0,v.readInstalledPacks)();h=a.packs,i=a.errors}catch{}let k=[];for(let a of h){let d=a.enabled??a.policies.map(a=>a.name);for(let e of a.policies)k.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:function(a,b,c){if(!a)return;let d=a[`pack/${b}/${c}`];return d||(b.toLowerCase()===j.CORE_SOURCE.toLowerCase()?a[c]:void 0)}(b.policyParams,a.id,e.name)??{}}:{}})}let l=(0,m.configuredCustomPolicyPaths)(b),n=(0,m.findProjectConfigDir)(a),o=l.map(a=>(0,f.resolve)(n,a)),r=(await Promise.all(o.map(async a=>{try{return(await I(a)).map(b=>{let d=(0,s.customPolicyId)(a,b.name);return{...b,id:d,enabled:!c.has(d)}})}catch{return[]}}))).flat(),t=await H(c,new Set(o)),u=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)u.push({id:a.id??"(unnamed pack)",version:"",source:"",effect:"enforce",policies:[],error:a.reason});return{enabledPolicies:b.enabledPolicies,installedScopes:d,settingsPath:e,clis:g,policies:k,customPoliciesPaths:l.length?l:void 0,customPoliciesPath:1===l.length?l[0]:void 0,customPolicies:r.length?r:void 0,conventionPolicies:t,packs:u}}async function K(a,b){let c=(0,m.readHooksConfig)(),d=new Set(c.enabledPolicies);b?d.add(a):d.delete(a),(0,m.writeHooksConfig)({...c,enabledPolicies:[...d]});try{let c=(0,l.getInstanceId)();await (0,k.trackHookEvent)(c,"policy_toggled",{policy_name:a,enabled:b,action:b?"enable":"disable",source:"web"})}catch{}}async function L(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 p.HOOK_SCOPES){let d=(0,m.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,m.writeScopedHooksConfig)(f,b,c)}return}let d=(0,m.readHooksConfig)(),e=new Set(d.disabledCustomPolicies??[]);e.add(a);let f={...d,disabledCustomPolicies:[...e]};e.size||delete f.disabledCustomPolicies,(0,m.writeHooksConfig)(f)}async function M(a,b){let c=a.trim();if(!c)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,j.addPackFromSource)(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 N(){try{let a=await (0,j.addPack)(j.CORE_SOURCE);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 O(a){let b;try{b=(0,j.removePack)(a)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}return b?{ok:!0,id:b}:{ok:!1,error:`No installed pack with id ${a}`}}async function P(a,b,c){let d=(0,j.setPackPolicyEnabled)(a,b,c);if(!d.ok)return{ok:!1,error:d.reason};if(c){let c=(0,v.readInstalledPacks)().packs.find(b=>b.id===a);if(c){let a=`pack:${c.id}@${c.version}:${b}`,d=(0,m.readHooksConfig)(),e=(d.disabledCustomPolicies??[]).filter(b=>b!==a);if(e.length!==(d.disabledCustomPolicies??[]).length){let{disabledCustomPolicies:a,...b}=d;(0,m.writeHooksConfig)(e.length>0?{...b,disabledCustomPolicies:e}:b)}}}return{ok:!0,id:a}}async function Q(a){let b=a.trim();if(!b)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,j.fetchPackPreview)(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})),...a.semantic.length>0?{semantic:a.semantic.map(a=>a.name)}:{},...a.minCliVersion?{minCliVersion:a.minCliVersion}:{}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function R(a="user",b){let c=(0,m.readHooksConfig)(),d=c.enabledPolicies.length>0?c.enabledPolicies:r.BUILTIN_POLICIES.filter(a=>a.defaultEnabled&&!a.beta).map(a=>a.name),e=b&&b.length>0?b:(0,q.detectInstalledClis)(),f=e.length>0?e:["claude"];await C(d,a,void 0,!1,"web",void 0,!1,f)}async function S(a="user",b){let c=b&&b.length>0?b:(0,q.detectInstalledClis)(),d=c.length>0?c:["claude"];await E(void 0,a,void 0,{source:"web",cli:d})}async function T(a,b){let c=(0,m.readHooksConfig)(),d={...c.policyParams??{},[a]:b};(0,m.writeHooksConfig)({...c,policyParams:d});try{let c=(0,l.getInstanceId)();await (0,k.trackHookEvent)(c,"policy_params_updated",{policy_name:a,param_keys:Object.keys(b),source:"web"})}catch{}}(0,h.ensureServerEntryExports)([J]),(0,d.registerServerReference)(J,"00453b6ff99407f6e7352f32cc8a945f1569dc1883",null),(0,h.ensureServerEntryExports)([K,L]),(0,d.registerServerReference)(K,"60e741f4d6b8ab08e161d30831f6598f65eb243e37",null),(0,d.registerServerReference)(L,"606f7d554d03a6d05259cdf76079820af5b5d80dd1",null),(0,h.ensureServerEntryExports)([M,N,O,P,Q]),(0,d.registerServerReference)(M,"6061acd215f4c2b13041c72b025a3c4a965292e387",null),(0,d.registerServerReference)(N,"0093e36d382383970f4c7c20082384a1d9b02f98f8",null),(0,d.registerServerReference)(O,"40fbf22a9f79d3899c75550f09d881c732f0e41cf5",null),(0,d.registerServerReference)(P,"7018d373c8c78f6cc60a4483de1081f621b3b43da7",null),(0,d.registerServerReference)(Q,"40c97685647cd380b9e4ef4bfbc06aee287da2820a",null),(0,h.ensureServerEntryExports)([R,S]),(0,d.registerServerReference)(R,"6095c774565284aed2eab4c4a5450381551d433883",null),(0,d.registerServerReference)(S,"609ee395105779c3554baa2f4d634670692598da03",null),(0,h.ensureServerEntryExports)([T]),(0,d.registerServerReference)(T,"60f40a1c17c53686721a46356c4d586233e7480e7b",null),a.s([],96801),a.i(96801),a.s(["001c8fddace9926fe733146e707b5fdb8ec43136e8",0,i,"00453b6ff99407f6e7352f32cc8a945f1569dc1883",0,J,"0093e36d382383970f4c7c20082384a1d9b02f98f8",0,N,"00b0b1e41b15389782e3c2352a31388b82d5d66fc6",()=>b.getTelemetryConfig,"405523a150f474c86057b495077152d31997b38a30",()=>c.getHookActivityAction,"40c97685647cd380b9e4ef4bfbc06aee287da2820a",0,Q,"40fbf22a9f79d3899c75550f09d881c732f0e41cf5",0,O,"602318b6c66e49b86a152de9da066039867cdae2c8",()=>c.searchHookActivityAction,"6061acd215f4c2b13041c72b025a3c4a965292e387",0,M,"606f7d554d03a6d05259cdf76079820af5b5d80dd1",0,L,"6095c774565284aed2eab4c4a5450381551d433883",0,R,"609ee395105779c3554baa2f4d634670692598da03",0,S,"60f40a1c17c53686721a46356c4d586233e7480e7b",0,T,"7018d373c8c78f6cc60a4483de1081f621b3b43da7",0,P],73338)}];
17
17
 
18
18
  //# sourceMappingURL=_next-internal_server_app_policies_page_actions_1sp2-yo.js.map