@wascartech/devbot 0.0.0-stage → 2.1.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/LICENSE +202 -0
- package/README.md +638 -2
- package/dist/access-grant-store.js +99 -0
- package/dist/access-grant-store.js.map +1 -0
- package/dist/access-resolve.js +11 -0
- package/dist/access-resolve.js.map +1 -0
- package/dist/access-rule-store.js +99 -0
- package/dist/access-rule-store.js.map +1 -0
- package/dist/admin/access-routes.js +73 -0
- package/dist/admin/access-routes.js.map +1 -0
- package/dist/admin/access-rule-routes.js +107 -0
- package/dist/admin/access-rule-routes.js.map +1 -0
- package/dist/admin/custom-repos-routes.js +93 -0
- package/dist/admin/custom-repos-routes.js.map +1 -0
- package/dist/admin/env-routes.js +74 -0
- package/dist/admin/env-routes.js.map +1 -0
- package/dist/admin/global-settings-routes.js +254 -0
- package/dist/admin/global-settings-routes.js.map +1 -0
- package/dist/admin/mcp-cleanup.js +12 -0
- package/dist/admin/mcp-cleanup.js.map +1 -0
- package/dist/admin/mcp-routes.js +169 -0
- package/dist/admin/mcp-routes.js.map +1 -0
- package/dist/admin/query-params.js +80 -0
- package/dist/admin/query-params.js.map +1 -0
- package/dist/admin/routes.js +150 -0
- package/dist/admin/routes.js.map +1 -0
- package/dist/admin/run-history-routes.js +44 -0
- package/dist/admin/run-history-routes.js.map +1 -0
- package/dist/admin/run-routes.js +99 -0
- package/dist/admin/run-routes.js.map +1 -0
- package/dist/admin/settings-routes.js +119 -0
- package/dist/admin/settings-routes.js.map +1 -0
- package/dist/admin/stats-routes.js +51 -0
- package/dist/admin/stats-routes.js.map +1 -0
- package/dist/admin/task-routes.js +213 -0
- package/dist/admin/task-routes.js.map +1 -0
- package/dist/admin/test-routes.js +38 -0
- package/dist/admin/test-routes.js.map +1 -0
- package/dist/admin/volume-routes.js +82 -0
- package/dist/admin/volume-routes.js.map +1 -0
- package/dist/admin/webhook-routes.js +174 -0
- package/dist/admin/webhook-routes.js.map +1 -0
- package/dist/agents.js +48 -0
- package/dist/agents.js.map +1 -0
- package/dist/assignee-value.js +6 -0
- package/dist/assignee-value.js.map +1 -0
- package/dist/attachments.js +76 -0
- package/dist/attachments.js.map +1 -0
- package/dist/auto-commands.js +88 -0
- package/dist/auto-commands.js.map +1 -0
- package/dist/auto-features.js +32 -0
- package/dist/auto-features.js.map +1 -0
- package/dist/base-branch-store.js +40 -0
- package/dist/base-branch-store.js.map +1 -0
- package/dist/base-branches.js +9 -0
- package/dist/base-branches.js.map +1 -0
- package/dist/build-workflow.js +116 -0
- package/dist/build-workflow.js.map +1 -0
- package/dist/change-request-lifecycle.js +16 -0
- package/dist/change-request-lifecycle.js.map +1 -0
- package/dist/change-request-store.js +72 -0
- package/dist/change-request-store.js.map +1 -0
- package/dist/ci-failure.js +80 -0
- package/dist/ci-failure.js.map +1 -0
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.js +17 -0
- package/dist/config.js.map +1 -0
- package/dist/conflict-fix.js +178 -0
- package/dist/conflict-fix.js.map +1 -0
- package/dist/cookie.js +70 -0
- package/dist/cookie.js.map +1 -0
- package/dist/crypto-util.js +40 -0
- package/dist/crypto-util.js.map +1 -0
- package/dist/custom-repos-store.js +90 -0
- package/dist/custom-repos-store.js.map +1 -0
- package/dist/custom-repos-sync.js +118 -0
- package/dist/custom-repos-sync.js.map +1 -0
- package/dist/db.js +12 -0
- package/dist/db.js.map +1 -0
- package/dist/devbot-scripts.js +18 -0
- package/dist/devbot-scripts.js.map +1 -0
- package/dist/devcontainer.js +141 -0
- package/dist/devcontainer.js.map +1 -0
- package/dist/env-config-store.js +132 -0
- package/dist/env-config-store.js.map +1 -0
- package/dist/error-log-store.js +193 -0
- package/dist/error-log-store.js.map +1 -0
- package/dist/git.js +605 -0
- package/dist/git.js.map +1 -0
- package/dist/global-queue.js +127 -0
- package/dist/global-queue.js.map +1 -0
- package/dist/global-settings-store.js +307 -0
- package/dist/global-settings-store.js.map +1 -0
- package/dist/help.js +41 -0
- package/dist/help.js.map +1 -0
- package/dist/http-csp.js +15 -0
- package/dist/http-csp.js.map +1 -0
- package/dist/http-util.js +40 -0
- package/dist/http-util.js.map +1 -0
- package/dist/idempotency.js +50 -0
- package/dist/idempotency.js.map +1 -0
- package/dist/lifecycle.js +234 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/logger.js +33 -0
- package/dist/logger.js.map +1 -0
- package/dist/lsp-servers.js +81 -0
- package/dist/lsp-servers.js.map +1 -0
- package/dist/mcp/auth.js +62 -0
- package/dist/mcp/auth.js.map +1 -0
- package/dist/mcp/effective-mcp.js +42 -0
- package/dist/mcp/effective-mcp.js.map +1 -0
- package/dist/mcp/oauth-refresh.js +138 -0
- package/dist/mcp/oauth-refresh.js.map +1 -0
- package/dist/mcp/peer-sync.js +109 -0
- package/dist/mcp/peer-sync.js.map +1 -0
- package/dist/mcp/registry.js +54 -0
- package/dist/mcp/registry.js.map +1 -0
- package/dist/mcp/runner-bridge.js +93 -0
- package/dist/mcp/runner-bridge.js.map +1 -0
- package/dist/mcp/server.js +173 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/_helpers.js +88 -0
- package/dist/mcp/tools/_helpers.js.map +1 -0
- package/dist/mcp/tools/attachments.js +117 -0
- package/dist/mcp/tools/attachments.js.map +1 -0
- package/dist/mcp/tools/cicd.js +105 -0
- package/dist/mcp/tools/cicd.js.map +1 -0
- package/dist/mcp/tools/discovery.js +34 -0
- package/dist/mcp/tools/discovery.js.map +1 -0
- package/dist/mcp/tools/issues.js +56 -0
- package/dist/mcp/tools/issues.js.map +1 -0
- package/dist/mcp/tools/merge_requests.js +67 -0
- package/dist/mcp/tools/merge_requests.js.map +1 -0
- package/dist/mcp/tools/metadata.js +127 -0
- package/dist/mcp/tools/metadata.js.map +1 -0
- package/dist/mcp/tools/peer_sync.js +43 -0
- package/dist/mcp/tools/peer_sync.js.map +1 -0
- package/dist/mcp/tools/repository.js +178 -0
- package/dist/mcp/tools/repository.js.map +1 -0
- package/dist/mcp/tools/work_tracking.js +125 -0
- package/dist/mcp/tools/work_tracking.js.map +1 -0
- package/dist/mcp/tools/workitems.js +30 -0
- package/dist/mcp/tools/workitems.js.map +1 -0
- package/dist/mcp/volume-files.js +187 -0
- package/dist/mcp/volume-files.js.map +1 -0
- package/dist/mcp-auth-store.js +134 -0
- package/dist/mcp-auth-store.js.map +1 -0
- package/dist/mcp-config-store.js +83 -0
- package/dist/mcp-config-store.js.map +1 -0
- package/dist/mention.js +512 -0
- package/dist/mention.js.map +1 -0
- package/dist/migrate.js +73 -0
- package/dist/migrate.js.map +1 -0
- package/dist/mr-assignee.js +71 -0
- package/dist/mr-assignee.js.map +1 -0
- package/dist/mr-content.js +90 -0
- package/dist/mr-content.js.map +1 -0
- package/dist/oauth-routes.js +54 -0
- package/dist/oauth-routes.js.map +1 -0
- package/dist/onboarding-allowlist.js +32 -0
- package/dist/onboarding-allowlist.js.map +1 -0
- package/dist/opencode.js +291 -0
- package/dist/opencode.js.map +1 -0
- package/dist/outbound-webhook-store.js +229 -0
- package/dist/outbound-webhook-store.js.map +1 -0
- package/dist/outbound-webhook.js +314 -0
- package/dist/outbound-webhook.js.map +1 -0
- package/dist/path-sandbox.js +200 -0
- package/dist/path-sandbox.js.map +1 -0
- package/dist/platform/git-auth.js +34 -0
- package/dist/platform/git-auth.js.map +1 -0
- package/dist/platform/gitealike/attachments.js +62 -0
- package/dist/platform/gitealike/attachments.js.map +1 -0
- package/dist/platform/gitealike/base.js +935 -0
- package/dist/platform/gitealike/base.js.map +1 -0
- package/dist/platform/gitealike/forgejo.js +16 -0
- package/dist/platform/gitealike/forgejo.js.map +1 -0
- package/dist/platform/gitealike/gitea.js +16 -0
- package/dist/platform/gitealike/gitea.js.map +1 -0
- package/dist/platform/gitealike/http.js +152 -0
- package/dist/platform/gitealike/http.js.map +1 -0
- package/dist/platform/gitealike/schemas.js +284 -0
- package/dist/platform/gitealike/schemas.js.map +1 -0
- package/dist/platform/github/attachments.js +52 -0
- package/dist/platform/github/attachments.js.map +1 -0
- package/dist/platform/github/http.js +153 -0
- package/dist/platform/github/http.js.map +1 -0
- package/dist/platform/github/index.js +936 -0
- package/dist/platform/github/index.js.map +1 -0
- package/dist/platform/github/schemas.js +308 -0
- package/dist/platform/github/schemas.js.map +1 -0
- package/dist/platform/github/zip.js +85 -0
- package/dist/platform/github/zip.js.map +1 -0
- package/dist/platform/gitlab/admin.js +105 -0
- package/dist/platform/gitlab/admin.js.map +1 -0
- package/dist/platform/gitlab/api.js +229 -0
- package/dist/platform/gitlab/api.js.map +1 -0
- package/dist/platform/gitlab/attachments.js +79 -0
- package/dist/platform/gitlab/attachments.js.map +1 -0
- package/dist/platform/gitlab/http.js +165 -0
- package/dist/platform/gitlab/http.js.map +1 -0
- package/dist/platform/gitlab/index.js +630 -0
- package/dist/platform/gitlab/index.js.map +1 -0
- package/dist/platform/gitlab/oauth.js +58 -0
- package/dist/platform/gitlab/oauth.js.map +1 -0
- package/dist/platform/gitlab/read.js +182 -0
- package/dist/platform/gitlab/read.js.map +1 -0
- package/dist/platform/gitlab/schemas-read.js +274 -0
- package/dist/platform/gitlab/schemas-read.js.map +1 -0
- package/dist/platform/gitlab/schemas.js +251 -0
- package/dist/platform/gitlab/schemas.js.map +1 -0
- package/dist/platform/gitlab/signature.js +52 -0
- package/dist/platform/gitlab/signature.js.map +1 -0
- package/dist/platform/index.js +38 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/port.js +26 -0
- package/dist/platform/port.js.map +1 -0
- package/dist/platform/types.js +80 -0
- package/dist/platform/types.js.map +1 -0
- package/dist/podman.js +119 -0
- package/dist/podman.js.map +1 -0
- package/dist/project-sync.js +69 -0
- package/dist/project-sync.js.map +1 -0
- package/dist/prompt.js +47 -0
- package/dist/prompt.js.map +1 -0
- package/dist/queue-store.js +236 -0
- package/dist/queue-store.js.map +1 -0
- package/dist/queue.js +129 -0
- package/dist/queue.js.map +1 -0
- package/dist/redact.js +23 -0
- package/dist/redact.js.map +1 -0
- package/dist/run-files.js +297 -0
- package/dist/run-files.js.map +1 -0
- package/dist/run-filters.js +54 -0
- package/dist/run-filters.js.map +1 -0
- package/dist/run-history-store.js +229 -0
- package/dist/run-history-store.js.map +1 -0
- package/dist/run-log-sink.js +270 -0
- package/dist/run-log-sink.js.map +1 -0
- package/dist/run-log.js +97 -0
- package/dist/run-log.js.map +1 -0
- package/dist/run-usage.js +29 -0
- package/dist/run-usage.js.map +1 -0
- package/dist/run-view.js +112 -0
- package/dist/run-view.js.map +1 -0
- package/dist/runner.js +1094 -0
- package/dist/runner.js.map +1 -0
- package/dist/runtime-apply.js +26 -0
- package/dist/runtime-apply.js.map +1 -0
- package/dist/runtime-settings.js +71 -0
- package/dist/runtime-settings.js.map +1 -0
- package/dist/runtime-state.js +19 -0
- package/dist/runtime-state.js.map +1 -0
- package/dist/server.js +119 -0
- package/dist/server.js.map +1 -0
- package/dist/settings-store.js +320 -0
- package/dist/settings-store.js.map +1 -0
- package/dist/status.js +121 -0
- package/dist/status.js.map +1 -0
- package/dist/stop.js +56 -0
- package/dist/stop.js.map +1 -0
- package/dist/sweeps.js +87 -0
- package/dist/sweeps.js.map +1 -0
- package/dist/task-log.js +279 -0
- package/dist/task-log.js.map +1 -0
- package/dist/task-view.js +62 -0
- package/dist/task-view.js.map +1 -0
- package/dist/token-store.js +68 -0
- package/dist/token-store.js.map +1 -0
- package/dist/types/access.js +74 -0
- package/dist/types/access.js.map +1 -0
- package/dist/types/custom-repos.js +28 -0
- package/dist/types/custom-repos.js.map +1 -0
- package/dist/types/env-config.js +25 -0
- package/dist/types/env-config.js.map +1 -0
- package/dist/types/env.js +190 -0
- package/dist/types/env.js.map +1 -0
- package/dist/types/global-settings.js +178 -0
- package/dist/types/global-settings.js.map +1 -0
- package/dist/types/lsp-servers.js +145 -0
- package/dist/types/lsp-servers.js.map +1 -0
- package/dist/types/mcp-config.js +77 -0
- package/dist/types/mcp-config.js.map +1 -0
- package/dist/types/opencode.js +59 -0
- package/dist/types/opencode.js.map +1 -0
- package/dist/types/outbound-webhook.js +56 -0
- package/dist/types/outbound-webhook.js.map +1 -0
- package/dist/types/project-settings.js +114 -0
- package/dist/types/project-settings.js.map +1 -0
- package/dist/types/provider-registry.js +37 -0
- package/dist/types/provider-registry.js.map +1 -0
- package/dist/types/runtime-settings.js +78 -0
- package/dist/types/runtime-settings.js.map +1 -0
- package/dist/usage-stats.js +159 -0
- package/dist/usage-stats.js.map +1 -0
- package/dist/version.js +19 -0
- package/dist/version.js.map +1 -0
- package/dist/volume-gc.js +193 -0
- package/dist/volume-gc.js.map +1 -0
- package/dist/volume-manage.js +191 -0
- package/dist/volume-manage.js.map +1 -0
- package/dist/volume-store.js +122 -0
- package/dist/volume-store.js.map +1 -0
- package/dist/webhook.js +1106 -0
- package/dist/webhook.js.map +1 -0
- package/dist/work-item-auto-store.js +75 -0
- package/dist/work-item-auto-store.js.map +1 -0
- package/dist/work-item-branch-store.js +37 -0
- package/dist/work-item-branch-store.js.map +1 -0
- package/migrations/0001_initial.sql +59 -0
- package/migrations/0002_queue_status.sql +15 -0
- package/migrations/0003_work_item_base_branch.sql +14 -0
- package/migrations/0004_project_settings.sql +15 -0
- package/migrations/0005_global_settings.sql +34 -0
- package/migrations/0006_model_variants.sql +8 -0
- package/migrations/0007_container_error_logs.sql +21 -0
- package/migrations/0008_project_access_grants.sql +16 -0
- package/migrations/0009_drop_imported_legacy.sql +4 -0
- package/migrations/0010_container_error_log_model.sql +6 -0
- package/migrations/0011_container_error_log_title.sql +5 -0
- package/migrations/0012_pending_task_cancel.sql +6 -0
- package/migrations/0013_builder_image.sql +6 -0
- package/migrations/0014_build_workflow.sql +7 -0
- package/migrations/0015_access_rules.sql +24 -0
- package/migrations/0016_trigger_policy.sql +17 -0
- package/migrations/0017_attachment_upload.sql +8 -0
- package/migrations/0018_work_item_branch.sql +11 -0
- package/migrations/0019_auto_push_mr.sql +18 -0
- package/migrations/0020_outbound_webhooks.sql +47 -0
- package/migrations/0021_runtime_settings.sql +12 -0
- package/migrations/0022_auto_resolve_conflicts.sql +17 -0
- package/migrations/0023_ci_fail_auto_report.sql +27 -0
- package/migrations/0024_work_item_auto_override.sql +22 -0
- package/migrations/0025_run_history.sql +37 -0
- package/migrations/0026_run_history_task_seq.sql +6 -0
- package/migrations/0027_custom_repos.sql +11 -0
- package/migrations/0028_run_usage.sql +14 -0
- package/migrations/0029_drop_ocr_langs.sql +6 -0
- package/migrations/0030_mr_assignee.sql +9 -0
- package/migrations/0031_lsp_servers.sql +14 -0
- package/opencode-config/managed/devbot-agent-policy.md +61 -0
- package/opencode-config/managed/opencode.json +77 -0
- package/opencode-config/opencode.json +211 -0
- package/opencode-config/plugins/devbot-path-guard.js +224 -0
- package/package.json +157 -4
- package/public/assets/DashboardSidebarCollapse-rIuzCmVm.js +1 -0
- package/public/assets/DashboardToolbar-DFCUqZ4Z.js +1 -0
- package/public/assets/ErrorLogModal.vue_vue_type_script_setup_true_lang-BCyNIf1E.js +1 -0
- package/public/assets/ErrorLogsPage-DyYK2Rop.js +1 -0
- package/public/assets/LogSlideover.vue_vue_type_script_setup_true_lang-33xie7TE.js +1 -0
- package/public/assets/OverviewPage-CFfa0uwg.js +1 -0
- package/public/assets/PageGrid-CBROIU87.js +1 -0
- package/public/assets/PeriodRangePicker.vue_vue_type_script_setup_true_lang-DiFUNem7.js +1 -0
- package/public/assets/ProjectDetailPage-CreyvUit.js +1 -0
- package/public/assets/ProjectsPage-CFx8-elJ.js +1 -0
- package/public/assets/RunDetailSlideover.vue_vue_type_script_setup_true_lang-DopYYmCT.js +1 -0
- package/public/assets/RunsPage-CRnnXU4P.js +1 -0
- package/public/assets/Select-Bvx32Diz.js +1 -0
- package/public/assets/SelectMenu-BjMxc4VB.js +1 -0
- package/public/assets/SettingsPage-Bb6LM3wO.js +60 -0
- package/public/assets/TimeCell.vue_vue_type_script_setup_true_lang-DW_UB0Fu.js +1 -0
- package/public/assets/UsagePage-BLMDEsv-.js +332 -0
- package/public/assets/UsagePage-DodEeAjB.css +1 -0
- package/public/assets/VolumesPage-CxcLc3L2.js +1 -0
- package/public/assets/WebhookConfigPanel.vue_vue_type_script_setup_true_lang-B2V2GF6b.js +1 -0
- package/public/assets/WorkItemCell.vue_vue_type_script_setup_true_lang-BQn6vTjd.js +1 -0
- package/public/assets/index-BMbMibyb.js +4 -0
- package/public/assets/index-C5RBBrPj.js +30 -0
- package/public/assets/index-CgX29UgC.css +1 -0
- package/public/assets/usage-format-jsb31_O8.js +1 -0
- package/public/assets/useManagedProjects-8rtjRqVJ.js +1 -0
- package/public/assets/useRouteTab-DfwrcMic.js +1 -0
- package/public/favicon.ico +0 -0
- package/public/favicon.png +0 -0
- package/public/index.html +15 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import{_ as Xr,a as Hr,b as Yr,c as eo}from"./DashboardSidebarCollapse-rIuzCmVm.js";import{q as to,r as no,D as ro,A as oo,L as so,t as io,j as Qt,v as ao,p as Xt,w as lo,x as uo,d as Se,e as vt,h as Pt,_ as co,f as fo,g as mo,k as po,l as ho,n as go,o as Ht}from"./WebhookConfigPanel.vue_vue_type_script_setup_true_lang-B2V2GF6b.js";import{r as M,n as vo,N as bt,b as ve,x as ce,O as bo,Q as _o,d as me,m as yo,q as Nn,e as P,c as j,f as b,F as We,g as qe,t as Ge,a as p,w as $,s as wo,u as d,h as te,i as nt,j as H,a1 as ko,l as N,aI as $o,o as zo,a3 as So}from"./index-C5RBBrPj.js";import{u as Oo}from"./useRouteTab-DfwrcMic.js";import{a as xt,_ as Tt}from"./SelectMenu-BjMxc4VB.js";import{_ as Eo}from"./Select-Bvx32Diz.js";function _t(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function Yt(e,t="|"){return e.map(n=>Gn(n)).join(t)}function yt(e,t){return typeof t=="bigint"?t.toString():t}class Io{constructor(t){this._getter=t,this._value=void 0}get value(){const t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}}function rt(e){return new Io(e)}function Po(e){return e==null}function At(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function xo(e,t){const n=e/t,r=Math.round(n),o=4*Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-r)<o?0:n-r}function oe(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Zt(e){const t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function re(e){return Zt(e._zod.def)??e._zod.def.shape}function Cn(e,t,n){Object.defineProperty(e,t,{get(){const r=n();return oe(this,t,r),r},enumerable:!0,configurable:!0})}function Fn(e,t,n){t in e?oe(e,t,n):e[t]=n}function fe(e,t,n,r){const o=re(t);for(const s of n){const i=Object.getOwnPropertyDescriptor(o,s);i.enumerable&&(i.get?Cn(e,s,()=>{const a=t._zod.def.shape[s];return r?r(a,s):a}):Fn(e,s,r?r(i.value,s):i.value))}}function To(e,t){for(const n of Reflect.ownKeys(t)){const r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?Cn(e,n,()=>t[n]):Fn(e,n,r.value))}}function K(...e){const t={};for(const n of e){const r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function Ao(e){return JSON.stringify(e)}function Zo(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ln="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Re(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Ro=rt(()=>{if(Q.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ye(e){if(Re(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(Re(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Bn(e){return ye(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Vo=new Set(["string","number","symbol"]);function we(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ue(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function y(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Gn(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Uo(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}const Jn={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Do={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Mo(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const s={};return fe(s,e,ot(e,t)),ue(e,K(n,{shape:s,checks:[]}))}function ot(e,t){const n=re(e),r=[];for(const o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,o)?.enumerable)throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&r.push(o)}return r}function jo(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const s=new Set(ot(e,t)),i={};return fe(i,e,Reflect.ownKeys(re(e)).filter(a=>!s.has(a))),ue(e,K(n,{shape:i,checks:[]}))}function No(e,t){if(!ye(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const o=re(e);for(const s of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return ue(e,K(e._zod.def,{shape:Kn(e,t)}))}function Kn(e,t){const n={};return fe(n,e,Reflect.ownKeys(re(e))),To(n,t),n}function Co(e,t){if(!ye(t))throw new Error("Invalid input to safeExtend: expected a plain object");return ue(e,K(e._zod.def,{shape:Kn(e,t)}))}function Fo(e,t){if(!t?._zod?.def)throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const n={};fe(n,e,Reflect.ownKeys(re(e))),fe(n,t,Reflect.ownKeys(re(t)));const r=K(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return ue(e,r)}function en(e,t,n,r="partial"){const s=t._zod.def.checks;if(s&&s.length>0)throw new Error(`.${r}() cannot be used on object schemas containing refinements`);const a=n?new Set(ot(t,n)):void 0,u={};return fe(u,t,Reflect.ownKeys(re(t)),e&&((c,l)=>a&&!a.has(l)?c:new e({type:"optional",innerType:c}))),ue(t,K(t._zod.def,{shape:u,checks:[]}))}function Lo(e,t,n){const r=n?new Set(ot(t,n)):void 0,o={};return fe(o,t,Reflect.ownKeys(re(t)),(s,i)=>r&&!r.has(i)?s:new e({type:"nonoptional",innerType:s})),ue(t,K(t._zod.def,{shape:o}))}function ne(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Bo(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function _e(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Pe(e){return typeof e=="string"?e:e?.message}function tn(e){const t=[];for(const n of e??[]){const r=n._zod.def;if(!/_(length|size)$|_equals$/.test(r.check))break;const o=r.maximum??r.length??r.size;o>=0&&t.push([o,n])}return t}function wt(e,t,n){var r;for(let o=t;o<e.length;o++)(r=e[o]).schema??(r.schema=n)}function ie(e,t,n){var r;const o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);const s=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,i=e.message?e.message:Pe(e.inst?._zod.def?.error?.(e))??Pe(s?.(e))??Pe(t?.error?.(e))??Pe(n.customError?.(e))??Pe(n.localeError?.(e))??"Invalid input",a={};for(const u of Object.keys(e))u==="inst"||u==="schema"||u==="continue"||u==="input"||u==="__proto__"||(a[u]=e[u]);return a.path??(a.path=[]),a.message=i,t?.reportInput&&(a.input=e.input),a}const Go=/[\uD800-\uDBFF]/;function Rt(e){const t=e.length;if(!Go.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)===55296&&(e.charCodeAt(r+1)&64512)===56320&&(n--,r++);return n}function Vt(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Jo(e){const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";const n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function Ve(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}function Ko(e,t){for(const n in t){const r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Wo(e,n,r.value)}}function ae(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Wn(e,t,n){return ae(e,t,n,!1)}function qn(e,t){for(const n in e){const r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return ae(this,n,r(this))},set(o){ae(this,n,o)}})}return t}function Wo(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:ae(this,t,n.bind(this))},set(r){ae(this,t,r)}})}function qo(e,t){const n=Object.getPrototypeOf(e);return t in n?void 0:n}let dt,se=!1;const Qo={configurable:!0,get(){se=!0}};function E(e,t,n){const r=Object.getPrototypeOf(e._zod);if(t in r&&dt!==e._zod){dt=void 0;return}dt=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,Qo);const o=se;se=!1;try{const s=n(this);return se?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:s}),se=se||o,s}catch(s){throw delete this[t],se=se||o,s}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function Xo(e,t,n,r){const o=qo(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){const s={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,s),s.value=n(this),Object.defineProperty(this,t,s),s.value},set(s){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:s})}})}const Ho="~constantCatch";function Yo(e){const t=()=>e;return t[Ho]=!0,t}var nn;const ft={value:void 0,enumerable:!1};let rn="captureStackTrace"in Error?Error:null;function es(e){const t=rn;if(t){const n=t.stackTraceLimit;if(typeof n=="number"){try{t.stackTraceLimit=0}catch{return rn=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function f(e,t,n,r){const o={};function s(h){this.def=h,this.constr=m,this.traits=new Set}s.prototype=o;const i=n,a=i&&new WeakSet;function u(h,g){if(h._zod){if(h._zod.traits.has(e))return}else{ft.value=new s(g);try{Object.defineProperty(h,"_zod",ft)}finally{ft.value=void 0}}if(h._zod.traits.add(e),t(h,g),a){const w=Object.getPrototypeOf(h),z=h._zod.constr.prototype;let O=w;for(;O&&O!==z;)O=Object.getPrototypeOf(O);const C=O??w;a.has(C)||(a.add(C),Ko(C,i))}const v=m.prototype;for(const w in v)Object.prototype.hasOwnProperty.call(v,w)&&(w in h||(h[w]=v[w].bind(h)))}const c=r?.Parent??Object;class l extends c{}Object.defineProperty(l,"name",{value:e});function m(h){const g=r?.Parent?es(l):this;u(g,h);const v=g._zod.deferred;if(v){for(const z of v)z();g._zod.deferred=void 0}const w=globalThis.__zod_globalConfig?.postProcessor;return w&&w(g),g}return Object.defineProperty(m,"init",{value:u}),Object.defineProperty(m,Symbol.hasInstance,{value:h=>r?.Parent&&h instanceof r.Parent?!0:h?._zod?.traits?.has(e)}),Object.defineProperty(m,"name",{value:e}),m}class de extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Qn extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}(nn=globalThis).__zod_globalConfig??(nn.__zod_globalConfig={});const Q=globalThis.__zod_globalConfig;function Y(e){return e&&Object.assign(Q,e),Q}function ts(){const e=this._zod;return e.message??(e.message=JSON.stringify(e.def,yt,2)),e.message}function ns(e){this._zod.message=e}const rs={get:ts,set:ns,enumerable:!0,configurable:!0},mt={value:void 0,enumerable:!1},on=new WeakSet([Object.prototype,Error.prototype]),os=(e,t)=>{e.name="$ZodError",mt.value=t,Object.defineProperty(e,"issues",mt),mt.value=void 0,Object.defineProperty(e,"message",rs);const n=Object.getPrototypeOf(e);on.has(n)||(on.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){const r=()=>this.message;return Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0})}}))},ss=f("$ZodError",os);function is(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function as(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?is(n,o.path[0],()=>[]).push(t(o)):r.push(t(o));return{formErrors:r,fieldErrors:n}}function ls(e,t=n=>n.message){const n={_errors:[]},r=(o,s=[])=>{for(const i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>r({issues:a},[...s,...i.path]));else if(i.code==="invalid_key")r({issues:i.issues},[...s,...i.path]);else if(i.code==="invalid_element")r({issues:i.issues},[...s,...i.path]);else{const a=[...s,...i.path];if(a.length===0)n._errors.push(t(i));else{let u=n,c=0;for(;c<a.length;){const l=a[c],m=c===a.length-1;if(l==="_errors"){m&&u._errors.push(t(i)),c++;continue}Object.prototype.hasOwnProperty.call(u,l)||Object.defineProperty(u,l,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});const h=u[l];m&&h._errors.push(t(i)),u=h,c++}}}};return r(e),n}function st(e,t){return{callee:t?.callee??e,Err:t?.Err}}const Ut=e=>{const t=(n,r,o,s)=>{const i=o?{...o,async:!1}:{async:!1},a=n._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new de;if(a.issues.length){const u=new(s?.Err??e)(a.issues.map(c=>ie(c,i,Y())));throw Ln(u,s?.callee??t),u}return a.value};return t},Dt=e=>{const t=async(n,r,o,s)=>{const i=o?{...o,async:!0}:{async:!0};let a=n._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const u=new(s?.Err??e)(a.issues.map(c=>ie(c,i,Y())));throw Ln(u,s?.callee??t),u}return a.value};return t},Mt=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new de;return s.issues.length?Xn(e,s.issues,o):{success:!0,data:s.value}};function Xn(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(o=>ie(o,n,Y()))),t=void 0,n=void 0),r},set error(o){r=o,t=void 0,n=void 0}}}const jt=e=>async(t,n,r)=>{const o=r?{...r,async:!0}:{async:!0};let s=t._zod.run({value:n,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?Xn(e,s.issues,o):{success:!0,data:s.value}},us=Symbol.for("zod.compile.invalid"),cs=Symbol.for("zod.compile.fallback"),ds=((e,t,n)=>{const r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==us)return!0;if(r.definite===!0&&n===void 0)return!1}return fs(e,t,n)});function fs(e,t,n){const r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun;let s;if(o?(r[cs]=!0,s=o({value:t,issues:[]},r)):s=e._zod.run({value:t,issues:[]},r),s instanceof Promise)throw new de;return s.issues.length===0}const ms=async(e,t,n)=>{const r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0};let o=e._zod.run({value:t,issues:[]},r);return o instanceof Promise&&(o=await o),o.issues.length===0},ps=e=>{const t=Ut(e),n=(r,o,s,i)=>{const a=s?{...s,direction:"backward"}:{direction:"backward"};return t(r,o,a,st(n,i))};return n},hs=e=>{const t=Ut(e),n=(r,o,s,i)=>t(r,o,s,st(n,i));return n},gs=e=>{const t=Dt(e),n=async(r,o,s,i)=>{const a=s?{...s,direction:"backward"}:{direction:"backward"};return await t(r,o,a,st(n,i))};return n},vs=e=>{const t=Dt(e),n=async(r,o,s,i)=>await t(r,o,s,st(n,i));return n},bs=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Mt(e)(t,n,o)},_s=e=>(t,n,r)=>Mt(e)(t,n,r),ys=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return jt(e)(t,n,o)},ws=e=>async(t,n,r)=>jt(e)(t,n,r),ks=/^[cC][0-9a-z]{6,}$/,$s=/^[0-9a-z]+$/,zs=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Ss=/^[0-9a-vA-V]{20}$/,Os=/^[A-Za-z0-9]{27}$/,Es=/^[a-zA-Z0-9_-]{21}$/;function Is(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const Ps=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xs=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,sn=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Ts=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,As="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function Zs(){return new RegExp(As,"u")}const Rs=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Vs=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Us=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ds=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ms=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,js=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Ns=/^https?$/,Cs=/^\+[1-9]\d{6,14}$/,Hn="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function Fs(e){return new RegExp(`^${e}$`)}const Ls=Fs(Hn);function kt(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Bs(e){return new RegExp(`^${kt(e)}$`)}function Gs(e){const t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${kt({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,r=e.local?`${n}|${kt({precision:e.precision})}`:n;return new RegExp(`^${Hn}T(?:${r})$`)}const Js=/^[\s\S]{0,}$/,Ks=/^-?\d+$/,Nt=/^-?\d+(?:\.\d+)?$/,Ws=/^(?:true|false)$/i,qs=/^[^A-Z]*$/,Qs=/^[^a-z]*$/,G=f("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ct=e=>{const t=e.value;return!Po(t)&&t.length!==void 0},Qe={number:"number",bigint:"bigint",object:"date"},Yn=f("$ZodCheckLessThan",(e,t)=>{G.init(e,t);const n=Qe[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Qe[typeof r.value]??n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),er=f("$ZodCheckGreaterThan",(e,t)=>{G.init(e,t);const n=Qe[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Qe[typeof r.value]??n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Xs=f("$ZodCheckMultipleOf",(e,t)=>{G.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):xo(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Hs=f("$ZodCheckNumberFormat",(e,t)=>{G.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,s]=Jn[t.format];e._zod.check=i=>{const a=i.value;if(n){if(!Number.isInteger(a)){i.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}}),Ys=f("$ZodCheckMaxLength",(e,t)=>{var n;G.init(e,t),(n=e._zod.def).when??(n.when=Ct),e._zod.check=r=>{const o=r.value,s=o.length;if((typeof o=="string"&&s>t.maximum?Rt(o):s)<=t.maximum)return;const a=Vt(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),ei=f("$ZodCheckMinLength",(e,t)=>{var n;G.init(e,t),(n=e._zod.def).when??(n.when=Ct),e._zod.check=r=>{const o=r.value,s=o.length;if((typeof o=="string"&&s>=t.minimum&&s<t.minimum*2?Rt(o):s)>=t.minimum)return;const a=Vt(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),ti=f("$ZodCheckLengthEquals",(e,t)=>{var n;G.init(e,t),(n=e._zod.def).when??(n.when=Ct),e._zod.check=r=>{const o=r.value,s=o.length,i=typeof o=="string"&&s>=t.length&&s<=t.length*2?Rt(o):s;if(i===t.length)return;const a=Vt(o),u=i>t.length;r.issues.push({origin:a,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),it=f("$ZodCheckStringFormat",(e,t)=>{var n,r;G.init(e,t),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),ni=f("$ZodCheckRegex",(e,t)=>{it.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ri=f("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=qs),it.init(e,t)}),oi=f("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Qs),it.init(e,t)}),si=f("$ZodCheckIncludes",(e,t)=>{G.init(e,t);const n=we(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position},}${n}`:n);t.pattern=r,e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),ii=f("$ZodCheckStartsWith",(e,t)=>{G.init(e,t);const n=new RegExp(`^${we(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),ai=f("$ZodCheckEndsWith",(e,t)=>{G.init(e,t);const n=new RegExp(`.*${we(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),li=f("$ZodCheckOverwrite",(e,t)=>{G.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class ui{constructor(t=[],n={}){this.content=[],this.indent=0,this.args=t,this.closed=n}indented(t){this.indent+=1;try{t(this)}finally{this.indent-=1}}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
|
|
2
|
+
`).filter(i=>i),o=Math.min(...r.map(i=>i.length-i.trimStart().length)),s=r.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(const i of s)this.content.push(i)}compile(){const t=Function,n=this?.content??[""];return new t(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
|
|
3
|
+
${n.join(`
|
|
4
|
+
`)}
|
|
5
|
+
};`)(...Object.values(this.closed))}}const ci={major:4,minor:6,patch:7},T=f("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=ci;const r=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...r??[]]:r?.length?[...r]:[];for(const s of o)for(const i of s._zod.onattach)i(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const s=(a,u,c)=>{if(a.memo)return a;let l=ne(a),m;for(const h of u){if(h._zod.def.when){if(Bo(a)||!h._zod.def.when(a))continue}else if(l)continue;const g=a.issues.length,v=h._zod.check(a);if(v instanceof Promise&&c?.async===!1)throw new de;if(m||v instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await v,a.issues.length!==g&&(wt(a.issues,g,e),l||(l=ne(a,g)))});else{if(a.issues.length===g)continue;wt(a.issues,g,e),l||(l=ne(a,g))}}return m?m.then(()=>a):a},i=(a,u,c)=>{if(ne(a))return a.aborted=!0,a;const l=s(u,o,c);if(l instanceof Promise){if(c.async===!1)throw new de;return l.then(m=>e._zod.parse(m,c))}return e._zod.parse(l,c)};e._zod.run=(a,u)=>{if(u.skipChecks)return e._zod.parse(a,u);if(u.direction==="backward"){const l=e._zod.parse({value:a.value,issues:[]},{...u,skipChecks:!0});return l instanceof Promise?l.then(m=>i(m,a,u)):i(l,a,u)}const c=e._zod.parse(a,u);if(c instanceof Promise){if(u.async===!1)throw new de;return c.then(l=>s(l,o,u))}return s(c,o,u)}}},{get"~standard"(){return Wn(this,"~standard",nr(this))},set"~standard"(e){ae(this,"~standard",e)}}),tr=(e,t)=>e.issues.length?{issues:e.issues.map(n=>ie(n,t,Y()))}:{value:e.value};async function di(e,t){const n={async:!0};return tr(await e._zod.run({value:t,issues:[]},n),n)}function nr(e){return{validate:t=>{const n={async:!1};try{const r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return tr(r,n)}catch{}return di(e,t)},vendor:"zod",version:1}}const Ft=f("$ZodString",(e,t)=>{T.init(e,t),e._zod.pattern=t.pattern??Js,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),x=f("$ZodStringFormat",(e,t)=>{it.init(e,t),Ft.init(e,t)}),fi=f("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xs),x.init(e,t)}),mi=f("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=sn(r))}else t.pattern??(t.pattern=sn());x.init(e,t)}),pi=f("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ts),x.init(e,t)}),rr=1,Xe=2;function or(e){try{return typeof URL<"u"&&typeof URL.canParse=="function"?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function hi(e,t){return!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t)?or(e)||Xe:gi(e,t)}function gi(e,t){if(!t.normalize&&t.protocol?.source===Ns.source&&!/^https?:\/\//i.test(e))return rr;try{if(typeof URL<"u"){const n=URL;if(typeof n.parse=="function")return n.parse(e)??Xe}return new URL(e)}catch{return Xe}}const vi=/[\t\n\r]/g;function an(e){return e.replace(vi,"")}function bi(e,t){return t.lastIndex=0,t.test(e.hostname)}function _i(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}const yi=f("$ZodURL",(e,t)=>{x.init(e,t),e._zod.check=n=>{try{const r=n.value.trim(),o=hi(r,t);if(o===rr){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}if(o===Xe){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort});return}if(o===!0){n.value=an(r);return}t.hostname&&!bi(o,t.hostname)&&n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!_i(o,t.protocol)&&n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?o.href:an(r);return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),wi=f("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Zs()),x.init(e,t)}),ki=f("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw new Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?Es:Is(t.length)),x.init(e,t)}),$i=f("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ks),x.init(e,t)}),zi=f("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=$s),x.init(e,t)}),Si=f("$ZodULID",(e,t)=>{t.pattern??(t.pattern=zs),x.init(e,t)}),Oi=f("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Ss),x.init(e,t)}),Ei=f("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Os),x.init(e,t)}),Ii=f("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Gs(t)),x.init(e,t)}),Pi=f("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ls),x.init(e,t)}),xi=f("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Bs(t)),x.init(e,t)}),Ti=f("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Ps),x.init(e,t)}),Ai=f("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Rs),x.init(e,t)}),Zi=/^[0-9a-fA-F:.]+$/;function sr(e){return Zi.test(e)?or(`http://[${e}]`):!1}const Ri=f("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Vs),x.init(e,t),e._zod.check=n=>{sr(n.value)||n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}),Vi=f("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Us),x.init(e,t)});function Ui(e){const t=e.split("/");if(t.length!==2)return!1;const[n,r]=t;if(!r)return!1;const o=Number(r);return`${o}`!==r||o<0||o>128?!1:sr(n)}const Di=f("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Ds),x.init(e,t),e._zod.check=n=>{Ui(n.value)||n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}});function ir(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const ar=/^[0-9a-zA-Z+/]*={0,2}$/,Mi=f("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=ar),x.init(e,t),e._zod.check=n=>{ir(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}}),Lt=/^[A-Za-z0-9_-]*$/;function ji(e){if(!Lt.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return ir(n)}const Ni=f("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Lt),x.init(e,t),e._zod.check=n=>{ji(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Ci=f("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Cs),x.init(e,t)});function Fi(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const Li=f("$ZodJWT",(e,t)=>{x.init(e,t),e._zod.check=n=>{Fi(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),lr=f("$ZodNumber",(e,t)=>{T.init(e,t),e._zod.pattern=Nt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;const s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),n}}),Bi=f("$ZodNumberFormat",(e,t)=>{Hs.init(e,t),lr.init(e,t)}),Gi=f("$ZodBoolean",(e,t)=>{T.init(e,t),e._zod.pattern=Ws,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Ji=f("$ZodUnknown",(e,t)=>{T.init(e,t),e._zod.parse=n=>n}),Ki=f("$ZodNever",(e,t)=>{T.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Wi(e,t){const n=tn(e._zod.def.checks);if(!n.length)return;const r=Math.min(...n.map(s=>s[0])),o=e._zod.parse;e._zod.parse=(s,i)=>{const a=t(s.value);if(a>r&&!i?.skipChecks&&i?.direction!=="backward"){for(const[u,c]of tn(e._zod.def.checks))if(a>u&&c._zod.def.when(s)){const l=s.issues.length;return c._zod.check(s),s.issues[l].continue=!1,wt(s.issues,l,e),s}}return o(s,i)}}const qi=e=>Array.isArray(e)?e.length:-1;function ln(e,t,n){e.issues.length&&t.issues.push(..._e(n,e.issues)),t.value[n]=e.value}const Qi=f("$ZodArray",(e,t)=>{T.init(e,t);const n=Q.memoizer;n?.attach(e),e._zod.parse=(r,o)=>{const s=r.value;if(!Array.isArray(s))return r.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),r;r.value=n?n.alloc(e,r,Array(s.length),o):Array(s.length);const i=[],a=o?.abortEarly;for(let u=0;u<s.length;u++){const c=s[u],l=t.element._zod.run({value:c,issues:[]},o);if(l instanceof Promise)i.push(l.then(m=>ln(m,r,u)));else if(ln(l,r,u),a&&l.issues.length!==0&&ne(l))break}return i.length?Promise.all(i).then(()=>r):r},Wi(e,qi)});function He(e,t,n,r,o,s){const i=n in r,a=s==="optional";if(!(!i&&a&&o==="optional")){if(e.issues.length){if(o!==void 0&&a&&!i)return;t.issues.push(..._e(n,e.issues))}if(!i&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?(i||o==="defaulted"&&!a)&&(t.value[n]=void 0):t.value[n]=e.value}}const Xi=[];function ur(e){const t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:Xi,o=r.length?[...t,...r]:t;for(const i of o)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${String(i)}": expected a Zod schema`);const s=Uo(e.shape);return{...e,allKeys:o,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(s)}}function cr(e,t,n,r,o,s,i){const a=[],u=o.keySet,c=o.catchall._zod,l=c.def.type,m=c.optin,h=c.optout;let g=0;for(const v in t){if(i&&n.issues.length!==g){if(ne(n,g))break;g=n.issues.length}if(u.has(v))continue;if(v==="__proto__"){l==="never"&&a.push(v);continue}if(l==="never"){a.push(v);continue}const w=c.run({value:t[v],issues:[]},r);w instanceof Promise?e.push(w.then(z=>He(z,n,v,t,m,h))):He(w,n,v,t,m,h)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:s,continue:!0}),e.length?Promise.all(e).then(()=>n):n}const Hi=f("$ZodObject",(e,t)=>{T.init(e,t);const n=Object.getOwnPropertyDescriptor(t,"shape"),r=n?.get?n.get.raw:t.shape??{};if(r){const c=()=>{const l={...r};return Object.defineProperty(t,"shape",{value:l}),c.raw=l,l};c.raw=r,Object.defineProperty(t,"shape",{get:c})}const o=rt(()=>ur(t));E(e,"propValues",c=>{const l=c.def.shape,m={};for(const h in l){const g=l[h]._zod;if(g.values){Object.prototype.hasOwnProperty.call(m,h)||oe(m,h,new Set);for(const v of g.values)m[h].add(v);g.optin!==void 0&&m[h].add(void 0)}}return m});const s=Re,i=t.catchall;let a;const u=Q.memoizer;u?.attach(e),e._zod.parse=(c,l)=>{a??(a=o.value);const m=c.value;if(!s(m))return c.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),c;c.value=u?u.alloc(e,c,{},l):{};const h=[],g=a.shape,v=l?.abortEarly;let w=c.issues.length;for(const z of a.allKeys){if(v&&c.issues.length!==w){if(ne(c,w))break;w=c.issues.length}if(z==="__proto__")continue;const O=g[z],C=O._zod.optin,ee=O._zod.optout,X=O._zod.run({value:m[z],issues:[]},l);X instanceof Promise?h.push(X.then(k=>He(k,c,z,m,C,ee))):He(X,c,z,m,C,ee)}return i?cr(h,m,c,l,o.value,e,v===!0):h.length?Promise.all(h).then(()=>c):c}}),Yi=f("$ZodObjectJIT",(e,t)=>{Hi.init(e,t);const n=e._zod.parse,r=rt(()=>ur(t)),o=Q.memoizer,s=g=>{const v=r.value,w=v.symbolKeys,z=new ui(["payload","ctx"],{shape:g,inst:e,memo:o,syms:w}),O=k=>`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`,C=(k,I)=>`
|
|
6
|
+
let ${k}_ab = false;
|
|
7
|
+
for (let i = 0; i < ${k}.issues.length; i++) {
|
|
8
|
+
const iss = ${k}.issues[i];
|
|
9
|
+
iss.path = iss.path ? [${I}, ...iss.path] : [${I}];
|
|
10
|
+
payload.issues.push(iss);
|
|
11
|
+
if (iss.continue !== true) ${k}_ab = true;
|
|
12
|
+
}
|
|
13
|
+
if (${k}_ab && ctx && ctx.abortEarly) {
|
|
14
|
+
payload.value = newResult;
|
|
15
|
+
return payload;
|
|
16
|
+
}`;z.write("const input = payload.value;");const ee=Object.create(null);let X=0;for(const k of v.allKeys)ee[k]=`key_${X++}`;z.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(const k of v.allKeys){if(k==="__proto__")continue;const I=ee[k],J=typeof k=="symbol"?`syms[${w.indexOf(k)}]`:Ao(k),he=`${J} in input`,De=g[k],ge=De?._zod?.optin,Me=ge!==void 0,Kt=De?._zod?.optout==="optional";if(z.write(`const ${I} = ${O(J)};`),Me&&Kt){const lt=ge==="optional"?`${I}_present`:`${I}.value !== undefined || ${I}_present`;z.write(`
|
|
17
|
+
const ${I}_present = ${he};
|
|
18
|
+
if (!${I}.issues.length || ${I}_present) {
|
|
19
|
+
if (${I}.issues.length) {${C(I,J)}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (${lt}) {
|
|
23
|
+
newResult[${J}] = ${I}.value;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
`)}else Me?(z.write(`
|
|
28
|
+
if (${I}.issues.length) {${C(I,J)}
|
|
29
|
+
}
|
|
30
|
+
`),ge==="defaulted"?z.write(`newResult[${J}] = ${I}.value;`):z.write(`
|
|
31
|
+
if (${I}.value !== undefined || ${he}) {
|
|
32
|
+
newResult[${J}] = ${I}.value;
|
|
33
|
+
}
|
|
34
|
+
`)):z.write(`
|
|
35
|
+
const ${I}_present = ${he};
|
|
36
|
+
if (${I}.issues.length) {${C(I,J)}
|
|
37
|
+
}
|
|
38
|
+
if (!${I}_present && !${I}.issues.length) {
|
|
39
|
+
payload.issues.push({
|
|
40
|
+
code: "invalid_type",
|
|
41
|
+
expected: "nonoptional",
|
|
42
|
+
input: undefined,
|
|
43
|
+
path: [${J}]
|
|
44
|
+
});
|
|
45
|
+
if (ctx && ctx.abortEarly) {
|
|
46
|
+
payload.value = newResult;
|
|
47
|
+
return payload;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (${I}_present) {
|
|
52
|
+
newResult[${J}] = ${I}.value;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
`)}return z.write("payload.value = newResult;"),z.write("return payload;"),z.compile()};let i;const a=Re,u=!Q.jitless,l=u&&Ro.value,m=t.catchall;let h;e._zod.parse=(g,v)=>{h??(h=r.value);const w=g.value;return a(w)?u&&l&&v?.async===!1&&v.jitless!==!0?(i||(i=s(t.shape)),g=i(g,v),m?cr([],w,g,v,h,e,v?.abortEarly===!0):g):n(g,v):(g.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),g)}});function un(e,t,n,r){for(const s of e)if(s.issues.length===0)return t.value=s.value,t;const o=e.filter(s=>!ne(s));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(s=>s.issues.map(i=>ie(i,r,Y())))}),t)}const dr=f("$ZodUnion",(e,t)=>{T.init(e,t),E(e,"optin",r=>r.def.options.some(o=>o._zod.optin==="defaulted")?"defaulted":r.def.options.some(o=>o._zod.optin!==void 0)?"optional":void 0),E(e,"optout",r=>r.def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),E(e,"values",r=>{if(r.def.options.every(o=>o._zod.values))return new Set(r.def.options.flatMap(o=>Array.from(o._zod.values)))}),E(e,"pattern",r=>{if(r.def.options.every(o=>o._zod.pattern)){const o=r.def.options.map(s=>s._zod.pattern);return new RegExp(`^(${o.map(s=>At(s.source)).join("|")})$`)}});const n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(n)return n(r,o);let s=!1;const i=[];for(const a of t.options){const u=a._zod.run({value:r.value,issues:[]},o);if(u instanceof Promise)i.push(u),s=!0;else{if(u.issues.length===0)return u;i.push(u)}}return s?Promise.all(i).then(a=>un(a,r,e,o)):un(i,r,e,o)}});function ea(e){const t=new Map;for(const n of e.options){const r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(const o of r)if(t.has(o)){if(o!==void 0)throw new Error(`Duplicate discriminator value "${String(o)}"`);t.set(o,null)}else t.set(o,n)}return t}const ta=f("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,dr.init(e,t);const n=e._zod.parse;E(e,"propValues",o=>{const s={};let i=0;for(const a of o.def.options){const u=a._zod.propValues;if(!u||Object.keys(u).length===0)throw new Error(`Invalid discriminated union option at index "${o.def.options.indexOf(a)}"`);u[o.def.discriminator]?.has(void 0)&&i++;for(const[c,l]of Object.entries(u)){Object.prototype.hasOwnProperty.call(s,c)||oe(s,c,new Set);for(const m of l)s[c].add(m)}}return!o.def.unionFallback&&i>1&&s[o.def.discriminator]?.delete(void 0),s}),t.options.forEach((o,s)=>{const i=Zt(o._zod.def);if(i&&!Object.prototype.hasOwnProperty.call(i,t.discriminator))throw new Error(`Invalid discriminated union option at index "${s}"`)});const r=rt(()=>ea(t));e._zod.parse=(o,s)=>{const i=o.value;if(!Re(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;const a=i?.[t.discriminator],u=r.value.get(a);return u&&(a!==void 0||s.direction!=="backward")?u._zod.run(o,s):t.unionFallback||s.direction==="backward"?n(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(c=>r.value.get(c)!==null),input:i,path:[t.discriminator],inst:e}),o)}}),na=f("$ZodIntersection",(e,t)=>{T.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,s=t.left._zod.run({value:o,issues:[]},r),i=t.right._zod.run({value:o,issues:[]},r);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([u,c])=>cn(n,u,c)):cn(n,s,i)}});function $t(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ye(e)&&ye(t)){const n=Object.keys(t),r=Object.keys(e).filter(s=>n.indexOf(s)!==-1),o={...e,...t};Object.prototype.hasOwnProperty.call(o,"__proto__")&&delete o.__proto__;for(const s of r){if(s==="__proto__")continue;const i=$t(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],s=t[r],i=$t(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function cn(e,t,n){const r=new Map;let o;const s=new Map,i=(c,l)=>{let m;if(c.code==="unrecognized_keys"&&!c.path?.length)o??(o=c),m=c.keys;else if(c.code==="invalid_key"&&c.origin==="record"&&c.path?.length===1){const h=String(c.path[0]);s.has(h)||s.set(h,c),m=[h]}else return!1;for(const h of m)r.has(h)||r.set(h,{}),r.get(h)[l]=!0;return!0};for(const c of t.issues)i(c,"l")||e.issues.push(c);for(const c of n.issues)i(c,"r")||e.issues.push(c);const a=[...r].filter(([,c])=>c.l&&c.r).map(([c])=>c);if(a.length){const c=o?a.filter(l=>o.keys.includes(l)):[];c.length&&e.issues.push({...o,keys:c});for(const l of a)!c.includes(l)&&s.has(l)&&e.issues.push(s.get(l))}const u=$t(t.value,n.value);if(!u.valid){if(ne(e))return e;throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(u.mergeErrorPath)}`)}return e.value=u.data,e}const ra=f("$ZodRecord",(e,t)=>{T.init(e,t);const n=Q.memoizer;n?.attach(e),e._zod.parse=(r,o)=>{const s=r.value;if(!ye(s))return r.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),r;const i=[],a=t.keyType._zod.values;if(a&&!t.partial){r.value=n?n.alloc(e,r,{},o):{};const u=new Set;for(const l of a)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){if(u.add(typeof l=="number"?l.toString():l),l==="__proto__")continue;const m=t.keyType._zod.run({value:l,issues:[]},o);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(m.issues.length){r.issues.push({code:"invalid_key",origin:"record",issues:m.issues.map(v=>ie(v,o,Y())),input:l,path:[l],inst:e});continue}const h=m.value;if(h==="__proto__")continue;const g=t.valueType._zod.run({value:s[l],issues:[]},o);g instanceof Promise?i.push(g.then(v=>{v.issues.length&&r.issues.push(..._e(l,v.issues)),r.value[h]=v.value})):(g.issues.length&&r.issues.push(..._e(l,g.issues)),r.value[h]=g.value)}let c;for(const l in s)if(!u.has(l))if(t.mode==="loose"){if(l==="__proto__")continue;r.value[l]=s[l]}else c=c??[],c.push(l);c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c,continue:!0})}else{r.value=n?n.alloc(e,r,{},o):{};let u;for(const c of Reflect.ownKeys(s)){if(c==="__proto__"||!Object.prototype.propertyIsEnumerable.call(s,c))continue;let l=t.keyType._zod.run({value:c,issues:[]},o);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof c=="string"&&Nt.test(c)&&l.issues.length){const v=t.keyType._zod.run({value:Number(c),issues:[]},o);if(v instanceof Promise)throw new Error("Async schemas not supported in object keys currently");v.issues.length===0&&(l=v)}if(l.issues.length){t.mode==="loose"?r.value[c]=s[c]:a?(u=u??[],u.push(c)):r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(v=>ie(v,o,Y())),input:c,path:[c],inst:e});continue}const h=l.value;if(h==="__proto__")continue;const g=t.valueType._zod.run({value:s[c],issues:[]},o);g instanceof Promise?i.push(g.then(v=>{v.issues.length&&r.issues.push(..._e(c,v.issues)),r.value[h]=v.value})):(g.issues.length&&r.issues.push(..._e(c,g.issues)),r.value[h]=g.value)}u&&u.length>0&&r.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:u,continue:!0})}return i.length?Promise.all(i).then(()=>r):r}}),oa=f("$ZodEnum",(e,t)=>{T.init(e,t);const n=_t(t.entries),r=new Set(n);e._zod.values=r,E(e,"pattern",o=>{const s=_t(o.def.entries).filter(i=>Vo.has(typeof i));return new RegExp(s.length?`^(${s.map(i=>we(i.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,s)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:n,input:i,inst:e}),o}}),sa=f("$ZodLiteral",(e,t)=>{T.init(e,t);const n=new Set(t.values);e._zod.values=n,E(e,"pattern",r=>{const o=r.def.values;return new RegExp(o.length?`^(${o.map(s=>typeof s=="string"?we(s):s?we(s.toString()):String(s)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(r,o)=>{const s=r.value;return n.has(s)||r.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),r}}),ia=f("$ZodTransform",(e,t)=>{T.init(e,t),e._zod.optin="optional",Q.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Qn(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(n.value=i,n));if(o instanceof Promise)throw new de;return n.value=o,n}});function dn(e,t){return e.value=t.issues.length?void 0:t.value,e}const fr=f("$ZodOptional",(e,t)=>{T.init(e,t),E(e,"optin",n=>n.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",E(e,"values",n=>{const r=n.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),E(e,"pattern",n=>{const r=n.def.innerType._zod.pattern;return r?new RegExp(`^(${At(r.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(n.value===void 0){if(t.innerType._zod.optin!=="defaulted")return n;const o=t.innerType._zod.run({value:n.value,issues:[]},r);return o instanceof Promise?o.then(s=>dn(n,s)):dn(n,o)}return t.innerType._zod.run(n,r)}}),aa=f("$ZodExactOptional",(e,t)=>{fr.init(e,t),E(e,"values",n=>n.def.innerType._zod.values),E(e,"pattern",n=>n.def.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),la=f("$ZodNullable",(e,t)=>{T.init(e,t),E(e,"optin",n=>n.def.innerType._zod.optin),E(e,"optout",n=>n.def.innerType._zod.optout),E(e,"pattern",n=>{const r=n.def.innerType._zod.pattern;return r?new RegExp(`^(${At(r.source)}|null)$`):void 0}),E(e,"values",n=>n.def.innerType._zod.values?new Set([...n.def.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),ua=f("$ZodDefault",(e,t)=>{T.init(e,t),e._zod.optin="defaulted",E(e,"values",n=>n.def.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>fn(s,t)):fn(o,t)}});function fn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const ca=f("$ZodPrefault",(e,t)=>{T.init(e,t),e._zod.optin="defaulted",E(e,"values",n=>n.def.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),da=f("$ZodNonOptional",(e,t)=>{T.init(e,t),E(e,"values",n=>{const r=n.def.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>mn(s,e)):mn(o,e)}});function mn(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function pn(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(o=>ie(o,r,Y()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const fa=f("$ZodCatch",(e,t)=>{T.init(e,t),E(e,"optin",n=>n.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),E(e,"optout",n=>n.def.innerType._zod.optout),E(e,"values",n=>n.def.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run({value:n.value,issues:[]},r);return o instanceof Promise?o.then(s=>pn(n,s,t,r)):pn(n,o,t,r)}}),ma=f("$ZodPipe",(e,t)=>{T.init(e,t),E(e,"values",n=>n.def.in._zod.values),E(e,"optin",n=>n.def.in._zod.optin),E(e,"optout",n=>n.def.out._zod.optout),E(e,"propValues",n=>n.def.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const s=t.out._zod.run(n,r);return s instanceof Promise?s.then(i=>je(i,t.in,r)):je(s,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(s=>je(s,t.out,r)):je(o,t.out,r)}});function je(e,t,n){return e.issues.some(r=>r.code!=="unrecognized_keys")?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const pa=f("$ZodReadonly",(e,t)=>{T.init(e,t),E(e,"propValues",n=>n.def.innerType._zod.propValues),E(e,"values",n=>n.def.innerType._zod.values),E(e,"optin",n=>n.def.innerType?._zod?.optin),E(e,"optout",n=>n.def.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(hn):hn(o)}});function hn(e){return e.memo||(e.value=Object.freeze(e.value)),e}const ha=f("$ZodCustom",(e,t)=>{G.init(e,t),T.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(s=>gn(s,n,r,e));gn(o,n,r,e)}});function gn(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(Ve(o))}}class ga extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}}const zt="~memo",vn=[];function mr(e){return e!==null&&typeof e=="object"}function pt(e){return e.map(t=>t.path?{...t,path:t.path.slice()}:{...t})}const pr=new WeakMap,xe=0,Je=1,Ae=2;function Ke(e,t,n){const r=pr.get(e);if(r!==void 0)return r?Ae:xe;if(t.has(e))return Ae;t.add(e);let o=xe;const s=l=>{if(o!==Ae&&l?._zod){const m=Ke(l,t);m>o&&(o=m)}},i=(l,m)=>{let h=xe;for(const g of Reflect.ownKeys(l)){const v=Object.getOwnPropertyDescriptor(l,g);if(!v.enumerable)continue;const w=v.get?Je:v.value?._zod?Ke(v.value,t):xe;w>h&&(h=w)}return h},a=l=>{l>o&&(o=l)},u=e._zod.def;switch(u.type){case"object":{const l=Zt(u);a(l?i(l):Je),s(u.catchall);break}case"array":s(u.element);break;case"tuple":for(const l of u.items)s(l);s(u.rest);break;case"record":case"map":s(u.keyType),s(u.valueType);break;case"set":s(u.valueType);break;case"union":for(const l of u.options)s(l);break;case"intersection":s(u.left),s(u.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":s(u.innerType);break;case"pipe":s(u.in),s(u.out);break;case"function":s(u.input),s(u.output);break;case"lazy":{const l=u._cachedInner??void 0;a(l?Ke(l,t):Je);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(const l in u){const m=Object.getOwnPropertyDescriptor(u,l);if(!m||m.get)continue;const h=m.value;if(!(!h||typeof h!="object")){if(h._zod)s(h);else if(Array.isArray(h))for(const g of h)s(g)}}}return t.delete(e),va(e,o)}function va(e,t){return t!==Je&&pr.set(e,t===Ae),t}function ba(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}let Ne;const Ce=[],_a={alloc(e,t,n){const r=Ne;if(!r)return n;Ne=void 0;const o={value:n,issues:null};return r.set(t.value,o),Ce.push(o),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{const n=e._zod.parse,r=(o,s)=>{if(s.direction!=="backward"&&wa(s,o.value))throw new ga;return n(o,s)};e._zod.parse=r,e._zod.run===n&&(e._zod.run=r)})},attach(e){var t;let n,r=!1,o,s;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{const i=e._zod.parse,a=(u,c)=>{if(n===void 0){const O=Ke(e,new Set);if(O===xe)return e._zod.parse=i,e._zod.run===a&&(e._zod.run=i),i(u,c);O===Ae||r?n=!0:r=!0}const l=u.value;if(!mr(l))return i(u,c);let m=c[zt];m||(m={buckets:new WeakMap,backEdges:void 0},c[zt]=m);let h;o===c?h=s:(h=ba(m,e),o=c,s=h);const g=h.get(l);if(g)return u.value=g.value,g.issues?g.issues.length&&u.issues.push(...pt(g.issues)):(u.memo=!0,m.backEdges??(m.backEdges=new WeakSet),m.backEdges.add(g.value)),u;Ne=h;const v=Ce.length,w=i(u,c);Ne=void 0;const z=Ce.length>v?Ce.pop():void 0;return w instanceof Promise?w.then(O=>(z&&(z.issues=O.issues.length?pt(O.issues):vn),O)):(z&&(z.issues=w.issues.length?pt(w.issues):vn),w)};e._zod.parse=a,e._zod.run===i&&(e._zod.run=a)})}};function ya(){return _a}function wa(e,t){const n=e[zt]?.backEdges;return n!==void 0&&mr(t)&&n.has(t)}const ka=()=>{const e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(s){return e[s]??null}const n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};function o(s,i){return s==="number"&&typeof i=="number"&&!Number.isFinite(i)?String(i):r[s]??s}return s=>{switch(s.code){case"invalid_type":{const i=o(s.expected),a=Jo(s.input),u=o(a,s.input);return`Invalid input: expected ${i}, received ${u}`}case"invalid_value":return s.values.length===1?`Invalid input: expected ${Gn(s.values[0])}`:`Invalid option: expected one of ${Yt(s.values,"|")}`;case"too_big":{const i=s.exact?"exactly ":s.inclusive?"<=":"<",a=t(s.origin);return a?`Too big: expected ${s.origin??"value"} to have ${i}${s.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${s.origin??"value"} to be ${i}${s.maximum.toString()}`}case"too_small":{const i=s.exact?"exactly ":s.inclusive?">=":">",a=t(s.origin);return a?`Too small: expected ${s.origin} to have ${i}${s.minimum.toString()} ${a.unit}`:`Too small: expected ${s.origin} to be ${i}${s.minimum.toString()}`}case"invalid_format":{const i=s;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${n[i.format]??s.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${s.divisor}`;case"unrecognized_keys":return`Unrecognized key${s.keys.length>1?"s":""}: ${Yt(s.keys,", ")}`;case"invalid_key":return`Invalid key in ${s.origin}`;case"invalid_union":return s.options&&Array.isArray(s.options)&&s.options.length>0?`Invalid discriminator value. Expected ${s.options.map(a=>`'${a}'`).join(" | ")}`:s.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${s.origin}`;default:return"Invalid input"}}};function $a(){return{localeError:ka()}}var bn;class za{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Sa(){return new za}(bn=globalThis).__zod_globalRegistry??(bn.__zod_globalRegistry=Sa());const Te=globalThis.__zod_globalRegistry;function hr(e){return e.checks&&(e.checks=[...e.checks]),e}function Oa(e,t){return new e(hr({type:"string",...y(t)}))}function Ea(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...y(t)})}function Ia(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...y(t)})}function Pa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...y(t)})}function xa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...y(t)})}function Ta(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...y(t)})}function Aa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...y(t)})}function Za(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...y(t)})}function Ra(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...y(t)})}function Va(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...y(t)})}function Ua(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...y(t)})}function Da(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...y(t)})}function Ma(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...y(t)})}function ja(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...y(t)})}function Na(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...y(t)})}function Ca(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...y(t)})}function Fa(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...y(t)})}function La(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...y(t)})}function Ba(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...y(t)})}function Ga(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...y(t)})}function Ja(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...y(t)})}function Ka(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...y(t)})}function Wa(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...y(t)})}function qa(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...y(t)})}function Qa(e,t){return new e({type:"string",format:"date",check:"string_format",...y(t)})}function Xa(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...y(t)})}function Ha(e,t){return new e({type:"string",format:"duration",check:"string_format",...y(t)})}function Ya(e,t){return new e(hr({type:"number",checks:[],...y(t)}))}function el(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...y(t)})}function tl(e,t){return new e({type:"boolean",...y(t)})}function nl(e){return new e({type:"unknown"})}function rl(e,t){return new e({type:"never",...y(t)})}function _n(e,t){return new Yn({check:"less_than",...y(t),value:e,inclusive:!1})}function ht(e,t){return new Yn({check:"less_than",...y(t),value:e,inclusive:!0})}function yn(e,t){return new er({check:"greater_than",...y(t),value:e,inclusive:!1})}function gt(e,t){return new er({check:"greater_than",...y(t),value:e,inclusive:!0})}function wn(e,t){return new Xs({check:"multiple_of",...y(t),value:e})}function gr(e,t){return new Ys({check:"max_length",...y(t),maximum:e})}function Ye(e,t){return new ei({check:"min_length",...y(t),minimum:e})}function vr(e,t){return new ti({check:"length_equals",...y(t),length:e})}function ol(e,t){return new ni({check:"string_format",format:"regex",...y(t),pattern:e})}function sl(e){return new ri({check:"string_format",format:"lowercase",...y(e)})}function il(e){return new oi({check:"string_format",format:"uppercase",...y(e)})}function al(e,t){return new si({check:"string_format",format:"includes",...y(t),includes:e})}function ll(e,t){return new ii({check:"string_format",format:"starts_with",...y(t),prefix:e})}function ul(e,t){return new ai({check:"string_format",format:"ends_with",...y(t),suffix:e})}function Oe(e){return new li({check:"overwrite",tx:e})}function cl(e){return Oe(t=>t.normalize(e))}function dl(){return Oe(e=>e.trim())}function fl(){return Oe(e=>e.toLowerCase())}function ml(){return Oe(e=>e.toUpperCase())}function pl(){return Oe(e=>Zo(e))}function hl(e,t,n){return new e({type:"array",element:t,...y(n)})}function gl(e,t,n){return new e({type:"custom",check:"custom",fn:t,...y(n)})}function vl(e,t){const n=bl(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(Ve(o,r.value,n._zod.def));else{const s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),"input"in s||(s.input=r.value),s.inst??(s.inst=n),s.continue??(s.continue=!n._zod.def.abort),r.issues.push(Ve(s))}},e(r.value,r)),t);return n}function bl(e,t){const n=new G({check:"custom",...y(t)});return n._zod.check=e,n}function Ze(e,...t){for(const n of t)for(const r of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,r)&&oe(e,r,n[r]);return e}function br(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Te,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??"ref",reused:e?.reused??"inline",intersections:[],deferred:[],external:e?.external??void 0}}function le(e,t,n,r,o){const s=typeof t.unrepresentable=="function"?t.unrepresentable({zodSchema:e,path:r.path,message:o}):t.unrepresentable;if(s==="any")return!1;if(s===void 0||s==="throw")throw new Error(o);return Object.assign(n,s),!0}function D(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,s=t.seen.get(e);if(s)return s.count++,n.schemaPath.includes(e)&&(s.cycle=n.path),s.schema;const i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;const a=e._zod.toJSONSchema?.();if(a)i.schema=a;else{const l={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,l);else{const h=i.schema,g=t.processors[o.type];if(!g)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);g(e,t,h,l)}const m=e._zod.parent;m&&(i.ref||(i.ref=m),D(m,t,l),t.seen.get(m).isParent=!0)}const u=t.metadataRegistry.get(e);return u&&Ze(i.schema,u),t.io==="input"&&F(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&"_prefault"in i.schema&&((r=i.schema).default??(r.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function kn(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function _r(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;const r=new Map;for(const i of e.seen.entries()){const a=e.metadataRegistry.get(i[0])?.id;if(a){const u=r.get(a);if(u&&u!==i[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(a,i[0])}}const o=i=>{const a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const m=e.external.registry.get(i[0])?.id,h=e.external.uri??(v=>v);if(m)return{ref:h(m)};const g=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=g,{defId:g,ref:`${h("__shared")}#/${a}/${kn(g)}`}}const u="#",c=`${u}/${a}/`;if(i[1]===n&&!i[1].schema.id)return{ref:u};const l=i[1].schema.id??`__schema${e.counter++}`;return{defId:l,ref:c+kn(l)}},s=i=>{if(i[1].schema.$ref)return;const a=i[1],{ref:u,defId:c}=o(i);a.def={...a.schema},c&&(a.defId=c);const l=a.schema;for(const m in l)delete l[m];l.$ref=u};if(e.cycles==="throw")for(const i of e.seen.entries()){const a=i[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
|
|
56
|
+
|
|
57
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const a=i[1];if(t===i[0]){s(i);continue}if(e.external){const c=e.external.registry.get(i[0])?.id;if(t!==i[0]&&c){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(a.cycle){s(i);continue}a.count>1&&e.reused==="ref"&&s(i)}e.external&&(e.sharedDefsExtractedFor=e.external)}function yr(e){const t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;const n=[];for(const r of t){if(!r||typeof r!="object")return;yr(r);const o=Object.keys(r);if(o.length!==1||o[0]!=="type")return;const s=r.type;for(const i of Array.isArray(s)?s:[s]){if(typeof i!="string")return;n.includes(i)||n.push(i)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const wr=new Set(["type","properties","required","additionalProperties"]),$n=["oneOf","anyOf"];function zn(e){const t=e.additionalProperties;return t===void 0||t===!1||typeof t!="object"||t===null?null:Object.keys(t).length?t:null}function St(e){const t=[];for(const s of e){if(typeof s!="object"||s.type!=="object")return null;for(const i in s)if(!wr.has(i))return null;t.push(s)}const n={},r=new Set;for(const s of t){for(const i in s.properties){if(Object.prototype.hasOwnProperty.call(n,i))continue;const a=[];for(const c of t){const l=c.properties?.[i]??zn(c);l!=null&&(a.some(m=>JSON.stringify(m)===JSON.stringify(l))||a.push(l))}const u=a.length===1?a[0]:St(a)??{allOf:a};oe(n,i,u)}for(const i of s.required??[])r.add(i)}const o={type:"object",properties:n};if(r.size&&(o.required=[...r]),t.every(s=>s.additionalProperties===!1))o.additionalProperties=!1;else{const s=[];for(const i of t){const a=zn(i);a&&!s.some(u=>JSON.stringify(u)===JSON.stringify(a))&&s.push(a)}s.length===1?o.additionalProperties=s[0]:s.length>1&&(o.additionalProperties={allOf:s})}return o}function _l(e){const t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(const o of wr)if(o in e)return;const n=t.filter(o=>$n.some(s=>Array.isArray(o[s])));let r=null;if(!n.length)r=St(t);else{const o=n[0],s=$n.find(u=>Array.isArray(o[u]));if(Object.keys(o).length!==1)return;const i=t.filter(u=>u!==o),a=o[s].map(u=>St([...i,u]));if(a.some(u=>!u))return;r={[s]:a}}r&&(delete e.allOf,Ze(e,r))}function kr(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=a=>{const u=e.seen.get(a);if(u.ref===null)return;const c=u.def??u.schema,l={...c},m=u.ref;if(u.ref=null,m){r(m);const g=e.seen.get(m),v=g.schema;if(v.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(v)):Ze(c,v),Ze(c,l),a._zod.parent===m)for(const z in c)z==="$ref"||z==="allOf"||z in l||delete c[z];if(v.$ref&&g.def)for(const z in c)z==="$ref"||z==="allOf"||z in g.def&&JSON.stringify(c[z])===JSON.stringify(g.def[z])&&delete c[z]}const h=a._zod.parent;if(h&&h!==m){r(h);const g=e.seen.get(h);if(g?.schema.$ref&&(c.$ref=g.schema.$ref,g.def))for(const v in c)v==="$ref"||v==="allOf"||v in g.def&&JSON.stringify(c[v])===JSON.stringify(g.def[v])&&delete c[v]}e.override({zodSchema:a,jsonSchema:c,path:u.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(const a of[...e.seen.entries()].reverse())r(a[0]);if(e.target!=="openapi-3.0")for(const a of e.seen.entries())yr(a[1].def??a[1].schema);for(const a of e.deferred)a();if(e.intersections.length){const a=new Map;for(const u of e.seen.values())for(const c of[u.schema,u.def]){const l=c?.allOf;if(!Array.isArray(l))continue;const m=a.get(l);m?m.push(c):a.set(l,[c])}for(const u of e.intersections)for(const c of a.get(u)??[])_l(c)}}const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(a)}Ze(o,n.defId?n.schema:n.def??n.schema);const s=e.metadataRegistry.get(t)?.id;s!==void 0&&o.id===s&&delete o.id;const i=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(const a of e.seen.entries()){const u=a[1];u.def&&u.defId&&(u.def.id===u.defId&&delete u.def.id,oe(i,u.defId,u.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?o.$defs=i:o.definitions=i);try{const a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:et(t,"input",e.processors),output:et(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function F(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return F(r.element,n);if(r.type==="set")return F(r.valueType,n);if(r.type==="lazy")return F(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault"||r.type==="catch")return F(r.innerType,n);if(r.type==="intersection")return F(r.left,n)||F(r.right,n);if(r.type==="record"||r.type==="map")return F(r.keyType,n)||F(r.valueType,n);if(r.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:F(r.in,n)||F(r.out,n);if(r.type==="object"){for(const o in r.shape)if(F(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(const o of r.options)if(F(o,n))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if(F(o,n))return!0;return!!(r.rest&&F(r.rest,n))}return!1}const yl=(e,t={})=>n=>{const r=br({...n,processors:t});return D(e,r),_r(r,e),kr(r,e)},et=(e,t,n={})=>r=>{const{libraryOptions:o,target:s}=r??{},i=br({...o??{},target:s,io:t,processors:n});return D(e,i),_r(i,e),kr(i,e)},ke=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},$e=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Sn=(e,t)=>{ke(e,"minimum",t),$e(e,"maximum",t)},$r=(e,t)=>{e.multipleOf??(e.multipleOf=[]),e.multipleOf.includes(t)||e.multipleOf.push(t)},zr=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},Sr=(e,t)=>{e.mime=e.mime?e.mime.filter(n=>t.includes(n)):[...t]},Or=(e,t)=>{e.format=t,t.includes("int")&&(e.isInt=!0)},On=(e,t)=>ke(e,"minimum",t.minimum),En=(e,t)=>$e(e,"maximum",t.maximum),In=e=>(t,n)=>{Or(t,n.format);const[r,o]=e[n.format];ke(t,"minimum",r),$e(t,"maximum",o)},wl={greater_than:(e,t)=>ke(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>$e(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>$r(e,t.value),number_format:In(Jn),bigint_format:In(Do),min_length:On,max_length:En,length_equals:(e,t)=>Sn(e,t.length),min_size:On,max_size:En,size_equals:(e,t)=>Sn(e,t.size),string_format:(e,t)=>{Or(e,t.format),t.pattern&&zr(e,t.pattern),(t.format==="base64"||t.format==="base64url")&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Sr(e,t.mime)};function q(e){const t={},n=e._zod.def,r=e._zod.traits.has("$ZodCheck")?[e,...n.checks??[]]:n.checks??[];for(const s of r)wl[s._zod.def.check]?.(t,s._zod.def);const o=e._zod.bag;o.minimum!==void 0&&ke(t,"minimum",o.minimum),o.exclusiveMinimum!==void 0&&ke(t,"exclusiveMinimum",o.exclusiveMinimum),o.maximum!==void 0&&$e(t,"maximum",o.maximum),o.exclusiveMaximum!==void 0&&$e(t,"exclusiveMaximum",o.exclusiveMaximum),o.multipleOf!==void 0&&$r(t,o.multipleOf),o.format!==void 0&&(t.format??(t.format=o.format),o.format.includes("int")&&(t.isInt=!0)),o.mime&&Sr(t,o.mime);for(const s of o.patterns??[])zr(t,s);return t}const kl={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},$l=new Map([[ar,Ms],[Lt,js]]),Er=e=>$l.get(e)??e,zl=(e,t,n,r)=>{const o=n;o.type="string";const{minimum:s,maximum:i,format:a,patterns:u,contentEncoding:c,laxFormat:l}=q(e);if(typeof s=="number"&&(o.minLength=s),typeof i=="number"&&(o.maxLength=i),a&&(o.format=kl[a]??a,o.format===""&&delete o.format,(a==="time"||l)&&delete o.format),c&&(o.contentEncoding=c),u&&u.size>0){const m=[...u].map(Er);m.length===1?o.pattern=m[0].source:m.length>1&&(o.allOf=[...m.map(h=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:h.source}))])}},Sl=(e,t,n,r)=>{const o=n,{minimum:s,maximum:i,multipleOf:a,exclusiveMaximum:u,exclusiveMinimum:c,isInt:l}=q(e);o.type=l?"integer":"number";const m=typeof c=="number"&&c>=(s??Number.NEGATIVE_INFINITY),h=typeof u=="number"&&u<=(i??Number.POSITIVE_INFINITY),g=t.target==="draft-04"||t.target==="openapi-3.0";if(m?g?(o.minimum=c,o.exclusiveMinimum=!0):o.exclusiveMinimum=c:typeof s=="number"&&(o.minimum=s),h?g?(o.maximum=u,o.exclusiveMaximum=!0):o.exclusiveMaximum=u:typeof i=="number"&&(o.maximum=i),a){const v=new Set;for(const O of a)Number.isFinite(O)&&O!==0?v.add(Math.abs(O)):le(e,t,o,r,`A multipleOf divisor of ${O} cannot be represented in JSON Schema`);const[w,...z]=v;w!==void 0&&(o.multipleOf=w),z.length&&(o.allOf=[...o.allOf??[],...z.map(O=>({multipleOf:O}))])}},Ol=(e,t,n,r)=>{n.type="boolean"},El=(e,t,n,r)=>{n.not={}},Il=(e,t,n,r)=>{},Pl=(e,t,n,r)=>{const o=e._zod.def,s=_t(o.entries);if(s.length===0){n.not={};return}s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),n.enum=s},xl=(e,t,n,r)=>{const o=e._zod.def;if(o.values.length===0){n.not={};return}const s=[];for(const i of o.values)if(i===void 0){if(le(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof i=="bigint"){if(le(e,t,n,r,"BigInt literals cannot be represented in JSON Schema"))return;s.push(Number(i))}else s.push(i);if(s.length!==0)if(s.length===1){const i=s[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),s.every(i=>typeof i=="boolean")&&(n.type="boolean"),s.every(i=>i===null)&&(n.type="null"),n.enum=s},Tl=(e,t,n,r)=>{le(e,t,n,r,"Custom types cannot be represented in JSON Schema")},Al=(e,t,n,r)=>{le(e,t,n,r,"Transforms cannot be represented in JSON Schema")},Zl=(e,t,n,r)=>{const o=n,s=e._zod.def,{minimum:i,maximum:a}=q(e);typeof i=="number"&&(o.minItems=i),typeof a=="number"&&(o.maxItems=a),o.type="array",o.items=D(s.element,t,{...r,path:[...r.path,"items"]})};function tt(e){const t=e._zod.def;return t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform")?tt(t.out):t.type==="catch"?tt(t.innerType):e._zod.optin}const Rl=(e,t,n,r)=>{const o=n,s=e._zod.def,i=s.shape;if(Object.getOwnPropertySymbols(i).length&&le(e,t,o,r,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(const c in i)oe(o.properties,c,D(i[c],t,{...r,path:[...r.path,"properties",c]}));const u=[];for(const c of Object.keys(i)){const l=s.shape[c];(t.io==="input"?tt(l)===void 0:l._zod.optout===void 0)&&u.push(c)}u.length>0&&(o.required=u),s.catchall?._zod.def.type==="never"?o.additionalProperties=!1:s.catchall?s.catchall&&(o.additionalProperties=D(s.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Vl=(e,t,n,r)=>{const o=e._zod.def,s=o.inclusive===!1,i=o.options.map((a,u)=>D(a,t,{...r,path:[...r.path,s?"oneOf":"anyOf",u]}));s?n.oneOf=i:n.anyOf=i},Ul=(e,t,n,r)=>{const o=e._zod.def,s=D(o.left,t,{...r,path:[...r.path,"allOf",0]}),i=D(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=c=>"allOf"in c&&Object.keys(c).length===1,u=[...a(s)?s.allOf:[s],...a(i)?i.allOf:[i]];n.allOf=u,t.intersections.push(u)};function Ot(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);const v=e.get(t)?.def;if(!v)return t;const w=Ot(e,v,n);return w===v?t:w}for(const v of["anyOf","oneOf"]){const w=t[v];if(!Array.isArray(w))continue;const z=w.map(O=>Ot(e,O,n));z.some((O,C)=>O!==w[C])&&(t={...t,[v]:z})}const r=Array.isArray(t.type)?t.type:[t.type],o=!r.includes("string")&&r.some(v=>v==="number"||v==="integer"),s=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!s?.some(v=>typeof v=="number"))return t;const{minimum:i,maximum:a,exclusiveMinimum:u,exclusiveMaximum:c,multipleOf:l,format:m,id:h,...g}=t;return g.enum?g.enum=g.enum.map(v=>typeof v=="number"?String(v):v):typeof g.const=="number"&&(g.const=String(g.const)),o&&(g.type="string",s||(g.pattern=(r.includes("number")?Nt:Ks).source)),g}const Et=new WeakMap;function Dl(e){const t=new Map;for(const r of e.seen.values())r.def&&!t.has(r.schema)&&t.set(r.schema,r);const n=new Map;for(const r of Et.get(e)??[]){const o=e.seen.get(r),s=(o?.def??o?.schema)?.propertyNames;if(!s||s===!0||n.has(s))continue;const i=Ot(t,s,new Set);i!==s&&n.set(s,i)}if(n.size)for(const r of e.seen.values())for(const o of[r.schema,r.def]){const s=o&&n.get(o.propertyNames);s&&(o.propertyNames=s)}}const Ml=(e,t,n,r)=>{const o=n,s=e._zod.def;o.type="object";const i=s.keyType,a=q(i).patterns;if(s.mode==="loose"&&a&&a.size>0){const l=D(s.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const m of a)oe(o.patternProperties,Er(m).source,l)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=D(s.keyType,t,{...r,path:[...r.path,"propertyNames"]});let l=Et.get(t);l||(l=[],Et.set(t,l),t.deferred.push(()=>Dl(t))),l.push(e)}o.additionalProperties=D(s.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}const u=i._zod.values,c=t.io==="input"&&tt(s.valueType)!==void 0;if(u&&!s.partial&&!c){const l=[...u].filter(m=>typeof m=="string"||typeof m=="number");l.length>0&&(o.required=l.map(String))}},jl=(e,t,n,r)=>{const o=e._zod.def,s=D(o.innerType,t,r),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=o.innerType,n.nullable=!0):n.anyOf=[s,{type:"null"}]},Nl=(e,t,n,r)=>{const o=e._zod.def;D(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},Bt=Symbol();function Ir(e,t,n,r,o){let s=!1;const i=JSON.stringify(e,(a,u)=>typeof u!="bigint"?u:(s=!0,null));return s?(le(t,n,r,o,"BigInt defaults cannot be represented in JSON Schema"),Bt):JSON.parse(i)}const Cl=(e,t,n,r)=>{const o=e._zod.def;D(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType;const i=Ir(o.defaultValue,e,t,n,r);i!==Bt&&(n.default=i)},Fl=(e,t,n,r)=>{const o=e._zod.def;D(o.innerType,t,r);const s=t.seen.get(e);if(s.ref=o.innerType,t.io!=="input")return;const i=Ir(o.defaultValue,e,t,n,r);i!==Bt&&(n._prefault=i)},Ll=(e,t,n,r)=>{const o=e._zod.def;D(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{le(e,t,n,r,"Dynamic catch values are not supported in JSON Schema");return}n.default=i},Bl=(e,t,n,r)=>{const o=e._zod.def,s=o.in._zod.traits.has("$ZodTransform"),i=t.io==="input"?s?o.out:o.in:o.out;D(i,t,r);const a=t.seen.get(e);a.ref=i},Gl=(e,t,n,r)=>{const o=e._zod.def;D(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType,n.readOnly=!0},Pr=(e,t,n,r)=>{const o=e._zod.def;D(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},Pn=new WeakSet([Object.prototype,Error.prototype]);function Fe(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){const r=n(this);return Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0})}})}const Jl=(e,t)=>{ss.init(e,t),e.name="ZodError";const n=Object.getPrototypeOf(e);Pn.has(n)||(Pn.add(n),Fe(n,"format",r=>o=>ls(r,o)),Fe(n,"flatten",r=>o=>as(r,o)),Fe(n,"addIssue",r=>o=>{r.issues.push(o),r.message=JSON.stringify(r.issues,yt,2)}),Fe(n,"addIssues",r=>o=>{r.issues.push(...o),r.message=JSON.stringify(r.issues,yt,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},W=f("ZodError",Jl,void 0,{Parent:Error}),Kl=Ut(W),Wl=Dt(W),ql=Mt(W),Ql=jt(W),Xl=ps(W),Hl=hs(W),Yl=gs(W),eu=vs(W),tu=bs(W),nu=_s(W),ru=ys(W),ou=ws(W);function su(){Q.localeError||Y($a())}function at(){Q.memoizer||Y({memoizer:ya()})}const A=f("ZodType",(e,t)=>(su(),T.init(e,t),e.def=t,e.type=t.type,e),{check(...e){const t=this.def;return this.clone(K(t,{checks:[...t.checks??[],...e.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return ue(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(rc(e,t))},superRefine(e,t){return this.check(oc(e,t))},overwrite(e){return this.check(Oe(e))},optional(){return Zn(this)},exactOptional(){return Bu(this)},nullable(){return Rn(this)},nullish(){return Zn(Rn(this))},nonoptional(e){return Qu(this,e)},array(){return Gt(this)},or(e){return Ie([this,e])},and(e){return ju(this,e)},transform(e){return Vn(this,Lu(e))},default(e){return Ku(this,e)},prefault(e){return qu(this,e)},catch(e){return Hu(this,e)},pipe(e){return Vn(this,e)},readonly(){return tc(this)},describe(e){const t=this.clone();return Te.add(t,{description:e}),t},meta(...e){if(e.length===0)return Te.get(this);const t=this.clone();return Te.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return Wn(this,"~standard",{...nr(this),jsonSchema:{input:et(this,"input"),output:et(this,"output")}})},set"~standard"(e){ae(this,"~standard",e)},parse:function e(t,n){return Kl(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Wl(this,t,n,{callee:e})},safeParse(e,t){return ql(this,e,t)},async safeParseAsync(e,t){return Ql(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){ae(this,"spa",e)},validate(e,t){return ds(this,e,t)},validateAsync(e,t){return ms(this,e,t)},encode:function e(t,n){return Xl(this,t,n,{callee:e})},decode:function e(t,n){return Hl(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Yl(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await eu(this,t,n,{callee:e})},safeEncode(e,t){return tu(this,e,t)},safeDecode(e,t){return nu(this,e,t)},async safeEncodeAsync(e,t){return ru(this,e,t)},async safeDecodeAsync(e,t){return ou(this,e,t)},toJSONSchema(e){return yl(this,{})(e)},get description(){return Te.get(this)?.description},get _def(){return this._zod.def}}),xr=f("_ZodString",(e,t)=>{Ft.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zl(e,n,r)},qn({format:e=>q(e).format??null,minLength:e=>q(e).minimum??null,maxLength:e=>q(e).maximum??null},{regex(...e){return this.check(ol(...e))},includes(...e){return this.check(al(...e))},startsWith(...e){return this.check(ll(...e))},endsWith(...e){return this.check(ul(...e))},min(...e){return this.check(Ye(...e))},max(...e){return this.check(gr(...e))},length(...e){return this.check(vr(...e))},nonempty(...e){return this.check(Ye(1,...e))},lowercase(e){return this.check(sl(e))},uppercase(e){return this.check(il(e))},trim(){return this.check(dl())},normalize(...e){return this.check(cl(...e))},toLowerCase(){return this.check(fl())},toUpperCase(){return this.check(ml())},slugify(){return this.check(pl())}})),iu=f("ZodString",(e,t)=>{Ft.init(e,t),xr.init(e,t)},{email(e){return this.check(Ea(du,e))},url(e){return this.check(Za(mu,e))},jwt(e){return this.check(Wa(Iu,e))},emoji(e){return this.check(Ra(pu,e))},guid(e){return this.check(Ia(fu,e))},uuid(e){return this.check(Pa(Le,e))},uuidv4(e){return this.check(xa(Le,e))},uuidv6(e){return this.check(Ta(Le,e))},uuidv7(e){return this.check(Aa(Le,e))},nanoid(e){return this.check(Va(hu,e))},cuid(e){return this.check(Ua(gu,e))},cuid2(e){return this.check(Da(vu,e))},ulid(e){return this.check(Ma(bu,e))},base64(e){return this.check(Ga(Su,e))},base64url(e){return this.check(Ja(Ou,e))},xid(e){return this.check(ja(_u,e))},ksuid(e){return this.check(Na(yu,e))},ipv4(e){return this.check(Ca(wu,e))},ipv6(e){return this.check(Fa(ku,e))},cidrv4(e){return this.check(La($u,e))},cidrv6(e){return this.check(Ba(zu,e))},e164(e){return this.check(Ka(Eu,e))},datetime(e){return this.check(qa(au,e))},date(e){return this.check(Qa(lu,e))},time(e){return this.check(Xa(uu,e))},duration(e){return this.check(Ha(cu,e))}});function U(e){return Oa(iu,e)}const Z=f("ZodStringFormat",(e,t)=>{x.init(e,t),xr.init(e,t)}),au=f("ZodISODateTime",(e,t)=>{Ii.init(e,t),Z.init(e,t)}),lu=f("ZodISODate",(e,t)=>{Pi.init(e,t),Z.init(e,t)}),uu=f("ZodISOTime",(e,t)=>{xi.init(e,t),Z.init(e,t)}),cu=f("ZodISODuration",(e,t)=>{Ti.init(e,t),Z.init(e,t)}),du=f("ZodEmail",(e,t)=>{pi.init(e,t),Z.init(e,t)}),fu=f("ZodGUID",(e,t)=>{fi.init(e,t),Z.init(e,t)}),Le=f("ZodUUID",(e,t)=>{mi.init(e,t),Z.init(e,t)}),mu=f("ZodURL",(e,t)=>{yi.init(e,t),Z.init(e,t)}),pu=f("ZodEmoji",(e,t)=>{wi.init(e,t),Z.init(e,t)}),hu=f("ZodNanoID",(e,t)=>{ki.init(e,t),Z.init(e,t)}),gu=f("ZodCUID",(e,t)=>{$i.init(e,t),Z.init(e,t)}),vu=f("ZodCUID2",(e,t)=>{zi.init(e,t),Z.init(e,t)}),bu=f("ZodULID",(e,t)=>{Si.init(e,t),Z.init(e,t)}),_u=f("ZodXID",(e,t)=>{Oi.init(e,t),Z.init(e,t)}),yu=f("ZodKSUID",(e,t)=>{Ei.init(e,t),Z.init(e,t)}),wu=f("ZodIPv4",(e,t)=>{Ai.init(e,t),Z.init(e,t)}),ku=f("ZodIPv6",(e,t)=>{Ri.init(e,t),Z.init(e,t)}),$u=f("ZodCIDRv4",(e,t)=>{Vi.init(e,t),Z.init(e,t)}),zu=f("ZodCIDRv6",(e,t)=>{Di.init(e,t),Z.init(e,t)}),Su=f("ZodBase64",(e,t)=>{Mi.init(e,t),Z.init(e,t)}),Ou=f("ZodBase64URL",(e,t)=>{Ni.init(e,t),Z.init(e,t)}),Eu=f("ZodE164",(e,t)=>{Ci.init(e,t),Z.init(e,t)}),Iu=f("ZodJWT",(e,t)=>{Li.init(e,t),Z.init(e,t)}),Tr=f("ZodNumber",(e,t)=>{lr.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Sl(e,n,r,o),e.isFinite=!0},qn({minValue:e=>{const{minimum:t,exclusiveMinimum:n}=q(e);return Math.max(t??Number.NEGATIVE_INFINITY,n??Number.NEGATIVE_INFINITY)},maxValue:e=>{const{maximum:t,exclusiveMaximum:n}=q(e);return Math.min(t??Number.POSITIVE_INFINITY,n??Number.POSITIVE_INFINITY)},isInt:e=>{const{isInt:t,multipleOf:n}=q(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>q(e).format??null},{gt(e,t){return this.check(yn(e,t))},gte(e,t){return this.check(gt(e,t))},min(e,t){return this.check(gt(e,t))},lt(e,t){return this.check(_n(e,t))},lte(e,t){return this.check(ht(e,t))},max(e,t){return this.check(ht(e,t))},int(e){return this.check(xn(e))},safe(e){return this.check(xn(e))},positive(e){return this.check(yn(0,e))},nonnegative(e){return this.check(gt(0,e))},negative(e){return this.check(_n(0,e))},nonpositive(e){return this.check(ht(0,e))},multipleOf(e,t){return this.check(wn(e,t))},step(e,t){return this.check(wn(e,t))},finite(){return this}}));function Be(e){return Ya(Tr,e)}const Pu=f("ZodNumberFormat",(e,t)=>{Bi.init(e,t),Tr.init(e,t)});function xn(e){return el(Pu,e)}const xu=f("ZodBoolean",(e,t)=>{Gi.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ol(e,n,r)});function Ee(e){return tl(xu,e)}const Tu=f("ZodUnknown",(e,t)=>{Ji.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Il()});function Tn(){return nl(Tu)}const Au=f("ZodNever",(e,t)=>{Ki.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>El(e,n,r)});function Zu(e){return rl(Au,e)}const Ru=f("ZodArray",(e,t)=>{at(),Qi.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zl(e,n,r,o),e.element=t.element},{min(e,t){return this.check(Ye(e,t))},nonempty(e){return this.check(Ye(1,e))},max(e,t){return this.check(gr(e,t))},length(e,t){return this.check(vr(e,t))},unwrap(){return this.element}});function Gt(e,t){return hl(Ru,e,t)}const Vu=f("ZodObject",(e,t)=>{at(),Yi.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Rl(e,n,r,o),Xo(e,"shape",n=>n._zod.def.shape,!1)},{keyof(){return pe(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(K(this._zod.def,{catchall:e}))},passthrough(){return this.clone(K(this._zod.def,{catchall:Tn()}))},loose(){return this.clone(K(this._zod.def,{catchall:Tn()}))},strict(){return this.clone(K(this._zod.def,{catchall:Zu()}))},strip(){return this.clone(K(this._zod.def,{catchall:void 0}))},extend(e){return No(this,e)},safeExtend(e){return Co(this,e)},merge(e){return Fo(this,e)},pick(e){return Mo(this,e)},omit(e){return jo(this,e)},partial(...e){return en(Zr,this,e[0])},exactPartial(...e){return en(Rr,this,e[0],"exactPartial")},required(...e){return Lo(Vr,this,e[0])}});function ze(e,t){const n={type:"object",shape:e??{},...y(t)};return new Vu(n)}const Ar=f("ZodUnion",(e,t)=>{dr.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vl(e,n,r,o),e.options=t.options});function Ie(e,t){return new Ar({type:"union",options:e,...y(t)})}const Uu=f("ZodDiscriminatedUnion",(e,t)=>{Ar.init(e,t),ta.init(e,t)});function Du(e,t,n){return new Uu({type:"union",options:t,discriminator:e,...y(n)})}const Mu=f("ZodIntersection",(e,t)=>{na.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ul(e,n,r,o)});function ju(e,t){return new Mu({type:"intersection",left:e,right:t})}const An=f("ZodRecord",(e,t)=>{at(),ra.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ml(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Nu(e,t,n){return!t||!t._zod?new An({type:"record",keyType:U(),valueType:e,...y(t)}):new An({type:"record",keyType:e,valueType:t,...y(n)})}const It=f("ZodEnum",(e,t)=>{oa.init(e,t),A.init(e,t),e._zod.processJSONSchema=(r,o,s)=>Pl(e,r,o),e.enum=t.entries,e.options=[...e._zod.values];const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const s={};for(const i of r)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new It({...t,checks:[],...y(o),entries:s})},e.exclude=(r,o)=>{const s={...t.entries};for(const i of r)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new It({...t,checks:[],...y(o),entries:s})}});function pe(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new It({type:"enum",entries:n,...y(t)})}const Cu=f("ZodLiteral",(e,t)=>{sa.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xl(e,n,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function B(e,t){return new Cu({type:"literal",values:Array.isArray(e)?e:[e],...y(t)})}const Fu=f("ZodTransform",(e,t)=>{at(),ia.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Al(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Qn(e.constructor.name);n.addIssue=s=>{if(typeof s=="string")n.issues.push(Ve(s,n.value,t));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),"input"in i||(i.input=n.value),i.inst??(i.inst=e),n.issues.push(Ve(i))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(s=>(n.value=s,n)):(n.value=o,n)}});function Lu(e){return new Fu({type:"transform",transform:e})}const Zr=f("ZodOptional",(e,t)=>{fr.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Pr(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Zn(e){return new Zr({type:"optional",innerType:e})}const Rr=f("ZodExactOptional",(e,t)=>{aa.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Pr(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Bu(e){return new Rr({type:"optional",innerType:e})}const Gu=f("ZodNullable",(e,t)=>{la.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jl(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Rn(e){return new Gu({type:"nullable",innerType:e})}const Ju=f("ZodDefault",(e,t)=>{ua.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Cl(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ku(e,t){return new Ju({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Bn(t)}})}const Wu=f("ZodPrefault",(e,t)=>{ca.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fl(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function qu(e,t){return new Wu({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Bn(t)}})}const Vr=f("ZodNonOptional",(e,t)=>{da.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Nl(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Qu(e,t){return new Vr({type:"nonoptional",innerType:e,...y(t)})}const Xu=f("ZodCatch",(e,t)=>{fa.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ll(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Hu(e,t){return new Xu({type:"catch",innerType:e,catchValue:typeof t=="function"?t:Yo(t)})}const Yu=f("ZodPipe",(e,t)=>{ma.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bl(e,n,r,o),e.in=t.in,e.out=t.out});function Vn(e,t){return new Yu({type:"pipe",in:e,out:t})}const ec=f("ZodReadonly",(e,t)=>{pa.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gl(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function tc(e){return new ec({type:"readonly",innerType:e})}const nc=f("ZodCustom",(e,t)=>{ha.init(e,t),A.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Tl(e,n,r,o)});function rc(e,t={}){return gl(nc,e,t)}function oc(e,t){return vl(e,t)}const sc=["iid","branch","mrTarget","mrBlock"],ic=["iid","branch","mrTarget"];function ac(e){const t=[],n=new Set;for(const r of e.matchAll(/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/g)){const o=r[1];n.has(o)||(n.add(o),t.push(o))}return t}function Ur(e,t){const n=new Set(t);return ac(e).filter(r=>!n.has(r))}const lc=["full","plan","denied"],Jt=["none","read","write","admin","owner"],uc=pe(Jt).default("write"),cc=Ee().default(!0);Ie([pe(Jt),B("")]).default("");Ie([B(""),B("true"),B("false")]).default("");const dc=255,Un=pe(lc);Du("subjectType",[ze({subjectType:B("role"),role:pe(Jt),level:Un}).strict(),ze({subjectType:B("user"),username:U().min(1).max(dc).transform(e=>e.trim()),level:Un}).strict()]);const be=Ie([B(""),B("true"),B("false")]).default("");function L(e){return Ie([B(""),U().regex(/^\d+$/,{message:"must be a whole number"}).refine(t=>Number(t)>=e,{message:`must be >= ${e}`})]).default("")}const fc=["auto","fuse-overlayfs","vfs"],mc=Ie([B(""),pe(fc)]).default(""),pc=ze({planTimeoutMs:L(1),buildTimeoutMs:L(1),maxConcurrentRuns:L(1),maxGlobalQueue:L(0),maxQueuePerWorkItem:L(1),maxRetries:L(0),retryBackoffMs:L(1),queueFeedback:be,attachmentMaxBytes:L(1),volumeGcEnabled:be,volumeGcTtlMs:L(1),volumeGcIntervalMs:L(1),errorLogRetentionDays:L(0),runLogTtlHours:L(0),projectSyncEnabled:be,projectSyncIntervalMs:L(1),mcpRefreshEnabled:be,mcpRefreshIntervalMs:L(1),devcontainerEnabled:be,devcontainerStorageDriver:mc,gitSubmodulesEnabled:be}).strict(),Dr={planTimeoutMs:"",buildTimeoutMs:"",maxConcurrentRuns:"",maxGlobalQueue:"",maxQueuePerWorkItem:"",maxRetries:"",retryBackoffMs:"",queueFeedback:"",attachmentMaxBytes:"",volumeGcEnabled:"",volumeGcTtlMs:"",volumeGcIntervalMs:"",errorLogRetentionDays:"",runLogTtlHours:"",projectSyncEnabled:"",projectSyncIntervalMs:"",mcpRefreshEnabled:"",mcpRefreshIntervalMs:"",devcontainerEnabled:"",devcontainerStorageDriver:"",gitSubmodulesEnabled:""},hc=Ee().default(!1),gc=Ee().default(!1),vc=Ee().default(!1),bc=Ee().default(!1),_c=Gt(U()).refine(e=>e.every(to),{message:"unknown LSP server id"}).transform(no).default(()=>[...ro]),Dn=2048,yc=256,wc=64,kc=ze({input:Be().min(0).default(0),output:Be().min(0).default(0),cacheRead:Be().min(0).default(0),cacheWrite:Be().min(0).default(0)}).strict(),$c=Nu(U(),kc).default({}),Mr=8192,zc=U().max(Mr).transform(e=>e.trim()).refine(e=>Ur(e,sc).length===0,{message:"unknown placeholder (allowed: {{iid}}, {{branch}}, {{mrTarget}}, {{mrBlock}})"}).default(""),Sc=U().max(Mr).transform(e=>e.trim()).refine(e=>Ur(e,ic).length===0,{message:"unknown placeholder (allowed: {{iid}}, {{branch}}, {{mrTarget}})"}).default(""),Oc=/^[a-zA-Z0-9._-]*$/,Ec=512,Ic=/^[a-zA-Z0-9][a-zA-Z0-9._/:@-]*$/,Pc=U().max(255).transform(e=>e.trim()).refine(e=>e===""||oo.test(e),{message:"must be a forge username or empty"}).default(""),xc=U().max(Ec).transform(e=>e.trim()).refine(e=>e===""||Ic.test(e),{message:"must be a valid image reference (letters, digits, dot, dash, underscore, slash, colon, at)"}).default(""),Mn=U().max(yc).transform(e=>e.trim()).refine(e=>e===""||e.includes("/"),{message:"must be 'provider/model' or empty"}),jn=U().max(wc).transform(e=>e.trim()).refine(e=>Oc.test(e),{message:"must be letters, digits, dot, dash or underscore"}).default("");ze({planModel:Mn,buildModel:Mn,planVariant:jn,buildVariant:jn,plugins:U().max(Dn).transform(e=>e.trim()),baseBranches:U().max(Dn).transform(e=>e.trim()),builderImage:xc,assignee:Pc,buildWorkflow:zc,mrDescription:Sc,minRole:uc,requireAuthorOrAssignee:cc,autoPush:hc,autoMr:gc,autoResolveConflicts:vc,ciFailAutoReport:bc,lspServers:_c,runtime:pc.default(Dr)}).strict();({...Dr});ze({name:U().min(1).max(100).transform(e=>e.trim()),npm:U().min(1).max(200).transform(e=>e.trim()),apiUrl:U().url().or(B("")).optional(),envVar:U().max(100).or(B("")).optional(),baseUrl:U().url().or(B("")).optional(),apiKey:U().max(4096).optional(),models:Gt(U().min(1).max(200)).min(1).max(2e3),enabled:Ee(),source:pe(["registry","custom"]),modelCosts:$c}).strict();function Tc(e,t){const n=`${e}/`;return t.startsWith(n)?t.slice(n.length):t}const Ac="https://models.dev/api.json";function Zc(e){if(!e||typeof e!="object"||Array.isArray(e))return[];const t=[];for(const[n,r]of Object.entries(e)){if(!r||typeof r!="object"||Array.isArray(r))continue;const o=r,s=typeof o.id=="string"&&o.id?o.id:n,i=o.models&&typeof o.models=="object"&&!Array.isArray(o.models)?o.models:{},a=[];for(const[u,c]of Object.entries(i)){const l=c??{},m=typeof l.id=="string"&&l.id?l.id:u;a.push({id:Tc(s,m),name:typeof l.name=="string"&&l.name?l.name:m})}t.push({id:s,name:typeof o.name=="string"&&o.name?o.name:s,npm:typeof o.npm=="string"?o.npm:"",api:typeof o.api=="string"?o.api:"",env:Array.isArray(o.env)?o.env.filter(u=>typeof u=="string"):[],models:a})}return t.sort((n,r)=>n.id.localeCompare(r.id))}function Rc(){const e=M([]),t=M(!1),n=M(!1);async function r(){t.value=!0,n.value=!1;const o=new AbortController,s=setTimeout(()=>o.abort(),15e3);try{const i=await fetch(Ac,{signal:o.signal});if(!i.ok)throw new Error(`models.dev ${i.status}`);e.value=Zc(await i.json())}catch{e.value=[],n.value=!0}finally{clearTimeout(s),t.value=!1}}return{providers:e,loading:t,failed:n,load:r}}function Vc(e){const t={};for(const[n,r]of Object.entries(e??{}))t[n]={input:String(r.input),output:String(r.output),cacheRead:String(r.cacheRead),cacheWrite:String(r.cacheWrite)};return t}function Uc(){const e=vo(),t=bt({planModel:"",buildModel:"",planVariant:"",buildVariant:"",plugins:"",baseBranches:"dev,master",builderImage:"",assignee:"",buildWorkflow:"",mrDescription:"",minRole:"write",requireAuthorOrAssignee:!0,autoPush:!1,autoMr:!1,autoResolveConflicts:!1,ciFailAutoReport:!1,lspServers:so.map(_=>_.id),runtime:{planTimeoutMs:"",buildTimeoutMs:"",maxConcurrentRuns:"",maxGlobalQueue:"",maxQueuePerWorkItem:"",maxRetries:"",retryBackoffMs:"",queueFeedback:"",attachmentMaxBytes:"",volumeGcEnabled:"",volumeGcTtlMs:"",volumeGcIntervalMs:"",errorLogRetentionDays:"",runLogTtlHours:"",projectSyncEnabled:"",projectSyncIntervalMs:"",mcpRefreshEnabled:"",mcpRefreshIntervalMs:"",devcontainerEnabled:"",devcontainerStorageDriver:"",gitSubmodulesEnabled:""}}),n=M({...t.runtime}),r=M({baseBranches:"dev,master",builderImage:""}),o=M({buildWorkflow:"",mrDescription:""}),s=M(!1),i=M(!1),a=M({}),u=M([]),{providers:c,failed:l,load:m}=Rc(),h=M({}),g=M(null),v=M(null),w=M(null),z=M(!1),O=M(""),C=M([]),ee=M([]),X=M([]),k=bt({id:"",name:"",npm:"@ai-sdk/openai-compatible",apiUrl:"",envVar:"",baseUrl:"",apiKey:"",modelsText:"",enabled:!0,source:"custom",modelCostsText:{}}),I=ce(()=>lo(t)),J=ce(()=>w.value==="add"),he=ce(()=>uo(k,J.value)),De=ce(()=>k.source==="registry"&&w.value!=="add"),ge=ce(()=>u.value.filter(_=>_.enabled).flatMap(_=>_.models.map(S=>`${_.id}/${S}`)).map(_=>({label:_,value:_}))),Me=ce(()=>[{label:"— none —",value:""},...ge.value]),lt=[{label:"Default (no variant)",value:""},...["none","minimal","low","medium","high","xhigh","max"].map(_=>({label:_,value:_}))],Nr=[{label:"No project role required",value:"none"},{label:"Reporter (or higher)",value:"read"},{label:"Developer (or higher)",value:"write"},{label:"Maintainer (or higher)",value:"admin"},{label:"Owner only",value:"owner"}];async function ut(){s.value=!0,a.value={};const[_,S]=await Promise.all([ve("/api/settings/global"),ve("/api/settings/providers")]);s.value=!1,_.data?.settings&&(Object.assign(t,_.data.settings),C.value=Xt(_.data.settings.plugins),ee.value=Xt(_.data.settings.baseBranches)),_.data?.templateDefaults&&(o.value=_.data.templateDefaults),_.data?.defaults?.builderImage!==void 0&&(r.value={baseBranches:_.data.defaults.baseBranches??r.value.baseBranches,builderImage:_.data.defaults.builderImage}),_.data?.defaults?.runtime&&(n.value=_.data.defaults.runtime),u.value=S.data?.providers??[],m().then(async()=>{if(l.value){e.add({title:"models.dev unavailable",description:"Registry provider list is empty; custom providers still work.",color:"warning",icon:"i-lucide-alert-circle"});return}await qt()})}function Wt(_){return{npm:_.npm||"@ai-sdk/openai-compatible",apiUrl:_.api,envVar:_.env[0]??"",models:_.models.map(S=>S.id)}}function Cr(_,S){if(_.length!==S.length)return!1;const V=new Set(_);return S.every(R=>V.has(R))}async function qt(){if(l.value||c.value.length===0)return;let _=0;for(const S of u.value){if(S.source!=="registry")continue;const V=c.value.find(Qr=>Qr.id===S.id);if(!V)continue;const R=Wt(V);if(R.models.length===0||!(R.npm!==S.npm||R.apiUrl!==S.apiUrl||R.envVar!==S.envVar||!Cr(R.models,S.models)))continue;const{error:qr}=await ve(`/api/settings/providers/${encodeURIComponent(S.id)}`,{method:"PUT",body:JSON.stringify({name:S.name,npm:R.npm,apiUrl:R.apiUrl,envVar:R.envVar,baseUrl:S.baseUrl,models:R.models,enabled:S.enabled,source:S.source})});qr||(Object.assign(S,{npm:R.npm,apiUrl:R.apiUrl,envVar:R.envVar,models:R.models,modelCount:R.models.length}),_+=1)}_>0&&e.add({title:"Provider config updated from models.dev",description:`${_} provider${_===1?"":"s"} refreshed`,color:"success",icon:"i-lucide-refresh-cw"})}async function Fr(){if(!I.value)return;t.plugins=Qt(C.value),t.baseBranches=Qt(ee.value),i.value=!0;const{error:_,status:S,data:V}=await ve("/api/settings/global",{method:"PUT",body:JSON.stringify(ao(t))});if(i.value=!1,_){S===400&&V?.issues&&(a.value=Object.fromEntries(V.issues.map(R=>[R.path.join("."),R.message]))),e.add({title:"Save failed",description:_,color:"error",icon:"i-lucide-alert-circle"});return}e.add({title:"Settings saved",color:"success",icon:"i-lucide-check-circle"})}function Lr(){k.id="",k.name="",k.npm="@ai-sdk/openai-compatible",k.apiUrl="",k.envVar="",k.baseUrl="",k.apiKey="",k.modelsText="",X.value=[],k.enabled=!0,k.source="custom",k.modelCostsText={},h.value={},O.value="",w.value="add"}function Br(_){const S=c.value.find(V=>V.id===_);S&&(k.id=S.id,k.name=S.name,k.npm=S.npm||"@ai-sdk/openai-compatible",k.apiUrl=S.api,k.envVar=S.env[0]??"",X.value=S.models.map(V=>V.id),k.modelsText=S.models.map(V=>V.id).join(`
|
|
58
|
+
`),k.source="registry")}function Gr(_){k.id=_.id,k.name=_.name,k.npm=_.npm,k.apiUrl=_.apiUrl,k.envVar=_.envVar,k.baseUrl=_.baseUrl,k.apiKey="";const S=_.source==="registry"?c.value.find(V=>V.id===_.id)?.models.map(V=>V.id):void 0;X.value=[...S??_.models],k.modelsText=(S??_.models).join(`
|
|
59
|
+
`),k.enabled=_.enabled,k.source=_.source,k.modelCostsText=Vc(_.source==="registry"?{}:_.modelCosts),h.value={},w.value=_.id}function Jr(){w.value=null,h.value={}}async function Kr(){if(!he.value)return;z.value=!0;const _=io(k),{error:S,status:V,data:R}=await ve(`/api/settings/providers/${encodeURIComponent(k.id)}`,{method:"PUT",body:JSON.stringify(_)});if(z.value=!1,S){V===400&&R?.issues&&(h.value=Object.fromEntries(R.issues.map(ct=>[ct.path.join("."),ct.message]))),e.add({title:"Save failed",description:S,color:"error",icon:"i-lucide-alert-circle"});return}e.add({title:"Provider saved",description:k.id,color:"success",icon:"i-lucide-check-circle"}),w.value=null,await ut()}async function Wr(_){g.value=_;const{status:S,error:V}=await ve(`/api/settings/providers/${encodeURIComponent(_)}`,{method:"DELETE"});if(g.value=null,S===204||S===404){e.add({title:"Deleted",description:_,color:"success",icon:"i-lucide-check-circle"}),v.value=null,await ut();return}if(S===409){e.add({title:"Provider in use",description:"Repoint the plan/build model first.",color:"error",icon:"i-lucide-alert-circle"});return}e.add({title:"Delete failed",description:V??"unknown",color:"error",icon:"i-lucide-alert-circle"})}return{settings:t,settingsDefaults:r,runtimeDefaults:n,templateDefaults:o,loading:s,saving:i,settingsErrors:a,providers:u,registry:c,registryFailed:l,providerErrors:h,deleting:g,confirmDelete:v,editingId:w,providerSaving:z,registryPick:O,pluginItems:C,branchItems:ee,modelItemsForm:X,providerForm:k,settingsValid:I,providerIsNew:J,providerValid:he,registryLocked:De,modelItems:ge,modelSelectItems:Me,variantItems:lt,policyRoleItems:Nr,loadAll:ut,saveSettings:Fr,startAdd:Lr,applyRegistry:Br,startEdit:Gr,cancelProvider:Jr,saveProvider:Kr,doDelete:Wr,registryFields:Wt,reconcileRegistryProviders:qt}}const jr=Symbol("globalSettings");function Dc(){const e=Uc(),t=bt(e);return _o(jr,t),t}function Ue(){const e=bo(jr);if(!e)throw new Error("useGlobalSettingsContext must be used within SettingsPage");return e}const Mc={class:"space-y-2"},jc={class:"text-sm font-mono text-default truncate"},Nc={class:"grid grid-cols-2 gap-2"},Cc=me({__name:"ModelCostsEditor",props:wo({models:{},readonly:{type:Boolean}},{modelValue:{default:()=>({})},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=yo(e,"modelValue"),n=e,r=[{key:"input",label:"Input"},{key:"output",label:"Output"},{key:"cacheRead",label:"Cache read"},{key:"cacheWrite",label:"Cache write"}];Nn(()=>n.models,s=>{const i={...t.value};let a=!1;for(const u of s)u in i||(i[u]={input:"",output:"",cacheRead:"",cacheWrite:""},a=!0);a&&(t.value=i)},{immediate:!0});function o(s,i,a){t.value={...t.value,[s]:{...t.value[s],[i]:a}}}return(s,i)=>{const a=xt,u=Se;return P(),j("div",Mc,[i[0]||(i[0]=b("p",{class:"text-xs text-dimmed"},"Prices are USD per 1M tokens. Leave empty to use the provider default (or no cost).",-1)),(P(!0),j(We,null,qe(e.models,c=>(P(),j("div",{key:c,class:"border border-default rounded-lg p-2 space-y-2"},[b("p",jc,Ge(c),1),b("div",Nc,[(P(),j(We,null,qe(r,l=>p(u,{key:l.key,label:l.label},{default:$(()=>[p(a,{"model-value":t.value[c]?.[l.key]??"",type:"number",min:"0",step:"0.01",placeholder:"0",disabled:e.readonly,"aria-label":`${l.label} price for ${c}`,class:"w-full","onUpdate:modelValue":m=>o(c,l.key,String(m))},null,8,["model-value","disabled","aria-label","onUpdate:modelValue"])]),_:2},1032,["label"])),64))])]))),128))])}}}),Fc={class:"space-y-6"},Lc={class:"space-y-3"},Bc={class:"flex items-center justify-between"},Gc={key:0,class:"divide-y divide-default"},Jc={class:"min-w-0"},Kc={class:"flex items-center gap-2"},Wc={class:"font-medium text-default truncate font-mono"},qc={class:"text-xs text-dimmed truncate"},Qc={class:"flex items-center gap-1"},Xc={key:1,class:"text-sm text-muted py-2"},Hc={key:2,class:"space-y-3 border border-default rounded-lg p-3"},Yc={class:"grid grid-cols-2 gap-3"},ed={key:0,class:"text-xs text-error mt-1"},td={class:"grid grid-cols-2 gap-3"},nd={class:"flex items-center gap-2"},rd={key:2,class:"text-xs text-dimmed"},od={key:3,class:"text-xs text-dimmed"},sd={class:"flex items-center justify-end gap-2 pt-1"},id=me({__name:"ProvidersSection",setup(e){const t=Ue();return Nn(()=>t.modelItemsForm,n=>{t.providerForm.modelsText=n.join(`
|
|
60
|
+
`)},{deep:!0}),(n,r)=>{const o=nt,s=ko,i=Tt,a=Se,u=xt,c=Pt;return P(),j("div",Fc,[b("section",Lc,[b("div",Bc,[r[10]||(r[10]=b("h3",{class:"text-sm font-semibold text-highlighted"},"AI providers",-1)),d(t).editingId===null?(P(),te(o,{key:0,label:"Add provider",icon:"i-lucide-plus",size:"xs",color:"primary",variant:"outline",onClick:d(t).startAdd},null,8,["onClick"])):H("",!0)]),d(t).editingId===null?(P(),j("ul",Gc,[(P(!0),j(We,null,qe(d(t).providers,l=>(P(),j("li",{key:l.id,class:"flex items-center justify-between py-2 gap-2"},[b("div",Jc,[b("div",Kc,[b("p",Wc,Ge(l.id),1),l.hasKey?(P(),te(s,{key:0,label:"key set",color:"success",variant:"subtle",size:"sm"})):(P(),te(s,{key:1,label:"no key",color:"error",variant:"subtle",size:"sm"})),l.enabled?H("",!0):(P(),te(s,{key:2,label:"disabled",color:"neutral",variant:"subtle",size:"sm"}))]),b("p",qc,Ge(l.name)+" · "+Ge(l.modelCount)+" models",1)]),b("div",Qc,[p(o,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost","aria-label":"Edit provider",onClick:m=>d(t).startEdit(l)},null,8,["onClick"]),p(o,{icon:d(t).confirmDelete===l.id?"i-lucide-check":"i-lucide-trash",color:d(t).confirmDelete===l.id?"error":"neutral",variant:"ghost",loading:d(t).deleting===l.id,"aria-label":"Delete provider",onClick:m=>d(t).confirmDelete===l.id?d(t).doDelete(l.id):d(t).confirmDelete=l.id},null,8,["icon","color","loading","onClick"])])]))),128))])):H("",!0),d(t).editingId===null&&d(t).providers.length===0?(P(),j("p",Xc," No providers configured. Add one to get started. ")):H("",!0),d(t).editingId!==null?(P(),j("div",Hc,[d(t).providerIsNew?(P(),te(a,{key:0,label:"Registry provider"},{default:$(()=>[p(i,{"model-value":d(t).registryPick,items:d(t).registry.map(l=>({label:l.name,value:l.id})),"value-key":"value","search-input":{icon:"i-lucide-search"},placeholder:"Pick a models.dev provider (or fill below for custom)","aria-label":"Registry provider",class:"w-full","onUpdate:modelValue":r[0]||(r[0]=l=>{d(t).registryPick=l,d(t).applyRegistry(l)})},null,8,["model-value","items"])]),_:1})):H("",!0),b("div",Yc,[p(a,{label:"Provider id",error:d(t).providerErrors.id??!1},{default:$(()=>[p(u,{modelValue:d(t).providerForm.id,"onUpdate:modelValue":r[1]||(r[1]=l=>d(t).providerForm.id=l),placeholder:"anthropic","aria-label":"Provider id",class:"w-full font-mono",disabled:!d(t).providerIsNew},null,8,["modelValue","disabled"]),d(t).providerForm.id&&!/^[a-z0-9_-]+$/.test(d(t).providerForm.id)?(P(),j("p",ed,"lowercase letters, digits, - and _ only")):H("",!0)]),_:1},8,["error"]),p(a,{label:"Display name",error:d(t).providerErrors.name??!1},{default:$(()=>[p(u,{modelValue:d(t).providerForm.name,"onUpdate:modelValue":r[2]||(r[2]=l=>d(t).providerForm.name=l),"aria-label":"Provider display name",class:"w-full"},null,8,["modelValue"])]),_:1},8,["error"])]),p(a,{label:"npm package",error:d(t).providerErrors.npm??!1},{default:$(()=>[p(u,{modelValue:d(t).providerForm.npm,"onUpdate:modelValue":r[3]||(r[3]=l=>d(t).providerForm.npm=l),placeholder:"@ai-sdk/openai-compatible","aria-label":"npm package",class:"w-full font-mono",disabled:d(t).registryLocked},null,8,["modelValue","disabled"])]),_:1},8,["error"]),b("div",td,[p(a,{label:"API URL (optional)"},{default:$(()=>[p(u,{modelValue:d(t).providerForm.apiUrl,"onUpdate:modelValue":r[4]||(r[4]=l=>d(t).providerForm.apiUrl=l),placeholder:"https://...","aria-label":"API URL",class:"w-full font-mono",disabled:d(t).registryLocked},null,8,["modelValue","disabled"])]),_:1}),p(a,{label:"Base URL override (optional)"},{default:$(()=>[p(u,{modelValue:d(t).providerForm.baseUrl,"onUpdate:modelValue":r[5]||(r[5]=l=>d(t).providerForm.baseUrl=l),placeholder:"https://...","aria-label":"Base URL override",class:"w-full font-mono",disabled:d(t).registryLocked},null,8,["modelValue","disabled"])]),_:1})]),p(a,{label:"API key",error:d(t).providerErrors.apiKey??!1},{default:$(()=>[p(u,{modelValue:d(t).providerForm.apiKey,"onUpdate:modelValue":r[6]||(r[6]=l=>d(t).providerForm.apiKey=l),type:"password",placeholder:d(t).providerIsNew?"required":"leave empty to keep the stored key","aria-label":"API key",class:"w-full font-mono"},null,8,["modelValue","placeholder"])]),_:1},8,["error"]),p(a,{label:"Models",error:d(t).providerErrors.models??!1},{default:$(()=>[p(vt,{modelValue:d(t).modelItemsForm,"onUpdate:modelValue":r[7]||(r[7]=l=>d(t).modelItemsForm=l),readonly:d(t).registryLocked,placeholder:"model-id","add-label":"Add model","item-label":"Model"},null,8,["modelValue","readonly"])]),_:1},8,["error"]),d(t).registryLocked?H("",!0):(P(),te(a,{key:1,label:"Model prices (optional)"},{default:$(()=>[p(Cc,{modelValue:d(t).providerForm.modelCostsText,"onUpdate:modelValue":r[8]||(r[8]=l=>d(t).providerForm.modelCostsText=l),models:d(t).modelItemsForm},null,8,["modelValue","models"])]),_:1})),b("div",nd,[p(c,{modelValue:d(t).providerForm.enabled,"onUpdate:modelValue":r[9]||(r[9]=l=>d(t).providerForm.enabled=l),"aria-label":"Provider enabled"},null,8,["modelValue"]),r[11]||(r[11]=b("span",{class:"text-sm"},"Enabled",-1))]),d(t).registryLocked?(P(),j("p",rd," npm package, API URL, base URL and models are managed by models.dev. ")):d(t).editingId!=="add"?(P(),j("p",od," Editing keeps the stored API key unless you enter a new one. ")):H("",!0),b("div",sd,[p(o,{label:"Cancel provider",color:"neutral",variant:"outline",disabled:d(t).providerSaving,onClick:d(t).cancelProvider},null,8,["disabled","onClick"]),p(o,{label:d(t).providerIsNew?"Add provider":"Save provider",icon:"i-lucide-check",color:"primary",loading:d(t).providerSaving,disabled:!d(t).providerValid,onClick:d(t).saveProvider},null,8,["label","loading","disabled","onClick"])])])):H("",!0)])])}}}),ad={class:"space-y-6"},ld={class:"space-y-3"},ud={class:"grid grid-cols-2 gap-3"},cd={class:"grid grid-cols-2 gap-3"},dd={class:"flex items-center gap-2"},fd={class:"flex items-center gap-2"},md=me({__name:"ModelsSection",setup(e){const t=Ue();return(n,r)=>{const o=Tt,s=Se,i=nt;return P(),j("div",ad,[b("section",ld,[r[6]||(r[6]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Models",-1)),b("div",ud,[p(s,{label:"Plan model",error:d(t).settingsErrors.planModel??!1},{default:$(()=>[p(o,{modelValue:d(t).settings.planModel,"onUpdate:modelValue":r[0]||(r[0]=a=>d(t).settings.planModel=a),items:d(t).modelSelectItems,"value-key":"value","aria-label":"Global plan model",class:"w-full"},null,8,["modelValue","items"])]),_:1},8,["error"]),p(s,{label:"Build model",error:d(t).settingsErrors.buildModel??!1},{default:$(()=>[p(o,{modelValue:d(t).settings.buildModel,"onUpdate:modelValue":r[1]||(r[1]=a=>d(t).settings.buildModel=a),items:d(t).modelSelectItems,"value-key":"value","aria-label":"Global build model",class:"w-full"},null,8,["modelValue","items"])]),_:1},8,["error"])]),b("div",cd,[p(s,{label:"Plan variant (optional)",error:d(t).settingsErrors.planVariant??!1},{default:$(()=>[b("div",dd,[p(o,{modelValue:d(t).settings.planVariant,"onUpdate:modelValue":r[2]||(r[2]=a=>d(t).settings.planVariant=a),items:d(t).variantItems,"value-key":"value","aria-label":"Global plan variant",class:"flex-1"},null,8,["modelValue","items"]),p(i,{icon:"i-lucide-rotate-ccw",color:"neutral",variant:"ghost","aria-label":"Reset plan variant to default",disabled:d(t).settings.planVariant==="",onClick:r[3]||(r[3]=a=>d(t).settings.planVariant="")},null,8,["disabled"])])]),_:1},8,["error"]),p(s,{label:"Build variant (optional)",error:d(t).settingsErrors.buildVariant??!1},{default:$(()=>[b("div",fd,[p(o,{modelValue:d(t).settings.buildVariant,"onUpdate:modelValue":r[4]||(r[4]=a=>d(t).settings.buildVariant=a),items:d(t).variantItems,"value-key":"value","aria-label":"Global build variant",class:"flex-1"},null,8,["modelValue","items"]),p(i,{icon:"i-lucide-rotate-ccw",color:"neutral",variant:"ghost","aria-label":"Reset build variant to default",disabled:d(t).settings.buildVariant==="",onClick:r[5]||(r[5]=a=>d(t).settings.buildVariant="")},null,8,["disabled"])])]),_:1},8,["error"])]),r[7]||(r[7]=b("p",{class:"text-xs text-dimmed"},[N(" Models come from your enabled providers. A variant is a named model option set (e.g. reasoning effort). Choose "),b("strong",null,"Default (no variant)"),N(" to use the model's opencode default. ")],-1))])])}}}),pd={class:"space-y-6"},hd={class:"space-y-3"},gd={class:"space-y-3"},vd={class:"grid gap-3 sm:grid-cols-2"},bd={class:"space-y-3"},_d={class:"grid gap-3 sm:grid-cols-2"},yd={class:"space-y-3"},wd={class:"grid gap-3 sm:grid-cols-2"},kd={class:"space-y-3"},$d={class:"grid gap-3 sm:grid-cols-2"},zd={class:"space-y-3"},Sd={class:"grid gap-3 sm:grid-cols-2"},Od={class:"space-y-3"},Ed={class:"space-y-3"},Id={class:"flex items-center gap-2"},Pd={class:"flex items-center gap-2"},xd={class:"flex items-center gap-2"},Td={class:"space-y-3"},Ad={class:"flex items-center gap-2"},Zd=me({__name:"RuntimeSection",setup(e){const t=Ue(),n=o=>[{label:`Use env default (${o})`,value:""},{label:"On",value:"true"},{label:"Off",value:"false"}],r=o=>[{label:`Use env default (${o})`,value:""},{label:"auto (probe /dev/fuse)",value:"auto"},{label:"fuse-overlayfs",value:"fuse-overlayfs"},{label:"vfs",value:"vfs"}];return(o,s)=>{const i=Se,a=xt,u=Tt,c=Pt;return P(),j("div",pd,[b("section",hd,[s[33]||(s[33]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Runtime",-1)),s[34]||(s[34]=b("p",{class:"text-xs text-dimmed"}," Operational knobs that were previously env-only. An empty field inherits the env var shown as the placeholder; changes apply live, without a restart. ",-1)),p(i,{label:"OpenCode plugins",error:d(t).settingsErrors.plugins??!1},{default:$(()=>[p(vt,{modelValue:d(t).pluginItems,"onUpdate:modelValue":s[0]||(s[0]=l=>d(t).pluginItems=l),placeholder:"@scope/plugin","add-label":"Add plugin","item-label":"Plugin"},null,8,["modelValue"])]),_:1},8,["error"]),p(i,{label:"Base branches",error:d(t).settingsErrors.baseBranches??!1},{default:$(()=>[p(vt,{modelValue:d(t).branchItems,"onUpdate:modelValue":s[1]||(s[1]=l=>d(t).branchItems=l),reorderable:"",placeholder:"dev","add-label":"Add branch","item-label":"Base branch"},null,8,["modelValue"]),s[30]||(s[30]=b("p",{class:"text-xs text-dimmed mt-1"},"Top is tried first (highest priority).",-1))]),_:1},8,["error"]),p(i,{label:"Merge request assignee",error:d(t).settingsErrors.assignee??!1},{default:$(()=>[p(co,{modelValue:d(t).settings.assignee,"onUpdate:modelValue":s[2]||(s[2]=l=>d(t).settings.assignee=l),"aria-label":"Global MR assignee",placeholder:"Search forge users…"},null,8,["modelValue"]),s[31]||(s[31]=b("p",{class:"text-xs text-dimmed mt-1"}," Forge user assigned on every new merge request DevBot opens. The user must be a member of the project; otherwise the MR is created unassigned with a warning. Empty means no default. ",-1))]),_:1},8,["error"]),p(i,{label:"Builder image",error:d(t).settingsErrors.builderImage??!1},{default:$(()=>[p(a,{modelValue:d(t).settings.builderImage,"onUpdate:modelValue":s[3]||(s[3]=l=>d(t).settings.builderImage=l),placeholder:d(t).settingsDefaults.builderImage||"devbot-builder:latest","aria-label":"Global builder image",class:"w-full font-mono"},null,8,["modelValue","placeholder"]),s[32]||(s[32]=b("p",{class:"text-xs text-dimmed mt-1"},[N(" Podman image used for every project's containers unless a project overrides it. Empty falls back to the "),b("code",null,"BUILDER_IMAGE"),N(" env var (placeholder). Must be a valid image reference. ")],-1))]),_:1},8,["error"])]),b("section",gd,[s[35]||(s[35]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Timeouts",-1)),b("div",vd,[p(i,{label:"Plan timeout (ms)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.planTimeoutMs,"onUpdate:modelValue":s[4]||(s[4]=l=>d(t).settings.runtime.planTimeoutMs=l),placeholder:d(t).runtimeDefaults.planTimeoutMs,"aria-label":"Plan timeout (ms)",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Build timeout (ms)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.buildTimeoutMs,"onUpdate:modelValue":s[5]||(s[5]=l=>d(t).settings.runtime.buildTimeoutMs=l),placeholder:d(t).runtimeDefaults.buildTimeoutMs,"aria-label":"Build timeout (ms)",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1})]),s[36]||(s[36]=b("p",{class:"text-xs text-dimmed"},"Runaway agents are killed after these limits. Empty inherits the env value.",-1))]),b("section",bd,[s[37]||(s[37]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Queue & runs",-1)),b("div",_d,[p(i,{label:"Max concurrent runs"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.maxConcurrentRuns,"onUpdate:modelValue":s[6]||(s[6]=l=>d(t).settings.runtime.maxConcurrentRuns=l),placeholder:d(t).runtimeDefaults.maxConcurrentRuns,"aria-label":"Max concurrent runs",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Max global queue (0 = unbounded)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.maxGlobalQueue,"onUpdate:modelValue":s[7]||(s[7]=l=>d(t).settings.runtime.maxGlobalQueue=l),placeholder:d(t).runtimeDefaults.maxGlobalQueue,"aria-label":"Max global queue",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Max pending per work item"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.maxQueuePerWorkItem,"onUpdate:modelValue":s[8]||(s[8]=l=>d(t).settings.runtime.maxQueuePerWorkItem=l),placeholder:d(t).runtimeDefaults.maxQueuePerWorkItem,"aria-label":"Max pending per work item",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Max retries (0 = disabled)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.maxRetries,"onUpdate:modelValue":s[9]||(s[9]=l=>d(t).settings.runtime.maxRetries=l),placeholder:d(t).runtimeDefaults.maxRetries,"aria-label":"Max retries",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Retry backoff (ms)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.retryBackoffMs,"onUpdate:modelValue":s[10]||(s[10]=l=>d(t).settings.runtime.retryBackoffMs=l),placeholder:d(t).runtimeDefaults.retryBackoffMs,"aria-label":"Retry backoff (ms)",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Queue feedback notes"},{default:$(()=>[p(u,{modelValue:d(t).settings.runtime.queueFeedback,"onUpdate:modelValue":s[11]||(s[11]=l=>d(t).settings.runtime.queueFeedback=l),items:n(d(t).runtimeDefaults.queueFeedback),"value-key":"value","aria-label":"Queue feedback notes",class:"w-full"},null,8,["modelValue","items"])]),_:1})]),s[38]||(s[38]=b("p",{class:"text-xs text-dimmed"},"Concurrency changes apply to new admissions immediately; a lower cap does not interrupt running tasks.",-1))]),b("section",yd,[s[39]||(s[39]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Attachments",-1)),b("div",wd,[p(i,{label:"Max bytes per attachment (download or upload)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.attachmentMaxBytes,"onUpdate:modelValue":s[12]||(s[12]=l=>d(t).settings.runtime.attachmentMaxBytes=l),placeholder:d(t).runtimeDefaults.attachmentMaxBytes,"aria-label":"Max attachment bytes",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1})]),s[40]||(s[40]=b("p",{class:"text-xs text-dimmed"}," Attachments are not read host-side; the agent downloads them on demand and handles them inside the build container (OCR/PDF extraction included). ",-1))]),b("section",kd,[s[41]||(s[41]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Maintenance",-1)),b("div",$d,[p(i,{label:"Volume GC enabled"},{default:$(()=>[p(u,{modelValue:d(t).settings.runtime.volumeGcEnabled,"onUpdate:modelValue":s[13]||(s[13]=l=>d(t).settings.runtime.volumeGcEnabled=l),items:n(d(t).runtimeDefaults.volumeGcEnabled),"value-key":"value","aria-label":"Volume GC enabled",class:"w-full"},null,8,["modelValue","items"])]),_:1}),p(i,{label:"Volume GC TTL (ms)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.volumeGcTtlMs,"onUpdate:modelValue":s[14]||(s[14]=l=>d(t).settings.runtime.volumeGcTtlMs=l),placeholder:d(t).runtimeDefaults.volumeGcTtlMs,"aria-label":"Volume GC TTL",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Volume GC interval (ms)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.volumeGcIntervalMs,"onUpdate:modelValue":s[15]||(s[15]=l=>d(t).settings.runtime.volumeGcIntervalMs=l),placeholder:d(t).runtimeDefaults.volumeGcIntervalMs,"aria-label":"Volume GC interval",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Error-log retention (days, 0 = forever)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.errorLogRetentionDays,"onUpdate:modelValue":s[16]||(s[16]=l=>d(t).settings.runtime.errorLogRetentionDays=l),placeholder:d(t).runtimeDefaults.errorLogRetentionDays,"aria-label":"Error log retention days",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Run-log retention (hours, 0 = forever)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.runLogTtlHours,"onUpdate:modelValue":s[17]||(s[17]=l=>d(t).settings.runtime.runLogTtlHours=l),placeholder:d(t).runtimeDefaults.runLogTtlHours,"aria-label":"Run log retention hours",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"Project path sync enabled"},{default:$(()=>[p(u,{modelValue:d(t).settings.runtime.projectSyncEnabled,"onUpdate:modelValue":s[18]||(s[18]=l=>d(t).settings.runtime.projectSyncEnabled=l),items:n(d(t).runtimeDefaults.projectSyncEnabled),"value-key":"value","aria-label":"Project path sync enabled",class:"w-full"},null,8,["modelValue","items"])]),_:1}),p(i,{label:"Project path sync interval (ms)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.projectSyncIntervalMs,"onUpdate:modelValue":s[19]||(s[19]=l=>d(t).settings.runtime.projectSyncIntervalMs=l),placeholder:d(t).runtimeDefaults.projectSyncIntervalMs,"aria-label":"Project path sync interval",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),p(i,{label:"MCP token refresh enabled"},{default:$(()=>[p(u,{modelValue:d(t).settings.runtime.mcpRefreshEnabled,"onUpdate:modelValue":s[20]||(s[20]=l=>d(t).settings.runtime.mcpRefreshEnabled=l),items:n(d(t).runtimeDefaults.mcpRefreshEnabled),"value-key":"value","aria-label":"MCP token refresh enabled",class:"w-full"},null,8,["modelValue","items"])]),_:1}),p(i,{label:"MCP token refresh interval (ms, max 8h)"},{default:$(()=>[p(a,{modelValue:d(t).settings.runtime.mcpRefreshIntervalMs,"onUpdate:modelValue":s[21]||(s[21]=l=>d(t).settings.runtime.mcpRefreshIntervalMs=l),placeholder:d(t).runtimeDefaults.mcpRefreshIntervalMs,"aria-label":"MCP token refresh interval",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1})]),s[42]||(s[42]=b("p",{class:"text-xs text-dimmed"}," Sweep intervals are re-armed on save — no restart needed. MCP token refresh renews remote MCP OAuth tokens host-side so opencode never loses a rotated refresh token; it also runs before each run regardless of this toggle. ",-1))]),b("section",zd,[s[43]||(s[43]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Build container",-1)),b("div",Sd,[p(i,{label:"Nested rootless Podman (dev containers)"},{default:$(()=>[p(u,{modelValue:d(t).settings.runtime.devcontainerEnabled,"onUpdate:modelValue":s[22]||(s[22]=l=>d(t).settings.runtime.devcontainerEnabled=l),items:n(d(t).runtimeDefaults.devcontainerEnabled),"value-key":"value","aria-label":"Dev containers enabled",class:"w-full"},null,8,["modelValue","items"])]),_:1}),p(i,{label:"Inner storage driver"},{default:$(()=>[p(u,{modelValue:d(t).settings.runtime.devcontainerStorageDriver,"onUpdate:modelValue":s[23]||(s[23]=l=>d(t).settings.runtime.devcontainerStorageDriver=l),items:r(d(t).runtimeDefaults.devcontainerStorageDriver),"value-key":"value","aria-label":"Dev container storage driver",class:"w-full"},null,8,["modelValue","items"])]),_:1}),p(i,{label:"Git submodules"},{default:$(()=>[p(u,{modelValue:d(t).settings.runtime.gitSubmodulesEnabled,"onUpdate:modelValue":s[24]||(s[24]=l=>d(t).settings.runtime.gitSubmodulesEnabled=l),items:n(d(t).runtimeDefaults.gitSubmodulesEnabled),"value-key":"value","aria-label":"Git submodules enabled",class:"w-full"},null,8,["modelValue","items"])]),_:1})]),s[44]||(s[44]=b("p",{class:"text-xs text-dimmed"},[b("strong",null,"Security:"),N(" enabling dev containers broadens the builder container's privileges (nested user namespaces + mount + mknod) versus the default unprivileged launch. See "),b("code",null,"docs/dev-containers.md"),N(". ")],-1))]),b("section",Od,[s[45]||(s[45]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Language servers",-1)),s[46]||(s[46]=b("p",{class:"text-xs text-dimmed"},[N(" Servers start lazily when the agent opens a matching file and provide go-to-definition, references, and diagnostics. Each one stays resident for the run; the RAM hint is its idle-to-active range. Uncheck every server to turn LSP off. Servers run unprivileged and cannot read run credentials. See "),b("code",null,"docs/lsp.md"),N(". ")],-1)),p(fo,{modelValue:d(t).settings.lspServers,"onUpdate:modelValue":s[25]||(s[25]=l=>d(t).settings.lspServers=l)},null,8,["modelValue"])]),b("section",Ed,[s[50]||(s[50]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Build output",-1)),s[51]||(s[51]=b("p",{class:"text-xs text-dimmed"},[N(" What DevBot does with the branch after a successful build. Both are "),b("strong",null,"off by default"),N("; the "),b("code",null,"/push"),N(" and "),b("code",null,"/mr"),N(" mention tokens turn a step on for a single run. ")],-1)),b("div",Id,[p(c,{modelValue:d(t).settings.autoPush,"onUpdate:modelValue":s[26]||(s[26]=l=>d(t).settings.autoPush=l),"aria-label":"Auto-push branch after build"},null,8,["modelValue"]),s[47]||(s[47]=b("span",{class:"text-sm"},"Push the work-item branch after a build",-1))]),b("div",Pd,[p(c,{modelValue:d(t).settings.autoMr,"onUpdate:modelValue":s[27]||(s[27]=l=>d(t).settings.autoMr=l),"aria-label":"Auto-open merge request after build"},null,8,["modelValue"]),s[48]||(s[48]=b("span",{class:"text-sm"},"Create/update the merge request after a push",-1))]),b("div",xd,[p(c,{modelValue:d(t).settings.autoResolveConflicts,"onUpdate:modelValue":s[28]||(s[28]=l=>d(t).settings.autoResolveConflicts=l),"aria-label":"Auto-resolve merge conflicts before MR"},null,8,["modelValue"]),s[49]||(s[49]=b("span",{class:"text-sm"},"Auto-resolve merge conflicts before creating/updating the merge request",-1))]),s[52]||(s[52]=b("p",{class:"text-xs text-dimmed"}," Auto-MR requires auto-push: an MR needs a published branch, so enabling it without a push has no effect. Conflict auto-fix runs a direct build run to rebase/merge the target into the work branch; if it cannot resolve the conflicts, the branch is pushed but the MR is skipped. ",-1))]),b("section",Td,[s[54]||(s[54]=b("h3",{class:"text-sm font-semibold text-highlighted"},"CI failure reports",-1)),s[55]||(s[55]=b("p",{class:"text-xs text-dimmed"},[N(" When on, a failed pipeline on a merge/pull request DevBot created starts an automatic plan run with the failing job logs as context. "),b("strong",null,"Off by default."),N(" Requires the project webhook to be subscribed to CI events — enabling this (or the project override) attempts to add them to every managed hook. ")],-1)),b("div",Ad,[p(c,{modelValue:d(t).settings.ciFailAutoReport,"onUpdate:modelValue":s[29]||(s[29]=l=>d(t).settings.ciFailAutoReport=l),"aria-label":"Auto-report failed CI on DevBot merge requests"},null,8,["modelValue"]),s[53]||(s[53]=b("span",{class:"text-sm"},"Analyze failed CI on DevBot merge requests",-1))])])])}}}),Rd={class:"space-y-6"},Vd={class:"space-y-3"},Ud={class:"flex items-center gap-2"},Dd=me({__name:"PolicySection",setup(e){const t=Ue();return(n,r)=>{const o=Pt,s=Eo,i=Se;return P(),j("div",Rd,[b("section",Vd,[r[4]||(r[4]=b("h3",{class:"text-sm font-semibold text-highlighted"},"Trigger policy",-1)),r[5]||(r[5]=b("p",{class:"text-xs text-dimmed"}," The default rules for who may trigger DevBot. Each project can override both settings from its own Settings panel. ",-1)),b("div",Ud,[p(o,{modelValue:d(t).settings.requireAuthorOrAssignee,"onUpdate:modelValue":r[0]||(r[0]=a=>d(t).settings.requireAuthorOrAssignee=a),"aria-label":"Require author or assignee"},null,8,["modelValue"]),r[2]||(r[2]=b("span",{class:"text-sm"},"Require the actor to be the work item's author or assignee",-1))]),p(i,{label:"Minimum project role",error:d(t).settingsErrors.minRole??!1},{default:$(()=>[p(s,{modelValue:d(t).settings.minRole,"onUpdate:modelValue":r[1]||(r[1]=a=>d(t).settings.minRole=a),items:d(t).policyRoleItems,"aria-label":"Minimum project role",class:"w-full"},null,8,["modelValue","items"]),r[3]||(r[3]=b("p",{class:"text-xs text-dimmed mt-1"},[N(" The actor must hold at least this project role. "),b("strong",null,"No project role required"),N(" admits any authenticated user (combined with the author/assignee switch off, anyone can trigger). ")],-1))]),_:1},8,["error"])])])}}}),Md={class:"space-y-6"},jd={class:"space-y-3"},Nd={class:"flex items-center justify-between mt-1"},Cd={class:"flex items-center justify-between mt-1"},Fd=me({__name:"TemplatesSection",setup(e){const t=Ue();return(n,r)=>{const o=mo,s=nt,i=Se;return P(),j("div",Md,[b("section",jd,[r[6]||(r[6]=$o('<h3 class="text-sm font-semibold text-highlighted">Build workflow templates</h3><p class="text-xs text-dimmed"> Editable prompt text DevBot appends to build-mode runs. The <code>```mr</code> fence, <code>title:</code>/<code>description:</code> keys, and the "must be last" rule stay fixed so MR creation can't break. Placeholders: <code>{{iid}}</code>, <code>{{branch}}</code>, <code>{{mrTarget}}</code>, and <code>{{mrBlock}}</code> (auto-appended if omitted). </p>',2)),p(i,{label:"Build workflow",error:d(t).settingsErrors.buildWorkflow??!1},{default:$(()=>[p(o,{modelValue:d(t).settings.buildWorkflow,"onUpdate:modelValue":r[0]||(r[0]=a=>d(t).settings.buildWorkflow=a),rows:10,placeholder:"Leave empty to use the built-in default.","aria-label":"Global build workflow template",class:"w-full font-mono text-xs"},null,8,["modelValue"]),b("div",Nd,[r[4]||(r[4]=b("p",{class:"text-xs text-dimmed"},"Branch checkout, commit convention, and the MR-summary instruction.",-1)),p(s,{label:"Load default",size:"xs",color:"neutral",variant:"ghost",disabled:!d(t).templateDefaults.buildWorkflow,onClick:r[1]||(r[1]=a=>d(t).settings.buildWorkflow=d(t).templateDefaults.buildWorkflow)},null,8,["disabled"])])]),_:1},8,["error"]),p(i,{label:"MR description template",error:d(t).settingsErrors.mrDescription??!1},{default:$(()=>[p(o,{modelValue:d(t).settings.mrDescription,"onUpdate:modelValue":r[2]||(r[2]=a=>d(t).settings.mrDescription=a),rows:8,placeholder:"Leave empty to use the built-in default.","aria-label":"Global MR description template",class:"w-full font-mono text-xs"},null,8,["modelValue"]),b("div",Cd,[r[5]||(r[5]=b("p",{class:"text-xs text-dimmed"},[N("Body injected after the fixed "),b("code",null,"description:"),N(" key; the MR/PR description rendered by the forge.")],-1)),p(s,{label:"Load default",size:"xs",color:"neutral",variant:"ghost",disabled:!d(t).templateDefaults.mrDescription,onClick:r[3]||(r[3]=a=>d(t).settings.mrDescription=d(t).templateDefaults.mrDescription)},null,8,["disabled"])])]),_:1},8,["error"])])])}}}),Ld={key:0,class:"space-y-2"},Bd={class:"space-y-8"},Xd=me({__name:"SettingsPage",setup(e){const t=Dc(),r=Oo(["providers","models","runtime","policy","templates","repos","mcp","webhooks"],"providers"),o=[{label:"Providers",icon:"i-lucide-server",value:"providers",slot:"providers"},{label:"Models",icon:"i-lucide-brain",value:"models",slot:"models"},{label:"Runtime",icon:"i-lucide-terminal",value:"runtime",slot:"runtime"},{label:"Policy",icon:"i-lucide-shield",value:"policy",slot:"policy"},{label:"Templates",icon:"i-lucide-file-text",value:"templates",slot:"templates"},{label:"Skills & Agents",icon:"i-lucide-sparkles",value:"repos",slot:"repos"},{label:"MCP",icon:"i-lucide-plug",value:"mcp",slot:"mcp"},{label:"Webhooks",icon:"i-lucide-webhook",value:"webhooks",slot:"webhooks"}],s=ce(()=>r.value!=="providers"&&r.value!=="mcp"&&r.value!=="webhooks"&&r.value!=="repos");return zo(()=>{t.loadAll()}),(i,a)=>{const u=eo,c=nt,l=Yr,m=Hr,h=po,g=Xr;return P(),te(g,{id:"settings"},{header:$(()=>[p(l,{title:"Settings",icon:"i-lucide-settings"},{leading:$(()=>[p(u)]),right:$(()=>[s.value?(P(),te(c,{key:0,label:"Save settings",icon:"i-lucide-check",color:"primary",loading:d(t).saving,disabled:!d(t).settingsValid||d(t).loading,onClick:d(t).saveSettings},null,8,["loading","disabled","onClick"])):H("",!0)]),_:1})]),body:$(()=>[d(t).loading?(P(),j("div",Ld,[(P(),j(We,null,qe(5,v=>p(m,{key:v,class:"h-10 w-full"})),64))])):(P(),te(h,{key:1,modelValue:d(r),"onUpdate:modelValue":a[0]||(a[0]=v=>So(r)?r.value=v:null),items:o,variant:"link","unmount-on-hide":!1,ui:{trigger:"grow"},class:"gap-6"},{providers:$(()=>[p(id)]),models:$(()=>[p(md)]),runtime:$(()=>[p(Zd)]),policy:$(()=>[p(Dd)]),templates:$(()=>[p(Fd)]),repos:$(()=>[b("div",Bd,[p(Ht,{scope:"global",kind:"skills"}),p(Ht,{scope:"global",kind:"agents"})])]),mcp:$(()=>[p(go,{scope:"global"})]),webhooks:$(()=>[p(ho,{scope:"global"})]),_:1},8,["modelValue"]))]),_:1})}}});export{Xd as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as a,c as o,t as r,e as c}from"./index-C5RBBrPj.js";const i={class:"text-sm text-muted whitespace-nowrap"},l=a({__name:"TimeCell",props:{value:{},unit:{}},setup(n){const e=n;function s(){if(!e.value)return"—";const t=e.unit==="s"?e.value*1e3:e.value;return new Date(t).toLocaleString()}return(t,p)=>(c(),o("span",i,r(s()),1))}});export{l as _};
|