failproofai 1.0.1 → 1.0.2-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +6 -6
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js +2 -2
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/audit/invite/route.js +3 -2
- package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/run/route.js +5 -4
- package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js +2 -2
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +4 -3
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js +4 -4
- package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/status/route.js +4 -4
- package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/audit/page.js +2 -2
- package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +66 -22
- package/.next/standalone/.next/server/app/policies/page.js +5 -4
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js +2 -2
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js +2 -2
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -4
- package/.next/standalone/.next/server/app/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/{[externals]__1qzqcio._.js → [externals]__0e32-7c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[externals]__1s462yl._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01eqny5._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_0xu5z._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1p8poxd._.js → [root-of-the-server]__0igxt32._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0neqlu-._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o07qi9._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t9oqnn._.js +3 -0
- package/.next/standalone/.next/server/chunks/_0bs-v8p._.js +3 -0
- package/.next/standalone/.next/server/chunks/_0tovk6q._.js +3 -0
- package/.next/standalone/.next/server/chunks/_0trp3yc._.js +3 -0
- package/.next/standalone/.next/server/chunks/_185gyk9._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1ek68ln._.js +5 -6
- package/.next/standalone/.next/server/chunks/lib_telemetry-id_ts_1k8gj9o._.js +3 -0
- package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_09d5c79._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_04op_ou._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_1d2g73o._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_0dr20uz._.js} +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_hooks_0xbw3bu._.js +12 -0
- package/.next/standalone/.next/server/chunks/src_hooks_fp-home_ts_09kv0bn._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__013jr2b._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01wy8d-._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02npjtd._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0spkm68._.js → [root-of-the-server]__07gm3zl._.js} +21 -20
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da85px._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ftmoxc._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oa1lav._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p-5p8u._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s740oi._.js +6 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07tbbf3._.js → [root-of-the-server]__0zig5sv._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__192nhvh._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1p2otjt._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0lvyuv4._.js → _00e9tnf._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0u5zauv._.js → _12l4a_k._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1u8-lu2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1zopuov._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +13 -13
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_settings_settings-client_tsx_20lq-mq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_08o7bqo._.js +10 -0
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_builtin-policies_ts_09j2ndl._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-home_ts_0je3xkv._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +71 -27
- package/.next/standalone/.next/static/chunks/{37fcpc36x9gpe.js → 0eqky-7n7dgdm.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1ide1wl2f7zi1.js → 0sa9v5mhc8861.js} +13 -13
- package/.next/standalone/.next/static/chunks/1mfzsja6ftim5.css +2 -0
- package/.next/standalone/.next/static/chunks/{3k7mxbp9hiom0.js → 1nuqytbta44af.js} +1 -1
- package/.next/standalone/.next/static/chunks/1sl2xmn9inx3y.js +6 -0
- package/.next/standalone/.next/static/chunks/{2_2lhuojq2xop.js → 2aawsjld9ied_.js} +1 -1
- package/.next/standalone/.next/static/chunks/2gn7ut4svofm2.js +1 -0
- package/.next/standalone/.next/static/chunks/{31s1smp-g7gks.js → 2hs7ycvsav7v2.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0k5050ezjvv49.js → 2i2yt3hzjredm.js} +1 -1
- package/.next/standalone/.next/static/chunks/{3c808qrfcq0im.js → 35xg6retpe6rp.js} +1 -1
- package/.next/standalone/.next/static/chunks/{2zpp1we2jv6tb.js → 3y54nw0i7dsjl.js} +1 -1
- package/.next/standalone/SECURITY.md +5 -4
- package/.next/standalone/app/actions/get-hooks-config.ts +108 -17
- package/.next/standalone/app/actions/pack-actions.ts +153 -0
- package/.next/standalone/app/audit/_components/run-progress.tsx +1 -1
- package/.next/standalone/app/audit/_components/share-templates.ts +13 -13
- package/.next/standalone/app/policies/hooks-client.tsx +320 -14
- package/.next/standalone/components/navbar.tsx +2 -28
- package/.next/standalone/components/reach-developers.tsx +8 -1
- package/.next/standalone/docs-old/agenteye/python-sdk-skill.mdx +1 -1
- package/.next/standalone/docs-old/agenteye/python-sdk.mdx +59 -35
- package/.next/standalone/docs-old/i18n/README.ar.md +1 -0
- package/.next/standalone/docs-old/i18n/README.de.md +1 -0
- package/.next/standalone/docs-old/i18n/README.es.md +1 -0
- package/.next/standalone/docs-old/i18n/README.fr.md +1 -0
- package/.next/standalone/docs-old/i18n/README.he.md +1 -0
- package/.next/standalone/docs-old/i18n/README.hi.md +1 -0
- package/.next/standalone/docs-old/i18n/README.it.md +1 -0
- package/.next/standalone/docs-old/i18n/README.ja.md +1 -0
- package/.next/standalone/docs-old/i18n/README.ko.md +1 -0
- package/.next/standalone/docs-old/i18n/README.pt-br.md +1 -0
- package/.next/standalone/docs-old/i18n/README.ru.md +1 -0
- package/.next/standalone/docs-old/i18n/README.tr.md +1 -0
- package/.next/standalone/docs-old/i18n/README.vi.md +1 -0
- package/.next/standalone/docs-old/i18n/README.zh.md +1 -0
- package/.next/standalone/fp-cloud-cli/CHANGELOG.md +431 -0
- package/.next/standalone/fp-cloud-cli/LICENSE +42 -0
- package/.next/standalone/fp-cloud-cli/MANIFEST.in +10 -0
- package/.next/standalone/fp-cloud-cli/README.md +259 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/__init__.py +10 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/__main__.py +4 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/_click_compat.py +64 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/_context.py +332 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/_version.py +1 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/analytics.py +432 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/analytics_config.py +77 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/analytics_registry.py +83 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/app.py +492 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/auth.py +160 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/client.py +1694 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/__init__.py +0 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/_write.py +214 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/agent_cmds.py +407 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/alerts_cmds.py +445 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/audits_cmds.py +1054 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/auth_cmds.py +512 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/errors_cmds.py +190 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/evals_cmds.py +161 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/events_cmds.py +159 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/fleet_cmds.py +416 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/guardrails_cmds.py +148 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/incidents_cmds.py +472 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/keys_cmds.py +407 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/list_cmds.py +63 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/orgs_cmds.py +319 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/policies_cmds.py +499 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/queries_cmds.py +378 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/sessions_cmds.py +151 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/settings_cmds.py +150 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/usage_cmds.py +35 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/commands/users_cmds.py +404 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/config.py +330 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/dates.py +78 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/enforcement.py +345 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/errors.py +98 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/models.py +891 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/orgs.py +30 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/output.py +6593 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/permissions.py +208 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/policy_check.py +290 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/py.typed +0 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/select.py +322 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/theme.py +53 -0
- package/.next/standalone/fp-cloud-cli/pyproject.toml +106 -0
- package/.next/standalone/fp-cloud-cli/skill/SKILL.md +302 -0
- package/.next/standalone/fp-cloud-cli/skill/agents/openai.yaml +8 -0
- package/.next/standalone/fp-cloud-cli/skill/references/commands.md +254 -0
- package/.next/standalone/fp-cloud-cli/tests/__init__.py +0 -0
- package/.next/standalone/fp-cloud-cli/tests/conftest.py +92 -0
- package/.next/standalone/fp-cloud-cli/tests/test_alerting.py +644 -0
- package/.next/standalone/fp-cloud-cli/tests/test_analytics.py +385 -0
- package/.next/standalone/fp-cloud-cli/tests/test_audits.py +950 -0
- package/.next/standalone/fp-cloud-cli/tests/test_auth.py +98 -0
- package/.next/standalone/fp-cloud-cli/tests/test_auth_mode.py +272 -0
- package/.next/standalone/fp-cloud-cli/tests/test_click_compat.py +118 -0
- package/.next/standalone/fp-cloud-cli/tests/test_client.py +299 -0
- package/.next/standalone/fp-cloud-cli/tests/test_commands.py +814 -0
- package/.next/standalone/fp-cloud-cli/tests/test_config.py +99 -0
- package/.next/standalone/fp-cloud-cli/tests/test_dashboards_agent.py +340 -0
- package/.next/standalone/fp-cloud-cli/tests/test_dates.py +76 -0
- package/.next/standalone/fp-cloud-cli/tests/test_enforcement_logic.py +481 -0
- package/.next/standalone/fp-cloud-cli/tests/test_facets.py +170 -0
- package/.next/standalone/fp-cloud-cli/tests/test_failproofai_home.py +722 -0
- package/.next/standalone/fp-cloud-cli/tests/test_fp_home_contract.py +198 -0
- package/.next/standalone/fp-cloud-cli/tests/test_hardening.py +186 -0
- package/.next/standalone/fp-cloud-cli/tests/test_help_table_coverage.py +127 -0
- package/.next/standalone/fp-cloud-cli/tests/test_keys_queries.py +496 -0
- package/.next/standalone/fp-cloud-cli/tests/test_list.py +59 -0
- package/.next/standalone/fp-cloud-cli/tests/test_multivalue.py +183 -0
- package/.next/standalone/fp-cloud-cli/tests/test_no_customer_identifiers.py +168 -0
- package/.next/standalone/fp-cloud-cli/tests/test_operator.py +492 -0
- package/.next/standalone/fp-cloud-cli/tests/test_orgs.py +692 -0
- package/.next/standalone/fp-cloud-cli/tests/test_output.py +1732 -0
- package/.next/standalone/fp-cloud-cli/tests/test_policy_check.py +191 -0
- package/.next/standalone/fp-cloud-cli/tests/test_readme_matches_reality.py +125 -0
- package/.next/standalone/fp-cloud-cli/tests/test_review_fixes.py +161 -0
- package/.next/standalone/fp-cloud-cli/tests/test_telemetry_completeness.py +90 -0
- package/.next/standalone/fp-cloud-cli/tests/test_usage.py +115 -0
- package/.next/standalone/fp-cloud-cli/tests/test_v1_origin_diagnostic.py +70 -0
- package/.next/standalone/fp-cloud-cli/tests/test_v1_routing.py +214 -0
- package/.next/standalone/fp-cloud-cli/tests/test_whoami.py +104 -0
- package/.next/standalone/fp-cloud-cli/uv.lock +552 -0
- package/.next/standalone/package.json +29 -22
- package/.next/standalone/sdk/python/CHANGELOG.md +70 -0
- package/.next/standalone/sdk/python/LICENSE +42 -0
- package/.next/standalone/sdk/python/MANIFEST.in +21 -0
- package/.next/standalone/sdk/python/README.md +466 -0
- package/.next/standalone/sdk/python/docs/README.md +249 -0
- package/.next/standalone/sdk/python/docs/_shared/README.md +43 -0
- package/.next/standalone/sdk/python/docs/_shared/__init__.py +195 -0
- package/.next/standalone/sdk/python/docs/crewai/README.md +328 -0
- package/.next/standalone/sdk/python/docs/crewai/examples/quickstart.py +61 -0
- package/.next/standalone/sdk/python/docs/crewai/examples/research_crew.py +92 -0
- package/.next/standalone/sdk/python/docs/langgraph/README.md +481 -0
- package/.next/standalone/sdk/python/docs/langgraph/examples/quickstart.py +51 -0
- package/.next/standalone/sdk/python/docs/langgraph/examples/research_agent.py +86 -0
- package/.next/standalone/sdk/python/docs/langgraph/examples/supervisor_handoff.py +83 -0
- package/.next/standalone/sdk/python/docs/llama_index/README.md +332 -0
- package/.next/standalone/sdk/python/docs/llama_index/examples/quickstart.py +62 -0
- package/.next/standalone/sdk/python/docs/llama_index/examples/research_agent.py +93 -0
- package/.next/standalone/sdk/python/docs/manual/README.md +491 -0
- package/.next/standalone/sdk/python/docs/manual/examples/quickstart.py +57 -0
- package/.next/standalone/sdk/python/docs/manual/examples/research_agent.py +133 -0
- package/.next/standalone/sdk/python/docs/pydantic_ai/README.md +323 -0
- package/.next/standalone/sdk/python/docs/pydantic_ai/examples/quickstart.py +48 -0
- package/.next/standalone/sdk/python/docs/pydantic_ai/examples/research_agent.py +94 -0
- package/.next/standalone/sdk/python/failproofai_sdk/__init__.py +131 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_context.py +218 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_environment.py +78 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_events.py +752 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_resolver.py +118 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_runtime.py +21 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_schema.py +317 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_scopes.py +422 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_version.py +1 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_writer.py +750 -0
- package/.next/standalone/sdk/python/failproofai_sdk/integrations/__init__.py +274 -0
- package/.next/standalone/sdk/python/failproofai_sdk/integrations/_compat.py +247 -0
- package/.next/standalone/sdk/python/failproofai_sdk/integrations/_core.py +1076 -0
- package/.next/standalone/sdk/python/failproofai_sdk/integrations/crewai.py +1669 -0
- package/.next/standalone/sdk/python/failproofai_sdk/integrations/langchain.py +2151 -0
- package/.next/standalone/sdk/python/failproofai_sdk/integrations/llama_index.py +1588 -0
- package/.next/standalone/sdk/python/failproofai_sdk/integrations/pydantic_ai.py +977 -0
- package/.next/standalone/sdk/python/failproofai_sdk/py.typed +0 -0
- package/.next/standalone/sdk/python/pyproject.toml +92 -0
- package/.next/standalone/sdk/python/skill/SKILL.md +399 -0
- package/.next/standalone/sdk/python/skill/agents/openai.yaml +8 -0
- package/.next/standalone/sdk/python/skill/references/events.md +234 -0
- package/.next/standalone/sdk/python/skill/references/frameworks.md +314 -0
- package/.next/standalone/sdk/python/skill/references/install.md +100 -0
- package/.next/standalone/sdk/python/skill/references/integration.md +352 -0
- package/.next/standalone/sdk/python/tests/__init__.py +0 -0
- package/.next/standalone/sdk/python/tests/conftest.py +169 -0
- package/.next/standalone/sdk/python/tests/integrations/__init__.py +6 -0
- package/.next/standalone/sdk/python/tests/integrations/test_crewai.py +1299 -0
- package/.next/standalone/sdk/python/tests/integrations/test_langchain.py +2338 -0
- package/.next/standalone/sdk/python/tests/integrations/test_llama_index.py +1576 -0
- package/.next/standalone/sdk/python/tests/integrations/test_pydantic_ai.py +1102 -0
- package/.next/standalone/sdk/python/tests/test_context.py +410 -0
- package/.next/standalone/sdk/python/tests/test_docs.py +411 -0
- package/.next/standalone/sdk/python/tests/test_durability.py +1352 -0
- package/.next/standalone/sdk/python/tests/test_encoding.py +571 -0
- package/.next/standalone/sdk/python/tests/test_integrations.py +1127 -0
- package/.next/standalone/sdk/python/tests/test_no_customer_identifiers.py +214 -0
- package/.next/standalone/sdk/python/tests/test_packaging.py +185 -0
- package/.next/standalone/sdk/python/tests/test_resolver_umbrella.py +178 -0
- package/.next/standalone/sdk/python/tests/test_scopes.py +487 -0
- package/.next/standalone/sdk/python/tests/test_sdk.py +923 -0
- package/.next/standalone/sdk/python/tests/test_server_contract.py +650 -0
- package/.next/standalone/sdk/python/tests/test_site_docs.py +371 -0
- package/.next/standalone/sdk/python/tests/test_skill_snippets.py +165 -0
- package/.next/standalone/sdk/python/tests/test_spool_contract.py +287 -0
- package/.next/standalone/sdk/python/tests/test_spool_creation.py +360 -0
- package/.next/standalone/sdk/python/tests/test_wire_format.py +279 -0
- package/.next/standalone/sdk/python/tests/test_zero_dependencies.py +378 -0
- package/.next/standalone/sdk/python/uv.lock +6005 -0
- package/.next/standalone/server.js +1 -1
- package/README.md +77 -21
- package/bin/failproofai.mjs +145 -11
- package/dist/cli.mjs +4482 -2205
- package/dist/index.js +5 -5
- package/dist/worker.mjs +2399 -1978
- package/package.json +29 -22
- package/policy-pack/SHA256SUMS +2 -0
- package/policy-pack/failproofai-pack.json +732 -0
- package/policy-pack/failproofai-pack.mjs +2017 -0
- package/scripts/build-policy-pack.mjs +121 -0
- package/scripts/changelog-section.py +77 -0
- package/scripts/prune-standalone.mjs +3 -0
- package/scripts/python-version.py +232 -0
- package/scripts/translate-docs/cli.ts +21 -0
- package/scripts/translate-docs/mintlify-nav.ts +85 -13
- package/scripts/translate-docs/translator.ts +66 -11
- package/src/audit/cache.ts +40 -3
- package/src/audit/cli.ts +1 -1
- package/src/audit/index.ts +1 -1
- package/src/audit/replay.ts +89 -3
- package/src/audit/report.ts +5 -5
- package/src/audit/schedule-cli.ts +49 -53
- package/src/hooks/builtin-policies.ts +217 -579
- package/src/hooks/cloud-enrollment-cli.ts +66 -27
- package/src/hooks/cloud-managed-policies.ts +6 -1
- package/src/hooks/configure-wizard.ts +1 -1
- package/src/hooks/custom-hooks-loader.ts +89 -6
- package/src/hooks/fp-home.ts +92 -4
- package/src/hooks/fp-reset.ts +26 -2
- package/src/hooks/handler.ts +181 -11
- package/src/hooks/harness-cli.ts +79 -25
- package/src/hooks/hook-activity-store.ts +13 -3
- package/src/hooks/install-prompt.ts +25 -3
- package/src/hooks/manager.ts +418 -172
- package/src/hooks/migrations.ts +2 -2
- package/src/hooks/pack-cli.ts +505 -0
- package/src/hooks/pack-failclosed.ts +189 -0
- package/src/hooks/pack-manifest.ts +344 -0
- package/src/hooks/pack-store.ts +930 -0
- package/src/hooks/policy-catalog.ts +535 -0
- package/src/hooks/policy-evaluator.ts +24 -16
- package/src/hooks/policy-presets.ts +4 -2
- package/src/hooks/policy-registry.ts +8 -2
- package/src/hooks/policy-types.ts +26 -0
- package/src/hooks/session-pause-cli.ts +33 -9
- package/src/hooks/tui.ts +570 -0
- package/src/hooks/types.ts +15 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_usx0j._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_zk340._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0agdw2a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d1u_na._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oy4kxb._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zf034w._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1tvn4wf._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0lxbzdq._.js +0 -3
- package/.next/standalone/.next/server/chunks/_1ger0a2._.js +0 -3
- package/.next/standalone/.next/server/chunks/_1zuiiy3._.js +0 -3
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_1iiwm5e._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kc8_v5._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kgy9da._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mhqk5a._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pltpn8._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qkcyf-._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w0x_ok._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1_dfocn._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1bfex62._.js +0 -5
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1kzapg5._.js +0 -6
- package/.next/standalone/.next/static/chunks/36fw6yk1s6x_f.js +0 -1
- package/.next/standalone/.next/static/chunks/3tzq0260n17ae.js +0 -6
- package/.next/standalone/.next/static/chunks/3wq9x0c-7ld5d.css +0 -2
- /package/.next/standalone/.next/static/{ZklXxyA5ygsWSQz2u_zii → nwbyWT06Ud0XdXOrVJyvS}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{ZklXxyA5ygsWSQz2u_zii → nwbyWT06Ud0XdXOrVJyvS}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{ZklXxyA5ygsWSQz2u_zii → nwbyWT06Ud0XdXOrVJyvS}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[57764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},5365,(a,b,c)=>{b.exports=a.x("process",()=>require("process"))},27267,(a,b,c)=>{"use strict";let d=Symbol.for("yaml.alias"),e=Symbol.for("yaml.document"),f=Symbol.for("yaml.map"),g=Symbol.for("yaml.pair"),h=Symbol.for("yaml.scalar"),i=Symbol.for("yaml.seq"),j=Symbol.for("yaml.node.type"),k=a=>!!a&&"object"==typeof a&&a[j]===h;function l(a){if(a&&"object"==typeof a)switch(a[j]){case f:case i:return!0}return!1}c.ALIAS=d,c.DOC=e,c.MAP=f,c.NODE_TYPE=j,c.PAIR=g,c.SCALAR=h,c.SEQ=i,c.hasAnchor=a=>(k(a)||l(a))&&!!a.anchor,c.isAlias=a=>!!a&&"object"==typeof a&&a[j]===d,c.isCollection=l,c.isDocument=a=>!!a&&"object"==typeof a&&a[j]===e,c.isMap=a=>!!a&&"object"==typeof a&&a[j]===f,c.isNode=function(a){if(a&&"object"==typeof a)switch(a[j]){case d:case f:case h:case i:return!0}return!1},c.isPair=a=>!!a&&"object"==typeof a&&a[j]===g,c.isScalar=k,c.isSeq=a=>!!a&&"object"==typeof a&&a[j]===i},85927,(a,b,c)=>{"use strict";var d=a.r(27267);let e=Symbol("break visit"),f=Symbol("skip children"),g=Symbol("remove node");function h(a,b){let c=l(b);d.isDocument(a)?i(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):i(null,a,c,Object.freeze([]))}function i(a,b,c,f){let h=m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),i(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=i(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=i("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=i("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}async function j(a,b){let c=l(b);d.isDocument(a)?await k(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):await k(null,a,c,Object.freeze([]))}async function k(a,b,c,f){let h=await m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),k(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=await k(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=await k("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=await k("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}function l(a){return"object"==typeof a&&(a.Collection||a.Node||a.Value)?Object.assign({Alias:a.Node,Map:a.Node,Scalar:a.Node,Seq:a.Node},a.Value&&{Map:a.Value,Scalar:a.Value,Seq:a.Value},a.Collection&&{Map:a.Collection,Seq:a.Collection},a):a}function m(a,b,c,e){return"function"==typeof c?c(a,b,e):d.isMap(b)?c.Map?.(a,b,e):d.isSeq(b)?c.Seq?.(a,b,e):d.isPair(b)?c.Pair?.(a,b,e):d.isScalar(b)?c.Scalar?.(a,b,e):d.isAlias(b)?c.Alias?.(a,b,e):void 0}function n(a,b,c){let e=b[b.length-1];if(d.isCollection(e))e.items[a]=c;else if(d.isPair(e))"key"===a?e.key=c:e.value=c;else if(d.isDocument(e))e.contents=c;else{let a=d.isAlias(e)?"alias":"scalar";throw Error(`Cannot replace node with ${a} parent`)}}h.BREAK=e,h.SKIP=f,h.REMOVE=g,j.BREAK=e,j.SKIP=f,j.REMOVE=g,c.visit=h,c.visitAsync=j},74957,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(85927);let f={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},g=a=>a.replace(/[!,[\]{}]/g,a=>f[a]);class h{constructor(a,b){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},h.defaultYaml,a),this.tags=Object.assign({},h.defaultTags,b)}clone(){let a=new h(this.yaml,this.tags);return a.docStart=this.docStart,a}atDocument(){let a=new h(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:h.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},h.defaultTags)}return a}add(a,b){this.atNextDocument&&(this.yaml={explicit:h.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},h.defaultTags),this.atNextDocument=!1);let c=a.trim().split(/[ \t]+/),d=c.shift();switch(d){case"%TAG":{if(2!==c.length&&(b(0,"%TAG directive should contain exactly two parts"),c.length<2))return!1;let[a,d]=c;return this.tags[a]=d,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==c.length)return b(0,"%YAML directive should contain exactly one part"),!1;let[a]=c;if("1.1"===a||"1.2"===a)return this.yaml.version=a,!0;{let c=/^\d+\.\d+$/.test(a);return b(6,`Unsupported YAML version ${a}`,c),!1}}default:return b(0,`Unknown directive ${d}`,!0),!1}}tagName(a,b){if("!"===a)return"!";if("!"!==a[0])return b(`Not a valid tag: ${a}`),null;if("<"===a[1]){let c=a.slice(2,-1);return"!"===c||"!!"===c?(b(`Verbatim tags aren't resolved, so ${a} is invalid.`),null):(">"!==a[a.length-1]&&b("Verbatim tags must end with a >"),c)}let[,c,d]=a.match(/^(.*!)([^!]*)$/s);d||b(`The ${a} tag has no suffix`);let e=this.tags[c];if(e)try{return e+decodeURIComponent(d)}catch(a){return b(String(a)),null}return"!"===c?a:(b(`Could not resolve tag: ${a}`),null)}tagString(a){for(let[b,c]of Object.entries(this.tags))if(a.startsWith(c))return b+g(a.substring(c.length));return"!"===a[0]?a:`!<${a}>`}toString(a){let b,c=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],f=Object.entries(this.tags);if(a&&f.length>0&&d.isNode(a.contents)){let c={};e.visit(a.contents,(a,b)=>{d.isNode(b)&&b.tag&&(c[b.tag]=!0)}),b=Object.keys(c)}else b=[];for(let[d,e]of f)("!!"!==d||"tag:yaml.org,2002:"!==e)&&(!a||b.some(a=>a.startsWith(e)))&&c.push(`%TAG ${d} ${e}`);return c.join("\n")}}h.defaultYaml={explicit:!1,version:"1.2"},h.defaultTags={"!!":"tag:yaml.org,2002:"},c.Directives=h},10937,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(85927);function f(a){let b=new Set;return e.visit(a,{Value(a,c){c.anchor&&b.add(c.anchor)}}),b}function g(a,b){for(let c=1;;++c){let d=`${a}${c}`;if(!b.has(d))return d}}c.anchorIsValid=function(a){if(/[\x00-\x19\s,[\]{}]/.test(a)){let b=JSON.stringify(a);throw Error(`Anchor must not contain whitespace or control characters: ${b}`)}return!0},c.anchorNames=f,c.createNodeAnchors=function(a,b){let c=[],e=new Map,h=null;return{onAnchor:d=>{c.push(d),h??(h=f(a));let e=g(b,h);return h.add(e),e},setAnchors:()=>{for(let a of c){let b=e.get(a);if("object"==typeof b&&b.anchor&&(d.isScalar(b.node)||d.isCollection(b.node)))b.node.anchor=b.anchor;else{let b=Error("Failed to resolve repeated object (this should not happen)");throw b.source=a,b}}},sourceObjects:e}},c.findNewAnchor=g},59588,(a,b,c)=>{"use strict";c.applyReviver=function a(b,c,d,e){if(e&&"object"==typeof e)if(Array.isArray(e))for(let c=0,d=e.length;c<d;++c){let d=e[c],f=a(b,e,String(c),d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}else if(e instanceof Map)for(let c of Array.from(e.keys())){let d=e.get(c),f=a(b,e,c,d);void 0===f?e.delete(c):f!==d&&e.set(c,f)}else if(e instanceof Set)for(let c of Array.from(e)){let d=a(b,e,c,c);void 0===d?e.delete(c):d!==c&&(e.delete(c),e.add(d))}else for(let[c,d]of Object.entries(e)){let f=a(b,e,c,d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}return b.call(c,d,e)}},94,(a,b,c)=>{"use strict";var d=a.r(27267);c.toJS=function a(b,c,e){if(Array.isArray(b))return b.map((b,c)=>a(b,String(c),e));if(b&&"function"==typeof b.toJSON){if(!e||!d.hasAnchor(b))return b.toJSON(c,e);let a={aliasCount:0,count:1,res:void 0};e.anchors.set(b,a),e.onCreate=b=>{a.res=b,delete e.onCreate};let f=b.toJSON(c,e);return e.onCreate&&e.onCreate(f),f}return"bigint"!=typeof b||e?.keep?b:Number(b)}},25154,(a,b,c)=>{"use strict";var d=a.r(59588),e=a.r(27267),f=a.r(94);c.NodeBase=class{constructor(a){Object.defineProperty(this,e.NODE_TYPE,{value:a})}clone(){let a=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(a.range=this.range.slice()),a}toJS(a,{mapAsMap:b,maxAliasCount:c,onAnchor:g,reviver:h}={}){if(!e.isDocument(a))throw TypeError("A document argument is required");let i={anchors:new Map,doc:a,keep:!0,mapAsMap:!0===b,mapKeyWarned:!1,maxAliasCount:"number"==typeof c?c:100},j=f.toJS(this,"",i);if("function"==typeof g)for(let{count:a,res:b}of i.anchors.values())g(b,a);return"function"==typeof h?d.applyReviver(h,{"":j},"",j):j}}},21562,(a,b,c)=>{"use strict";var d=a.r(10937),e=a.r(85927),f=a.r(27267),g=a.r(25154),h=a.r(94);class i extends g.NodeBase{constructor(a){super(f.ALIAS),this.source=a,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(a,b){let c,d;if(b?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let g of(b?.aliasResolveCache?c=b.aliasResolveCache:(c=[],e.visit(a,{Node:(a,b)=>{(f.isAlias(b)||f.hasAnchor(b))&&c.push(b)}}),b&&(b.aliasResolveCache=c)),c)){if(g===this)break;g.anchor===this.source&&(d=g)}return d}toJSON(a,b){if(!b)return{source:this.source};let{anchors:c,doc:d,maxAliasCount:e}=b,g=this.resolve(d,b);if(!g)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let i=c.get(g);if(i||(h.toJS(g,null,b),i=c.get(g)),i?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(e>=0&&(i.count+=1,0===i.aliasCount&&(i.aliasCount=function a(b,c,d){if(f.isAlias(c)){let a=c.resolve(b),e=d&&a&&d.get(a);return e?e.count*e.aliasCount:0}if(f.isCollection(c)){let e=0;for(let f of c.items){let c=a(b,f,d);c>e&&(e=c)}return e}return f.isPair(c)?Math.max(a(b,c.key,d),a(b,c.value,d)):1}(d,g,c)),i.count*i.aliasCount>e))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return i.res}toString(a,b,c){let e=`*${this.source}`;if(a){if(d.anchorIsValid(this.source),a.options.verifyAliasOrder&&!a.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(a.implicitKey)return`${e} `}return e}}c.Alias=i},27853,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(25154),f=a.r(94);class g extends e.NodeBase{constructor(a){super(d.SCALAR),this.value=a}toJSON(a,b){return b?.keep?this.value:f.toJS(this.value,a,b)}toString(){return String(this.value)}}g.BLOCK_FOLDED="BLOCK_FOLDED",g.BLOCK_LITERAL="BLOCK_LITERAL",g.PLAIN="PLAIN",g.QUOTE_DOUBLE="QUOTE_DOUBLE",g.QUOTE_SINGLE="QUOTE_SINGLE",c.Scalar=g,c.isScalarValue=a=>!a||"function"!=typeof a&&"object"!=typeof a},10882,(a,b,c)=>{"use strict";var d=a.r(21562),e=a.r(27267),f=a.r(27853);c.createNode=function(a,b,c){let g;if(e.isDocument(a)&&(a=a.contents),e.isNode(a))return a;if(e.isPair(a)){let b=c.schema[e.MAP].createNode?.(c.schema,null,c);return b.items.push(a),b}(a instanceof String||a instanceof Number||a instanceof Boolean||"u">typeof BigInt&&a instanceof BigInt)&&(a=a.valueOf());let{aliasDuplicateObjects:h,onAnchor:i,onTagObj:j,schema:k,sourceObjects:l}=c;if(h&&a&&"object"==typeof a){if(g=l.get(a))return g.anchor??(g.anchor=i(a)),new d.Alias(g.anchor);g={anchor:null,node:null},l.set(a,g)}b?.startsWith("!!")&&(b="tag:yaml.org,2002:"+b.slice(2));let m=function(a,b,c){if(b){let a=c.filter(a=>a.tag===b),d=a.find(a=>!a.format)??a[0];if(!d)throw Error(`Tag ${b} not found`);return d}return c.find(b=>b.identify?.(a)&&!b.format)}(a,b,k.tags);if(!m){if(a&&"function"==typeof a.toJSON&&(a=a.toJSON()),!a||"object"!=typeof a){let b=new f.Scalar(a);return g&&(g.node=b),b}m=a instanceof Map?k[e.MAP]:Symbol.iterator in Object(a)?k[e.SEQ]:k[e.MAP]}j&&(j(m),delete c.onTagObj);let n=m?.createNode?m.createNode(c.schema,a,c):"function"==typeof m?.nodeClass?.from?m.nodeClass.from(c.schema,a,c):new f.Scalar(a);return b?n.tag=b:m.default||(n.tag=m.tag),g&&(g.node=n),n}},35249,(a,b,c)=>{"use strict";var d=a.r(10882),e=a.r(27267),f=a.r(25154);function g(a,b,c){let e=c;for(let a=b.length-1;a>=0;--a){let c=b[a];if("number"==typeof c&&Number.isInteger(c)&&c>=0){let a=[];a[c]=e,e=a}else e=new Map([[c,e]])}return d.createNode(e,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:a,sourceObjects:new Map})}let h=a=>null==a||"object"==typeof a&&!!a[Symbol.iterator]().next().done;class i extends f.NodeBase{constructor(a,b){super(a),Object.defineProperty(this,"schema",{value:b,configurable:!0,enumerable:!1,writable:!0})}clone(a){let b=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return a&&(b.schema=a),b.items=b.items.map(b=>e.isNode(b)||e.isPair(b)?b.clone(a):b),this.range&&(b.range=this.range.slice()),b}addIn(a,b){if(h(a))this.add(b);else{let[c,...d]=a,f=this.get(c,!0);if(e.isCollection(f))f.addIn(d,b);else if(void 0===f&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}deleteIn(a){let[b,...c]=a;if(0===c.length)return this.delete(b);let d=this.get(b,!0);if(e.isCollection(d))return d.deleteIn(c);throw Error(`Expected YAML collection at ${b}. Remaining path: ${c}`)}getIn(a,b){let[c,...d]=a,f=this.get(c,!0);return 0===d.length?!b&&e.isScalar(f)?f.value:f:e.isCollection(f)?f.getIn(d,b):void 0}hasAllNullValues(a){return this.items.every(b=>{if(!e.isPair(b))return!1;let c=b.value;return null==c||a&&e.isScalar(c)&&null==c.value&&!c.commentBefore&&!c.comment&&!c.tag})}hasIn(a){let[b,...c]=a;if(0===c.length)return this.has(b);let d=this.get(b,!0);return!!e.isCollection(d)&&d.hasIn(c)}setIn(a,b){let[c,...d]=a;if(0===d.length)this.set(c,b);else{let a=this.get(c,!0);if(e.isCollection(a))a.setIn(d,b);else if(void 0===a&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}}c.Collection=i,c.collectionFromPath=g,c.isEmptyPath=h},53074,(a,b,c)=>{"use strict";function d(a,b){return/^\n+$/.test(a)?a.substring(1):b?a.replace(/^(?! *$)/gm,b):a}c.indentComment=d,c.lineComment=(a,b,c)=>a.endsWith("\n")?d(c,b):c.includes("\n")?"\n"+d(c,b):(a.endsWith(" ")?"":" ")+c,c.stringifyComment=a=>a.replace(/^(?!$)(?: $)?/gm,"#")},59245,(a,b,c)=>{"use strict";let d="block",e="quoted";function f(a,b,c){let d=b,e=b+1,f=a[e];for(;" "===f||" "===f;)if(b<e+c)f=a[++b];else{do f=a[++b];while(f&&"\n"!==f)d=b,f=a[e=b+1]}return d}c.FOLD_BLOCK=d,c.FOLD_FLOW="flow",c.FOLD_QUOTED=e,c.foldFlowLines=function(a,b,c="flow",{indentAtStart:g,lineWidth:h=80,minContentWidth:i=20,onFold:j,onOverflow:k}={}){let l,m,n;if(!h||h<0)return a;h<i&&(i=0);let o=Math.max(1+i,1+h-b.length);if(a.length<=o)return a;let p=[],q={},r=h-b.length;"number"==typeof g&&(g>h-Math.max(2,i)?p.push(0):r=h-g);let s=!1,t=-1,u=-1,v=-1;for(c===d&&-1!==(t=f(a,t,b.length))&&(r=t+o);n=a[t+=1];){if(c===e&&"\\"===n){switch(u=t,a[t+1]){case"x":t+=3;break;case"u":t+=5;break;case"U":t+=9;break;default:t+=1}v=t}if("\n"===n)c===d&&(t=f(a,t,b.length)),r=t+b.length+o,l=void 0;else{if(" "===n&&m&&" "!==m&&"\n"!==m&&" "!==m){let b=a[t+1];b&&" "!==b&&"\n"!==b&&" "!==b&&(l=t)}if(t>=r)if(l)p.push(l),r=l+o,l=void 0;else if(c===e){for(;" "===m||" "===m;)m=n,n=a[t+=1],s=!0;let b=t>v+1?t-2:u-1;if(q[b])return a;p.push(b),q[b]=!0,r=b+o,l=void 0}else s=!0}m=n}if(s&&k&&k(),0===p.length)return a;j&&j();let w=a.slice(0,p[0]);for(let d=0;d<p.length;++d){let f=p[d],g=p[d+1]||a.length;0===f?w=`
|
|
1
|
+
module.exports=[5365,(a,b,c)=>{b.exports=a.x("process",()=>require("process"))},27267,(a,b,c)=>{"use strict";let d=Symbol.for("yaml.alias"),e=Symbol.for("yaml.document"),f=Symbol.for("yaml.map"),g=Symbol.for("yaml.pair"),h=Symbol.for("yaml.scalar"),i=Symbol.for("yaml.seq"),j=Symbol.for("yaml.node.type"),k=a=>!!a&&"object"==typeof a&&a[j]===h;function l(a){if(a&&"object"==typeof a)switch(a[j]){case f:case i:return!0}return!1}c.ALIAS=d,c.DOC=e,c.MAP=f,c.NODE_TYPE=j,c.PAIR=g,c.SCALAR=h,c.SEQ=i,c.hasAnchor=a=>(k(a)||l(a))&&!!a.anchor,c.isAlias=a=>!!a&&"object"==typeof a&&a[j]===d,c.isCollection=l,c.isDocument=a=>!!a&&"object"==typeof a&&a[j]===e,c.isMap=a=>!!a&&"object"==typeof a&&a[j]===f,c.isNode=function(a){if(a&&"object"==typeof a)switch(a[j]){case d:case f:case h:case i:return!0}return!1},c.isPair=a=>!!a&&"object"==typeof a&&a[j]===g,c.isScalar=k,c.isSeq=a=>!!a&&"object"==typeof a&&a[j]===i},85927,(a,b,c)=>{"use strict";var d=a.r(27267);let e=Symbol("break visit"),f=Symbol("skip children"),g=Symbol("remove node");function h(a,b){let c=l(b);d.isDocument(a)?i(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):i(null,a,c,Object.freeze([]))}function i(a,b,c,f){let h=m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),i(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=i(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=i("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=i("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}async function j(a,b){let c=l(b);d.isDocument(a)?await k(null,a.contents,c,Object.freeze([a]))===g&&(a.contents=null):await k(null,a,c,Object.freeze([]))}async function k(a,b,c,f){let h=await m(a,b,c,f);if(d.isNode(h)||d.isPair(h))return n(a,f,h),k(a,h,c,f);if("symbol"!=typeof h){if(d.isCollection(b)){f=Object.freeze(f.concat(b));for(let a=0;a<b.items.length;++a){let d=await k(a,b.items[a],c,f);if("number"==typeof d)a=d-1;else{if(d===e)return e;d===g&&(b.items.splice(a,1),a-=1)}}}else if(d.isPair(b)){f=Object.freeze(f.concat(b));let a=await k("key",b.key,c,f);if(a===e)return e;a===g&&(b.key=null);let d=await k("value",b.value,c,f);if(d===e)return e;d===g&&(b.value=null)}}return h}function l(a){return"object"==typeof a&&(a.Collection||a.Node||a.Value)?Object.assign({Alias:a.Node,Map:a.Node,Scalar:a.Node,Seq:a.Node},a.Value&&{Map:a.Value,Scalar:a.Value,Seq:a.Value},a.Collection&&{Map:a.Collection,Seq:a.Collection},a):a}function m(a,b,c,e){return"function"==typeof c?c(a,b,e):d.isMap(b)?c.Map?.(a,b,e):d.isSeq(b)?c.Seq?.(a,b,e):d.isPair(b)?c.Pair?.(a,b,e):d.isScalar(b)?c.Scalar?.(a,b,e):d.isAlias(b)?c.Alias?.(a,b,e):void 0}function n(a,b,c){let e=b[b.length-1];if(d.isCollection(e))e.items[a]=c;else if(d.isPair(e))"key"===a?e.key=c:e.value=c;else if(d.isDocument(e))e.contents=c;else{let a=d.isAlias(e)?"alias":"scalar";throw Error(`Cannot replace node with ${a} parent`)}}h.BREAK=e,h.SKIP=f,h.REMOVE=g,j.BREAK=e,j.SKIP=f,j.REMOVE=g,c.visit=h,c.visitAsync=j},74957,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(85927);let f={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},g=a=>a.replace(/[!,[\]{}]/g,a=>f[a]);class h{constructor(a,b){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},h.defaultYaml,a),this.tags=Object.assign({},h.defaultTags,b)}clone(){let a=new h(this.yaml,this.tags);return a.docStart=this.docStart,a}atDocument(){let a=new h(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:h.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},h.defaultTags)}return a}add(a,b){this.atNextDocument&&(this.yaml={explicit:h.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},h.defaultTags),this.atNextDocument=!1);let c=a.trim().split(/[ \t]+/),d=c.shift();switch(d){case"%TAG":{if(2!==c.length&&(b(0,"%TAG directive should contain exactly two parts"),c.length<2))return!1;let[a,d]=c;return this.tags[a]=d,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==c.length)return b(0,"%YAML directive should contain exactly one part"),!1;let[a]=c;if("1.1"===a||"1.2"===a)return this.yaml.version=a,!0;{let c=/^\d+\.\d+$/.test(a);return b(6,`Unsupported YAML version ${a}`,c),!1}}default:return b(0,`Unknown directive ${d}`,!0),!1}}tagName(a,b){if("!"===a)return"!";if("!"!==a[0])return b(`Not a valid tag: ${a}`),null;if("<"===a[1]){let c=a.slice(2,-1);return"!"===c||"!!"===c?(b(`Verbatim tags aren't resolved, so ${a} is invalid.`),null):(">"!==a[a.length-1]&&b("Verbatim tags must end with a >"),c)}let[,c,d]=a.match(/^(.*!)([^!]*)$/s);d||b(`The ${a} tag has no suffix`);let e=this.tags[c];if(e)try{return e+decodeURIComponent(d)}catch(a){return b(String(a)),null}return"!"===c?a:(b(`Could not resolve tag: ${a}`),null)}tagString(a){for(let[b,c]of Object.entries(this.tags))if(a.startsWith(c))return b+g(a.substring(c.length));return"!"===a[0]?a:`!<${a}>`}toString(a){let b,c=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],f=Object.entries(this.tags);if(a&&f.length>0&&d.isNode(a.contents)){let c={};e.visit(a.contents,(a,b)=>{d.isNode(b)&&b.tag&&(c[b.tag]=!0)}),b=Object.keys(c)}else b=[];for(let[d,e]of f)("!!"!==d||"tag:yaml.org,2002:"!==e)&&(!a||b.some(a=>a.startsWith(e)))&&c.push(`%TAG ${d} ${e}`);return c.join("\n")}}h.defaultYaml={explicit:!1,version:"1.2"},h.defaultTags={"!!":"tag:yaml.org,2002:"},c.Directives=h},10937,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(85927);function f(a){let b=new Set;return e.visit(a,{Value(a,c){c.anchor&&b.add(c.anchor)}}),b}function g(a,b){for(let c=1;;++c){let d=`${a}${c}`;if(!b.has(d))return d}}c.anchorIsValid=function(a){if(/[\x00-\x19\s,[\]{}]/.test(a)){let b=JSON.stringify(a);throw Error(`Anchor must not contain whitespace or control characters: ${b}`)}return!0},c.anchorNames=f,c.createNodeAnchors=function(a,b){let c=[],e=new Map,h=null;return{onAnchor:d=>{c.push(d),h??(h=f(a));let e=g(b,h);return h.add(e),e},setAnchors:()=>{for(let a of c){let b=e.get(a);if("object"==typeof b&&b.anchor&&(d.isScalar(b.node)||d.isCollection(b.node)))b.node.anchor=b.anchor;else{let b=Error("Failed to resolve repeated object (this should not happen)");throw b.source=a,b}}},sourceObjects:e}},c.findNewAnchor=g},59588,(a,b,c)=>{"use strict";c.applyReviver=function a(b,c,d,e){if(e&&"object"==typeof e)if(Array.isArray(e))for(let c=0,d=e.length;c<d;++c){let d=e[c],f=a(b,e,String(c),d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}else if(e instanceof Map)for(let c of Array.from(e.keys())){let d=e.get(c),f=a(b,e,c,d);void 0===f?e.delete(c):f!==d&&e.set(c,f)}else if(e instanceof Set)for(let c of Array.from(e)){let d=a(b,e,c,c);void 0===d?e.delete(c):d!==c&&(e.delete(c),e.add(d))}else for(let[c,d]of Object.entries(e)){let f=a(b,e,c,d);void 0===f?delete e[c]:f!==d&&(e[c]=f)}return b.call(c,d,e)}},94,(a,b,c)=>{"use strict";var d=a.r(27267);c.toJS=function a(b,c,e){if(Array.isArray(b))return b.map((b,c)=>a(b,String(c),e));if(b&&"function"==typeof b.toJSON){if(!e||!d.hasAnchor(b))return b.toJSON(c,e);let a={aliasCount:0,count:1,res:void 0};e.anchors.set(b,a),e.onCreate=b=>{a.res=b,delete e.onCreate};let f=b.toJSON(c,e);return e.onCreate&&e.onCreate(f),f}return"bigint"!=typeof b||e?.keep?b:Number(b)}},25154,(a,b,c)=>{"use strict";var d=a.r(59588),e=a.r(27267),f=a.r(94);c.NodeBase=class{constructor(a){Object.defineProperty(this,e.NODE_TYPE,{value:a})}clone(){let a=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(a.range=this.range.slice()),a}toJS(a,{mapAsMap:b,maxAliasCount:c,onAnchor:g,reviver:h}={}){if(!e.isDocument(a))throw TypeError("A document argument is required");let i={anchors:new Map,doc:a,keep:!0,mapAsMap:!0===b,mapKeyWarned:!1,maxAliasCount:"number"==typeof c?c:100},j=f.toJS(this,"",i);if("function"==typeof g)for(let{count:a,res:b}of i.anchors.values())g(b,a);return"function"==typeof h?d.applyReviver(h,{"":j},"",j):j}}},21562,(a,b,c)=>{"use strict";var d=a.r(10937),e=a.r(85927),f=a.r(27267),g=a.r(25154),h=a.r(94);class i extends g.NodeBase{constructor(a){super(f.ALIAS),this.source=a,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(a,b){let c,d;if(b?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let g of(b?.aliasResolveCache?c=b.aliasResolveCache:(c=[],e.visit(a,{Node:(a,b)=>{(f.isAlias(b)||f.hasAnchor(b))&&c.push(b)}}),b&&(b.aliasResolveCache=c)),c)){if(g===this)break;g.anchor===this.source&&(d=g)}return d}toJSON(a,b){if(!b)return{source:this.source};let{anchors:c,doc:d,maxAliasCount:e}=b,g=this.resolve(d,b);if(!g)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let i=c.get(g);if(i||(h.toJS(g,null,b),i=c.get(g)),i?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(e>=0&&(i.count+=1,0===i.aliasCount&&(i.aliasCount=function a(b,c,d){if(f.isAlias(c)){let a=c.resolve(b),e=d&&a&&d.get(a);return e?e.count*e.aliasCount:0}if(f.isCollection(c)){let e=0;for(let f of c.items){let c=a(b,f,d);c>e&&(e=c)}return e}return f.isPair(c)?Math.max(a(b,c.key,d),a(b,c.value,d)):1}(d,g,c)),i.count*i.aliasCount>e))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return i.res}toString(a,b,c){let e=`*${this.source}`;if(a){if(d.anchorIsValid(this.source),a.options.verifyAliasOrder&&!a.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(a.implicitKey)return`${e} `}return e}}c.Alias=i},27853,(a,b,c)=>{"use strict";var d=a.r(27267),e=a.r(25154),f=a.r(94);class g extends e.NodeBase{constructor(a){super(d.SCALAR),this.value=a}toJSON(a,b){return b?.keep?this.value:f.toJS(this.value,a,b)}toString(){return String(this.value)}}g.BLOCK_FOLDED="BLOCK_FOLDED",g.BLOCK_LITERAL="BLOCK_LITERAL",g.PLAIN="PLAIN",g.QUOTE_DOUBLE="QUOTE_DOUBLE",g.QUOTE_SINGLE="QUOTE_SINGLE",c.Scalar=g,c.isScalarValue=a=>!a||"function"!=typeof a&&"object"!=typeof a},10882,(a,b,c)=>{"use strict";var d=a.r(21562),e=a.r(27267),f=a.r(27853);c.createNode=function(a,b,c){let g;if(e.isDocument(a)&&(a=a.contents),e.isNode(a))return a;if(e.isPair(a)){let b=c.schema[e.MAP].createNode?.(c.schema,null,c);return b.items.push(a),b}(a instanceof String||a instanceof Number||a instanceof Boolean||"u">typeof BigInt&&a instanceof BigInt)&&(a=a.valueOf());let{aliasDuplicateObjects:h,onAnchor:i,onTagObj:j,schema:k,sourceObjects:l}=c;if(h&&a&&"object"==typeof a){if(g=l.get(a))return g.anchor??(g.anchor=i(a)),new d.Alias(g.anchor);g={anchor:null,node:null},l.set(a,g)}b?.startsWith("!!")&&(b="tag:yaml.org,2002:"+b.slice(2));let m=function(a,b,c){if(b){let a=c.filter(a=>a.tag===b),d=a.find(a=>!a.format)??a[0];if(!d)throw Error(`Tag ${b} not found`);return d}return c.find(b=>b.identify?.(a)&&!b.format)}(a,b,k.tags);if(!m){if(a&&"function"==typeof a.toJSON&&(a=a.toJSON()),!a||"object"!=typeof a){let b=new f.Scalar(a);return g&&(g.node=b),b}m=a instanceof Map?k[e.MAP]:Symbol.iterator in Object(a)?k[e.SEQ]:k[e.MAP]}j&&(j(m),delete c.onTagObj);let n=m?.createNode?m.createNode(c.schema,a,c):"function"==typeof m?.nodeClass?.from?m.nodeClass.from(c.schema,a,c):new f.Scalar(a);return b?n.tag=b:m.default||(n.tag=m.tag),g&&(g.node=n),n}},35249,(a,b,c)=>{"use strict";var d=a.r(10882),e=a.r(27267),f=a.r(25154);function g(a,b,c){let e=c;for(let a=b.length-1;a>=0;--a){let c=b[a];if("number"==typeof c&&Number.isInteger(c)&&c>=0){let a=[];a[c]=e,e=a}else e=new Map([[c,e]])}return d.createNode(e,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:a,sourceObjects:new Map})}let h=a=>null==a||"object"==typeof a&&!!a[Symbol.iterator]().next().done;class i extends f.NodeBase{constructor(a,b){super(a),Object.defineProperty(this,"schema",{value:b,configurable:!0,enumerable:!1,writable:!0})}clone(a){let b=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return a&&(b.schema=a),b.items=b.items.map(b=>e.isNode(b)||e.isPair(b)?b.clone(a):b),this.range&&(b.range=this.range.slice()),b}addIn(a,b){if(h(a))this.add(b);else{let[c,...d]=a,f=this.get(c,!0);if(e.isCollection(f))f.addIn(d,b);else if(void 0===f&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}deleteIn(a){let[b,...c]=a;if(0===c.length)return this.delete(b);let d=this.get(b,!0);if(e.isCollection(d))return d.deleteIn(c);throw Error(`Expected YAML collection at ${b}. Remaining path: ${c}`)}getIn(a,b){let[c,...d]=a,f=this.get(c,!0);return 0===d.length?!b&&e.isScalar(f)?f.value:f:e.isCollection(f)?f.getIn(d,b):void 0}hasAllNullValues(a){return this.items.every(b=>{if(!e.isPair(b))return!1;let c=b.value;return null==c||a&&e.isScalar(c)&&null==c.value&&!c.commentBefore&&!c.comment&&!c.tag})}hasIn(a){let[b,...c]=a;if(0===c.length)return this.has(b);let d=this.get(b,!0);return!!e.isCollection(d)&&d.hasIn(c)}setIn(a,b){let[c,...d]=a;if(0===d.length)this.set(c,b);else{let a=this.get(c,!0);if(e.isCollection(a))a.setIn(d,b);else if(void 0===a&&this.schema)this.set(c,g(this.schema,d,b));else throw Error(`Expected YAML collection at ${c}. Remaining path: ${d}`)}}}c.Collection=i,c.collectionFromPath=g,c.isEmptyPath=h},53074,(a,b,c)=>{"use strict";function d(a,b){return/^\n+$/.test(a)?a.substring(1):b?a.replace(/^(?! *$)/gm,b):a}c.indentComment=d,c.lineComment=(a,b,c)=>a.endsWith("\n")?d(c,b):c.includes("\n")?"\n"+d(c,b):(a.endsWith(" ")?"":" ")+c,c.stringifyComment=a=>a.replace(/^(?!$)(?: $)?/gm,"#")},59245,(a,b,c)=>{"use strict";let d="block",e="quoted";function f(a,b,c){let d=b,e=b+1,f=a[e];for(;" "===f||" "===f;)if(b<e+c)f=a[++b];else{do f=a[++b];while(f&&"\n"!==f)d=b,f=a[e=b+1]}return d}c.FOLD_BLOCK=d,c.FOLD_FLOW="flow",c.FOLD_QUOTED=e,c.foldFlowLines=function(a,b,c="flow",{indentAtStart:g,lineWidth:h=80,minContentWidth:i=20,onFold:j,onOverflow:k}={}){let l,m,n;if(!h||h<0)return a;h<i&&(i=0);let o=Math.max(1+i,1+h-b.length);if(a.length<=o)return a;let p=[],q={},r=h-b.length;"number"==typeof g&&(g>h-Math.max(2,i)?p.push(0):r=h-g);let s=!1,t=-1,u=-1,v=-1;for(c===d&&-1!==(t=f(a,t,b.length))&&(r=t+o);n=a[t+=1];){if(c===e&&"\\"===n){switch(u=t,a[t+1]){case"x":t+=3;break;case"u":t+=5;break;case"U":t+=9;break;default:t+=1}v=t}if("\n"===n)c===d&&(t=f(a,t,b.length)),r=t+b.length+o,l=void 0;else{if(" "===n&&m&&" "!==m&&"\n"!==m&&" "!==m){let b=a[t+1];b&&" "!==b&&"\n"!==b&&" "!==b&&(l=t)}if(t>=r)if(l)p.push(l),r=l+o,l=void 0;else if(c===e){for(;" "===m||" "===m;)m=n,n=a[t+=1],s=!0;let b=t>v+1?t-2:u-1;if(q[b])return a;p.push(b),q[b]=!0,r=b+o,l=void 0}else s=!0}m=n}if(s&&k&&k(),0===p.length)return a;j&&j();let w=a.slice(0,p[0]);for(let d=0;d<p.length;++d){let f=p[d],g=p[d+1]||a.length;0===f?w=`
|
|
2
2
|
${b}${a.slice(0,g)}`:(c===e&&q[f]&&(w+=`${a[f]}\\`),w+=`
|
|
3
3
|
${b}${a.slice(f+1,g)}`)}return w}},88583,(a,b,c)=>{"use strict";let d;var e=a.r(27853),f=a.r(59245);let g=(a,b)=>({indentAtStart:b?a.indent.length:a.indentAtStart,lineWidth:a.options.lineWidth,minContentWidth:a.options.minContentWidth});function h(a,b){let c=JSON.stringify(a);if(b.options.doubleQuotedAsJSON)return c;let{implicitKey:d}=b,e=b.options.doubleQuotedMinMultiLineLength,h=b.indent||(/^(%|---|\.\.\.)/m.test(a)?" ":""),i="",j=0;for(let a=0,b=c[a];b;b=c[++a])if(" "===b&&"\\"===c[a+1]&&"n"===c[a+2]&&(i+=c.slice(j,a)+"\\ ",a+=1,j=a,b="\\"),"\\"===b)switch(c[a+1]){case"u":{i+=c.slice(j,a);let b=c.substr(a+2,4);switch(b){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:"00"===b.substr(0,2)?i+="\\x"+b.substr(2):i+=c.substr(a,6)}a+=5,j=a+1}break;case"n":if(d||'"'===c[a+2]||c.length<e)a+=1;else{for(i+=c.slice(j,a)+"\n\n";"\\"===c[a+2]&&"n"===c[a+3]&&'"'!==c[a+4];)i+="\n",a+=2;i+=h," "===c[a+2]&&(i+="\\"),a+=1,j=a+1}break;default:a+=1}return i=j?i+c.slice(j):c,d?i:f.foldFlowLines(i,h,f.FOLD_QUOTED,g(b,!1))}function i(a,b){if(!1===b.options.singleQuote||b.implicitKey&&a.includes("\n")||/[ \t]\n|\n[ \t]/.test(a))return h(a,b);let c=b.indent||(/^(%|---|\.\.\.)/m.test(a)?" ":""),d="'"+a.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
4
4
|
${c}`)+"'";return b.implicitKey?d:f.foldFlowLines(d,c,f.FOLD_FLOW,g(b,!1))}function j(a,b){let c,{singleQuote:d}=b.options;if(!1===d)c=h;else{let b=a.includes('"'),e=a.includes("'");c=b&&!e?i:e&&!b?h:d?i:h}return c(a,b)}try{d=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{d=/\n+(?!\n|$)/g}function k({comment:a,type:b,value:c},h,i,l){let m,n,o,p,{blockQuote:q,commentString:r,lineWidth:s}=h.options;if(!q||/\n[\t ]+$/.test(c))return j(c,h);let t=h.indent||(h.forceBlockIndent||(p=c,/^(%|---|\.\.\.)/m.test(p))?" ":""),u="literal"===q||"folded"!==q&&b!==e.Scalar.BLOCK_FOLDED&&(b===e.Scalar.BLOCK_LITERAL||!function(a,b,c){if(!b||b<0)return!1;let d=b-c,e=a.length;if(e<=d)return!1;for(let b=0,c=0;b<e;++b)if("\n"===a[b]){if(b-c>d)return!0;if(e-(c=b+1)<=d)return!1}return!0}(c,s,t.length));if(!c)return u?"|\n":">\n";for(n=c.length;n>0;--n){let a=c[n-1];if("\n"!==a&&" "!==a&&" "!==a)break}let v=c.substring(n),w=v.indexOf("\n");-1===w?m="-":c===v||w!==v.length-1?(m="+",l&&l()):m="",v&&(c=c.slice(0,-v.length),"\n"===v[v.length-1]&&(v=v.slice(0,-1)),v=v.replace(d,`$&${t}`));let x=!1,y=-1;for(o=0;o<c.length;++o){let a=c[o];if(" "===a)x=!0;else if("\n"===a)y=o;else break}let z=c.substring(0,y<o?y+1:o);z&&(c=c.substring(z.length),z=z.replace(/\n+/g,`$&${t}`));let A=t?"2":"1",B=(x?A:"")+m;if(a&&(B+=" "+r(a.replace(/ ?[\r\n]+/g," ")),i&&i()),!u){let a=c.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${t}`),d=!1,i=g(h,!0);"folded"!==q&&b!==e.Scalar.BLOCK_FOLDED&&(i.onOverflow=()=>{d=!0});let j=f.foldFlowLines(`${z}${a}${v}`,t,f.FOLD_BLOCK,i);if(!d)return`>${B}
|
|
@@ -22,7 +22,7 @@ ${h}
|
|
|
22
22
|
${c}`:c;else if(d||a.directives.docStart||!e)a.commentBefore=c;else if(h.isCollection(e)&&!e.flow&&e.items.length>0){let a=e.items[0];h.isPair(a)&&(a=a.key);let b=a.commentBefore;a.commentBefore=b?`${c}
|
|
23
23
|
${b}`:c}else{let a=e.commentBefore;e.commentBefore=a?`${c}
|
|
24
24
|
${a}`:c}}if(b){for(let b=0;b<this.errors.length;++b)a.errors.push(this.errors[b]);for(let b=0;b<this.warnings.length;++b)a.warnings.push(this.warnings[b])}else a.errors=this.errors,a.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:l(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(a,b=!1,c=-1){for(let b of a)yield*this.next(b);yield*this.end(b,c)}*next(a){switch(d.env.LOG_STREAM&&console.dir(a,{depth:null}),a.type){case"directive":this.directives.add(a.source,(b,c,d)=>{let e=k(a);e[0]+=b,this.onError(e,"BAD_DIRECTIVE",c,d)}),this.prelude.push(a.source),this.atDirectives=!0;break;case"document":{let b=i.composeDoc(this.options,this.directives,a,this.onError);this.atDirectives&&!b.directives.docStart&&this.onError(a,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(b,!1),this.doc&&(yield this.doc),this.doc=b,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(a.source);break;case"error":{let b=a.source?`${a.message}: ${JSON.stringify(a.source)}`:a.message,c=new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",b);this.atDirectives||!this.doc?this.errors.push(c):this.doc.errors.push(c);break}case"doc-end":{if(!this.doc){this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let b=j.resolveEnd(a.end,a.offset+a.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),b.comment){let a=this.doc.comment;this.doc.comment=a?`${a}
|
|
25
|
-
${b.comment}`:b.comment}this.doc.range[2]=b.offset;break}default:this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",`Unsupported token ${a.type}`))}}*end(a=!1,b=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(a){let a=Object.assign({_directives:this.directives},this.options),c=new f.Document(void 0,a);this.atDirectives&&this.onError(b,"MISSING_CHAR","Missing directives-end indicator line"),c.range=[0,b,b],this.decorate(c,!1),yield c}}}},86888,(a,b,c)=>{"use strict";var d=a.r(71014),e=a.r(21525),f=a.r(25717),g=a.r(88583);function h(a,b){if(b)for(let c of b)switch(c.type){case"space":case"comment":a.push(c);break;case"newline":return a.push(c),!0}return!1}function i(a,b,c){switch(a.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":a.type=c,a.source=b;break;case"block-scalar":{let d=a.props.slice(1),e=b.length;for(let b of("block-scalar-header"===a.props[0].type&&(e-=a.props[0].source.length),d))b.offset+=e;delete a.props,Object.assign(a,{type:c,source:b,end:d});break}case"block-map":case"block-seq":{let d={type:"newline",offset:a.offset+b.length,indent:a.indent,source:"\n"};delete a.items,Object.assign(a,{type:c,source:b,end:[d]});break}default:{let d="indent"in a?a.indent:-1,e="end"in a&&Array.isArray(a.end)?a.end.filter(a=>"space"===a.type||"comment"===a.type||"newline"===a.type):[];for(let b of Object.keys(a))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:c,indent:d,source:b,end:e})}}}c.createScalarToken=function(a,b){let{implicitKey:c=!1,indent:d,inFlow:e=!1,offset:f=-1,type:i="PLAIN"}=b,j=g.stringifyString({type:i,value:a},{implicitKey:c,indent:d>0?" ".repeat(d):"",inFlow:e,options:{blockQuote:!0,lineWidth:-1}}),k=b.end??[{type:"newline",offset:-1,indent:d,source:"\n"}];switch(j[0]){case"|":case">":{let a=j.indexOf("\n"),b=j.substring(0,a),c=j.substring(a+1)+"\n",e=[{type:"block-scalar-header",offset:f,indent:d,source:b}];return h(e,k)||e.push({type:"newline",offset:-1,indent:d,source:"\n"}),{type:"block-scalar",offset:f,indent:d,props:e,source:c}}case'"':return{type:"double-quoted-scalar",offset:f,indent:d,source:j,end:k};case"'":return{type:"single-quoted-scalar",offset:f,indent:d,source:j,end:k};default:return{type:"scalar",offset:f,indent:d,source:j,end:k}}},c.resolveAsScalar=function(a,b=!0,c){if(a){let g=(a,b,d)=>{let e="number"==typeof a?a:Array.isArray(a)?a[0]:a.offset;if(c)c(e,b,d);else throw new f.YAMLParseError([e,e+1],b,d)};switch(a.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return e.resolveFlowScalar(a,b,g);case"block-scalar":return d.resolveBlockScalar({options:{strict:b}},a,g)}}return null},c.setScalarValue=function(a,b,c={}){let{afterKey:d=!1,implicitKey:e=!1,inFlow:f=!1,type:j}=c,k="indent"in a?a.indent:null;if(d&&"number"==typeof k&&(k+=2),!j)switch(a.type){case"single-quoted-scalar":j="QUOTE_SINGLE";break;case"double-quoted-scalar":j="QUOTE_DOUBLE";break;case"block-scalar":{let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");j=">"===b.source[0]?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:j="PLAIN"}let l=g.stringifyString({type:j,value:b},{implicitKey:e||null===k,indent:null!==k&&k>0?" ".repeat(k):"",inFlow:f,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":!function(a,b){let c=b.indexOf("\n"),d=b.substring(0,c),e=b.substring(c+1)+"\n";if("block-scalar"===a.type){let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");b.source=d,a.source=e}else{let{offset:b}=a,c="indent"in a?a.indent:-1,f=[{type:"block-scalar-header",offset:b,indent:c,source:d}];for(let b of(h(f,"end"in a?a.end:void 0)||f.push({type:"newline",offset:-1,indent:c,source:"\n"}),Object.keys(a)))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:"block-scalar",indent:c,props:f,source:e})}}(a,l);break;case'"':i(a,l,"double-quoted-scalar");break;case"'":i(a,l,"single-quoted-scalar");break;default:i(a,l,"scalar")}}},25449,(a,b,c)=>{"use strict";function d(a){switch(a.type){case"block-scalar":{let b="";for(let c of a.props)b+=d(c);return b+a.source}case"block-map":case"block-seq":{let b="";for(let c of a.items)b+=e(c);return b}case"flow-collection":{let b=a.start.source;for(let c of a.items)b+=e(c);for(let c of a.end)b+=c.source;return b}case"document":{let b=e(a);if(a.end)for(let c of a.end)b+=c.source;return b}default:{let b=a.source;if("end"in a&&a.end)for(let c of a.end)b+=c.source;return b}}}function e({start:a,key:b,sep:c,value:f}){let g="";for(let b of a)g+=b.source;if(b&&(g+=d(b)),c)for(let a of c)g+=a.source;return f&&(g+=d(f)),g}c.stringify=a=>"type"in a?d(a):e(a)},2135,(a,b,c)=>{"use strict";let d=Symbol("break visit"),e=Symbol("skip children"),f=Symbol("remove item");function g(a,b){"type"in a&&"document"===a.type&&(a={start:a.start,value:a.value}),function a(b,c,e){let g=e(c,b);if("symbol"==typeof g)return g;for(let h of["key","value"]){let i=c[h];if(i&&"items"in i){for(let c=0;c<i.items.length;++c){let g=a(Object.freeze(b.concat([[h,c]])),i.items[c],e);if("number"==typeof g)c=g-1;else{if(g===d)return d;g===f&&(i.items.splice(c,1),c-=1)}}"function"==typeof g&&"key"===h&&(g=g(c,b))}}return"function"==typeof g?g(c,b):g}(Object.freeze([]),a,b)}g.BREAK=d,g.SKIP=e,g.REMOVE=f,g.itemAtPath=(a,b)=>{let c=a;for(let[a,d]of b){let b=c?.[a];if(!b||!("items"in b))return;c=b.items[d]}return c},g.parentCollection=(a,b)=>{let c=g.itemAtPath(a,b.slice(0,-1)),d=b[b.length-1][0],e=c?.[d];if(e&&"items"in e)return e;throw Error("Parent collection not found")},c.visit=g},2704,(a,b,c)=>{"use strict";var d=a.r(86888),e=a.r(25449),f=a.r(2135);c.createScalarToken=d.createScalarToken,c.resolveAsScalar=d.resolveAsScalar,c.setScalarValue=d.setScalarValue,c.stringify=e.stringify,c.visit=f.visit,c.BOM="\uFEFF",c.DOCUMENT="\x02",c.FLOW_END="\x18",c.SCALAR="\x1f",c.isCollection=a=>!!a&&"items"in a,c.isScalar=a=>!!a&&("scalar"===a.type||"single-quoted-scalar"===a.type||"double-quoted-scalar"===a.type||"block-scalar"===a.type),c.prettyToken=function(a){switch(a){case"\uFEFF":return"<BOM>";case"\x02":return"<DOC>";case"\x18":return"<FLOW_END>";case"\x1f":return"<SCALAR>";default:return JSON.stringify(a)}},c.tokenType=function(a){switch(a){case"\uFEFF":return"byte-order-mark";case"\x02":return"doc-mode";case"\x18":return"flow-error-end";case"\x1f":return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case"\n":case"\r\n":return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(a[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}},66326,(a,b,c)=>{"use strict";var d=a.r(2704);function e(a){switch(a){case void 0:case" ":case"\n":case"\r":case" ":return!0;default:return!1}}let f=new Set("0123456789ABCDEFabcdef"),g=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),h=new Set(",[]{}"),i=new Set(" ,[]{}\n\r "),j=a=>!a||i.has(a);c.Lexer=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(a,b=!1){if(a){if("string"!=typeof a)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+a:a,this.lineEndPos=null}this.atEnd=!b;let c=this.next??"stream";for(;c&&(b||this.hasChars(1));)c=yield*this.parseNext(c)}atLineEnd(){let a=this.pos,b=this.buffer[a];for(;" "===b||" "===b;)b=this.buffer[++a];return!b||"#"===b||"\n"===b||"\r"===b&&"\n"===this.buffer[a+1]}charAt(a){return this.buffer[this.pos+a]}continueScalar(a){let b=this.buffer[a];if(this.indentNext>0){let c=0;for(;" "===b;)b=this.buffer[++c+a];if("\r"===b){let b=this.buffer[c+a+1];if("\n"===b||!b&&!this.atEnd)return a+c+1}return"\n"!==b&&!(c>=this.indentNext)&&(b||this.atEnd)?-1:a+c}if("-"===b||"."===b){let b=this.buffer.substr(a,3);if(("---"===b||"..."===b)&&e(this.buffer[a+3]))return -1}return a}getLine(){let a=this.lineEndPos;return(("number"!=typeof a||-1!==a&&a<this.pos)&&(a=this.buffer.indexOf("\n",this.pos),this.lineEndPos=a),-1===a)?this.atEnd?this.buffer.substring(this.pos):null:("\r"===this.buffer[a-1]&&(a-=1),this.buffer.substring(this.pos,a))}hasChars(a){return this.pos+a<=this.buffer.length}setNext(a){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=a,null}peek(a){return this.buffer.substr(this.pos,a)}*parseNext(a){switch(a){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let a=this.getLine();if(null===a)return this.setNext("stream");if(a[0]===d.BOM&&(yield*this.pushCount(1),a=a.substring(1)),"%"===a[0]){let b=a.length,c=a.indexOf("#");for(;-1!==c;){let d=a[c-1];if(" "===d||" "===d){b=c-1;break}c=a.indexOf("#",c+1)}for(;;){let c=a[b-1];if(" "===c||" "===c)b-=1;else break}let d=(yield*this.pushCount(b))+(yield*this.pushSpaces(!0));return yield*this.pushCount(a.length-d),this.pushNewline(),"stream"}if(this.atLineEnd()){let b=yield*this.pushSpaces(!0);return yield*this.pushCount(a.length-b),yield*this.pushNewline(),"stream"}return yield d.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let a=this.charAt(0);if(!a&&!this.atEnd)return this.setNext("line-start");if("-"===a||"."===a){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let a=this.peek(3);if(("---"===a||"..."===a)&&e(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,"---"===a?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!e(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[a,b]=this.peek(2);if(!b&&!this.atEnd)return this.setNext("block-start");if(("-"===a||"?"===a||":"===a)&&e(b)){let a=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=a,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let a=this.getLine();if(null===a)return this.setNext("doc");let b=yield*this.pushIndicators();switch(a[b]){case"#":yield*this.pushCount(a.length-b);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(j),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return b+=yield*this.parseBlockScalarHeader(),b+=yield*this.pushSpaces(!0),yield*this.pushCount(a.length-b),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let a,b,c=-1;do(a=yield*this.pushNewline())>0?(b=yield*this.pushSpaces(!1),this.indentValue=c=b):b=0,b+=yield*this.pushSpaces(!0);while(a+b>0)let f=this.getLine();if(null===f)return this.setNext("flow");if((-1!==c&&c<this.indentNext&&"#"!==f[0]||0===c&&(f.startsWith("---")||f.startsWith("..."))&&e(f[3]))&&(c!==this.indentNext-1||1!==this.flowLevel||"]"!==f[0]&&"}"!==f[0]))return this.flowLevel=0,yield d.FLOW_END,yield*this.parseLineStart();let g=0;for(;","===f[g];)g+=yield*this.pushCount(1),g+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(f[g+=yield*this.pushIndicators()]){case void 0:return"flow";case"#":return yield*this.pushCount(f.length-g),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(j),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let a=this.charAt(1);if(this.flowKey||e(a)||","===a)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let a=this.charAt(0),b=this.buffer.indexOf(a,this.pos+1);if("'"===a)for(;-1!==b&&"'"===this.buffer[b+1];)b=this.buffer.indexOf("'",b+2);else for(;-1!==b;){let a=0;for(;"\\"===this.buffer[b-1-a];)a+=1;if(a%2==0)break;b=this.buffer.indexOf('"',b+1)}let c=this.buffer.substring(0,b),d=c.indexOf("\n",this.pos);if(-1!==d){for(;-1!==d;){let a=this.continueScalar(d+1);if(-1===a)break;d=c.indexOf("\n",a)}-1!==d&&(b=d-("\r"===c[d-1]?2:1))}if(-1===b){if(!this.atEnd)return this.setNext("quoted-scalar");b=this.buffer.length}return yield*this.pushToIndex(b+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let a=this.pos;for(;;){let b=this.buffer[++a];if("+"===b)this.blockScalarKeep=!0;else if(b>"0"&&b<="9")this.blockScalarIndent=Number(b)-1;else if("-"!==b)break}return yield*this.pushUntil(a=>e(a)||"#"===a)}*parseBlockScalar(){let a,b=this.pos-1,c=0;a:for(let d=this.pos;a=this.buffer[d];++d)switch(a){case" ":c+=1;break;case"\n":b=d,c=0;break;case"\r":{let a=this.buffer[d+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if("\n"===a)break}default:break a}if(!a&&!this.atEnd)return this.setNext("block-scalar");if(c>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=c:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{let a=this.continueScalar(b+1);if(-1===a)break;b=this.buffer.indexOf("\n",a)}while(-1!==b)if(-1===b){if(!this.atEnd)return this.setNext("block-scalar");b=this.buffer.length}}let e=b+1;for(a=this.buffer[e];" "===a;)a=this.buffer[++e];if(" "===a){for(;" "===a||" "===a||"\r"===a||"\n"===a;)a=this.buffer[++e];b=e-1}else if(!this.blockScalarKeep)for(;;){let a=b-1,d=this.buffer[a];"\r"===d&&(d=this.buffer[--a]);let e=a;for(;" "===d;)d=this.buffer[--a];if("\n"===d&&a>=this.pos&&a+1+c>e)b=a;else break}return yield d.SCALAR,yield*this.pushToIndex(b+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let a,b=this.flowLevel>0,c=this.pos-1,f=this.pos-1;for(;a=this.buffer[++f];)if(":"===a){let a=this.buffer[f+1];if(e(a)||b&&h.has(a))break;c=f}else if(e(a)){let d=this.buffer[f+1];if("\r"===a&&("\n"===d?(f+=1,a="\n",d=this.buffer[f+1]):c=f),"#"===d||b&&h.has(d))break;if("\n"===a){let a=this.continueScalar(f+1);if(-1===a)break;f=Math.max(f,a-2)}}else{if(b&&h.has(a))break;c=f}return a||this.atEnd?(yield d.SCALAR,yield*this.pushToIndex(c+1,!0),b?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(a){return a>0?(yield this.buffer.substr(this.pos,a),this.pos+=a,a):0}*pushToIndex(a,b){let c=this.buffer.slice(this.pos,a);return c?(yield c,this.pos+=c.length,c.length):(b&&(yield""),0)}*pushIndicators(){let a=0;for(;;){switch(this.charAt(0)){case"!":a+=yield*this.pushTag(),a+=yield*this.pushSpaces(!0);continue;case"&":a+=yield*this.pushUntil(j),a+=yield*this.pushSpaces(!0);continue;case"-":case"?":case":":{let b=this.flowLevel>0,c=this.charAt(1);if(e(c)||b&&h.has(c)){b?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,a+=yield*this.pushCount(1),a+=yield*this.pushSpaces(!0);continue}}}break}return a}*pushTag(){if("<"===this.charAt(1)){let a=this.pos+2,b=this.buffer[a];for(;!e(b)&&">"!==b;)b=this.buffer[++a];return yield*this.pushToIndex(">"===b?a+1:a,!1)}{let a=this.pos+1,b=this.buffer[a];for(;b;)if(g.has(b))b=this.buffer[++a];else if("%"===b&&f.has(this.buffer[a+1])&&f.has(this.buffer[a+2]))b=this.buffer[a+=3];else break;return yield*this.pushToIndex(a,!1)}}*pushNewline(){let a=this.buffer[this.pos];return"\n"===a?yield*this.pushCount(1):"\r"===a&&"\n"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(a){let b,c=this.pos-1;do b=this.buffer[++c];while(" "===b||a&&" "===b)let d=c-this.pos;return d>0&&(yield this.buffer.substr(this.pos,d),this.pos=c),d}*pushUntil(a){let b=this.pos,c=this.buffer[b];for(;!a(c);)c=this.buffer[++b];return yield*this.pushToIndex(b,!1)}}},46987,(a,b,c)=>{"use strict";c.LineCounter=class{constructor(){this.lineStarts=[],this.addNewLine=a=>this.lineStarts.push(a),this.linePos=a=>{let b=0,c=this.lineStarts.length;for(;b<c;){let d=b+c>>1;this.lineStarts[d]<a?b=d+1:c=d}if(this.lineStarts[b]===a)return{line:b+1,col:1};if(0===b)return{line:0,col:a};let d=this.lineStarts[b-1];return{line:b,col:a-d+1}}}}},9575,(a,b,c)=>{"use strict";var d=a.r(5365),e=a.r(2704),f=a.r(66326);function g(a,b){for(let c=0;c<a.length;++c)if(a[c].type===b)return!0;return!1}function h(a){for(let b=0;b<a.length;++b)switch(a[b].type){case"space":case"comment":case"newline":break;default:return b}return -1}function i(a){switch(a?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function j(a){switch(a.type){case"document":return a.start;case"block-map":{let b=a.items[a.items.length-1];return b.sep??b.start}case"block-seq":return a.items[a.items.length-1].start;default:return[]}}function k(a){if(0===a.length)return[];let b=a.length;a:for(;--b>=0;)switch(a[b].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break a}for(;a[++b]?.type==="space";);return a.splice(b,a.length)}function l(a,b){if(b.length<1e5)Array.prototype.push.apply(a,b);else for(let c=0;c<b.length;++c)a.push(b[c])}function m(a){if("flow-seq-start"===a.start.type)for(let b of a.items)!b.sep||b.value||g(b.start,"explicit-key-ind")||g(b.sep,"map-value-ind")||(b.key&&(b.value=b.key),delete b.key,i(b.value)?b.value.end?l(b.value.end,b.sep):b.value.end=b.sep:l(b.start,b.sep),delete b.sep)}c.Parser=class{constructor(a){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new f.Lexer,this.onNewLine=a}*parse(a,b=!1){for(let c of(this.onNewLine&&0===this.offset&&this.onNewLine(0),this.lexer.lex(a,b)))yield*this.next(c);b||(yield*this.end())}*next(a){if(this.source=a,d.env.LOG_TOKENS&&console.log("|",e.prettyToken(a)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=a.length;return}let b=e.tokenType(a);if(b)if("scalar"===b)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=b,yield*this.step(),b){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+a.length);break;case"space":this.atNewLine&&" "===a[0]&&(this.indent+=a.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=a.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=a.length}else{let b=`Not a YAML token: ${a}`;yield*this.pop({type:"error",offset:this.offset,message:b,source:a}),this.offset+=a.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let a=this.peek(1);if("doc-end"===this.type&&a?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!a)return yield*this.stream();switch(a.type){case"document":return yield*this.document(a);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(a);case"block-scalar":return yield*this.blockScalar(a);case"block-map":return yield*this.blockMap(a);case"block-seq":return yield*this.blockSequence(a);case"flow-collection":return yield*this.flowCollection(a);case"doc-end":return yield*this.documentEnd(a)}yield*this.pop()}peek(a){return this.stack[this.stack.length-a]}*pop(a){let b=a??this.stack.pop();if(b)if(0===this.stack.length)yield b;else{let a=this.peek(1);switch("block-scalar"===b.type?b.indent="indent"in a?a.indent:0:"flow-collection"===b.type&&"document"===a.type&&(b.indent=0),"flow-collection"===b.type&&m(b),a.type){case"document":a.value=b;break;case"block-scalar":a.props.push(b);break;case"block-map":{let c=a.items[a.items.length-1];if(c.value){a.items.push({start:[],key:b,sep:[]}),this.onKeyLine=!0;return}if(c.sep)c.value=b;else{Object.assign(c,{key:b,sep:[]}),this.onKeyLine=!c.explicitKey;return}break}case"block-seq":{let c=a.items[a.items.length-1];c.value?a.items.push({start:[],value:b}):c.value=b;break}case"flow-collection":{let c=a.items[a.items.length-1];!c||c.value?a.items.push({start:[],key:b,sep:[]}):c.sep?c.value=b:Object.assign(c,{key:b,sep:[]});return}default:yield*this.pop(),yield*this.pop(b)}if(("document"===a.type||"block-map"===a.type||"block-seq"===a.type)&&("block-map"===b.type||"block-seq"===b.type)){let c=b.items[b.items.length-1];c&&!c.sep&&!c.value&&c.start.length>0&&-1===h(c.start)&&(0===b.indent||c.start.every(a=>"comment"!==a.type||a.indent<b.indent))&&("document"===a.type?a.end=c.start:a.items.push({start:c.start}),b.items.splice(-1,1))}}else yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let a={type:"document",offset:this.offset,start:[]};"doc-start"===this.type&&a.start.push(this.sourceToken),this.stack.push(a);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(a){if(a.value)return yield*this.lineEnd(a);switch(this.type){case"doc-start":-1!==h(a.start)?(yield*this.pop(),yield*this.step()):a.start.push(this.sourceToken);return;case"anchor":case"tag":case"space":case"comment":case"newline":a.start.push(this.sourceToken);return}let b=this.startBlockValue(a);b?this.stack.push(b):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(a){if("map-value-ind"===this.type){let b,c=k(j(this.peek(2)));a.end?((b=a.end).push(this.sourceToken),delete a.end):b=[this.sourceToken];let d={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:b}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=d}else yield*this.lineEnd(a)}*blockScalar(a){switch(this.type){case"space":case"comment":case"newline":a.props.push(this.sourceToken);return;case"scalar":if(a.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else if(b.sep)b.sep.push(this.sourceToken);else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return}if(this.indent>=a.indent){let c=!this.onKeyLine&&this.indent===a.indent,d=c&&(b.sep||b.explicitKey)&&"seq-item-ind"!==this.type,e=[];if(d&&b.sep&&!b.value){let c=[];for(let d=0;d<b.sep.length;++d){let e=b.sep[d];switch(e.type){case"newline":c.push(d);break;case"space":break;case"comment":e.indent>a.indent&&(c.length=0);break;default:c.length=0}}c.length>=2&&(e=b.sep.splice(c[1]))}switch(this.type){case"anchor":case"tag":d||b.value?(e.push(this.sourceToken),a.items.push({start:e}),this.onKeyLine=!0):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"explicit-key-ind":b.sep||b.explicitKey?d||b.value?(e.push(this.sourceToken),a.items.push({start:e,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(b.start.push(this.sourceToken),b.explicitKey=!0),this.onKeyLine=!0;return;case"map-value-ind":if(b.explicitKey)if(b.sep)if(b.value)a.items.push({start:[],key:null,sep:[this.sourceToken]});else if(g(b.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]});else if(i(b.key)&&!g(b.sep,"newline")){let a=k(b.start),c=b.key,d=b.sep;d.push(this.sourceToken),delete b.key,delete b.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:c,sep:d}]})}else e.length>0?b.sep=b.sep.concat(e,this.sourceToken):b.sep.push(this.sourceToken);else if(g(b.start,"newline"))Object.assign(b,{key:null,sep:[this.sourceToken]});else{let a=k(b.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else b.sep?b.value||d?a.items.push({start:e,key:null,sep:[this.sourceToken]}):g(b.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);d||b.value?(a.items.push({start:e,key:c,sep:[]}),this.onKeyLine=!0):b.sep?this.stack.push(c):(Object.assign(b,{key:c,sep:[]}),this.onKeyLine=!0);return}default:{let d=this.startBlockValue(a);if(d){if("block-seq"===d.type){if(!b.explicitKey&&b.sep&&!g(b.sep,"newline"))return void(yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}))}else c&&a.items.push({start:e});this.stack.push(d);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return;case"anchor":case"tag":if(b.value||this.indent<=a.indent)break;b.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==a.indent)break;b.value||g(b.start,"seq-item-ind")?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return}if(this.indent>a.indent){let b=this.startBlockValue(a);if(b)return void this.stack.push(b)}yield*this.pop(),yield*this.step()}*flowCollection(a){let b=a.items[a.items.length-1];if("flow-error-end"===this.type){let a;do yield*this.pop(),a=this.peek(1);while(a?.type==="flow-collection")}else if(0===a.end.length){switch(this.type){case"comma":case"explicit-key-ind":!b||b.sep?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return;case"map-value-ind":!b||b.value?a.items.push({start:[],key:null,sep:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!b||b.value?a.items.push({start:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);!b||b.value?a.items.push({start:[],key:c,sep:[]}):b.sep?this.stack.push(c):Object.assign(b,{key:c,sep:[]});return}case"flow-map-end":case"flow-seq-end":a.end.push(this.sourceToken);return}let c=this.startBlockValue(a);c?this.stack.push(c):(yield*this.pop(),yield*this.step())}else{let b=this.peek(2);if("block-map"!==b.type||("map-value-ind"!==this.type||b.indent!==a.indent)&&("newline"!==this.type||b.items[b.items.length-1].sep))if("map-value-ind"===this.type&&"flow-collection"!==b.type){let c=k(j(b));m(a);let d=a.end.splice(1,a.end.length);d.push(this.sourceToken);let e={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:d}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=e}else yield*this.lineEnd(a);else yield*this.pop(),yield*this.step()}}flowScalar(a){if(this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}return{type:a,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(a){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let b=k(j(a));return b.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let b=k(j(a));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(a,b){return"comment"===this.type&&!(this.indent<=b)&&a.every(a=>"newline"===a.type||"space"===a.type)}*documentEnd(a){"doc-mode"!==this.type&&(a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(a){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}}},5013,(a,b,c)=>{"use strict";var d=a.r(19662),e=a.r(85774),f=a.r(25717),g=a.r(18114),h=a.r(27267),i=a.r(46987),j=a.r(9575);function k(a){let b=!1!==a.prettyErrors;return{lineCounter:a.lineCounter||b&&new i.LineCounter||null,prettyErrors:b}}function l(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=null;for(let b of h.compose(g.parse(a),!0,a.length))if(i){if("silent"!==i.options.logLevel){i.errors.push(new f.YAMLParseError(b.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}}else i=b;return e&&c&&(i.errors.forEach(f.prettifyError(a,c)),i.warnings.forEach(f.prettifyError(a,c))),i}c.parse=function(a,b,c){let d;"function"==typeof b?d=b:void 0===c&&b&&"object"==typeof b&&(c=b);let e=l(a,c);if(!e)return null;if(e.warnings.forEach(a=>g.warn(e.options.logLevel,a)),e.errors.length>0)if("silent"!==e.options.logLevel)throw e.errors[0];else e.errors=[];return e.toJS(Object.assign({reviver:d},c))},c.parseAllDocuments=function(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=Array.from(h.compose(g.parse(a)));if(e&&c)for(let b of i)b.errors.forEach(f.prettifyError(a,c)),b.warnings.forEach(f.prettifyError(a,c));return i.length>0?i:Object.assign([],{empty:!0},h.streamInfo())},c.parseDocument=l,c.stringify=function(a,b,c){let d=null;if("function"==typeof b||Array.isArray(b)?d=b:void 0===c&&b&&(c=b),"string"==typeof c&&(c=c.length),"number"==typeof c){let a=Math.round(c);c=a<1?void 0:a>8?{indent:8}:{indent:a}}if(void 0===a){let{keepUndefined:a}=c??b??{};if(!a)return}return h.isDocument(a)&&!d?a.toString(c):new e.Document(a,d,c).toString(c)}},22650,(a,b,c)=>{"use strict";var d=a.r(19662),e=a.r(85774),f=a.r(98027),g=a.r(25717),h=a.r(21562),i=a.r(27267),j=a.r(17602),k=a.r(27853),l=a.r(47544),m=a.r(7621),n=a.r(2704),o=a.r(66326),p=a.r(46987),q=a.r(9575),r=a.r(5013),s=a.r(85927);c.Composer=d.Composer,c.Document=e.Document,c.Schema=f.Schema,c.YAMLError=g.YAMLError,c.YAMLParseError=g.YAMLParseError,c.YAMLWarning=g.YAMLWarning,c.Alias=h.Alias,c.isAlias=i.isAlias,c.isCollection=i.isCollection,c.isDocument=i.isDocument,c.isMap=i.isMap,c.isNode=i.isNode,c.isPair=i.isPair,c.isScalar=i.isScalar,c.isSeq=i.isSeq,c.Pair=j.Pair,c.Scalar=k.Scalar,c.YAMLMap=l.YAMLMap,c.YAMLSeq=m.YAMLSeq,c.CST=n,c.Lexer=o.Lexer,c.LineCounter=p.LineCounter,c.Parser=q.Parser,c.parse=r.parse,c.parseAllDocuments=r.parseAllDocuments,c.parseDocument=r.parseDocument,c.stringify=r.stringify,c.visit=s.visit,c.visitAsync=s.visitAsync},92509,(a,b,c)=>{b.exports=a.x("url",()=>require("url"))},64338,a=>{"use strict";var b=a.i(36359),c=a.i(7292),d=a.i(37936),e=a.i(2157),f=a.i(66680),g=a.i(50227);a.i(8674),a.i(1144);var h=a.i(75818),i=a.i(13095);async function j(){return function(a=Date.now()){let b,c,d=(c=process.env.FAILPROOFAI_STATE_DIR)?(0,g.resolve)(c,"sessions"):(0,h.sessionPauseDir)();if(!(0,e.existsSync)(d))return[];let f=[];try{b=(0,e.readdirSync)(d)}catch{return[]}for(let c of b)if(c.endsWith(".json"))try{let b=function(a){if(!a||"object"!=typeof a||1!==a.schemaVersion||"string"!=typeof a.sessionId||0===a.sessionId.length||!Number.isFinite(a.pausedAt)||!Number.isFinite(a.expiresAt))return null;let b=a.pausedAt,c=Number.isFinite(a.firstPausedAt)?a.firstPausedAt:b;return{schemaVersion:1,sessionId:a.sessionId,pausedAt:b,firstPausedAt:c,expiresAt:Math.min(a.expiresAt,c+288e5),setBy:"string"==typeof a.setBy?a.setBy:"unknown",..."string"==typeof a.cwd?{cwd:a.cwd}:{}}}(JSON.parse((0,e.readFileSync)((0,g.join)(d,c),"utf8")));if(!b||b.expiresAt<=a)continue;let{schemaVersion:h,...i}=b;f.push(i)}catch{}return f.sort((a,b)=>b.pausedAt-a.pausedAt)}()}(0,i.ensureServerEntryExports)([j]),(0,d.registerServerReference)(j,"003c418aae519c93729d073824fef5371d70482c90",null);var k=a.i(60526),l=a.i(10695);function m(a){if(!(0,e.existsSync)(a))return{};try{let b=(0,e.readFileSync)(a,"utf8");return JSON.parse(b)}catch(b){return(0,l.hookLogWarn)(`failed to parse config at ${a}: ${b instanceof Error?b.message:String(b)}`),{}}}function n(a){let b=(0,k.homedir)(),c=(0,g.resolve)(a);for(;c!==b;){let a=(0,g.resolve)(c,".failproofai");try{if((0,e.statSync)(a).isDirectory())return c}catch{}let b=(0,g.dirname)(c);if(b===c)break;c=b}return(0,g.resolve)(a)}function o(){return(0,h.globalPolicyConfigFile)()}function p(){let a=o();if(!(0,e.existsSync)(a))return{enabledPolicies:[]};try{let b=(0,e.readFileSync)(a,"utf8");return JSON.parse(b)}catch(b){return(0,l.hookLogWarn)(`failed to parse config at ${a}: ${b instanceof Error?b.message:String(b)}`),{enabledPolicies:[]}}}function q(a){let b=o(),c=(0,g.dirname)(b);(0,e.existsSync)(c)||(0,e.mkdirSync)(c,{recursive:!0}),(0,e.writeFileSync)(b,JSON.stringify(a,null,2)+"\n","utf8")}function r(a,b){switch(a){case"user":return(0,h.globalPolicyConfigFile)();case"project":return(0,g.resolve)(n(b??process.cwd()),".failproofai","policies-config.json");case"local":return(0,g.resolve)(n(b??process.cwd()),".failproofai","policies-config.local.json")}}function s(a,b){let c=r(a,b);if(!(0,e.existsSync)(c))return{enabledPolicies:[]};try{let a=(0,e.readFileSync)(c,"utf8");return JSON.parse(a)}catch(a){return(0,l.hookLogWarn)(`failed to parse config at ${c}: ${a instanceof Error?a.message:String(a)}`),{enabledPolicies:[]}}}function t(a,b,c){let d=r(b,c),f=(0,g.dirname)(d);(0,e.existsSync)(f)||(0,e.mkdirSync)(f,{recursive:!0}),(0,e.writeFileSync)(d,JSON.stringify(a,null,2)+"\n","utf8")}var u=a.i(74533);let v=["user","project","local"],w=["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],x=["session_start","pre_tool_use","permission_request","post_tool_use","user_prompt_submit","stop","subagent_start","pre_compact","post_compact","subagent_stop"],y={session_start:"SessionStart",pre_tool_use:"PreToolUse",permission_request:"PermissionRequest",post_tool_use:"PostToolUse",user_prompt_submit:"UserPromptSubmit",stop:"Stop",subagent_start:"SubagentStart",pre_compact:"PreCompact",post_compact:"PostCompact",subagent_stop:"SubagentStop"},z=["pre_tool_call","post_tool_call","on_session_start","on_session_end","subagent_stop"],A=["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PostToolUse","Stop","SubagentStop","PostToolUseFailure","ErrorOccurred","PreCompact","PermissionRequest","Notification"],B=["sessionStart","sessionEnd","beforeSubmitPrompt","preToolUse","postToolUse","stop","subagentStop"],C=["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","Notification","Stop","SubagentStop","PreCompact","SessionEnd"],D=["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","PermissionRequest","Stop","SessionEnd"],E=["PreToolUse","PostToolUse","PreInvocation","Stop"],F=["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","SessionEnd"],G=["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PermissionRequest","PermissionDenied","PostToolUse","PostToolUseFailure","Notification","SubagentStart","SubagentStop","TaskCreated","TaskCompleted","Stop","StopFailure","TeammateIdle","InstructionsLoaded","ConfigChange","CwdChanged","FileChanged","WorktreeCreate","WorktreeRemove","PreCompact","PostCompact","Elicitation","ElicitationResult","UserPromptExpansion","PostToolBatch","Setup"].filter(a=>"WorktreeCreate"!==a),H="__failproofai_hook__";var I=a.i(57764),J=a.i(22650),K=a.i(43600),L={get url(){return a.F("src/hooks/integrations.ts")},env:{DEV:!1,PROD:!0,MODE:"production",BASE_URL:"/",SSR:!0}};function M(a){return(0,e.existsSync)(a)?JSON.parse((0,e.readFileSync)(a,"utf8")):{}}function N(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0}),(0,e.writeFileSync)(a,JSON.stringify(b,null,2)+"\n","utf8")}function O(a){try{return(0,e.existsSync)(a)?(0,J.parseDocument)((0,e.readFileSync)(a,"utf8")):(0,J.parseDocument)("")}catch{return(0,J.parseDocument)("")}}function P(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0}),(0,e.writeFileSync)(a,b.toString(),"utf8")}function Q(a){if(!a||"object"!=typeof a)return!1;if(!0===a[H])return!0;let b="string"==typeof a.command?a.command:"";return b.includes("failproofai")&&b.includes("--hook")}function R(a){return"version"in a&&(delete a.version,!0)}function S(a){try{let b=`which ${a}`;return(0,u.execSync)(b,{encoding:"utf8",stdio:"pipe"}),!0}catch{return!1}}function T(a,b,c){let d=a.getSettingsPaths?.(b,c);return d&&d.length>0?d:[a.getSettingsPath(b,c)]}let U={id:"claude",displayName:"Claude Code",scopes:v,eventTypes:G,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".claude","settings.json");case"project":return(0,g.resolve)(c,".claude","settings.json");case"local":return(0,g.resolve)(c,".claude","settings.local.json")}},readSettings:a=>M(a),writeSettings(a,b){N(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b}`:`"${a}" --hook ${b}`,timeout:60,[H]:!0}),isFailproofaiHook:Q,writeHookEntries(a,b,c){a.hooks||(a.hooks={});let d=new Set(G);for(let b of Object.keys(a.hooks)){if(d.has(b))continue;let c=a.hooks[b];if(!Array.isArray(c))continue;let e=[];for(let a of c){if(!a||!Array.isArray(a.hooks)){a&&e.push(a);continue}let b=a.hooks.length;a.hooks=a.hooks.filter(a=>!Q(a)),0===a.hooks.length&&b>0||e.push(a)}a.hooks[b]=e,0===e.length&&delete a.hooks[b]}for(let d of G){let e=this.buildHookEntry(b,d,c);a.hooks[d]||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>Q(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!Q(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>Q(a)))return!0}}catch{}return!1},detectInstalled:()=>S("claude")||S("claude-code")};function V(a){if(!0===a[H])return!0;for(let b of["string"==typeof a.bash?a.bash:"","string"==typeof a.powershell?a.powershell:""])if(b.includes("failproofai")&&b.includes("--hook"))return!0;return!1}let W="./plugins/failproofai.mjs";function X(a){return(0,g.resolve)((0,g.dirname)(a),"plugins","failproofai.mjs")}function Y(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,g.resolve)(a,"pi-extension"):(0,g.resolve)((0,I.fileURLToPath)(L.url),"..","..","..","pi-extension")}function Z(a){return"string"==typeof a&&(!!/(?:^|\/)pi-extension\/?$/.test(a)||a.includes("pi-extension")&&a.includes("failproofai"))}let $="failproofai";function _(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,g.resolve)(a,"openclaw-plugin"):(0,g.resolve)((0,I.fileURLToPath)(L.url),"..","..","..","openclaw-plugin")}function aa(a){return"string"==typeof a&&(/(?:^|\/)openclaw-plugin\/?$/.test(a)||a.includes("openclaw-plugin")&&a.includes("failproofai"))}let ab="failproofai",ac=new Set(["PreToolUse","PostToolUse"]);function ad(a){if(!a||"object"!=typeof a)return!1;let b=a.command;return"string"==typeof b&&b.includes("failproofai")&&b.includes("--cli goose")}let ae={claude:U,codex:{id:"codex",displayName:"OpenAI Codex",scopes:["user","project"],eventTypes:x,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".codex","hooks.json");case"project":case"local":return(0,g.resolve)(c,".codex","hooks.json")}},readSettings:a=>M(a),writeSettings(a,b){N(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli codex`:`"${a}" --hook ${b} --cli codex`,timeout:60,[H]:!0}),isFailproofaiHook:Q,writeHookEntries(a,b,c){for(let d of(R(a),a.hooks||(a.hooks={}),x)){let e=y[d],f=this.buildHookEntry(b,d,c);a.hooks[e]||(a.hooks[e]=[]);let g=a.hooks[e],h=!1;for(let a of g){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>Q(a));if(b>=0){a.hooks[b]=f,h=!0;break}}h||g.push({hooks:[f]})}},removeHooksFromFile(a){let b=this.readSettings(a),c=R(b);if(!b.hooks)return c&&this.writeSettings(a,b),0;let d=0;for(let a of Object.keys(b.hooks)){let c=b.hooks[a];if(Array.isArray(c)){for(let a=c.length-1;a>=0;a--){let b=c[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!Q(a)),d+=e-b.hooks.length,0===b.hooks.length&&c.splice(a,1)}0===c.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,(d>0||c)&&this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>Q(a)))return!0}}catch{}return!1},detectInstalled:()=>S("codex")},copilot:{id:"copilot",displayName:"GitHub Copilot",scopes:["user","project"],eventTypes:A,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".copilot","hooks","failproofai.json");case"project":case"local":return(0,g.resolve)(c,".github","hooks","failproofai.json")}},readSettings(a){let b=M(a);return void 0===b.version&&(b.version=1),b},writeSettings(a,b){N(a,b)},buildHookEntry(a,b,c){let d="project"===c?`npx -y failproofai --hook ${b} --cli copilot`:`"${a}" --hook ${b} --cli copilot`;return{type:"command",bash:d,powershell:d,timeoutSec:60,[H]:!0}},isFailproofaiHook:V,writeHookEntries(a,b,c){for(let d of(void 0===a.version&&(a.version=1),a.hooks||(a.hooks={}),A)){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=>V(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=>!V(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>V(a)))return!0}}catch{}return!1},detectInstalled:()=>S("copilot")},cursor:{id:"cursor",displayName:"Cursor Agent",scopes:["user","project"],eventTypes:B,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".cursor","hooks.json");case"project":case"local":return(0,g.resolve)(c,".cursor","hooks.json")}},readSettings(a){let b=M(a);return void 0===b.version&&(b.version=1),b},writeSettings(a,b){N(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli cursor`:`"${a}" --hook ${b} --cli cursor`,timeout:60,[H]:!0}),isFailproofaiHook:Q,writeHookEntries(a,b,c){for(let d of(void 0===a.version&&(a.version=1),a.hooks||(a.hooks={}),B)){let e=this.buildHookEntry(b,d,c),f=a.hooks[d],g=f??[];f||(a.hooks[d]=g);let h=g.findIndex(a=>Q(a));h>=0?g[h]=e:g.push(e)}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(!Array.isArray(d))continue;let e=d.length,f=d.filter(a=>!Q(a));c+=e-f.length,0===f.length?delete b.hooks[a]:b.hooks[a]=f}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)&&b.some(a=>Q(a)))return!0}catch{}return!1},detectInstalled:()=>S("cursor-agent")||S("agent")},opencode:{id:"opencode",displayName:"OpenCode",scopes:["user","project"],eventTypes:["tool.execute.before","tool.execute.after","session.created","session.deleted","session.idle","message.updated","permission.ask"],getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".config","opencode","opencode.json");case"project":case"local":return(0,g.resolve)(c,".opencode","opencode.json")}},readSettings:a=>M(a),writeSettings(a,b){N(a,b)},buildHookEntry(a,b,c){if("user"===c){let a=(0,g.resolve)((0,k.homedir)(),".config","opencode","plugins","failproofai.mjs");return{spec:`file://${a}`,[H]:!0}}return{spec:W,[H]:!0}},isFailproofaiHook:a=>"string"==typeof a?a.includes("failproofai.mjs"):!!Array.isArray(a)&&"string"==typeof a[0]&&a[0].includes("failproofai.mjs"),writeHookEntries(a,b,c){let d,f,h=c??"project",i=X("user"===h?(0,g.resolve)((0,k.homedir)(),".config","opencode","opencode.json"):(0,g.resolve)(process.cwd(),".opencode","opencode.json"));(0,e.mkdirSync)((0,g.dirname)(i),{recursive:!0}),(0,e.writeFileSync)(i,(f=(d="project"===h)?'""':JSON.stringify(b),`// AUTO-GENERATED by failproofai. ${H}
|
|
25
|
+
${b.comment}`:b.comment}this.doc.range[2]=b.offset;break}default:this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",`Unsupported token ${a.type}`))}}*end(a=!1,b=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(a){let a=Object.assign({_directives:this.directives},this.options),c=new f.Document(void 0,a);this.atDirectives&&this.onError(b,"MISSING_CHAR","Missing directives-end indicator line"),c.range=[0,b,b],this.decorate(c,!1),yield c}}}},86888,(a,b,c)=>{"use strict";var d=a.r(71014),e=a.r(21525),f=a.r(25717),g=a.r(88583);function h(a,b){if(b)for(let c of b)switch(c.type){case"space":case"comment":a.push(c);break;case"newline":return a.push(c),!0}return!1}function i(a,b,c){switch(a.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":a.type=c,a.source=b;break;case"block-scalar":{let d=a.props.slice(1),e=b.length;for(let b of("block-scalar-header"===a.props[0].type&&(e-=a.props[0].source.length),d))b.offset+=e;delete a.props,Object.assign(a,{type:c,source:b,end:d});break}case"block-map":case"block-seq":{let d={type:"newline",offset:a.offset+b.length,indent:a.indent,source:"\n"};delete a.items,Object.assign(a,{type:c,source:b,end:[d]});break}default:{let d="indent"in a?a.indent:-1,e="end"in a&&Array.isArray(a.end)?a.end.filter(a=>"space"===a.type||"comment"===a.type||"newline"===a.type):[];for(let b of Object.keys(a))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:c,indent:d,source:b,end:e})}}}c.createScalarToken=function(a,b){let{implicitKey:c=!1,indent:d,inFlow:e=!1,offset:f=-1,type:i="PLAIN"}=b,j=g.stringifyString({type:i,value:a},{implicitKey:c,indent:d>0?" ".repeat(d):"",inFlow:e,options:{blockQuote:!0,lineWidth:-1}}),k=b.end??[{type:"newline",offset:-1,indent:d,source:"\n"}];switch(j[0]){case"|":case">":{let a=j.indexOf("\n"),b=j.substring(0,a),c=j.substring(a+1)+"\n",e=[{type:"block-scalar-header",offset:f,indent:d,source:b}];return h(e,k)||e.push({type:"newline",offset:-1,indent:d,source:"\n"}),{type:"block-scalar",offset:f,indent:d,props:e,source:c}}case'"':return{type:"double-quoted-scalar",offset:f,indent:d,source:j,end:k};case"'":return{type:"single-quoted-scalar",offset:f,indent:d,source:j,end:k};default:return{type:"scalar",offset:f,indent:d,source:j,end:k}}},c.resolveAsScalar=function(a,b=!0,c){if(a){let g=(a,b,d)=>{let e="number"==typeof a?a:Array.isArray(a)?a[0]:a.offset;if(c)c(e,b,d);else throw new f.YAMLParseError([e,e+1],b,d)};switch(a.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return e.resolveFlowScalar(a,b,g);case"block-scalar":return d.resolveBlockScalar({options:{strict:b}},a,g)}}return null},c.setScalarValue=function(a,b,c={}){let{afterKey:d=!1,implicitKey:e=!1,inFlow:f=!1,type:j}=c,k="indent"in a?a.indent:null;if(d&&"number"==typeof k&&(k+=2),!j)switch(a.type){case"single-quoted-scalar":j="QUOTE_SINGLE";break;case"double-quoted-scalar":j="QUOTE_DOUBLE";break;case"block-scalar":{let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");j=">"===b.source[0]?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:j="PLAIN"}let l=g.stringifyString({type:j,value:b},{implicitKey:e||null===k,indent:null!==k&&k>0?" ".repeat(k):"",inFlow:f,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":!function(a,b){let c=b.indexOf("\n"),d=b.substring(0,c),e=b.substring(c+1)+"\n";if("block-scalar"===a.type){let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");b.source=d,a.source=e}else{let{offset:b}=a,c="indent"in a?a.indent:-1,f=[{type:"block-scalar-header",offset:b,indent:c,source:d}];for(let b of(h(f,"end"in a?a.end:void 0)||f.push({type:"newline",offset:-1,indent:c,source:"\n"}),Object.keys(a)))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:"block-scalar",indent:c,props:f,source:e})}}(a,l);break;case'"':i(a,l,"double-quoted-scalar");break;case"'":i(a,l,"single-quoted-scalar");break;default:i(a,l,"scalar")}}},25449,(a,b,c)=>{"use strict";function d(a){switch(a.type){case"block-scalar":{let b="";for(let c of a.props)b+=d(c);return b+a.source}case"block-map":case"block-seq":{let b="";for(let c of a.items)b+=e(c);return b}case"flow-collection":{let b=a.start.source;for(let c of a.items)b+=e(c);for(let c of a.end)b+=c.source;return b}case"document":{let b=e(a);if(a.end)for(let c of a.end)b+=c.source;return b}default:{let b=a.source;if("end"in a&&a.end)for(let c of a.end)b+=c.source;return b}}}function e({start:a,key:b,sep:c,value:f}){let g="";for(let b of a)g+=b.source;if(b&&(g+=d(b)),c)for(let a of c)g+=a.source;return f&&(g+=d(f)),g}c.stringify=a=>"type"in a?d(a):e(a)},2135,(a,b,c)=>{"use strict";let d=Symbol("break visit"),e=Symbol("skip children"),f=Symbol("remove item");function g(a,b){"type"in a&&"document"===a.type&&(a={start:a.start,value:a.value}),function a(b,c,e){let g=e(c,b);if("symbol"==typeof g)return g;for(let h of["key","value"]){let i=c[h];if(i&&"items"in i){for(let c=0;c<i.items.length;++c){let g=a(Object.freeze(b.concat([[h,c]])),i.items[c],e);if("number"==typeof g)c=g-1;else{if(g===d)return d;g===f&&(i.items.splice(c,1),c-=1)}}"function"==typeof g&&"key"===h&&(g=g(c,b))}}return"function"==typeof g?g(c,b):g}(Object.freeze([]),a,b)}g.BREAK=d,g.SKIP=e,g.REMOVE=f,g.itemAtPath=(a,b)=>{let c=a;for(let[a,d]of b){let b=c?.[a];if(!b||!("items"in b))return;c=b.items[d]}return c},g.parentCollection=(a,b)=>{let c=g.itemAtPath(a,b.slice(0,-1)),d=b[b.length-1][0],e=c?.[d];if(e&&"items"in e)return e;throw Error("Parent collection not found")},c.visit=g},2704,(a,b,c)=>{"use strict";var d=a.r(86888),e=a.r(25449),f=a.r(2135);c.createScalarToken=d.createScalarToken,c.resolveAsScalar=d.resolveAsScalar,c.setScalarValue=d.setScalarValue,c.stringify=e.stringify,c.visit=f.visit,c.BOM="\uFEFF",c.DOCUMENT="\x02",c.FLOW_END="\x18",c.SCALAR="\x1f",c.isCollection=a=>!!a&&"items"in a,c.isScalar=a=>!!a&&("scalar"===a.type||"single-quoted-scalar"===a.type||"double-quoted-scalar"===a.type||"block-scalar"===a.type),c.prettyToken=function(a){switch(a){case"\uFEFF":return"<BOM>";case"\x02":return"<DOC>";case"\x18":return"<FLOW_END>";case"\x1f":return"<SCALAR>";default:return JSON.stringify(a)}},c.tokenType=function(a){switch(a){case"\uFEFF":return"byte-order-mark";case"\x02":return"doc-mode";case"\x18":return"flow-error-end";case"\x1f":return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case"\n":case"\r\n":return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(a[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}},66326,(a,b,c)=>{"use strict";var d=a.r(2704);function e(a){switch(a){case void 0:case" ":case"\n":case"\r":case" ":return!0;default:return!1}}let f=new Set("0123456789ABCDEFabcdef"),g=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),h=new Set(",[]{}"),i=new Set(" ,[]{}\n\r "),j=a=>!a||i.has(a);c.Lexer=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(a,b=!1){if(a){if("string"!=typeof a)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+a:a,this.lineEndPos=null}this.atEnd=!b;let c=this.next??"stream";for(;c&&(b||this.hasChars(1));)c=yield*this.parseNext(c)}atLineEnd(){let a=this.pos,b=this.buffer[a];for(;" "===b||" "===b;)b=this.buffer[++a];return!b||"#"===b||"\n"===b||"\r"===b&&"\n"===this.buffer[a+1]}charAt(a){return this.buffer[this.pos+a]}continueScalar(a){let b=this.buffer[a];if(this.indentNext>0){let c=0;for(;" "===b;)b=this.buffer[++c+a];if("\r"===b){let b=this.buffer[c+a+1];if("\n"===b||!b&&!this.atEnd)return a+c+1}return"\n"!==b&&!(c>=this.indentNext)&&(b||this.atEnd)?-1:a+c}if("-"===b||"."===b){let b=this.buffer.substr(a,3);if(("---"===b||"..."===b)&&e(this.buffer[a+3]))return -1}return a}getLine(){let a=this.lineEndPos;return(("number"!=typeof a||-1!==a&&a<this.pos)&&(a=this.buffer.indexOf("\n",this.pos),this.lineEndPos=a),-1===a)?this.atEnd?this.buffer.substring(this.pos):null:("\r"===this.buffer[a-1]&&(a-=1),this.buffer.substring(this.pos,a))}hasChars(a){return this.pos+a<=this.buffer.length}setNext(a){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=a,null}peek(a){return this.buffer.substr(this.pos,a)}*parseNext(a){switch(a){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let a=this.getLine();if(null===a)return this.setNext("stream");if(a[0]===d.BOM&&(yield*this.pushCount(1),a=a.substring(1)),"%"===a[0]){let b=a.length,c=a.indexOf("#");for(;-1!==c;){let d=a[c-1];if(" "===d||" "===d){b=c-1;break}c=a.indexOf("#",c+1)}for(;;){let c=a[b-1];if(" "===c||" "===c)b-=1;else break}let d=(yield*this.pushCount(b))+(yield*this.pushSpaces(!0));return yield*this.pushCount(a.length-d),this.pushNewline(),"stream"}if(this.atLineEnd()){let b=yield*this.pushSpaces(!0);return yield*this.pushCount(a.length-b),yield*this.pushNewline(),"stream"}return yield d.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let a=this.charAt(0);if(!a&&!this.atEnd)return this.setNext("line-start");if("-"===a||"."===a){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let a=this.peek(3);if(("---"===a||"..."===a)&&e(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,"---"===a?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!e(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[a,b]=this.peek(2);if(!b&&!this.atEnd)return this.setNext("block-start");if(("-"===a||"?"===a||":"===a)&&e(b)){let a=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=a,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let a=this.getLine();if(null===a)return this.setNext("doc");let b=yield*this.pushIndicators();switch(a[b]){case"#":yield*this.pushCount(a.length-b);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(j),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return b+=yield*this.parseBlockScalarHeader(),b+=yield*this.pushSpaces(!0),yield*this.pushCount(a.length-b),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let a,b,c=-1;do(a=yield*this.pushNewline())>0?(b=yield*this.pushSpaces(!1),this.indentValue=c=b):b=0,b+=yield*this.pushSpaces(!0);while(a+b>0)let f=this.getLine();if(null===f)return this.setNext("flow");if((-1!==c&&c<this.indentNext&&"#"!==f[0]||0===c&&(f.startsWith("---")||f.startsWith("..."))&&e(f[3]))&&(c!==this.indentNext-1||1!==this.flowLevel||"]"!==f[0]&&"}"!==f[0]))return this.flowLevel=0,yield d.FLOW_END,yield*this.parseLineStart();let g=0;for(;","===f[g];)g+=yield*this.pushCount(1),g+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(f[g+=yield*this.pushIndicators()]){case void 0:return"flow";case"#":return yield*this.pushCount(f.length-g),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(j),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let a=this.charAt(1);if(this.flowKey||e(a)||","===a)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let a=this.charAt(0),b=this.buffer.indexOf(a,this.pos+1);if("'"===a)for(;-1!==b&&"'"===this.buffer[b+1];)b=this.buffer.indexOf("'",b+2);else for(;-1!==b;){let a=0;for(;"\\"===this.buffer[b-1-a];)a+=1;if(a%2==0)break;b=this.buffer.indexOf('"',b+1)}let c=this.buffer.substring(0,b),d=c.indexOf("\n",this.pos);if(-1!==d){for(;-1!==d;){let a=this.continueScalar(d+1);if(-1===a)break;d=c.indexOf("\n",a)}-1!==d&&(b=d-("\r"===c[d-1]?2:1))}if(-1===b){if(!this.atEnd)return this.setNext("quoted-scalar");b=this.buffer.length}return yield*this.pushToIndex(b+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let a=this.pos;for(;;){let b=this.buffer[++a];if("+"===b)this.blockScalarKeep=!0;else if(b>"0"&&b<="9")this.blockScalarIndent=Number(b)-1;else if("-"!==b)break}return yield*this.pushUntil(a=>e(a)||"#"===a)}*parseBlockScalar(){let a,b=this.pos-1,c=0;a:for(let d=this.pos;a=this.buffer[d];++d)switch(a){case" ":c+=1;break;case"\n":b=d,c=0;break;case"\r":{let a=this.buffer[d+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if("\n"===a)break}default:break a}if(!a&&!this.atEnd)return this.setNext("block-scalar");if(c>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=c:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{let a=this.continueScalar(b+1);if(-1===a)break;b=this.buffer.indexOf("\n",a)}while(-1!==b)if(-1===b){if(!this.atEnd)return this.setNext("block-scalar");b=this.buffer.length}}let e=b+1;for(a=this.buffer[e];" "===a;)a=this.buffer[++e];if(" "===a){for(;" "===a||" "===a||"\r"===a||"\n"===a;)a=this.buffer[++e];b=e-1}else if(!this.blockScalarKeep)for(;;){let a=b-1,d=this.buffer[a];"\r"===d&&(d=this.buffer[--a]);let e=a;for(;" "===d;)d=this.buffer[--a];if("\n"===d&&a>=this.pos&&a+1+c>e)b=a;else break}return yield d.SCALAR,yield*this.pushToIndex(b+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let a,b=this.flowLevel>0,c=this.pos-1,f=this.pos-1;for(;a=this.buffer[++f];)if(":"===a){let a=this.buffer[f+1];if(e(a)||b&&h.has(a))break;c=f}else if(e(a)){let d=this.buffer[f+1];if("\r"===a&&("\n"===d?(f+=1,a="\n",d=this.buffer[f+1]):c=f),"#"===d||b&&h.has(d))break;if("\n"===a){let a=this.continueScalar(f+1);if(-1===a)break;f=Math.max(f,a-2)}}else{if(b&&h.has(a))break;c=f}return a||this.atEnd?(yield d.SCALAR,yield*this.pushToIndex(c+1,!0),b?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(a){return a>0?(yield this.buffer.substr(this.pos,a),this.pos+=a,a):0}*pushToIndex(a,b){let c=this.buffer.slice(this.pos,a);return c?(yield c,this.pos+=c.length,c.length):(b&&(yield""),0)}*pushIndicators(){let a=0;for(;;){switch(this.charAt(0)){case"!":a+=yield*this.pushTag(),a+=yield*this.pushSpaces(!0);continue;case"&":a+=yield*this.pushUntil(j),a+=yield*this.pushSpaces(!0);continue;case"-":case"?":case":":{let b=this.flowLevel>0,c=this.charAt(1);if(e(c)||b&&h.has(c)){b?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,a+=yield*this.pushCount(1),a+=yield*this.pushSpaces(!0);continue}}}break}return a}*pushTag(){if("<"===this.charAt(1)){let a=this.pos+2,b=this.buffer[a];for(;!e(b)&&">"!==b;)b=this.buffer[++a];return yield*this.pushToIndex(">"===b?a+1:a,!1)}{let a=this.pos+1,b=this.buffer[a];for(;b;)if(g.has(b))b=this.buffer[++a];else if("%"===b&&f.has(this.buffer[a+1])&&f.has(this.buffer[a+2]))b=this.buffer[a+=3];else break;return yield*this.pushToIndex(a,!1)}}*pushNewline(){let a=this.buffer[this.pos];return"\n"===a?yield*this.pushCount(1):"\r"===a&&"\n"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(a){let b,c=this.pos-1;do b=this.buffer[++c];while(" "===b||a&&" "===b)let d=c-this.pos;return d>0&&(yield this.buffer.substr(this.pos,d),this.pos=c),d}*pushUntil(a){let b=this.pos,c=this.buffer[b];for(;!a(c);)c=this.buffer[++b];return yield*this.pushToIndex(b,!1)}}},46987,(a,b,c)=>{"use strict";c.LineCounter=class{constructor(){this.lineStarts=[],this.addNewLine=a=>this.lineStarts.push(a),this.linePos=a=>{let b=0,c=this.lineStarts.length;for(;b<c;){let d=b+c>>1;this.lineStarts[d]<a?b=d+1:c=d}if(this.lineStarts[b]===a)return{line:b+1,col:1};if(0===b)return{line:0,col:a};let d=this.lineStarts[b-1];return{line:b,col:a-d+1}}}}},9575,(a,b,c)=>{"use strict";var d=a.r(5365),e=a.r(2704),f=a.r(66326);function g(a,b){for(let c=0;c<a.length;++c)if(a[c].type===b)return!0;return!1}function h(a){for(let b=0;b<a.length;++b)switch(a[b].type){case"space":case"comment":case"newline":break;default:return b}return -1}function i(a){switch(a?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function j(a){switch(a.type){case"document":return a.start;case"block-map":{let b=a.items[a.items.length-1];return b.sep??b.start}case"block-seq":return a.items[a.items.length-1].start;default:return[]}}function k(a){if(0===a.length)return[];let b=a.length;a:for(;--b>=0;)switch(a[b].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break a}for(;a[++b]?.type==="space";);return a.splice(b,a.length)}function l(a,b){if(b.length<1e5)Array.prototype.push.apply(a,b);else for(let c=0;c<b.length;++c)a.push(b[c])}function m(a){if("flow-seq-start"===a.start.type)for(let b of a.items)!b.sep||b.value||g(b.start,"explicit-key-ind")||g(b.sep,"map-value-ind")||(b.key&&(b.value=b.key),delete b.key,i(b.value)?b.value.end?l(b.value.end,b.sep):b.value.end=b.sep:l(b.start,b.sep),delete b.sep)}c.Parser=class{constructor(a){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new f.Lexer,this.onNewLine=a}*parse(a,b=!1){for(let c of(this.onNewLine&&0===this.offset&&this.onNewLine(0),this.lexer.lex(a,b)))yield*this.next(c);b||(yield*this.end())}*next(a){if(this.source=a,d.env.LOG_TOKENS&&console.log("|",e.prettyToken(a)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=a.length;return}let b=e.tokenType(a);if(b)if("scalar"===b)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=b,yield*this.step(),b){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+a.length);break;case"space":this.atNewLine&&" "===a[0]&&(this.indent+=a.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=a.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=a.length}else{let b=`Not a YAML token: ${a}`;yield*this.pop({type:"error",offset:this.offset,message:b,source:a}),this.offset+=a.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let a=this.peek(1);if("doc-end"===this.type&&a?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!a)return yield*this.stream();switch(a.type){case"document":return yield*this.document(a);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(a);case"block-scalar":return yield*this.blockScalar(a);case"block-map":return yield*this.blockMap(a);case"block-seq":return yield*this.blockSequence(a);case"flow-collection":return yield*this.flowCollection(a);case"doc-end":return yield*this.documentEnd(a)}yield*this.pop()}peek(a){return this.stack[this.stack.length-a]}*pop(a){let b=a??this.stack.pop();if(b)if(0===this.stack.length)yield b;else{let a=this.peek(1);switch("block-scalar"===b.type?b.indent="indent"in a?a.indent:0:"flow-collection"===b.type&&"document"===a.type&&(b.indent=0),"flow-collection"===b.type&&m(b),a.type){case"document":a.value=b;break;case"block-scalar":a.props.push(b);break;case"block-map":{let c=a.items[a.items.length-1];if(c.value){a.items.push({start:[],key:b,sep:[]}),this.onKeyLine=!0;return}if(c.sep)c.value=b;else{Object.assign(c,{key:b,sep:[]}),this.onKeyLine=!c.explicitKey;return}break}case"block-seq":{let c=a.items[a.items.length-1];c.value?a.items.push({start:[],value:b}):c.value=b;break}case"flow-collection":{let c=a.items[a.items.length-1];!c||c.value?a.items.push({start:[],key:b,sep:[]}):c.sep?c.value=b:Object.assign(c,{key:b,sep:[]});return}default:yield*this.pop(),yield*this.pop(b)}if(("document"===a.type||"block-map"===a.type||"block-seq"===a.type)&&("block-map"===b.type||"block-seq"===b.type)){let c=b.items[b.items.length-1];c&&!c.sep&&!c.value&&c.start.length>0&&-1===h(c.start)&&(0===b.indent||c.start.every(a=>"comment"!==a.type||a.indent<b.indent))&&("document"===a.type?a.end=c.start:a.items.push({start:c.start}),b.items.splice(-1,1))}}else yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let a={type:"document",offset:this.offset,start:[]};"doc-start"===this.type&&a.start.push(this.sourceToken),this.stack.push(a);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(a){if(a.value)return yield*this.lineEnd(a);switch(this.type){case"doc-start":-1!==h(a.start)?(yield*this.pop(),yield*this.step()):a.start.push(this.sourceToken);return;case"anchor":case"tag":case"space":case"comment":case"newline":a.start.push(this.sourceToken);return}let b=this.startBlockValue(a);b?this.stack.push(b):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(a){if("map-value-ind"===this.type){let b,c=k(j(this.peek(2)));a.end?((b=a.end).push(this.sourceToken),delete a.end):b=[this.sourceToken];let d={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:b}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=d}else yield*this.lineEnd(a)}*blockScalar(a){switch(this.type){case"space":case"comment":case"newline":a.props.push(this.sourceToken);return;case"scalar":if(a.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else if(b.sep)b.sep.push(this.sourceToken);else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return}if(this.indent>=a.indent){let c=!this.onKeyLine&&this.indent===a.indent,d=c&&(b.sep||b.explicitKey)&&"seq-item-ind"!==this.type,e=[];if(d&&b.sep&&!b.value){let c=[];for(let d=0;d<b.sep.length;++d){let e=b.sep[d];switch(e.type){case"newline":c.push(d);break;case"space":break;case"comment":e.indent>a.indent&&(c.length=0);break;default:c.length=0}}c.length>=2&&(e=b.sep.splice(c[1]))}switch(this.type){case"anchor":case"tag":d||b.value?(e.push(this.sourceToken),a.items.push({start:e}),this.onKeyLine=!0):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"explicit-key-ind":b.sep||b.explicitKey?d||b.value?(e.push(this.sourceToken),a.items.push({start:e,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(b.start.push(this.sourceToken),b.explicitKey=!0),this.onKeyLine=!0;return;case"map-value-ind":if(b.explicitKey)if(b.sep)if(b.value)a.items.push({start:[],key:null,sep:[this.sourceToken]});else if(g(b.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]});else if(i(b.key)&&!g(b.sep,"newline")){let a=k(b.start),c=b.key,d=b.sep;d.push(this.sourceToken),delete b.key,delete b.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:c,sep:d}]})}else e.length>0?b.sep=b.sep.concat(e,this.sourceToken):b.sep.push(this.sourceToken);else if(g(b.start,"newline"))Object.assign(b,{key:null,sep:[this.sourceToken]});else{let a=k(b.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else b.sep?b.value||d?a.items.push({start:e,key:null,sep:[this.sourceToken]}):g(b.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);d||b.value?(a.items.push({start:e,key:c,sep:[]}),this.onKeyLine=!0):b.sep?this.stack.push(c):(Object.assign(b,{key:c,sep:[]}),this.onKeyLine=!0);return}default:{let d=this.startBlockValue(a);if(d){if("block-seq"===d.type){if(!b.explicitKey&&b.sep&&!g(b.sep,"newline"))return void(yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}))}else c&&a.items.push({start:e});this.stack.push(d);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return;case"anchor":case"tag":if(b.value||this.indent<=a.indent)break;b.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==a.indent)break;b.value||g(b.start,"seq-item-ind")?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return}if(this.indent>a.indent){let b=this.startBlockValue(a);if(b)return void this.stack.push(b)}yield*this.pop(),yield*this.step()}*flowCollection(a){let b=a.items[a.items.length-1];if("flow-error-end"===this.type){let a;do yield*this.pop(),a=this.peek(1);while(a?.type==="flow-collection")}else if(0===a.end.length){switch(this.type){case"comma":case"explicit-key-ind":!b||b.sep?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return;case"map-value-ind":!b||b.value?a.items.push({start:[],key:null,sep:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!b||b.value?a.items.push({start:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);!b||b.value?a.items.push({start:[],key:c,sep:[]}):b.sep?this.stack.push(c):Object.assign(b,{key:c,sep:[]});return}case"flow-map-end":case"flow-seq-end":a.end.push(this.sourceToken);return}let c=this.startBlockValue(a);c?this.stack.push(c):(yield*this.pop(),yield*this.step())}else{let b=this.peek(2);if("block-map"!==b.type||("map-value-ind"!==this.type||b.indent!==a.indent)&&("newline"!==this.type||b.items[b.items.length-1].sep))if("map-value-ind"===this.type&&"flow-collection"!==b.type){let c=k(j(b));m(a);let d=a.end.splice(1,a.end.length);d.push(this.sourceToken);let e={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:d}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=e}else yield*this.lineEnd(a);else yield*this.pop(),yield*this.step()}}flowScalar(a){if(this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}return{type:a,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(a){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let b=k(j(a));return b.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let b=k(j(a));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(a,b){return"comment"===this.type&&!(this.indent<=b)&&a.every(a=>"newline"===a.type||"space"===a.type)}*documentEnd(a){"doc-mode"!==this.type&&(a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(a){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}}},5013,(a,b,c)=>{"use strict";var d=a.r(19662),e=a.r(85774),f=a.r(25717),g=a.r(18114),h=a.r(27267),i=a.r(46987),j=a.r(9575);function k(a){let b=!1!==a.prettyErrors;return{lineCounter:a.lineCounter||b&&new i.LineCounter||null,prettyErrors:b}}function l(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=null;for(let b of h.compose(g.parse(a),!0,a.length))if(i){if("silent"!==i.options.logLevel){i.errors.push(new f.YAMLParseError(b.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}}else i=b;return e&&c&&(i.errors.forEach(f.prettifyError(a,c)),i.warnings.forEach(f.prettifyError(a,c))),i}c.parse=function(a,b,c){let d;"function"==typeof b?d=b:void 0===c&&b&&"object"==typeof b&&(c=b);let e=l(a,c);if(!e)return null;if(e.warnings.forEach(a=>g.warn(e.options.logLevel,a)),e.errors.length>0)if("silent"!==e.options.logLevel)throw e.errors[0];else e.errors=[];return e.toJS(Object.assign({reviver:d},c))},c.parseAllDocuments=function(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=Array.from(h.compose(g.parse(a)));if(e&&c)for(let b of i)b.errors.forEach(f.prettifyError(a,c)),b.warnings.forEach(f.prettifyError(a,c));return i.length>0?i:Object.assign([],{empty:!0},h.streamInfo())},c.parseDocument=l,c.stringify=function(a,b,c){let d=null;if("function"==typeof b||Array.isArray(b)?d=b:void 0===c&&b&&(c=b),"string"==typeof c&&(c=c.length),"number"==typeof c){let a=Math.round(c);c=a<1?void 0:a>8?{indent:8}:{indent:a}}if(void 0===a){let{keepUndefined:a}=c??b??{};if(!a)return}return h.isDocument(a)&&!d?a.toString(c):new e.Document(a,d,c).toString(c)}},22650,(a,b,c)=>{"use strict";var d=a.r(19662),e=a.r(85774),f=a.r(98027),g=a.r(25717),h=a.r(21562),i=a.r(27267),j=a.r(17602),k=a.r(27853),l=a.r(47544),m=a.r(7621),n=a.r(2704),o=a.r(66326),p=a.r(46987),q=a.r(9575),r=a.r(5013),s=a.r(85927);c.Composer=d.Composer,c.Document=e.Document,c.Schema=f.Schema,c.YAMLError=g.YAMLError,c.YAMLParseError=g.YAMLParseError,c.YAMLWarning=g.YAMLWarning,c.Alias=h.Alias,c.isAlias=i.isAlias,c.isCollection=i.isCollection,c.isDocument=i.isDocument,c.isMap=i.isMap,c.isNode=i.isNode,c.isPair=i.isPair,c.isScalar=i.isScalar,c.isSeq=i.isSeq,c.Pair=j.Pair,c.Scalar=k.Scalar,c.YAMLMap=l.YAMLMap,c.YAMLSeq=m.YAMLSeq,c.CST=n,c.Lexer=o.Lexer,c.LineCounter=p.LineCounter,c.Parser=q.Parser,c.parse=r.parse,c.parseAllDocuments=r.parseAllDocuments,c.parseDocument=r.parseDocument,c.stringify=r.stringify,c.visit=s.visit,c.visitAsync=s.visitAsync},73338,a=>{"use strict";var b=a.i(36359),c=a.i(7292),d=a.i(37936),e=a.i(2157),f=a.i(66680),g=a.i(50227);a.i(8674),a.i(1144);var h=a.i(75818),i=a.i(13095);async function j(){return function(a=Date.now()){let b,c,d=(c=process.env.FAILPROOFAI_STATE_DIR)?(0,g.resolve)(c,"sessions"):(0,h.sessionPauseDir)();if(!(0,e.existsSync)(d))return[];let f=[];try{b=(0,e.readdirSync)(d)}catch{return[]}for(let c of b)if(c.endsWith(".json"))try{let b=function(a){if(!a||"object"!=typeof a||1!==a.schemaVersion||"string"!=typeof a.sessionId||0===a.sessionId.length||!Number.isFinite(a.pausedAt)||!Number.isFinite(a.expiresAt))return null;let b=a.pausedAt,c=Number.isFinite(a.firstPausedAt)?a.firstPausedAt:b;return{schemaVersion:1,sessionId:a.sessionId,pausedAt:b,firstPausedAt:c,expiresAt:Math.min(a.expiresAt,c+288e5),setBy:"string"==typeof a.setBy?a.setBy:"unknown",..."string"==typeof a.cwd?{cwd:a.cwd}:{}}}(JSON.parse((0,e.readFileSync)((0,g.join)(d,c),"utf8")));if(!b||b.expiresAt<=a)continue;let{schemaVersion:h,...i}=b;f.push(i)}catch{}return f.sort((a,b)=>b.pausedAt-a.pausedAt)}()}(0,i.ensureServerEntryExports)([j]),(0,d.registerServerReference)(j,"007e3b4cc182529851a91f6c969c76db68c5175ef3",null);var k=a.i(28120),l=a.i(74533),m=a.i(60526);let n=["user","project","local"],o=["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],p=["session_start","pre_tool_use","permission_request","post_tool_use","user_prompt_submit","stop","subagent_start","pre_compact","post_compact","subagent_stop"],q={session_start:"SessionStart",pre_tool_use:"PreToolUse",permission_request:"PermissionRequest",post_tool_use:"PostToolUse",user_prompt_submit:"UserPromptSubmit",stop:"Stop",subagent_start:"SubagentStart",pre_compact:"PreCompact",post_compact:"PostCompact",subagent_stop:"SubagentStop"},r=["pre_tool_call","post_tool_call","on_session_start","on_session_end","subagent_stop"],s=["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PostToolUse","Stop","SubagentStop","PostToolUseFailure","ErrorOccurred","PreCompact","PermissionRequest","Notification"],t=["sessionStart","sessionEnd","beforeSubmitPrompt","preToolUse","postToolUse","stop","subagentStop"],u=["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","Notification","Stop","SubagentStop","PreCompact","SessionEnd"],v=["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","PermissionRequest","Stop","SessionEnd"],w=["PreToolUse","PostToolUse","PreInvocation","Stop"],x=["SessionStart","UserPromptSubmit","PreToolUse","PostToolUse","SessionEnd"],y=["SessionStart","SessionEnd","UserPromptSubmit","PreToolUse","PermissionRequest","PermissionDenied","PostToolUse","PostToolUseFailure","Notification","SubagentStart","SubagentStop","TaskCreated","TaskCompleted","Stop","StopFailure","TeammateIdle","InstructionsLoaded","ConfigChange","CwdChanged","FileChanged","WorktreeCreate","WorktreeRemove","PreCompact","PostCompact","Elicitation","ElicitationResult","UserPromptExpansion","PostToolBatch","Setup"].filter(a=>"WorktreeCreate"!==a),z="__failproofai_hook__";var A=a.i(57764),B=a.i(22650),C=a.i(43600),D={get url(){return a.F("src/hooks/integrations.ts")},env:{DEV:!1,PROD:!0,MODE:"production",BASE_URL:"/",SSR:!0}};function E(a){return(0,e.existsSync)(a)?JSON.parse((0,e.readFileSync)(a,"utf8")):{}}function F(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0}),(0,e.writeFileSync)(a,JSON.stringify(b,null,2)+"\n","utf8")}function G(a){try{return(0,e.existsSync)(a)?(0,B.parseDocument)((0,e.readFileSync)(a,"utf8")):(0,B.parseDocument)("")}catch{return(0,B.parseDocument)("")}}function H(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0}),(0,e.writeFileSync)(a,b.toString(),"utf8")}function I(a){if(!a||"object"!=typeof a)return!1;if(!0===a[z])return!0;let b="string"==typeof a.command?a.command:"";return b.includes("failproofai")&&b.includes("--hook")}function J(a){return"version"in a&&(delete a.version,!0)}function K(a){try{let b=`which ${a}`;return(0,l.execSync)(b,{encoding:"utf8",stdio:"pipe"}),!0}catch{return!1}}function L(a,b,c){let d=a.getSettingsPaths?.(b,c);return d&&d.length>0?d:[a.getSettingsPath(b,c)]}let M={id:"claude",displayName:"Claude Code",scopes:n,eventTypes:y,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".claude","settings.json");case"project":return(0,g.resolve)(c,".claude","settings.json");case"local":return(0,g.resolve)(c,".claude","settings.local.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b}`:`"${a}" --hook ${b}`,timeout:60,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){a.hooks||(a.hooks={});let d=new Set(y);for(let b of Object.keys(a.hooks)){if(d.has(b))continue;let c=a.hooks[b];if(!Array.isArray(c))continue;let e=[];for(let a of c){if(!a||!Array.isArray(a.hooks)){a&&e.push(a);continue}let b=a.hooks.length;a.hooks=a.hooks.filter(a=>!I(a)),0===a.hooks.length&&b>0||e.push(a)}a.hooks[b]=e,0===e.length&&delete a.hooks[b]}for(let d of y){let e=this.buildHookEntry(b,d,c);a.hooks[d]||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>I(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!I(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("claude")||K("claude-code")};function N(a){if(!0===a[z])return!0;for(let b of["string"==typeof a.bash?a.bash:"","string"==typeof a.powershell?a.powershell:""])if(b.includes("failproofai")&&b.includes("--hook"))return!0;return!1}let O="./plugins/failproofai.mjs";function P(a){return(0,g.resolve)((0,g.dirname)(a),"plugins","failproofai.mjs")}function Q(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,g.resolve)(a,"pi-extension"):(0,g.resolve)((0,A.fileURLToPath)(D.url),"..","..","..","pi-extension")}function R(a){return"string"==typeof a&&(!!/(?:^|\/)pi-extension\/?$/.test(a)||a.includes("pi-extension")&&a.includes("failproofai"))}let S="failproofai";function T(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;return a?(0,g.resolve)(a,"openclaw-plugin"):(0,g.resolve)((0,A.fileURLToPath)(D.url),"..","..","..","openclaw-plugin")}function U(a){return"string"==typeof a&&(/(?:^|\/)openclaw-plugin\/?$/.test(a)||a.includes("openclaw-plugin")&&a.includes("failproofai"))}let V="failproofai",W=new Set(["PreToolUse","PostToolUse"]);function X(a){if(!a||"object"!=typeof a)return!1;let b=a.command;return"string"==typeof b&&b.includes("failproofai")&&b.includes("--cli goose")}let Y={claude:M,codex:{id:"codex",displayName:"OpenAI Codex",scopes:["user","project"],eventTypes:p,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".codex","hooks.json");case"project":case"local":return(0,g.resolve)(c,".codex","hooks.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli codex`:`"${a}" --hook ${b} --cli codex`,timeout:60,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){for(let d of(J(a),a.hooks||(a.hooks={}),p)){let e=q[d],f=this.buildHookEntry(b,d,c);a.hooks[e]||(a.hooks[e]=[]);let g=a.hooks[e],h=!1;for(let a of g){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>I(a));if(b>=0){a.hooks[b]=f,h=!0;break}}h||g.push({hooks:[f]})}},removeHooksFromFile(a){let b=this.readSettings(a),c=J(b);if(!b.hooks)return c&&this.writeSettings(a,b),0;let d=0;for(let a of Object.keys(b.hooks)){let c=b.hooks[a];if(Array.isArray(c)){for(let a=c.length-1;a>=0;a--){let b=c[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!I(a)),d+=e-b.hooks.length,0===b.hooks.length&&c.splice(a,1)}0===c.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,(d>0||c)&&this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("codex")},copilot:{id:"copilot",displayName:"GitHub Copilot",scopes:["user","project"],eventTypes:s,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".copilot","hooks","failproofai.json");case"project":case"local":return(0,g.resolve)(c,".github","hooks","failproofai.json")}},readSettings(a){let b=E(a);return void 0===b.version&&(b.version=1),b},writeSettings(a,b){F(a,b)},buildHookEntry(a,b,c){let d="project"===c?`npx -y failproofai --hook ${b} --cli copilot`:`"${a}" --hook ${b} --cli copilot`;return{type:"command",bash:d,powershell:d,timeoutSec:60,[z]:!0}},isFailproofaiHook:N,writeHookEntries(a,b,c){for(let d of(void 0===a.version&&(a.version=1),a.hooks||(a.hooks={}),s)){let e=this.buildHookEntry(b,d,c);a.hooks[d]||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>N(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!N(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>N(a)))return!0}}catch{}return!1},detectInstalled:()=>K("copilot")},cursor:{id:"cursor",displayName:"Cursor Agent",scopes:["user","project"],eventTypes:t,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".cursor","hooks.json");case"project":case"local":return(0,g.resolve)(c,".cursor","hooks.json")}},readSettings(a){let b=E(a);return void 0===b.version&&(b.version=1),b},writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli cursor`:`"${a}" --hook ${b} --cli cursor`,timeout:60,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){for(let d of(void 0===a.version&&(a.version=1),a.hooks||(a.hooks={}),t)){let e=this.buildHookEntry(b,d,c),f=a.hooks[d],g=f??[];f||(a.hooks[d]=g);let h=g.findIndex(a=>I(a));h>=0?g[h]=e:g.push(e)}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(!Array.isArray(d))continue;let e=d.length,f=d.filter(a=>!I(a));c+=e-f.length,0===f.length?delete b.hooks[a]:b.hooks[a]=f}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)&&b.some(a=>I(a)))return!0}catch{}return!1},detectInstalled:()=>K("cursor-agent")||K("agent")},opencode:{id:"opencode",displayName:"OpenCode",scopes:["user","project"],eventTypes:["tool.execute.before","tool.execute.after","session.created","session.deleted","session.idle","message.updated","permission.ask"],getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".config","opencode","opencode.json");case"project":case"local":return(0,g.resolve)(c,".opencode","opencode.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry(a,b,c){if("user"===c){let a=(0,g.resolve)((0,m.homedir)(),".config","opencode","plugins","failproofai.mjs");return{spec:`file://${a}`,[z]:!0}}return{spec:O,[z]:!0}},isFailproofaiHook:a=>"string"==typeof a?a.includes("failproofai.mjs"):!!Array.isArray(a)&&"string"==typeof a[0]&&a[0].includes("failproofai.mjs"),writeHookEntries(a,b,c){let d,f,h=c??"project",i=P("user"===h?(0,g.resolve)((0,m.homedir)(),".config","opencode","opencode.json"):(0,g.resolve)(process.cwd(),".opencode","opencode.json"));(0,e.mkdirSync)((0,g.dirname)(i),{recursive:!0}),(0,e.writeFileSync)(i,(f=(d="project"===h)?'""':JSON.stringify(b),`// AUTO-GENERATED by failproofai. ${z}
|
|
26
26
|
// Re-generate via: failproofai policies --install --cli opencode
|
|
27
27
|
// Plugin shim that bridges OpenCode's plugin API to the failproofai binary.
|
|
28
28
|
// See: https://opencode.ai/docs/plugins/
|
|
@@ -227,22 +227,23 @@ export default async function failproofaiPlugin({ client, directory }) {
|
|
|
227
227
|
},
|
|
228
228
|
};
|
|
229
229
|
}
|
|
230
|
-
`),"utf8"),Array.isArray(a.plugin)||(a.plugin=[]);let j="user"===h?`file://${i}`:W,l=a.plugin.findIndex(a=>this.isFailproofaiHook(a));l>=0?a.plugin[l]=j:a.plugin.push(j)},removeHooksFromFile(a){let b=0,c=this.readSettings(a);if(Array.isArray(c.plugin)){let a=c.plugin.length;c.plugin=c.plugin.filter(a=>!this.isFailproofaiHook(a)),b+=a-c.plugin.length,0===c.plugin.length&&delete c.plugin}this.writeSettings(a,c);let d=X(a);if((0,e.existsSync)(d))try{(0,e.readFileSync)(d,"utf8").includes(H)&&((0,e.unlinkSync)(d),0===b&&(b=1))}catch{}return b},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!Array.isArray(a.plugin)||!a.plugin.some(a=>this.isFailproofaiHook(a)))return!1;let b=X(c);if(!(0,e.existsSync)(b))return!1;return(0,e.readFileSync)(b,"utf8").includes(H)}catch{return!1}},detectInstalled:()=>S("opencode")},pi:{id:"pi",displayName:"Pi",scopes:["user","project"],eventTypes:["session_start","session_shutdown","input","tool_call","user_bash","tool_result","agent_end"],getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".pi","agent","settings.json");case"project":case"local":return(0,g.resolve)(c,".pi","settings.json")}},readSettings:a=>M(a),writeSettings(a,b){N(a,b)},buildHookEntry:(a,b,c)=>({[H]:!0,_piPackagePath:Y(),_piScope:c}),isFailproofaiHook:a=>"string"==typeof a?Z(a):!!a&&"object"==typeof a&&(!0===a[H]||"string"==typeof a.source&&Z(a.source)),writeHookEntries(a,b,c){var d;let e,f,h;Array.isArray(a.packages)||(a.packages=[]);let i=Y(),j="project"===c?(d=i,e=process.cwd(),f=(0,g.resolve)(e),(h=(0,g.resolve)(d)).startsWith(f+"/")||h===f?"../"+h.slice(f.length+1):h):i,k=a.packages.findIndex(a=>Z(a));k>=0?a.packages[k]=j:a.packages.push(j)},removeHooksFromFile(a){if(!(0,e.existsSync)(a))return 0;let b=this.readSettings(a);if(!Array.isArray(b.packages))return 0;let c=b.packages.length;b.packages=b.packages.filter(a=>!Z(a));let d=c-b.packages.length;return 0===b.packages.length&&delete b.packages,this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!Array.isArray(a.packages))return!1;return a.packages.some(a=>Z(a))}catch{return!1}},detectInstalled:()=>S("pi")},hermes:{id:"hermes",displayName:"Hermes",scopes:["user"],eventTypes:z,getSettingsPath:()=>(0,g.resolve)((0,K.hermesRoot)(),"config.yaml"),getSettingsPaths:()=>(0,K.listHermesProfiles)().map(a=>(0,g.resolve)(a.home,"config.yaml")),readSettings:a=>O(a),writeSettings(a,b){P(a,b)},buildHookEntry:(a,b,c)=>({command:"project"===c?`npx -y failproofai --hook ${b} --cli hermes`:`"${a}" --hook ${b} --cli hermes`,timeout:30,[H]:!0}),isFailproofaiHook:Q,writeHookEntries(a,b,c){let d=a.toJS()??{},e=d.hooks&&"object"==typeof d.hooks?d.hooks:{};for(let a of z){let d=this.buildHookEntry(b,a,c),f=Array.isArray(e[a])?e[a]:[],g=f.findIndex(a=>Q(a));g>=0?f[g]=d:f.push(d),e[a]=f}a.set("hooks",e),a.set("hooks_auto_accept",!0)},removeHooksFromFile(a){if(!(0,e.existsSync)(a))return 0;let b=O(a),c=(b.toJS()??{}).hooks,d=0;if(c&&"object"==typeof c){for(let a of Object.keys(c)){let b=c[a];if(!Array.isArray(b))continue;let e=b.length,f=b.filter(a=>!Q(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}d>0&&(0===Object.keys(c).length?b.delete("hooks"):b.set("hooks",c))}let f=b.delete("hooks_auto_accept");return(d>0||f)&&P(a,b),d},hooksInstalledInSettings(a,b){let c=T(this,a,b);return c.length>0&&c.every(a=>(function(a){if(!(0,e.existsSync)(a))return!1;try{let b=(O(a).toJS()??{}).hooks;if(!b||"object"!=typeof b)return!1;for(let a of Object.values(b))if(Array.isArray(a)&&a.some(a=>Q(a)))return!0}catch{}return!1})(a))},detectInstalled:()=>S("hermes")},openclaw:{id:"openclaw",displayName:"OpenClaw",scopes:["user"],eventTypes:["before_tool_call","after_tool_call","before_agent_run","before_agent_finalize","session_start","session_end","subagent_ended","before_compaction"],getSettingsPath:()=>(0,g.resolve)((0,k.homedir)(),".openclaw","openclaw.json"),readSettings:a=>M(a),writeSettings(a,b){N(a,b)},buildHookEntry:()=>({[H]:!0,_openclawPluginPath:_()}),isFailproofaiHook:a=>"string"==typeof a?aa(a):!!a&&"object"==typeof a&&(!0===a[H]||"string"==typeof a.source&&aa(a.source)),writeHookEntries(a){let b=a.plugins??={},c=b.load??={};Array.isArray(c.paths)||(c.paths=[]);let d=_(),e=c.paths.findIndex(a=>aa(a));e>=0?c.paths[e]=d:c.paths.push(d);let f=b.entries??={},g=f[$]??={};g.enabled=!0,(g.hooks??={}).allowConversationAccess=!0},removeHooksFromFile(a){if(!(0,e.existsSync)(a))return 0;let b=this.readSettings(a),c=b.plugins;if(!c)return 0;let d=0;if(Array.isArray(c.load?.paths)){let a=c.load.paths.length;c.load.paths=c.load.paths.filter(a=>!aa(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&&$ in c.entries&&(delete c.entries[$],d+=1,0===Object.keys(c.entries).length&&delete c.entries),0===Object.keys(c).length&&delete b.plugins,this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c),b=a.plugins?.load?.paths,d=Array.isArray(b)&&b.some(a=>aa(a)),e=a.plugins?.entries?.[$]?.enabled===!0;return d&&e}catch{return!1}},detectInstalled:()=>S("openclaw")},factory:{id:"factory",displayName:"Factory Droid",scopes:["user","project"],eventTypes:C,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".factory","hooks.json");case"project":case"local":return(0,g.resolve)(c,".factory","hooks.json")}},readSettings:a=>M(a),writeSettings(a,b){N(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli factory`:`"${a}" --hook ${b} --cli factory`,timeout:30,[H]:!0}),isFailproofaiHook:Q,writeHookEntries(a,b,c){for(let d of C){let e=this.buildHookEntry(b,d,c);Array.isArray(a[d])||(a[d]=[]);let f=a[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>Q(a));if(b>=0){a.hooks[b]=e,g=!0;break}}if(!g){let a="PreToolUse"===d||"PostToolUse"===d;f.push(a?{matcher:"*",hooks:[e]}:{hooks:[e]})}}},removeHooksFromFile(a){let b=this.readSettings(a),c=0;for(let a of Object.keys(b)){let d=b[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b||!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!Q(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b[a]}}return this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(a&&a.hooks&&a.hooks.some(a=>Q(a)))return!0}}catch{}return!1},detectInstalled:()=>S("droid")},devin:{id:"devin",displayName:"Devin CLI",scopes:["user","project"],eventTypes:D,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".config","devin","config.json");case"project":case"local":return(0,g.resolve)(c,".devin","config.json")}},readSettings:a=>M(a),writeSettings(a,b){N(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli devin`:`"${a}" --hook ${b} --cli devin`,timeout:60,[H]:!0}),isFailproofaiHook:Q,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),D)){let e=this.buildHookEntry(b,d,c);a.hooks[d]||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>Q(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!Q(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>Q(a)))return!0}}catch{}return!1},detectInstalled:()=>S("devin")},antigravity:{id:"antigravity",displayName:"Antigravity CLI",scopes:["user","project"],eventTypes:E,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".gemini","config","hooks.json");case"project":case"local":return(0,g.resolve)(c,".agents","hooks.json")}},readSettings:a=>M(a),writeSettings(a,b){N(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli antigravity`:`"${a}" --hook ${b} --cli antigravity`,timeout:30,[H]:!0}),isFailproofaiHook:Q,writeHookEntries(a,b,c){a[ab]&&"object"==typeof a[ab]||(a[ab]={});let d=a[ab];for(let a of E){let e=this.buildHookEntry(b,a,c);if(ac.has(a)){Array.isArray(d[a])||(d[a]=[]);let b=d[a],c=!1;for(let a of b){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>Q(a));if(b>=0){a.hooks[b]=e,c=!0;break}}c||b.push({matcher:"*",hooks:[e]})}else{Array.isArray(d[a])||(d[a]=[]);let b=d[a],c=b.findIndex(a=>Q(a));c>=0?b[c]=e:b.push(e)}}},removeHooksFromFile(a){let b=this.readSettings(a),c=b[ab];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(ac.has(a)){for(let a=b.length-1;a>=0;a--){let c=b[a];if(!c||!c.hooks)continue;let e=c.hooks.length;c.hooks=c.hooks.filter(a=>!Q(a)),d+=e-c.hooks.length,0===c.hooks.length&&b.splice(a,1)}0===b.length&&delete c[a]}else{let e=b.length,f=b.filter(a=>!Q(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}}return 0===Object.keys(c).length&&delete b[ab],this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c)[ab];if(!a||"object"!=typeof a)return!1;for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(Q(a)||a&&Array.isArray(a.hooks)&&a.hooks.some(a=>Q(a)))return!0}}catch{}return!1},detectInstalled:()=>S("agy")},goose:{id:"goose",displayName:"Goose",scopes:["user","project"],eventTypes:F,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,k.homedir)(),".agents","plugins","failproofai","hooks","hooks.json");case"project":case"local":return(0,g.resolve)(c,".agents","plugins","failproofai","hooks","hooks.json")}},readSettings:a=>M(a),writeSettings(a,b){N(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli goose`:`"${a}" --hook ${b} --cli goose`}),isFailproofaiHook:ad,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),F)){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=>ad(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=>!ad(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a&&a.hooks&&a.hooks.some(a=>ad(a)))return!0}}catch{}return!1},detectInstalled:()=>S("goose")}};function af(a){let b=ae[a];if(!b)throw Error(`"${a}" is audit-only — live-hook install is not supported for it yet. Installable: ${w.filter(a=>void 0!==ae[a]).join(", ")}`);return b}function ag(){return w.filter(a=>ae[a]?.detectInstalled())}var ah=a.i(1457);let ai={rgb:[102,209,181],basic:"36"},aj={rgb:[255,46,136],basic:"95"},ak={rgb:[228,88,124],basic:"95"},al={rgb:[227,179,65],basic:"33"},am={rgb:[107,118,132],basic:"2"};function an(a,b){let c=0,d="",e=0;for(;e<a.length;)if("\x1b"===a[e]&&"["===a[e+1]){let b=e+2;for(;b<a.length&&!/[A-Za-z]/.test(a[b]);)b++;b++,d+=a.slice(e,b),e=b}else{if(c>=b)break;d+=a[e],c++,e++}return d}ai.rgb,ak.rgb,Symbol("failproofai.back");var ao=a.i(92956),ap=a.i(12072),aq=a.i(79779),ar=a.i(31920);let as=aq.POSTHOG_API_KEY,at=new Set;async function au(a,b,c){let d=JSON.stringify({api_key:process.env.FAILPROOFAI_POSTHOG_KEY??as,event:b,distinct_id:a,properties:{...c,$lib:"failproofai-hooks",failproofai_version:ap.version,product:aq.POSTHOG_PRODUCT}});try{await fetch(process.env.FAILPROOFAI_POSTHOG_HOST?`${process.env.FAILPROOFAI_POSTHOG_HOST}/capture/`:"https://us.i.posthog.com/capture/",{method:"POST",headers:{"Content-Type":"application/json"},body:d,signal:AbortSignal.timeout(5e3)})}catch{}}async function av(a,b,c){if(!(0,ar.isTelemetryEnabled)())return;let d=au(a,b,c);at.add(d),d.finally(()=>at.delete(d)),await d}var aw=a.i(69839);async function ax(a,b={}){let c,d,{includeBeta:e=!1}=b;if(!process.stdin.isTTY){let b=ao.BUILTIN_POLICIES.filter(a=>e||!a.beta);return a?a.filter(a=>b.some(b=>b.name===a)):b.filter(a=>a.defaultEnabled).map(a=>a.name)}let f=a?new Set(a):null,g=ao.BUILTIN_POLICIES.filter(a=>e||!a.beta).map(a=>({name:a.name,description:a.description,category:a.category,selected:f?f.has(a.name):a.defaultEnabled,beta:!!a.beta})),h=g.length,i=!process.env.NO_COLOR,j=(c=i&&/truecolor|24bit/i.test(process.env.COLORTERM||""),{bold:a=>i?`\x1b[1m${a}\x1b[0m`:a,dim:(d=(a,b=!1)=>d=>{if(!i)return d;let e=c?`38;2;${a.rgb[0]};${a.rgb[1]};${a.rgb[2]}`:a.basic;return`\x1b[${b?"1;":""}${e}m${d}\x1b[0m`})(am),guide:d(ai),pink:d(aj),pinkBold:d(aj,!0),softPink:d(ak),warn:d(al)}),{dim:k,bold:l}=j,m=j.guide,n=j.pinkBold,o=j.pink,p=j.softPink,q=Math.min(34,Math.max(10,...g.map(a=>a.name.length))),r=0,s="",t=0,u=!1;function v(){if(!s)return g;let a=s.toLowerCase();return g.filter(b=>b.name.toLowerCase().includes(a)||b.description.toLowerCase().includes(a))}function w(){let a=process.stdout.columns||100;u||(process.stdout.write("\x1b[?25l"),u=!0);let b=v(),c=b.length;c>0&&r>=c&&(r=c-1);let d=g.filter(a=>a.selected).length,e=k("│"),f=[];f.push(e),f.push(`${m("◆")} ${l("Choose the policies to enable")} ${k("·")} ${m(String(d))} ${k("selected")}`);let j=s?k(`${c}/${h} shown`):k(`${h} policies`);if(f.push(`${e} ${k("filter ›")} ${s}${i?"\x1b[7m \x1b[0m":"_"} ${j}`),f.push(e),0===c){f.push(`${e} ${k(`no policies match “${s}”`)}`);for(let a=0;a<11;a++)f.push(e)}else{let c=function(a){let b=[],c=new Map,d=new Map;for(let a of g)c.has(a.category)||(b.push(a.category),c.set(a.category,0),d.set(a.category,0)),d.set(a.category,d.get(a.category)+1),a.selected&&c.set(a.category,c.get(a.category)+1);let e=new Map;for(let b of a){let a=e.get(b.category)??[];a.push(b),e.set(b.category,a)}let f=[],h=0;for(let a of b){let b=e.get(a);if(b&&0!==b.length)for(let e of(f.push({kind:"header",category:a,enabledCount:c.get(a),totalCount:d.get(a)}),b))f.push({kind:"item",item:e,filteredIndex:h++})}return f}(b),d=0;for(let a=0;a<c.length;a++){let b=c[a];if("item"===b.kind&&b.filteredIndex===r){d=a;break}}let h=d-Math.floor(5);h=Math.min(h=Math.max(0,h),Math.max(0,c.length-10));let i=Math.min(c.length,h+10),j=c.slice(0,h).filter(a=>"item"===a.kind).length;f.push(j>0?`${e} ${k(`↑ ${j} more`)}`:e);for(let b=h;b<i;b++){let d=c[b];if("header"===d.kind)f.push(`${e} ${k(d.category.toUpperCase())} ${k(`${d.enabledCount}/${d.totalCount}`)}`);else{let b=d.item,c=d.filteredIndex===r,g=b.selected?o("◼"):k("◻"),h=b.name.padEnd(q),i=c?n(h):b.selected?h:k(h),j=b.beta?` ${p("beta")}`:"",l=Math.max(8,a-q-8-5*!!b.beta),m=k(an(b.description,l));f.push(`${e} ${g} ${i}${j} ${m}`)}}for(let a=i-h;a<10;a++)f.push(e);let l=c.slice(i).filter(a=>"item"===a.kind).length;f.push(l>0?`${e} ${k(`↓ ${l} more`)}`:e)}f.push(e),f.push(`${e} ${k("↑/↓ move · space select · ctrl+a all · ↵ save · type to filter · esc clear")}`),t>0&&process.stdout.write(`\x1b[${t}A\x1b[J`),process.stdout.write(f.map(b=>an(b,a)).join("\n")+"\n"),t=f.length}return new Promise(a=>{function b(b,d){if(!d)return;d.ctrl&&"c"===d.name&&(c(),process.exit(0));let e=v();if("up"===d.name)e.length>0&&(r=r>0?r-1:e.length-1),w();else if("down"===d.name)e.length>0&&(r=r<e.length-1?r+1:0),w();else if("space"===d.name){let a=e[r];a&&(a.selected=!a.selected),w()}else if("return"===d.name||d.ctrl&&"s"===d.name){c();let b=g.filter(a=>a.selected).map(a=>a.name);t>0&&process.stdout.write(`\x1b[${t}A\x1b[J`),process.stdout.write(`${k("│")}
|
|
231
|
-
${
|
|
232
|
-
${
|
|
233
|
-
`),a(b)}else if("escape"===d.name)s="",r=0,w();else if(d.ctrl&&"a"===d.name){let a=e.length>0&&e.every(a=>a.selected);for(let b of e)b.selected=!a;w()}else"backspace"===d.name||"delete"===d.name?s.length>0&&(s=s.slice(0,-1),r=0,w()):!b||1!==b.length||d.ctrl||d.meta||(s+=b,r=0,w())}function c(){u&&(process.stdout.write("\x1b[?25h"),u=!1),process.stdin.removeListener("keypress",b),process.stdin.setRawMode(!1),process.stdin.pause()}w(),process.stdin.setRawMode(!0),process.stdin.resume(),ah.emitKeypressEvents(process.stdin),process.stdin.on("keypress",b)})}var ay=a.i(54799),az=a.i(12714);let aA="__failproofai_custom_hooks__";function aB(){let a=globalThis;return Array.isArray(a[aA])||(a[aA]=[]),a[aA]}let aC={add(a){aB().push(a)}};var aD=a.i(24868),aE=a.i(46786),aF=a.i(14747),aG=a.i(92509);let aH=".__failproofai_tmp__.mjs",aI=/(?:import\s+(?:[\s\S]*?\s+from\s+)?|export\s+(?:[\s\S]*?\s+from\s+))(['"])(\.\.?\/[^'"]+)\1/g,aJ=/require\s*\(\s*(['"])(\.\.?\/[^'"]+)\1\s*\)/g;async function aK(a){try{return await (0,aD.access)(a),!0}catch{return!1}}async function aL(){let a=process.env.FAILPROOFAI_DIST_PATH;if(a){let b=(0,aF.resolve)(a,"index.js");if(await aK(b))return b}for(let a of[(0,aF.resolve)((0,aF.dirname)(process.execPath),"..","assets","dist","index.js"),(0,aF.resolve)(process.cwd(),"dist","index.js"),(0,aF.resolve)(process.cwd(),"node_modules","failproofai","dist","index.js")])if(await aK(a))return a;return null}async function aM(a,b){let c=(0,aF.resolve)(a,b);for(let a of[c,`${c}.js`,`${c}.mjs`,`${c}.ts`,(0,aF.resolve)(c,"index.js")])if(await aK(a))return a;return null}async function aN(a,b,c,d){let e=(0,aF.join)(a,b);return await (0,aD.writeFile)(e,c,{encoding:"utf-8",mode:384,...d?{flag:"wx"}:{}}),e}async function aO(a,b,c=aH){let d=`import _cjs from '${b}';
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
Enabled ${
|
|
245
|
-
`),i)console.log("Custom hooks path cleared.");else if(
|
|
246
|
-
This file can be committed to git — no machine-specific paths.`)):console.log(`Binary: ${
|
|
230
|
+
`),"utf8"),Array.isArray(a.plugin)||(a.plugin=[]);let j="user"===h?`file://${i}`:O,k=a.plugin.findIndex(a=>this.isFailproofaiHook(a));k>=0?a.plugin[k]=j:a.plugin.push(j)},removeHooksFromFile(a){let b=0,c=this.readSettings(a);if(Array.isArray(c.plugin)){let a=c.plugin.length;c.plugin=c.plugin.filter(a=>!this.isFailproofaiHook(a)),b+=a-c.plugin.length,0===c.plugin.length&&delete c.plugin}this.writeSettings(a,c);let d=P(a);if((0,e.existsSync)(d))try{(0,e.readFileSync)(d,"utf8").includes(z)&&((0,e.unlinkSync)(d),0===b&&(b=1))}catch{}return b},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!Array.isArray(a.plugin)||!a.plugin.some(a=>this.isFailproofaiHook(a)))return!1;let b=P(c);if(!(0,e.existsSync)(b))return!1;return(0,e.readFileSync)(b,"utf8").includes(z)}catch{return!1}},detectInstalled:()=>K("opencode")},pi:{id:"pi",displayName:"Pi",scopes:["user","project"],eventTypes:["session_start","session_shutdown","input","tool_call","user_bash","tool_result","agent_end"],getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".pi","agent","settings.json");case"project":case"local":return(0,g.resolve)(c,".pi","settings.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({[z]:!0,_piPackagePath:Q(),_piScope:c}),isFailproofaiHook:a=>"string"==typeof a?R(a):!!a&&"object"==typeof a&&(!0===a[z]||"string"==typeof a.source&&R(a.source)),writeHookEntries(a,b,c){var d;let e,f,h;Array.isArray(a.packages)||(a.packages=[]);let i=Q(),j="project"===c?(d=i,e=process.cwd(),f=(0,g.resolve)(e),(h=(0,g.resolve)(d)).startsWith(f+"/")||h===f?"../"+h.slice(f.length+1):h):i,k=a.packages.findIndex(a=>R(a));k>=0?a.packages[k]=j:a.packages.push(j)},removeHooksFromFile(a){if(!(0,e.existsSync)(a))return 0;let b=this.readSettings(a);if(!Array.isArray(b.packages))return 0;let c=b.packages.length;b.packages=b.packages.filter(a=>!R(a));let d=c-b.packages.length;return 0===b.packages.length&&delete b.packages,this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!Array.isArray(a.packages))return!1;return a.packages.some(a=>R(a))}catch{return!1}},detectInstalled:()=>K("pi")},hermes:{id:"hermes",displayName:"Hermes",scopes:["user"],eventTypes:r,getSettingsPath:()=>(0,g.resolve)((0,C.hermesRoot)(),"config.yaml"),getSettingsPaths:()=>(0,C.listHermesProfiles)().map(a=>(0,g.resolve)(a.home,"config.yaml")),readSettings:a=>G(a),writeSettings(a,b){H(a,b)},buildHookEntry:(a,b,c)=>({command:"project"===c?`npx -y failproofai --hook ${b} --cli hermes`:`"${a}" --hook ${b} --cli hermes`,timeout:30,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){let d=a.toJS()??{},e=d.hooks&&"object"==typeof d.hooks?d.hooks:{};for(let a of r){let d=this.buildHookEntry(b,a,c),f=Array.isArray(e[a])?e[a]:[],g=f.findIndex(a=>I(a));g>=0?f[g]=d:f.push(d),e[a]=f}a.set("hooks",e),a.set("hooks_auto_accept",!0)},removeHooksFromFile(a){if(!(0,e.existsSync)(a))return 0;let b=G(a),c=(b.toJS()??{}).hooks,d=0;if(c&&"object"==typeof c){for(let a of Object.keys(c)){let b=c[a];if(!Array.isArray(b))continue;let e=b.length,f=b.filter(a=>!I(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}d>0&&(0===Object.keys(c).length?b.delete("hooks"):b.set("hooks",c))}let f=b.delete("hooks_auto_accept");return(d>0||f)&&H(a,b),d},hooksInstalledInSettings(a,b){let c=L(this,a,b);return c.length>0&&c.every(a=>(function(a){if(!(0,e.existsSync)(a))return!1;try{let b=(G(a).toJS()??{}).hooks;if(!b||"object"!=typeof b)return!1;for(let a of Object.values(b))if(Array.isArray(a)&&a.some(a=>I(a)))return!0}catch{}return!1})(a))},detectInstalled:()=>K("hermes")},openclaw:{id:"openclaw",displayName:"OpenClaw",scopes:["user"],eventTypes:["before_tool_call","after_tool_call","before_agent_run","before_agent_finalize","session_start","session_end","subagent_ended","before_compaction"],getSettingsPath:()=>(0,g.resolve)((0,m.homedir)(),".openclaw","openclaw.json"),readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:()=>({[z]:!0,_openclawPluginPath:T()}),isFailproofaiHook:a=>"string"==typeof a?U(a):!!a&&"object"==typeof a&&(!0===a[z]||"string"==typeof a.source&&U(a.source)),writeHookEntries(a){let b=a.plugins??={},c=b.load??={};Array.isArray(c.paths)||(c.paths=[]);let d=T(),e=c.paths.findIndex(a=>U(a));e>=0?c.paths[e]=d:c.paths.push(d);let f=b.entries??={},g=f[S]??={};g.enabled=!0,(g.hooks??={}).allowConversationAccess=!0},removeHooksFromFile(a){if(!(0,e.existsSync)(a))return 0;let b=this.readSettings(a),c=b.plugins;if(!c)return 0;let d=0;if(Array.isArray(c.load?.paths)){let a=c.load.paths.length;c.load.paths=c.load.paths.filter(a=>!U(a)),d+=a-c.load.paths.length,0===c.load.paths.length&&delete c.load.paths,c.load&&0===Object.keys(c.load).length&&delete c.load}return c.entries&&S in c.entries&&(delete c.entries[S],d+=1,0===Object.keys(c.entries).length&&delete c.entries),0===Object.keys(c).length&&delete b.plugins,this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c),b=a.plugins?.load?.paths,d=Array.isArray(b)&&b.some(a=>U(a)),e=a.plugins?.entries?.[S]?.enabled===!0;return d&&e}catch{return!1}},detectInstalled:()=>K("openclaw")},factory:{id:"factory",displayName:"Factory Droid",scopes:["user","project"],eventTypes:u,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".factory","hooks.json");case"project":case"local":return(0,g.resolve)(c,".factory","hooks.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli factory`:`"${a}" --hook ${b} --cli factory`,timeout:30,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){for(let d of u){let e=this.buildHookEntry(b,d,c);Array.isArray(a[d])||(a[d]=[]);let f=a[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>I(a));if(b>=0){a.hooks[b]=e,g=!0;break}}if(!g){let a="PreToolUse"===d||"PostToolUse"===d;f.push(a?{matcher:"*",hooks:[e]}:{hooks:[e]})}}},removeHooksFromFile(a){let b=this.readSettings(a),c=0;for(let a of Object.keys(b)){let d=b[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b||!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!I(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b[a]}}return this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(a&&a.hooks&&a.hooks.some(a=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("droid")},devin:{id:"devin",displayName:"Devin CLI",scopes:["user","project"],eventTypes:v,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".config","devin","config.json");case"project":case"local":return(0,g.resolve)(c,".devin","config.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli devin`:`"${a}" --hook ${b} --cli devin`,timeout:60,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),v)){let e=this.buildHookEntry(b,d,c);a.hooks[d]||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>I(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!I(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a.hooks&&a.hooks.some(a=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("devin")},antigravity:{id:"antigravity",displayName:"Antigravity CLI",scopes:["user","project"],eventTypes:w,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".gemini","config","hooks.json");case"project":case"local":return(0,g.resolve)(c,".agents","hooks.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli antigravity`:`"${a}" --hook ${b} --cli antigravity`,timeout:30,[z]:!0}),isFailproofaiHook:I,writeHookEntries(a,b,c){a[V]&&"object"==typeof a[V]||(a[V]={});let d=a[V];for(let a of w){let e=this.buildHookEntry(b,a,c);if(W.has(a)){Array.isArray(d[a])||(d[a]=[]);let b=d[a],c=!1;for(let a of b){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>I(a));if(b>=0){a.hooks[b]=e,c=!0;break}}c||b.push({matcher:"*",hooks:[e]})}else{Array.isArray(d[a])||(d[a]=[]);let b=d[a],c=b.findIndex(a=>I(a));c>=0?b[c]=e:b.push(e)}}},removeHooksFromFile(a){let b=this.readSettings(a),c=b[V];if(!c||"object"!=typeof c)return this.writeSettings(a,b),0;let d=0;for(let a of Object.keys(c)){let b=c[a];if(Array.isArray(b))if(W.has(a)){for(let a=b.length-1;a>=0;a--){let c=b[a];if(!c||!c.hooks)continue;let e=c.hooks.length;c.hooks=c.hooks.filter(a=>!I(a)),d+=e-c.hooks.length,0===c.hooks.length&&b.splice(a,1)}0===b.length&&delete c[a]}else{let e=b.length,f=b.filter(a=>!I(a));d+=e-f.length,0===f.length?delete c[a]:c[a]=f}}return 0===Object.keys(c).length&&delete b[V],this.writeSettings(a,b),d},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c)[V];if(!a||"object"!=typeof a)return!1;for(let b of Object.values(a))if(Array.isArray(b)){for(let a of b)if(I(a)||a&&Array.isArray(a.hooks)&&a.hooks.some(a=>I(a)))return!0}}catch{}return!1},detectInstalled:()=>K("agy")},goose:{id:"goose",displayName:"Goose",scopes:["user","project"],eventTypes:x,getSettingsPath(a,b){let c=b?(0,g.resolve)(b):process.cwd();switch(a){case"user":return(0,g.resolve)((0,m.homedir)(),".agents","plugins","failproofai","hooks","hooks.json");case"project":case"local":return(0,g.resolve)(c,".agents","plugins","failproofai","hooks","hooks.json")}},readSettings:a=>E(a),writeSettings(a,b){F(a,b)},buildHookEntry:(a,b,c)=>({type:"command",command:"project"===c?`npx -y failproofai --hook ${b} --cli goose`:`"${a}" --hook ${b} --cli goose`}),isFailproofaiHook:X,writeHookEntries(a,b,c){for(let d of(a.hooks||(a.hooks={}),x)){let e=this.buildHookEntry(b,d,c);Array.isArray(a.hooks[d])||(a.hooks[d]=[]);let f=a.hooks[d],g=!1;for(let a of f){if(!a.hooks)continue;let b=a.hooks.findIndex(a=>X(a));if(b>=0){a.hooks[b]=e,g=!0;break}}g||f.push({hooks:[e]})}},removeHooksFromFile(a){let b=this.readSettings(a);if(!b.hooks)return 0;let c=0;for(let a of Object.keys(b.hooks)){let d=b.hooks[a];if(Array.isArray(d)){for(let a=d.length-1;a>=0;a--){let b=d[a];if(!b||!b.hooks)continue;let e=b.hooks.length;b.hooks=b.hooks.filter(a=>!X(a)),c+=e-b.hooks.length,0===b.hooks.length&&d.splice(a,1)}0===d.length&&delete b.hooks[a]}}return 0===Object.keys(b.hooks).length&&delete b.hooks,this.writeSettings(a,b),c},hooksInstalledInSettings(a,b){let c=this.getSettingsPath(a,b);if(!(0,e.existsSync)(c))return!1;try{let a=this.readSettings(c);if(!a.hooks)return!1;for(let b of Object.values(a.hooks))if(Array.isArray(b)){for(let a of b)if(a&&a.hooks&&a.hooks.some(a=>X(a)))return!0}}catch{}return!1},detectInstalled:()=>K("goose")}};function Z(a){let b=Y[a];if(!b)throw Error(`"${a}" is audit-only — live-hook install is not supported for it yet. Installable: ${o.filter(a=>void 0!==Y[a]).join(", ")}`);return b}function $(){return o.filter(a=>Y[a]?.detectInstalled())}var _=a.i(1457);let aa={rgb:[102,209,181],basic:"36"},ab={rgb:[255,46,136],basic:"95"},ac={rgb:[228,88,124],basic:"95"},ad={rgb:[227,179,65],basic:"33"},ae={rgb:[107,118,132],basic:"2"};function af(a,b){let c=0,d="",e=0;for(;e<a.length;)if("\x1b"===a[e]&&"["===a[e+1]){let b=e+2;for(;b<a.length&&!/[A-Za-z]/.test(a[b]);)b++;b++,d+=a.slice(e,b),e=b}else{if(c>=b)break;d+=a[e],c++,e++}return d}aa.rgb,ac.rgb,Symbol("failproofai.back"),Object.values({on:"✓ ON",off:"· OFF",mixed:"◐ MIXED",locked:"✓ LOCK",cloud:"✓ CLOUD",pack:"✓ PACK",failed:"⚠ FAIL",observe:"◉ OBS"}).map(a=>a.length);var ag=a.i(92956),ah=a.i(98378),ai=a.i(69839);async function aj(a,b={}){let c,d,{includeBeta:e=!1}=b;if(!process.stdin.isTTY){let b=ag.BUILTIN_POLICIES.filter(a=>e||!a.beta);return a?[...a]:b.filter(a=>a.defaultEnabled).map(a=>a.name)}let f=a?new Set(a):null,g=ag.BUILTIN_POLICIES.filter(a=>e||!a.beta).map(a=>({name:a.name,description:a.description,category:a.category,selected:f?f.has(a.name):a.defaultEnabled,beta:!!a.beta})),h=a?a.filter(a=>!g.some(b=>b.name===a)):[],i=g.length,j=!process.env.NO_COLOR,k=(c=j&&/truecolor|24bit/i.test(process.env.COLORTERM||""),{bold:a=>j?`\x1b[1m${a}\x1b[0m`:a,dim:(d=(a,b=!1)=>d=>{if(!j)return d;let e=c?`38;2;${a.rgb[0]};${a.rgb[1]};${a.rgb[2]}`:a.basic;return`\x1b[${b?"1;":""}${e}m${d}\x1b[0m`})(ae),guide:d(aa),pink:d(ab),pinkBold:d(ab,!0),softPink:d(ac),warn:d(ad)}),{dim:l,bold:m}=k,n=k.guide,o=k.pinkBold,p=k.pink,q=k.softPink,r=Math.min(34,Math.max(10,...g.map(a=>a.name.length))),s=0,t="",u=0,v=!1;function w(){if(!t)return g;let a=t.toLowerCase();return g.filter(b=>b.name.toLowerCase().includes(a)||b.description.toLowerCase().includes(a))}function x(){let a=process.stdout.columns||100;v||(process.stdout.write("\x1b[?25l"),v=!0);let b=w(),c=b.length;c>0&&s>=c&&(s=c-1);let d=g.filter(a=>a.selected).length,e=l("│"),f=[];f.push(e),f.push(`${n("◆")} ${m("Choose the policies to enable")} ${l("·")} ${n(String(d))} ${l("selected")}`);let h=t?l(`${c}/${i} shown`):l(`${i} policies`);if(f.push(`${e} ${l("filter ›")} ${t}${j?"\x1b[7m \x1b[0m":"_"} ${h}`),f.push(e),0===c){f.push(`${e} ${l(`no policies match “${t}”`)}`);for(let a=0;a<11;a++)f.push(e)}else{let c=function(a){let b=[],c=new Map,d=new Map;for(let a of g)c.has(a.category)||(b.push(a.category),c.set(a.category,0),d.set(a.category,0)),d.set(a.category,d.get(a.category)+1),a.selected&&c.set(a.category,c.get(a.category)+1);let e=new Map;for(let b of a){let a=e.get(b.category)??[];a.push(b),e.set(b.category,a)}let f=[],h=0;for(let a of b){let b=e.get(a);if(b&&0!==b.length)for(let e of(f.push({kind:"header",category:a,enabledCount:c.get(a),totalCount:d.get(a)}),b))f.push({kind:"item",item:e,filteredIndex:h++})}return f}(b),d=0;for(let a=0;a<c.length;a++){let b=c[a];if("item"===b.kind&&b.filteredIndex===s){d=a;break}}let h=d-Math.floor(5);h=Math.min(h=Math.max(0,h),Math.max(0,c.length-10));let i=Math.min(c.length,h+10),j=c.slice(0,h).filter(a=>"item"===a.kind).length;f.push(j>0?`${e} ${l(`↑ ${j} more`)}`:e);for(let b=h;b<i;b++){let d=c[b];if("header"===d.kind)f.push(`${e} ${l(d.category.toUpperCase())} ${l(`${d.enabledCount}/${d.totalCount}`)}`);else{let b=d.item,c=d.filteredIndex===s,g=b.selected?p("◼"):l("◻"),h=b.name.padEnd(r),i=c?o(h):b.selected?h:l(h),j=b.beta?` ${q("beta")}`:"",k=Math.max(8,a-r-8-5*!!b.beta),m=l(af(b.description,k));f.push(`${e} ${g} ${i}${j} ${m}`)}}for(let a=i-h;a<10;a++)f.push(e);let k=c.slice(i).filter(a=>"item"===a.kind).length;f.push(k>0?`${e} ${l(`↓ ${k} more`)}`:e)}f.push(e),f.push(`${e} ${l("↑/↓ move · space select · ctrl+a all · ↵ save · type to filter · esc clear")}`),u>0&&process.stdout.write(`\x1b[${u}A\x1b[J`),process.stdout.write(f.map(b=>af(b,a)).join("\n")+"\n"),u=f.length}return new Promise(a=>{function b(b,d){if(!d)return;d.ctrl&&"c"===d.name&&(c(),process.exit(0));let e=w();if("up"===d.name)e.length>0&&(s=s>0?s-1:e.length-1),x();else if("down"===d.name)e.length>0&&(s=s<e.length-1?s+1:0),x();else if("space"===d.name){let a=e[s];a&&(a.selected=!a.selected),x()}else if("return"===d.name||d.ctrl&&"s"===d.name){c();let b=g.filter(a=>a.selected).map(a=>a.name);u>0&&process.stdout.write(`\x1b[${u}A\x1b[J`);let d=h.length>0?`${b.length} selected, kept ${h.join(", ")}`:`${b.length} selected`;process.stdout.write(`${l("│")}
|
|
231
|
+
${l("◇")} Policies
|
|
232
|
+
${l("│")} ${l(d)}
|
|
233
|
+
`),a([...b,...h])}else if("escape"===d.name)t="",s=0,x();else if(d.ctrl&&"a"===d.name){let a=e.length>0&&e.every(a=>a.selected);for(let b of e)b.selected=!a;x()}else"backspace"===d.name||"delete"===d.name?t.length>0&&(t=t.slice(0,-1),s=0,x()):!b||1!==b.length||d.ctrl||d.meta||(t+=b,s=0,x())}function c(){v&&(process.stdout.write("\x1b[?25h"),v=!1),process.stdin.removeListener("keypress",b),process.stdin.setRawMode(!1),process.stdin.pause()}x(),process.stdin.setRawMode(!0),process.stdin.resume(),_.emitKeypressEvents(process.stdin),process.stdin.on("keypress",b)})}var ak=a.i(15638);class al extends Error{exitCode;constructor(a,b=1){super(a),this.name="CliError",this.exitCode=b}}a.i(10695);let am=[1],an=/^[a-f0-9]{64}$/,ao=/^[A-Za-z0-9._-]{1,64}\/[A-Za-z0-9._-]{1,64}$/,ap=/^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$/,aq=/^[A-Za-z0-9._-]{1,128}$/;function ar(){return process.env.FAILPROOFAI_PACK_DIR??(0,h.packsDir)()}function as(a){if("string"!=typeof a.id||!ao.test(a.id))throw Error(`unsafe pack id ${JSON.stringify(a.id)}`);if("string"!=typeof a.version||!ap.test(a.version))throw Error(`invalid version for pack ${a.id}`);if(void 0!==a.effect&&"enforce"!==a.effect&&"observe"!==a.effect)throw Error(`unknown effect ${JSON.stringify(a.effect)} for pack ${a.id}`);return{id:a.id,version:a.version,effect:a.effect??"enforce"}}function at(){return process.env.FAILPROOFAI_PACK_DIR?(0,g.resolve)(process.env.FAILPROOFAI_PACK_DIR,"installed.json"):(0,h.packsInstalledFile)()}function au(a,b,c){let d=`${a} policy #${c}`;if(!b||"object"!=typeof b)throw Error(`${d} is not an object`);let e=b.name;if("string"!=typeof e||!aq.test(e))throw Error(`${d} has an unsafe name ${JSON.stringify(e)}`);if("alwaysOn"in b)throw Error(`${d} declares alwaysOn, which packs may not set`);if("string"!=typeof b.description||0===b.description.length)throw Error(`${d} is missing a description`);if("string"!=typeof b.category||0===b.category.length)throw Error(`${d} is missing a category`);if("boolean"!=typeof b.defaultEnabled)throw Error(`${d} is missing defaultEnabled`);if(!b.match||"object"!=typeof b.match)throw Error(`${d} is missing a match`);return b}function av(){let a,b=at();if(!(0,e.existsSync)(b))return{packs:[],errors:[]};try{a=JSON.parse((0,e.readFileSync)(b,"utf8"))}catch(a){return{packs:[],errors:[{id:null,reason:`unreadable pack manifest: ${aw(a)}`}]}}if(!a||"object"!=typeof a)return{packs:[],errors:[{id:null,reason:"pack manifest is not an object"}]};let c=a;if(!am.includes(c.schemaVersion))return{packs:[],errors:[{id:null,reason:`unsupported pack manifest schema ${String(c.schemaVersion)} (supported: ${am.join(", ")})`}]};if(!Array.isArray(c.packs))return{packs:[],errors:[{id:null,reason:"pack manifest packs is not an array"}]};let d=ar(),h=[],i=[],j=new Set;for(let a of c.packs){let b=a&&"object"==typeof a&&"string"==typeof a.id?a.id:null;try{let b=function(a,b){if(!b||"object"!=typeof b)throw Error("pack entry is not an object");let c=as(b);if("string"!=typeof b.source||0===b.source.length)throw Error(`pack ${b.id} has no source`);if("string"!=typeof b.sha256||!an.test(b.sha256))throw Error(`invalid SHA-256 for pack ${b.id}`);let d=c.effect,h=function(a,b){if(!b||(0,g.isAbsolute)(b))throw Error(`unsafe managed policy path ${JSON.stringify(b)}`);let c=(0,g.resolve)(a,b),d=(0,g.relative)(a,c);if(d.startsWith("..")||(0,g.isAbsolute)(d))throw Error(`managed policy path escapes its root: ${JSON.stringify(b)}`);let f=(0,e.realpathSync)(a),h=(0,e.realpathSync)(c),i=(0,g.relative)(f,h);if(i.startsWith("..")||(0,g.isAbsolute)(i))throw Error(`managed policy symlink escapes its root: ${JSON.stringify(b)}`);return h}(a,b.entry),i=(0,f.createHash)("sha256").update((0,e.readFileSync)(h)).digest("hex");if(i!==b.sha256)throw Error(`pack ${b.id} failed integrity verification: expected ${b.sha256}, got ${i}`);if(!Array.isArray(b.policies))throw Error(`pack ${b.id} policies is not an array`);let j=b.policies.map((a,c)=>au(b.id,a,c)),k=new Set;for(let a of j){if(k.has(a.name))throw Error(`pack ${b.id} declares ${a.name} twice`);k.add(a.name)}let l=null;if(void 0!==b.enabled){if(!Array.isArray(b.enabled)||b.enabled.some(a=>"string"!=typeof a))throw Error(`pack ${b.id} enabled is not an array of names`);l=b.enabled.filter(a=>k.has(a))}return{id:c.id,version:c.version,source:b.source,path:h,sha256:b.sha256,effect:d,policies:j,enabled:l}}(d,a);if(j.has(b.id))throw Error(`duplicate pack id ${b.id}`);j.add(b.id),h.push(b)}catch(d){let c=a&&("observe"===a.effect||"enforce"===a.effect)?a.effect:"enforce";i.push({id:b,reason:aw(d),effect:c,...Array.isArray(a?.policies)?{declared:function(a){let b=[];for(let c of a)c&&"object"==typeof c&&"string"==typeof c.name&&c.match&&"object"==typeof c.match&&b.push(c);return b}(a.policies)}:{}})}}return{packs:h,errors:i}}function aw(a){return a instanceof Error?a.message:String(a)}let ax="failproofai-pack.json",ay="failproofai-pack.mjs",az="SHA256SUMS";function aA(){return(process.env.FAILPROOFAI_PACK_BASE_URL||"https://github.com").replace(/\/+$/,"")}let aB=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,aC=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,127}$/;function aD(a){let b=a.trim();if(0===b.length)throw Error("pack source is empty");let c=b.match(/^(?:https?:\/\/)?(?:www\.)?github\.com\/(.+)$/i);if(c){let[a,b,...d]=c[1].replace(/\/+$/,"").split("/"),e=null;if("releases"===d[0]&&("tag"===d[1]||"download"===d[1])){let a=d.slice(2);e=("download"===d[1]?a.slice(0,-1):a).join("/")||null}else"releases"===d[0]&&"latest"===d[1]&&(e=null);return aE(a,b,e)}let d=b.replace(/^github:/i,""),e=d.lastIndexOf("@"),f=e>0?d.slice(0,e):d,g=e>0?d.slice(e+1):null,h=f.indexOf("/");if(h<=0||h===f.length-1)throw Error(`pack source must be owner/repo, owner/repo@tag, or a github.com URL — got ${JSON.stringify(a)}`);return aE(f.slice(0,h),f.slice(h+1),g)}function aE(a,b,c){if(!a||!aB.test(a))throw Error(`unsafe owner ${JSON.stringify(a)}`);if(!b||!aB.test(b))throw Error(`unsafe repo ${JSON.stringify(b)}`);if(null!==c&&!aC.test(c))throw Error(`unsafe tag ${JSON.stringify(c)}`);return{owner:a,repo:b,tag:c}}async function aF(a){let b=`${aA()}/${a.owner}/${a.repo}/releases/latest`,c=await fetch(b,{signal:AbortSignal.timeout(3e4),redirect:"manual"}),d=c.headers.get("location");if(!d)throw Error(`could not resolve the newest release of ${a.owner}/${a.repo} (GET ${b} returned ${c.status} with no redirect). Name a tag explicitly.`);let e=d.match(/\/releases\/tag\/(.+)$/);if(!e)throw Error(`unexpected redirect from ${b}: ${d}`);let f=decodeURIComponent(e[1]).replace(/\/+$/,"");if(!aC.test(f))throw Error(`unsafe tag ${JSON.stringify(f)} from ${b}`);return f}function aG(a){return`github:${a.owner}/${a.repo}@${a.tag}`}function aH(a,b){return`${aA()}/${a.owner}/${a.repo}/releases/download/${a.tag}/${b}`}async function aI(a){let b=await fetch(a,{signal:AbortSignal.timeout(3e4),redirect:"follow"});if(!b.ok)throw Error(`GET ${a} returned ${b.status}`);let c=b.headers.get("content-length");if(null!==c){let d=Number(c);if(Number.isFinite(d)&&d>8388608)throw await b.body?.cancel(),Error(`${a} declares ${d} bytes, over the 8388608 limit`)}if(!b.body)return Buffer.alloc(0);let d=[],e=b.body.getReader(),f=0;try{for(;;){let{done:b,value:c}=await e.read();if(b)break;if((f+=c.byteLength)>8388608)throw await e.cancel(),Error(`${a} is over the 8388608 byte limit`);d.push(Buffer.from(c))}}finally{e.releaseLock()}return Buffer.concat(d,f)}function aJ(a,b){for(let c of a.split("\n")){let a=c.trim().match(/^([0-9a-f]{64})\s+\*?(.+)$/i);if(a&&a[2].trim()===b)return a[1].toLowerCase()}return null}function aK(a){return(0,f.createHash)("sha256").update(a).digest("hex")}function aL(a,b){let c=`${a}.${process.pid}.tmp`;try{(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0}),(0,e.writeFileSync)(c,b),(0,e.renameSync)(c,a)}catch(a){throw(0,e.rmSync)(c,{force:!0}),a}}let aM=new Set(["core","failproofai","official"]);async function aN(a,b={}){if(aM.has(a.trim().toLowerCase())){let a=aV(b);if(!a.installed)throw Error(a.reason??"could not install");return{id:a.id,version:a.version,enabled:a.enabled??a.available??[],available:a.available??[],bundled:!0}}let c=await aU(a,b);return{id:c.id,version:c.version,enabled:c.enabled,available:c.available,bundled:!1,source:c.source,tag:c.tag,resolvedFromLatest:c.resolvedFromLatest,selection:c.selection,categories:c.categories}}async function aO(a){let b;if("1"===process.env.FAILPROOFAI_NO_DOWNLOAD)throw Error("FAILPROOFAI_NO_DOWNLOAD is set, so nothing can be fetched to preview");let c=aD(a),d=null===c.tag,e=null!==c.tag?{...c,tag:c.tag}:{...c,tag:await aF(c)},f=(await aI(aH(e,az))).toString("utf8"),g=await aI(aH(e,ax)),h=aJ(f,ax);if(!h)throw Error(`${az} has no entry for ${ax}`);if(aK(g)!==h)throw Error(`${ax} failed integrity verification`);try{b=JSON.parse(g.toString("utf8"))}catch(a){throw Error(`${ax} is not valid JSON: ${aY(a)}`)}if(!b||"object"!=typeof b)throw Error(`${ax} is not an object`);let i=b,j=as(i);if(!Array.isArray(i.policies)||0===i.policies.length)throw Error("pack manifest declares no policies");return{id:j.id,version:j.version,effect:j.effect,policies:i.policies.map((a,b)=>au(j.id,a,b)),source:aG(e),resolvedFromLatest:d}}function aP(a,b){let c=av().packs;return c.find(b=>b.id===a)??c.find(a=>a.sha256===b)}async function aQ(a){let b,c=(await aI(aH(a,az))).toString("utf8"),d=await aI(aH(a,ax)),e=aJ(c,ax);if(!e)throw Error(`${az} has no entry for ${ax}`);if(aK(d)!==e)throw Error(`${ax} failed integrity verification`);let f=await aI(aH(a,ay)),g=aJ(c,ay);if(!g)throw Error(`${az} has no entry for ${ay}`);let h=aK(f);if(h!==g)throw Error(`${ay} failed integrity verification`);try{b=JSON.parse(d.toString("utf8"))}catch(a){throw Error(`${ax} is not valid JSON: ${aY(a)}`)}if(!b||"object"!=typeof b)throw Error(`${ax} is not an object`);let i=b,j=as(i);if(!Array.isArray(i.policies)||0===i.policies.length)throw Error("pack manifest declares no policies");let k=i.policies.map((a,b)=>au(j.id,a,b));return{id:j.id,version:j.version,policies:k,...void 0!==i.effect?{effect:j.effect}:{},artifact:f,artifactDigest:h}}function aR(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function aS(a,b,c,d){let e=a.map(a=>a.name);if(b?.all)return{enabled:null,reason:"all"};let f=new Set;if(b?.categories?.length){let c=new Set(b.categories.map(aR)),d=new Map(a.map(a=>[aR(a.category),a.category])),e=[...c].filter(a=>!d.has(a));if(e.length>0)throw Error(`no such categor${1===e.length?"y":"ies"}: ${e.join(", ")} (has: ${[...new Set(a.map(a=>aR(a.category)))].join(", ")})`);for(let b of a)c.has(aR(b.category))&&f.add(b.name)}if(b?.only?.length){let a=b.only.filter(a=>!e.includes(a));if(a.length>0)throw Error(`pack does not contain ${a.join(", ")}`);for(let a of b.only)f.add(a)}return f.size>0?{enabled:e.filter(a=>f.has(a)),reason:"selected"}:d?{enabled:null===c?null:c??null,reason:"carried"}:{enabled:a.filter(a=>a.defaultEnabled).map(a=>a.name),reason:"defaults"}}async function aT(b,c){let d,{loadCustomHooks:e}=await a.A(6188);try{d=(await e(b,{strict:!0})).map(a=>a.name)}catch(a){throw Error(`its artifact could not be loaded: ${a instanceof Error?a.message:String(a)}`)}let f=c.filter(a=>!d.includes(a)),g=d.filter(a=>!c.includes(a));if(f.length>0)throw Error(`its manifest declares ${f.join(", ")} but the artifact does not register ${1===f.length?"it":"them"} — that would install as protection that never runs`);if(g.length>0)throw Error(`its artifact registers undeclared ${g.join(", ")} — a policy that enforces but appears in no listing cannot be reviewed or switched off`)}async function aU(a,b){if(process.env.FAILPROOFAI_NO_DOWNLOAD)throw Error("pack downloads are disabled (FAILPROOFAI_NO_DOWNLOAD). Already-installed packs keep enforcing.");let c=aD(a),d=c.tag?{...c,tag:c.tag}:{...c,tag:await aF(c)},f=null===c.tag,h=await aQ(d),i=h.policies.map(a=>a.name),j=aP(h.id,h.artifactDigest),{enabled:k,reason:l}=aS(h.policies,b,j?.enabled?j.enabled.filter(a=>i.includes(a)):j?.enabled,!!j),m=ar(),n=`artifacts/${h.artifactDigest}.mjs`,o=(0,g.resolve)(m,n);(0,e.existsSync)(o)||aL(o,h.artifact);try{await aT(o,i)}catch(a){throw Error(`${h.id}@${h.version} was not installed: ${a instanceof Error?a.message:String(a)}`)}let p=a=>{let b=a.lastIndexOf("@");return b>a.indexOf(":")?a.slice(0,b):a};if(j&&!j.source.startsWith("bundled:")&&p(j.source)!==p(aG(d)))throw Error(`pack id ${h.id} is already installed from ${j.source}. Refusing to replace it with ${aG(d)} — remove it first if that is what you mean.`);let q={id:h.id,version:h.version,source:aG(d),entry:n,sha256:h.artifactDigest,policies:h.policies,...h.effect?{effect:h.effect}:{},...k?{enabled:k}:{}};return{replaced:aX(q),id:h.id,version:h.version,source:q.source,tag:d.tag,resolvedFromLatest:f,enabled:k??i,available:i,selection:l,categories:[...new Set(h.policies.map(a=>aR(a.category)))],artifact:o}}function aV(a){let b=function(){let a=process.env.FAILPROOFAI_PACKAGE_ROOT;if(!a)return null;let b=(0,g.resolve)(a,"policy-pack");return(0,e.existsSync)((0,g.resolve)(b,ax))?b:null}();if(!b)return{installed:!1,reason:"this build ships no bundled pack"};try{let c=(0,e.readFileSync)((0,g.resolve)(b,az),"utf8"),d=(0,e.readFileSync)((0,g.resolve)(b,ax)),f=(0,e.readFileSync)((0,g.resolve)(b,ay)),h=aJ(c,ax),i=aJ(c,ay),j=aK(f);if(!h||aK(d)!==h)return{installed:!1,reason:`${ax} failed integrity verification`};if(!i||j!==i)return{installed:!1,reason:`${ay} failed integrity verification`};let k=JSON.parse(d.toString("utf8"));if(!Array.isArray(k.policies))return{installed:!1,reason:"bundled pack manifest is malformed"};let l=as(k),m=k.policies.map((a,b)=>au(l.id,a,b)),n=ar(),o=`artifacts/${j}.mjs`,p=(0,g.resolve)(n,o);(0,e.existsSync)(p)||aL(p,f);let q=aP(l.id,j),r=m.map(a=>a.name),{enabled:s}=aS(m,a,q?.enabled?q.enabled.filter(a=>r.includes(a)):q?.enabled,!!q),t=aX({id:l.id,version:l.version,source:`bundled:${l.id}@${l.version}`,entry:o,sha256:j,policies:m,...void 0!==k.effect?{effect:l.effect}:{},...s?{enabled:s}:{}});return{installed:!0,id:l.id,version:l.version,enabled:s??r,available:r,...t.length>0?{replaced:t}:{}}}catch(a){return{installed:!1,reason:aY(a)}}}function aW(a,b,c){let d,f=(0,g.resolve)(ar(),"installed.json");if(!(0,e.existsSync)(f))return{ok:!1,reason:"no packs are installed"};try{d=JSON.parse((0,e.readFileSync)(f,"utf8"))}catch{return{ok:!1,reason:`pack manifest at ${f} is unreadable`}}let h=Array.isArray(d.packs)?d.packs:[],i=h.find(b=>b?.id===a);if(!i)return{ok:!1,reason:`no installed pack with id ${a}`};let j=(Array.isArray(i.policies)?i.policies:[]).map(a=>"string"==typeof a?.name?a.name:null).filter(a=>null!==a);if(!j.includes(b))return{ok:!1,reason:`pack ${a} declares no policy named ${b}`};let k=i.enabled??j,l=c?[...new Set([...k,b])]:k.filter(a=>a!==b);return i.enabled=j.filter(a=>l.includes(a)),aL(f,JSON.stringify({schemaVersion:1,packs:h},null,2)+"\n"),{ok:!0}}function aX(a){let b=(0,g.resolve)(ar(),"installed.json"),c=[];if((0,e.existsSync)(b))try{let a=JSON.parse((0,e.readFileSync)(b,"utf8"));Array.isArray(a.packs)&&(c=a.packs)}catch{throw Error(`existing pack manifest at ${b} is unreadable; move it aside and re-add`)}let d=c.filter(b=>b?.sha256===a.sha256&&b?.id!==a.id).map(a=>a.id);if(!a.enabled){let b=c.find(a=>d.includes(a?.id)),e=b?.enabled?.filter(b=>a.policies?.some(a=>a?.name===b));e&&e.length>0&&(a.enabled=e)}let f=c.filter(a=>!d.includes(a?.id)),h=f.findIndex(b=>b?.id===a.id);return h>=0?f[h]=a:f.push(a),aL(b,JSON.stringify({schemaVersion:1,packs:f},null,2)+"\n"),d}function aY(a){return a instanceof Error?a.message:String(a)}let aZ=new Set(ag.BUILTIN_POLICIES.map(a=>a.name));function a$(a,b){return M.getSettingsPath(a,b)}function a_(a){let b=[],c=[],d=[],e=[];try{e=av().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 al(`"${e}" is declared by ${a.length} installed packs.
|
|
234
|
+
Name the one you mean:
|
|
235
|
+
`+a.map(a=>` ${a.packId}:${a.name}`).join("\n"));if(aZ.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 al(`"${e}" is declared by ${i.length} installed packs.
|
|
236
|
+
Name the one you mean:
|
|
237
|
+
`+i.map(a=>` ${a.packId}:${a.name}`).join("\n"));d.push(e)}if(d.length>0){let a=e.flatMap(a=>a.policies.map(b=>`${a.id}:${b.name}`));throw new al(`Unknown policy name(s): ${d.join(", ")}
|
|
238
|
+
Valid policies: ${[...aZ].join(", ")}`+(a.length>0?`
|
|
239
|
+
From installed packs: ${a.join(", ")}`:""))}return{builtins:b,packs:c}}function a0(a,b,c,d){if(0!==a.length){for(let c of a){let a=aW(c.packId,c.name,b);if(!a.ok)throw new al(`Could not ${b?"enable":"disable"} ${c.name}: ${a.reason}`)}if(b){let b=(0,k.readScopedHooksConfig)(c,d),e=new Set(a.map(a=>a.disabledKey)),f=(b.disabledCustomPolicies??[]).filter(a=>!e.has(a));if(f.length!==(b.disabledCustomPolicies??[]).length){let a={...b,disabledCustomPolicies:f};0===f.length&&delete a.disabledCustomPolicies,(0,k.writeScopedHooksConfig)(a,c,d)}}for(let c of a)console.log(`${b?"Enabled":"Disabled"} ${c.name} from pack ${c.packId}@${c.packVersion}.`)}}function a1(a,b){return M.hooksInstalledInSettings(a,b)}async function a2(a,b="user",c,d=!1,e,f,g=!1,h,i={}){let{replace:j=!1,quiet:k=!1}=i;if(!k)return a3(a,b,c,d,e,f,g,h,j);let l=console.log;console.log=()=>{};try{return await a3(a,b,c,d,e,f,g,h,j)}finally{console.log=l}}async function a3(a,b="user",c,d=!1,f,h,i=!1,j,o=!1){let p,q;if(void 0!==a&&a.length>0){let d=a.filter(a=>"all"!==a);if(d.length>0){let e=a_(d);if(a0(e.packs,!0,b,c),e.packs.length>0&&0===(a=a.filter(a=>"all"===a||e.builtins.includes(a))).length)return}if(a.includes("all")&&d.length>0)throw new al(`"all" cannot be combined with specific policy names.
|
|
240
|
+
Use either: --install all or --install block-sudo sanitize-jwt ...`)}let r=j&&j.length>0?[...new Set(j)]:["claude"];for(let a of r){let c=Z(a);if(!c.scopes.includes(b)){try{await (0,ah.trackHookEvent)((0,ai.getInstanceId)(),"scope_validation_failed",{cli:a,scope:b,supported_scopes:c.scopes})}catch{}throw new al(`Scope "${b}" is not supported by ${c.displayName}. Valid scopes: ${c.scopes.join(", ")}`)}}let s=function(){let a=process.env.FAILPROOFAI_BINARY_OVERRIDE;if(a&&a.trim())return a.trim();try{return(0,l.execSync)("which failproofai",{encoding:"utf8"}).trim().split("\n")[0].trim()}catch{throw new al("failproofai binary not found in PATH.\nInstall it globally first: npm install -g failproofai")}}(),t=(0,k.readScopedHooksConfig)(b,c),u=new Set(t.enabledPolicies);if(void 0!==a){let b;b=1===a.length&&"all"===a[0]?ag.BUILTIN_POLICIES.filter(a=>d||!a.beta).map(a=>a.name):a,p=o?[...new Set(b)]:[...new Set([...t.enabledPolicies,...b])]}else{let a=t.enabledPolicies.length>0?t.enabledPolicies:void 0;p=await aj(a,{includeBeta:d})}let v={...t,enabledPolicies:p};if(i)delete v.customPoliciesPath,delete v.customPoliciesPaths;else if(h&&("string"==typeof h||h.length>0)){let a=("string"==typeof h?[h]:h).map(a=>(0,g.resolve)(a)),c=(t.customPoliciesPaths??(t.customPoliciesPath?[t.customPoliciesPath]:[])).map(a=>(0,g.resolve)(a)).filter(a=>!!(0,e.existsSync)(a)||(console.log(`Dropping custom policies path (file no longer exists): ${a}`),!1));for(let d of(v.customPoliciesPaths=o?[...new Set(a)]:[...new Set([...c,...a])],delete v.customPoliciesPath,a)){let a=[];try{a=await (0,ak.loadCustomHooks)(d,{strict:!0})}catch(c){let a=c instanceof Error?c.message:String(c);try{await (0,ah.trackHookEvent)((0,ai.getInstanceId)(),"custom_policy_validation_failed",{scope:b,error_type:/not found/i.test(a)?"file_not_found":"load_error"})}catch{}console.error(`Error: ${a}`),process.exit(1)}if(0===a.length){try{await (0,ah.trackHookEvent)((0,ai.getInstanceId)(),"custom_policy_validation_failed",{scope:b,error_type:"no_hooks_registered"})}catch{}console.error(`Error: no hooks registered in ${d}. Make sure your file calls customPolicies.add(...) at least once.`),process.exit(1)}console.log(`
|
|
241
|
+
Validated ${a.length} custom hook(s) from ${d}: ${a.map(a=>a.name).join(", ")}`)}}(0,k.writeScopedHooksConfig)(v,b,c);let w=new Set(ag.BUILTIN_POLICIES.filter(a=>a.alwaysOn).map(a=>a.name)),x=p.filter(a=>!w.has(a));if(x.length>0){if(!function(){try{let a=JSON.parse((0,e.readFileSync)(at(),"utf8"));return Array.isArray(a.packs)&&a.packs.length>0}catch{return!1}}()){let a=aV({only:x});a.installed||console.log(`
|
|
242
|
+
Warning: could not install the policy pack (${a.reason}).
|
|
243
|
+
Nothing is enforcing yet — run \`failproofai pack add core\` once that is fixed.`)}else for(let a of x)for(let b of av().packs)if(b.policies.some(b=>b.name===a)){aW(b.id,a,!0);break}}if(console.log(`
|
|
244
|
+
Enabled ${p.length} policy(ies): ${p.join(", ")}
|
|
245
|
+
`),i)console.log("Custom hooks path cleared.");else if(v.customPoliciesPaths?.length||v.customPoliciesPath){let a=v.customPoliciesPaths??[v.customPoliciesPath];console.log(`Custom hooks paths: ${a.join(", ")}`)}let y=[];for(let a of r){let d=Z(a),e=L(d,b,c);try{for(let c of e){let e=d.readSettings(c);d.writeHookEntries(e,s,b),d.writeSettings(c,e),y.push({cli:a,path:c})}}catch(d){let c=d instanceof Error&&/EACCES|EPERM/.test(d.message)?"permission_denied":d instanceof Error&&/ENOENT|ENOTDIR/.test(d.message)?"path_not_found":"write_error";try{await (0,ah.trackHookEvent)((0,ai.getInstanceId)(),"hook_write_failed",{cli:a,scope:b,error_type:c})}catch{}throw d}}try{let a=new Set(p),c=p.filter(a=>!u.has(a)),e=[...u].filter(b=>!a.has(b)),g=(0,ai.getInstanceId)();if(await (0,ah.trackHookEvent)(g,"hooks_installed",{scope:b,cli:r,cli_count:r.length,policies:p,policy_count:p.length,policies_added:c,policies_removed:e,...f?{source:f}:{},platform:(0,m.platform)(),arch:(0,m.arch)(),os_release:(0,m.release)(),hostname_hash:(0,ai.hashToId)((0,m.hostname)()),has_custom_hooks_path:!!(v.customPoliciesPaths?.length||v.customPoliciesPath),has_policy_params:!!(v.policyParams&&Object.keys(v.policyParams).length>0),param_policy_names:v.policyParams?Object.keys(v.policyParams):[],command_format:"project"===b?"npx":"absolute"}),d){let a=new Set(ag.BUILTIN_POLICIES.filter(a=>a.beta).map(a=>a.name)),c=p.filter(b=>a.has(b));c.length>0&&await (0,ah.trackHookEvent)(g,"beta_policies_installed",{scope:b,cli:r,beta_count:c.length,beta_policy_names:c,...f?{source:f}:{}})}}catch{}for(let{cli:a,path:c}of y){let d=Z(a);console.log(`Failproof AI hooks installed for ${d.displayName} (${d.eventTypes.length} event types, scope: ${b}).`),console.log(`Settings: ${c}`)}"project"===b?(console.log("Command: npx -y failproofai"),console.log(`
|
|
246
|
+
This file can be committed to git — no machine-specific paths.`)):console.log(`Binary: ${s}`);let z=(q=new Set,n.filter(a=>{let b=a$(a,c);return!q.has(b)&&(q.add(b),!0)})).filter(a=>a!==b).filter(a=>a1(a,c));if(z.length>0){let a=z.map(a=>`${a} (${function(a){switch(a){case"user":return"~/.claude/settings.json";case"project":return"{cwd}/.claude/settings.json";case"local":return"{cwd}/.claude/settings.local.json"}}(a)})`).join(", ");console.log(),console.log(`\x1b[33mWarning: Failproof AI hooks are also installed at ${a}.\x1b[0m`),console.log("Having hooks in multiple scopes may cause duplicate policy evaluation."),console.log(`Use \`failproofai policies --uninstall --scope ${z[0]}\` to remove the other installation,`),console.log("or `failproofai policies` to see all scopes.");try{await (0,ah.trackHookEvent)((0,ai.getInstanceId)(),"multi_scope_warning_shown",{new_scope:b,existing_scopes:z,cli:r})}catch{}}}async function a4(a,b="user",c,d){let f="all"===b?"user":b,g=d?.cli&&d.cli.length>0?[...new Set(d.cli)]:["claude"];if(d?.removeCustomHooks){let a=(0,k.readScopedHooksConfig)(f,c);delete a.customPoliciesPath,delete a.customPoliciesPaths,(0,k.writeScopedHooksConfig)(a,f,c),console.log("Custom hooks path cleared.")}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let b=a_(a);a0(b.packs,!1,f,c);var h=a=b.builtins;let d=new Set(ag.BUILTIN_POLICIES.filter(a=>a.alwaysOn).map(a=>a.name)),e=h.filter(a=>d.has(a));if(e.length>0)throw new al(`Cannot disable: ${e.join(", ")}
|
|
247
|
+
This policy stops an agent from switching off failproofai itself, so it is always on and ships with the package. A guard the agent can disable by the means it is meant to prevent is not a guard.`);if(b.packs.length>0&&0===a.length)return}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let e=(0,k.readScopedHooksConfig)(f,c),h=new Set(a),i=e.enabledPolicies.filter(a=>!h.has(a)),j=a.filter(a=>!e.enabledPolicies.includes(a));j.length>0&&console.log(`Warning: policy(ies) not currently enabled: ${j.join(", ")}`);let{policyParams:l,...n}=e,o=l?Object.fromEntries(Object.entries(l).filter(([a])=>!h.has(a))):null,p={...n,enabledPolicies:i,...o&&Object.keys(o).length>0?{policyParams:o}:{}};(0,k.writeScopedHooksConfig)(p,f,c);try{let c=(0,ai.getInstanceId)(),f=a.filter(a=>e.enabledPolicies.includes(a));await (0,ah.trackHookEvent)(c,"hooks_removed",{scope:b,cli:g,removal_mode:d?.betaOnly?"beta_policies":"policies",beta_only:d?.betaOnly??!1,policies_removed:f,removed_count:f.length,...d?.source?{source:d.source}:{},platform:(0,m.platform)(),arch:(0,m.arch)(),os_release:(0,m.release)(),hostname_hash:(0,ai.hashToId)((0,m.hostname)())})}catch{}console.log(`Disabled ${a.length-j.length} policy(ies).`),console.log(`Remaining: ${i.length>0?i.join(", "):"(none)"}`);return}let i=(0,k.readScopedHooksConfig)(f,c),j=0,l=!1;for(let a of g){let d=Z(a);for(let a of"all"===b?[...d.scopes]:d.scopes.includes(b)?[b]:[]){let f=L(d,a,c).filter(a=>(0,e.existsSync)(a));if(0===f.length){"all"!==b&&1===g.length&&(console.log("No settings file found. Nothing to remove."),l=!0);continue}let h=0;for(let a of f){let c=d.removeHooksFromFile(a);h+=c,c>0&&"all"!==b&&(console.log(`Removed ${c} failproofai hook(s) from ${d.displayName} settings.`),console.log(`Settings: ${a}`))}if(0===h&&"all"!==b&&1===g.length){console.log("No hooks found in settings. Nothing to remove."),l=!0;continue}j+=h}}if(!l||0!==j){if("all"===b)for(let a of(console.log(`Removed ${j} failproofai hook(s) from all scopes.`),g)){let b=Z(a);for(let a of b.scopes)for(let d of L(b,a,c))console.log(` ${b.displayName} / ${a}: ${d}`)}try{let a=(0,ai.getInstanceId)();await (0,ah.trackHookEvent)(a,"hooks_removed",{scope:b,cli:g,removal_mode:"hooks",policies_removed:i.enabledPolicies,removed_count:j,...d?.source?{source:d.source}:{},platform:(0,m.platform)(),arch:(0,m.arch)(),os_release:(0,m.release)(),hostname_hash:(0,ai.hashToId)((0,m.hostname)())})}catch{}if("all"===b)for(let a of n){let b=(0,k.readScopedHooksConfig)(a,c);if(b.enabledPolicies.length>0||b.customPoliciesPaths?.length||b.customPoliciesPath||b.policyParams){let{customPoliciesPath:d,customPoliciesPaths:e,policyParams:f,...g}=b;(0,k.writeScopedHooksConfig)({...g,enabledPolicies:[]},a,c)}}else if(!n.some(a=>a1(a,c))){let{customPoliciesPath:a,customPoliciesPaths:b,policyParams:d,...e}=(0,k.readScopedHooksConfig)(f,c);(0,k.writeScopedHooksConfig)({...e,enabledPolicies:[]},f,c)}}}var a5=a.i(24282),a6=a.i(12714);async function a7(a,b){let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),d=(0,g.resolve)((0,k.findProjectConfigDir)(c),".failproofai","policies"),e=(0,h.customPoliciesDir)(),f=[];for(let{scope:c,dir:h}of[{scope:"project",dir:d},...e===d?[]:[{scope:"user",dir:e}]]){let d=[];try{d=(0,ak.discoverPolicyFiles)(h)}catch{continue}for(let e of d){if(b.has(e))continue;let d=[];try{d=(await a8(e)).map(b=>{let d=(0,ak.conventionPolicyId)(c,(0,g.basename)(e),b.name);return{...b,id:d,enabled:!a.has(d)}})}catch{}f.push({scope:c,file:(0,g.basename)(e),path:e,policies:d})}}return f}async function a8(a){if(!(0,e.existsSync)(a))return[];let b=await (0,a6.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 a9(){let a=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),b=(0,k.readMergedHooksConfig)(a),c=new Set(b.disabledCustomPolicies??[]),d=n.filter(a=>a1(a)),e=a$(d[0]??"user"),f=o.map(a=>Y[a]).filter(a=>void 0!==a).map(a=>({id:a.id,label:(0,a5.getCliLabel)(a.id),installed:a.hooksInstalledInSettings("user"),settingsPath:a.getSettingsPath("user"),detected:a.detectInstalled()})),h=[],i=[];try{let a=av();h=a.packs,i=a.errors}catch{}let j=[];for(let a of h){let d=a.enabled??a.policies.map(a=>a.name);for(let e of a.policies)j.push({name:e.name,description:e.description,category:e.category,defaultEnabled:e.defaultEnabled,beta:!1,enabled:d.includes(e.name)&&!c.has(`pack:${a.id}@${a.version}:${e.name}`),eventScope:function(a){let b=a.events?.join(", ")??"",c=a.toolNames?` \xb7 ${a.toolNames.join(", ")}`:"";return`${b}${c}`}(e.match),packId:a.id,packVersion:a.version,...e.params?{params:Object.fromEntries(Object.entries(e.params).map(([a,b])=>[a,{type:b.type,description:b.description,default:b.default}])),currentParams:b.policyParams?.[e.name]??{}}:{}})}let l=(0,k.configuredCustomPolicyPaths)(b),m=(0,k.findProjectConfigDir)(a),p=l.map(a=>(0,g.resolve)(m,a)),q=(await Promise.all(p.map(async a=>{try{return(await a8(a)).map(b=>{let d=(0,ak.customPolicyId)(a,b.name);return{...b,id:d,enabled:!c.has(d)}})}catch{return[]}}))).flat(),r=await a7(c,new Set(p)),s=h.map(a=>{let b=a.enabled??a.policies.map(a=>a.name);return{id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(d=>({name:d.name,description:d.description,category:d.category,enabled:b.includes(d.name)&&!c.has(`pack:${a.id}@${a.version}:${d.name}`)}))}});for(let a of i)s.push({id:a.id??"(unnamed pack)",version:"",source:"",effect:"enforce",policies:[],error:a.reason});return{enabledPolicies:b.enabledPolicies,installedScopes:d,settingsPath:e,clis:f,policies:j,customPoliciesPaths:l.length?l:void 0,customPoliciesPath:1===l.length?l[0]:void 0,customPolicies:q.length?q:void 0,conventionPolicies:r,packs:s}}async function ba(a,b){let c=(0,k.readHooksConfig)(),d=new Set(c.enabledPolicies);b?d.add(a):d.delete(a),(0,k.writeHooksConfig)({...c,enabledPolicies:[...d]});try{let c=(0,ai.getInstanceId)();await (0,ah.trackHookEvent)(c,"policy_toggled",{policy_name:a,enabled:b,action:b?"enable":"disable",source:"web"})}catch{}}async function bb(a,b){if(!a.startsWith("custom:")&&!a.startsWith("convention:"))throw Error("Invalid custom policy ID");let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd();if(b){for(let b of n){let d=(0,k.readScopedHooksConfig)(b,c);if(!d.disabledCustomPolicies?.includes(a))continue;let e=d.disabledCustomPolicies.filter(b=>b!==a),f={...d,disabledCustomPolicies:e};e.length||delete f.disabledCustomPolicies,(0,k.writeScopedHooksConfig)(f,b,c)}return}let d=(0,k.readHooksConfig)(),e=new Set(d.disabledCustomPolicies??[]);e.add(a);let f={...d,disabledCustomPolicies:[...e]};e.size||delete f.disabledCustomPolicies,(0,k.writeHooksConfig)(f)}async function bc(a,b){let c=a.trim();if(!c)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await aN(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 bd(){let a=aV();return a.installed?{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}:{ok:!1,error:a.reason??"could not install"}}async function be(a){return!function(a){let b,c=(0,g.resolve)(ar(),"installed.json");if(!(0,e.existsSync)(c))return!1;try{b=JSON.parse((0,e.readFileSync)(c,"utf8"))}catch{return!1}let d=Array.isArray(b.packs)?b.packs:[],f=d.filter(b=>b?.id!==a);return f.length!==d.length&&(aL(c,JSON.stringify({schemaVersion:1,packs:f},null,2)+"\n"),!0)}(a)?{ok:!1,error:`No installed pack with id ${a}`}:{ok:!0,id:a}}async function bf(a,b,c){let d=aW(a,b,c);if(!d.ok)return{ok:!1,error:d.reason};if(c){let c=av().packs.find(b=>b.id===a);if(c){let a=`pack:${c.id}@${c.version}:${b}`,d=(0,k.readHooksConfig)(),e=(d.disabledCustomPolicies??[]).filter(b=>b!==a);if(e.length!==(d.disabledCustomPolicies??[]).length){let{disabledCustomPolicies:a,...b}=d;(0,k.writeHooksConfig)(e.length>0?{...b,disabledCustomPolicies:e}:b)}}}return{ok:!0,id:a}}async function bg(a){let b=a.trim();if(!b)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await aO(b);return{ok:!0,id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(a=>({name:a.name,description:a.description,category:a.category,defaultEnabled:a.defaultEnabled}))}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function bh(a="user",b){let c=(0,k.readHooksConfig)(),d=c.enabledPolicies.length>0?c.enabledPolicies:ag.BUILTIN_POLICIES.filter(a=>a.defaultEnabled&&!a.beta).map(a=>a.name),e=b&&b.length>0?b:$(),f=e.length>0?e:["claude"];await a2(d,a,void 0,!1,"web",void 0,!1,f)}async function bi(a="user",b){let c=b&&b.length>0?b:$(),d=c.length>0?c:["claude"];await a4(void 0,a,void 0,{source:"web",cli:d})}async function bj(a,b){let c=(0,k.readHooksConfig)(),d={...c.policyParams??{},[a]:b};(0,k.writeHooksConfig)({...c,policyParams:d});try{let c=(0,ai.getInstanceId)();await (0,ah.trackHookEvent)(c,"policy_params_updated",{policy_name:a,param_keys:Object.keys(b),source:"web"})}catch{}}(0,i.ensureServerEntryExports)([a9]),(0,d.registerServerReference)(a9,"0057a17ef96ec19dadf4460567e939300491cb5eab",null),(0,i.ensureServerEntryExports)([ba,bb]),(0,d.registerServerReference)(ba,"6048c3412a1ec66bf0ef27d1d08db2666b973e04aa",null),(0,d.registerServerReference)(bb,"6081a916930aa222c118604ea26aa112e7051fa4bf",null),(0,i.ensureServerEntryExports)([bc,bd,be,bf,bg]),(0,d.registerServerReference)(bc,"60860f2ddf14c936449840f6ea2de8bf9378d02c5f",null),(0,d.registerServerReference)(bd,"009ecb2cb3ca91f63f018c880cc1e7dd62a55228c8",null),(0,d.registerServerReference)(be,"40de6ba3e782c299e85d1e666b6bc68111930d8a95",null),(0,d.registerServerReference)(bf,"70d18fe420c3e625709a17033547c08b79e2496678",null),(0,d.registerServerReference)(bg,"404da387ad28977f9e05fae580e564e629b3cde906",null),(0,i.ensureServerEntryExports)([bh,bi]),(0,d.registerServerReference)(bh,"60b589101ddfb3e8dcf334afa160195ac192270b7a",null),(0,d.registerServerReference)(bi,"60166803a51728c5d76210748e971fbc8ea6ee8128",null),(0,i.ensureServerEntryExports)([bj]),(0,d.registerServerReference)(bj,"600d22456d1f6ef2bf88749cdd3b0a6530b2c5de25",null),a.s([],96801),a.i(96801),a.s(["0057a17ef96ec19dadf4460567e939300491cb5eab",0,a9,"007e3b4cc182529851a91f6c969c76db68c5175ef3",0,j,"009ecb2cb3ca91f63f018c880cc1e7dd62a55228c8",0,bd,"00b801c035726aaa9d297e34f35258369a37177149",()=>b.getTelemetryConfig,"404da387ad28977f9e05fae580e564e629b3cde906",0,bg,"40578b411fdce1e4664870bb5dba3836870e70e851",()=>c.getHookActivityAction,"40de6ba3e782c299e85d1e666b6bc68111930d8a95",0,be,"600d22456d1f6ef2bf88749cdd3b0a6530b2c5de25",0,bj,"60166803a51728c5d76210748e971fbc8ea6ee8128",0,bi,"603e6b4163ee01b3593197316b81b795e1f53b8c2f",()=>c.searchHookActivityAction,"6081a916930aa222c118604ea26aa112e7051fa4bf",0,bb,"60860f2ddf14c936449840f6ea2de8bf9378d02c5f",0,bc,"60b589101ddfb3e8dcf334afa160195ac192270b7a",0,bh,"70d18fe420c3e625709a17033547c08b79e2496678",0,bf],73338)}];
|
|
247
248
|
|
|
248
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
249
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__07gm3zl._.js.map
|