@pcircle/footprint 1.3.0 → 1.6.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.
Files changed (349) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +215 -137
  3. package/SKILL.md +77 -33
  4. package/bin/footprint.js +16 -0
  5. package/dist/src/adapters/claude.d.ts +2 -0
  6. package/dist/src/adapters/claude.d.ts.map +1 -0
  7. package/dist/src/adapters/claude.js +7 -0
  8. package/dist/src/adapters/claude.js.map +1 -0
  9. package/dist/src/adapters/codex.d.ts +2 -0
  10. package/dist/src/adapters/codex.d.ts.map +1 -0
  11. package/dist/src/adapters/codex.js +7 -0
  12. package/dist/src/adapters/codex.js.map +1 -0
  13. package/dist/src/adapters/gemini.d.ts +2 -0
  14. package/dist/src/adapters/gemini.d.ts.map +1 -0
  15. package/dist/src/adapters/gemini.js +7 -0
  16. package/dist/src/adapters/gemini.js.map +1 -0
  17. package/dist/src/adapters/index.d.ts +5 -0
  18. package/dist/src/adapters/index.d.ts.map +1 -0
  19. package/dist/src/adapters/index.js +12 -0
  20. package/dist/src/adapters/index.js.map +1 -0
  21. package/dist/src/adapters/structured-prefix.d.ts +10 -0
  22. package/dist/src/adapters/structured-prefix.d.ts.map +1 -0
  23. package/dist/src/adapters/structured-prefix.js +59 -0
  24. package/dist/src/adapters/structured-prefix.js.map +1 -0
  25. package/dist/src/adapters/types.d.ts +32 -0
  26. package/dist/src/adapters/types.d.ts.map +1 -0
  27. package/dist/src/adapters/types.js +2 -0
  28. package/dist/src/adapters/types.js.map +1 -0
  29. package/dist/src/analyzers/content-analyzer.d.ts.map +1 -1
  30. package/dist/src/analyzers/content-analyzer.js +20 -4
  31. package/dist/src/analyzers/content-analyzer.js.map +1 -1
  32. package/dist/src/cli/context-flow.d.ts +92 -0
  33. package/dist/src/cli/context-flow.d.ts.map +1 -0
  34. package/dist/src/cli/context-flow.js +724 -0
  35. package/dist/src/cli/context-flow.js.map +1 -0
  36. package/dist/src/cli/history-display.d.ts +27 -0
  37. package/dist/src/cli/history-display.d.ts.map +1 -0
  38. package/dist/src/cli/history-display.js +167 -0
  39. package/dist/src/cli/history-display.js.map +1 -0
  40. package/dist/src/cli/index.js +924 -0
  41. package/dist/src/cli/index.js.map +1 -1
  42. package/dist/src/cli/launch-spec.d.ts +31 -0
  43. package/dist/src/cli/launch-spec.d.ts.map +1 -0
  44. package/dist/src/cli/launch-spec.js +182 -0
  45. package/dist/src/cli/launch-spec.js.map +1 -0
  46. package/dist/src/cli/live-demo.d.ts +34 -0
  47. package/dist/src/cli/live-demo.d.ts.map +1 -0
  48. package/dist/src/cli/live-demo.js +254 -0
  49. package/dist/src/cli/live-demo.js.map +1 -0
  50. package/dist/src/cli/pty-transcript.d.ts +34 -0
  51. package/dist/src/cli/pty-transcript.d.ts.map +1 -0
  52. package/dist/src/cli/pty-transcript.js +174 -0
  53. package/dist/src/cli/pty-transcript.js.map +1 -0
  54. package/dist/src/cli/session-display.d.ts +74 -0
  55. package/dist/src/cli/session-display.d.ts.map +1 -0
  56. package/dist/src/cli/session-display.js +922 -0
  57. package/dist/src/cli/session-display.js.map +1 -0
  58. package/dist/src/cli/session-execution.d.ts +55 -0
  59. package/dist/src/cli/session-execution.d.ts.map +1 -0
  60. package/dist/src/cli/session-execution.js +817 -0
  61. package/dist/src/cli/session-execution.js.map +1 -0
  62. package/dist/src/cli/session-runtime.d.ts +5 -0
  63. package/dist/src/cli/session-runtime.d.ts.map +1 -0
  64. package/dist/src/cli/session-runtime.js +11 -0
  65. package/dist/src/cli/session-runtime.js.map +1 -0
  66. package/dist/src/cli/setup.d.ts.map +1 -1
  67. package/dist/src/cli/setup.js +36 -12
  68. package/dist/src/cli/setup.js.map +1 -1
  69. package/dist/src/cli/utils/env.d.ts +7 -2
  70. package/dist/src/cli/utils/env.d.ts.map +1 -1
  71. package/dist/src/cli/utils/env.js +37 -6
  72. package/dist/src/cli/utils/env.js.map +1 -1
  73. package/dist/src/index.d.ts +4 -1
  74. package/dist/src/index.d.ts.map +1 -1
  75. package/dist/src/index.js +187 -33
  76. package/dist/src/index.js.map +1 -1
  77. package/dist/src/ingestion/deterministic.d.ts +3 -0
  78. package/dist/src/ingestion/deterministic.d.ts.map +1 -0
  79. package/dist/src/ingestion/deterministic.js +862 -0
  80. package/dist/src/ingestion/deterministic.js.map +1 -0
  81. package/dist/src/ingestion/index.d.ts +5 -0
  82. package/dist/src/ingestion/index.d.ts.map +1 -0
  83. package/dist/src/ingestion/index.js +27 -0
  84. package/dist/src/ingestion/index.js.map +1 -0
  85. package/dist/src/ingestion/semantic.d.ts +6 -0
  86. package/dist/src/ingestion/semantic.d.ts.map +1 -0
  87. package/dist/src/ingestion/semantic.js +627 -0
  88. package/dist/src/ingestion/semantic.js.map +1 -0
  89. package/dist/src/ingestion/types.d.ts +10 -0
  90. package/dist/src/ingestion/types.d.ts.map +1 -0
  91. package/dist/src/ingestion/types.js +2 -0
  92. package/dist/src/ingestion/types.js.map +1 -0
  93. package/dist/src/lib/context-memory.d.ts +140 -0
  94. package/dist/src/lib/context-memory.d.ts.map +1 -0
  95. package/dist/src/lib/context-memory.js +974 -0
  96. package/dist/src/lib/context-memory.js.map +1 -0
  97. package/dist/src/lib/crypto/decrypt.d.ts.map +1 -1
  98. package/dist/src/lib/crypto/decrypt.js +12 -8
  99. package/dist/src/lib/crypto/decrypt.js.map +1 -1
  100. package/dist/src/lib/crypto/encrypt.d.ts.map +1 -1
  101. package/dist/src/lib/crypto/encrypt.js +6 -3
  102. package/dist/src/lib/crypto/encrypt.js.map +1 -1
  103. package/dist/src/lib/crypto/key-derivation.d.ts +1 -1
  104. package/dist/src/lib/crypto/key-derivation.d.ts.map +1 -1
  105. package/dist/src/lib/crypto/key-derivation.js +11 -11
  106. package/dist/src/lib/crypto/key-derivation.js.map +1 -1
  107. package/dist/src/lib/history-handoff.d.ts +43 -0
  108. package/dist/src/lib/history-handoff.d.ts.map +1 -0
  109. package/dist/src/lib/history-handoff.js +179 -0
  110. package/dist/src/lib/history-handoff.js.map +1 -0
  111. package/dist/src/lib/observability.d.ts +3 -0
  112. package/dist/src/lib/observability.d.ts.map +1 -0
  113. package/dist/src/lib/observability.js +63 -0
  114. package/dist/src/lib/observability.js.map +1 -0
  115. package/dist/src/lib/session-artifacts.d.ts +51 -0
  116. package/dist/src/lib/session-artifacts.d.ts.map +1 -0
  117. package/dist/src/lib/session-artifacts.js +132 -0
  118. package/dist/src/lib/session-artifacts.js.map +1 -0
  119. package/dist/src/lib/session-filters.d.ts +11 -0
  120. package/dist/src/lib/session-filters.d.ts.map +1 -0
  121. package/dist/src/lib/session-filters.js +16 -0
  122. package/dist/src/lib/session-filters.js.map +1 -0
  123. package/dist/src/lib/session-history.d.ts +50 -0
  124. package/dist/src/lib/session-history.d.ts.map +1 -0
  125. package/dist/src/lib/session-history.js +73 -0
  126. package/dist/src/lib/session-history.js.map +1 -0
  127. package/dist/src/lib/session-trends.d.ts +129 -0
  128. package/dist/src/lib/session-trends.d.ts.map +1 -0
  129. package/dist/src/lib/session-trends.js +361 -0
  130. package/dist/src/lib/session-trends.js.map +1 -0
  131. package/dist/src/lib/storage/database.d.ts +257 -3
  132. package/dist/src/lib/storage/database.d.ts.map +1 -1
  133. package/dist/src/lib/storage/database.js +1836 -161
  134. package/dist/src/lib/storage/database.js.map +1 -1
  135. package/dist/src/lib/storage/export-sessions.d.ts +33 -0
  136. package/dist/src/lib/storage/export-sessions.d.ts.map +1 -0
  137. package/dist/src/lib/storage/export-sessions.js +525 -0
  138. package/dist/src/lib/storage/export-sessions.js.map +1 -0
  139. package/dist/src/lib/storage/export.d.ts +1 -2
  140. package/dist/src/lib/storage/export.d.ts.map +1 -1
  141. package/dist/src/lib/storage/export.js +46 -33
  142. package/dist/src/lib/storage/export.js.map +1 -1
  143. package/dist/src/lib/storage/index.d.ts +7 -6
  144. package/dist/src/lib/storage/index.d.ts.map +1 -1
  145. package/dist/src/lib/storage/index.js +6 -5
  146. package/dist/src/lib/storage/index.js.map +1 -1
  147. package/dist/src/lib/storage/salt-storage.d.ts +1 -1
  148. package/dist/src/lib/storage/salt-storage.d.ts.map +1 -1
  149. package/dist/src/lib/storage/salt-storage.js +26 -18
  150. package/dist/src/lib/storage/salt-storage.js.map +1 -1
  151. package/dist/src/lib/storage/schema.d.ts +7 -2
  152. package/dist/src/lib/storage/schema.d.ts.map +1 -1
  153. package/dist/src/lib/storage/schema.js +357 -40
  154. package/dist/src/lib/storage/schema.js.map +1 -1
  155. package/dist/src/lib/storage/types.d.ts +122 -0
  156. package/dist/src/lib/storage/types.d.ts.map +1 -1
  157. package/dist/src/lib/tool-wrapper.d.ts.map +1 -1
  158. package/dist/src/lib/tool-wrapper.js +2 -2
  159. package/dist/src/lib/tool-wrapper.js.map +1 -1
  160. package/dist/src/prompts/skill-prompt.d.ts +6 -0
  161. package/dist/src/prompts/skill-prompt.d.ts.map +1 -0
  162. package/dist/src/prompts/skill-prompt.js +138 -0
  163. package/dist/src/prompts/skill-prompt.js.map +1 -0
  164. package/dist/src/tools/capture-footprint.d.ts +2 -2
  165. package/dist/src/tools/capture-footprint.d.ts.map +1 -1
  166. package/dist/src/tools/capture-footprint.js +52 -11
  167. package/dist/src/tools/capture-footprint.js.map +1 -1
  168. package/dist/src/tools/confirm-context-link.d.ts +62 -0
  169. package/dist/src/tools/confirm-context-link.d.ts.map +1 -0
  170. package/dist/src/tools/confirm-context-link.js +36 -0
  171. package/dist/src/tools/confirm-context-link.js.map +1 -0
  172. package/dist/src/tools/context-schemas.d.ts +694 -0
  173. package/dist/src/tools/context-schemas.d.ts.map +1 -0
  174. package/dist/src/tools/context-schemas.js +171 -0
  175. package/dist/src/tools/context-schemas.js.map +1 -0
  176. package/dist/src/tools/delete-footprints.d.ts +18 -1
  177. package/dist/src/tools/delete-footprints.d.ts.map +1 -1
  178. package/dist/src/tools/delete-footprints.js +53 -5
  179. package/dist/src/tools/delete-footprints.js.map +1 -1
  180. package/dist/src/tools/export-footprints.d.ts +11 -3
  181. package/dist/src/tools/export-footprints.d.ts.map +1 -1
  182. package/dist/src/tools/export-footprints.js +48 -9
  183. package/dist/src/tools/export-footprints.js.map +1 -1
  184. package/dist/src/tools/export-sessions.d.ts +111 -0
  185. package/dist/src/tools/export-sessions.d.ts.map +1 -0
  186. package/dist/src/tools/export-sessions.js +136 -0
  187. package/dist/src/tools/export-sessions.js.map +1 -0
  188. package/dist/src/tools/get-context.d.ts +208 -0
  189. package/dist/src/tools/get-context.d.ts.map +1 -0
  190. package/dist/src/tools/get-context.js +27 -0
  191. package/dist/src/tools/get-context.js.map +1 -0
  192. package/dist/src/tools/get-footprint.d.ts +1 -7
  193. package/dist/src/tools/get-footprint.d.ts.map +1 -1
  194. package/dist/src/tools/get-footprint.js +7 -3
  195. package/dist/src/tools/get-footprint.js.map +1 -1
  196. package/dist/src/tools/get-history-handoff.d.ts +109 -0
  197. package/dist/src/tools/get-history-handoff.d.ts.map +1 -0
  198. package/dist/src/tools/get-history-handoff.js +85 -0
  199. package/dist/src/tools/get-history-handoff.js.map +1 -0
  200. package/dist/src/tools/get-history-trends.d.ts +155 -0
  201. package/dist/src/tools/get-history-trends.d.ts.map +1 -0
  202. package/dist/src/tools/get-history-trends.js +123 -0
  203. package/dist/src/tools/get-history-trends.js.map +1 -0
  204. package/dist/src/tools/get-session-artifacts.d.ts +151 -0
  205. package/dist/src/tools/get-session-artifacts.d.ts.map +1 -0
  206. package/dist/src/tools/get-session-artifacts.js +184 -0
  207. package/dist/src/tools/get-session-artifacts.js.map +1 -0
  208. package/dist/src/tools/get-session-decisions.d.ts +69 -0
  209. package/dist/src/tools/get-session-decisions.d.ts.map +1 -0
  210. package/dist/src/tools/get-session-decisions.js +99 -0
  211. package/dist/src/tools/get-session-decisions.js.map +1 -0
  212. package/dist/src/tools/get-session-messages.d.ts +55 -0
  213. package/dist/src/tools/get-session-messages.d.ts.map +1 -0
  214. package/dist/src/tools/get-session-messages.js +89 -0
  215. package/dist/src/tools/get-session-messages.js.map +1 -0
  216. package/dist/src/tools/get-session-narrative.d.ts +72 -0
  217. package/dist/src/tools/get-session-narrative.d.ts.map +1 -0
  218. package/dist/src/tools/get-session-narrative.js +106 -0
  219. package/dist/src/tools/get-session-narrative.js.map +1 -0
  220. package/dist/src/tools/get-session-timeline.d.ts +55 -0
  221. package/dist/src/tools/get-session-timeline.d.ts.map +1 -0
  222. package/dist/src/tools/get-session-timeline.js +93 -0
  223. package/dist/src/tools/get-session-timeline.js.map +1 -0
  224. package/dist/src/tools/get-session-trends.d.ts +108 -0
  225. package/dist/src/tools/get-session-trends.d.ts.map +1 -0
  226. package/dist/src/tools/get-session-trends.js +130 -0
  227. package/dist/src/tools/get-session-trends.js.map +1 -0
  228. package/dist/src/tools/get-session.d.ts +251 -0
  229. package/dist/src/tools/get-session.d.ts.map +1 -0
  230. package/dist/src/tools/get-session.js +290 -0
  231. package/dist/src/tools/get-session.js.map +1 -0
  232. package/dist/src/tools/index.d.ts +23 -3
  233. package/dist/src/tools/index.d.ts.map +1 -1
  234. package/dist/src/tools/index.js +23 -3
  235. package/dist/src/tools/index.js.map +1 -1
  236. package/dist/src/tools/list-contexts.d.ts +50 -0
  237. package/dist/src/tools/list-contexts.d.ts.map +1 -0
  238. package/dist/src/tools/list-contexts.js +28 -0
  239. package/dist/src/tools/list-contexts.js.map +1 -0
  240. package/dist/src/tools/list-footprints.d.ts +1 -15
  241. package/dist/src/tools/list-footprints.d.ts.map +1 -1
  242. package/dist/src/tools/list-footprints.js +17 -6
  243. package/dist/src/tools/list-footprints.js.map +1 -1
  244. package/dist/src/tools/list-sessions.d.ts +86 -0
  245. package/dist/src/tools/list-sessions.d.ts.map +1 -0
  246. package/dist/src/tools/list-sessions.js +97 -0
  247. package/dist/src/tools/list-sessions.js.map +1 -0
  248. package/dist/src/tools/manage-tags.d.ts +47 -0
  249. package/dist/src/tools/manage-tags.d.ts.map +1 -0
  250. package/dist/src/tools/manage-tags.js +109 -0
  251. package/dist/src/tools/manage-tags.js.map +1 -0
  252. package/dist/src/tools/merge-contexts.d.ts +58 -0
  253. package/dist/src/tools/merge-contexts.d.ts.map +1 -0
  254. package/dist/src/tools/merge-contexts.js +27 -0
  255. package/dist/src/tools/merge-contexts.js.map +1 -0
  256. package/dist/src/tools/move-session-context.d.ts +62 -0
  257. package/dist/src/tools/move-session-context.d.ts.map +1 -0
  258. package/dist/src/tools/move-session-context.js +33 -0
  259. package/dist/src/tools/move-session-context.js.map +1 -0
  260. package/dist/src/tools/reingest-session.d.ts +31 -0
  261. package/dist/src/tools/reingest-session.d.ts.map +1 -0
  262. package/dist/src/tools/reingest-session.js +43 -0
  263. package/dist/src/tools/reingest-session.js.map +1 -0
  264. package/dist/src/tools/reject-context-link.d.ts +58 -0
  265. package/dist/src/tools/reject-context-link.d.ts.map +1 -0
  266. package/dist/src/tools/reject-context-link.js +26 -0
  267. package/dist/src/tools/reject-context-link.js.map +1 -0
  268. package/dist/src/tools/resolve-context.d.ts +287 -0
  269. package/dist/src/tools/resolve-context.d.ts.map +1 -0
  270. package/dist/src/tools/resolve-context.js +35 -0
  271. package/dist/src/tools/resolve-context.js.map +1 -0
  272. package/dist/src/tools/search-footprints.d.ts +2 -16
  273. package/dist/src/tools/search-footprints.d.ts.map +1 -1
  274. package/dist/src/tools/search-footprints.js +23 -7
  275. package/dist/src/tools/search-footprints.js.map +1 -1
  276. package/dist/src/tools/search-history.d.ts +86 -0
  277. package/dist/src/tools/search-history.d.ts.map +1 -0
  278. package/dist/src/tools/search-history.js +103 -0
  279. package/dist/src/tools/search-history.js.map +1 -0
  280. package/dist/src/tools/session-ui-metadata.d.ts +15 -0
  281. package/dist/src/tools/session-ui-metadata.d.ts.map +1 -0
  282. package/dist/src/tools/session-ui-metadata.js +15 -0
  283. package/dist/src/tools/session-ui-metadata.js.map +1 -0
  284. package/dist/src/tools/set-active-context.d.ts +58 -0
  285. package/dist/src/tools/set-active-context.d.ts.map +1 -0
  286. package/dist/src/tools/set-active-context.js +26 -0
  287. package/dist/src/tools/set-active-context.js.map +1 -0
  288. package/dist/src/tools/split-context.d.ts +62 -0
  289. package/dist/src/tools/split-context.d.ts.map +1 -0
  290. package/dist/src/tools/split-context.js +36 -0
  291. package/dist/src/tools/split-context.js.map +1 -0
  292. package/dist/src/tools/suggest-capture.d.ts +1 -1
  293. package/dist/src/tools/suggest-capture.d.ts.map +1 -1
  294. package/dist/src/tools/suggest-capture.js +6 -2
  295. package/dist/src/tools/suggest-capture.js.map +1 -1
  296. package/dist/src/tools/verify-footprint.d.ts +7 -54
  297. package/dist/src/tools/verify-footprint.d.ts.map +1 -1
  298. package/dist/src/tools/verify-footprint.js +11 -8
  299. package/dist/src/tools/verify-footprint.js.map +1 -1
  300. package/dist/src/types.d.ts +6 -4
  301. package/dist/src/types.d.ts.map +1 -1
  302. package/dist/src/ui/register.d.ts +6 -1
  303. package/dist/src/ui/register.d.ts.map +1 -1
  304. package/dist/src/ui/register.js +60 -16
  305. package/dist/src/ui/register.js.map +1 -1
  306. package/dist/ui/dashboard.html +259 -875
  307. package/dist/ui/detail.html +124 -252
  308. package/dist/ui/export.html +133 -303
  309. package/dist/ui/session-dashboard-live.html +264 -0
  310. package/dist/ui/session-dashboard.html +329 -0
  311. package/dist/ui/session-detail-live.html +336 -0
  312. package/dist/ui/session-detail.html +355 -0
  313. package/package.json +61 -16
  314. package/dist/src/lib/errors/base-error.d.ts +0 -15
  315. package/dist/src/lib/errors/base-error.d.ts.map +0 -1
  316. package/dist/src/lib/errors/base-error.js +0 -34
  317. package/dist/src/lib/errors/base-error.js.map +0 -1
  318. package/dist/src/lib/errors/crypto-error.d.ts +0 -29
  319. package/dist/src/lib/errors/crypto-error.d.ts.map +0 -1
  320. package/dist/src/lib/errors/crypto-error.js +0 -43
  321. package/dist/src/lib/errors/crypto-error.js.map +0 -1
  322. package/dist/src/lib/errors/index.d.ts +0 -26
  323. package/dist/src/lib/errors/index.d.ts.map +0 -1
  324. package/dist/src/lib/errors/index.js +0 -26
  325. package/dist/src/lib/errors/index.js.map +0 -1
  326. package/dist/src/lib/errors/storage-error.d.ts +0 -25
  327. package/dist/src/lib/errors/storage-error.d.ts.map +0 -1
  328. package/dist/src/lib/errors/storage-error.js +0 -38
  329. package/dist/src/lib/errors/storage-error.js.map +0 -1
  330. package/dist/src/lib/errors/validation-error.d.ts +0 -21
  331. package/dist/src/lib/errors/validation-error.d.ts.map +0 -1
  332. package/dist/src/lib/errors/validation-error.js +0 -29
  333. package/dist/src/lib/errors/validation-error.js.map +0 -1
  334. package/dist/src/test-helpers.d.ts +0 -33
  335. package/dist/src/test-helpers.d.ts.map +0 -1
  336. package/dist/src/test-helpers.js +0 -108
  337. package/dist/src/test-helpers.js.map +0 -1
  338. package/dist/src/tools/get-tag-stats.d.ts +0 -30
  339. package/dist/src/tools/get-tag-stats.d.ts.map +0 -1
  340. package/dist/src/tools/get-tag-stats.js +0 -33
  341. package/dist/src/tools/get-tag-stats.js.map +0 -1
  342. package/dist/src/tools/remove-tag.d.ts +0 -22
  343. package/dist/src/tools/remove-tag.d.ts.map +0 -1
  344. package/dist/src/tools/remove-tag.js +0 -30
  345. package/dist/src/tools/remove-tag.js.map +0 -1
  346. package/dist/src/tools/rename-tag.d.ts +0 -24
  347. package/dist/src/tools/rename-tag.d.ts.map +0 -1
  348. package/dist/src/tools/rename-tag.js +0 -34
  349. package/dist/src/tools/rename-tag.js.map +0 -1
@@ -0,0 +1,329 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title data-i18n="sessionDashboard.documentTitle">Footprint Work Overview</title>
7
+ <script type="module" crossorigin>(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const o of n)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function i(n){const o={};return n.integrity&&(o.integrity=n.integrity),n.referrerPolicy&&(o.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?o.credentials="include":n.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(n){if(n.ep)return;n.ep=!0;const o=i(n);fetch(n.href,o)}})();function g(e,t,i){function r(a,l){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:l,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,l);const u=s.prototype,c=Object.keys(u);for(let m=0;m<c.length;m++){const p=c[m];p in a||(a[p]=u[p].bind(a))}}const n=i?.Parent??Object;class o extends n{}Object.defineProperty(o,"name",{value:e});function s(a){var l;const u=i?.Parent?new o:this;r(u,a),(l=u._zod).deferred??(l.deferred=[]);for(const c of u._zod.deferred)c();return u}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>i?.Parent&&a instanceof i.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}class $t extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ra extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const La={};function Ke(e){return La}function Fa(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,n])=>t.indexOf(+r)===-1).map(([r,n])=>n)}function cr(e,t){return typeof t=="bigint"?t.toString():t}function ni(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function kr(e){return e==null}function xr(e){const t=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(t,i)}function Zf(e,t){const i=(e.toString().split(".")[1]||"").length,r=t.toString();let n=(r.split(".")[1]||"").length;if(n===0&&/\d?e-\d?/.test(r)){const l=r.match(/\d?e-(\d?)/);l?.[1]&&(n=Number.parseInt(l[1]))}const o=i>n?i:n,s=Number.parseInt(e.toFixed(o).replace(".","")),a=Number.parseInt(t.toFixed(o).replace(".",""));return s%a/10**o}const Xs=Symbol("evaluating");function q(e,t,i){let r;Object.defineProperty(e,t,{get(){if(r!==Xs)return r===void 0&&(r=Xs,r=i()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function dt(e,t,i){Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!0,configurable:!0})}function et(...e){const t={};for(const i of e){const r=Object.getOwnPropertyDescriptors(i);Object.assign(t,r)}return Object.defineProperties({},t)}function Ys(e){return JSON.stringify(e)}function Uf(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ma="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Ft(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const jf=ni(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function kt(e){if(Ft(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const i=t.prototype;return!(Ft(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function qa(e){return kt(e)?{...e}:Array.isArray(e)?[...e]:e}const Af=new Set(["string","number","symbol"]);function xt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function tt(e,t,i){const r=new e._zod.constr(t??e._zod.def);return(!t||i?.parent)&&(r._zod.parent=e),r}function I(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 Cf(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Rf={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]};function Lf(e,t){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const o=et(e._zod.def,{get shape(){const s={};for(const a in t){if(!(a in i.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(s[a]=i.shape[a])}return dt(this,"shape",s),s},checks:[]});return tt(e,o)}function Ff(e,t){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const o=et(e._zod.def,{get shape(){const s={...e._zod.def.shape};for(const a in t){if(!(a in i.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete s[a]}return dt(this,"shape",s),s},checks:[]});return tt(e,o)}function Mf(e,t){if(!kt(t))throw new Error("Invalid input to extend: expected a plain object");const i=e._zod.def.checks;if(i&&i.length>0){const o=e._zod.def.shape;for(const s in t)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const n=et(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return dt(this,"shape",o),o}});return tt(e,n)}function qf(e,t){if(!kt(t))throw new Error("Invalid input to safeExtend: expected a plain object");const i=et(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t};return dt(this,"shape",r),r}});return tt(e,i)}function Jf(e,t){const i=et(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t._zod.def.shape};return dt(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return tt(e,i)}function Wf(e,t,i){const n=t._zod.def.checks;if(n&&n.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const s=et(t._zod.def,{get shape(){const a=t._zod.def.shape,l={...a};if(i)for(const u in i){if(!(u in a))throw new Error(`Unrecognized key: "${u}"`);i[u]&&(l[u]=e?new e({type:"optional",innerType:a[u]}):a[u])}else for(const u in a)l[u]=e?new e({type:"optional",innerType:a[u]}):a[u];return dt(this,"shape",l),l},checks:[]});return tt(t,s)}function Bf(e,t,i){const r=et(t._zod.def,{get shape(){const n=t._zod.def.shape,o={...n};if(i)for(const s in i){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);i[s]&&(o[s]=new e({type:"nonoptional",innerType:n[s]}))}else for(const s in n)o[s]=new e({type:"nonoptional",innerType:n[s]});return dt(this,"shape",o),o}});return tt(t,r)}function yt(e,t=0){if(e.aborted===!0)return!0;for(let i=t;i<e.issues.length;i++)if(e.issues[i]?.continue!==!0)return!0;return!1}function _t(e,t){return t.map(i=>{var r;return(r=i).path??(r.path=[]),i.path.unshift(e),i})}function zn(e){return typeof e=="string"?e:e?.message}function Ge(e,t,i){const r={...e,path:e.path??[]};if(!e.message){const n=zn(e.inst?._zod.def?.error?.(e))??zn(t?.error?.(e))??zn(i.customError?.(e))??zn(i.localeError?.(e))??"Invalid input";r.message=n}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function wr(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Mt(...e){const[t,i,r]=e;return typeof t=="string"?{message:t,code:"custom",input:i,inst:r}:{...t}}const Ja=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,cr,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Wa=g("$ZodError",Ja),Ba=g("$ZodError",Ja,{Parent:Error});function Hf(e,t=i=>i.message){const i={},r=[];for(const n of e.issues)n.path.length>0?(i[n.path[0]]=i[n.path[0]]||[],i[n.path[0]].push(t(n))):r.push(t(n));return{formErrors:r,fieldErrors:i}}function Vf(e,t=i=>i.message){const i={_errors:[]},r=n=>{for(const o of n.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>r({issues:s}));else if(o.code==="invalid_key")r({issues:o.issues});else if(o.code==="invalid_element")r({issues:o.issues});else if(o.path.length===0)i._errors.push(t(o));else{let s=i,a=0;for(;a<o.path.length;){const l=o.path[a];a===o.path.length-1?(s[l]=s[l]||{_errors:[]},s[l]._errors.push(t(o))):s[l]=s[l]||{_errors:[]},s=s[l],a++}}};return r(e),i}const Sr=e=>(t,i,r,n)=>{const o=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:i,issues:[]},o);if(s instanceof Promise)throw new $t;if(s.issues.length){const a=new(n?.Err??e)(s.issues.map(l=>Ge(l,o,Ke())));throw Ma(a,n?.callee),a}return s.value},Ir=e=>async(t,i,r,n)=>{const o=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:i,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){const a=new(n?.Err??e)(s.issues.map(l=>Ge(l,o,Ke())));throw Ma(a,n?.callee),a}return s.value},ii=e=>(t,i,r)=>{const n=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:i,issues:[]},n);if(o instanceof Promise)throw new $t;return o.issues.length?{success:!1,error:new(e??Wa)(o.issues.map(s=>Ge(s,n,Ke())))}:{success:!0,data:o.value}},Ha=ii(Ba),ri=e=>async(t,i,r)=>{const n=r?Object.assign(r,{async:!0}):{async:!0};let o=t._zod.run({value:i,issues:[]},n);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(s=>Ge(s,n,Ke())))}:{success:!0,data:o.value}},Kf=ri(Ba),Gf=e=>(t,i,r)=>{const n=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Sr(e)(t,i,n)},Xf=e=>(t,i,r)=>Sr(e)(t,i,r),Yf=e=>async(t,i,r)=>{const n=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Ir(e)(t,i,n)},Qf=e=>async(t,i,r)=>Ir(e)(t,i,r),eh=e=>(t,i,r)=>{const n=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ii(e)(t,i,n)},th=e=>(t,i,r)=>ii(e)(t,i,r),nh=e=>async(t,i,r)=>{const n=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ri(e)(t,i,n)},ih=e=>async(t,i,r)=>ri(e)(t,i,r),rh=/^[cC][^\s-]{8,}$/,oh=/^[0-9a-z]+$/,sh=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ah=/^[0-9a-vA-V]{20}$/,lh=/^[A-Za-z0-9]{27}$/,uh=/^[a-zA-Z0-9_-]{21}$/,ch=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,dh=/^([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})$/,Qs=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)$/,mh=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ph="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function fh(){return new RegExp(ph,"u")}const hh=/^(?:(?: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])$/,vh=/^(([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}|:))$/,gh=/^((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])$/,bh=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,yh=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Va=/^[A-Za-z0-9_-]*$/,_h=/^\+[1-9]\d{6,14}$/,Ka="(?:(?:\\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])))",$h=new RegExp(`^${Ka}$`);function Ga(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}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function kh(e){return new RegExp(`^${Ga(e)}$`)}function xh(e){const t=Ga({precision:e.precision}),i=["Z"];e.local&&i.push(""),e.offset&&i.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${i.join("|")})`;return new RegExp(`^${Ka}T(?:${r})$`)}const wh=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Sh=/^-?\d+$/,Xa=/^-?\d+(?:\.\d+)?$/,Ih=/^(?:true|false)$/i,Dh=/^null$/i,zh=/^[^A-Z]*$/,Th=/^[^a-z]*$/,ke=g("$ZodCheck",(e,t)=>{var i;e._zod??(e._zod={}),e._zod.def=t,(i=e._zod).onattach??(i.onattach=[])}),Ya={number:"number",bigint:"bigint",object:"date"},Qa=g("$ZodCheckLessThan",(e,t)=>{ke.init(e,t);const i=Ya[typeof t.value];e._zod.onattach.push(r=>{const n=r._zod.bag,o=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:i,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),el=g("$ZodCheckGreaterThan",(e,t)=>{ke.init(e,t);const i=Ya[typeof t.value];e._zod.onattach.push(r=>{const n=r._zod.bag,o=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:i,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Oh=g("$ZodCheckMultipleOf",(e,t)=>{ke.init(e,t),e._zod.onattach.push(i=>{var r;(r=i._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=i=>{if(typeof i.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof i.value=="bigint"?i.value%t.value===BigInt(0):Zf(i.value,t.value)===0)||i.issues.push({origin:typeof i.value,code:"not_multiple_of",divisor:t.value,input:i.value,inst:e,continue:!t.abort})}}),Ph=g("$ZodCheckNumberFormat",(e,t)=>{ke.init(e,t),t.format=t.format||"float64";const i=t.format?.includes("int"),r=i?"int":"number",[n,o]=Rf[t.format];e._zod.onattach.push(s=>{const a=s._zod.bag;a.format=t.format,a.minimum=n,a.maximum=o,i&&(a.pattern=Sh)}),e._zod.check=s=>{const a=s.value;if(i){if(!Number.isInteger(a)){s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.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}):s.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<n&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),a>o&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),Nh=g("$ZodCheckMaxLength",(e,t)=>{var i;ke.init(e,t),(i=e._zod.def).when??(i.when=r=>{const n=r.value;return!kr(n)&&n.length!==void 0}),e._zod.onattach.push(r=>{const n=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const n=r.value;if(n.length<=t.maximum)return;const s=wr(n);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Eh=g("$ZodCheckMinLength",(e,t)=>{var i;ke.init(e,t),(i=e._zod.def).when??(i.when=r=>{const n=r.value;return!kr(n)&&n.length!==void 0}),e._zod.onattach.push(r=>{const n=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const n=r.value;if(n.length>=t.minimum)return;const s=wr(n);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Zh=g("$ZodCheckLengthEquals",(e,t)=>{var i;ke.init(e,t),(i=e._zod.def).when??(i.when=r=>{const n=r.value;return!kr(n)&&n.length!==void 0}),e._zod.onattach.push(r=>{const n=r._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=r=>{const n=r.value,o=n.length;if(o===t.length)return;const s=wr(n),a=o>t.length;r.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),oi=g("$ZodCheckStringFormat",(e,t)=>{var i,r;ke.init(e,t),e._zod.onattach.push(n=>{const o=n._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(i=e._zod).check??(i.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Uh=g("$ZodCheckRegex",(e,t)=>{oi.init(e,t),e._zod.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:"regex",input:i.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),jh=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=zh),oi.init(e,t)}),Ah=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Th),oi.init(e,t)}),Ch=g("$ZodCheckIncludes",(e,t)=>{ke.init(e,t);const i=xt(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${i}`:i);t.pattern=r,e._zod.onattach.push(n=>{const o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Rh=g("$ZodCheckStartsWith",(e,t)=>{ke.init(e,t);const i=new RegExp(`^${xt(t.prefix)}.*`);t.pattern??(t.pattern=i),e._zod.onattach.push(r=>{const n=r._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(i)}),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})}}),Lh=g("$ZodCheckEndsWith",(e,t)=>{ke.init(e,t);const i=new RegExp(`.*${xt(t.suffix)}$`);t.pattern??(t.pattern=i),e._zod.onattach.push(r=>{const n=r._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(i)}),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})}}),Fh=g("$ZodCheckOverwrite",(e,t)=>{ke.init(e,t),e._zod.check=i=>{i.value=t.tx(i.value)}});class Mh{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
8
+ `).filter(s=>s),n=Math.min(...r.map(s=>s.length-s.trimStart().length)),o=r.map(s=>s.slice(n)).map(s=>" ".repeat(this.indent*2)+s);for(const s of o)this.content.push(s)}compile(){const t=Function,i=this?.args,n=[...(this?.content??[""]).map(o=>` ${o}`)];return new t(...i,n.join(`
9
+ `))}}const qh={major:4,minor:3,patch:6},Y=g("$ZodType",(e,t)=>{var i;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=qh;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const n of r)for(const o of n._zod.onattach)o(e);if(r.length===0)(i=e._zod).deferred??(i.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const n=(s,a,l)=>{let u=yt(s),c;for(const m of a){if(m._zod.def.when){if(!m._zod.def.when(s))continue}else if(u)continue;const p=s.issues.length,h=m._zod.check(s);if(h instanceof Promise&&l?.async===!1)throw new $t;if(c||h instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await h,s.issues.length!==p&&(u||(u=yt(s,p)))});else{if(s.issues.length===p)continue;u||(u=yt(s,p))}}return c?c.then(()=>s):s},o=(s,a,l)=>{if(yt(s))return s.aborted=!0,s;const u=n(a,r,l);if(u instanceof Promise){if(l.async===!1)throw new $t;return u.then(c=>e._zod.parse(c,l))}return e._zod.parse(u,l)};e._zod.run=(s,a)=>{if(a.skipChecks)return e._zod.parse(s,a);if(a.direction==="backward"){const u=e._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});return u instanceof Promise?u.then(c=>o(c,s,a)):o(u,s,a)}const l=e._zod.parse(s,a);if(l instanceof Promise){if(a.async===!1)throw new $t;return l.then(u=>n(u,r,a))}return n(l,r,a)}}q(e,"~standard",()=>({validate:n=>{try{const o=Ha(e,n);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return Kf(e,n).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Dr=g("$ZodString",(e,t)=>{Y.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??wh(e._zod.bag),e._zod.parse=(i,r)=>{if(t.coerce)try{i.value=String(i.value)}catch{}return typeof i.value=="string"||i.issues.push({expected:"string",code:"invalid_type",input:i.value,inst:e}),i}}),Q=g("$ZodStringFormat",(e,t)=>{oi.init(e,t),Dr.init(e,t)}),Jh=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=dh),Q.init(e,t)}),Wh=g("$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=Qs(r))}else t.pattern??(t.pattern=Qs());Q.init(e,t)}),Bh=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=mh),Q.init(e,t)}),Hh=g("$ZodURL",(e,t)=>{Q.init(e,t),e._zod.check=i=>{try{const r=i.value.trim(),n=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(n.hostname)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:i.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(n.protocol.endsWith(":")?n.protocol.slice(0,-1):n.protocol)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:i.value,inst:e,continue:!t.abort})),t.normalize?i.value=n.href:i.value=r;return}catch{i.issues.push({code:"invalid_format",format:"url",input:i.value,inst:e,continue:!t.abort})}}}),Vh=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=fh()),Q.init(e,t)}),Kh=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=uh),Q.init(e,t)}),Gh=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=rh),Q.init(e,t)}),Xh=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=oh),Q.init(e,t)}),Yh=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=sh),Q.init(e,t)}),Qh=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ah),Q.init(e,t)}),ev=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=lh),Q.init(e,t)}),tv=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=xh(t)),Q.init(e,t)}),nv=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=$h),Q.init(e,t)}),iv=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=kh(t)),Q.init(e,t)}),rv=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ch),Q.init(e,t)}),ov=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=hh),Q.init(e,t),e._zod.bag.format="ipv4"}),sv=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=vh),Q.init(e,t),e._zod.bag.format="ipv6",e._zod.check=i=>{try{new URL(`http://[${i.value}]`)}catch{i.issues.push({code:"invalid_format",format:"ipv6",input:i.value,inst:e,continue:!t.abort})}}}),av=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=gh),Q.init(e,t)}),lv=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=bh),Q.init(e,t),e._zod.check=i=>{const r=i.value.split("/");try{if(r.length!==2)throw new Error;const[n,o]=r;if(!o)throw new Error;const s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${n}]`)}catch{i.issues.push({code:"invalid_format",format:"cidrv6",input:i.value,inst:e,continue:!t.abort})}}});function tl(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const uv=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=yh),Q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=i=>{tl(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:e,continue:!t.abort})}});function cv(e){if(!Va.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),i=t.padEnd(Math.ceil(t.length/4)*4,"=");return tl(i)}const dv=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Va),Q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=i=>{cv(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:e,continue:!t.abort})}}),mv=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=_h),Q.init(e,t)});function pv(e,t=null){try{const i=e.split(".");if(i.length!==3)return!1;const[r]=i;if(!r)return!1;const n=JSON.parse(atob(r));return!("typ"in n&&n?.typ!=="JWT"||!n.alg||t&&(!("alg"in n)||n.alg!==t))}catch{return!1}}const fv=g("$ZodJWT",(e,t)=>{Q.init(e,t),e._zod.check=i=>{pv(i.value,t.alg)||i.issues.push({code:"invalid_format",format:"jwt",input:i.value,inst:e,continue:!t.abort})}}),nl=g("$ZodNumber",(e,t)=>{Y.init(e,t),e._zod.pattern=e._zod.bag.pattern??Xa,e._zod.parse=(i,r)=>{if(t.coerce)try{i.value=Number(i.value)}catch{}const n=i.value;if(typeof n=="number"&&!Number.isNaN(n)&&Number.isFinite(n))return i;const o=typeof n=="number"?Number.isNaN(n)?"NaN":Number.isFinite(n)?void 0:"Infinity":void 0;return i.issues.push({expected:"number",code:"invalid_type",input:n,inst:e,...o?{received:o}:{}}),i}}),hv=g("$ZodNumberFormat",(e,t)=>{Ph.init(e,t),nl.init(e,t)}),vv=g("$ZodBoolean",(e,t)=>{Y.init(e,t),e._zod.pattern=Ih,e._zod.parse=(i,r)=>{if(t.coerce)try{i.value=!!i.value}catch{}const n=i.value;return typeof n=="boolean"||i.issues.push({expected:"boolean",code:"invalid_type",input:n,inst:e}),i}}),gv=g("$ZodNull",(e,t)=>{Y.init(e,t),e._zod.pattern=Dh,e._zod.values=new Set([null]),e._zod.parse=(i,r)=>{const n=i.value;return n===null||i.issues.push({expected:"null",code:"invalid_type",input:n,inst:e}),i}}),bv=g("$ZodUnknown",(e,t)=>{Y.init(e,t),e._zod.parse=i=>i}),yv=g("$ZodNever",(e,t)=>{Y.init(e,t),e._zod.parse=(i,r)=>(i.issues.push({expected:"never",code:"invalid_type",input:i.value,inst:e}),i)});function ea(e,t,i){e.issues.length&&t.issues.push(..._t(i,e.issues)),t.value[i]=e.value}const _v=g("$ZodArray",(e,t)=>{Y.init(e,t),e._zod.parse=(i,r)=>{const n=i.value;if(!Array.isArray(n))return i.issues.push({expected:"array",code:"invalid_type",input:n,inst:e}),i;i.value=Array(n.length);const o=[];for(let s=0;s<n.length;s++){const a=n[s],l=t.element._zod.run({value:a,issues:[]},r);l instanceof Promise?o.push(l.then(u=>ea(u,i,s))):ea(l,i,s)}return o.length?Promise.all(o).then(()=>i):i}});function Mn(e,t,i,r,n){if(e.issues.length){if(n&&!(i in r))return;t.issues.push(..._t(i,e.issues))}e.value===void 0?i in r&&(t.value[i]=void 0):t.value[i]=e.value}function il(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const i=Cf(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function rl(e,t,i,r,n,o){const s=[],a=n.keySet,l=n.catchall._zod,u=l.def.type,c=l.optout==="optional";for(const m in t){if(a.has(m))continue;if(u==="never"){s.push(m);continue}const p=l.run({value:t[m],issues:[]},r);p instanceof Promise?e.push(p.then(h=>Mn(h,i,m,t,c))):Mn(p,i,m,t,c)}return s.length&&i.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o}),e.length?Promise.all(e).then(()=>i):i}const $v=g("$ZodObject",(e,t)=>{if(Y.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const l={...a};return Object.defineProperty(t,"shape",{value:l}),l}})}const r=ni(()=>il(t));q(e._zod,"propValues",()=>{const a=t.shape,l={};for(const u in a){const c=a[u]._zod;if(c.values){l[u]??(l[u]=new Set);for(const m of c.values)l[u].add(m)}}return l});const n=Ft,o=t.catchall;let s;e._zod.parse=(a,l)=>{s??(s=r.value);const u=a.value;if(!n(u))return a.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),a;a.value={};const c=[],m=s.shape;for(const p of s.keys){const h=m[p],S=h._zod.optout==="optional",D=h._zod.run({value:u[p],issues:[]},l);D instanceof Promise?c.push(D.then(ze=>Mn(ze,a,p,u,S))):Mn(D,a,p,u,S)}return o?rl(c,u,a,l,r.value,e):c.length?Promise.all(c).then(()=>a):a}}),kv=g("$ZodObjectJIT",(e,t)=>{$v.init(e,t);const i=e._zod.parse,r=ni(()=>il(t)),n=p=>{const h=new Mh(["shape","payload","ctx"]),S=r.value,D=E=>{const R=Ys(E);return`shape[${R}]._zod.run({ value: input[${R}], issues: [] }, ctx)`};h.write("const input = payload.value;");const ze=Object.create(null);let je=0;for(const E of S.keys)ze[E]=`key_${je++}`;h.write("const newResult = {};");for(const E of S.keys){const R=ze[E],H=Ys(E),nr=p[E]?._zod?.optout==="optional";h.write(`const ${R} = ${D(E)};`),nr?h.write(`
10
+ if (${R}.issues.length) {
11
+ if (${H} in input) {
12
+ payload.issues = payload.issues.concat(${R}.issues.map(iss => ({
13
+ ...iss,
14
+ path: iss.path ? [${H}, ...iss.path] : [${H}]
15
+ })));
16
+ }
17
+ }
18
+
19
+ if (${R}.value === undefined) {
20
+ if (${H} in input) {
21
+ newResult[${H}] = undefined;
22
+ }
23
+ } else {
24
+ newResult[${H}] = ${R}.value;
25
+ }
26
+
27
+ `):h.write(`
28
+ if (${R}.issues.length) {
29
+ payload.issues = payload.issues.concat(${R}.issues.map(iss => ({
30
+ ...iss,
31
+ path: iss.path ? [${H}, ...iss.path] : [${H}]
32
+ })));
33
+ }
34
+
35
+ if (${R}.value === undefined) {
36
+ if (${H} in input) {
37
+ newResult[${H}] = undefined;
38
+ }
39
+ } else {
40
+ newResult[${H}] = ${R}.value;
41
+ }
42
+
43
+ `)}h.write("payload.value = newResult;"),h.write("return payload;");const F=h.compile();return(E,R)=>F(p,E,R)};let o;const s=Ft,a=!La.jitless,u=a&&jf.value,c=t.catchall;let m;e._zod.parse=(p,h)=>{m??(m=r.value);const S=p.value;return s(S)?a&&u&&h?.async===!1&&h.jitless!==!0?(o||(o=n(t.shape)),p=o(p,h),c?rl([],S,p,h,m,e):p):i(p,h):(p.issues.push({expected:"object",code:"invalid_type",input:S,inst:e}),p)}});function ta(e,t,i,r){for(const o of e)if(o.issues.length===0)return t.value=o.value,t;const n=e.filter(o=>!yt(o));return n.length===1?(t.value=n[0].value,n[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:i,errors:e.map(o=>o.issues.map(s=>Ge(s,r,Ke())))}),t)}const ol=g("$ZodUnion",(e,t)=>{Y.init(e,t),q(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),q(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),q(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),q(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){const n=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${n.map(o=>xr(o.source)).join("|")})$`)}});const i=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(n,o)=>{if(i)return r(n,o);let s=!1;const a=[];for(const l of t.options){const u=l._zod.run({value:n.value,issues:[]},o);if(u instanceof Promise)a.push(u),s=!0;else{if(u.issues.length===0)return u;a.push(u)}}return s?Promise.all(a).then(l=>ta(l,n,e,o)):ta(a,n,e,o)}}),xv=g("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,ol.init(e,t);const i=e._zod.parse;q(e._zod,"propValues",()=>{const n={};for(const o of t.options){const s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const[a,l]of Object.entries(s)){n[a]||(n[a]=new Set);for(const u of l)n[a].add(u)}}return n});const r=ni(()=>{const n=t.options,o=new Map;for(const s of n){const a=s._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(const l of a){if(o.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);o.set(l,s)}}return o});e._zod.parse=(n,o)=>{const s=n.value;if(!Ft(s))return n.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),n;const a=r.value.get(s?.[t.discriminator]);return a?a._zod.run(n,o):t.unionFallback?i(n,o):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),n)}}),wv=g("$ZodIntersection",(e,t)=>{Y.init(e,t),e._zod.parse=(i,r)=>{const n=i.value,o=t.left._zod.run({value:n,issues:[]},r),s=t.right._zod.run({value:n,issues:[]},r);return o instanceof Promise||s instanceof Promise?Promise.all([o,s]).then(([l,u])=>na(i,l,u)):na(i,o,s)}});function dr(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(kt(e)&&kt(t)){const i=Object.keys(t),r=Object.keys(e).filter(o=>i.indexOf(o)!==-1),n={...e,...t};for(const o of r){const s=dr(e[o],t[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};n[o]=s.data}return{valid:!0,data:n}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const i=[];for(let r=0;r<e.length;r++){const n=e[r],o=t[r],s=dr(n,o);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};i.push(s.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}function na(e,t,i){const r=new Map;let n;for(const a of t.issues)if(a.code==="unrecognized_keys"){n??(n=a);for(const l of a.keys)r.has(l)||r.set(l,{}),r.get(l).l=!0}else e.issues.push(a);for(const a of i.issues)if(a.code==="unrecognized_keys")for(const l of a.keys)r.has(l)||r.set(l,{}),r.get(l).r=!0;else e.issues.push(a);const o=[...r].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(o.length&&n&&e.issues.push({...n,keys:o}),yt(e))return e;const s=dr(t.value,i.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}const Sv=g("$ZodRecord",(e,t)=>{Y.init(e,t),e._zod.parse=(i,r)=>{const n=i.value;if(!kt(n))return i.issues.push({expected:"record",code:"invalid_type",input:n,inst:e}),i;const o=[],s=t.keyType._zod.values;if(s){i.value={};const a=new Set;for(const u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){a.add(typeof u=="number"?u.toString():u);const c=t.valueType._zod.run({value:n[u],issues:[]},r);c instanceof Promise?o.push(c.then(m=>{m.issues.length&&i.issues.push(..._t(u,m.issues)),i.value[u]=m.value})):(c.issues.length&&i.issues.push(..._t(u,c.issues)),i.value[u]=c.value)}let l;for(const u in n)a.has(u)||(l=l??[],l.push(u));l&&l.length>0&&i.issues.push({code:"unrecognized_keys",input:n,inst:e,keys:l})}else{i.value={};for(const a of Reflect.ownKeys(n)){if(a==="__proto__")continue;let l=t.keyType._zod.run({value:a,issues:[]},r);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&Xa.test(a)&&l.issues.length){const m=t.keyType._zod.run({value:Number(a),issues:[]},r);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");m.issues.length===0&&(l=m)}if(l.issues.length){t.mode==="loose"?i.value[a]=n[a]:i.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(m=>Ge(m,r,Ke())),input:a,path:[a],inst:e});continue}const c=t.valueType._zod.run({value:n[a],issues:[]},r);c instanceof Promise?o.push(c.then(m=>{m.issues.length&&i.issues.push(..._t(a,m.issues)),i.value[l.value]=m.value})):(c.issues.length&&i.issues.push(..._t(a,c.issues)),i.value[l.value]=c.value)}}return o.length?Promise.all(o).then(()=>i):i}}),Iv=g("$ZodEnum",(e,t)=>{Y.init(e,t);const i=Fa(t.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(n=>Af.has(typeof n)).map(n=>typeof n=="string"?xt(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{const s=n.value;return r.has(s)||n.issues.push({code:"invalid_value",values:i,input:s,inst:e}),n}}),Dv=g("$ZodLiteral",(e,t)=>{if(Y.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const i=new Set(t.values);e._zod.values=i,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?xt(r):r?xt(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,n)=>{const o=r.value;return i.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}}),zv=g("$ZodTransform",(e,t)=>{Y.init(e,t),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Ra(e.constructor.name);const n=t.transform(i.value,i);if(r.async)return(n instanceof Promise?n:Promise.resolve(n)).then(s=>(i.value=s,i));if(n instanceof Promise)throw new $t;return i.value=n,i}});function ia(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const sl=g("$ZodOptional",(e,t)=>{Y.init(e,t),e._zod.optin="optional",e._zod.optout="optional",q(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),q(e._zod,"pattern",()=>{const i=t.innerType._zod.pattern;return i?new RegExp(`^(${xr(i.source)})?$`):void 0}),e._zod.parse=(i,r)=>{if(t.innerType._zod.optin==="optional"){const n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(o=>ia(o,i.value)):ia(n,i.value)}return i.value===void 0?i:t.innerType._zod.run(i,r)}}),Tv=g("$ZodExactOptional",(e,t)=>{sl.init(e,t),q(e._zod,"values",()=>t.innerType._zod.values),q(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(i,r)=>t.innerType._zod.run(i,r)}),Ov=g("$ZodNullable",(e,t)=>{Y.init(e,t),q(e._zod,"optin",()=>t.innerType._zod.optin),q(e._zod,"optout",()=>t.innerType._zod.optout),q(e._zod,"pattern",()=>{const i=t.innerType._zod.pattern;return i?new RegExp(`^(${xr(i.source)}|null)$`):void 0}),q(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(i,r)=>i.value===null?i:t.innerType._zod.run(i,r)}),Pv=g("$ZodDefault",(e,t)=>{Y.init(e,t),e._zod.optin="optional",q(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return t.innerType._zod.run(i,r);if(i.value===void 0)return i.value=t.defaultValue,i;const n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(o=>ra(o,t)):ra(n,t)}});function ra(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Nv=g("$ZodPrefault",(e,t)=>{Y.init(e,t),e._zod.optin="optional",q(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(i,r)=>(r.direction==="backward"||i.value===void 0&&(i.value=t.defaultValue),t.innerType._zod.run(i,r))}),Ev=g("$ZodNonOptional",(e,t)=>{Y.init(e,t),q(e._zod,"values",()=>{const i=t.innerType._zod.values;return i?new Set([...i].filter(r=>r!==void 0)):void 0}),e._zod.parse=(i,r)=>{const n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(o=>oa(o,e)):oa(n,e)}});function oa(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Zv=g("$ZodCatch",(e,t)=>{Y.init(e,t),q(e._zod,"optin",()=>t.innerType._zod.optin),q(e._zod,"optout",()=>t.innerType._zod.optout),q(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return t.innerType._zod.run(i,r);const n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(o=>(i.value=o.value,o.issues.length&&(i.value=t.catchValue({...i,error:{issues:o.issues.map(s=>Ge(s,r,Ke()))},input:i.value}),i.issues=[]),i)):(i.value=n.value,n.issues.length&&(i.value=t.catchValue({...i,error:{issues:n.issues.map(o=>Ge(o,r,Ke()))},input:i.value}),i.issues=[]),i)}}),Uv=g("$ZodPipe",(e,t)=>{Y.init(e,t),q(e._zod,"values",()=>t.in._zod.values),q(e._zod,"optin",()=>t.in._zod.optin),q(e._zod,"optout",()=>t.out._zod.optout),q(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(i,r)=>{if(r.direction==="backward"){const o=t.out._zod.run(i,r);return o instanceof Promise?o.then(s=>Tn(s,t.in,r)):Tn(o,t.in,r)}const n=t.in._zod.run(i,r);return n instanceof Promise?n.then(o=>Tn(o,t.out,r)):Tn(n,t.out,r)}});function Tn(e,t,i){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},i)}const jv=g("$ZodReadonly",(e,t)=>{Y.init(e,t),q(e._zod,"propValues",()=>t.innerType._zod.propValues),q(e._zod,"values",()=>t.innerType._zod.values),q(e._zod,"optin",()=>t.innerType?._zod?.optin),q(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(i,r)=>{if(r.direction==="backward")return t.innerType._zod.run(i,r);const n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(sa):sa(n)}});function sa(e){return e.value=Object.freeze(e.value),e}const Av=g("$ZodCustom",(e,t)=>{ke.init(e,t),Y.init(e,t),e._zod.parse=(i,r)=>i,e._zod.check=i=>{const r=i.value,n=t.fn(r);if(n instanceof Promise)return n.then(o=>aa(o,i,r,e));aa(n,i,r,e)}});function aa(e,t,i,r){if(!e){const n={code:"custom",input:i,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(n.params=r._zod.def.params),t.issues.push(Mt(n))}}var la;class Cv{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...i){const r=i[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 i=this._map.get(t);return i&&typeof i=="object"&&"id"in i&&this._idmap.delete(i.id),this._map.delete(t),this}get(t){const i=t._zod.parent;if(i){const r={...this.get(i)??{}};delete r.id;const n={...r,...this._map.get(t)};return Object.keys(n).length?n:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Rv(){return new Cv}(la=globalThis).__zod_globalRegistry??(la.__zod_globalRegistry=Rv());const Rt=globalThis.__zod_globalRegistry;function Lv(e,t){return new e({type:"string",...I(t)})}function Fv(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...I(t)})}function ua(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...I(t)})}function Mv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...I(t)})}function qv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...I(t)})}function Jv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...I(t)})}function Wv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...I(t)})}function Bv(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...I(t)})}function Hv(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...I(t)})}function Vv(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...I(t)})}function Kv(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...I(t)})}function Gv(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...I(t)})}function Xv(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...I(t)})}function Yv(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...I(t)})}function Qv(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...I(t)})}function eg(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...I(t)})}function tg(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...I(t)})}function ng(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...I(t)})}function ig(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...I(t)})}function rg(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...I(t)})}function og(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...I(t)})}function sg(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...I(t)})}function ag(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...I(t)})}function lg(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...I(t)})}function ug(e,t){return new e({type:"string",format:"date",check:"string_format",...I(t)})}function cg(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...I(t)})}function dg(e,t){return new e({type:"string",format:"duration",check:"string_format",...I(t)})}function mg(e,t){return new e({type:"number",checks:[],...I(t)})}function pg(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...I(t)})}function fg(e,t){return new e({type:"boolean",...I(t)})}function hg(e,t){return new e({type:"null",...I(t)})}function vg(e){return new e({type:"unknown"})}function gg(e,t){return new e({type:"never",...I(t)})}function ca(e,t){return new Qa({check:"less_than",...I(t),value:e,inclusive:!1})}function rr(e,t){return new Qa({check:"less_than",...I(t),value:e,inclusive:!0})}function da(e,t){return new el({check:"greater_than",...I(t),value:e,inclusive:!1})}function or(e,t){return new el({check:"greater_than",...I(t),value:e,inclusive:!0})}function ma(e,t){return new Oh({check:"multiple_of",...I(t),value:e})}function al(e,t){return new Nh({check:"max_length",...I(t),maximum:e})}function qn(e,t){return new Eh({check:"min_length",...I(t),minimum:e})}function ll(e,t){return new Zh({check:"length_equals",...I(t),length:e})}function bg(e,t){return new Uh({check:"string_format",format:"regex",...I(t),pattern:e})}function yg(e){return new jh({check:"string_format",format:"lowercase",...I(e)})}function _g(e){return new Ah({check:"string_format",format:"uppercase",...I(e)})}function $g(e,t){return new Ch({check:"string_format",format:"includes",...I(t),includes:e})}function kg(e,t){return new Rh({check:"string_format",format:"starts_with",...I(t),prefix:e})}function xg(e,t){return new Lh({check:"string_format",format:"ends_with",...I(t),suffix:e})}function Nt(e){return new Fh({check:"overwrite",tx:e})}function wg(e){return Nt(t=>t.normalize(e))}function Sg(){return Nt(e=>e.trim())}function Ig(){return Nt(e=>e.toLowerCase())}function Dg(){return Nt(e=>e.toUpperCase())}function zg(){return Nt(e=>Uf(e))}function Tg(e,t,i){return new e({type:"array",element:t,...I(i)})}function Og(e,t,i){const r=I(i);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function Pg(e,t,i){return new e({type:"custom",check:"custom",fn:t,...I(i)})}function Ng(e){const t=Eg(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(Mt(r,i.value,t._zod.def));else{const n=r;n.fatal&&(n.continue=!1),n.code??(n.code="custom"),n.input??(n.input=i.value),n.inst??(n.inst=t),n.continue??(n.continue=!t._zod.def.abort),i.issues.push(Mt(n))}},e(i.value,i)));return t}function Eg(e,t){const i=new ke({check:"custom",...I(t)});return i._zod.check=e,i}function ul(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??Rt,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function le(e,t,i={path:[],schemaPath:[]}){var r;const n=e._zod.def,o=t.seen.get(e);if(o)return o.count++,i.schemaPath.includes(e)&&(o.cycle=i.path),o.schema;const s={schema:{},count:1,cycle:void 0,path:i.path};t.seen.set(e,s);const a=e._zod.toJSONSchema?.();if(a)s.schema=a;else{const c={...i,schemaPath:[...i.schemaPath,e],path:i.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,c);else{const p=s.schema,h=t.processors[n.type];if(!h)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);h(e,t,p,c)}const m=e._zod.parent;m&&(s.ref||(s.ref=m),le(m,t,c),t.seen.get(m).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(s.schema,l),t.io==="input"&&ge(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&s.schema._prefault&&((r=s.schema).default??(r.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function cl(e,t){const i=e.seen.get(t);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const s of e.seen.entries()){const a=e.metadataRegistry.get(s[0])?.id;if(a){const l=r.get(a);if(l&&l!==s[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,s[0])}}const n=s=>{const a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const m=e.external.registry.get(s[0])?.id,p=e.external.uri??(S=>S);if(m)return{ref:p(m)};const h=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=h,{defId:h,ref:`${p("__shared")}#/${a}/${h}`}}if(s[1]===i)return{ref:"#"};const u=`#/${a}/`,c=s[1].schema.id??`__schema${e.counter++}`;return{defId:c,ref:u+c}},o=s=>{if(s[1].schema.$ref)return;const a=s[1],{ref:l,defId:u}=n(s);a.def={...a.schema},u&&(a.defId=u);const c=a.schema;for(const m in c)delete c[m];c.$ref=l};if(e.cycles==="throw")for(const s of e.seen.entries()){const a=s[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
44
+
45
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const s of e.seen.entries()){const a=s[1];if(t===s[0]){o(s);continue}if(e.external){const u=e.external.registry.get(s[0])?.id;if(t!==s[0]&&u){o(s);continue}}if(e.metadataRegistry.get(s[0])?.id){o(s);continue}if(a.cycle){o(s);continue}if(a.count>1&&e.reused==="ref"){o(s);continue}}}function dl(e,t){const i=e.seen.get(t);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=s=>{const a=e.seen.get(s);if(a.ref===null)return;const l=a.def??a.schema,u={...l},c=a.ref;if(a.ref=null,c){r(c);const p=e.seen.get(c),h=p.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(h)):Object.assign(l,h),Object.assign(l,u),s._zod.parent===c)for(const D in l)D==="$ref"||D==="allOf"||D in u||delete l[D];if(h.$ref&&p.def)for(const D in l)D==="$ref"||D==="allOf"||D in p.def&&JSON.stringify(l[D])===JSON.stringify(p.def[D])&&delete l[D]}const m=s._zod.parent;if(m&&m!==c){r(m);const p=e.seen.get(m);if(p?.schema.$ref&&(l.$ref=p.schema.$ref,p.def))for(const h in l)h==="$ref"||h==="allOf"||h in p.def&&JSON.stringify(l[h])===JSON.stringify(p.def[h])&&delete l[h]}e.override({zodSchema:s,jsonSchema:l,path:a.path??[]})};for(const s of[...e.seen.entries()].reverse())r(s[0]);const n={};if(e.target==="draft-2020-12"?n.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?n.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?n.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const s=e.external.registry.get(t)?.id;if(!s)throw new Error("Schema is missing an `id` property");n.$id=e.external.uri(s)}Object.assign(n,i.def??i.schema);const o=e.external?.defs??{};for(const s of e.seen.entries()){const a=s[1];a.def&&a.defId&&(o[a.defId]=a.def)}e.external||Object.keys(o).length>0&&(e.target==="draft-2020-12"?n.$defs=o:n.definitions=o);try{const s=JSON.parse(JSON.stringify(n));return Object.defineProperty(s,"~standard",{value:{...t["~standard"],jsonSchema:{input:Jn(t,"input",e.processors),output:Jn(t,"output",e.processors)}},enumerable:!1,writable:!1}),s}catch{throw new Error("Error converting schema to JSON.")}}function ge(e,t){const i=t??{seen:new Set};if(i.seen.has(e))return!1;i.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return ge(r.element,i);if(r.type==="set")return ge(r.valueType,i);if(r.type==="lazy")return ge(r.getter(),i);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return ge(r.innerType,i);if(r.type==="intersection")return ge(r.left,i)||ge(r.right,i);if(r.type==="record"||r.type==="map")return ge(r.keyType,i)||ge(r.valueType,i);if(r.type==="pipe")return ge(r.in,i)||ge(r.out,i);if(r.type==="object"){for(const n in r.shape)if(ge(r.shape[n],i))return!0;return!1}if(r.type==="union"){for(const n of r.options)if(ge(n,i))return!0;return!1}if(r.type==="tuple"){for(const n of r.items)if(ge(n,i))return!0;return!!(r.rest&&ge(r.rest,i))}return!1}const Zg=(e,t={})=>i=>{const r=ul({...i,processors:t});return le(e,r),cl(r,e),dl(r,e)},Jn=(e,t,i={})=>r=>{const{libraryOptions:n,target:o}=r??{},s=ul({...n??{},target:o,io:t,processors:i});return le(e,s),cl(s,e),dl(s,e)},Ug={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},jg=(e,t,i,r)=>{const n=i;n.type="string";const{minimum:o,maximum:s,format:a,patterns:l,contentEncoding:u}=e._zod.bag;if(typeof o=="number"&&(n.minLength=o),typeof s=="number"&&(n.maxLength=s),a&&(n.format=Ug[a]??a,n.format===""&&delete n.format,a==="time"&&delete n.format),u&&(n.contentEncoding=u),l&&l.size>0){const c=[...l];c.length===1?n.pattern=c[0].source:c.length>1&&(n.allOf=[...c.map(m=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:m.source}))])}},Ag=(e,t,i,r)=>{const n=i,{minimum:o,maximum:s,format:a,multipleOf:l,exclusiveMaximum:u,exclusiveMinimum:c}=e._zod.bag;typeof a=="string"&&a.includes("int")?n.type="integer":n.type="number",typeof c=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.minimum=c,n.exclusiveMinimum=!0):n.exclusiveMinimum=c),typeof o=="number"&&(n.minimum=o,typeof c=="number"&&t.target!=="draft-04"&&(c>=o?delete n.minimum:delete n.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.maximum=u,n.exclusiveMaximum=!0):n.exclusiveMaximum=u),typeof s=="number"&&(n.maximum=s,typeof u=="number"&&t.target!=="draft-04"&&(u<=s?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},Cg=(e,t,i,r)=>{i.type="boolean"},Rg=(e,t,i,r)=>{t.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},Lg=(e,t,i,r)=>{i.not={}},Fg=(e,t,i,r)=>{},Mg=(e,t,i,r)=>{const n=e._zod.def,o=Fa(n.entries);o.every(s=>typeof s=="number")&&(i.type="number"),o.every(s=>typeof s=="string")&&(i.type="string"),i.enum=o},qg=(e,t,i,r)=>{const n=e._zod.def,o=[];for(const s of n.values)if(s===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(s))}else o.push(s);if(o.length!==0)if(o.length===1){const s=o[0];i.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?i.enum=[s]:i.const=s}else o.every(s=>typeof s=="number")&&(i.type="number"),o.every(s=>typeof s=="string")&&(i.type="string"),o.every(s=>typeof s=="boolean")&&(i.type="boolean"),o.every(s=>s===null)&&(i.type="null"),i.enum=o},Jg=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Wg=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Bg=(e,t,i,r)=>{const n=i,o=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;typeof s=="number"&&(n.minItems=s),typeof a=="number"&&(n.maxItems=a),n.type="array",n.items=le(o.element,t,{...r,path:[...r.path,"items"]})},Hg=(e,t,i,r)=>{const n=i,o=e._zod.def;n.type="object",n.properties={};const s=o.shape;for(const u in s)n.properties[u]=le(s[u],t,{...r,path:[...r.path,"properties",u]});const a=new Set(Object.keys(s)),l=new Set([...a].filter(u=>{const c=o.shape[u]._zod;return t.io==="input"?c.optin===void 0:c.optout===void 0}));l.size>0&&(n.required=Array.from(l)),o.catchall?._zod.def.type==="never"?n.additionalProperties=!1:o.catchall?o.catchall&&(n.additionalProperties=le(o.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(n.additionalProperties=!1)},Vg=(e,t,i,r)=>{const n=e._zod.def,o=n.inclusive===!1,s=n.options.map((a,l)=>le(a,t,{...r,path:[...r.path,o?"oneOf":"anyOf",l]}));o?i.oneOf=s:i.anyOf=s},Kg=(e,t,i,r)=>{const n=e._zod.def,o=le(n.left,t,{...r,path:[...r.path,"allOf",0]}),s=le(n.right,t,{...r,path:[...r.path,"allOf",1]}),a=u=>"allOf"in u&&Object.keys(u).length===1,l=[...a(o)?o.allOf:[o],...a(s)?s.allOf:[s]];i.allOf=l},Gg=(e,t,i,r)=>{const n=i,o=e._zod.def;n.type="object";const s=o.keyType,l=s._zod.bag?.patterns;if(o.mode==="loose"&&l&&l.size>0){const c=le(o.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});n.patternProperties={};for(const m of l)n.patternProperties[m.source]=c}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(n.propertyNames=le(o.keyType,t,{...r,path:[...r.path,"propertyNames"]})),n.additionalProperties=le(o.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const u=s._zod.values;if(u){const c=[...u].filter(m=>typeof m=="string"||typeof m=="number");c.length>0&&(n.required=c)}},Xg=(e,t,i,r)=>{const n=e._zod.def,o=le(n.innerType,t,r),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=n.innerType,i.nullable=!0):i.anyOf=[o,{type:"null"}]},Yg=(e,t,i,r)=>{const n=e._zod.def;le(n.innerType,t,r);const o=t.seen.get(e);o.ref=n.innerType},Qg=(e,t,i,r)=>{const n=e._zod.def;le(n.innerType,t,r);const o=t.seen.get(e);o.ref=n.innerType,i.default=JSON.parse(JSON.stringify(n.defaultValue))},eb=(e,t,i,r)=>{const n=e._zod.def;le(n.innerType,t,r);const o=t.seen.get(e);o.ref=n.innerType,t.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},tb=(e,t,i,r)=>{const n=e._zod.def;le(n.innerType,t,r);const o=t.seen.get(e);o.ref=n.innerType;let s;try{s=n.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=s},nb=(e,t,i,r)=>{const n=e._zod.def,o=t.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;le(o,t,r);const s=t.seen.get(e);s.ref=o},ib=(e,t,i,r)=>{const n=e._zod.def;le(n.innerType,t,r);const o=t.seen.get(e);o.ref=n.innerType,i.readOnly=!0},ml=(e,t,i,r)=>{const n=e._zod.def;le(n.innerType,t,r);const o=t.seen.get(e);o.ref=n.innerType};function zr(e){return!!e._zod}function pl(e,t){return zr(e)?Ha(e,t):e.safeParse(t)}function rb(e){if(!e)return;let t;if(zr(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function ob(e){if(zr(e)){const o=e._zod?.def;if(o){if(o.value!==void 0)return o.value;if(Array.isArray(o.values)&&o.values.length>0)return o.values[0]}}const i=e._def;if(i){if(i.value!==void 0)return i.value;if(Array.isArray(i.values)&&i.values.length>0)return i.values[0]}const r=e.value;if(r!==void 0)return r}const sb=g("ZodISODateTime",(e,t)=>{tv.init(e,t),re.init(e,t)});function fl(e){return lg(sb,e)}const ab=g("ZodISODate",(e,t)=>{nv.init(e,t),re.init(e,t)});function lb(e){return ug(ab,e)}const ub=g("ZodISOTime",(e,t)=>{iv.init(e,t),re.init(e,t)});function cb(e){return cg(ub,e)}const db=g("ZodISODuration",(e,t)=>{rv.init(e,t),re.init(e,t)});function mb(e){return dg(db,e)}const pb=(e,t)=>{Wa.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>Vf(e,i)},flatten:{value:i=>Hf(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,cr,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,cr,2)}},isEmpty:{get(){return e.issues.length===0}}})},Ne=g("ZodError",pb,{Parent:Error}),fb=Sr(Ne),hb=Ir(Ne),vb=ii(Ne),gb=ri(Ne),bb=Gf(Ne),yb=Xf(Ne),_b=Yf(Ne),$b=Qf(Ne),kb=eh(Ne),xb=th(Ne),wb=nh(Ne),Sb=ih(Ne),ee=g("ZodType",(e,t)=>(Y.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Jn(e,"input"),output:Jn(e,"output")}}),e.toJSONSchema=Zg(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...i)=>e.clone(et(t,{checks:[...t.checks??[],...i.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(i,r)=>tt(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>fb(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>vb(e,i,r),e.parseAsync=async(i,r)=>hb(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>gb(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>bb(e,i,r),e.decode=(i,r)=>yb(e,i,r),e.encodeAsync=async(i,r)=>_b(e,i,r),e.decodeAsync=async(i,r)=>$b(e,i,r),e.safeEncode=(i,r)=>kb(e,i,r),e.safeDecode=(i,r)=>xb(e,i,r),e.safeEncodeAsync=async(i,r)=>wb(e,i,r),e.safeDecodeAsync=async(i,r)=>Sb(e,i,r),e.refine=(i,r)=>e.check(vy(i,r)),e.superRefine=i=>e.check(gy(i)),e.overwrite=i=>e.check(Nt(i)),e.optional=()=>se(e),e.exactOptional=()=>iy(e),e.nullable=()=>ha(e),e.nullish=()=>se(ha(e)),e.nonoptional=i=>uy(e,i),e.array=()=>L(e),e.or=i=>X([e,i]),e.and=i=>Tr(e,i),e.transform=i=>pr(e,$l(i)),e.default=i=>sy(e,i),e.prefault=i=>ly(e,i),e.catch=i=>dy(e,i),e.pipe=i=>pr(e,i),e.readonly=()=>fy(e),e.describe=i=>{const r=e.clone();return Rt.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return Rt.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return Rt.get(e);const r=e.clone();return Rt.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),hl=g("_ZodString",(e,t)=>{Dr.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(r,n,o)=>jg(e,r,n);const i=e._zod.bag;e.format=i.format??null,e.minLength=i.minimum??null,e.maxLength=i.maximum??null,e.regex=(...r)=>e.check(bg(...r)),e.includes=(...r)=>e.check($g(...r)),e.startsWith=(...r)=>e.check(kg(...r)),e.endsWith=(...r)=>e.check(xg(...r)),e.min=(...r)=>e.check(qn(...r)),e.max=(...r)=>e.check(al(...r)),e.length=(...r)=>e.check(ll(...r)),e.nonempty=(...r)=>e.check(qn(1,...r)),e.lowercase=r=>e.check(yg(r)),e.uppercase=r=>e.check(_g(r)),e.trim=()=>e.check(Sg()),e.normalize=(...r)=>e.check(wg(...r)),e.toLowerCase=()=>e.check(Ig()),e.toUpperCase=()=>e.check(Dg()),e.slugify=()=>e.check(zg())}),Ib=g("ZodString",(e,t)=>{Dr.init(e,t),hl.init(e,t),e.email=i=>e.check(Fv(Db,i)),e.url=i=>e.check(Bv(zb,i)),e.jwt=i=>e.check(ag(qb,i)),e.emoji=i=>e.check(Hv(Tb,i)),e.guid=i=>e.check(ua(pa,i)),e.uuid=i=>e.check(Mv(On,i)),e.uuidv4=i=>e.check(qv(On,i)),e.uuidv6=i=>e.check(Jv(On,i)),e.uuidv7=i=>e.check(Wv(On,i)),e.nanoid=i=>e.check(Vv(Ob,i)),e.guid=i=>e.check(ua(pa,i)),e.cuid=i=>e.check(Kv(Pb,i)),e.cuid2=i=>e.check(Gv(Nb,i)),e.ulid=i=>e.check(Xv(Eb,i)),e.base64=i=>e.check(rg(Lb,i)),e.base64url=i=>e.check(og(Fb,i)),e.xid=i=>e.check(Yv(Zb,i)),e.ksuid=i=>e.check(Qv(Ub,i)),e.ipv4=i=>e.check(eg(jb,i)),e.ipv6=i=>e.check(tg(Ab,i)),e.cidrv4=i=>e.check(ng(Cb,i)),e.cidrv6=i=>e.check(ig(Rb,i)),e.e164=i=>e.check(sg(Mb,i)),e.datetime=i=>e.check(fl(i)),e.date=i=>e.check(lb(i)),e.time=i=>e.check(cb(i)),e.duration=i=>e.check(mb(i))});function v(e){return Lv(Ib,e)}const re=g("ZodStringFormat",(e,t)=>{Q.init(e,t),hl.init(e,t)}),Db=g("ZodEmail",(e,t)=>{Bh.init(e,t),re.init(e,t)}),pa=g("ZodGUID",(e,t)=>{Jh.init(e,t),re.init(e,t)}),On=g("ZodUUID",(e,t)=>{Wh.init(e,t),re.init(e,t)}),zb=g("ZodURL",(e,t)=>{Hh.init(e,t),re.init(e,t)}),Tb=g("ZodEmoji",(e,t)=>{Vh.init(e,t),re.init(e,t)}),Ob=g("ZodNanoID",(e,t)=>{Kh.init(e,t),re.init(e,t)}),Pb=g("ZodCUID",(e,t)=>{Gh.init(e,t),re.init(e,t)}),Nb=g("ZodCUID2",(e,t)=>{Xh.init(e,t),re.init(e,t)}),Eb=g("ZodULID",(e,t)=>{Yh.init(e,t),re.init(e,t)}),Zb=g("ZodXID",(e,t)=>{Qh.init(e,t),re.init(e,t)}),Ub=g("ZodKSUID",(e,t)=>{ev.init(e,t),re.init(e,t)}),jb=g("ZodIPv4",(e,t)=>{ov.init(e,t),re.init(e,t)}),Ab=g("ZodIPv6",(e,t)=>{sv.init(e,t),re.init(e,t)}),Cb=g("ZodCIDRv4",(e,t)=>{av.init(e,t),re.init(e,t)}),Rb=g("ZodCIDRv6",(e,t)=>{lv.init(e,t),re.init(e,t)}),Lb=g("ZodBase64",(e,t)=>{uv.init(e,t),re.init(e,t)}),Fb=g("ZodBase64URL",(e,t)=>{dv.init(e,t),re.init(e,t)}),Mb=g("ZodE164",(e,t)=>{mv.init(e,t),re.init(e,t)}),qb=g("ZodJWT",(e,t)=>{fv.init(e,t),re.init(e,t)}),vl=g("ZodNumber",(e,t)=>{nl.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ag(e,r,n),e.gt=(r,n)=>e.check(da(r,n)),e.gte=(r,n)=>e.check(or(r,n)),e.min=(r,n)=>e.check(or(r,n)),e.lt=(r,n)=>e.check(ca(r,n)),e.lte=(r,n)=>e.check(rr(r,n)),e.max=(r,n)=>e.check(rr(r,n)),e.int=r=>e.check(fa(r)),e.safe=r=>e.check(fa(r)),e.positive=r=>e.check(da(0,r)),e.nonnegative=r=>e.check(or(0,r)),e.negative=r=>e.check(ca(0,r)),e.nonpositive=r=>e.check(rr(0,r)),e.multipleOf=(r,n)=>e.check(ma(r,n)),e.step=(r,n)=>e.check(ma(r,n)),e.finite=()=>e;const i=e._zod.bag;e.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),e.isFinite=!0,e.format=i.format??null});function W(e){return mg(vl,e)}const Jb=g("ZodNumberFormat",(e,t)=>{hv.init(e,t),vl.init(e,t)});function fa(e){return pg(Jb,e)}const Wb=g("ZodBoolean",(e,t)=>{vv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Cg(e,i,r)});function de(e){return fg(Wb,e)}const Bb=g("ZodNull",(e,t)=>{gv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Rg(e,i,r)});function gl(e){return hg(Bb,e)}const Hb=g("ZodUnknown",(e,t)=>{bv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Fg()});function ne(){return vg(Hb)}const Vb=g("ZodNever",(e,t)=>{yv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Lg(e,i,r)});function Kb(e){return gg(Vb,e)}const Gb=g("ZodArray",(e,t)=>{_v.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Bg(e,i,r,n),e.element=t.element,e.min=(i,r)=>e.check(qn(i,r)),e.nonempty=i=>e.check(qn(1,i)),e.max=(i,r)=>e.check(al(i,r)),e.length=(i,r)=>e.check(ll(i,r)),e.unwrap=()=>e.element});function L(e,t){return Tg(Gb,e,t)}const bl=g("ZodObject",(e,t)=>{kv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Hg(e,i,r,n),q(e,"shape",()=>t.shape),e.keyof=()=>we(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ne()}),e.loose=()=>e.clone({...e._zod.def,catchall:ne()}),e.strict=()=>e.clone({...e._zod.def,catchall:Kb()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>Mf(e,i),e.safeExtend=i=>qf(e,i),e.merge=i=>Jf(e,i),e.pick=i=>Lf(e,i),e.omit=i=>Ff(e,i),e.partial=(...i)=>Wf(kl,e,i[0]),e.required=(...i)=>Bf(xl,e,i[0])});function w(e,t){const i={type:"object",shape:e??{},...I(t)};return new bl(i)}function $e(e,t){return new bl({type:"object",shape:e,catchall:ne(),...I(t)})}const yl=g("ZodUnion",(e,t)=>{ol.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Vg(e,i,r,n),e.options=t.options});function X(e,t){return new yl({type:"union",options:e,...I(t)})}const Xb=g("ZodDiscriminatedUnion",(e,t)=>{yl.init(e,t),xv.init(e,t)});function _l(e,t,i){return new Xb({type:"union",options:t,discriminator:e,...I(i)})}const Yb=g("ZodIntersection",(e,t)=>{wv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Kg(e,i,r,n)});function Tr(e,t){return new Yb({type:"intersection",left:e,right:t})}const Qb=g("ZodRecord",(e,t)=>{Sv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Gg(e,i,r,n),e.keyType=t.keyType,e.valueType=t.valueType});function ie(e,t,i){return new Qb({type:"record",keyType:e,valueType:t,...I(i)})}const mr=g("ZodEnum",(e,t)=>{Iv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Mg(e,r,n),e.enum=t.entries,e.options=Object.values(t.entries);const i=new Set(Object.keys(t.entries));e.extract=(r,n)=>{const o={};for(const s of r)if(i.has(s))o[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new mr({...t,checks:[],...I(n),entries:o})},e.exclude=(r,n)=>{const o={...t.entries};for(const s of r)if(i.has(s))delete o[s];else throw new Error(`Key ${s} not found in enum`);return new mr({...t,checks:[],...I(n),entries:o})}});function we(e,t){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new mr({type:"enum",entries:i,...I(t)})}const ey=g("ZodLiteral",(e,t)=>{Dv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>qg(e,i,r),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 z(e,t){return new ey({type:"literal",values:Array.isArray(e)?e:[e],...I(t)})}const ty=g("ZodTransform",(e,t)=>{zv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Wg(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Ra(e.constructor.name);i.addIssue=o=>{if(typeof o=="string")i.issues.push(Mt(o,i.value,t));else{const s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=i.value),s.inst??(s.inst=e),i.issues.push(Mt(s))}};const n=t.transform(i.value,i);return n instanceof Promise?n.then(o=>(i.value=o,i)):(i.value=n,i)}});function $l(e){return new ty({type:"transform",transform:e})}const kl=g("ZodOptional",(e,t)=>{sl.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>ml(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function se(e){return new kl({type:"optional",innerType:e})}const ny=g("ZodExactOptional",(e,t)=>{Tv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>ml(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function iy(e){return new ny({type:"optional",innerType:e})}const ry=g("ZodNullable",(e,t)=>{Ov.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Xg(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function ha(e){return new ry({type:"nullable",innerType:e})}const oy=g("ZodDefault",(e,t)=>{Pv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Qg(e,i,r,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function sy(e,t){return new oy({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():qa(t)}})}const ay=g("ZodPrefault",(e,t)=>{Nv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>eb(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function ly(e,t){return new ay({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():qa(t)}})}const xl=g("ZodNonOptional",(e,t)=>{Ev.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Yg(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function uy(e,t){return new xl({type:"nonoptional",innerType:e,...I(t)})}const cy=g("ZodCatch",(e,t)=>{Zv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>tb(e,i,r,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function dy(e,t){return new cy({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const my=g("ZodPipe",(e,t)=>{Uv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>nb(e,i,r,n),e.in=t.in,e.out=t.out});function pr(e,t){return new my({type:"pipe",in:e,out:t})}const py=g("ZodReadonly",(e,t)=>{jv.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>ib(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function fy(e){return new py({type:"readonly",innerType:e})}const wl=g("ZodCustom",(e,t)=>{Av.init(e,t),ee.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Jg(e,i)});function hy(e,t){return Og(wl,e??(()=>!0),t)}function vy(e,t={}){return Pg(wl,e,t)}function gy(e){return Ng(e)}function Sl(e,t){return pr($l(e),t)}const rt="io.modelcontextprotocol/related-task",si="2.0",me=hy(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Il=X([v(),W().int()]),Dl=v();$e({ttl:X([W(),gl()]).optional(),pollInterval:W().optional()});const by=w({ttl:W().optional()}),yy=w({taskId:v()}),Or=$e({progressToken:Il.optional(),[rt]:yy.optional()}),Se=w({_meta:Or.optional()}),Gt=Se.extend({task:by.optional()}),_y=e=>Gt.safeParse(e).success,pe=w({method:v(),params:Se.loose().optional()}),Ee=w({_meta:Or.optional()}),Ze=w({method:v(),params:Ee.loose().optional()}),fe=$e({_meta:Or.optional()}),Xt=X([v(),W().int()]),zl=w({jsonrpc:z(si),id:Xt,...pe.shape}).strict(),va=e=>zl.safeParse(e).success,Tl=w({jsonrpc:z(si),...Ze.shape}).strict(),$y=e=>Tl.safeParse(e).success,Pr=w({jsonrpc:z(si),id:Xt,result:fe}).strict(),Pn=e=>Pr.safeParse(e).success;var J;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(J||(J={}));const Nr=w({jsonrpc:z(si),id:Xt.optional(),error:w({code:W().int(),message:v(),data:ne().optional()})}).strict(),ky=e=>Nr.safeParse(e).success,xy=X([zl,Tl,Pr,Nr]);X([Pr,Nr]);const Er=fe.strict(),wy=Ee.extend({requestId:Xt.optional(),reason:v().optional()}),Zr=Ze.extend({method:z("notifications/cancelled"),params:wy}),Sy=w({src:v(),mimeType:v().optional(),sizes:L(v()).optional(),theme:we(["light","dark"]).optional()}),Yt=w({icons:L(Sy).optional()}),wt=w({name:v(),title:v().optional()}),ai=wt.extend({...wt.shape,...Yt.shape,version:v(),websiteUrl:v().optional(),description:v().optional()}),Iy=Tr(w({applyDefaults:de().optional()}),ie(v(),ne())),Dy=Sl(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Tr(w({form:Iy.optional(),url:me.optional()}),ie(v(),ne()).optional())),zy=$e({list:me.optional(),cancel:me.optional(),requests:$e({sampling:$e({createMessage:me.optional()}).optional(),elicitation:$e({create:me.optional()}).optional()}).optional()}),Ty=$e({list:me.optional(),cancel:me.optional(),requests:$e({tools:$e({call:me.optional()}).optional()}).optional()}),Oy=w({experimental:ie(v(),me).optional(),sampling:w({context:me.optional(),tools:me.optional()}).optional(),elicitation:Dy.optional(),roots:w({listChanged:de().optional()}).optional(),tasks:zy.optional()}),Py=Se.extend({protocolVersion:v(),capabilities:Oy,clientInfo:ai}),Ny=pe.extend({method:z("initialize"),params:Py}),Ey=w({experimental:ie(v(),me).optional(),logging:me.optional(),completions:me.optional(),prompts:w({listChanged:de().optional()}).optional(),resources:w({subscribe:de().optional(),listChanged:de().optional()}).optional(),tools:w({listChanged:de().optional()}).optional(),tasks:Ty.optional()}),Zy=fe.extend({protocolVersion:v(),capabilities:Ey,serverInfo:ai,instructions:v().optional()}),Uy=Ze.extend({method:z("notifications/initialized"),params:Ee.optional()}),li=pe.extend({method:z("ping"),params:Se.optional()}),jy=w({progress:W(),total:se(W()),message:se(v())}),Ay=w({...Ee.shape,...jy.shape,progressToken:Il}),Ur=Ze.extend({method:z("notifications/progress"),params:Ay}),Cy=Se.extend({cursor:Dl.optional()}),Qt=pe.extend({params:Cy.optional()}),en=fe.extend({nextCursor:Dl.optional()}),Ry=we(["working","input_required","completed","failed","cancelled"]),tn=w({taskId:v(),status:Ry,ttl:X([W(),gl()]),createdAt:v(),lastUpdatedAt:v(),pollInterval:se(W()),statusMessage:se(v())}),jr=fe.extend({task:tn}),Ly=Ee.merge(tn),Wn=Ze.extend({method:z("notifications/tasks/status"),params:Ly}),Ar=pe.extend({method:z("tasks/get"),params:Se.extend({taskId:v()})}),Cr=fe.merge(tn),Rr=pe.extend({method:z("tasks/result"),params:Se.extend({taskId:v()})});fe.loose();const Lr=Qt.extend({method:z("tasks/list")}),Fr=en.extend({tasks:L(tn)}),Mr=pe.extend({method:z("tasks/cancel"),params:Se.extend({taskId:v()})}),Fy=fe.merge(tn),Ol=w({uri:v(),mimeType:se(v()),_meta:ie(v(),ne()).optional()}),Pl=Ol.extend({text:v()}),qr=v().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Nl=Ol.extend({blob:qr}),nn=we(["user","assistant"]),Et=w({audience:L(nn).optional(),priority:W().min(0).max(1).optional(),lastModified:fl({offset:!0}).optional()}),El=w({...wt.shape,...Yt.shape,uri:v(),description:se(v()),mimeType:se(v()),annotations:Et.optional(),_meta:se($e({}))}),My=w({...wt.shape,...Yt.shape,uriTemplate:v(),description:se(v()),mimeType:se(v()),annotations:Et.optional(),_meta:se($e({}))}),qy=Qt.extend({method:z("resources/list")}),Jy=en.extend({resources:L(El)}),Wy=Qt.extend({method:z("resources/templates/list")}),By=en.extend({resourceTemplates:L(My)}),Jr=Se.extend({uri:v()}),Hy=Jr,Vy=pe.extend({method:z("resources/read"),params:Hy}),Ky=fe.extend({contents:L(X([Pl,Nl]))}),Gy=Ze.extend({method:z("notifications/resources/list_changed"),params:Ee.optional()}),Xy=Jr,Yy=pe.extend({method:z("resources/subscribe"),params:Xy}),Qy=Jr,e_=pe.extend({method:z("resources/unsubscribe"),params:Qy}),t_=Ee.extend({uri:v()}),n_=Ze.extend({method:z("notifications/resources/updated"),params:t_}),i_=w({name:v(),description:se(v()),required:se(de())}),r_=w({...wt.shape,...Yt.shape,description:se(v()),arguments:se(L(i_)),_meta:se($e({}))}),o_=Qt.extend({method:z("prompts/list")}),s_=en.extend({prompts:L(r_)}),a_=Se.extend({name:v(),arguments:ie(v(),v()).optional()}),l_=pe.extend({method:z("prompts/get"),params:a_}),Wr=w({type:z("text"),text:v(),annotations:Et.optional(),_meta:ie(v(),ne()).optional()}),Br=w({type:z("image"),data:qr,mimeType:v(),annotations:Et.optional(),_meta:ie(v(),ne()).optional()}),Hr=w({type:z("audio"),data:qr,mimeType:v(),annotations:Et.optional(),_meta:ie(v(),ne()).optional()}),u_=w({type:z("tool_use"),name:v(),id:v(),input:ie(v(),ne()),_meta:ie(v(),ne()).optional()}),c_=w({type:z("resource"),resource:X([Pl,Nl]),annotations:Et.optional(),_meta:ie(v(),ne()).optional()}),d_=El.extend({type:z("resource_link")}),rn=X([Wr,Br,Hr,d_,c_]),m_=w({role:nn,content:rn}),p_=fe.extend({description:v().optional(),messages:L(m_)}),f_=Ze.extend({method:z("notifications/prompts/list_changed"),params:Ee.optional()}),h_=w({title:v().optional(),readOnlyHint:de().optional(),destructiveHint:de().optional(),idempotentHint:de().optional(),openWorldHint:de().optional()}),v_=w({taskSupport:we(["required","optional","forbidden"]).optional()}),Vr=w({...wt.shape,...Yt.shape,description:v().optional(),inputSchema:w({type:z("object"),properties:ie(v(),me).optional(),required:L(v()).optional()}).catchall(ne()),outputSchema:w({type:z("object"),properties:ie(v(),me).optional(),required:L(v()).optional()}).catchall(ne()).optional(),annotations:h_.optional(),execution:v_.optional(),_meta:ie(v(),ne()).optional()}),Zl=Qt.extend({method:z("tools/list")}),g_=en.extend({tools:L(Vr)}),ui=fe.extend({content:L(rn).default([]),structuredContent:ie(v(),ne()).optional(),isError:de().optional()});ui.or(fe.extend({toolResult:ne()}));const b_=Gt.extend({name:v(),arguments:ie(v(),ne()).optional()}),Ul=pe.extend({method:z("tools/call"),params:b_}),y_=Ze.extend({method:z("notifications/tools/list_changed"),params:Ee.optional()});w({autoRefresh:de().default(!0),debounceMs:W().int().nonnegative().default(300)});const jl=we(["debug","info","notice","warning","error","critical","alert","emergency"]),__=Se.extend({level:jl}),$_=pe.extend({method:z("logging/setLevel"),params:__}),k_=Ee.extend({level:jl,logger:v().optional(),data:ne()}),x_=Ze.extend({method:z("notifications/message"),params:k_}),w_=w({name:v().optional()}),S_=w({hints:L(w_).optional(),costPriority:W().min(0).max(1).optional(),speedPriority:W().min(0).max(1).optional(),intelligencePriority:W().min(0).max(1).optional()}),I_=w({mode:we(["auto","required","none"]).optional()}),D_=w({type:z("tool_result"),toolUseId:v().describe("The unique identifier for the corresponding tool call."),content:L(rn).default([]),structuredContent:w({}).loose().optional(),isError:de().optional(),_meta:ie(v(),ne()).optional()}),z_=_l("type",[Wr,Br,Hr]),Bn=_l("type",[Wr,Br,Hr,u_,D_]),T_=w({role:nn,content:X([Bn,L(Bn)]),_meta:ie(v(),ne()).optional()}),O_=Gt.extend({messages:L(T_),modelPreferences:S_.optional(),systemPrompt:v().optional(),includeContext:we(["none","thisServer","allServers"]).optional(),temperature:W().optional(),maxTokens:W().int(),stopSequences:L(v()).optional(),metadata:me.optional(),tools:L(Vr).optional(),toolChoice:I_.optional()}),P_=pe.extend({method:z("sampling/createMessage"),params:O_}),N_=fe.extend({model:v(),stopReason:se(we(["endTurn","stopSequence","maxTokens"]).or(v())),role:nn,content:z_}),E_=fe.extend({model:v(),stopReason:se(we(["endTurn","stopSequence","maxTokens","toolUse"]).or(v())),role:nn,content:X([Bn,L(Bn)])}),Z_=w({type:z("boolean"),title:v().optional(),description:v().optional(),default:de().optional()}),U_=w({type:z("string"),title:v().optional(),description:v().optional(),minLength:W().optional(),maxLength:W().optional(),format:we(["email","uri","date","date-time"]).optional(),default:v().optional()}),j_=w({type:we(["number","integer"]),title:v().optional(),description:v().optional(),minimum:W().optional(),maximum:W().optional(),default:W().optional()}),A_=w({type:z("string"),title:v().optional(),description:v().optional(),enum:L(v()),default:v().optional()}),C_=w({type:z("string"),title:v().optional(),description:v().optional(),oneOf:L(w({const:v(),title:v()})),default:v().optional()}),R_=w({type:z("string"),title:v().optional(),description:v().optional(),enum:L(v()),enumNames:L(v()).optional(),default:v().optional()}),L_=X([A_,C_]),F_=w({type:z("array"),title:v().optional(),description:v().optional(),minItems:W().optional(),maxItems:W().optional(),items:w({type:z("string"),enum:L(v())}),default:L(v()).optional()}),M_=w({type:z("array"),title:v().optional(),description:v().optional(),minItems:W().optional(),maxItems:W().optional(),items:w({anyOf:L(w({const:v(),title:v()}))}),default:L(v()).optional()}),q_=X([F_,M_]),J_=X([R_,L_,q_]),W_=X([J_,Z_,U_,j_]),B_=Gt.extend({mode:z("form").optional(),message:v(),requestedSchema:w({type:z("object"),properties:ie(v(),W_),required:L(v()).optional()})}),H_=Gt.extend({mode:z("url"),message:v(),elicitationId:v(),url:v().url()}),V_=X([B_,H_]),K_=pe.extend({method:z("elicitation/create"),params:V_}),G_=Ee.extend({elicitationId:v()}),X_=Ze.extend({method:z("notifications/elicitation/complete"),params:G_}),Y_=fe.extend({action:we(["accept","decline","cancel"]),content:Sl(e=>e===null?void 0:e,ie(v(),X([v(),W(),de(),L(v())])).optional())}),Q_=w({type:z("ref/resource"),uri:v()}),e$=w({type:z("ref/prompt"),name:v()}),t$=Se.extend({ref:X([e$,Q_]),argument:w({name:v(),value:v()}),context:w({arguments:ie(v(),v()).optional()}).optional()}),n$=pe.extend({method:z("completion/complete"),params:t$}),i$=fe.extend({completion:$e({values:L(v()).max(100),total:se(W().int()),hasMore:se(de())})}),r$=w({uri:v().startsWith("file://"),name:v().optional(),_meta:ie(v(),ne()).optional()}),o$=pe.extend({method:z("roots/list"),params:Se.optional()}),s$=fe.extend({roots:L(r$)}),a$=Ze.extend({method:z("notifications/roots/list_changed"),params:Ee.optional()});X([li,Ny,n$,$_,l_,o_,qy,Wy,Vy,Yy,e_,Ul,Zl,Ar,Rr,Lr,Mr]);X([Zr,Ur,Uy,a$,Wn]);X([Er,N_,E_,Y_,s$,Cr,Fr,jr]);X([li,P_,K_,o$,Ar,Rr,Lr,Mr]);X([Zr,Ur,x_,n_,Gy,y_,f_,Wn,X_]);X([Er,Zy,i$,p_,s_,Jy,By,Ky,ui,g_,Cr,Fr,jr]);class M extends Error{constructor(t,i,r){super(`MCP error ${t}: ${i}`),this.code=t,this.data=r,this.name="McpError"}static fromError(t,i,r){if(t===J.UrlElicitationRequired&&r){const n=r;if(n.elicitations)return new l$(n.elicitations,i)}return new M(t,i,r)}}class l$ extends M{constructor(t,i=`URL elicitation${t.length>1?"s":""} required`){super(J.UrlElicitationRequired,i,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}}function it(e){return e==="completed"||e==="failed"||e==="cancelled"}new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ga(e){const i=rb(e)?.method;if(!i)throw new Error("Schema is missing a method literal");const r=ob(i);if(typeof r!="string")throw new Error("Schema method literal must be a string");return r}function ba(e,t){const i=pl(e,t);if(!i.success)throw i.error;return i.data}const u$=6e4;class c${constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Zr,i=>{this._oncancel(i)}),this.setNotificationHandler(Ur,i=>{this._onprogress(i)}),this.setRequestHandler(li,i=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Ar,async(i,r)=>{const n=await this._taskStore.getTask(i.params.taskId,r.sessionId);if(!n)throw new M(J.InvalidParams,"Failed to retrieve task: Task not found");return{...n}}),this.setRequestHandler(Rr,async(i,r)=>{const n=async()=>{const o=i.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(o,r.sessionId);){if(a.type==="response"||a.type==="error"){const l=a.message,u=l.id,c=this._requestResolvers.get(u);if(c)if(this._requestResolvers.delete(u),a.type==="response")c(l);else{const m=l,p=new M(m.error.code,m.error.message,m.error.data);c(p)}else{const m=a.type==="response"?"Response":"Error";this._onerror(new Error(`${m} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:r.requestId})}}const s=await this._taskStore.getTask(o,r.sessionId);if(!s)throw new M(J.InvalidParams,`Task not found: ${o}`);if(!it(s.status))return await this._waitForTaskUpdate(o,r.signal),await n();if(it(s.status)){const a=await this._taskStore.getTaskResult(o,r.sessionId);return this._clearTaskQueue(o),{...a,_meta:{...a._meta,[rt]:{taskId:o}}}}return await n()};return await n()}),this.setRequestHandler(Lr,async(i,r)=>{try{const{tasks:n,nextCursor:o}=await this._taskStore.listTasks(i.params?.cursor,r.sessionId);return{tasks:n,nextCursor:o,_meta:{}}}catch(n){throw new M(J.InvalidParams,`Failed to list tasks: ${n instanceof Error?n.message:String(n)}`)}}),this.setRequestHandler(Mr,async(i,r)=>{try{const n=await this._taskStore.getTask(i.params.taskId,r.sessionId);if(!n)throw new M(J.InvalidParams,`Task not found: ${i.params.taskId}`);if(it(n.status))throw new M(J.InvalidParams,`Cannot cancel task in terminal status: ${n.status}`);await this._taskStore.updateTaskStatus(i.params.taskId,"cancelled","Client cancelled task execution.",r.sessionId),this._clearTaskQueue(i.params.taskId);const o=await this._taskStore.getTask(i.params.taskId,r.sessionId);if(!o)throw new M(J.InvalidParams,`Task not found after cancellation: ${i.params.taskId}`);return{_meta:{},...o}}catch(n){throw n instanceof M?n:new M(J.InvalidRequest,`Failed to cancel task: ${n instanceof Error?n.message:String(n)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,i,r,n,o=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(n,i),startTime:Date.now(),timeout:i,maxTotalTimeout:r,resetTimeoutOnProgress:o,onTimeout:n})}_resetTimeout(t){const i=this._timeoutInfo.get(t);if(!i)return!1;const r=Date.now()-i.startTime;if(i.maxTotalTimeout&&r>=i.maxTotalTimeout)throw this._timeoutInfo.delete(t),M.fromError(J.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:i.maxTotalTimeout,totalElapsed:r});return clearTimeout(i.timeoutId),i.timeoutId=setTimeout(i.onTimeout,i.timeout),!0}_cleanupTimeout(t){const i=this._timeoutInfo.get(t);i&&(clearTimeout(i.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;const i=this.transport?.onclose;this._transport.onclose=()=>{i?.(),this._onclose()};const r=this.transport?.onerror;this._transport.onerror=o=>{r?.(o),this._onerror(o)};const n=this._transport?.onmessage;this._transport.onmessage=(o,s)=>{n?.(o,s),Pn(o)||ky(o)?this._onresponse(o):va(o)?this._onrequest(o,s):$y(o)?this._onnotification(o):this._onerror(new Error(`Unknown message type: ${JSON.stringify(o)}`))},await this._transport.start()}_onclose(){const t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const r of this._requestHandlerAbortControllers.values())r.abort();this._requestHandlerAbortControllers.clear();const i=M.fromError(J.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(const r of t.values())r(i)}_onerror(t){this.onerror?.(t)}_onnotification(t){const i=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;i!==void 0&&Promise.resolve().then(()=>i(t)).catch(r=>this._onerror(new Error(`Uncaught error in notification handler: ${r}`)))}_onrequest(t,i){const r=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,n=this._transport,o=t.params?._meta?.[rt]?.taskId;if(r===void 0){const c={jsonrpc:"2.0",id:t.id,error:{code:J.MethodNotFound,message:"Method not found"}};o&&this._taskMessageQueue?this._enqueueTaskMessage(o,{type:"error",message:c,timestamp:Date.now()},n?.sessionId).catch(m=>this._onerror(new Error(`Failed to enqueue error response: ${m}`))):n?.send(c).catch(m=>this._onerror(new Error(`Failed to send an error response: ${m}`)));return}const s=new AbortController;this._requestHandlerAbortControllers.set(t.id,s);const a=_y(t.params)?t.params.task:void 0,l=this._taskStore?this.requestTaskStore(t,n?.sessionId):void 0,u={signal:s.signal,sessionId:n?.sessionId,_meta:t.params?._meta,sendNotification:async c=>{if(s.signal.aborted)return;const m={relatedRequestId:t.id};o&&(m.relatedTask={taskId:o}),await this.notification(c,m)},sendRequest:async(c,m,p)=>{if(s.signal.aborted)throw new M(J.ConnectionClosed,"Request was cancelled");const h={...p,relatedRequestId:t.id};o&&!h.relatedTask&&(h.relatedTask={taskId:o});const S=h.relatedTask?.taskId??o;return S&&l&&await l.updateTaskStatus(S,"input_required"),await this.request(c,m,h)},authInfo:i?.authInfo,requestId:t.id,requestInfo:i?.requestInfo,taskId:o,taskStore:l,taskRequestedTtl:a?.ttl,closeSSEStream:i?.closeSSEStream,closeStandaloneSSEStream:i?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>r(t,u)).then(async c=>{if(s.signal.aborted)return;const m={result:c,jsonrpc:"2.0",id:t.id};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"response",message:m,timestamp:Date.now()},n?.sessionId):await n?.send(m)},async c=>{if(s.signal.aborted)return;const m={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(c.code)?c.code:J.InternalError,message:c.message??"Internal error",...c.data!==void 0&&{data:c.data}}};o&&this._taskMessageQueue?await this._enqueueTaskMessage(o,{type:"error",message:m,timestamp:Date.now()},n?.sessionId):await n?.send(m)}).catch(c=>this._onerror(new Error(`Failed to send response: ${c}`))).finally(()=>{this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){const{progressToken:i,...r}=t.params,n=Number(i),o=this._progressHandlers.get(n);if(!o){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}const s=this._responseHandlers.get(n),a=this._timeoutInfo.get(n);if(a&&s&&a.resetTimeoutOnProgress)try{this._resetTimeout(n)}catch(l){this._responseHandlers.delete(n),this._progressHandlers.delete(n),this._cleanupTimeout(n),s(l);return}o(r)}_onresponse(t){const i=Number(t.id),r=this._requestResolvers.get(i);if(r){if(this._requestResolvers.delete(i),Pn(t))r(t);else{const s=new M(t.error.code,t.error.message,t.error.data);r(s)}return}const n=this._responseHandlers.get(i);if(n===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(i),this._cleanupTimeout(i);let o=!1;if(Pn(t)&&t.result&&typeof t.result=="object"){const s=t.result;if(s.task&&typeof s.task=="object"){const a=s.task;typeof a.taskId=="string"&&(o=!0,this._taskProgressTokens.set(a.taskId,i))}}if(o||this._progressHandlers.delete(i),Pn(t))n(t);else{const s=M.fromError(t.error.code,t.error.message,t.error.data);n(s)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,i,r){const{task:n}=r??{};if(!n){try{yield{type:"result",result:await this.request(t,i,r)}}catch(s){yield{type:"error",error:s instanceof M?s:new M(J.InternalError,String(s))}}return}let o;try{const s=await this.request(t,jr,r);if(s.task)o=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new M(J.InternalError,"Task creation did not return a task");for(;;){const a=await this.getTask({taskId:o},r);if(yield{type:"taskStatus",task:a},it(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:o},i,r)}:a.status==="failed"?yield{type:"error",error:new M(J.InternalError,`Task ${o} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new M(J.InternalError,`Task ${o} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:o},i,r)};return}const l=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,l)),r?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof M?s:new M(J.InternalError,String(s))}}}request(t,i,r){const{relatedRequestId:n,resumptionToken:o,onresumptiontoken:s,task:a,relatedTask:l}=r??{};return new Promise((u,c)=>{const m=F=>{c(F)};if(!this._transport){m(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(F){m(F);return}r?.signal?.throwIfAborted();const p=this._requestMessageId++,h={...t,jsonrpc:"2.0",id:p};r?.onprogress&&(this._progressHandlers.set(p,r.onprogress),h.params={...t.params,_meta:{...t.params?._meta||{},progressToken:p}}),a&&(h.params={...h.params,task:a}),l&&(h.params={...h.params,_meta:{...h.params?._meta||{},[rt]:l}});const S=F=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(F)}},{relatedRequestId:n,resumptionToken:o,onresumptiontoken:s}).catch(R=>this._onerror(new Error(`Failed to send cancellation: ${R}`)));const E=F instanceof M?F:new M(J.RequestTimeout,String(F));c(E)};this._responseHandlers.set(p,F=>{if(!r?.signal?.aborted){if(F instanceof Error)return c(F);try{const E=pl(i,F.result);E.success?u(E.data):c(E.error)}catch(E){c(E)}}}),r?.signal?.addEventListener("abort",()=>{S(r?.signal?.reason)});const D=r?.timeout??u$,ze=()=>S(M.fromError(J.RequestTimeout,"Request timed out",{timeout:D}));this._setupTimeout(p,D,r?.maxTotalTimeout,ze,r?.resetTimeoutOnProgress??!1);const je=l?.taskId;if(je){const F=E=>{const R=this._responseHandlers.get(p);R?R(E):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,F),this._enqueueTaskMessage(je,{type:"request",message:h,timestamp:Date.now()}).catch(E=>{this._cleanupTimeout(p),c(E)})}else this._transport.send(h,{relatedRequestId:n,resumptionToken:o,onresumptiontoken:s}).catch(F=>{this._cleanupTimeout(p),c(F)})})}async getTask(t,i){return this.request({method:"tasks/get",params:t},Cr,i)}async getTaskResult(t,i,r){return this.request({method:"tasks/result",params:t},i,r)}async listTasks(t,i){return this.request({method:"tasks/list",params:t},Fr,i)}async cancelTask(t,i){return this.request({method:"tasks/cancel",params:t},Fy,i)}async notification(t,i){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);const r=i?.relatedTask?.taskId;if(r){const a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[rt]:i.relatedTask}}};await this._enqueueTaskMessage(r,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!i?.relatedRequestId&&!i?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};i?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[rt]:i.relatedTask}}}),this._transport?.send(a,i).catch(l=>this._onerror(l))});return}let s={...t,jsonrpc:"2.0"};i?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[rt]:i.relatedTask}}}),await this._transport.send(s,i)}setRequestHandler(t,i){const r=ga(t);this.assertRequestHandlerCapability(r),this._requestHandlers.set(r,(n,o)=>{const s=ba(t,n);return Promise.resolve(i(s,o))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,i){const r=ga(t);this._notificationHandlers.set(r,n=>{const o=ba(t,n);return Promise.resolve(i(o))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){const i=this._taskProgressTokens.get(t);i!==void 0&&(this._progressHandlers.delete(i),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,i,r){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const n=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,i,r,n)}async _clearTaskQueue(t,i){if(this._taskMessageQueue){const r=await this._taskMessageQueue.dequeueAll(t,i);for(const n of r)if(n.type==="request"&&va(n.message)){const o=n.message.id,s=this._requestResolvers.get(o);s?(s(new M(J.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(o)):this._onerror(new Error(`Resolver missing for request ${o} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,i){let r=this._options?.defaultTaskPollInterval??1e3;try{const n=await this._taskStore?.getTask(t);n?.pollInterval&&(r=n.pollInterval)}catch{}return new Promise((n,o)=>{if(i.aborted){o(new M(J.InvalidRequest,"Request cancelled"));return}const s=setTimeout(n,r);i.addEventListener("abort",()=>{clearTimeout(s),o(new M(J.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,i){const r=this._taskStore;if(!r)throw new Error("No task store configured");return{createTask:async n=>{if(!t)throw new Error("No request provided");return await r.createTask(n,t.id,{method:t.method,params:t.params},i)},getTask:async n=>{const o=await r.getTask(n,i);if(!o)throw new M(J.InvalidParams,"Failed to retrieve task: Task not found");return o},storeTaskResult:async(n,o,s)=>{await r.storeTaskResult(n,o,s,i);const a=await r.getTask(n,i);if(a){const l=Wn.parse({method:"notifications/tasks/status",params:a});await this.notification(l),it(a.status)&&this._cleanupTaskProgressHandler(n)}},getTaskResult:n=>r.getTaskResult(n,i),updateTaskStatus:async(n,o,s)=>{const a=await r.getTask(n,i);if(!a)throw new M(J.InvalidParams,`Task "${n}" not found - it may have been cleaned up`);if(it(a.status))throw new M(J.InvalidParams,`Cannot update task "${n}" from terminal status "${a.status}" to "${o}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await r.updateTaskStatus(n,o,s,i);const l=await r.getTask(n,i);if(l){const u=Wn.parse({method:"notifications/tasks/status",params:l});await this.notification(u),it(l.status)&&this._cleanupTaskProgressHandler(n)}},listTasks:n=>r.listTasks(n,i)}}}var d$=Object.defineProperty,Be=(e,t)=>{for(var i in t)d$(e,i,{get:t[i],enumerable:!0,configurable:!0,set:r=>t[i]=()=>r})};class m${eventTarget;eventSource;messageListener;constructor(t=window.parent,i){this.eventTarget=t,this.eventSource=i,this.messageListener=r=>{if(i&&r.source!==this.eventSource){console.debug("Ignoring message from unknown source",r);return}let n=xy.safeParse(r.data);n.success?(console.debug("Parsed message",n.data),this.onmessage?.(n.data)):(console.error("Failed to parse message",n.error.message,r),this.onerror?.(Error("Invalid JSON-RPC message received: "+n.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(t,i){console.debug("Sending message",t),this.eventTarget.postMessage(t,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}var p$="2026-01-26",d={};Be(d,{xor:()=>Qp,xid:()=>kp,void:()=>Hp,uuidv7:()=>fp,uuidv6:()=>pp,uuidv4:()=>mp,uuid:()=>dp,util:()=>C,url:()=>hp,uppercase:()=>bi,unknown:()=>ct,union:()=>Vi,undefined:()=>Wp,ulid:()=>$p,uint64:()=>qp,uint32:()=>Lp,tuple:()=>gs,trim:()=>wi,treeifyError:()=>Xl,transform:()=>Gi,toUpperCase:()=>Ii,toLowerCase:()=>Si,toJSONSchema:()=>qm,templateLiteral:()=>pf,symbol:()=>Jp,superRefine:()=>Js,success:()=>cf,stringbool:()=>_f,stringFormat:()=>Ep,string:()=>Qn,strictObject:()=>Xp,startsWith:()=>_i,slugify:()=>Di,size:()=>fn,setErrorMap:()=>Zw,set:()=>of,safeParseAsync:()=>ep,safeParse:()=>Qm,safeEncodeAsync:()=>ap,safeEncode:()=>op,safeDecodeAsync:()=>lp,safeDecode:()=>sp,registry:()=>$o,regexes:()=>pt,regex:()=>vi,refine:()=>qs,record:()=>bs,readonly:()=>As,property:()=>Bo,promise:()=>ff,prettifyError:()=>Ql,preprocess:()=>kf,prefault:()=>Os,positive:()=>Mo,pipe:()=>Ht,partialRecord:()=>tf,parseAsync:()=>Ym,parse:()=>Xm,overwrite:()=>Ve,optional:()=>Wt,object:()=>Gp,number:()=>ts,nullish:()=>uf,nullable:()=>Bt,null:()=>ss,normalize:()=>xi,nonpositive:()=>Jo,nonoptional:()=>Ps,nonnegative:()=>Wo,never:()=>Bi,negative:()=>qo,nativeEnum:()=>sf,nanoid:()=>bp,nan:()=>df,multipleOf:()=>Dt,minSize:()=>Qe,minLength:()=>ut,mime:()=>ki,meta:()=>bf,maxSize:()=>Zt,maxLength:()=>hn,map:()=>rf,mac:()=>Sp,lte:()=>Oe,lt:()=>Xe,lowercase:()=>gi,looseRecord:()=>nf,looseObject:()=>Yp,locales:()=>_o,literal:()=>af,length:()=>vn,lazy:()=>Ls,ksuid:()=>xp,keyof:()=>Kp,jwt:()=>Np,json:()=>$f,iso:()=>Ko,ipv6:()=>Ip,ipv4:()=>wp,intersection:()=>hs,int64:()=>Mp,int32:()=>Rp,int:()=>ei,instanceof:()=>yf,includes:()=>yi,httpUrl:()=>vp,hostname:()=>Zp,hex:()=>Up,hash:()=>jp,guid:()=>cp,gte:()=>_e,gt:()=>Ye,globalRegistry:()=>Te,getErrorMap:()=>Uw,function:()=>ti,fromJSONSchema:()=>Rw,formatError:()=>Qr,float64:()=>Cp,float32:()=>Ap,flattenError:()=>Yr,file:()=>lf,exactOptional:()=>Ss,enum:()=>Ki,endsWith:()=>$i,encodeAsync:()=>ip,encode:()=>tp,emoji:()=>gp,email:()=>up,e164:()=>Pp,discriminatedUnion:()=>ef,describe:()=>gf,decodeAsync:()=>rp,decode:()=>np,date:()=>Vp,custom:()=>vf,cuid2:()=>_p,cuid:()=>yp,core:()=>Al,config:()=>ve,coerce:()=>wf,codec:()=>mf,clone:()=>Ue,cidrv6:()=>zp,cidrv4:()=>Dp,check:()=>hf,catch:()=>Zs,boolean:()=>ns,bigint:()=>Fp,base64url:()=>Op,base64:()=>Tp,array:()=>xn,any:()=>Bp,_function:()=>ti,_default:()=>zs,_ZodString:()=>zi,ZodXor:()=>ms,ZodXID:()=>Ui,ZodVoid:()=>cs,ZodUnknown:()=>ls,ZodUnion:()=>Sn,ZodUndefined:()=>rs,ZodUUID:()=>Fe,ZodURL:()=>yn,ZodULID:()=>Zi,ZodType:()=>Z,ZodTuple:()=>vs,ZodTransform:()=>xs,ZodTemplateLiteral:()=>Cs,ZodSymbol:()=>is,ZodSuccess:()=>Ns,ZodStringFormat:()=>K,ZodString:()=>bn,ZodSet:()=>_s,ZodRecord:()=>In,ZodRealError:()=>De,ZodReadonly:()=>js,ZodPromise:()=>Fs,ZodPrefault:()=>Ts,ZodPipe:()=>Qi,ZodOptional:()=>Xi,ZodObject:()=>wn,ZodNumberFormat:()=>ft,ZodNumber:()=>_n,ZodNullable:()=>Is,ZodNull:()=>os,ZodNonOptional:()=>Yi,ZodNever:()=>us,ZodNanoID:()=>Pi,ZodNaN:()=>Us,ZodMap:()=>ys,ZodMAC:()=>es,ZodLiteral:()=>$s,ZodLazy:()=>Rs,ZodKSUID:()=>ji,ZodJWT:()=>Ji,ZodIssueCode:()=>Ew,ZodIntersection:()=>fs,ZodISOTime:()=>Yo,ZodISODuration:()=>Qo,ZodISODateTime:()=>Go,ZodISODate:()=>Xo,ZodIPv6:()=>Ci,ZodIPv4:()=>Ai,ZodGUID:()=>Jt,ZodFunction:()=>Ms,ZodFirstPartyTypeKind:()=>yr,ZodFile:()=>ks,ZodExactOptional:()=>ws,ZodError:()=>Nw,ZodEnum:()=>Pt,ZodEmoji:()=>Oi,ZodEmail:()=>Ti,ZodE164:()=>qi,ZodDiscriminatedUnion:()=>ps,ZodDefault:()=>Ds,ZodDate:()=>Hi,ZodCustomStringFormat:()=>Ut,ZodCustom:()=>Dn,ZodCodec:()=>er,ZodCatch:()=>Es,ZodCUID2:()=>Ei,ZodCUID:()=>Ni,ZodCIDRv6:()=>Li,ZodCIDRv4:()=>Ri,ZodBoolean:()=>$n,ZodBigIntFormat:()=>Wi,ZodBigInt:()=>kn,ZodBase64URL:()=>Mi,ZodBase64:()=>Fi,ZodArray:()=>ds,ZodAny:()=>as,TimePrecision:()=>kd,NEVER:()=>Cl,$output:()=>vd,$input:()=>gd,$brand:()=>Rl});var Al={};Be(Al,{version:()=>Qu,util:()=>C,treeifyError:()=>Xl,toJSONSchema:()=>qm,toDotPath:()=>Yl,safeParseAsync:()=>tu,safeParse:()=>eu,safeEncodeAsync:()=>B$,safeEncode:()=>J$,safeDecodeAsync:()=>H$,safeDecode:()=>W$,registry:()=>$o,regexes:()=>pt,process:()=>B,prettifyError:()=>Ql,parseAsync:()=>vr,parse:()=>hr,meta:()=>im,locales:()=>_o,isValidJWT:()=>wc,isValidBase64URL:()=>$c,isValidBase64:()=>po,initializeContext:()=>zt,globalRegistry:()=>Te,globalConfig:()=>Hn,formatError:()=>Qr,flattenError:()=>Yr,finalize:()=>Ot,extractDefs:()=>Tt,encodeAsync:()=>M$,encode:()=>L$,describe:()=>nm,decodeAsync:()=>q$,decode:()=>F$,createToJSONSchemaMethod:()=>om,createStandardJSONSchemaMethod:()=>qt,config:()=>ve,clone:()=>Ue,_xor:()=>aw,_xid:()=>No,_void:()=>Bd,_uuidv7:()=>Io,_uuidv6:()=>So,_uuidv4:()=>wo,_uuid:()=>xo,_url:()=>hi,_uppercase:()=>bi,_unknown:()=>Jd,_union:()=>sw,_undefined:()=>Fd,_ulid:()=>Po,_uint64:()=>Rd,_uint32:()=>Ed,_tuple:()=>cw,_trim:()=>wi,_transform:()=>gw,_toUpperCase:()=>Ii,_toLowerCase:()=>Si,_templateLiteral:()=>Iw,_symbol:()=>Ld,_superRefine:()=>em,_success:()=>kw,_stringbool:()=>rm,_stringFormat:()=>gn,_string:()=>yd,_startsWith:()=>_i,_slugify:()=>Di,_size:()=>fn,_set:()=>pw,_safeParseAsync:()=>un,_safeParse:()=>ln,_safeEncodeAsync:()=>so,_safeEncode:()=>ro,_safeDecodeAsync:()=>ao,_safeDecode:()=>oo,_regex:()=>vi,_refine:()=>Qd,_record:()=>dw,_readonly:()=>Sw,_property:()=>Bo,_promise:()=>zw,_positive:()=>Mo,_pipe:()=>ww,_parseAsync:()=>an,_parse:()=>sn,_overwrite:()=>Ve,_optional:()=>bw,_number:()=>Dd,_nullable:()=>yw,_null:()=>Md,_normalize:()=>xi,_nonpositive:()=>Jo,_nonoptional:()=>$w,_nonnegative:()=>Wo,_never:()=>Wd,_negative:()=>qo,_nativeEnum:()=>hw,_nanoid:()=>zo,_nan:()=>Kd,_multipleOf:()=>Dt,_minSize:()=>Qe,_minLength:()=>ut,_min:()=>_e,_mime:()=>ki,_maxSize:()=>Zt,_maxLength:()=>hn,_max:()=>Oe,_map:()=>mw,_mac:()=>$d,_lte:()=>Oe,_lt:()=>Xe,_lowercase:()=>gi,_literal:()=>vw,_length:()=>vn,_lazy:()=>Dw,_ksuid:()=>Eo,_jwt:()=>Fo,_isoTime:()=>Sd,_isoDuration:()=>Id,_isoDateTime:()=>xd,_isoDate:()=>wd,_ipv6:()=>Uo,_ipv4:()=>Zo,_intersection:()=>uw,_int64:()=>Cd,_int32:()=>Nd,_int:()=>Td,_includes:()=>yi,_guid:()=>Yn,_gte:()=>_e,_gt:()=>Ye,_float64:()=>Pd,_float32:()=>Od,_file:()=>Xd,_enum:()=>fw,_endsWith:()=>$i,_encodeAsync:()=>no,_encode:()=>eo,_emoji:()=>Do,_email:()=>ko,_e164:()=>Lo,_discriminatedUnion:()=>lw,_default:()=>_w,_decodeAsync:()=>io,_decode:()=>to,_date:()=>Hd,_custom:()=>Yd,_cuid2:()=>Oo,_cuid:()=>To,_coercedString:()=>_d,_coercedNumber:()=>zd,_coercedDate:()=>Vd,_coercedBoolean:()=>Ud,_coercedBigint:()=>Ad,_cidrv6:()=>Ao,_cidrv4:()=>jo,_check:()=>tm,_catch:()=>xw,_boolean:()=>Zd,_bigint:()=>jd,_base64url:()=>Ro,_base64:()=>Co,_array:()=>Gd,_any:()=>qd,TimePrecision:()=>kd,NEVER:()=>Cl,JSONSchemaGenerator:()=>Ow,JSONSchema:()=>Pw,Doc:()=>Yu,$output:()=>vd,$input:()=>gd,$constructor:()=>f,$brand:()=>Rl,$ZodXor:()=>Mc,$ZodXID:()=>uc,$ZodVoid:()=>Uc,$ZodUnknown:()=>Ec,$ZodUnion:()=>fi,$ZodUndefined:()=>Oc,$ZodUUID:()=>tc,$ZodURL:()=>ic,$ZodULID:()=>lc,$ZodType:()=>N,$ZodTuple:()=>go,$ZodTransform:()=>Xc,$ZodTemplateLiteral:()=>ld,$ZodSymbol:()=>Tc,$ZodSuccess:()=>id,$ZodStringFormat:()=>V,$ZodString:()=>pn,$ZodSet:()=>Hc,$ZodRegistry:()=>bd,$ZodRecord:()=>Wc,$ZodRealError:()=>Ie,$ZodReadonly:()=>ad,$ZodPromise:()=>cd,$ZodPrefault:()=>td,$ZodPipe:()=>sd,$ZodOptional:()=>bo,$ZodObjectJIT:()=>Fc,$ZodObject:()=>Lc,$ZodNumberFormat:()=>Dc,$ZodNumber:()=>fo,$ZodNullable:()=>Qc,$ZodNull:()=>Pc,$ZodNonOptional:()=>nd,$ZodNever:()=>Zc,$ZodNanoID:()=>oc,$ZodNaN:()=>od,$ZodMap:()=>Bc,$ZodMAC:()=>gc,$ZodLiteral:()=>Kc,$ZodLazy:()=>dd,$ZodKSUID:()=>cc,$ZodJWT:()=>Sc,$ZodIntersection:()=>Jc,$ZodISOTime:()=>pc,$ZodISODuration:()=>fc,$ZodISODateTime:()=>dc,$ZodISODate:()=>mc,$ZodIPv6:()=>vc,$ZodIPv4:()=>hc,$ZodGUID:()=>ec,$ZodFunction:()=>ud,$ZodFile:()=>Gc,$ZodExactOptional:()=>Yc,$ZodError:()=>Xr,$ZodEnum:()=>Vc,$ZodEncodeError:()=>ci,$ZodEmoji:()=>rc,$ZodEmail:()=>nc,$ZodE164:()=>xc,$ZodDiscriminatedUnion:()=>qc,$ZodDefault:()=>ed,$ZodDate:()=>jc,$ZodCustomStringFormat:()=>Ic,$ZodCustom:()=>md,$ZodCodec:()=>yo,$ZodCheckUpperCase:()=>Wu,$ZodCheckStringFormat:()=>mn,$ZodCheckStartsWith:()=>Hu,$ZodCheckSizeEquals:()=>Ru,$ZodCheckRegex:()=>qu,$ZodCheckProperty:()=>Ku,$ZodCheckOverwrite:()=>Xu,$ZodCheckNumberFormat:()=>Uu,$ZodCheckMultipleOf:()=>Zu,$ZodCheckMinSize:()=>Cu,$ZodCheckMinLength:()=>Fu,$ZodCheckMimeType:()=>Gu,$ZodCheckMaxSize:()=>Au,$ZodCheckMaxLength:()=>Lu,$ZodCheckLowerCase:()=>Ju,$ZodCheckLessThan:()=>co,$ZodCheckLengthEquals:()=>Mu,$ZodCheckIncludes:()=>Bu,$ZodCheckGreaterThan:()=>mo,$ZodCheckEndsWith:()=>Vu,$ZodCheckBigIntFormat:()=>ju,$ZodCheck:()=>te,$ZodCatch:()=>rd,$ZodCUID2:()=>ac,$ZodCUID:()=>sc,$ZodCIDRv6:()=>yc,$ZodCIDRv4:()=>bc,$ZodBoolean:()=>ho,$ZodBigIntFormat:()=>zc,$ZodBigInt:()=>vo,$ZodBase64URL:()=>kc,$ZodBase64:()=>_c,$ZodAsyncError:()=>at,$ZodArray:()=>Ac,$ZodAny:()=>Nc});var Cl=Object.freeze({status:"aborted"});function f(e,t,i){function r(a,l){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:l,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,l);let u=s.prototype,c=Object.keys(u);for(let m=0;m<c.length;m++){let p=c[m];p in a||(a[p]=u[p].bind(a))}}let n=i?.Parent??Object;class o extends n{}Object.defineProperty(o,"name",{value:e});function s(a){var l;let u=i?.Parent?new o:this;r(u,a),(l=u._zod).deferred??(l.deferred=[]);for(let c of u._zod.deferred)c();return u}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>i?.Parent&&a instanceof i.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var Rl=Symbol("zod_brand");class at extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class ci extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}var Hn={};function ve(e){return e&&Object.assign(Hn,e),Hn}var C={};Be(C,{unwrapMessage:()=>Lt,uint8ArrayToHex:()=>C$,uint8ArrayToBase64url:()=>j$,uint8ArrayToBase64:()=>Kl,stringifyPrimitive:()=>O,slugify:()=>Fl,shallowClone:()=>ql,safeExtend:()=>O$,required:()=>E$,randomString:()=>x$,propertyKeyTypes:()=>Kn,promiseAllObject:()=>k$,primitiveTypes:()=>Jl,prefixIssues:()=>Ce,pick:()=>D$,partial:()=>N$,parsedType:()=>P,optionalKeys:()=>Wl,omit:()=>z$,objectClone:()=>y$,numKeys:()=>w$,nullish:()=>mt,normalizeParams:()=>$,mergeDefs:()=>He,merge:()=>P$,jsonStringifyReplacer:()=>Vn,joinValues:()=>_,issue:()=>Gn,isPlainObject:()=>lt,isObject:()=>St,hexToUint8Array:()=>A$,getSizableOrigin:()=>mi,getParsedType:()=>S$,getLengthableOrigin:()=>pi,getEnumValues:()=>Kr,getElementAtPath:()=>$$,floatSafeRemainder:()=>Ll,finalizeIssue:()=>Pe,extend:()=>T$,escapeRegex:()=>We,esc:()=>fr,defineLazy:()=>j,createTransparentProxy:()=>I$,cloneDef:()=>_$,clone:()=>Ue,cleanRegex:()=>di,cleanEnum:()=>Z$,captureStackTrace:()=>Gr,cached:()=>on,base64urlToUint8Array:()=>U$,base64ToUint8Array:()=>Vl,assignProp:()=>nt,assertNotEqual:()=>h$,assertNever:()=>g$,assertIs:()=>v$,assertEqual:()=>f$,assert:()=>b$,allowsEval:()=>Ml,aborted:()=>ot,NUMBER_FORMAT_RANGES:()=>Bl,Class:()=>R$,BIGINT_FORMAT_RANGES:()=>Hl});function f$(e){return e}function h$(e){return e}function v$(e){}function g$(e){throw Error("Unexpected value in exhaustive check")}function b$(e){}function Kr(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,r])=>t.indexOf(+i)===-1).map(([i,r])=>r)}function _(e,t="|"){return e.map(i=>O(i)).join(t)}function Vn(e,t){return typeof t=="bigint"?t.toString():t}function on(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function mt(e){return e==null}function di(e){let t=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(t,i)}function Ll(e,t){let i=(e.toString().split(".")[1]||"").length,r=t.toString(),n=(r.split(".")[1]||"").length;if(n===0&&/\d?e-\d?/.test(r)){let l=r.match(/\d?e-(\d?)/);l?.[1]&&(n=Number.parseInt(l[1]))}let o=i>n?i:n,s=Number.parseInt(e.toFixed(o).replace(".","")),a=Number.parseInt(t.toFixed(o).replace(".",""));return s%a/10**o}var ya=Symbol("evaluating");function j(e,t,i){let r;Object.defineProperty(e,t,{get(){if(r!==ya)return r===void 0&&(r=ya,r=i()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function y$(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function nt(e,t,i){Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!0,configurable:!0})}function He(...e){let t={};for(let i of e){let r=Object.getOwnPropertyDescriptors(i);Object.assign(t,r)}return Object.defineProperties({},t)}function _$(e){return He(e._zod.def)}function $$(e,t){return t?t.reduce((i,r)=>i?.[r],e):e}function k$(e){let t=Object.keys(e),i=t.map(r=>e[r]);return Promise.all(i).then(r=>{let n={};for(let o=0;o<t.length;o++)n[t[o]]=r[o];return n})}function x$(e=10){let t="";for(let i=0;i<e;i++)t+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return t}function fr(e){return JSON.stringify(e)}function Fl(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Gr="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function St(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ml=on(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch{return!1}});function lt(e){if(St(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let i=t.prototype;return!(St(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function ql(e){return lt(e)?{...e}:Array.isArray(e)?[...e]:e}function w$(e){let t=0;for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&t++;return t}var S$=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw Error(`Unknown data type: ${t}`)}},Kn=new Set(["string","number","symbol"]),Jl=new Set(["string","number","bigint","boolean","symbol","undefined"]);function We(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ue(e,t,i){let r=new e._zod.constr(t??e._zod.def);return(!t||i?.parent)&&(r._zod.parent=e),r}function $(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw 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 I$(e){let t;return new Proxy({},{get(i,r,n){return t??(t=e()),Reflect.get(t,r,n)},set(i,r,n,o){return t??(t=e()),Reflect.set(t,r,n,o)},has(i,r){return t??(t=e()),Reflect.has(t,r)},deleteProperty(i,r){return t??(t=e()),Reflect.deleteProperty(t,r)},ownKeys(i){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(i,r){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,r)},defineProperty(i,r,n){return t??(t=e()),Reflect.defineProperty(t,r,n)}})}function O(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Wl(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Bl={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]},Hl={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function D$(e,t){let i=e._zod.def,r=i.checks;if(r&&r.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let n=He(e._zod.def,{get shape(){let o={};for(let s in t){if(!(s in i.shape))throw Error(`Unrecognized key: "${s}"`);t[s]&&(o[s]=i.shape[s])}return nt(this,"shape",o),o},checks:[]});return Ue(e,n)}function z$(e,t){let i=e._zod.def,r=i.checks;if(r&&r.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let n=He(e._zod.def,{get shape(){let o={...e._zod.def.shape};for(let s in t){if(!(s in i.shape))throw Error(`Unrecognized key: "${s}"`);t[s]&&delete o[s]}return nt(this,"shape",o),o},checks:[]});return Ue(e,n)}function T$(e,t){if(!lt(t))throw Error("Invalid input to extend: expected a plain object");let i=e._zod.def.checks;if(i&&i.length>0){let n=e._zod.def.shape;for(let o in t)if(Object.getOwnPropertyDescriptor(n,o)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=He(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return nt(this,"shape",n),n}});return Ue(e,r)}function O$(e,t){if(!lt(t))throw Error("Invalid input to safeExtend: expected a plain object");let i=He(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return nt(this,"shape",r),r}});return Ue(e,i)}function P$(e,t){let i=He(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return nt(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return Ue(e,i)}function N$(e,t,i){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let n=He(t._zod.def,{get shape(){let o=t._zod.def.shape,s={...o};if(i)for(let a in i){if(!(a in o))throw Error(`Unrecognized key: "${a}"`);i[a]&&(s[a]=e?new e({type:"optional",innerType:o[a]}):o[a])}else for(let a in o)s[a]=e?new e({type:"optional",innerType:o[a]}):o[a];return nt(this,"shape",s),s},checks:[]});return Ue(t,n)}function E$(e,t,i){let r=He(t._zod.def,{get shape(){let n=t._zod.def.shape,o={...n};if(i)for(let s in i){if(!(s in o))throw Error(`Unrecognized key: "${s}"`);i[s]&&(o[s]=new e({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new e({type:"nonoptional",innerType:n[s]});return nt(this,"shape",o),o}});return Ue(t,r)}function ot(e,t=0){if(e.aborted===!0)return!0;for(let i=t;i<e.issues.length;i++)if(e.issues[i]?.continue!==!0)return!0;return!1}function Ce(e,t){return t.map(i=>{var r;return(r=i).path??(r.path=[]),i.path.unshift(e),i})}function Lt(e){return typeof e=="string"?e:e?.message}function Pe(e,t,i){let r={...e,path:e.path??[]};if(!e.message){let n=Lt(e.inst?._zod.def?.error?.(e))??Lt(t?.error?.(e))??Lt(i.customError?.(e))??Lt(i.localeError?.(e))??"Invalid input";r.message=n}return delete r.inst,delete r.continue,!t?.reportInput&&delete r.input,r}function mi(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function pi(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function P(e){let 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";let i=e;if(i&&Object.getPrototypeOf(i)!==Object.prototype&&"constructor"in i&&i.constructor)return i.constructor.name}}return t}function Gn(...e){let[t,i,r]=e;return typeof t=="string"?{message:t,code:"custom",input:i,inst:r}:{...t}}function Z$(e){return Object.entries(e).filter(([t,i])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function Vl(e){let t=atob(e),i=new Uint8Array(t.length);for(let r=0;r<t.length;r++)i[r]=t.charCodeAt(r);return i}function Kl(e){let t="";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return btoa(t)}function U$(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),i="=".repeat((4-t.length%4)%4);return Vl(t+i)}function j$(e){return Kl(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function A$(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw Error("Invalid hex string length");let i=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)i[r/2]=Number.parseInt(t.slice(r,r+2),16);return i}function C$(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}class R${constructor(...t){}}var Gl=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Vn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Xr=f("$ZodError",Gl),Ie=f("$ZodError",Gl,{Parent:Error});function Yr(e,t=i=>i.message){let i={},r=[];for(let n of e.issues)n.path.length>0?(i[n.path[0]]=i[n.path[0]]||[],i[n.path[0]].push(t(n))):r.push(t(n));return{formErrors:r,fieldErrors:i}}function Qr(e,t=i=>i.message){let i={_errors:[]},r=n=>{for(let o of n.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>r({issues:s}));else if(o.code==="invalid_key")r({issues:o.issues});else if(o.code==="invalid_element")r({issues:o.issues});else if(o.path.length===0)i._errors.push(t(o));else{let s=i,a=0;for(;a<o.path.length;){let l=o.path[a];a!==o.path.length-1?s[l]=s[l]||{_errors:[]}:(s[l]=s[l]||{_errors:[]},s[l]._errors.push(t(o))),s=s[l],a++}}};return r(e),i}function Xl(e,t=i=>i.message){let i={errors:[]},r=(n,o=[])=>{var s,a;for(let l of n.issues)if(l.code==="invalid_union"&&l.errors.length)l.errors.map(u=>r({issues:u},l.path));else if(l.code==="invalid_key")r({issues:l.issues},l.path);else if(l.code==="invalid_element")r({issues:l.issues},l.path);else{let u=[...o,...l.path];if(u.length===0){i.errors.push(t(l));continue}let c=i,m=0;for(;m<u.length;){let p=u[m],h=m===u.length-1;typeof p=="string"?(c.properties??(c.properties={}),(s=c.properties)[p]??(s[p]={errors:[]}),c=c.properties[p]):(c.items??(c.items=[]),(a=c.items)[p]??(a[p]={errors:[]}),c=c.items[p]),h&&c.errors.push(t(l)),m++}}};return r(e),i}function Yl(e){let t=[],i=e.map(r=>typeof r=="object"?r.key:r);for(let r of i)typeof r=="number"?t.push(`[${r}]`):typeof r=="symbol"?t.push(`[${JSON.stringify(String(r))}]`):/[^\w$]/.test(r)?t.push(`[${JSON.stringify(r)}]`):(t.length&&t.push("."),t.push(r));return t.join("")}function Ql(e){let t=[],i=[...e.issues].sort((r,n)=>(r.path??[]).length-(n.path??[]).length);for(let r of i)t.push(`✖ ${r.message}`),r.path?.length&&t.push(` → at ${Yl(r.path)}`);return t.join(`
46
+ `)}var sn=e=>(t,i,r,n)=>{let o=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:i,issues:[]},o);if(s instanceof Promise)throw new at;if(s.issues.length){let a=new(n?.Err??e)(s.issues.map(l=>Pe(l,o,ve())));throw Gr(a,n?.callee),a}return s.value},hr=sn(Ie),an=e=>async(t,i,r,n)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},s=t._zod.run({value:i,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(n?.Err??e)(s.issues.map(l=>Pe(l,o,ve())));throw Gr(a,n?.callee),a}return s.value},vr=an(Ie),ln=e=>(t,i,r)=>{let n=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:i,issues:[]},n);if(o instanceof Promise)throw new at;return o.issues.length?{success:!1,error:new(e??Xr)(o.issues.map(s=>Pe(s,n,ve())))}:{success:!0,data:o.value}},eu=ln(Ie),un=e=>async(t,i,r)=>{let n=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:i,issues:[]},n);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(s=>Pe(s,n,ve())))}:{success:!0,data:o.value}},tu=un(Ie),eo=e=>(t,i,r)=>{let n=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return sn(e)(t,i,n)},L$=eo(Ie),to=e=>(t,i,r)=>sn(e)(t,i,r),F$=to(Ie),no=e=>async(t,i,r)=>{let n=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return an(e)(t,i,n)},M$=no(Ie),io=e=>async(t,i,r)=>an(e)(t,i,r),q$=io(Ie),ro=e=>(t,i,r)=>{let n=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ln(e)(t,i,n)},J$=ro(Ie),oo=e=>(t,i,r)=>ln(e)(t,i,r),W$=oo(Ie),so=e=>async(t,i,r)=>{let n=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return un(e)(t,i,n)},B$=so(Ie),ao=e=>async(t,i,r)=>un(e)(t,i,r),H$=ao(Ie),pt={};Be(pt,{xid:()=>ou,uuid7:()=>X$,uuid6:()=>G$,uuid4:()=>K$,uuid:()=>It,uppercase:()=>Nu,unicodeEmail:()=>du,undefined:()=>Ou,ulid:()=>ru,time:()=>xu,string:()=>Su,sha512_hex:()=>bk,sha512_base64url:()=>_k,sha512_base64:()=>yk,sha384_hex:()=>hk,sha384_base64url:()=>gk,sha384_base64:()=>vk,sha256_hex:()=>mk,sha256_base64url:()=>fk,sha256_base64:()=>pk,sha1_hex:()=>uk,sha1_base64url:()=>dk,sha1_base64:()=>ck,rfc5322Email:()=>Q$,number:()=>uo,null:()=>Tu,nanoid:()=>au,md5_hex:()=>sk,md5_base64url:()=>lk,md5_base64:()=>ak,mac:()=>hu,lowercase:()=>Pu,ksuid:()=>su,ipv6:()=>fu,ipv4:()=>pu,integer:()=>Du,idnEmail:()=>ek,html5Email:()=>Y$,hostname:()=>ik,hex:()=>ok,guid:()=>uu,extendedDuration:()=>V$,emoji:()=>mu,email:()=>cu,e164:()=>yu,duration:()=>lu,domain:()=>rk,datetime:()=>wu,date:()=>$u,cuid2:()=>iu,cuid:()=>nu,cidrv6:()=>gu,cidrv4:()=>vu,browserEmail:()=>tk,boolean:()=>zu,bigint:()=>Iu,base64url:()=>lo,base64:()=>bu});var nu=/^[cC][^\s-]{8,}$/,iu=/^[0-9a-z]+$/,ru=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ou=/^[0-9a-vA-V]{20}$/,su=/^[A-Za-z0-9]{27}$/,au=/^[a-zA-Z0-9_-]{21}$/,lu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,V$=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,uu=/^([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})$/,It=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)$/,K$=It(4),G$=It(6),X$=It(7),cu=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Y$=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Q$=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,du=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,ek=du,tk=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,nk="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function mu(){return new RegExp(nk,"u")}var pu=/^(?:(?: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])$/,fu=/^(([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}|:))$/,hu=e=>{let t=We(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},vu=/^((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])$/,gu=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,bu=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,lo=/^[A-Za-z0-9_-]*$/,ik=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,rk=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,yu=/^\+[1-9]\d{6,14}$/,_u="(?:(?:\\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])))",$u=new RegExp(`^${_u}$`);function ku(e){return typeof e.precision=="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function xu(e){return new RegExp(`^${ku(e)}$`)}function wu(e){let t=ku({precision:e.precision}),i=["Z"];e.local&&i.push(""),e.offset&&i.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${t}(?:${i.join("|")})`;return new RegExp(`^${_u}T(?:${r})$`)}var Su=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Iu=/^-?\d+n?$/,Du=/^-?\d+$/,uo=/^-?\d+(?:\.\d+)?$/,zu=/^(?:true|false)$/i,Tu=/^null$/i,Ou=/^undefined$/i,Pu=/^[^A-Z]*$/,Nu=/^[^a-z]*$/,ok=/^[0-9a-fA-F]*$/;function cn(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function dn(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var sk=/^[0-9a-fA-F]{32}$/,ak=cn(22,"=="),lk=dn(22),uk=/^[0-9a-fA-F]{40}$/,ck=cn(27,"="),dk=dn(27),mk=/^[0-9a-fA-F]{64}$/,pk=cn(43,"="),fk=dn(43),hk=/^[0-9a-fA-F]{96}$/,vk=cn(64,""),gk=dn(64),bk=/^[0-9a-fA-F]{128}$/,yk=cn(86,"=="),_k=dn(86),te=f("$ZodCheck",(e,t)=>{var i;e._zod??(e._zod={}),e._zod.def=t,(i=e._zod).onattach??(i.onattach=[])}),Eu={number:"number",bigint:"bigint",object:"date"},co=f("$ZodCheckLessThan",(e,t)=>{te.init(e,t);let i=Eu[typeof t.value];e._zod.onattach.push(r=>{let n=r._zod.bag,o=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:i,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),mo=f("$ZodCheckGreaterThan",(e,t)=>{te.init(e,t);let i=Eu[typeof t.value];e._zod.onattach.push(r=>{let n=r._zod.bag,o=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:i,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Zu=f("$ZodCheckMultipleOf",(e,t)=>{te.init(e,t),e._zod.onattach.push(i=>{var r;(r=i._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=i=>{if(typeof i.value!=typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");(typeof i.value=="bigint"?i.value%t.value===BigInt(0):Ll(i.value,t.value)===0)||i.issues.push({origin:typeof i.value,code:"not_multiple_of",divisor:t.value,input:i.value,inst:e,continue:!t.abort})}}),Uu=f("$ZodCheckNumberFormat",(e,t)=>{te.init(e,t),t.format=t.format||"float64";let i=t.format?.includes("int"),r=i?"int":"number",[n,o]=Bl[t.format];e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,a.minimum=n,a.maximum=o,i&&(a.pattern=Du)}),e._zod.check=s=>{let a=s.value;if(i){if(!Number.isInteger(a)){s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.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}):s.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<n&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),a>o&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),ju=f("$ZodCheckBigIntFormat",(e,t)=>{te.init(e,t);let[i,r]=Hl[t.format];e._zod.onattach.push(n=>{let o=n._zod.bag;o.format=t.format,o.minimum=i,o.maximum=r}),e._zod.check=n=>{let o=n.value;o<i&&n.issues.push({origin:"bigint",input:o,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),o>r&&n.issues.push({origin:"bigint",input:o,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),Au=f("$ZodCheckMaxSize",(e,t)=>{var i;te.init(e,t),(i=e._zod.def).when??(i.when=r=>{let n=r.value;return!mt(n)&&n.size!==void 0}),e._zod.onattach.push(r=>{let n=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let n=r.value;n.size<=t.maximum||r.issues.push({origin:mi(n),code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Cu=f("$ZodCheckMinSize",(e,t)=>{var i;te.init(e,t),(i=e._zod.def).when??(i.when=r=>{let n=r.value;return!mt(n)&&n.size!==void 0}),e._zod.onattach.push(r=>{let n=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let n=r.value;n.size>=t.minimum||r.issues.push({origin:mi(n),code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Ru=f("$ZodCheckSizeEquals",(e,t)=>{var i;te.init(e,t),(i=e._zod.def).when??(i.when=r=>{let n=r.value;return!mt(n)&&n.size!==void 0}),e._zod.onattach.push(r=>{let n=r._zod.bag;n.minimum=t.size,n.maximum=t.size,n.size=t.size}),e._zod.check=r=>{let n=r.value,o=n.size;if(o===t.size)return;let s=o>t.size;r.issues.push({origin:mi(n),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Lu=f("$ZodCheckMaxLength",(e,t)=>{var i;te.init(e,t),(i=e._zod.def).when??(i.when=r=>{let n=r.value;return!mt(n)&&n.length!==void 0}),e._zod.onattach.push(r=>{let n=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let n=r.value;if(n.length<=t.maximum)return;let o=pi(n);r.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Fu=f("$ZodCheckMinLength",(e,t)=>{var i;te.init(e,t),(i=e._zod.def).when??(i.when=r=>{let n=r.value;return!mt(n)&&n.length!==void 0}),e._zod.onattach.push(r=>{let n=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let n=r.value;if(n.length>=t.minimum)return;let o=pi(n);r.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Mu=f("$ZodCheckLengthEquals",(e,t)=>{var i;te.init(e,t),(i=e._zod.def).when??(i.when=r=>{let n=r.value;return!mt(n)&&n.length!==void 0}),e._zod.onattach.push(r=>{let n=r._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=r=>{let n=r.value,o=n.length;if(o===t.length)return;let s=pi(n),a=o>t.length;r.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),mn=f("$ZodCheckStringFormat",(e,t)=>{var i,r;te.init(e,t),e._zod.onattach.push(n=>{let o=n._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(i=e._zod).check??(i.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),qu=f("$ZodCheckRegex",(e,t)=>{mn.init(e,t),e._zod.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:"regex",input:i.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ju=f("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Pu),mn.init(e,t)}),Wu=f("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Nu),mn.init(e,t)}),Bu=f("$ZodCheckIncludes",(e,t)=>{te.init(e,t);let i=We(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${i}`:i);t.pattern=r,e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Hu=f("$ZodCheckStartsWith",(e,t)=>{te.init(e,t);let i=new RegExp(`^${We(t.prefix)}.*`);t.pattern??(t.pattern=i),e._zod.onattach.push(r=>{let n=r._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(i)}),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})}}),Vu=f("$ZodCheckEndsWith",(e,t)=>{te.init(e,t);let i=new RegExp(`.*${We(t.suffix)}$`);t.pattern??(t.pattern=i),e._zod.onattach.push(r=>{let n=r._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(i)}),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})}});function _a(e,t,i){e.issues.length&&t.issues.push(...Ce(i,e.issues))}var Ku=f("$ZodCheckProperty",(e,t)=>{te.init(e,t),e._zod.check=i=>{let r=t.schema._zod.run({value:i.value[t.property],issues:[]},{});if(r instanceof Promise)return r.then(n=>_a(n,i,t.property));_a(r,i,t.property)}}),Gu=f("$ZodCheckMimeType",(e,t)=>{te.init(e,t);let i=new Set(t.mime);e._zod.onattach.push(r=>{r._zod.bag.mime=t.mime}),e._zod.check=r=>{i.has(r.value.type)||r.issues.push({code:"invalid_value",values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),Xu=f("$ZodCheckOverwrite",(e,t)=>{te.init(e,t),e._zod.check=i=>{i.value=t.tx(i.value)}});class Yu{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let i=t.split(`
47
+ `).filter(o=>o),r=Math.min(...i.map(o=>o.length-o.trimStart().length)),n=i.map(o=>o.slice(r)).map(o=>" ".repeat(this.indent*2)+o);for(let o of n)this.content.push(o)}compile(){let t=Function,i=this?.args,r=[...(this?.content??[""]).map(n=>` ${n}`)];return new t(...i,r.join(`
48
+ `))}}var Qu={major:4,minor:3,patch:5},N=f("$ZodType",(e,t)=>{var i;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Qu;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let n of r)for(let o of n._zod.onattach)o(e);if(r.length===0)(i=e._zod).deferred??(i.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let n=(s,a,l)=>{let u=ot(s),c;for(let m of a){if(m._zod.def.when){if(!m._zod.def.when(s))continue}else if(u)continue;let p=s.issues.length,h=m._zod.check(s);if(h instanceof Promise&&l?.async===!1)throw new at;if(c||h instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await h,s.issues.length!==p&&(u||(u=ot(s,p)))});else{if(s.issues.length===p)continue;u||(u=ot(s,p))}}return c?c.then(()=>s):s},o=(s,a,l)=>{if(ot(s))return s.aborted=!0,s;let u=n(a,r,l);if(u instanceof Promise){if(l.async===!1)throw new at;return u.then(c=>e._zod.parse(c,l))}return e._zod.parse(u,l)};e._zod.run=(s,a)=>{if(a.skipChecks)return e._zod.parse(s,a);if(a.direction==="backward"){let u=e._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});return u instanceof Promise?u.then(c=>o(c,s,a)):o(u,s,a)}let l=e._zod.parse(s,a);if(l instanceof Promise){if(a.async===!1)throw new at;return l.then(u=>n(u,r,a))}return n(l,r,a)}}j(e,"~standard",()=>({validate:n=>{try{let o=eu(e,n);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return tu(e,n).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),pn=f("$ZodString",(e,t)=>{N.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Su(e._zod.bag),e._zod.parse=(i,r)=>{if(t.coerce)try{i.value=String(i.value)}catch{}return typeof i.value=="string"||i.issues.push({expected:"string",code:"invalid_type",input:i.value,inst:e}),i}}),V=f("$ZodStringFormat",(e,t)=>{mn.init(e,t),pn.init(e,t)}),ec=f("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=uu),V.init(e,t)}),tc=f("$ZodUUID",(e,t)=>{if(t.version){let i={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(i===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=It(i))}else t.pattern??(t.pattern=It());V.init(e,t)}),nc=f("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=cu),V.init(e,t)}),ic=f("$ZodURL",(e,t)=>{V.init(e,t),e._zod.check=i=>{try{let r=i.value.trim(),n=new URL(r);t.hostname&&(t.hostname.lastIndex=0,!t.hostname.test(n.hostname)&&i.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:i.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,!t.protocol.test(n.protocol.endsWith(":")?n.protocol.slice(0,-1):n.protocol)&&i.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:i.value,inst:e,continue:!t.abort})),t.normalize?i.value=n.href:i.value=r;return}catch{i.issues.push({code:"invalid_format",format:"url",input:i.value,inst:e,continue:!t.abort})}}}),rc=f("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=mu()),V.init(e,t)}),oc=f("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=au),V.init(e,t)}),sc=f("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=nu),V.init(e,t)}),ac=f("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=iu),V.init(e,t)}),lc=f("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ru),V.init(e,t)}),uc=f("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ou),V.init(e,t)}),cc=f("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=su),V.init(e,t)}),dc=f("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=wu(t)),V.init(e,t)}),mc=f("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=$u),V.init(e,t)}),pc=f("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=xu(t)),V.init(e,t)}),fc=f("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=lu),V.init(e,t)}),hc=f("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=pu),V.init(e,t),e._zod.bag.format="ipv4"}),vc=f("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=fu),V.init(e,t),e._zod.bag.format="ipv6",e._zod.check=i=>{try{new URL(`http://[${i.value}]`)}catch{i.issues.push({code:"invalid_format",format:"ipv6",input:i.value,inst:e,continue:!t.abort})}}}),gc=f("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=hu(t.delimiter)),V.init(e,t),e._zod.bag.format="mac"}),bc=f("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=vu),V.init(e,t)}),yc=f("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=gu),V.init(e,t),e._zod.check=i=>{let r=i.value.split("/");try{if(r.length!==2)throw Error();let[n,o]=r;if(!o)throw Error();let s=Number(o);if(`${s}`!==o||s<0||s>128)throw Error();new URL(`http://[${n}]`)}catch{i.issues.push({code:"invalid_format",format:"cidrv6",input:i.value,inst:e,continue:!t.abort})}}});function po(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var _c=f("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=bu),V.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=i=>{po(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:e,continue:!t.abort})}});function $c(e){if(!lo.test(e))return!1;let t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),i=t.padEnd(Math.ceil(t.length/4)*4,"=");return po(i)}var kc=f("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=lo),V.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=i=>{$c(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:e,continue:!t.abort})}}),xc=f("$ZodE164",(e,t)=>{t.pattern??(t.pattern=yu),V.init(e,t)});function wc(e,t=null){try{let i=e.split(".");if(i.length!==3)return!1;let[r]=i;if(!r)return!1;let n=JSON.parse(atob(r));return!("typ"in n&&n?.typ!=="JWT"||!n.alg||t&&(!("alg"in n)||n.alg!==t))}catch{return!1}}var Sc=f("$ZodJWT",(e,t)=>{V.init(e,t),e._zod.check=i=>{wc(i.value,t.alg)||i.issues.push({code:"invalid_format",format:"jwt",input:i.value,inst:e,continue:!t.abort})}}),Ic=f("$ZodCustomStringFormat",(e,t)=>{V.init(e,t),e._zod.check=i=>{t.fn(i.value)||i.issues.push({code:"invalid_format",format:t.format,input:i.value,inst:e,continue:!t.abort})}}),fo=f("$ZodNumber",(e,t)=>{N.init(e,t),e._zod.pattern=e._zod.bag.pattern??uo,e._zod.parse=(i,r)=>{if(t.coerce)try{i.value=Number(i.value)}catch{}let n=i.value;if(typeof n=="number"&&!Number.isNaN(n)&&Number.isFinite(n))return i;let o=typeof n=="number"?Number.isNaN(n)?"NaN":Number.isFinite(n)?void 0:"Infinity":void 0;return i.issues.push({expected:"number",code:"invalid_type",input:n,inst:e,...o?{received:o}:{}}),i}}),Dc=f("$ZodNumberFormat",(e,t)=>{Uu.init(e,t),fo.init(e,t)}),ho=f("$ZodBoolean",(e,t)=>{N.init(e,t),e._zod.pattern=zu,e._zod.parse=(i,r)=>{if(t.coerce)try{i.value=!!i.value}catch{}let n=i.value;return typeof n=="boolean"||i.issues.push({expected:"boolean",code:"invalid_type",input:n,inst:e}),i}}),vo=f("$ZodBigInt",(e,t)=>{N.init(e,t),e._zod.pattern=Iu,e._zod.parse=(i,r)=>{if(t.coerce)try{i.value=BigInt(i.value)}catch{}return typeof i.value=="bigint"||i.issues.push({expected:"bigint",code:"invalid_type",input:i.value,inst:e}),i}}),zc=f("$ZodBigIntFormat",(e,t)=>{ju.init(e,t),vo.init(e,t)}),Tc=f("$ZodSymbol",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{let n=i.value;return typeof n=="symbol"||i.issues.push({expected:"symbol",code:"invalid_type",input:n,inst:e}),i}}),Oc=f("$ZodUndefined",(e,t)=>{N.init(e,t),e._zod.pattern=Ou,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(i,r)=>{let n=i.value;return typeof n>"u"||i.issues.push({expected:"undefined",code:"invalid_type",input:n,inst:e}),i}}),Pc=f("$ZodNull",(e,t)=>{N.init(e,t),e._zod.pattern=Tu,e._zod.values=new Set([null]),e._zod.parse=(i,r)=>{let n=i.value;return n===null||i.issues.push({expected:"null",code:"invalid_type",input:n,inst:e}),i}}),Nc=f("$ZodAny",(e,t)=>{N.init(e,t),e._zod.parse=i=>i}),Ec=f("$ZodUnknown",(e,t)=>{N.init(e,t),e._zod.parse=i=>i}),Zc=f("$ZodNever",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>(i.issues.push({expected:"never",code:"invalid_type",input:i.value,inst:e}),i)}),Uc=f("$ZodVoid",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{let n=i.value;return typeof n>"u"||i.issues.push({expected:"void",code:"invalid_type",input:n,inst:e}),i}}),jc=f("$ZodDate",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{if(t.coerce)try{i.value=new Date(i.value)}catch{}let n=i.value,o=n instanceof Date;return o&&!Number.isNaN(n.getTime())||i.issues.push({expected:"date",code:"invalid_type",input:n,...o?{received:"Invalid Date"}:{},inst:e}),i}});function $a(e,t,i){e.issues.length&&t.issues.push(...Ce(i,e.issues)),t.value[i]=e.value}var Ac=f("$ZodArray",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{let n=i.value;if(!Array.isArray(n))return i.issues.push({expected:"array",code:"invalid_type",input:n,inst:e}),i;i.value=Array(n.length);let o=[];for(let s=0;s<n.length;s++){let a=n[s],l=t.element._zod.run({value:a,issues:[]},r);l instanceof Promise?o.push(l.then(u=>$a(u,i,s))):$a(l,i,s)}return o.length?Promise.all(o).then(()=>i):i}});function Xn(e,t,i,r,n){if(e.issues.length){if(n&&!(i in r))return;t.issues.push(...Ce(i,e.issues))}e.value===void 0?i in r&&(t.value[i]=void 0):t.value[i]=e.value}function Cc(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${r}": expected a Zod schema`);let i=Wl(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function Rc(e,t,i,r,n,o){let s=[],a=n.keySet,l=n.catchall._zod,u=l.def.type,c=l.optout==="optional";for(let m in t){if(a.has(m))continue;if(u==="never"){s.push(m);continue}let p=l.run({value:t[m],issues:[]},r);p instanceof Promise?e.push(p.then(h=>Xn(h,i,m,t,c))):Xn(p,i,m,t,c)}return s.length&&i.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o}),e.length?Promise.all(e).then(()=>i):i}var Lc=f("$ZodObject",(e,t)=>{if(N.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let s=t.shape;Object.defineProperty(t,"shape",{get:()=>{let a={...s};return Object.defineProperty(t,"shape",{value:a}),a}})}let i=on(()=>Cc(t));j(e._zod,"propValues",()=>{let s=t.shape,a={};for(let l in s){let u=s[l]._zod;if(u.values){a[l]??(a[l]=new Set);for(let c of u.values)a[l].add(c)}}return a});let r=St,n=t.catchall,o;e._zod.parse=(s,a)=>{o??(o=i.value);let l=s.value;if(!r(l))return s.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),s;s.value={};let u=[],c=o.shape;for(let m of o.keys){let p=c[m],h=p._zod.optout==="optional",S=p._zod.run({value:l[m],issues:[]},a);S instanceof Promise?u.push(S.then(D=>Xn(D,s,m,l,h))):Xn(S,s,m,l,h)}return n?Rc(u,l,s,a,i.value,e):u.length?Promise.all(u).then(()=>s):s}}),Fc=f("$ZodObjectJIT",(e,t)=>{Lc.init(e,t);let i=e._zod.parse,r=on(()=>Cc(t)),n=m=>{let p=new Yu(["shape","payload","ctx"]),h=r.value,S=F=>{let E=fr(F);return`shape[${E}]._zod.run({ value: input[${E}], issues: [] }, ctx)`};p.write("const input = payload.value;");let D=Object.create(null),ze=0;for(let F of h.keys)D[F]=`key_${ze++}`;p.write("const newResult = {};");for(let F of h.keys){let E=D[F],R=fr(F),H=m[F]?._zod?.optout==="optional";p.write(`const ${E} = ${S(F)};`),H?p.write(`
49
+ if (${E}.issues.length) {
50
+ if (${R} in input) {
51
+ payload.issues = payload.issues.concat(${E}.issues.map(iss => ({
52
+ ...iss,
53
+ path: iss.path ? [${R}, ...iss.path] : [${R}]
54
+ })));
55
+ }
56
+ }
57
+
58
+ if (${E}.value === undefined) {
59
+ if (${R} in input) {
60
+ newResult[${R}] = undefined;
61
+ }
62
+ } else {
63
+ newResult[${R}] = ${E}.value;
64
+ }
65
+
66
+ `):p.write(`
67
+ if (${E}.issues.length) {
68
+ payload.issues = payload.issues.concat(${E}.issues.map(iss => ({
69
+ ...iss,
70
+ path: iss.path ? [${R}, ...iss.path] : [${R}]
71
+ })));
72
+ }
73
+
74
+ if (${E}.value === undefined) {
75
+ if (${R} in input) {
76
+ newResult[${R}] = undefined;
77
+ }
78
+ } else {
79
+ newResult[${R}] = ${E}.value;
80
+ }
81
+
82
+ `)}p.write("payload.value = newResult;"),p.write("return payload;");let je=p.compile();return(F,E)=>je(m,F,E)},o,s=St,a=!Hn.jitless,l=a&&Ml.value,u=t.catchall,c;e._zod.parse=(m,p)=>{c??(c=r.value);let h=m.value;return s(h)?a&&l&&p?.async===!1&&p.jitless!==!0?(o||(o=n(t.shape)),m=o(m,p),u?Rc([],h,m,p,c,e):m):i(m,p):(m.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),m)}});function ka(e,t,i,r){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;let n=e.filter(o=>!ot(o));return n.length===1?(t.value=n[0].value,n[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:i,errors:e.map(o=>o.issues.map(s=>Pe(s,r,ve())))}),t)}var fi=f("$ZodUnion",(e,t)=>{N.init(e,t),j(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),j(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),j(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),j(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){let n=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${n.map(o=>di(o.source)).join("|")})$`)}});let i=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(n,o)=>{if(i)return r(n,o);let s=!1,a=[];for(let l of t.options){let u=l._zod.run({value:n.value,issues:[]},o);if(u instanceof Promise)a.push(u),s=!0;else{if(u.issues.length===0)return u;a.push(u)}}return s?Promise.all(a).then(l=>ka(l,n,e,o)):ka(a,n,e,o)}});function xa(e,t,i,r){let n=e.filter(o=>o.issues.length===0);return n.length===1?(t.value=n[0].value,t):(n.length===0?t.issues.push({code:"invalid_union",input:t.value,inst:i,errors:e.map(o=>o.issues.map(s=>Pe(s,r,ve())))}):t.issues.push({code:"invalid_union",input:t.value,inst:i,errors:[],inclusive:!1}),t)}var Mc=f("$ZodXor",(e,t)=>{fi.init(e,t),t.inclusive=!1;let i=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(n,o)=>{if(i)return r(n,o);let s=!1,a=[];for(let l of t.options){let u=l._zod.run({value:n.value,issues:[]},o);u instanceof Promise?(a.push(u),s=!0):a.push(u)}return s?Promise.all(a).then(l=>xa(l,n,e,o)):xa(a,n,e,o)}}),qc=f("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,fi.init(e,t);let i=e._zod.parse;j(e._zod,"propValues",()=>{let n={};for(let o of t.options){let s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(let[a,l]of Object.entries(s)){n[a]||(n[a]=new Set);for(let u of l)n[a].add(u)}}return n});let r=on(()=>{let n=t.options,o=new Map;for(let s of n){let a=s._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let l of a){if(o.has(l))throw Error(`Duplicate discriminator value "${String(l)}"`);o.set(l,s)}}return o});e._zod.parse=(n,o)=>{let s=n.value;if(!St(s))return n.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),n;let a=r.value.get(s?.[t.discriminator]);return a?a._zod.run(n,o):t.unionFallback?i(n,o):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),n)}}),Jc=f("$ZodIntersection",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{let n=i.value,o=t.left._zod.run({value:n,issues:[]},r),s=t.right._zod.run({value:n,issues:[]},r);return o instanceof Promise||s instanceof Promise?Promise.all([o,s]).then(([a,l])=>wa(i,a,l)):wa(i,o,s)}});function gr(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(lt(e)&&lt(t)){let i=Object.keys(t),r=Object.keys(e).filter(o=>i.indexOf(o)!==-1),n={...e,...t};for(let o of r){let s=gr(e[o],t[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};n[o]=s.data}return{valid:!0,data:n}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let i=[];for(let r=0;r<e.length;r++){let n=e[r],o=t[r],s=gr(n,o);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};i.push(s.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}function wa(e,t,i){let r=new Map,n;for(let a of t.issues)if(a.code==="unrecognized_keys"){n??(n=a);for(let l of a.keys)r.has(l)||r.set(l,{}),r.get(l).l=!0}else e.issues.push(a);for(let a of i.issues)if(a.code==="unrecognized_keys")for(let l of a.keys)r.has(l)||r.set(l,{}),r.get(l).r=!0;else e.issues.push(a);let o=[...r].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(o.length&&n&&e.issues.push({...n,keys:o}),ot(e))return e;let s=gr(t.value,i.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var go=f("$ZodTuple",(e,t)=>{N.init(e,t);let i=t.items;e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({input:o,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];let s=[],a=[...i].reverse().findIndex(c=>c._zod.optin!=="optional"),l=a===-1?0:i.length-a;if(!t.rest){let c=o.length>i.length,m=o.length<l-1;if(c||m)return r.issues.push({...c?{code:"too_big",maximum:i.length,inclusive:!0}:{code:"too_small",minimum:i.length},input:o,inst:e,origin:"array"}),r}let u=-1;for(let c of i){if(u++,u>=o.length&&u>=l)continue;let m=c._zod.run({value:o[u],issues:[]},n);m instanceof Promise?s.push(m.then(p=>Nn(p,r,u))):Nn(m,r,u)}if(t.rest){let c=o.slice(i.length);for(let m of c){u++;let p=t.rest._zod.run({value:m,issues:[]},n);p instanceof Promise?s.push(p.then(h=>Nn(h,r,u))):Nn(p,r,u)}}return s.length?Promise.all(s).then(()=>r):r}});function Nn(e,t,i){e.issues.length&&t.issues.push(...Ce(i,e.issues)),t.value[i]=e.value}var Wc=f("$ZodRecord",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{let n=i.value;if(!lt(n))return i.issues.push({expected:"record",code:"invalid_type",input:n,inst:e}),i;let o=[],s=t.keyType._zod.values;if(s){i.value={};let a=new Set;for(let u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){a.add(typeof u=="number"?u.toString():u);let c=t.valueType._zod.run({value:n[u],issues:[]},r);c instanceof Promise?o.push(c.then(m=>{m.issues.length&&i.issues.push(...Ce(u,m.issues)),i.value[u]=m.value})):(c.issues.length&&i.issues.push(...Ce(u,c.issues)),i.value[u]=c.value)}let l;for(let u in n)a.has(u)||(l=l??[],l.push(u));l&&l.length>0&&i.issues.push({code:"unrecognized_keys",input:n,inst:e,keys:l})}else{i.value={};for(let a of Reflect.ownKeys(n)){if(a==="__proto__")continue;let l=t.keyType._zod.run({value:a,issues:[]},r);if(l instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&uo.test(a)&&l.issues.length&&l.issues.some(c=>c.code==="invalid_type"&&c.expected==="number")){let c=t.keyType._zod.run({value:Number(a),issues:[]},r);if(c instanceof Promise)throw Error("Async schemas not supported in object keys currently");c.issues.length===0&&(l=c)}if(l.issues.length){t.mode==="loose"?i.value[a]=n[a]:i.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(c=>Pe(c,r,ve())),input:a,path:[a],inst:e});continue}let u=t.valueType._zod.run({value:n[a],issues:[]},r);u instanceof Promise?o.push(u.then(c=>{c.issues.length&&i.issues.push(...Ce(a,c.issues)),i.value[l.value]=c.value})):(u.issues.length&&i.issues.push(...Ce(a,u.issues)),i.value[l.value]=u.value)}}return o.length?Promise.all(o).then(()=>i):i}}),Bc=f("$ZodMap",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{let n=i.value;if(!(n instanceof Map))return i.issues.push({expected:"map",code:"invalid_type",input:n,inst:e}),i;let o=[];i.value=new Map;for(let[s,a]of n){let l=t.keyType._zod.run({value:s,issues:[]},r),u=t.valueType._zod.run({value:a,issues:[]},r);l instanceof Promise||u instanceof Promise?o.push(Promise.all([l,u]).then(([c,m])=>{Sa(c,m,i,s,n,e,r)})):Sa(l,u,i,s,n,e,r)}return o.length?Promise.all(o).then(()=>i):i}});function Sa(e,t,i,r,n,o,s){e.issues.length&&(Kn.has(typeof r)?i.issues.push(...Ce(r,e.issues)):i.issues.push({code:"invalid_key",origin:"map",input:n,inst:o,issues:e.issues.map(a=>Pe(a,s,ve()))})),t.issues.length&&(Kn.has(typeof r)?i.issues.push(...Ce(r,t.issues)):i.issues.push({origin:"map",code:"invalid_element",input:n,inst:o,key:r,issues:t.issues.map(a=>Pe(a,s,ve()))})),i.value.set(e.value,t.value)}var Hc=f("$ZodSet",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{let n=i.value;if(!(n instanceof Set))return i.issues.push({input:n,inst:e,expected:"set",code:"invalid_type"}),i;let o=[];i.value=new Set;for(let s of n){let a=t.valueType._zod.run({value:s,issues:[]},r);a instanceof Promise?o.push(a.then(l=>Ia(l,i))):Ia(a,i)}return o.length?Promise.all(o).then(()=>i):i}});function Ia(e,t){e.issues.length&&t.issues.push(...e.issues),t.value.add(e.value)}var Vc=f("$ZodEnum",(e,t)=>{N.init(e,t);let i=Kr(t.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(n=>Kn.has(typeof n)).map(n=>typeof n=="string"?We(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;return r.has(s)||n.issues.push({code:"invalid_value",values:i,input:s,inst:e}),n}}),Kc=f("$ZodLiteral",(e,t)=>{if(N.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let i=new Set(t.values);e._zod.values=i,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?We(r):r?We(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return i.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}}),Gc=f("$ZodFile",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{let n=i.value;return n instanceof File||i.issues.push({expected:"file",code:"invalid_type",input:n,inst:e}),i}}),Xc=f("$ZodTransform",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new ci(e.constructor.name);let n=t.transform(i.value,i);if(r.async)return(n instanceof Promise?n:Promise.resolve(n)).then(o=>(i.value=o,i));if(n instanceof Promise)throw new at;return i.value=n,i}});function Da(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var bo=f("$ZodOptional",(e,t)=>{N.init(e,t),e._zod.optin="optional",e._zod.optout="optional",j(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),j(e._zod,"pattern",()=>{let i=t.innerType._zod.pattern;return i?new RegExp(`^(${di(i.source)})?$`):void 0}),e._zod.parse=(i,r)=>{if(t.innerType._zod.optin==="optional"){let n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(o=>Da(o,i.value)):Da(n,i.value)}return i.value===void 0?i:t.innerType._zod.run(i,r)}}),Yc=f("$ZodExactOptional",(e,t)=>{bo.init(e,t),j(e._zod,"values",()=>t.innerType._zod.values),j(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(i,r)=>t.innerType._zod.run(i,r)}),Qc=f("$ZodNullable",(e,t)=>{N.init(e,t),j(e._zod,"optin",()=>t.innerType._zod.optin),j(e._zod,"optout",()=>t.innerType._zod.optout),j(e._zod,"pattern",()=>{let i=t.innerType._zod.pattern;return i?new RegExp(`^(${di(i.source)}|null)$`):void 0}),j(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(i,r)=>i.value===null?i:t.innerType._zod.run(i,r)}),ed=f("$ZodDefault",(e,t)=>{N.init(e,t),e._zod.optin="optional",j(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return t.innerType._zod.run(i,r);if(i.value===void 0)return i.value=t.defaultValue,i;let n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(o=>za(o,t)):za(n,t)}});function za(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var td=f("$ZodPrefault",(e,t)=>{N.init(e,t),e._zod.optin="optional",j(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(i,r)=>(r.direction==="backward"||i.value===void 0&&(i.value=t.defaultValue),t.innerType._zod.run(i,r))}),nd=f("$ZodNonOptional",(e,t)=>{N.init(e,t),j(e._zod,"values",()=>{let i=t.innerType._zod.values;return i?new Set([...i].filter(r=>r!==void 0)):void 0}),e._zod.parse=(i,r)=>{let n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(o=>Ta(o,e)):Ta(n,e)}});function Ta(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var id=f("$ZodSuccess",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new ci("ZodSuccess");let n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(o=>(i.value=o.issues.length===0,i)):(i.value=n.issues.length===0,i)}}),rd=f("$ZodCatch",(e,t)=>{N.init(e,t),j(e._zod,"optin",()=>t.innerType._zod.optin),j(e._zod,"optout",()=>t.innerType._zod.optout),j(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return t.innerType._zod.run(i,r);let n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(o=>(i.value=o.value,o.issues.length&&(i.value=t.catchValue({...i,error:{issues:o.issues.map(s=>Pe(s,r,ve()))},input:i.value}),i.issues=[]),i)):(i.value=n.value,n.issues.length&&(i.value=t.catchValue({...i,error:{issues:n.issues.map(o=>Pe(o,r,ve()))},input:i.value}),i.issues=[]),i)}}),od=f("$ZodNaN",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>((typeof i.value!="number"||!Number.isNaN(i.value))&&i.issues.push({input:i.value,inst:e,expected:"nan",code:"invalid_type"}),i)}),sd=f("$ZodPipe",(e,t)=>{N.init(e,t),j(e._zod,"values",()=>t.in._zod.values),j(e._zod,"optin",()=>t.in._zod.optin),j(e._zod,"optout",()=>t.out._zod.optout),j(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(i,r)=>{if(r.direction==="backward"){let o=t.out._zod.run(i,r);return o instanceof Promise?o.then(s=>En(s,t.in,r)):En(o,t.in,r)}let n=t.in._zod.run(i,r);return n instanceof Promise?n.then(o=>En(o,t.out,r)):En(n,t.out,r)}});function En(e,t,i){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},i)}var yo=f("$ZodCodec",(e,t)=>{N.init(e,t),j(e._zod,"values",()=>t.in._zod.values),j(e._zod,"optin",()=>t.in._zod.optin),j(e._zod,"optout",()=>t.out._zod.optout),j(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(i,r)=>{if((r.direction||"forward")==="forward"){let n=t.in._zod.run(i,r);return n instanceof Promise?n.then(o=>Zn(o,t,r)):Zn(n,t,r)}else{let n=t.out._zod.run(i,r);return n instanceof Promise?n.then(o=>Zn(o,t,r)):Zn(n,t,r)}}});function Zn(e,t,i){if(e.issues.length)return e.aborted=!0,e;if((i.direction||"forward")==="forward"){let r=t.transform(e.value,e);return r instanceof Promise?r.then(n=>Un(e,n,t.out,i)):Un(e,r,t.out,i)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(n=>Un(e,n,t.in,i)):Un(e,r,t.in,i)}}function Un(e,t,i,r){return e.issues.length?(e.aborted=!0,e):i._zod.run({value:t,issues:e.issues},r)}var ad=f("$ZodReadonly",(e,t)=>{N.init(e,t),j(e._zod,"propValues",()=>t.innerType._zod.propValues),j(e._zod,"values",()=>t.innerType._zod.values),j(e._zod,"optin",()=>t.innerType?._zod?.optin),j(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(i,r)=>{if(r.direction==="backward")return t.innerType._zod.run(i,r);let n=t.innerType._zod.run(i,r);return n instanceof Promise?n.then(Oa):Oa(n)}});function Oa(e){return e.value=Object.freeze(e.value),e}var ld=f("$ZodTemplateLiteral",(e,t)=>{N.init(e,t);let i=[];for(let r of t.parts)if(typeof r=="object"&&r!==null){if(!r._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...r._zod.traits].shift()}`);let n=r._zod.pattern instanceof RegExp?r._zod.pattern.source:r._zod.pattern;if(!n)throw Error(`Invalid template literal part: ${r._zod.traits}`);let o=n.startsWith("^")?1:0,s=n.endsWith("$")?n.length-1:n.length;i.push(n.slice(o,s))}else if(r===null||Jl.has(typeof r))i.push(We(`${r}`));else throw Error(`Invalid template literal part: ${r}`);e._zod.pattern=new RegExp(`^${i.join("")}$`),e._zod.parse=(r,n)=>typeof r.value!="string"?(r.issues.push({input:r.value,inst:e,expected:"string",code:"invalid_type"}),r):(e._zod.pattern.lastIndex=0,e._zod.pattern.test(r.value)||r.issues.push({input:r.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),r)}),ud=f("$ZodFunction",(e,t)=>(N.init(e,t),e._def=t,e._zod.def=t,e.implement=i=>{if(typeof i!="function")throw Error("implement() must be called with a function");return function(...r){let n=e._def.input?hr(e._def.input,r):r,o=Reflect.apply(i,this,n);return e._def.output?hr(e._def.output,o):o}},e.implementAsync=i=>{if(typeof i!="function")throw Error("implementAsync() must be called with a function");return async function(...r){let n=e._def.input?await vr(e._def.input,r):r,o=await Reflect.apply(i,this,n);return e._def.output?await vr(e._def.output,o):o}},e._zod.parse=(i,r)=>typeof i.value!="function"?(i.issues.push({code:"invalid_type",expected:"function",input:i.value,inst:e}),i):(e._def.output&&e._def.output._zod.def.type==="promise"?i.value=e.implementAsync(i.value):i.value=e.implement(i.value),i),e.input=(...i)=>{let r=e.constructor;return Array.isArray(i[0])?new r({type:"function",input:new go({type:"tuple",items:i[0],rest:i[1]}),output:e._def.output}):new r({type:"function",input:i[0],output:e._def.output})},e.output=i=>new e.constructor({type:"function",input:e._def.input,output:i}),e)),cd=f("$ZodPromise",(e,t)=>{N.init(e,t),e._zod.parse=(i,r)=>Promise.resolve(i.value).then(n=>t.innerType._zod.run({value:n,issues:[]},r))}),dd=f("$ZodLazy",(e,t)=>{N.init(e,t),j(e._zod,"innerType",()=>t.getter()),j(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),j(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),j(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),j(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(i,r)=>e._zod.innerType._zod.run(i,r)}),md=f("$ZodCustom",(e,t)=>{te.init(e,t),N.init(e,t),e._zod.parse=(i,r)=>i,e._zod.check=i=>{let r=i.value,n=t.fn(r);if(n instanceof Promise)return n.then(o=>Pa(o,i,r,e));Pa(n,i,r,e)}});function Pa(e,t,i,r){if(!e){let n={code:"custom",input:i,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(n.params=r._zod.def.params),t.issues.push(Gn(n))}}var _o={};Be(_o,{zhTW:()=>iw,zhCN:()=>tw,yo:()=>ow,vi:()=>Qx,uz:()=>Xx,ur:()=>Kx,uk:()=>hd,ua:()=>Hx,tr:()=>Wx,th:()=>qx,ta:()=>Fx,sv:()=>Rx,sl:()=>Ax,ru:()=>Ux,pt:()=>Ex,ps:()=>Tx,pl:()=>Px,ota:()=>Dx,no:()=>Sx,nl:()=>xx,ms:()=>$x,mk:()=>yx,lt:()=>gx,ko:()=>hx,km:()=>fd,kh:()=>px,ka:()=>dx,ja:()=>ux,it:()=>ax,is:()=>ox,id:()=>ix,hy:()=>tx,hu:()=>Qk,he:()=>Xk,frCA:()=>Kk,fr:()=>Hk,fi:()=>Wk,fa:()=>qk,es:()=>Fk,eo:()=>Rk,en:()=>pd,de:()=>jk,da:()=>Zk,cs:()=>Nk,ca:()=>Ok,bg:()=>zk,be:()=>Ik,az:()=>wk,ar:()=>kk});var $k=()=>{let e={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function t(n){return e[n]??null}let i={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`مدخلات غير مقبولة: يفترض إدخال instanceof ${n.expected}، ولكن تم إدخال ${a}`:`مدخلات غير مقبولة: يفترض إدخال ${o}، ولكن تم إدخال ${a}`}case"invalid_value":return n.values.length===1?`مدخلات غير مقبولة: يفترض إدخال ${O(n.values[0])}`:`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?` أكبر من اللازم: يفترض أن تكون ${n.origin??"القيمة"} ${o} ${n.maximum.toString()} ${s.unit??"عنصر"}`:`أكبر من اللازم: يفترض أن تكون ${n.origin??"القيمة"} ${o} ${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`أصغر من اللازم: يفترض لـ ${n.origin} أن يكون ${o} ${n.minimum.toString()} ${s.unit}`:`أصغر من اللازم: يفترض لـ ${n.origin} أن يكون ${o} ${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`نَص غير مقبول: يجب أن يبدأ بـ "${n.prefix}"`:o.format==="ends_with"?`نَص غير مقبول: يجب أن ينتهي بـ "${o.suffix}"`:o.format==="includes"?`نَص غير مقبول: يجب أن يتضمَّن "${o.includes}"`:o.format==="regex"?`نَص غير مقبول: يجب أن يطابق النمط ${o.pattern}`:`${i[o.format]??n.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${n.divisor}`;case"unrecognized_keys":return`معرف${n.keys.length>1?"ات":""} غريب${n.keys.length>1?"ة":""}: ${_(n.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${n.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${n.origin}`;default:return"مدخل غير مقبول"}}};function kk(){return{localeError:$k()}}var xk=()=>{let e={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function t(n){return e[n]??null}let i={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",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Yanlış dəyər: gözlənilən instanceof ${n.expected}, daxil olan ${a}`:`Yanlış dəyər: gözlənilən ${o}, daxil olan ${a}`}case"invalid_value":return n.values.length===1?`Yanlış dəyər: gözlənilən ${O(n.values[0])}`:`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Çox böyük: gözlənilən ${n.origin??"dəyər"} ${o}${n.maximum.toString()} ${s.unit??"element"}`:`Çox böyük: gözlənilən ${n.origin??"dəyər"} ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Çox kiçik: gözlənilən ${n.origin} ${o}${n.minimum.toString()} ${s.unit}`:`Çox kiçik: gözlənilən ${n.origin} ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Yanlış mətn: "${o.prefix}" ilə başlamalıdır`:o.format==="ends_with"?`Yanlış mətn: "${o.suffix}" ilə bitməlidir`:o.format==="includes"?`Yanlış mətn: "${o.includes}" daxil olmalıdır`:o.format==="regex"?`Yanlış mətn: ${o.pattern} şablonuna uyğun olmalıdır`:`Yanlış ${i[o.format]??n.format}`}case"not_multiple_of":return`Yanlış ədəd: ${n.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${n.keys.length>1?"lar":""}: ${_(n.keys,", ")}`;case"invalid_key":return`${n.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${n.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};function wk(){return{localeError:xk()}}function Na(e,t,i,r){let n=Math.abs(e),o=n%10,s=n%100;return s>=11&&s<=19?r:o===1?t:o>=2&&o<=4?i:r}var Sk=()=>{let e={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function t(n){return e[n]??null}let i={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},r={nan:"NaN",number:"лік",array:"масіў"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Няправільны ўвод: чакаўся instanceof ${n.expected}, атрымана ${a}`:`Няправільны ўвод: чакаўся ${o}, атрымана ${a}`}case"invalid_value":return n.values.length===1?`Няправільны ўвод: чакалася ${O(n.values[0])}`:`Няправільны варыянт: чакаўся адзін з ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);if(s){let a=Number(n.maximum),l=Na(a,s.unit.one,s.unit.few,s.unit.many);return`Занадта вялікі: чакалася, што ${n.origin??"значэнне"} павінна ${s.verb} ${o}${n.maximum.toString()} ${l}`}return`Занадта вялікі: чакалася, што ${n.origin??"значэнне"} павінна быць ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);if(s){let a=Number(n.minimum),l=Na(a,s.unit.one,s.unit.few,s.unit.many);return`Занадта малы: чакалася, што ${n.origin} павінна ${s.verb} ${o}${n.minimum.toString()} ${l}`}return`Занадта малы: чакалася, што ${n.origin} павінна быць ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Няправільны радок: павінен пачынацца з "${o.prefix}"`:o.format==="ends_with"?`Няправільны радок: павінен заканчвацца на "${o.suffix}"`:o.format==="includes"?`Няправільны радок: павінен змяшчаць "${o.includes}"`:o.format==="regex"?`Няправільны радок: павінен адпавядаць шаблону ${o.pattern}`:`Няправільны ${i[o.format]??n.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${n.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${n.keys.length>1?"ключы":"ключ"}: ${_(n.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${n.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${n.origin}`;default:return"Няправільны ўвод"}}};function Ik(){return{localeError:Sk()}}var Dk=()=>{let e={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function t(n){return e[n]??null}let i={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},r={nan:"NaN",number:"число",array:"масив"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Невалиден вход: очакван instanceof ${n.expected}, получен ${a}`:`Невалиден вход: очакван ${o}, получен ${a}`}case"invalid_value":return n.values.length===1?`Невалиден вход: очакван ${O(n.values[0])}`:`Невалидна опция: очаквано едно от ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Твърде голямо: очаква се ${n.origin??"стойност"} да съдържа ${o}${n.maximum.toString()} ${s.unit??"елемента"}`:`Твърде голямо: очаква се ${n.origin??"стойност"} да бъде ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Твърде малко: очаква се ${n.origin} да съдържа ${o}${n.minimum.toString()} ${s.unit}`:`Твърде малко: очаква се ${n.origin} да бъде ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;if(o.format==="starts_with")return`Невалиден низ: трябва да започва с "${o.prefix}"`;if(o.format==="ends_with")return`Невалиден низ: трябва да завършва с "${o.suffix}"`;if(o.format==="includes")return`Невалиден низ: трябва да включва "${o.includes}"`;if(o.format==="regex")return`Невалиден низ: трябва да съвпада с ${o.pattern}`;let s="Невалиден";return o.format==="emoji"&&(s="Невалидно"),o.format==="datetime"&&(s="Невалидно"),o.format==="date"&&(s="Невалидна"),o.format==="time"&&(s="Невалидно"),o.format==="duration"&&(s="Невалидна"),`${s} ${i[o.format]??n.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${n.divisor}`;case"unrecognized_keys":return`Неразпознат${n.keys.length>1?"и":""} ключ${n.keys.length>1?"ове":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${n.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${n.origin}`;default:return"Невалиден вход"}}};function zk(){return{localeError:Dk()}}var Tk=()=>{let e={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function t(n){return e[n]??null}let i={regex:"entrada",email:"adreça electrònica",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:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Tipus invàlid: s'esperava instanceof ${n.expected}, s'ha rebut ${a}`:`Tipus invàlid: s'esperava ${o}, s'ha rebut ${a}`}case"invalid_value":return n.values.length===1?`Valor invàlid: s'esperava ${O(n.values[0])}`:`Opció invàlida: s'esperava una de ${_(n.values," o ")}`;case"too_big":{let o=n.inclusive?"com a màxim":"menys de",s=t(n.origin);return s?`Massa gran: s'esperava que ${n.origin??"el valor"} contingués ${o} ${n.maximum.toString()} ${s.unit??"elements"}`:`Massa gran: s'esperava que ${n.origin??"el valor"} fos ${o} ${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?"com a mínim":"més de",s=t(n.origin);return s?`Massa petit: s'esperava que ${n.origin} contingués ${o} ${n.minimum.toString()} ${s.unit}`:`Massa petit: s'esperava que ${n.origin} fos ${o} ${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Format invàlid: ha de començar amb "${o.prefix}"`:o.format==="ends_with"?`Format invàlid: ha d'acabar amb "${o.suffix}"`:o.format==="includes"?`Format invàlid: ha d'incloure "${o.includes}"`:o.format==="regex"?`Format invàlid: ha de coincidir amb el patró ${o.pattern}`:`Format invàlid per a ${i[o.format]??n.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${n.divisor}`;case"unrecognized_keys":return`Clau${n.keys.length>1?"s":""} no reconeguda${n.keys.length>1?"s":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${n.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${n.origin}`;default:return"Entrada invàlida"}}};function Ok(){return{localeError:Tk()}}var Pk=()=>{let e={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function t(n){return e[n]??null}let i={regex:"regulární výraz",email:"e-mailová adresa",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:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},r={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Neplatný vstup: očekáváno instanceof ${n.expected}, obdrženo ${a}`:`Neplatný vstup: očekáváno ${o}, obdrženo ${a}`}case"invalid_value":return n.values.length===1?`Neplatný vstup: očekáváno ${O(n.values[0])}`:`Neplatná možnost: očekávána jedna z hodnot ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Hodnota je příliš velká: ${n.origin??"hodnota"} musí mít ${o}${n.maximum.toString()} ${s.unit??"prvků"}`:`Hodnota je příliš velká: ${n.origin??"hodnota"} musí být ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Hodnota je příliš malá: ${n.origin??"hodnota"} musí mít ${o}${n.minimum.toString()} ${s.unit??"prvků"}`:`Hodnota je příliš malá: ${n.origin??"hodnota"} musí být ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Neplatný řetězec: musí začínat na "${o.prefix}"`:o.format==="ends_with"?`Neplatný řetězec: musí končit na "${o.suffix}"`:o.format==="includes"?`Neplatný řetězec: musí obsahovat "${o.includes}"`:o.format==="regex"?`Neplatný řetězec: musí odpovídat vzoru ${o.pattern}`:`Neplatný formát ${i[o.format]??n.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${n.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${_(n.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${n.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${n.origin}`;default:return"Neplatný vstup"}}};function Nk(){return{localeError:Pk()}}var Ek=()=>{let e={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function t(n){return e[n]??null}let i={regex:"input",email:"e-mailadresse",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 dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},r={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Ugyldigt input: forventede instanceof ${n.expected}, fik ${a}`:`Ugyldigt input: forventede ${o}, fik ${a}`}case"invalid_value":return n.values.length===1?`Ugyldig værdi: forventede ${O(n.values[0])}`:`Ugyldigt valg: forventede en af følgende ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin),a=r[n.origin]??n.origin;return s?`For stor: forventede ${a??"value"} ${s.verb} ${o} ${n.maximum.toString()} ${s.unit??"elementer"}`:`For stor: forventede ${a??"value"} havde ${o} ${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin),a=r[n.origin]??n.origin;return s?`For lille: forventede ${a} ${s.verb} ${o} ${n.minimum.toString()} ${s.unit}`:`For lille: forventede ${a} havde ${o} ${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Ugyldig streng: skal starte med "${o.prefix}"`:o.format==="ends_with"?`Ugyldig streng: skal ende med "${o.suffix}"`:o.format==="includes"?`Ugyldig streng: skal indeholde "${o.includes}"`:o.format==="regex"?`Ugyldig streng: skal matche mønsteret ${o.pattern}`:`Ugyldig ${i[o.format]??n.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${n.divisor}`;case"unrecognized_keys":return`${n.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${_(n.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${n.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${n.origin}`;default:return"Ugyldigt input"}}};function Zk(){return{localeError:Ek()}}var Uk=()=>{let e={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function t(n){return e[n]??null}let i={regex:"Eingabe",email:"E-Mail-Adresse",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-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},r={nan:"NaN",number:"Zahl",array:"Array"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Ungültige Eingabe: erwartet instanceof ${n.expected}, erhalten ${a}`:`Ungültige Eingabe: erwartet ${o}, erhalten ${a}`}case"invalid_value":return n.values.length===1?`Ungültige Eingabe: erwartet ${O(n.values[0])}`:`Ungültige Option: erwartet eine von ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Zu groß: erwartet, dass ${n.origin??"Wert"} ${o}${n.maximum.toString()} ${s.unit??"Elemente"} hat`:`Zu groß: erwartet, dass ${n.origin??"Wert"} ${o}${n.maximum.toString()} ist`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Zu klein: erwartet, dass ${n.origin} ${o}${n.minimum.toString()} ${s.unit} hat`:`Zu klein: erwartet, dass ${n.origin} ${o}${n.minimum.toString()} ist`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Ungültiger String: muss mit "${o.prefix}" beginnen`:o.format==="ends_with"?`Ungültiger String: muss mit "${o.suffix}" enden`:o.format==="includes"?`Ungültiger String: muss "${o.includes}" enthalten`:o.format==="regex"?`Ungültiger String: muss dem Muster ${o.pattern} entsprechen`:`Ungültig: ${i[o.format]??n.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${n.divisor} sein`;case"unrecognized_keys":return`${n.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${_(n.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${n.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${n.origin}`;default:return"Ungültige Eingabe"}}};function jk(){return{localeError:Uk()}}var Ak=()=>{let 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(n){return e[n]??null}let i={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",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return`Invalid input: expected ${o}, received ${a}`}case"invalid_value":return n.values.length===1?`Invalid input: expected ${O(n.values[0])}`:`Invalid option: expected one of ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${i[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function pd(){return{localeError:Ak()}}var Ck=()=>{let e={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function t(n){return e[n]??null}let i={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},r={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Nevalida enigo: atendiĝis instanceof ${n.expected}, riceviĝis ${a}`:`Nevalida enigo: atendiĝis ${o}, riceviĝis ${a}`}case"invalid_value":return n.values.length===1?`Nevalida enigo: atendiĝis ${O(n.values[0])}`:`Nevalida opcio: atendiĝis unu el ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Tro granda: atendiĝis ke ${n.origin??"valoro"} havu ${o}${n.maximum.toString()} ${s.unit??"elementojn"}`:`Tro granda: atendiĝis ke ${n.origin??"valoro"} havu ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Tro malgranda: atendiĝis ke ${n.origin} havu ${o}${n.minimum.toString()} ${s.unit}`:`Tro malgranda: atendiĝis ke ${n.origin} estu ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Nevalida karaktraro: devas komenciĝi per "${o.prefix}"`:o.format==="ends_with"?`Nevalida karaktraro: devas finiĝi per "${o.suffix}"`:o.format==="includes"?`Nevalida karaktraro: devas inkluzivi "${o.includes}"`:o.format==="regex"?`Nevalida karaktraro: devas kongrui kun la modelo ${o.pattern}`:`Nevalida ${i[o.format]??n.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${n.divisor}`;case"unrecognized_keys":return`Nekonata${n.keys.length>1?"j":""} ŝlosilo${n.keys.length>1?"j":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${n.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${n.origin}`;default:return"Nevalida enigo"}}};function Rk(){return{localeError:Ck()}}var Lk=()=>{let e={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function t(n){return e[n]??null}let i={regex:"entrada",email:"dirección de correo electrónico",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:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Entrada inválida: se esperaba instanceof ${n.expected}, recibido ${a}`:`Entrada inválida: se esperaba ${o}, recibido ${a}`}case"invalid_value":return n.values.length===1?`Entrada inválida: se esperaba ${O(n.values[0])}`:`Opción inválida: se esperaba una de ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin),a=r[n.origin]??n.origin;return s?`Demasiado grande: se esperaba que ${a??"valor"} tuviera ${o}${n.maximum.toString()} ${s.unit??"elementos"}`:`Demasiado grande: se esperaba que ${a??"valor"} fuera ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin),a=r[n.origin]??n.origin;return s?`Demasiado pequeño: se esperaba que ${a} tuviera ${o}${n.minimum.toString()} ${s.unit}`:`Demasiado pequeño: se esperaba que ${a} fuera ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Cadena inválida: debe comenzar con "${o.prefix}"`:o.format==="ends_with"?`Cadena inválida: debe terminar en "${o.suffix}"`:o.format==="includes"?`Cadena inválida: debe incluir "${o.includes}"`:o.format==="regex"?`Cadena inválida: debe coincidir con el patrón ${o.pattern}`:`Inválido ${i[o.format]??n.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${n.divisor}`;case"unrecognized_keys":return`Llave${n.keys.length>1?"s":""} desconocida${n.keys.length>1?"s":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Llave inválida en ${r[n.origin]??n.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${r[n.origin]??n.origin}`;default:return"Entrada inválida"}}};function Fk(){return{localeError:Lk()}}var Mk=()=>{let e={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function t(n){return e[n]??null}let i={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},r={nan:"NaN",number:"عدد",array:"آرایه"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`ورودی نامعتبر: می‌بایست instanceof ${n.expected} می‌بود، ${a} دریافت شد`:`ورودی نامعتبر: می‌بایست ${o} می‌بود، ${a} دریافت شد`}case"invalid_value":return n.values.length===1?`ورودی نامعتبر: می‌بایست ${O(n.values[0])} می‌بود`:`گزینه نامعتبر: می‌بایست یکی از ${_(n.values,"|")} می‌بود`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`خیلی بزرگ: ${n.origin??"مقدار"} باید ${o}${n.maximum.toString()} ${s.unit??"عنصر"} باشد`:`خیلی بزرگ: ${n.origin??"مقدار"} باید ${o}${n.maximum.toString()} باشد`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`خیلی کوچک: ${n.origin} باید ${o}${n.minimum.toString()} ${s.unit} باشد`:`خیلی کوچک: ${n.origin} باید ${o}${n.minimum.toString()} باشد`}case"invalid_format":{let o=n;return o.format==="starts_with"?`رشته نامعتبر: باید با "${o.prefix}" شروع شود`:o.format==="ends_with"?`رشته نامعتبر: باید با "${o.suffix}" تمام شود`:o.format==="includes"?`رشته نامعتبر: باید شامل "${o.includes}" باشد`:o.format==="regex"?`رشته نامعتبر: باید با الگوی ${o.pattern} مطابقت داشته باشد`:`${i[o.format]??n.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${n.divisor} باشد`;case"unrecognized_keys":return`کلید${n.keys.length>1?"های":""} ناشناس: ${_(n.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${n.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${n.origin}`;default:return"ورودی نامعتبر"}}};function qk(){return{localeError:Mk()}}var Jk=()=>{let e={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function t(n){return e[n]??null}let i={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Virheellinen tyyppi: odotettiin instanceof ${n.expected}, oli ${a}`:`Virheellinen tyyppi: odotettiin ${o}, oli ${a}`}case"invalid_value":return n.values.length===1?`Virheellinen syöte: täytyy olla ${O(n.values[0])}`:`Virheellinen valinta: täytyy olla yksi seuraavista: ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Liian suuri: ${s.subject} täytyy olla ${o}${n.maximum.toString()} ${s.unit}`.trim():`Liian suuri: arvon täytyy olla ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Liian pieni: ${s.subject} täytyy olla ${o}${n.minimum.toString()} ${s.unit}`.trim():`Liian pieni: arvon täytyy olla ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Virheellinen syöte: täytyy alkaa "${o.prefix}"`:o.format==="ends_with"?`Virheellinen syöte: täytyy loppua "${o.suffix}"`:o.format==="includes"?`Virheellinen syöte: täytyy sisältää "${o.includes}"`:o.format==="regex"?`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${o.pattern}`:`Virheellinen ${i[o.format]??n.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${n.divisor} monikerta`;case"unrecognized_keys":return`${n.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${_(n.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};function Wk(){return{localeError:Jk()}}var Bk=()=>{let e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(n){return e[n]??null}let i={regex:"entrée",email:"adresse e-mail",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:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},r={nan:"NaN",number:"nombre",array:"tableau"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Entrée invalide : instanceof ${n.expected} attendu, ${a} reçu`:`Entrée invalide : ${o} attendu, ${a} reçu`}case"invalid_value":return n.values.length===1?`Entrée invalide : ${O(n.values[0])} attendu`:`Option invalide : une valeur parmi ${_(n.values,"|")} attendue`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Trop grand : ${n.origin??"valeur"} doit ${s.verb} ${o}${n.maximum.toString()} ${s.unit??"élément(s)"}`:`Trop grand : ${n.origin??"valeur"} doit être ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Trop petit : ${n.origin} doit ${s.verb} ${o}${n.minimum.toString()} ${s.unit}`:`Trop petit : ${n.origin} doit être ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Chaîne invalide : doit commencer par "${o.prefix}"`:o.format==="ends_with"?`Chaîne invalide : doit se terminer par "${o.suffix}"`:o.format==="includes"?`Chaîne invalide : doit inclure "${o.includes}"`:o.format==="regex"?`Chaîne invalide : doit correspondre au modèle ${o.pattern}`:`${i[o.format]??n.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${n.divisor}`;case"unrecognized_keys":return`Clé${n.keys.length>1?"s":""} non reconnue${n.keys.length>1?"s":""} : ${_(n.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${n.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${n.origin}`;default:return"Entrée invalide"}}};function Hk(){return{localeError:Bk()}}var Vk=()=>{let e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(n){return e[n]??null}let i={regex:"entrée",email:"adresse courriel",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:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Entrée invalide : attendu instanceof ${n.expected}, reçu ${a}`:`Entrée invalide : attendu ${o}, reçu ${a}`}case"invalid_value":return n.values.length===1?`Entrée invalide : attendu ${O(n.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"≤":"<",s=t(n.origin);return s?`Trop grand : attendu que ${n.origin??"la valeur"} ait ${o}${n.maximum.toString()} ${s.unit}`:`Trop grand : attendu que ${n.origin??"la valeur"} soit ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?"≥":">",s=t(n.origin);return s?`Trop petit : attendu que ${n.origin} ait ${o}${n.minimum.toString()} ${s.unit}`:`Trop petit : attendu que ${n.origin} soit ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Chaîne invalide : doit commencer par "${o.prefix}"`:o.format==="ends_with"?`Chaîne invalide : doit se terminer par "${o.suffix}"`:o.format==="includes"?`Chaîne invalide : doit inclure "${o.includes}"`:o.format==="regex"?`Chaîne invalide : doit correspondre au motif ${o.pattern}`:`${i[o.format]??n.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${n.divisor}`;case"unrecognized_keys":return`Clé${n.keys.length>1?"s":""} non reconnue${n.keys.length>1?"s":""} : ${_(n.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${n.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${n.origin}`;default:return"Entrée invalide"}}};function Kk(){return{localeError:Vk()}}var Gk=()=>{let e={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},t={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},i=u=>u?e[u]:void 0,r=u=>{let c=i(u);return c?c.label:u??e.unknown.label},n=u=>`ה${r(u)}`,o=u=>(i(u)?.gender??"m")==="f"?"צריכה להיות":"צריך להיות",s=u=>u?t[u]??null:null,a={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},l={nan:"NaN"};return u=>{switch(u.code){case"invalid_type":{let c=u.expected,m=l[c??""]??r(c),p=P(u.input),h=l[p]??e[p]?.label??p;return/^[A-Z]/.test(u.expected)?`קלט לא תקין: צריך להיות instanceof ${u.expected}, התקבל ${h}`:`קלט לא תקין: צריך להיות ${m}, התקבל ${h}`}case"invalid_value":{if(u.values.length===1)return`ערך לא תקין: הערך חייב להיות ${O(u.values[0])}`;let c=u.values.map(p=>O(p));if(u.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${c[0]} או ${c[1]}`;let m=c[c.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${c.slice(0,-1).join(", ")} או ${m}`}case"too_big":{let c=s(u.origin),m=n(u.origin??"value");if(u.origin==="string")return`${c?.longLabel??"ארוך"} מדי: ${m} צריכה להכיל ${u.maximum.toString()} ${c?.unit??""} ${u.inclusive?"או פחות":"לכל היותר"}`.trim();if(u.origin==="number"){let S=u.inclusive?`קטן או שווה ל-${u.maximum}`:`קטן מ-${u.maximum}`;return`גדול מדי: ${m} צריך להיות ${S}`}if(u.origin==="array"||u.origin==="set"){let S=u.origin==="set"?"צריכה":"צריך",D=u.inclusive?`${u.maximum} ${c?.unit??""} או פחות`:`פחות מ-${u.maximum} ${c?.unit??""}`;return`גדול מדי: ${m} ${S} להכיל ${D}`.trim()}let p=u.inclusive?"<=":"<",h=o(u.origin??"value");return c?.unit?`${c.longLabel} מדי: ${m} ${h} ${p}${u.maximum.toString()} ${c.unit}`:`${c?.longLabel??"גדול"} מדי: ${m} ${h} ${p}${u.maximum.toString()}`}case"too_small":{let c=s(u.origin),m=n(u.origin??"value");if(u.origin==="string")return`${c?.shortLabel??"קצר"} מדי: ${m} צריכה להכיל ${u.minimum.toString()} ${c?.unit??""} ${u.inclusive?"או יותר":"לפחות"}`.trim();if(u.origin==="number"){let S=u.inclusive?`גדול או שווה ל-${u.minimum}`:`גדול מ-${u.minimum}`;return`קטן מדי: ${m} צריך להיות ${S}`}if(u.origin==="array"||u.origin==="set"){let S=u.origin==="set"?"צריכה":"צריך";if(u.minimum===1&&u.inclusive){let ze=(u.origin==="set","לפחות פריט אחד");return`קטן מדי: ${m} ${S} להכיל ${ze}`}let D=u.inclusive?`${u.minimum} ${c?.unit??""} או יותר`:`יותר מ-${u.minimum} ${c?.unit??""}`;return`קטן מדי: ${m} ${S} להכיל ${D}`.trim()}let p=u.inclusive?">=":">",h=o(u.origin??"value");return c?.unit?`${c.shortLabel} מדי: ${m} ${h} ${p}${u.minimum.toString()} ${c.unit}`:`${c?.shortLabel??"קטן"} מדי: ${m} ${h} ${p}${u.minimum.toString()}`}case"invalid_format":{let c=u;if(c.format==="starts_with")return`המחרוזת חייבת להתחיל ב "${c.prefix}"`;if(c.format==="ends_with")return`המחרוזת חייבת להסתיים ב "${c.suffix}"`;if(c.format==="includes")return`המחרוזת חייבת לכלול "${c.includes}"`;if(c.format==="regex")return`המחרוזת חייבת להתאים לתבנית ${c.pattern}`;let m=a[c.format],p=m?.label??c.format,h=(m?.gender??"m")==="f"?"תקינה":"תקין";return`${p} לא ${h}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${u.divisor}`;case"unrecognized_keys":return`מפתח${u.keys.length>1?"ות":""} לא מזוה${u.keys.length>1?"ים":"ה"}: ${_(u.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${n(u.origin??"array")}`;default:return"קלט לא תקין"}}};function Xk(){return{localeError:Gk()}}var Yk=()=>{let e={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function t(n){return e[n]??null}let i={regex:"bemenet",email:"email cím",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 időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},r={nan:"NaN",number:"szám",array:"tömb"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Érvénytelen bemenet: a várt érték instanceof ${n.expected}, a kapott érték ${a}`:`Érvénytelen bemenet: a várt érték ${o}, a kapott érték ${a}`}case"invalid_value":return n.values.length===1?`Érvénytelen bemenet: a várt érték ${O(n.values[0])}`:`Érvénytelen opció: valamelyik érték várt ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Túl nagy: ${n.origin??"érték"} mérete túl nagy ${o}${n.maximum.toString()} ${s.unit??"elem"}`:`Túl nagy: a bemeneti érték ${n.origin??"érték"} túl nagy: ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Túl kicsi: a bemeneti érték ${n.origin} mérete túl kicsi ${o}${n.minimum.toString()} ${s.unit}`:`Túl kicsi: a bemeneti érték ${n.origin} túl kicsi ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Érvénytelen string: "${o.prefix}" értékkel kell kezdődnie`:o.format==="ends_with"?`Érvénytelen string: "${o.suffix}" értékkel kell végződnie`:o.format==="includes"?`Érvénytelen string: "${o.includes}" értéket kell tartalmaznia`:o.format==="regex"?`Érvénytelen string: ${o.pattern} mintának kell megfelelnie`:`Érvénytelen ${i[o.format]??n.format}`}case"not_multiple_of":return`Érvénytelen szám: ${n.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${n.keys.length>1?"s":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${n.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${n.origin}`;default:return"Érvénytelen bemenet"}}};function Qk(){return{localeError:Yk()}}function Ea(e,t,i){return Math.abs(e)===1?t:i}function ht(e){if(!e)return"";let t=["ա","ե","ը","ի","ո","ու","օ"],i=e[e.length-1];return e+(t.includes(i)?"ն":"ը")}var ex=()=>{let e={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}};function t(n){return e[n]??null}let i={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},r={nan:"NaN",number:"թիվ",array:"զանգված"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Սխալ մուտքագրում․ սպասվում էր instanceof ${n.expected}, ստացվել է ${a}`:`Սխալ մուտքագրում․ սպասվում էր ${o}, ստացվել է ${a}`}case"invalid_value":return n.values.length===1?`Սխալ մուտքագրում․ սպասվում էր ${O(n.values[1])}`:`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);if(s){let a=Number(n.maximum),l=Ea(a,s.unit.one,s.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${ht(n.origin??"արժեք")} կունենա ${o}${n.maximum.toString()} ${l}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${ht(n.origin??"արժեք")} լինի ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);if(s){let a=Number(n.minimum),l=Ea(a,s.unit.one,s.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${ht(n.origin)} կունենա ${o}${n.minimum.toString()} ${l}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${ht(n.origin)} լինի ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Սխալ տող․ պետք է սկսվի "${o.prefix}"-ով`:o.format==="ends_with"?`Սխալ տող․ պետք է ավարտվի "${o.suffix}"-ով`:o.format==="includes"?`Սխալ տող․ պետք է պարունակի "${o.includes}"`:o.format==="regex"?`Սխալ տող․ պետք է համապատասխանի ${o.pattern} ձևաչափին`:`Սխալ ${i[o.format]??n.format}`}case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${n.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${n.keys.length>1?"ներ":""}. ${_(n.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${ht(n.origin)}-ում`;case"invalid_union":return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${ht(n.origin)}-ում`;default:return"Սխալ մուտքագրում"}}};function tx(){return{localeError:ex()}}var nx=()=>{let e={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function t(n){return e[n]??null}let i={regex:"input",email:"alamat email",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:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Input tidak valid: diharapkan instanceof ${n.expected}, diterima ${a}`:`Input tidak valid: diharapkan ${o}, diterima ${a}`}case"invalid_value":return n.values.length===1?`Input tidak valid: diharapkan ${O(n.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Terlalu besar: diharapkan ${n.origin??"value"} memiliki ${o}${n.maximum.toString()} ${s.unit??"elemen"}`:`Terlalu besar: diharapkan ${n.origin??"value"} menjadi ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Terlalu kecil: diharapkan ${n.origin} memiliki ${o}${n.minimum.toString()} ${s.unit}`:`Terlalu kecil: diharapkan ${n.origin} menjadi ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`String tidak valid: harus dimulai dengan "${o.prefix}"`:o.format==="ends_with"?`String tidak valid: harus berakhir dengan "${o.suffix}"`:o.format==="includes"?`String tidak valid: harus menyertakan "${o.includes}"`:o.format==="regex"?`String tidak valid: harus sesuai pola ${o.pattern}`:`${i[o.format]??n.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${n.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${n.keys.length>1?"s":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${n.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${n.origin}`;default:return"Input tidak valid"}}};function ix(){return{localeError:nx()}}var rx=()=>{let e={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function t(n){return e[n]??null}let i={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},r={nan:"NaN",number:"númer",array:"fylki"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Rangt gildi: Þú slóst inn ${a} þar sem á að vera instanceof ${n.expected}`:`Rangt gildi: Þú slóst inn ${a} þar sem á að vera ${o}`}case"invalid_value":return n.values.length===1?`Rangt gildi: gert ráð fyrir ${O(n.values[0])}`:`Ógilt val: má vera eitt af eftirfarandi ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Of stórt: gert er ráð fyrir að ${n.origin??"gildi"} hafi ${o}${n.maximum.toString()} ${s.unit??"hluti"}`:`Of stórt: gert er ráð fyrir að ${n.origin??"gildi"} sé ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Of lítið: gert er ráð fyrir að ${n.origin} hafi ${o}${n.minimum.toString()} ${s.unit}`:`Of lítið: gert er ráð fyrir að ${n.origin} sé ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Ógildur strengur: verður að byrja á "${o.prefix}"`:o.format==="ends_with"?`Ógildur strengur: verður að enda á "${o.suffix}"`:o.format==="includes"?`Ógildur strengur: verður að innihalda "${o.includes}"`:o.format==="regex"?`Ógildur strengur: verður að fylgja mynstri ${o.pattern}`:`Rangt ${i[o.format]??n.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${n.divisor}`;case"unrecognized_keys":return`Óþekkt ${n.keys.length>1?"ir lyklar":"ur lykill"}: ${_(n.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${n.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${n.origin}`;default:return"Rangt gildi"}}};function ox(){return{localeError:rx()}}var sx=()=>{let e={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function t(n){return e[n]??null}let i={regex:"input",email:"indirizzo email",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:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"numero",array:"vettore"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Input non valido: atteso instanceof ${n.expected}, ricevuto ${a}`:`Input non valido: atteso ${o}, ricevuto ${a}`}case"invalid_value":return n.values.length===1?`Input non valido: atteso ${O(n.values[0])}`:`Opzione non valida: atteso uno tra ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Troppo grande: ${n.origin??"valore"} deve avere ${o}${n.maximum.toString()} ${s.unit??"elementi"}`:`Troppo grande: ${n.origin??"valore"} deve essere ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Troppo piccolo: ${n.origin} deve avere ${o}${n.minimum.toString()} ${s.unit}`:`Troppo piccolo: ${n.origin} deve essere ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Stringa non valida: deve iniziare con "${o.prefix}"`:o.format==="ends_with"?`Stringa non valida: deve terminare con "${o.suffix}"`:o.format==="includes"?`Stringa non valida: deve includere "${o.includes}"`:o.format==="regex"?`Stringa non valida: deve corrispondere al pattern ${o.pattern}`:`Invalid ${i[o.format]??n.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${n.divisor}`;case"unrecognized_keys":return`Chiav${n.keys.length>1?"i":"e"} non riconosciut${n.keys.length>1?"e":"a"}: ${_(n.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${n.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${n.origin}`;default:return"Input non valido"}}};function ax(){return{localeError:sx()}}var lx=()=>{let e={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function t(n){return e[n]??null}let i={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},r={nan:"NaN",number:"数値",array:"配列"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`無効な入力: instanceof ${n.expected}が期待されましたが、${a}が入力されました`:`無効な入力: ${o}が期待されましたが、${a}が入力されました`}case"invalid_value":return n.values.length===1?`無効な入力: ${O(n.values[0])}が期待されました`:`無効な選択: ${_(n.values,"、")}のいずれかである必要があります`;case"too_big":{let o=n.inclusive?"以下である":"より小さい",s=t(n.origin);return s?`大きすぎる値: ${n.origin??"値"}は${n.maximum.toString()}${s.unit??"要素"}${o}必要があります`:`大きすぎる値: ${n.origin??"値"}は${n.maximum.toString()}${o}必要があります`}case"too_small":{let o=n.inclusive?"以上である":"より大きい",s=t(n.origin);return s?`小さすぎる値: ${n.origin}は${n.minimum.toString()}${s.unit}${o}必要があります`:`小さすぎる値: ${n.origin}は${n.minimum.toString()}${o}必要があります`}case"invalid_format":{let o=n;return o.format==="starts_with"?`無効な文字列: "${o.prefix}"で始まる必要があります`:o.format==="ends_with"?`無効な文字列: "${o.suffix}"で終わる必要があります`:o.format==="includes"?`無効な文字列: "${o.includes}"を含む必要があります`:o.format==="regex"?`無効な文字列: パターン${o.pattern}に一致する必要があります`:`無効な${i[o.format]??n.format}`}case"not_multiple_of":return`無効な数値: ${n.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${n.keys.length>1?"群":""}: ${_(n.keys,"、")}`;case"invalid_key":return`${n.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${n.origin}内の無効な値`;default:return"無効な入力"}}};function ux(){return{localeError:lx()}}var cx=()=>{let e={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function t(n){return e[n]??null}let i={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული სტრინგი",base64url:"base64url-კოდირებული სტრინგი",json_string:"JSON სტრინგი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},r={nan:"NaN",number:"რიცხვი",string:"სტრინგი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`არასწორი შეყვანა: მოსალოდნელი instanceof ${n.expected}, მიღებული ${a}`:`არასწორი შეყვანა: მოსალოდნელი ${o}, მიღებული ${a}`}case"invalid_value":return n.values.length===1?`არასწორი შეყვანა: მოსალოდნელი ${O(n.values[0])}`:`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${_(n.values,"|")}-დან`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`ზედმეტად დიდი: მოსალოდნელი ${n.origin??"მნიშვნელობა"} ${s.verb} ${o}${n.maximum.toString()} ${s.unit}`:`ზედმეტად დიდი: მოსალოდნელი ${n.origin??"მნიშვნელობა"} იყოს ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`ზედმეტად პატარა: მოსალოდნელი ${n.origin} ${s.verb} ${o}${n.minimum.toString()} ${s.unit}`:`ზედმეტად პატარა: მოსალოდნელი ${n.origin} იყოს ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`არასწორი სტრინგი: უნდა იწყებოდეს "${o.prefix}"-ით`:o.format==="ends_with"?`არასწორი სტრინგი: უნდა მთავრდებოდეს "${o.suffix}"-ით`:o.format==="includes"?`არასწორი სტრინგი: უნდა შეიცავდეს "${o.includes}"-ს`:o.format==="regex"?`არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${o.pattern}`:`არასწორი ${i[o.format]??n.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${n.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${n.keys.length>1?"ები":"ი"}: ${_(n.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${n.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${n.origin}-ში`;default:return"არასწორი შეყვანა"}}};function dx(){return{localeError:cx()}}var mx=()=>{let e={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function t(n){return e[n]??null}let i={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},r={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${n.expected} ប៉ុន្តែទទួលបាន ${a}`:`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${o} ប៉ុន្តែទទួលបាន ${a}`}case"invalid_value":return n.values.length===1?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${O(n.values[0])}`:`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`ធំពេក៖ ត្រូវការ ${n.origin??"តម្លៃ"} ${o} ${n.maximum.toString()} ${s.unit??"ធាតុ"}`:`ធំពេក៖ ត្រូវការ ${n.origin??"តម្លៃ"} ${o} ${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`តូចពេក៖ ត្រូវការ ${n.origin} ${o} ${n.minimum.toString()} ${s.unit}`:`តូចពេក៖ ត្រូវការ ${n.origin} ${o} ${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${o.prefix}"`:o.format==="ends_with"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${o.suffix}"`:o.format==="includes"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${o.includes}"`:o.format==="regex"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${o.pattern}`:`មិនត្រឹមត្រូវ៖ ${i[o.format]??n.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${n.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${_(n.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${n.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${n.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};function fd(){return{localeError:mx()}}function px(){return fd()}var fx=()=>{let e={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function t(n){return e[n]??null}let i={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`잘못된 입력: 예상 타입은 instanceof ${n.expected}, 받은 타입은 ${a}입니다`:`잘못된 입력: 예상 타입은 ${o}, 받은 타입은 ${a}입니다`}case"invalid_value":return n.values.length===1?`잘못된 입력: 값은 ${O(n.values[0])} 이어야 합니다`:`잘못된 옵션: ${_(n.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let o=n.inclusive?"이하":"미만",s=o==="미만"?"이어야 합니다":"여야 합니다",a=t(n.origin),l=a?.unit??"요소";return a?`${n.origin??"값"}이 너무 큽니다: ${n.maximum.toString()}${l} ${o}${s}`:`${n.origin??"값"}이 너무 큽니다: ${n.maximum.toString()} ${o}${s}`}case"too_small":{let o=n.inclusive?"이상":"초과",s=o==="이상"?"이어야 합니다":"여야 합니다",a=t(n.origin),l=a?.unit??"요소";return a?`${n.origin??"값"}이 너무 작습니다: ${n.minimum.toString()}${l} ${o}${s}`:`${n.origin??"값"}이 너무 작습니다: ${n.minimum.toString()} ${o}${s}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`잘못된 문자열: "${o.prefix}"(으)로 시작해야 합니다`:o.format==="ends_with"?`잘못된 문자열: "${o.suffix}"(으)로 끝나야 합니다`:o.format==="includes"?`잘못된 문자열: "${o.includes}"을(를) 포함해야 합니다`:o.format==="regex"?`잘못된 문자열: 정규식 ${o.pattern} 패턴과 일치해야 합니다`:`잘못된 ${i[o.format]??n.format}`}case"not_multiple_of":return`잘못된 숫자: ${n.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${_(n.keys,", ")}`;case"invalid_key":return`잘못된 키: ${n.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${n.origin}`;default:return"잘못된 입력"}}};function hx(){return{localeError:fx()}}var At=e=>e.charAt(0).toUpperCase()+e.slice(1);function Za(e){let t=Math.abs(e),i=t%10,r=t%100;return r>=11&&r<=19||i===0?"many":i===1?"one":"few"}var vx=()=>{let e={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function t(n,o,s,a){let l=e[n]??null;return l===null?l:{unit:l.unit[o],verb:l.verb[a][s?"inclusive":"notInclusive"]}}let i={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},r={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Gautas tipas ${a}, o tikėtasi - instanceof ${n.expected}`:`Gautas tipas ${a}, o tikėtasi - ${o}`}case"invalid_value":return n.values.length===1?`Privalo būti ${O(n.values[0])}`:`Privalo būti vienas iš ${_(n.values,"|")} pasirinkimų`;case"too_big":{let o=r[n.origin]??n.origin,s=t(n.origin,Za(Number(n.maximum)),n.inclusive??!1,"smaller");if(s?.verb)return`${At(o??n.origin??"reikšmė")} ${s.verb} ${n.maximum.toString()} ${s.unit??"elementų"}`;let a=n.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${At(o??n.origin??"reikšmė")} turi būti ${a} ${n.maximum.toString()} ${s?.unit}`}case"too_small":{let o=r[n.origin]??n.origin,s=t(n.origin,Za(Number(n.minimum)),n.inclusive??!1,"bigger");if(s?.verb)return`${At(o??n.origin??"reikšmė")} ${s.verb} ${n.minimum.toString()} ${s.unit??"elementų"}`;let a=n.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${At(o??n.origin??"reikšmė")} turi būti ${a} ${n.minimum.toString()} ${s?.unit}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Eilutė privalo prasidėti "${o.prefix}"`:o.format==="ends_with"?`Eilutė privalo pasibaigti "${o.suffix}"`:o.format==="includes"?`Eilutė privalo įtraukti "${o.includes}"`:o.format==="regex"?`Eilutė privalo atitikti ${o.pattern}`:`Neteisingas ${i[o.format]??n.format}`}case"not_multiple_of":return`Skaičius privalo būti ${n.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${n.keys.length>1?"i":"as"} rakt${n.keys.length>1?"ai":"as"}: ${_(n.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{let o=r[n.origin]??n.origin;return`${At(o??n.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};function gx(){return{localeError:vx()}}var bx=()=>{let e={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function t(n){return e[n]??null}let i={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},r={nan:"NaN",number:"број",array:"низа"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Грешен внес: се очекува instanceof ${n.expected}, примено ${a}`:`Грешен внес: се очекува ${o}, примено ${a}`}case"invalid_value":return n.values.length===1?`Invalid input: expected ${O(n.values[0])}`:`Грешана опција: се очекува една ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Премногу голем: се очекува ${n.origin??"вредноста"} да има ${o}${n.maximum.toString()} ${s.unit??"елементи"}`:`Премногу голем: се очекува ${n.origin??"вредноста"} да биде ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Премногу мал: се очекува ${n.origin} да има ${o}${n.minimum.toString()} ${s.unit}`:`Премногу мал: се очекува ${n.origin} да биде ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Неважечка низа: мора да започнува со "${o.prefix}"`:o.format==="ends_with"?`Неважечка низа: мора да завршува со "${o.suffix}"`:o.format==="includes"?`Неважечка низа: мора да вклучува "${o.includes}"`:o.format==="regex"?`Неважечка низа: мора да одгоара на патернот ${o.pattern}`:`Invalid ${i[o.format]??n.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${n.divisor}`;case"unrecognized_keys":return`${n.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${_(n.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${n.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${n.origin}`;default:return"Грешен внес"}}};function yx(){return{localeError:bx()}}var _x=()=>{let e={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function t(n){return e[n]??null}let i={regex:"input",email:"alamat e-mel",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:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"nombor"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Input tidak sah: dijangka instanceof ${n.expected}, diterima ${a}`:`Input tidak sah: dijangka ${o}, diterima ${a}`}case"invalid_value":return n.values.length===1?`Input tidak sah: dijangka ${O(n.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Terlalu besar: dijangka ${n.origin??"nilai"} ${s.verb} ${o}${n.maximum.toString()} ${s.unit??"elemen"}`:`Terlalu besar: dijangka ${n.origin??"nilai"} adalah ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Terlalu kecil: dijangka ${n.origin} ${s.verb} ${o}${n.minimum.toString()} ${s.unit}`:`Terlalu kecil: dijangka ${n.origin} adalah ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`String tidak sah: mesti bermula dengan "${o.prefix}"`:o.format==="ends_with"?`String tidak sah: mesti berakhir dengan "${o.suffix}"`:o.format==="includes"?`String tidak sah: mesti mengandungi "${o.includes}"`:o.format==="regex"?`String tidak sah: mesti sepadan dengan corak ${o.pattern}`:`${i[o.format]??n.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${n.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${_(n.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${n.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${n.origin}`;default:return"Input tidak sah"}}};function $x(){return{localeError:_x()}}var kx=()=>{let e={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function t(n){return e[n]??null}let i={regex:"invoer",email:"emailadres",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 datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},r={nan:"NaN",number:"getal"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Ongeldige invoer: verwacht instanceof ${n.expected}, ontving ${a}`:`Ongeldige invoer: verwacht ${o}, ontving ${a}`}case"invalid_value":return n.values.length===1?`Ongeldige invoer: verwacht ${O(n.values[0])}`:`Ongeldige optie: verwacht één van ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin),a=n.origin==="date"?"laat":n.origin==="string"?"lang":"groot";return s?`Te ${a}: verwacht dat ${n.origin??"waarde"} ${o}${n.maximum.toString()} ${s.unit??"elementen"} ${s.verb}`:`Te ${a}: verwacht dat ${n.origin??"waarde"} ${o}${n.maximum.toString()} is`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin),a=n.origin==="date"?"vroeg":n.origin==="string"?"kort":"klein";return s?`Te ${a}: verwacht dat ${n.origin} ${o}${n.minimum.toString()} ${s.unit} ${s.verb}`:`Te ${a}: verwacht dat ${n.origin} ${o}${n.minimum.toString()} is`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Ongeldige tekst: moet met "${o.prefix}" beginnen`:o.format==="ends_with"?`Ongeldige tekst: moet op "${o.suffix}" eindigen`:o.format==="includes"?`Ongeldige tekst: moet "${o.includes}" bevatten`:o.format==="regex"?`Ongeldige tekst: moet overeenkomen met patroon ${o.pattern}`:`Ongeldig: ${i[o.format]??n.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${n.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${n.keys.length>1?"s":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${n.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${n.origin}`;default:return"Ongeldige invoer"}}};function xx(){return{localeError:kx()}}var wx=()=>{let e={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function t(n){return e[n]??null}let i={regex:"input",email:"e-postadresse",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 dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"tall",array:"liste"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Ugyldig input: forventet instanceof ${n.expected}, fikk ${a}`:`Ugyldig input: forventet ${o}, fikk ${a}`}case"invalid_value":return n.values.length===1?`Ugyldig verdi: forventet ${O(n.values[0])}`:`Ugyldig valg: forventet en av ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`For stor(t): forventet ${n.origin??"value"} til å ha ${o}${n.maximum.toString()} ${s.unit??"elementer"}`:`For stor(t): forventet ${n.origin??"value"} til å ha ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`For lite(n): forventet ${n.origin} til å ha ${o}${n.minimum.toString()} ${s.unit}`:`For lite(n): forventet ${n.origin} til å ha ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Ugyldig streng: må starte med "${o.prefix}"`:o.format==="ends_with"?`Ugyldig streng: må ende med "${o.suffix}"`:o.format==="includes"?`Ugyldig streng: må inneholde "${o.includes}"`:o.format==="regex"?`Ugyldig streng: må matche mønsteret ${o.pattern}`:`Ugyldig ${i[o.format]??n.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${n.divisor}`;case"unrecognized_keys":return`${n.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${_(n.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${n.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${n.origin}`;default:return"Ugyldig input"}}};function Sx(){return{localeError:wx()}}var Ix=()=>{let e={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function t(n){return e[n]??null}let i={regex:"giren",email:"epostagâh",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 hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},r={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Fâsit giren: umulan instanceof ${n.expected}, alınan ${a}`:`Fâsit giren: umulan ${o}, alınan ${a}`}case"invalid_value":return n.values.length===1?`Fâsit giren: umulan ${O(n.values[0])}`:`Fâsit tercih: mûteberler ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Fazla büyük: ${n.origin??"value"}, ${o}${n.maximum.toString()} ${s.unit??"elements"} sahip olmalıydı.`:`Fazla büyük: ${n.origin??"value"}, ${o}${n.maximum.toString()} olmalıydı.`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Fazla küçük: ${n.origin}, ${o}${n.minimum.toString()} ${s.unit} sahip olmalıydı.`:`Fazla küçük: ${n.origin}, ${o}${n.minimum.toString()} olmalıydı.`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Fâsit metin: "${o.prefix}" ile başlamalı.`:o.format==="ends_with"?`Fâsit metin: "${o.suffix}" ile bitmeli.`:o.format==="includes"?`Fâsit metin: "${o.includes}" ihtivâ etmeli.`:o.format==="regex"?`Fâsit metin: ${o.pattern} nakşına uymalı.`:`Fâsit ${i[o.format]??n.format}`}case"not_multiple_of":return`Fâsit sayı: ${n.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${n.keys.length>1?"s":""}: ${_(n.keys,", ")}`;case"invalid_key":return`${n.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${n.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};function Dx(){return{localeError:Ix()}}var zx=()=>{let e={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function t(n){return e[n]??null}let i={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},r={nan:"NaN",number:"عدد",array:"ارې"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`ناسم ورودي: باید instanceof ${n.expected} وای, مګر ${a} ترلاسه شو`:`ناسم ورودي: باید ${o} وای, مګر ${a} ترلاسه شو`}case"invalid_value":return n.values.length===1?`ناسم ورودي: باید ${O(n.values[0])} وای`:`ناسم انتخاب: باید یو له ${_(n.values,"|")} څخه وای`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`ډیر لوی: ${n.origin??"ارزښت"} باید ${o}${n.maximum.toString()} ${s.unit??"عنصرونه"} ولري`:`ډیر لوی: ${n.origin??"ارزښت"} باید ${o}${n.maximum.toString()} وي`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`ډیر کوچنی: ${n.origin} باید ${o}${n.minimum.toString()} ${s.unit} ولري`:`ډیر کوچنی: ${n.origin} باید ${o}${n.minimum.toString()} وي`}case"invalid_format":{let o=n;return o.format==="starts_with"?`ناسم متن: باید د "${o.prefix}" سره پیل شي`:o.format==="ends_with"?`ناسم متن: باید د "${o.suffix}" سره پای ته ورسيږي`:o.format==="includes"?`ناسم متن: باید "${o.includes}" ولري`:o.format==="regex"?`ناسم متن: باید د ${o.pattern} سره مطابقت ولري`:`${i[o.format]??n.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${n.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${n.keys.length>1?"کلیډونه":"کلیډ"}: ${_(n.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${n.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${n.origin} کې`;default:return"ناسمه ورودي"}}};function Tx(){return{localeError:zx()}}var Ox=()=>{let e={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function t(n){return e[n]??null}let i={regex:"wyrażenie",email:"adres email",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:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},r={nan:"NaN",number:"liczba",array:"tablica"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${n.expected}, otrzymano ${a}`:`Nieprawidłowe dane wejściowe: oczekiwano ${o}, otrzymano ${a}`}case"invalid_value":return n.values.length===1?`Nieprawidłowe dane wejściowe: oczekiwano ${O(n.values[0])}`:`Nieprawidłowa opcja: oczekiwano jednej z wartości ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Za duża wartość: oczekiwano, że ${n.origin??"wartość"} będzie mieć ${o}${n.maximum.toString()} ${s.unit??"elementów"}`:`Zbyt duż(y/a/e): oczekiwano, że ${n.origin??"wartość"} będzie wynosić ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Za mała wartość: oczekiwano, że ${n.origin??"wartość"} będzie mieć ${o}${n.minimum.toString()} ${s.unit??"elementów"}`:`Zbyt mał(y/a/e): oczekiwano, że ${n.origin??"wartość"} będzie wynosić ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Nieprawidłowy ciąg znaków: musi zaczynać się od "${o.prefix}"`:o.format==="ends_with"?`Nieprawidłowy ciąg znaków: musi kończyć się na "${o.suffix}"`:o.format==="includes"?`Nieprawidłowy ciąg znaków: musi zawierać "${o.includes}"`:o.format==="regex"?`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${o.pattern}`:`Nieprawidłow(y/a/e) ${i[o.format]??n.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${n.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${n.keys.length>1?"s":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${n.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${n.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};function Px(){return{localeError:Ox()}}var Nx=()=>{let e={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function t(n){return e[n]??null}let i={regex:"padrão",email:"endereço de e-mail",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:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN",number:"número",null:"nulo"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Tipo inválido: esperado instanceof ${n.expected}, recebido ${a}`:`Tipo inválido: esperado ${o}, recebido ${a}`}case"invalid_value":return n.values.length===1?`Entrada inválida: esperado ${O(n.values[0])}`:`Opção inválida: esperada uma das ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Muito grande: esperado que ${n.origin??"valor"} tivesse ${o}${n.maximum.toString()} ${s.unit??"elementos"}`:`Muito grande: esperado que ${n.origin??"valor"} fosse ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Muito pequeno: esperado que ${n.origin} tivesse ${o}${n.minimum.toString()} ${s.unit}`:`Muito pequeno: esperado que ${n.origin} fosse ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Texto inválido: deve começar com "${o.prefix}"`:o.format==="ends_with"?`Texto inválido: deve terminar com "${o.suffix}"`:o.format==="includes"?`Texto inválido: deve incluir "${o.includes}"`:o.format==="regex"?`Texto inválido: deve corresponder ao padrão ${o.pattern}`:`${i[o.format]??n.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${n.divisor}`;case"unrecognized_keys":return`Chave${n.keys.length>1?"s":""} desconhecida${n.keys.length>1?"s":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Chave inválida em ${n.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${n.origin}`;default:return"Campo inválido"}}};function Ex(){return{localeError:Nx()}}function Ua(e,t,i,r){let n=Math.abs(e),o=n%10,s=n%100;return s>=11&&s<=19?r:o===1?t:o>=2&&o<=4?i:r}var Zx=()=>{let e={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function t(n){return e[n]??null}let i={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},r={nan:"NaN",number:"число",array:"массив"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Неверный ввод: ожидалось instanceof ${n.expected}, получено ${a}`:`Неверный ввод: ожидалось ${o}, получено ${a}`}case"invalid_value":return n.values.length===1?`Неверный ввод: ожидалось ${O(n.values[0])}`:`Неверный вариант: ожидалось одно из ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);if(s){let a=Number(n.maximum),l=Ua(a,s.unit.one,s.unit.few,s.unit.many);return`Слишком большое значение: ожидалось, что ${n.origin??"значение"} будет иметь ${o}${n.maximum.toString()} ${l}`}return`Слишком большое значение: ожидалось, что ${n.origin??"значение"} будет ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);if(s){let a=Number(n.minimum),l=Ua(a,s.unit.one,s.unit.few,s.unit.many);return`Слишком маленькое значение: ожидалось, что ${n.origin} будет иметь ${o}${n.minimum.toString()} ${l}`}return`Слишком маленькое значение: ожидалось, что ${n.origin} будет ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Неверная строка: должна начинаться с "${o.prefix}"`:o.format==="ends_with"?`Неверная строка: должна заканчиваться на "${o.suffix}"`:o.format==="includes"?`Неверная строка: должна содержать "${o.includes}"`:o.format==="regex"?`Неверная строка: должна соответствовать шаблону ${o.pattern}`:`Неверный ${i[o.format]??n.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${n.divisor}`;case"unrecognized_keys":return`Нераспознанн${n.keys.length>1?"ые":"ый"} ключ${n.keys.length>1?"и":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${n.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${n.origin}`;default:return"Неверные входные данные"}}};function Ux(){return{localeError:Zx()}}var jx=()=>{let e={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function t(n){return e[n]??null}let i={regex:"vnos",email:"e-poštni naslov",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 datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},r={nan:"NaN",number:"število",array:"tabela"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Neveljaven vnos: pričakovano instanceof ${n.expected}, prejeto ${a}`:`Neveljaven vnos: pričakovano ${o}, prejeto ${a}`}case"invalid_value":return n.values.length===1?`Neveljaven vnos: pričakovano ${O(n.values[0])}`:`Neveljavna možnost: pričakovano eno izmed ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Preveliko: pričakovano, da bo ${n.origin??"vrednost"} imelo ${o}${n.maximum.toString()} ${s.unit??"elementov"}`:`Preveliko: pričakovano, da bo ${n.origin??"vrednost"} ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Premajhno: pričakovano, da bo ${n.origin} imelo ${o}${n.minimum.toString()} ${s.unit}`:`Premajhno: pričakovano, da bo ${n.origin} ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Neveljaven niz: mora se začeti z "${o.prefix}"`:o.format==="ends_with"?`Neveljaven niz: mora se končati z "${o.suffix}"`:o.format==="includes"?`Neveljaven niz: mora vsebovati "${o.includes}"`:o.format==="regex"?`Neveljaven niz: mora ustrezati vzorcu ${o.pattern}`:`Neveljaven ${i[o.format]??n.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${n.divisor}`;case"unrecognized_keys":return`Neprepoznan${n.keys.length>1?"i ključi":" ključ"}: ${_(n.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${n.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${n.origin}`;default:return"Neveljaven vnos"}}};function Ax(){return{localeError:jx()}}var Cx=()=>{let e={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function t(n){return e[n]??null}let i={regex:"reguljärt uttryck",email:"e-postadress",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-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},r={nan:"NaN",number:"antal",array:"lista"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Ogiltig inmatning: förväntat instanceof ${n.expected}, fick ${a}`:`Ogiltig inmatning: förväntat ${o}, fick ${a}`}case"invalid_value":return n.values.length===1?`Ogiltig inmatning: förväntat ${O(n.values[0])}`:`Ogiltigt val: förväntade en av ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`För stor(t): förväntade ${n.origin??"värdet"} att ha ${o}${n.maximum.toString()} ${s.unit??"element"}`:`För stor(t): förväntat ${n.origin??"värdet"} att ha ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`För lite(t): förväntade ${n.origin??"värdet"} att ha ${o}${n.minimum.toString()} ${s.unit}`:`För lite(t): förväntade ${n.origin??"värdet"} att ha ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Ogiltig sträng: måste börja med "${o.prefix}"`:o.format==="ends_with"?`Ogiltig sträng: måste sluta med "${o.suffix}"`:o.format==="includes"?`Ogiltig sträng: måste innehålla "${o.includes}"`:o.format==="regex"?`Ogiltig sträng: måste matcha mönstret "${o.pattern}"`:`Ogiltig(t) ${i[o.format]??n.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${n.divisor}`;case"unrecognized_keys":return`${n.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${_(n.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${n.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${n.origin??"värdet"}`;default:return"Ogiltig input"}}};function Rx(){return{localeError:Cx()}}var Lx=()=>{let e={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function t(n){return e[n]??null}let i={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",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 தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${n.expected}, பெறப்பட்டது ${a}`:`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${o}, பெறப்பட்டது ${a}`}case"invalid_value":return n.values.length===1?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${O(n.values[0])}`:`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${_(n.values,"|")} இல் ஒன்று`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${n.origin??"மதிப்பு"} ${o}${n.maximum.toString()} ${s.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`:`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${n.origin??"மதிப்பு"} ${o}${n.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${n.origin} ${o}${n.minimum.toString()} ${s.unit} ஆக இருக்க வேண்டும்`:`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${n.origin} ${o}${n.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{let o=n;return o.format==="starts_with"?`தவறான சரம்: "${o.prefix}" இல் தொடங்க வேண்டும்`:o.format==="ends_with"?`தவறான சரம்: "${o.suffix}" இல் முடிவடைய வேண்டும்`:o.format==="includes"?`தவறான சரம்: "${o.includes}" ஐ உள்ளடக்க வேண்டும்`:o.format==="regex"?`தவறான சரம்: ${o.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`:`தவறான ${i[o.format]??n.format}`}case"not_multiple_of":return`தவறான எண்: ${n.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${n.keys.length>1?"கள்":""}: ${_(n.keys,", ")}`;case"invalid_key":return`${n.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${n.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};function Fx(){return{localeError:Lx()}}var Mx=()=>{let e={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function t(n){return e[n]??null}let i={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},r={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${n.expected} แต่ได้รับ ${a}`:`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${o} แต่ได้รับ ${a}`}case"invalid_value":return n.values.length===1?`ค่าไม่ถูกต้อง: ควรเป็น ${O(n.values[0])}`:`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"ไม่เกิน":"น้อยกว่า",s=t(n.origin);return s?`เกินกำหนด: ${n.origin??"ค่า"} ควรมี${o} ${n.maximum.toString()} ${s.unit??"รายการ"}`:`เกินกำหนด: ${n.origin??"ค่า"} ควรมี${o} ${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?"อย่างน้อย":"มากกว่า",s=t(n.origin);return s?`น้อยกว่ากำหนด: ${n.origin} ควรมี${o} ${n.minimum.toString()} ${s.unit}`:`น้อยกว่ากำหนด: ${n.origin} ควรมี${o} ${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${o.prefix}"`:o.format==="ends_with"?`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${o.suffix}"`:o.format==="includes"?`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${o.includes}" อยู่ในข้อความ`:o.format==="regex"?`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${o.pattern}`:`รูปแบบไม่ถูกต้อง: ${i[o.format]??n.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${n.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${_(n.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${n.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${n.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};function qx(){return{localeError:Mx()}}var Jx=()=>{let e={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function t(n){return e[n]??null}let i={regex:"girdi",email:"e-posta adresi",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 tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Geçersiz değer: beklenen instanceof ${n.expected}, alınan ${a}`:`Geçersiz değer: beklenen ${o}, alınan ${a}`}case"invalid_value":return n.values.length===1?`Geçersiz değer: beklenen ${O(n.values[0])}`:`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Çok büyük: beklenen ${n.origin??"değer"} ${o}${n.maximum.toString()} ${s.unit??"öğe"}`:`Çok büyük: beklenen ${n.origin??"değer"} ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Çok küçük: beklenen ${n.origin} ${o}${n.minimum.toString()} ${s.unit}`:`Çok küçük: beklenen ${n.origin} ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Geçersiz metin: "${o.prefix}" ile başlamalı`:o.format==="ends_with"?`Geçersiz metin: "${o.suffix}" ile bitmeli`:o.format==="includes"?`Geçersiz metin: "${o.includes}" içermeli`:o.format==="regex"?`Geçersiz metin: ${o.pattern} desenine uymalı`:`Geçersiz ${i[o.format]??n.format}`}case"not_multiple_of":return`Geçersiz sayı: ${n.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${n.keys.length>1?"lar":""}: ${_(n.keys,", ")}`;case"invalid_key":return`${n.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${n.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};function Wx(){return{localeError:Jx()}}var Bx=()=>{let e={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function t(n){return e[n]??null}let i={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},r={nan:"NaN",number:"число",array:"масив"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Неправильні вхідні дані: очікується instanceof ${n.expected}, отримано ${a}`:`Неправильні вхідні дані: очікується ${o}, отримано ${a}`}case"invalid_value":return n.values.length===1?`Неправильні вхідні дані: очікується ${O(n.values[0])}`:`Неправильна опція: очікується одне з ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Занадто велике: очікується, що ${n.origin??"значення"} ${s.verb} ${o}${n.maximum.toString()} ${s.unit??"елементів"}`:`Занадто велике: очікується, що ${n.origin??"значення"} буде ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Занадто мале: очікується, що ${n.origin} ${s.verb} ${o}${n.minimum.toString()} ${s.unit}`:`Занадто мале: очікується, що ${n.origin} буде ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Неправильний рядок: повинен починатися з "${o.prefix}"`:o.format==="ends_with"?`Неправильний рядок: повинен закінчуватися на "${o.suffix}"`:o.format==="includes"?`Неправильний рядок: повинен містити "${o.includes}"`:o.format==="regex"?`Неправильний рядок: повинен відповідати шаблону ${o.pattern}`:`Неправильний ${i[o.format]??n.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${n.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${n.keys.length>1?"і":""}: ${_(n.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${n.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${n.origin}`;default:return"Неправильні вхідні дані"}}};function hd(){return{localeError:Bx()}}function Hx(){return hd()}var Vx=()=>{let e={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function t(n){return e[n]??null}let i={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},r={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`غلط ان پٹ: instanceof ${n.expected} متوقع تھا، ${a} موصول ہوا`:`غلط ان پٹ: ${o} متوقع تھا، ${a} موصول ہوا`}case"invalid_value":return n.values.length===1?`غلط ان پٹ: ${O(n.values[0])} متوقع تھا`:`غلط آپشن: ${_(n.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`بہت بڑا: ${n.origin??"ویلیو"} کے ${o}${n.maximum.toString()} ${s.unit??"عناصر"} ہونے متوقع تھے`:`بہت بڑا: ${n.origin??"ویلیو"} کا ${o}${n.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`بہت چھوٹا: ${n.origin} کے ${o}${n.minimum.toString()} ${s.unit} ہونے متوقع تھے`:`بہت چھوٹا: ${n.origin} کا ${o}${n.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{let o=n;return o.format==="starts_with"?`غلط سٹرنگ: "${o.prefix}" سے شروع ہونا چاہیے`:o.format==="ends_with"?`غلط سٹرنگ: "${o.suffix}" پر ختم ہونا چاہیے`:o.format==="includes"?`غلط سٹرنگ: "${o.includes}" شامل ہونا چاہیے`:o.format==="regex"?`غلط سٹرنگ: پیٹرن ${o.pattern} سے میچ ہونا چاہیے`:`غلط ${i[o.format]??n.format}`}case"not_multiple_of":return`غلط نمبر: ${n.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${n.keys.length>1?"ز":""}: ${_(n.keys,"، ")}`;case"invalid_key":return`${n.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${n.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};function Kx(){return{localeError:Vx()}}var Gx=()=>{let e={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"}};function t(n){return e[n]??null}let i={regex:"kirish",email:"elektron pochta manzili",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 sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},r={nan:"NaN",number:"raqam",array:"massiv"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Noto‘g‘ri kirish: kutilgan instanceof ${n.expected}, qabul qilingan ${a}`:`Noto‘g‘ri kirish: kutilgan ${o}, qabul qilingan ${a}`}case"invalid_value":return n.values.length===1?`Noto‘g‘ri kirish: kutilgan ${O(n.values[0])}`:`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Juda katta: kutilgan ${n.origin??"qiymat"} ${o}${n.maximum.toString()} ${s.unit} ${s.verb}`:`Juda katta: kutilgan ${n.origin??"qiymat"} ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Juda kichik: kutilgan ${n.origin} ${o}${n.minimum.toString()} ${s.unit} ${s.verb}`:`Juda kichik: kutilgan ${n.origin} ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Noto‘g‘ri satr: "${o.prefix}" bilan boshlanishi kerak`:o.format==="ends_with"?`Noto‘g‘ri satr: "${o.suffix}" bilan tugashi kerak`:o.format==="includes"?`Noto‘g‘ri satr: "${o.includes}" ni o‘z ichiga olishi kerak`:o.format==="regex"?`Noto‘g‘ri satr: ${o.pattern} shabloniga mos kelishi kerak`:`Noto‘g‘ri ${i[o.format]??n.format}`}case"not_multiple_of":return`Noto‘g‘ri raqam: ${n.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${n.keys.length>1?"lar":""}: ${_(n.keys,", ")}`;case"invalid_key":return`${n.origin} dagi kalit noto‘g‘ri`;case"invalid_union":return"Noto‘g‘ri kirish";case"invalid_element":return`${n.origin} da noto‘g‘ri qiymat`;default:return"Noto‘g‘ri kirish"}}};function Xx(){return{localeError:Gx()}}var Yx=()=>{let e={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function t(n){return e[n]??null}let i={regex:"đầu vào",email:"địa chỉ email",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:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},r={nan:"NaN",number:"số",array:"mảng"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Đầu vào không hợp lệ: mong đợi instanceof ${n.expected}, nhận được ${a}`:`Đầu vào không hợp lệ: mong đợi ${o}, nhận được ${a}`}case"invalid_value":return n.values.length===1?`Đầu vào không hợp lệ: mong đợi ${O(n.values[0])}`:`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Quá lớn: mong đợi ${n.origin??"giá trị"} ${s.verb} ${o}${n.maximum.toString()} ${s.unit??"phần tử"}`:`Quá lớn: mong đợi ${n.origin??"giá trị"} ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Quá nhỏ: mong đợi ${n.origin} ${s.verb} ${o}${n.minimum.toString()} ${s.unit}`:`Quá nhỏ: mong đợi ${n.origin} ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Chuỗi không hợp lệ: phải bắt đầu bằng "${o.prefix}"`:o.format==="ends_with"?`Chuỗi không hợp lệ: phải kết thúc bằng "${o.suffix}"`:o.format==="includes"?`Chuỗi không hợp lệ: phải bao gồm "${o.includes}"`:o.format==="regex"?`Chuỗi không hợp lệ: phải khớp với mẫu ${o.pattern}`:`${i[o.format]??n.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${n.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${_(n.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${n.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${n.origin}`;default:return"Đầu vào không hợp lệ"}}};function Qx(){return{localeError:Yx()}}var ew=()=>{let e={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function t(n){return e[n]??null}let i={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},r={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`无效输入:期望 instanceof ${n.expected},实际接收 ${a}`:`无效输入:期望 ${o},实际接收 ${a}`}case"invalid_value":return n.values.length===1?`无效输入:期望 ${O(n.values[0])}`:`无效选项:期望以下之一 ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`数值过大:期望 ${n.origin??"值"} ${o}${n.maximum.toString()} ${s.unit??"个元素"}`:`数值过大:期望 ${n.origin??"值"} ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`数值过小:期望 ${n.origin} ${o}${n.minimum.toString()} ${s.unit}`:`数值过小:期望 ${n.origin} ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`无效字符串:必须以 "${o.prefix}" 开头`:o.format==="ends_with"?`无效字符串:必须以 "${o.suffix}" 结尾`:o.format==="includes"?`无效字符串:必须包含 "${o.includes}"`:o.format==="regex"?`无效字符串:必须满足正则表达式 ${o.pattern}`:`无效${i[o.format]??n.format}`}case"not_multiple_of":return`无效数字:必须是 ${n.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${_(n.keys,", ")}`;case"invalid_key":return`${n.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${n.origin} 中包含无效值(value)`;default:return"无效输入"}}};function tw(){return{localeError:ew()}}var nw=()=>{let e={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function t(n){return e[n]??null}let i={regex:"輸入",email:"郵件地址",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 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},r={nan:"NaN"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`無效的輸入值:預期為 instanceof ${n.expected},但收到 ${a}`:`無效的輸入值:預期為 ${o},但收到 ${a}`}case"invalid_value":return n.values.length===1?`無效的輸入值:預期為 ${O(n.values[0])}`:`無效的選項:預期為以下其中之一 ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`數值過大:預期 ${n.origin??"值"} 應為 ${o}${n.maximum.toString()} ${s.unit??"個元素"}`:`數值過大:預期 ${n.origin??"值"} 應為 ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`數值過小:預期 ${n.origin} 應為 ${o}${n.minimum.toString()} ${s.unit}`:`數值過小:預期 ${n.origin} 應為 ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`無效的字串:必須以 "${o.prefix}" 開頭`:o.format==="ends_with"?`無效的字串:必須以 "${o.suffix}" 結尾`:o.format==="includes"?`無效的字串:必須包含 "${o.includes}"`:o.format==="regex"?`無效的字串:必須符合格式 ${o.pattern}`:`無效的 ${i[o.format]??n.format}`}case"not_multiple_of":return`無效的數字:必須為 ${n.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${n.keys.length>1?"們":""}:${_(n.keys,"、")}`;case"invalid_key":return`${n.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${n.origin} 中有無效的值`;default:return"無效的輸入值"}}};function iw(){return{localeError:nw()}}var rw=()=>{let e={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function t(n){return e[n]??null}let i={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",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:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},r={nan:"NaN",number:"nọ́mbà",array:"akopọ"};return n=>{switch(n.code){case"invalid_type":{let o=r[n.expected]??n.expected,s=P(n.input),a=r[s]??s;return/^[A-Z]/.test(n.expected)?`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${n.expected}, àmọ̀ a rí ${a}`:`Ìbáwọlé aṣìṣe: a ní láti fi ${o}, àmọ̀ a rí ${a}`}case"invalid_value":return n.values.length===1?`Ìbáwọlé aṣìṣe: a ní láti fi ${O(n.values[0])}`:`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${_(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Tó pọ̀ jù: a ní láti jẹ́ pé ${n.origin??"iye"} ${s.verb} ${o}${n.maximum} ${s.unit}`:`Tó pọ̀ jù: a ní láti jẹ́ ${o}${n.maximum}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Kéré ju: a ní láti jẹ́ pé ${n.origin} ${s.verb} ${o}${n.minimum} ${s.unit}`:`Kéré ju: a ní láti jẹ́ ${o}${n.minimum}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${o.prefix}"`:o.format==="ends_with"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${o.suffix}"`:o.format==="includes"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${o.includes}"`:o.format==="regex"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${o.pattern}`:`Aṣìṣe: ${i[o.format]??n.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${n.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${_(n.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${n.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${n.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};function ow(){return{localeError:rw()}}var ja,vd=Symbol("ZodOutput"),gd=Symbol("ZodInput");class bd{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...i){let r=i[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){let i=this._map.get(t);return i&&typeof i=="object"&&"id"in i&&this._idmap.delete(i.id),this._map.delete(t),this}get(t){let i=t._zod.parent;if(i){let r={...this.get(i)??{}};delete r.id;let n={...r,...this._map.get(t)};return Object.keys(n).length?n:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function $o(){return new bd}(ja=globalThis).__zod_globalRegistry??(ja.__zod_globalRegistry=$o());var Te=globalThis.__zod_globalRegistry;function yd(e,t){return new e({type:"string",...$(t)})}function _d(e,t){return new e({type:"string",coerce:!0,...$(t)})}function ko(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...$(t)})}function Yn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...$(t)})}function xo(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...$(t)})}function wo(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...$(t)})}function So(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...$(t)})}function Io(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...$(t)})}function hi(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...$(t)})}function Do(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...$(t)})}function zo(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...$(t)})}function To(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...$(t)})}function Oo(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...$(t)})}function Po(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...$(t)})}function No(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...$(t)})}function Eo(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...$(t)})}function Zo(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...$(t)})}function Uo(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...$(t)})}function $d(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...$(t)})}function jo(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...$(t)})}function Ao(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...$(t)})}function Co(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...$(t)})}function Ro(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...$(t)})}function Lo(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...$(t)})}function Fo(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...$(t)})}var kd={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function xd(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...$(t)})}function wd(e,t){return new e({type:"string",format:"date",check:"string_format",...$(t)})}function Sd(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...$(t)})}function Id(e,t){return new e({type:"string",format:"duration",check:"string_format",...$(t)})}function Dd(e,t){return new e({type:"number",checks:[],...$(t)})}function zd(e,t){return new e({type:"number",coerce:!0,checks:[],...$(t)})}function Td(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...$(t)})}function Od(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...$(t)})}function Pd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...$(t)})}function Nd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...$(t)})}function Ed(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...$(t)})}function Zd(e,t){return new e({type:"boolean",...$(t)})}function Ud(e,t){return new e({type:"boolean",coerce:!0,...$(t)})}function jd(e,t){return new e({type:"bigint",...$(t)})}function Ad(e,t){return new e({type:"bigint",coerce:!0,...$(t)})}function Cd(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...$(t)})}function Rd(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...$(t)})}function Ld(e,t){return new e({type:"symbol",...$(t)})}function Fd(e,t){return new e({type:"undefined",...$(t)})}function Md(e,t){return new e({type:"null",...$(t)})}function qd(e){return new e({type:"any"})}function Jd(e){return new e({type:"unknown"})}function Wd(e,t){return new e({type:"never",...$(t)})}function Bd(e,t){return new e({type:"void",...$(t)})}function Hd(e,t){return new e({type:"date",...$(t)})}function Vd(e,t){return new e({type:"date",coerce:!0,...$(t)})}function Kd(e,t){return new e({type:"nan",...$(t)})}function Xe(e,t){return new co({check:"less_than",...$(t),value:e,inclusive:!1})}function Oe(e,t){return new co({check:"less_than",...$(t),value:e,inclusive:!0})}function Ye(e,t){return new mo({check:"greater_than",...$(t),value:e,inclusive:!1})}function _e(e,t){return new mo({check:"greater_than",...$(t),value:e,inclusive:!0})}function Mo(e){return Ye(0,e)}function qo(e){return Xe(0,e)}function Jo(e){return Oe(0,e)}function Wo(e){return _e(0,e)}function Dt(e,t){return new Zu({check:"multiple_of",...$(t),value:e})}function Zt(e,t){return new Au({check:"max_size",...$(t),maximum:e})}function Qe(e,t){return new Cu({check:"min_size",...$(t),minimum:e})}function fn(e,t){return new Ru({check:"size_equals",...$(t),size:e})}function hn(e,t){return new Lu({check:"max_length",...$(t),maximum:e})}function ut(e,t){return new Fu({check:"min_length",...$(t),minimum:e})}function vn(e,t){return new Mu({check:"length_equals",...$(t),length:e})}function vi(e,t){return new qu({check:"string_format",format:"regex",...$(t),pattern:e})}function gi(e){return new Ju({check:"string_format",format:"lowercase",...$(e)})}function bi(e){return new Wu({check:"string_format",format:"uppercase",...$(e)})}function yi(e,t){return new Bu({check:"string_format",format:"includes",...$(t),includes:e})}function _i(e,t){return new Hu({check:"string_format",format:"starts_with",...$(t),prefix:e})}function $i(e,t){return new Vu({check:"string_format",format:"ends_with",...$(t),suffix:e})}function Bo(e,t,i){return new Ku({check:"property",property:e,schema:t,...$(i)})}function ki(e,t){return new Gu({check:"mime_type",mime:e,...$(t)})}function Ve(e){return new Xu({check:"overwrite",tx:e})}function xi(e){return Ve(t=>t.normalize(e))}function wi(){return Ve(e=>e.trim())}function Si(){return Ve(e=>e.toLowerCase())}function Ii(){return Ve(e=>e.toUpperCase())}function Di(){return Ve(e=>Fl(e))}function Gd(e,t,i){return new e({type:"array",element:t,...$(i)})}function sw(e,t,i){return new e({type:"union",options:t,...$(i)})}function aw(e,t,i){return new e({type:"union",options:t,inclusive:!1,...$(i)})}function lw(e,t,i,r){return new e({type:"union",options:i,discriminator:t,...$(r)})}function uw(e,t,i){return new e({type:"intersection",left:t,right:i})}function cw(e,t,i,r){let n=i instanceof N;return new e({type:"tuple",items:t,rest:n?i:null,...$(n?r:i)})}function dw(e,t,i,r){return new e({type:"record",keyType:t,valueType:i,...$(r)})}function mw(e,t,i,r){return new e({type:"map",keyType:t,valueType:i,...$(r)})}function pw(e,t,i){return new e({type:"set",valueType:t,...$(i)})}function fw(e,t,i){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new e({type:"enum",entries:r,...$(i)})}function hw(e,t,i){return new e({type:"enum",entries:t,...$(i)})}function vw(e,t,i){return new e({type:"literal",values:Array.isArray(t)?t:[t],...$(i)})}function Xd(e,t){return new e({type:"file",...$(t)})}function gw(e,t){return new e({type:"transform",transform:t})}function bw(e,t){return new e({type:"optional",innerType:t})}function yw(e,t){return new e({type:"nullable",innerType:t})}function _w(e,t,i){return new e({type:"default",innerType:t,get defaultValue(){return typeof i=="function"?i():ql(i)}})}function $w(e,t,i){return new e({type:"nonoptional",innerType:t,...$(i)})}function kw(e,t){return new e({type:"success",innerType:t})}function xw(e,t,i){return new e({type:"catch",innerType:t,catchValue:typeof i=="function"?i:()=>i})}function ww(e,t,i){return new e({type:"pipe",in:t,out:i})}function Sw(e,t){return new e({type:"readonly",innerType:t})}function Iw(e,t,i){return new e({type:"template_literal",parts:t,...$(i)})}function Dw(e,t){return new e({type:"lazy",getter:t})}function zw(e,t){return new e({type:"promise",innerType:t})}function Yd(e,t,i){let r=$(i);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function Qd(e,t,i){return new e({type:"custom",check:"custom",fn:t,...$(i)})}function em(e){let t=tm(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(Gn(r,i.value,t._zod.def));else{let n=r;n.fatal&&(n.continue=!1),n.code??(n.code="custom"),n.input??(n.input=i.value),n.inst??(n.inst=t),n.continue??(n.continue=!t._zod.def.abort),i.issues.push(Gn(n))}},e(i.value,i)));return t}function tm(e,t){let i=new te({check:"custom",...$(t)});return i._zod.check=e,i}function nm(e){let t=new te({check:"describe"});return t._zod.onattach=[i=>{let r=Te.get(i)??{};Te.add(i,{...r,description:e})}],t._zod.check=()=>{},t}function im(e){let t=new te({check:"meta"});return t._zod.onattach=[i=>{let r=Te.get(i)??{};Te.add(i,{...r,...e})}],t._zod.check=()=>{},t}function rm(e,t){let i=$(t),r=i.truthy??["true","1","yes","on","y","enabled"],n=i.falsy??["false","0","no","off","n","disabled"];i.case!=="sensitive"&&(r=r.map(p=>typeof p=="string"?p.toLowerCase():p),n=n.map(p=>typeof p=="string"?p.toLowerCase():p));let o=new Set(r),s=new Set(n),a=e.Codec??yo,l=e.Boolean??ho,u=new(e.String??pn)({type:"string",error:i.error}),c=new l({type:"boolean",error:i.error}),m=new a({type:"pipe",in:u,out:c,transform:(p,h)=>{let S=p;return i.case!=="sensitive"&&(S=S.toLowerCase()),o.has(S)?!0:s.has(S)?!1:(h.issues.push({code:"invalid_value",expected:"stringbool",values:[...o,...s],input:h.value,inst:m,continue:!1}),{})},reverseTransform:(p,h)=>p===!0?r[0]||"true":n[0]||"false",error:i.error});return m}function gn(e,t,i,r={}){let n=$(r),o={...$(r),check:"string_format",type:"string",format:t,fn:typeof i=="function"?i:s=>i.test(s),...n};return i instanceof RegExp&&(o.pattern=i),new e(o)}function zt(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,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function B(e,t,i={path:[],schemaPath:[]}){var r;let n=e._zod.def,o=t.seen.get(e);if(o)return o.count++,i.schemaPath.includes(e)&&(o.cycle=i.path),o.schema;let s={schema:{},count:1,cycle:void 0,path:i.path};t.seen.set(e,s);let a=e._zod.toJSONSchema?.();if(a)s.schema=a;else{let u={...i,schemaPath:[...i.schemaPath,e],path:i.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,u);else{let m=s.schema,p=t.processors[n.type];if(!p)throw Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);p(e,t,m,u)}let c=e._zod.parent;c&&(s.ref||(s.ref=c),B(c,t,u),t.seen.get(c).isParent=!0)}let l=t.metadataRegistry.get(e);return l&&Object.assign(s.schema,l),t.io==="input"&&be(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&s.schema._prefault&&((r=s.schema).default??(r.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function Tt(e,t){let i=e.seen.get(t);if(!i)throw Error("Unprocessed schema. This is a bug in Zod.");let r=new Map;for(let s of e.seen.entries()){let a=e.metadataRegistry.get(s[0])?.id;if(a){let l=r.get(a);if(l&&l!==s[0])throw Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(a,s[0])}}let n=s=>{let a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let c=e.external.registry.get(s[0])?.id,m=e.external.uri??(h=>h);if(c)return{ref:m(c)};let p=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=p,{defId:p,ref:`${m("__shared")}#/${a}/${p}`}}if(s[1]===i)return{ref:"#"};let l=`#/${a}/`,u=s[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:l+u}},o=s=>{if(s[1].schema.$ref)return;let a=s[1],{ref:l,defId:u}=n(s);a.def={...a.schema},u&&(a.defId=u);let c=a.schema;for(let m in c)delete c[m];c.$ref=l};if(e.cycles==="throw")for(let s of e.seen.entries()){let a=s[1];if(a.cycle)throw Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
83
+
84
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let s of e.seen.entries()){let a=s[1];if(t===s[0]){o(s);continue}if(e.external){let l=e.external.registry.get(s[0])?.id;if(t!==s[0]&&l){o(s);continue}}if(e.metadataRegistry.get(s[0])?.id){o(s);continue}if(a.cycle){o(s);continue}if(a.count>1&&e.reused==="ref"){o(s);continue}}}function Ot(e,t){let i=e.seen.get(t);if(!i)throw Error("Unprocessed schema. This is a bug in Zod.");let r=s=>{let a=e.seen.get(s);if(a.ref===null)return;let l=a.def??a.schema,u={...l},c=a.ref;if(a.ref=null,c){r(c);let p=e.seen.get(c),h=p.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(h)):Object.assign(l,h),Object.assign(l,u),s._zod.parent===c)for(let S in l)S==="$ref"||S==="allOf"||S in u||delete l[S];if(h.$ref)for(let S in l)S==="$ref"||S==="allOf"||S in p.def&&JSON.stringify(l[S])===JSON.stringify(p.def[S])&&delete l[S]}let m=s._zod.parent;if(m&&m!==c){r(m);let p=e.seen.get(m);if(p?.schema.$ref&&(l.$ref=p.schema.$ref,p.def))for(let h in l)h==="$ref"||h==="allOf"||h in p.def&&JSON.stringify(l[h])===JSON.stringify(p.def[h])&&delete l[h]}e.override({zodSchema:s,jsonSchema:l,path:a.path??[]})};for(let s of[...e.seen.entries()].reverse())r(s[0]);let n={};if(e.target==="draft-2020-12"?n.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?n.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?n.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let s=e.external.registry.get(t)?.id;if(!s)throw Error("Schema is missing an `id` property");n.$id=e.external.uri(s)}Object.assign(n,i.def??i.schema);let o=e.external?.defs??{};for(let s of e.seen.entries()){let a=s[1];a.def&&a.defId&&(o[a.defId]=a.def)}e.external||Object.keys(o).length>0&&(e.target==="draft-2020-12"?n.$defs=o:n.definitions=o);try{let s=JSON.parse(JSON.stringify(n));return Object.defineProperty(s,"~standard",{value:{...t["~standard"],jsonSchema:{input:qt(t,"input",e.processors),output:qt(t,"output",e.processors)}},enumerable:!1,writable:!1}),s}catch{throw Error("Error converting schema to JSON.")}}function be(e,t){let i=t??{seen:new Set};if(i.seen.has(e))return!1;i.seen.add(e);let r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return be(r.element,i);if(r.type==="set")return be(r.valueType,i);if(r.type==="lazy")return be(r.getter(),i);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return be(r.innerType,i);if(r.type==="intersection")return be(r.left,i)||be(r.right,i);if(r.type==="record"||r.type==="map")return be(r.keyType,i)||be(r.valueType,i);if(r.type==="pipe")return be(r.in,i)||be(r.out,i);if(r.type==="object"){for(let n in r.shape)if(be(r.shape[n],i))return!0;return!1}if(r.type==="union"){for(let n of r.options)if(be(n,i))return!0;return!1}if(r.type==="tuple"){for(let n of r.items)if(be(n,i))return!0;return!!(r.rest&&be(r.rest,i))}return!1}var om=(e,t={})=>i=>{let r=zt({...i,processors:t});return B(e,r),Tt(r,e),Ot(r,e)},qt=(e,t,i={})=>r=>{let{libraryOptions:n,target:o}=r??{},s=zt({...n??{},target:o,io:t,processors:i});return B(e,s),Tt(s,e),Ot(s,e)},Tw={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},sm=(e,t,i,r)=>{let n=i;n.type="string";let{minimum:o,maximum:s,format:a,patterns:l,contentEncoding:u}=e._zod.bag;if(typeof o=="number"&&(n.minLength=o),typeof s=="number"&&(n.maxLength=s),a&&(n.format=Tw[a]??a,n.format===""&&delete n.format,a==="time"&&delete n.format),u&&(n.contentEncoding=u),l&&l.size>0){let c=[...l];c.length===1?n.pattern=c[0].source:c.length>1&&(n.allOf=[...c.map(m=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:m.source}))])}},am=(e,t,i,r)=>{let n=i,{minimum:o,maximum:s,format:a,multipleOf:l,exclusiveMaximum:u,exclusiveMinimum:c}=e._zod.bag;typeof a=="string"&&a.includes("int")?n.type="integer":n.type="number",typeof c=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.minimum=c,n.exclusiveMinimum=!0):n.exclusiveMinimum=c),typeof o=="number"&&(n.minimum=o,typeof c=="number"&&t.target!=="draft-04"&&(c>=o?delete n.minimum:delete n.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.maximum=u,n.exclusiveMaximum=!0):n.exclusiveMaximum=u),typeof s=="number"&&(n.maximum=s,typeof u=="number"&&t.target!=="draft-04"&&(u<=s?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},lm=(e,t,i,r)=>{i.type="boolean"},um=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},cm=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},dm=(e,t,i,r)=>{t.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},mm=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},pm=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},fm=(e,t,i,r)=>{i.not={}},hm=(e,t,i,r)=>{},vm=(e,t,i,r)=>{},gm=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},bm=(e,t,i,r)=>{let n=e._zod.def,o=Kr(n.entries);o.every(s=>typeof s=="number")&&(i.type="number"),o.every(s=>typeof s=="string")&&(i.type="string"),i.enum=o},ym=(e,t,i,r)=>{let n=e._zod.def,o=[];for(let s of n.values)if(s===void 0){if(t.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(t.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(s))}else o.push(s);if(o.length!==0)if(o.length===1){let s=o[0];i.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?i.enum=[s]:i.const=s}else o.every(s=>typeof s=="number")&&(i.type="number"),o.every(s=>typeof s=="string")&&(i.type="string"),o.every(s=>typeof s=="boolean")&&(i.type="boolean"),o.every(s=>s===null)&&(i.type="null"),i.enum=o},_m=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},$m=(e,t,i,r)=>{let n=i,o=e._zod.pattern;if(!o)throw Error("Pattern not found in template literal");n.type="string",n.pattern=o.source},km=(e,t,i,r)=>{let n=i,o={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:a,mime:l}=e._zod.bag;s!==void 0&&(o.minLength=s),a!==void 0&&(o.maxLength=a),l?l.length===1?(o.contentMediaType=l[0],Object.assign(n,o)):(Object.assign(n,o),n.anyOf=l.map(u=>({contentMediaType:u}))):Object.assign(n,o)},xm=(e,t,i,r)=>{i.type="boolean"},wm=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Sm=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Im=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Dm=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},zm=(e,t,i,r)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},Tm=(e,t,i,r)=>{let n=i,o=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;typeof s=="number"&&(n.minItems=s),typeof a=="number"&&(n.maxItems=a),n.type="array",n.items=B(o.element,t,{...r,path:[...r.path,"items"]})},Om=(e,t,i,r)=>{let n=i,o=e._zod.def;n.type="object",n.properties={};let s=o.shape;for(let u in s)n.properties[u]=B(s[u],t,{...r,path:[...r.path,"properties",u]});let a=new Set(Object.keys(s)),l=new Set([...a].filter(u=>{let c=o.shape[u]._zod;return t.io==="input"?c.optin===void 0:c.optout===void 0}));l.size>0&&(n.required=Array.from(l)),o.catchall?._zod.def.type==="never"?n.additionalProperties=!1:o.catchall?o.catchall&&(n.additionalProperties=B(o.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(n.additionalProperties=!1)},Ho=(e,t,i,r)=>{let n=e._zod.def,o=n.inclusive===!1,s=n.options.map((a,l)=>B(a,t,{...r,path:[...r.path,o?"oneOf":"anyOf",l]}));o?i.oneOf=s:i.anyOf=s},Pm=(e,t,i,r)=>{let n=e._zod.def,o=B(n.left,t,{...r,path:[...r.path,"allOf",0]}),s=B(n.right,t,{...r,path:[...r.path,"allOf",1]}),a=u=>"allOf"in u&&Object.keys(u).length===1,l=[...a(o)?o.allOf:[o],...a(s)?s.allOf:[s]];i.allOf=l},Nm=(e,t,i,r)=>{let n=i,o=e._zod.def;n.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",l=o.items.map((p,h)=>B(p,t,{...r,path:[...r.path,s,h]})),u=o.rest?B(o.rest,t,{...r,path:[...r.path,a,...t.target==="openapi-3.0"?[o.items.length]:[]]}):null;t.target==="draft-2020-12"?(n.prefixItems=l,u&&(n.items=u)):t.target==="openapi-3.0"?(n.items={anyOf:l},u&&n.items.anyOf.push(u),n.minItems=l.length,!u&&(n.maxItems=l.length)):(n.items=l,u&&(n.additionalItems=u));let{minimum:c,maximum:m}=e._zod.bag;typeof c=="number"&&(n.minItems=c),typeof m=="number"&&(n.maxItems=m)},Em=(e,t,i,r)=>{let n=i,o=e._zod.def;n.type="object";let s=o.keyType,a=s._zod.bag?.patterns;if(o.mode==="loose"&&a&&a.size>0){let u=B(o.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});n.patternProperties={};for(let c of a)n.patternProperties[c.source]=u}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(n.propertyNames=B(o.keyType,t,{...r,path:[...r.path,"propertyNames"]})),n.additionalProperties=B(o.valueType,t,{...r,path:[...r.path,"additionalProperties"]});let l=s._zod.values;if(l){let u=[...l].filter(c=>typeof c=="string"||typeof c=="number");u.length>0&&(n.required=u)}},Zm=(e,t,i,r)=>{let n=e._zod.def,o=B(n.innerType,t,r),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=n.innerType,i.nullable=!0):i.anyOf=[o,{type:"null"}]},Um=(e,t,i,r)=>{let n=e._zod.def;B(n.innerType,t,r);let o=t.seen.get(e);o.ref=n.innerType},jm=(e,t,i,r)=>{let n=e._zod.def;B(n.innerType,t,r);let o=t.seen.get(e);o.ref=n.innerType,i.default=JSON.parse(JSON.stringify(n.defaultValue))},Am=(e,t,i,r)=>{let n=e._zod.def;B(n.innerType,t,r);let o=t.seen.get(e);o.ref=n.innerType,t.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},Cm=(e,t,i,r)=>{let n=e._zod.def;B(n.innerType,t,r);let o=t.seen.get(e);o.ref=n.innerType;let s;try{s=n.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}i.default=s},Rm=(e,t,i,r)=>{let n=e._zod.def,o=t.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;B(o,t,r);let s=t.seen.get(e);s.ref=o},Lm=(e,t,i,r)=>{let n=e._zod.def;B(n.innerType,t,r);let o=t.seen.get(e);o.ref=n.innerType,i.readOnly=!0},Fm=(e,t,i,r)=>{let n=e._zod.def;B(n.innerType,t,r);let o=t.seen.get(e);o.ref=n.innerType},Vo=(e,t,i,r)=>{let n=e._zod.def;B(n.innerType,t,r);let o=t.seen.get(e);o.ref=n.innerType},Mm=(e,t,i,r)=>{let n=e._zod.innerType;B(n,t,r);let o=t.seen.get(e);o.ref=n},br={string:sm,number:am,boolean:lm,bigint:um,symbol:cm,null:dm,undefined:mm,void:pm,never:fm,any:hm,unknown:vm,date:gm,enum:bm,literal:ym,nan:_m,template_literal:$m,file:km,success:xm,custom:wm,function:Sm,transform:Im,map:Dm,set:zm,array:Tm,object:Om,union:Ho,intersection:Pm,tuple:Nm,record:Em,nullable:Zm,nonoptional:Um,default:jm,prefault:Am,catch:Cm,pipe:Rm,readonly:Lm,promise:Fm,optional:Vo,lazy:Mm};function qm(e,t){if("_idmap"in e){let r=e,n=zt({...t,processors:br}),o={};for(let l of r._idmap.entries()){let[u,c]=l;B(c,n)}let s={},a={registry:r,uri:t?.uri,defs:o};n.external=a;for(let l of r._idmap.entries()){let[u,c]=l;Tt(n,c),s[u]=Ot(n,c)}if(Object.keys(o).length>0){let l=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[l]:o}}return{schemas:s}}let i=zt({...t,processors:br});return B(e,i),Tt(i,e),Ot(i,e)}class Ow{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(t){this.ctx.counter=t}get seen(){return this.ctx.seen}constructor(t){let i=t?.target??"draft-2020-12";i==="draft-4"&&(i="draft-04"),i==="draft-7"&&(i="draft-07"),this.ctx=zt({processors:br,target:i,...t?.metadata&&{metadata:t.metadata},...t?.unrepresentable&&{unrepresentable:t.unrepresentable},...t?.override&&{override:t.override},...t?.io&&{io:t.io}})}process(t,i={path:[],schemaPath:[]}){return B(t,this.ctx,i)}emit(t,i){i&&(i.cycles&&(this.ctx.cycles=i.cycles),i.reused&&(this.ctx.reused=i.reused),i.external&&(this.ctx.external=i.external)),Tt(this.ctx,t);let r=Ot(this.ctx,t),{"~standard":n,...o}=r;return o}}var Pw={},Jm={};Be(Jm,{xor:()=>Qp,xid:()=>kp,void:()=>Hp,uuidv7:()=>fp,uuidv6:()=>pp,uuidv4:()=>mp,uuid:()=>dp,url:()=>hp,unknown:()=>ct,union:()=>Vi,undefined:()=>Wp,ulid:()=>$p,uint64:()=>qp,uint32:()=>Lp,tuple:()=>gs,transform:()=>Gi,templateLiteral:()=>pf,symbol:()=>Jp,superRefine:()=>Js,success:()=>cf,stringbool:()=>_f,stringFormat:()=>Ep,string:()=>Qn,strictObject:()=>Xp,set:()=>of,refine:()=>qs,record:()=>bs,readonly:()=>As,promise:()=>ff,preprocess:()=>kf,prefault:()=>Os,pipe:()=>Ht,partialRecord:()=>tf,optional:()=>Wt,object:()=>Gp,number:()=>ts,nullish:()=>uf,nullable:()=>Bt,null:()=>ss,nonoptional:()=>Ps,never:()=>Bi,nativeEnum:()=>sf,nanoid:()=>bp,nan:()=>df,meta:()=>bf,map:()=>rf,mac:()=>Sp,looseRecord:()=>nf,looseObject:()=>Yp,literal:()=>af,lazy:()=>Ls,ksuid:()=>xp,keyof:()=>Kp,jwt:()=>Np,json:()=>$f,ipv6:()=>Ip,ipv4:()=>wp,intersection:()=>hs,int64:()=>Mp,int32:()=>Rp,int:()=>ei,instanceof:()=>yf,httpUrl:()=>vp,hostname:()=>Zp,hex:()=>Up,hash:()=>jp,guid:()=>cp,function:()=>ti,float64:()=>Cp,float32:()=>Ap,file:()=>lf,exactOptional:()=>Ss,enum:()=>Ki,emoji:()=>gp,email:()=>up,e164:()=>Pp,discriminatedUnion:()=>ef,describe:()=>gf,date:()=>Vp,custom:()=>vf,cuid2:()=>_p,cuid:()=>yp,codec:()=>mf,cidrv6:()=>zp,cidrv4:()=>Dp,check:()=>hf,catch:()=>Zs,boolean:()=>ns,bigint:()=>Fp,base64url:()=>Op,base64:()=>Tp,array:()=>xn,any:()=>Bp,_function:()=>ti,_default:()=>zs,_ZodString:()=>zi,ZodXor:()=>ms,ZodXID:()=>Ui,ZodVoid:()=>cs,ZodUnknown:()=>ls,ZodUnion:()=>Sn,ZodUndefined:()=>rs,ZodUUID:()=>Fe,ZodURL:()=>yn,ZodULID:()=>Zi,ZodType:()=>Z,ZodTuple:()=>vs,ZodTransform:()=>xs,ZodTemplateLiteral:()=>Cs,ZodSymbol:()=>is,ZodSuccess:()=>Ns,ZodStringFormat:()=>K,ZodString:()=>bn,ZodSet:()=>_s,ZodRecord:()=>In,ZodReadonly:()=>js,ZodPromise:()=>Fs,ZodPrefault:()=>Ts,ZodPipe:()=>Qi,ZodOptional:()=>Xi,ZodObject:()=>wn,ZodNumberFormat:()=>ft,ZodNumber:()=>_n,ZodNullable:()=>Is,ZodNull:()=>os,ZodNonOptional:()=>Yi,ZodNever:()=>us,ZodNanoID:()=>Pi,ZodNaN:()=>Us,ZodMap:()=>ys,ZodMAC:()=>es,ZodLiteral:()=>$s,ZodLazy:()=>Rs,ZodKSUID:()=>ji,ZodJWT:()=>Ji,ZodIntersection:()=>fs,ZodIPv6:()=>Ci,ZodIPv4:()=>Ai,ZodGUID:()=>Jt,ZodFunction:()=>Ms,ZodFile:()=>ks,ZodExactOptional:()=>ws,ZodEnum:()=>Pt,ZodEmoji:()=>Oi,ZodEmail:()=>Ti,ZodE164:()=>qi,ZodDiscriminatedUnion:()=>ps,ZodDefault:()=>Ds,ZodDate:()=>Hi,ZodCustomStringFormat:()=>Ut,ZodCustom:()=>Dn,ZodCodec:()=>er,ZodCatch:()=>Es,ZodCUID2:()=>Ei,ZodCUID:()=>Ni,ZodCIDRv6:()=>Li,ZodCIDRv4:()=>Ri,ZodBoolean:()=>$n,ZodBigIntFormat:()=>Wi,ZodBigInt:()=>kn,ZodBase64URL:()=>Mi,ZodBase64:()=>Fi,ZodArray:()=>ds,ZodAny:()=>as});var Wm={};Be(Wm,{uppercase:()=>bi,trim:()=>wi,toUpperCase:()=>Ii,toLowerCase:()=>Si,startsWith:()=>_i,slugify:()=>Di,size:()=>fn,regex:()=>vi,property:()=>Bo,positive:()=>Mo,overwrite:()=>Ve,normalize:()=>xi,nonpositive:()=>Jo,nonnegative:()=>Wo,negative:()=>qo,multipleOf:()=>Dt,minSize:()=>Qe,minLength:()=>ut,mime:()=>ki,maxSize:()=>Zt,maxLength:()=>hn,lte:()=>Oe,lt:()=>Xe,lowercase:()=>gi,length:()=>vn,includes:()=>yi,gte:()=>_e,gt:()=>Ye,endsWith:()=>$i});var Ko={};Be(Ko,{time:()=>Vm,duration:()=>Km,datetime:()=>Bm,date:()=>Hm,ZodISOTime:()=>Yo,ZodISODuration:()=>Qo,ZodISODateTime:()=>Go,ZodISODate:()=>Xo});var Go=f("ZodISODateTime",(e,t)=>{dc.init(e,t),K.init(e,t)});function Bm(e){return xd(Go,e)}var Xo=f("ZodISODate",(e,t)=>{mc.init(e,t),K.init(e,t)});function Hm(e){return wd(Xo,e)}var Yo=f("ZodISOTime",(e,t)=>{pc.init(e,t),K.init(e,t)});function Vm(e){return Sd(Yo,e)}var Qo=f("ZodISODuration",(e,t)=>{fc.init(e,t),K.init(e,t)});function Km(e){return Id(Qo,e)}var Gm=(e,t)=>{Xr.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>Qr(e,i)},flatten:{value:i=>Yr(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Vn,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Vn,2)}},isEmpty:{get(){return e.issues.length===0}}})},Nw=f("ZodError",Gm),De=f("ZodError",Gm,{Parent:Error}),Xm=sn(De),Ym=an(De),Qm=ln(De),ep=un(De),tp=eo(De),np=to(De),ip=no(De),rp=io(De),op=ro(De),sp=oo(De),ap=so(De),lp=ao(De),Z=f("ZodType",(e,t)=>(N.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:qt(e,"input"),output:qt(e,"output")}}),e.toJSONSchema=om(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...i)=>e.clone(C.mergeDefs(t,{checks:[...t.checks??[],...i.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(i,r)=>Ue(e,i,r),e.brand=()=>e,e.register=(i,r)=>(i.add(e,r),e),e.parse=(i,r)=>Xm(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>Qm(e,i,r),e.parseAsync=async(i,r)=>Ym(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>ep(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>tp(e,i,r),e.decode=(i,r)=>np(e,i,r),e.encodeAsync=async(i,r)=>ip(e,i,r),e.decodeAsync=async(i,r)=>rp(e,i,r),e.safeEncode=(i,r)=>op(e,i,r),e.safeDecode=(i,r)=>sp(e,i,r),e.safeEncodeAsync=async(i,r)=>ap(e,i,r),e.safeDecodeAsync=async(i,r)=>lp(e,i,r),e.refine=(i,r)=>e.check(qs(i,r)),e.superRefine=i=>e.check(Js(i)),e.overwrite=i=>e.check(Ve(i)),e.optional=()=>Wt(e),e.exactOptional=()=>Ss(e),e.nullable=()=>Bt(e),e.nullish=()=>Wt(Bt(e)),e.nonoptional=i=>Ps(e,i),e.array=()=>xn(e),e.or=i=>Vi([e,i]),e.and=i=>hs(e,i),e.transform=i=>Ht(e,Gi(i)),e.default=i=>zs(e,i),e.prefault=i=>Os(e,i),e.catch=i=>Zs(e,i),e.pipe=i=>Ht(e,i),e.readonly=()=>As(e),e.describe=i=>{let r=e.clone();return Te.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return Te.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return Te.get(e);let r=e.clone();return Te.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),zi=f("_ZodString",(e,t)=>{pn.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(r,n,o)=>sm(e,r,n);let i=e._zod.bag;e.format=i.format??null,e.minLength=i.minimum??null,e.maxLength=i.maximum??null,e.regex=(...r)=>e.check(vi(...r)),e.includes=(...r)=>e.check(yi(...r)),e.startsWith=(...r)=>e.check(_i(...r)),e.endsWith=(...r)=>e.check($i(...r)),e.min=(...r)=>e.check(ut(...r)),e.max=(...r)=>e.check(hn(...r)),e.length=(...r)=>e.check(vn(...r)),e.nonempty=(...r)=>e.check(ut(1,...r)),e.lowercase=r=>e.check(gi(r)),e.uppercase=r=>e.check(bi(r)),e.trim=()=>e.check(wi()),e.normalize=(...r)=>e.check(xi(...r)),e.toLowerCase=()=>e.check(Si()),e.toUpperCase=()=>e.check(Ii()),e.slugify=()=>e.check(Di())}),bn=f("ZodString",(e,t)=>{pn.init(e,t),zi.init(e,t),e.email=i=>e.check(ko(Ti,i)),e.url=i=>e.check(hi(yn,i)),e.jwt=i=>e.check(Fo(Ji,i)),e.emoji=i=>e.check(Do(Oi,i)),e.guid=i=>e.check(Yn(Jt,i)),e.uuid=i=>e.check(xo(Fe,i)),e.uuidv4=i=>e.check(wo(Fe,i)),e.uuidv6=i=>e.check(So(Fe,i)),e.uuidv7=i=>e.check(Io(Fe,i)),e.nanoid=i=>e.check(zo(Pi,i)),e.guid=i=>e.check(Yn(Jt,i)),e.cuid=i=>e.check(To(Ni,i)),e.cuid2=i=>e.check(Oo(Ei,i)),e.ulid=i=>e.check(Po(Zi,i)),e.base64=i=>e.check(Co(Fi,i)),e.base64url=i=>e.check(Ro(Mi,i)),e.xid=i=>e.check(No(Ui,i)),e.ksuid=i=>e.check(Eo(ji,i)),e.ipv4=i=>e.check(Zo(Ai,i)),e.ipv6=i=>e.check(Uo(Ci,i)),e.cidrv4=i=>e.check(jo(Ri,i)),e.cidrv6=i=>e.check(Ao(Li,i)),e.e164=i=>e.check(Lo(qi,i)),e.datetime=i=>e.check(Bm(i)),e.date=i=>e.check(Hm(i)),e.time=i=>e.check(Vm(i)),e.duration=i=>e.check(Km(i))});function Qn(e){return yd(bn,e)}var K=f("ZodStringFormat",(e,t)=>{V.init(e,t),zi.init(e,t)}),Ti=f("ZodEmail",(e,t)=>{nc.init(e,t),K.init(e,t)});function up(e){return ko(Ti,e)}var Jt=f("ZodGUID",(e,t)=>{ec.init(e,t),K.init(e,t)});function cp(e){return Yn(Jt,e)}var Fe=f("ZodUUID",(e,t)=>{tc.init(e,t),K.init(e,t)});function dp(e){return xo(Fe,e)}function mp(e){return wo(Fe,e)}function pp(e){return So(Fe,e)}function fp(e){return Io(Fe,e)}var yn=f("ZodURL",(e,t)=>{ic.init(e,t),K.init(e,t)});function hp(e){return hi(yn,e)}function vp(e){return hi(yn,{protocol:/^https?$/,hostname:pt.domain,...C.normalizeParams(e)})}var Oi=f("ZodEmoji",(e,t)=>{rc.init(e,t),K.init(e,t)});function gp(e){return Do(Oi,e)}var Pi=f("ZodNanoID",(e,t)=>{oc.init(e,t),K.init(e,t)});function bp(e){return zo(Pi,e)}var Ni=f("ZodCUID",(e,t)=>{sc.init(e,t),K.init(e,t)});function yp(e){return To(Ni,e)}var Ei=f("ZodCUID2",(e,t)=>{ac.init(e,t),K.init(e,t)});function _p(e){return Oo(Ei,e)}var Zi=f("ZodULID",(e,t)=>{lc.init(e,t),K.init(e,t)});function $p(e){return Po(Zi,e)}var Ui=f("ZodXID",(e,t)=>{uc.init(e,t),K.init(e,t)});function kp(e){return No(Ui,e)}var ji=f("ZodKSUID",(e,t)=>{cc.init(e,t),K.init(e,t)});function xp(e){return Eo(ji,e)}var Ai=f("ZodIPv4",(e,t)=>{hc.init(e,t),K.init(e,t)});function wp(e){return Zo(Ai,e)}var es=f("ZodMAC",(e,t)=>{gc.init(e,t),K.init(e,t)});function Sp(e){return $d(es,e)}var Ci=f("ZodIPv6",(e,t)=>{vc.init(e,t),K.init(e,t)});function Ip(e){return Uo(Ci,e)}var Ri=f("ZodCIDRv4",(e,t)=>{bc.init(e,t),K.init(e,t)});function Dp(e){return jo(Ri,e)}var Li=f("ZodCIDRv6",(e,t)=>{yc.init(e,t),K.init(e,t)});function zp(e){return Ao(Li,e)}var Fi=f("ZodBase64",(e,t)=>{_c.init(e,t),K.init(e,t)});function Tp(e){return Co(Fi,e)}var Mi=f("ZodBase64URL",(e,t)=>{kc.init(e,t),K.init(e,t)});function Op(e){return Ro(Mi,e)}var qi=f("ZodE164",(e,t)=>{xc.init(e,t),K.init(e,t)});function Pp(e){return Lo(qi,e)}var Ji=f("ZodJWT",(e,t)=>{Sc.init(e,t),K.init(e,t)});function Np(e){return Fo(Ji,e)}var Ut=f("ZodCustomStringFormat",(e,t)=>{Ic.init(e,t),K.init(e,t)});function Ep(e,t,i={}){return gn(Ut,e,t,i)}function Zp(e){return gn(Ut,"hostname",pt.hostname,e)}function Up(e){return gn(Ut,"hex",pt.hex,e)}function jp(e,t){let i=t?.enc??"hex",r=`${e}_${i}`,n=pt[r];if(!n)throw Error(`Unrecognized hash format: ${r}`);return gn(Ut,r,n,t)}var _n=f("ZodNumber",(e,t)=>{fo.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(r,n,o)=>am(e,r,n),e.gt=(r,n)=>e.check(Ye(r,n)),e.gte=(r,n)=>e.check(_e(r,n)),e.min=(r,n)=>e.check(_e(r,n)),e.lt=(r,n)=>e.check(Xe(r,n)),e.lte=(r,n)=>e.check(Oe(r,n)),e.max=(r,n)=>e.check(Oe(r,n)),e.int=r=>e.check(ei(r)),e.safe=r=>e.check(ei(r)),e.positive=r=>e.check(Ye(0,r)),e.nonnegative=r=>e.check(_e(0,r)),e.negative=r=>e.check(Xe(0,r)),e.nonpositive=r=>e.check(Oe(0,r)),e.multipleOf=(r,n)=>e.check(Dt(r,n)),e.step=(r,n)=>e.check(Dt(r,n)),e.finite=()=>e;let i=e._zod.bag;e.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),e.isFinite=!0,e.format=i.format??null});function ts(e){return Dd(_n,e)}var ft=f("ZodNumberFormat",(e,t)=>{Dc.init(e,t),_n.init(e,t)});function ei(e){return Td(ft,e)}function Ap(e){return Od(ft,e)}function Cp(e){return Pd(ft,e)}function Rp(e){return Nd(ft,e)}function Lp(e){return Ed(ft,e)}var $n=f("ZodBoolean",(e,t)=>{ho.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>lm(e,i,r)});function ns(e){return Zd($n,e)}var kn=f("ZodBigInt",(e,t)=>{vo.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(r,n,o)=>um(e,r),e.gte=(r,n)=>e.check(_e(r,n)),e.min=(r,n)=>e.check(_e(r,n)),e.gt=(r,n)=>e.check(Ye(r,n)),e.gte=(r,n)=>e.check(_e(r,n)),e.min=(r,n)=>e.check(_e(r,n)),e.lt=(r,n)=>e.check(Xe(r,n)),e.lte=(r,n)=>e.check(Oe(r,n)),e.max=(r,n)=>e.check(Oe(r,n)),e.positive=r=>e.check(Ye(BigInt(0),r)),e.negative=r=>e.check(Xe(BigInt(0),r)),e.nonpositive=r=>e.check(Oe(BigInt(0),r)),e.nonnegative=r=>e.check(_e(BigInt(0),r)),e.multipleOf=(r,n)=>e.check(Dt(r,n));let i=e._zod.bag;e.minValue=i.minimum??null,e.maxValue=i.maximum??null,e.format=i.format??null});function Fp(e){return jd(kn,e)}var Wi=f("ZodBigIntFormat",(e,t)=>{zc.init(e,t),kn.init(e,t)});function Mp(e){return Cd(Wi,e)}function qp(e){return Rd(Wi,e)}var is=f("ZodSymbol",(e,t)=>{Tc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>cm(e,i)});function Jp(e){return Ld(is,e)}var rs=f("ZodUndefined",(e,t)=>{Oc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>mm(e,i)});function Wp(e){return Fd(rs,e)}var os=f("ZodNull",(e,t)=>{Pc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>dm(e,i,r)});function ss(e){return Md(os,e)}var as=f("ZodAny",(e,t)=>{Nc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>hm()});function Bp(){return qd(as)}var ls=f("ZodUnknown",(e,t)=>{Ec.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>vm()});function ct(){return Jd(ls)}var us=f("ZodNever",(e,t)=>{Zc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>fm(e,i,r)});function Bi(e){return Wd(us,e)}var cs=f("ZodVoid",(e,t)=>{Uc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>pm(e,i)});function Hp(e){return Bd(cs,e)}var Hi=f("ZodDate",(e,t)=>{jc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(r,n,o)=>gm(e,r),e.min=(r,n)=>e.check(_e(r,n)),e.max=(r,n)=>e.check(Oe(r,n));let i=e._zod.bag;e.minDate=i.minimum?new Date(i.minimum):null,e.maxDate=i.maximum?new Date(i.maximum):null});function Vp(e){return Hd(Hi,e)}var ds=f("ZodArray",(e,t)=>{Ac.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Tm(e,i,r,n),e.element=t.element,e.min=(i,r)=>e.check(ut(i,r)),e.nonempty=i=>e.check(ut(1,i)),e.max=(i,r)=>e.check(hn(i,r)),e.length=(i,r)=>e.check(vn(i,r)),e.unwrap=()=>e.element});function xn(e,t){return Gd(ds,e,t)}function Kp(e){let t=e._zod.def.shape;return Ki(Object.keys(t))}var wn=f("ZodObject",(e,t)=>{Fc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Om(e,i,r,n),C.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Ki(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ct()}),e.loose=()=>e.clone({...e._zod.def,catchall:ct()}),e.strict=()=>e.clone({...e._zod.def,catchall:Bi()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>C.extend(e,i),e.safeExtend=i=>C.safeExtend(e,i),e.merge=i=>C.merge(e,i),e.pick=i=>C.pick(e,i),e.omit=i=>C.omit(e,i),e.partial=(...i)=>C.partial(Xi,e,i[0]),e.required=(...i)=>C.required(Yi,e,i[0])});function Gp(e,t){let i={type:"object",shape:e??{},...C.normalizeParams(t)};return new wn(i)}function Xp(e,t){return new wn({type:"object",shape:e,catchall:Bi(),...C.normalizeParams(t)})}function Yp(e,t){return new wn({type:"object",shape:e,catchall:ct(),...C.normalizeParams(t)})}var Sn=f("ZodUnion",(e,t)=>{fi.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Ho(e,i,r,n),e.options=t.options});function Vi(e,t){return new Sn({type:"union",options:e,...C.normalizeParams(t)})}var ms=f("ZodXor",(e,t)=>{Sn.init(e,t),Mc.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Ho(e,i,r,n),e.options=t.options});function Qp(e,t){return new ms({type:"union",options:e,inclusive:!1,...C.normalizeParams(t)})}var ps=f("ZodDiscriminatedUnion",(e,t)=>{Sn.init(e,t),qc.init(e,t)});function ef(e,t,i){return new ps({type:"union",options:t,discriminator:e,...C.normalizeParams(i)})}var fs=f("ZodIntersection",(e,t)=>{Jc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Pm(e,i,r,n)});function hs(e,t){return new fs({type:"intersection",left:e,right:t})}var vs=f("ZodTuple",(e,t)=>{go.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Nm(e,i,r,n),e.rest=i=>e.clone({...e._zod.def,rest:i})});function gs(e,t,i){let r=t instanceof N,n=r?i:t;return new vs({type:"tuple",items:e,rest:r?t:null,...C.normalizeParams(n)})}var In=f("ZodRecord",(e,t)=>{Wc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Em(e,i,r,n),e.keyType=t.keyType,e.valueType=t.valueType});function bs(e,t,i){return new In({type:"record",keyType:e,valueType:t,...C.normalizeParams(i)})}function tf(e,t,i){let r=Ue(e);return r._zod.values=void 0,new In({type:"record",keyType:r,valueType:t,...C.normalizeParams(i)})}function nf(e,t,i){return new In({type:"record",keyType:e,valueType:t,mode:"loose",...C.normalizeParams(i)})}var ys=f("ZodMap",(e,t)=>{Bc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Dm(e,i),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...i)=>e.check(Qe(...i)),e.nonempty=i=>e.check(Qe(1,i)),e.max=(...i)=>e.check(Zt(...i)),e.size=(...i)=>e.check(fn(...i))});function rf(e,t,i){return new ys({type:"map",keyType:e,valueType:t,...C.normalizeParams(i)})}var _s=f("ZodSet",(e,t)=>{Hc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>zm(e,i),e.min=(...i)=>e.check(Qe(...i)),e.nonempty=i=>e.check(Qe(1,i)),e.max=(...i)=>e.check(Zt(...i)),e.size=(...i)=>e.check(fn(...i))});function of(e,t){return new _s({type:"set",valueType:e,...C.normalizeParams(t)})}var Pt=f("ZodEnum",(e,t)=>{Vc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(r,n,o)=>bm(e,r,n),e.enum=t.entries,e.options=Object.values(t.entries);let i=new Set(Object.keys(t.entries));e.extract=(r,n)=>{let o={};for(let s of r)if(i.has(s))o[s]=t.entries[s];else throw Error(`Key ${s} not found in enum`);return new Pt({...t,checks:[],...C.normalizeParams(n),entries:o})},e.exclude=(r,n)=>{let o={...t.entries};for(let s of r)if(i.has(s))delete o[s];else throw Error(`Key ${s} not found in enum`);return new Pt({...t,checks:[],...C.normalizeParams(n),entries:o})}});function Ki(e,t){let i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new Pt({type:"enum",entries:i,...C.normalizeParams(t)})}function sf(e,t){return new Pt({type:"enum",entries:e,...C.normalizeParams(t)})}var $s=f("ZodLiteral",(e,t)=>{Kc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>ym(e,i,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function af(e,t){return new $s({type:"literal",values:Array.isArray(e)?e:[e],...C.normalizeParams(t)})}var ks=f("ZodFile",(e,t)=>{Gc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>km(e,i,r),e.min=(i,r)=>e.check(Qe(i,r)),e.max=(i,r)=>e.check(Zt(i,r)),e.mime=(i,r)=>e.check(ki(Array.isArray(i)?i:[i],r))});function lf(e){return Xd(ks,e)}var xs=f("ZodTransform",(e,t)=>{Xc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Im(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new ci(e.constructor.name);i.addIssue=o=>{if(typeof o=="string")i.issues.push(C.issue(o,i.value,t));else{let s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=i.value),s.inst??(s.inst=e),i.issues.push(C.issue(s))}};let n=t.transform(i.value,i);return n instanceof Promise?n.then(o=>(i.value=o,i)):(i.value=n,i)}});function Gi(e){return new xs({type:"transform",transform:e})}var Xi=f("ZodOptional",(e,t)=>{bo.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Vo(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function Wt(e){return new Xi({type:"optional",innerType:e})}var ws=f("ZodExactOptional",(e,t)=>{Yc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Vo(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function Ss(e){return new ws({type:"optional",innerType:e})}var Is=f("ZodNullable",(e,t)=>{Qc.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Zm(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function Bt(e){return new Is({type:"nullable",innerType:e})}function uf(e){return Wt(Bt(e))}var Ds=f("ZodDefault",(e,t)=>{ed.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>jm(e,i,r,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function zs(e,t){return new Ds({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():C.shallowClone(t)}})}var Ts=f("ZodPrefault",(e,t)=>{td.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Am(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function Os(e,t){return new Ts({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():C.shallowClone(t)}})}var Yi=f("ZodNonOptional",(e,t)=>{nd.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Um(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function Ps(e,t){return new Yi({type:"nonoptional",innerType:e,...C.normalizeParams(t)})}var Ns=f("ZodSuccess",(e,t)=>{id.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>xm(e,i,r),e.unwrap=()=>e._zod.def.innerType});function cf(e){return new Ns({type:"success",innerType:e})}var Es=f("ZodCatch",(e,t)=>{rd.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Cm(e,i,r,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Zs(e,t){return new Es({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var Us=f("ZodNaN",(e,t)=>{od.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>_m(e,i)});function df(e){return Kd(Us,e)}var Qi=f("ZodPipe",(e,t)=>{sd.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Rm(e,i,r,n),e.in=t.in,e.out=t.out});function Ht(e,t){return new Qi({type:"pipe",in:e,out:t})}var er=f("ZodCodec",(e,t)=>{Qi.init(e,t),yo.init(e,t)});function mf(e,t,i){return new er({type:"pipe",in:e,out:t,transform:i.decode,reverseTransform:i.encode})}var js=f("ZodReadonly",(e,t)=>{ad.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Lm(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function As(e){return new js({type:"readonly",innerType:e})}var Cs=f("ZodTemplateLiteral",(e,t)=>{ld.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>$m(e,i,r)});function pf(e,t){return new Cs({type:"template_literal",parts:e,...C.normalizeParams(t)})}var Rs=f("ZodLazy",(e,t)=>{dd.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Mm(e,i,r,n),e.unwrap=()=>e._zod.def.getter()});function Ls(e){return new Rs({type:"lazy",getter:e})}var Fs=f("ZodPromise",(e,t)=>{cd.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Fm(e,i,r,n),e.unwrap=()=>e._zod.def.innerType});function ff(e){return new Fs({type:"promise",innerType:e})}var Ms=f("ZodFunction",(e,t)=>{ud.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>Sm(e,i)});function ti(e){return new Ms({type:"function",input:Array.isArray(e?.input)?gs(e?.input):e?.input??xn(ct()),output:e?.output??ct()})}var Dn=f("ZodCustom",(e,t)=>{md.init(e,t),Z.init(e,t),e._zod.processJSONSchema=(i,r,n)=>wm(e,i)});function hf(e){let t=new te({check:"custom"});return t._zod.check=e,t}function vf(e,t){return Yd(Dn,e??(()=>!0),t)}function qs(e,t={}){return Qd(Dn,e,t)}function Js(e){return em(e)}var gf=nm,bf=im;function yf(e,t={}){let i=new Dn({type:"custom",check:"custom",fn:r=>r instanceof e,abort:!0,...C.normalizeParams(t)});return i._zod.bag.Class=e,i._zod.check=r=>{r.value instanceof e||r.issues.push({code:"invalid_type",expected:e.name,input:r.value,inst:i,path:[...i._zod.def.path??[]]})},i}var _f=(...e)=>rm({Codec:er,Boolean:$n,String:bn},...e);function $f(e){let t=Ls(()=>Vi([Qn(e),ts(),ns(),ss(),xn(t),bs(Qn(),t)]));return t}function kf(e,t){return Ht(Gi(e),t)}var Ew={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function Zw(e){ve({customError:e})}function Uw(){return ve().customError}var yr;yr||(yr={});var x={...Jm,...Wm,iso:Ko},jw=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function Aw(e,t){let i=e.$schema;return i==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":i==="http://json-schema.org/draft-07/schema#"?"draft-7":i==="http://json-schema.org/draft-04/schema#"?"draft-4":t??"draft-2020-12"}function Cw(e,t){if(!e.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let i=e.slice(1).split("/").filter(Boolean);if(i.length===0)return t.rootSchema;let r=t.version==="draft-2020-12"?"$defs":"definitions";if(i[0]===r){let n=i[1];if(!n||!t.defs[n])throw Error(`Reference not found: ${e}`);return t.defs[n]}throw Error(`Reference not found: ${e}`)}function xf(e,t){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return x.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let n=e.$ref;if(t.refs.has(n))return t.refs.get(n);if(t.processing.has(n))return x.lazy(()=>{if(!t.refs.has(n))throw Error(`Circular reference not resolved: ${n}`);return t.refs.get(n)});t.processing.add(n);let o=Cw(n,t),s=he(o,t);return t.refs.set(n,s),t.processing.delete(n),s}if(e.enum!==void 0){let n=e.enum;if(t.version==="openapi-3.0"&&e.nullable===!0&&n.length===1&&n[0]===null)return x.null();if(n.length===0)return x.never();if(n.length===1)return x.literal(n[0]);if(n.every(s=>typeof s=="string"))return x.enum(n);let o=n.map(s=>x.literal(s));return o.length<2?o[0]:x.union([o[0],o[1],...o.slice(2)])}if(e.const!==void 0)return x.literal(e.const);let i=e.type;if(Array.isArray(i)){let n=i.map(o=>{let s={...e,type:o};return xf(s,t)});return n.length===0?x.never():n.length===1?n[0]:x.union(n)}if(!i)return x.any();let r;switch(i){case"string":{let n=x.string();if(e.format){let o=e.format;o==="email"?n=n.check(x.email()):o==="uri"||o==="uri-reference"?n=n.check(x.url()):o==="uuid"||o==="guid"?n=n.check(x.uuid()):o==="date-time"?n=n.check(x.iso.datetime()):o==="date"?n=n.check(x.iso.date()):o==="time"?n=n.check(x.iso.time()):o==="duration"?n=n.check(x.iso.duration()):o==="ipv4"?n=n.check(x.ipv4()):o==="ipv6"?n=n.check(x.ipv6()):o==="mac"?n=n.check(x.mac()):o==="cidr"?n=n.check(x.cidrv4()):o==="cidr-v6"?n=n.check(x.cidrv6()):o==="base64"?n=n.check(x.base64()):o==="base64url"?n=n.check(x.base64url()):o==="e164"?n=n.check(x.e164()):o==="jwt"?n=n.check(x.jwt()):o==="emoji"?n=n.check(x.emoji()):o==="nanoid"?n=n.check(x.nanoid()):o==="cuid"?n=n.check(x.cuid()):o==="cuid2"?n=n.check(x.cuid2()):o==="ulid"?n=n.check(x.ulid()):o==="xid"?n=n.check(x.xid()):o==="ksuid"&&(n=n.check(x.ksuid()))}typeof e.minLength=="number"&&(n=n.min(e.minLength)),typeof e.maxLength=="number"&&(n=n.max(e.maxLength)),e.pattern&&(n=n.regex(new RegExp(e.pattern))),r=n;break}case"number":case"integer":{let n=i==="integer"?x.number().int():x.number();typeof e.minimum=="number"&&(n=n.min(e.minimum)),typeof e.maximum=="number"&&(n=n.max(e.maximum)),typeof e.exclusiveMinimum=="number"?n=n.gt(e.exclusiveMinimum):e.exclusiveMinimum===!0&&typeof e.minimum=="number"&&(n=n.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?n=n.lt(e.exclusiveMaximum):e.exclusiveMaximum===!0&&typeof e.maximum=="number"&&(n=n.lt(e.maximum)),typeof e.multipleOf=="number"&&(n=n.multipleOf(e.multipleOf)),r=n;break}case"boolean":{r=x.boolean();break}case"null":{r=x.null();break}case"object":{let n={},o=e.properties||{},s=new Set(e.required||[]);for(let[l,u]of Object.entries(o)){let c=he(u,t);n[l]=s.has(l)?c:c.optional()}if(e.propertyNames){let l=he(e.propertyNames,t),u=e.additionalProperties&&typeof e.additionalProperties=="object"?he(e.additionalProperties,t):x.any();if(Object.keys(n).length===0){r=x.record(l,u);break}let c=x.object(n).passthrough(),m=x.looseRecord(l,u);r=x.intersection(c,m);break}if(e.patternProperties){let l=e.patternProperties,u=Object.keys(l),c=[];for(let p of u){let h=he(l[p],t),S=x.string().regex(new RegExp(p));c.push(x.looseRecord(S,h))}let m=[];if(Object.keys(n).length>0&&m.push(x.object(n).passthrough()),m.push(...c),m.length===0)r=x.object({}).passthrough();else if(m.length===1)r=m[0];else{let p=x.intersection(m[0],m[1]);for(let h=2;h<m.length;h++)p=x.intersection(p,m[h]);r=p}break}let a=x.object(n);e.additionalProperties===!1?r=a.strict():typeof e.additionalProperties=="object"?r=a.catchall(he(e.additionalProperties,t)):r=a.passthrough();break}case"array":{let{prefixItems:n,items:o}=e;if(n&&Array.isArray(n)){let s=n.map(l=>he(l,t)),a=o&&typeof o=="object"&&!Array.isArray(o)?he(o,t):void 0;a?r=x.tuple(s).rest(a):r=x.tuple(s),typeof e.minItems=="number"&&(r=r.check(x.minLength(e.minItems))),typeof e.maxItems=="number"&&(r=r.check(x.maxLength(e.maxItems)))}else if(Array.isArray(o)){let s=o.map(l=>he(l,t)),a=e.additionalItems&&typeof e.additionalItems=="object"?he(e.additionalItems,t):void 0;a?r=x.tuple(s).rest(a):r=x.tuple(s),typeof e.minItems=="number"&&(r=r.check(x.minLength(e.minItems))),typeof e.maxItems=="number"&&(r=r.check(x.maxLength(e.maxItems)))}else if(o!==void 0){let s=he(o,t),a=x.array(s);typeof e.minItems=="number"&&(a=a.min(e.minItems)),typeof e.maxItems=="number"&&(a=a.max(e.maxItems)),r=a}else r=x.array(x.any());break}default:throw Error(`Unsupported type: ${i}`)}return e.description&&(r=r.describe(e.description)),e.default!==void 0&&(r=r.default(e.default)),r}function he(e,t){if(typeof e=="boolean")return e?x.any():x.never();let i=xf(e,t),r=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let a=e.anyOf.map(u=>he(u,t)),l=x.union(a);i=r?x.intersection(i,l):l}if(e.oneOf&&Array.isArray(e.oneOf)){let a=e.oneOf.map(u=>he(u,t)),l=x.xor(a);i=r?x.intersection(i,l):l}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)i=r?i:x.any();else{let a=r?i:he(e.allOf[0],t),l=r?0:1;for(let u=l;u<e.allOf.length;u++)a=x.intersection(a,he(e.allOf[u],t));i=a}e.nullable===!0&&t.version==="openapi-3.0"&&(i=x.nullable(i)),e.readOnly===!0&&(i=x.readonly(i));let n={},o=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let a of o)a in e&&(n[a]=e[a]);let s=["contentEncoding","contentMediaType","contentSchema"];for(let a of s)a in e&&(n[a]=e[a]);for(let a of Object.keys(e))jw.has(a)||(n[a]=e[a]);return Object.keys(n).length>0&&t.registry.add(i,n),i}function Rw(e,t){if(typeof e=="boolean")return e?x.any():x.never();let i=Aw(e,t?.defaultTarget),r=e.$defs||e.definitions||{},n={version:i,defs:r,refs:new Map,processing:new Set,rootSchema:e,registry:t?.registry??Te};return he(e,n)}var wf={};Be(wf,{string:()=>Lw,number:()=>Fw,date:()=>Jw,boolean:()=>Mw,bigint:()=>qw});function Lw(e){return _d(bn,e)}function Fw(e){return zd(_n,e)}function Mw(e){return Ud($n,e)}function qw(e){return Ad(kn,e)}function Jw(e){return Vd(Hi,e)}ve(pd());var Ww=d.union([d.literal("light"),d.literal("dark")]).describe("Color theme preference for the host environment."),Vt=d.union([d.literal("inline"),d.literal("fullscreen"),d.literal("pip")]).describe("Display mode for UI presentation."),Bw=d.union([d.literal("--color-background-primary"),d.literal("--color-background-secondary"),d.literal("--color-background-tertiary"),d.literal("--color-background-inverse"),d.literal("--color-background-ghost"),d.literal("--color-background-info"),d.literal("--color-background-danger"),d.literal("--color-background-success"),d.literal("--color-background-warning"),d.literal("--color-background-disabled"),d.literal("--color-text-primary"),d.literal("--color-text-secondary"),d.literal("--color-text-tertiary"),d.literal("--color-text-inverse"),d.literal("--color-text-ghost"),d.literal("--color-text-info"),d.literal("--color-text-danger"),d.literal("--color-text-success"),d.literal("--color-text-warning"),d.literal("--color-text-disabled"),d.literal("--color-text-ghost"),d.literal("--color-border-primary"),d.literal("--color-border-secondary"),d.literal("--color-border-tertiary"),d.literal("--color-border-inverse"),d.literal("--color-border-ghost"),d.literal("--color-border-info"),d.literal("--color-border-danger"),d.literal("--color-border-success"),d.literal("--color-border-warning"),d.literal("--color-border-disabled"),d.literal("--color-ring-primary"),d.literal("--color-ring-secondary"),d.literal("--color-ring-inverse"),d.literal("--color-ring-info"),d.literal("--color-ring-danger"),d.literal("--color-ring-success"),d.literal("--color-ring-warning"),d.literal("--font-sans"),d.literal("--font-mono"),d.literal("--font-weight-normal"),d.literal("--font-weight-medium"),d.literal("--font-weight-semibold"),d.literal("--font-weight-bold"),d.literal("--font-text-xs-size"),d.literal("--font-text-sm-size"),d.literal("--font-text-md-size"),d.literal("--font-text-lg-size"),d.literal("--font-heading-xs-size"),d.literal("--font-heading-sm-size"),d.literal("--font-heading-md-size"),d.literal("--font-heading-lg-size"),d.literal("--font-heading-xl-size"),d.literal("--font-heading-2xl-size"),d.literal("--font-heading-3xl-size"),d.literal("--font-text-xs-line-height"),d.literal("--font-text-sm-line-height"),d.literal("--font-text-md-line-height"),d.literal("--font-text-lg-line-height"),d.literal("--font-heading-xs-line-height"),d.literal("--font-heading-sm-line-height"),d.literal("--font-heading-md-line-height"),d.literal("--font-heading-lg-line-height"),d.literal("--font-heading-xl-line-height"),d.literal("--font-heading-2xl-line-height"),d.literal("--font-heading-3xl-line-height"),d.literal("--border-radius-xs"),d.literal("--border-radius-sm"),d.literal("--border-radius-md"),d.literal("--border-radius-lg"),d.literal("--border-radius-xl"),d.literal("--border-radius-full"),d.literal("--border-width-regular"),d.literal("--shadow-hairline"),d.literal("--shadow-sm"),d.literal("--shadow-md"),d.literal("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),Hw=d.record(Bw.describe(`Style variables for theming MCP apps.
85
+
86
+ Individual style keys are optional - hosts may provide any subset of these values.
87
+ Values are strings containing CSS values (colors, sizes, font stacks, etc.).
88
+
89
+ Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
90
+ for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),d.union([d.string(),d.undefined()]).describe(`Style variables for theming MCP apps.
91
+
92
+ Individual style keys are optional - hosts may provide any subset of these values.
93
+ Values are strings containing CSS values (colors, sizes, font stacks, etc.).
94
+
95
+ Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
96
+ for compatibility with Zod schema generation. Both are functionally equivalent for validation.`)).describe(`Style variables for theming MCP apps.
97
+
98
+ Individual style keys are optional - hosts may provide any subset of these values.
99
+ Values are strings containing CSS values (colors, sizes, font stacks, etc.).
100
+
101
+ Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
102
+ for compatibility with Zod schema generation. Both are functionally equivalent for validation.`);d.object({method:d.literal("ui/open-link"),params:d.object({url:d.string().describe("URL to open in the host's browser")})});var Vw=d.object({isError:d.boolean().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough(),Kw=d.object({isError:d.boolean().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough();d.object({method:d.literal("ui/notifications/sandbox-proxy-ready"),params:d.object({})});var Ws=d.object({connectDomains:d.array(d.string()).optional().describe("Origins for network requests (fetch/XHR/WebSocket)."),resourceDomains:d.array(d.string()).optional().describe("Origins for static resources (scripts, images, styles, fonts)."),frameDomains:d.array(d.string()).optional().describe("Origins for nested iframes (frame-src directive)."),baseUriDomains:d.array(d.string()).optional().describe("Allowed base URIs for the document (base-uri directive).")}),Bs=d.object({camera:d.object({}).optional().describe("Request camera access (Permission Policy `camera` feature)."),microphone:d.object({}).optional().describe("Request microphone access (Permission Policy `microphone` feature)."),geolocation:d.object({}).optional().describe("Request geolocation access (Permission Policy `geolocation` feature)."),clipboardWrite:d.object({}).optional().describe("Request clipboard write access (Permission Policy `clipboard-write` feature).")});d.object({method:d.literal("ui/notifications/size-changed"),params:d.object({width:d.number().optional().describe("New width in pixels."),height:d.number().optional().describe("New height in pixels.")})});var Gw=d.object({method:d.literal("ui/notifications/tool-input"),params:d.object({arguments:d.record(d.string(),d.unknown().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})}),Xw=d.object({method:d.literal("ui/notifications/tool-input-partial"),params:d.object({arguments:d.record(d.string(),d.unknown().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})}),Yw=d.object({method:d.literal("ui/notifications/tool-cancelled"),params:d.object({reason:d.string().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})}),Qw=d.object({fonts:d.string().optional()}),eS=d.object({variables:Hw.optional().describe("CSS variables for theming the app."),css:Qw.optional().describe("CSS blocks that apps can inject.")}),tS=d.object({method:d.literal("ui/resource-teardown"),params:d.object({})});d.record(d.string(),d.unknown());var Aa=d.object({text:d.object({}).optional().describe("Host supports text content blocks."),image:d.object({}).optional().describe("Host supports image content blocks."),audio:d.object({}).optional().describe("Host supports audio content blocks."),resource:d.object({}).optional().describe("Host supports resource content blocks."),resourceLink:d.object({}).optional().describe("Host supports resource link content blocks."),structuredContent:d.object({}).optional().describe("Host supports structured content.")}),nS=d.object({experimental:d.object({}).optional().describe("Experimental features (structure TBD)."),openLinks:d.object({}).optional().describe("Host supports opening external URLs."),serverTools:d.object({listChanged:d.boolean().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:d.object({listChanged:d.boolean().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:d.object({}).optional().describe("Host accepts log messages."),sandbox:d.object({permissions:Bs.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:Ws.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:Aa.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:Aa.optional().describe("Host supports receiving content messages (ui/message) from the view.")}),iS=d.object({experimental:d.object({}).optional().describe("Experimental features (structure TBD)."),tools:d.object({listChanged:d.boolean().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:d.array(Vt).optional().describe("Display modes the app supports.")});d.object({method:d.literal("ui/notifications/initialized"),params:d.object({}).optional()});d.object({csp:Ws.optional().describe("Content Security Policy configuration."),permissions:Bs.optional().describe("Sandbox permissions requested by the UI."),domain:d.string().optional().describe("Dedicated origin for view sandbox."),prefersBorder:d.boolean().optional().describe("Visual boundary preference - true if UI prefers a visible border.")});d.object({method:d.literal("ui/request-display-mode"),params:d.object({mode:Vt.describe("The display mode being requested.")})});var rS=d.object({mode:Vt.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough(),oS=d.union([d.literal("model"),d.literal("app")]).describe("Tool visibility scope - who can access the tool.");d.object({resourceUri:d.string().optional(),visibility:d.array(oS).optional().describe(`Who can access this tool. Default: ["model", "app"]
103
+ - "model": Tool visible to and callable by the agent
104
+ - "app": Tool callable by the app from this server only`)});d.object({mimeTypes:d.array(d.string()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});d.object({method:d.literal("ui/message"),params:d.object({role:d.literal("user").describe('Message role, currently only "user" is supported.'),content:d.array(rn).describe("Message content blocks (text, image, etc.).")})});d.object({method:d.literal("ui/notifications/sandbox-resource-ready"),params:d.object({html:d.string().describe("HTML content to load into the inner iframe."),sandbox:d.string().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:Ws.optional().describe("CSP configuration from resource metadata."),permissions:Bs.optional().describe("Sandbox permissions from resource metadata.")})});var sS=d.object({method:d.literal("ui/notifications/tool-result"),params:ui.describe("Standard MCP tool execution result.")}),Sf=d.object({toolInfo:d.object({id:Xt.optional().describe("JSON-RPC id of the tools/call request."),tool:Vr.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:Ww.optional().describe("Current color theme preference."),styles:eS.optional().describe("Style configuration for theming the app."),displayMode:Vt.optional().describe("How the UI is currently displayed."),availableDisplayModes:d.array(Vt).optional().describe("Display modes the host supports."),containerDimensions:d.union([d.object({height:d.number().describe("Fixed container height in pixels.")}),d.object({maxHeight:d.union([d.number(),d.undefined()]).optional().describe("Maximum container height in pixels.")})]).and(d.union([d.object({width:d.number().describe("Fixed container width in pixels.")}),d.object({maxWidth:d.union([d.number(),d.undefined()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other
105
+ container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:d.string().optional().describe("User's language and region preference in BCP 47 format."),timeZone:d.string().optional().describe("User's timezone in IANA format."),userAgent:d.string().optional().describe("Host application identifier."),platform:d.union([d.literal("web"),d.literal("desktop"),d.literal("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:d.object({touch:d.boolean().optional().describe("Whether the device supports touch input."),hover:d.boolean().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:d.object({top:d.number().describe("Top safe area inset in pixels."),right:d.number().describe("Right safe area inset in pixels."),bottom:d.number().describe("Bottom safe area inset in pixels."),left:d.number().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough(),aS=d.object({method:d.literal("ui/notifications/host-context-changed"),params:Sf.describe("Partial context update containing only changed fields.")});d.object({method:d.literal("ui/update-model-context"),params:d.object({content:d.array(rn).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:d.record(d.string(),d.unknown().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})});d.object({method:d.literal("ui/initialize"),params:d.object({appInfo:ai.describe("App identification (name and version)."),appCapabilities:iS.describe("Features and capabilities this app provides."),protocolVersion:d.string().describe("Protocol version this app supports.")})});var lS=d.object({protocolVersion:d.string().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:ai.describe("Host application identification and version."),hostCapabilities:nS.describe("Features and capabilities provided by the host."),hostContext:Sf.describe("Rich context about the host environment.")}).passthrough();class uS extends c${_appInfo;_capabilities;options;_hostCapabilities;_hostInfo;_hostContext;constructor(t,i={},r={autoResize:!0}){super(r),this._appInfo=t,this._capabilities=i,this.options=r,this.setRequestHandler(li,n=>(console.log("Received ping:",n.params),{})),this.onhostcontextchanged=()=>{}}getHostCapabilities(){return this._hostCapabilities}getHostVersion(){return this._hostInfo}getHostContext(){return this._hostContext}set ontoolinput(t){this.setNotificationHandler(Gw,i=>t(i.params))}set ontoolinputpartial(t){this.setNotificationHandler(Xw,i=>t(i.params))}set ontoolresult(t){this.setNotificationHandler(sS,i=>t(i.params))}set ontoolcancelled(t){this.setNotificationHandler(Yw,i=>t(i.params))}set onhostcontextchanged(t){this.setNotificationHandler(aS,i=>{this._hostContext={...this._hostContext,...i.params},t(i.params)})}set onteardown(t){this.setRequestHandler(tS,(i,r)=>t(i.params,r))}set oncalltool(t){this.setRequestHandler(Ul,(i,r)=>t(i.params,r))}set onlisttools(t){this.setRequestHandler(Zl,(i,r)=>t(i.params,r))}assertCapabilityForMethod(t){}assertRequestHandlerCapability(t){switch(t){case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Client does not support tool capability (required for ${t})`);return;case"ping":case"ui/resource-teardown":return;default:throw Error(`No handler for method ${t} registered`)}}assertNotificationCapability(t){}assertTaskCapability(t){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(t){throw Error("Task handlers are not supported in MCP Apps")}async callServerTool(t,i){return await this.request({method:"tools/call",params:t},ui,i)}sendMessage(t,i){return this.request({method:"ui/message",params:t},Kw,i)}sendLog(t){return this.notification({method:"notifications/message",params:t})}updateModelContext(t,i){return this.request({method:"ui/update-model-context",params:t},Er,i)}openLink(t,i){return this.request({method:"ui/open-link",params:t},Vw,i)}sendOpenLink=this.openLink;requestDisplayMode(t,i){return this.request({method:"ui/request-display-mode",params:t},rS,i)}sendSizeChanged(t){return this.notification({method:"ui/notifications/size-changed",params:t})}setupSizeChangedNotifications(){let t=!1,i=0,r=0,n=()=>{t||(t=!0,requestAnimationFrame(()=>{t=!1;let s=document.documentElement,a=s.style.width,l=s.style.height;s.style.width="fit-content",s.style.height="fit-content";let u=s.getBoundingClientRect();s.style.width=a,s.style.height=l;let c=window.innerWidth-s.clientWidth,m=Math.ceil(u.width+c),p=Math.ceil(u.height);(m!==i||p!==r)&&(i=m,r=p,this.sendSizeChanged({width:m,height:p}))}))};n();let o=new ResizeObserver(n);return o.observe(document.documentElement),o.observe(document.body),()=>o.disconnect()}async connect(t=new m$(window.parent,window.parent),i){await super.connect(t);try{let r=await this.request({method:"ui/initialize",params:{appCapabilities:this._capabilities,appInfo:this._appInfo,protocolVersion:p$}},lS,i);if(r===void 0)throw Error(`Server sent invalid initialize result: ${r}`);this._hostCapabilities=r.hostCapabilities,this._hostInfo=r.hostInfo,this._hostContext=r.hostContext,await this.notification({method:"ui/notifications/initialized"}),this.options?.autoResize&&this.setupSizeChangedNotifications()}catch(r){throw this.close(),r}}}const _r="footprint.ui.locale",cS=["en","zh-TW","ja","zh-CN"],If={en:"en-US","zh-TW":"zh-TW",ja:"ja-JP","zh-CN":"zh-CN"},$r="en",ce={en:{"common.language":"Language","common.exportZip":"Export ZIP","common.downloadZip":"Download ZIP","common.refreshPreview":"Refresh Preview","common.back":"Back","common.copyText":"Copy Text","common.checkIntegrity":"Check Integrity","common.locale.en":"English","common.locale.zh-TW":"繁體中文","common.locale.ja":"日本語","common.locale.zh-CN":"简体中文","sessionDashboard.documentTitle":"Footprint Work Overview","sessionDashboard.documentTitleLive":"Footprint Local Live Work Overview","sessionDashboard.kicker":"Footprint memory view","sessionDashboard.title":"Work Overview","sessionDashboard.summary.loading":"Loading your recent work...","sessionDashboard.noteHtml":"Start with <strong>What Matters Now</strong>, then open a saved work record when you need the details. <strong>Ongoing Topics</strong> help you stay inside the right thread instead of guessing.","sessionDashboard.findAndFilter":"Find & Filter","sessionDashboard.findAndFilter.subtitle":"Narrow the view below, or leave filters empty to see everything.","sessionDashboard.findPastWork":"Find Past Work","sessionDashboard.findPastWork.placeholder":"A feature, file name, bug, or question...","sessionDashboard.referenceCode":"Reference Code (Advanced)","sessionDashboard.referenceCode.placeholder":"Only if someone already gave it to you","sessionDashboard.aiHelper":"AI Helper","sessionDashboard.allAssistants":"All AI assistants","sessionDashboard.workState":"Work State","sessionDashboard.allStates":"All states","sessionDashboard.state.running":"In progress","sessionDashboard.state.completed":"Done","sessionDashboard.state.failed":"Needs attention","sessionDashboard.state.interrupted":"Stopped","sessionDashboard.groupBy":"Group Repeated Problems By","sessionDashboard.groupBy.issue":"Specific problem","sessionDashboard.groupBy.family":"Broader pattern","sessionDashboard.updateView":"Update View","sessionDashboard.exportView":"Export This View","sessionDashboard.clear":"Clear","sessionDashboard.handoff.title":"What Matters Now","sessionDashboard.handoff.loading":"Loading the most important things to know...","sessionDashboard.trends.title":"Problems That Came Back","sessionDashboard.trends.loading":"Looking for issues that have shown up more than once...","sessionDashboard.contexts.title":"Ongoing Topics","sessionDashboard.contexts.loading":"Loading the ongoing topics Footprint already knows about...","sessionDashboard.search.title":"Earlier Related Work","sessionDashboard.search.loading":"Type above to find earlier work that may help.","sessionDashboard.sessions.title":"Recent Work","sessionDashboard.sessions.subtitle":"Newest first. Open one to see the plain-language overview first, then the detailed traces if needed.","sessionDashboard.sessions.empty":"No saved work records yet.","sessionDashboard.trends.empty":"No repeated problems found yet.","sessionDashboard.contexts.empty":"No ongoing topics yet.","sessionDashboard.search.empty":"Search results will appear here.","sessionDashboard.loadMoreTrends":"Show More Repeated Problems","sessionDashboard.loadMoreSearch":"Show More Results","sessionDashboard.loadMoreSessions":"Show More Work","sessionDashboard.liveBadge":"Local live product · Work Overview","sessionDetail.documentTitle":"Footprint Work Record","sessionDetail.documentTitleLive":"Footprint Local Live Work Record","sessionDetail.kicker":"Work briefing","sessionDetail.title":"This Work","sessionDetail.subtitle.loading":"Loading this saved work record...","sessionDetail.noteHtml":"If you are picking this up fresh, start with <strong>Read This First</strong> and <strong>Pickup Note</strong>. The conversation and activity log stay lower on the page so the first screen stays practical.","sessionDetail.liveBadge":"Local live product · Back to Overview","sessionDetail.refreshOverview":"Refresh Overview","sessionDetail.loadSupportingDetails":"Load Supporting Details","sessionDetail.loadSimpleSummary":"Load Simple Summary","sessionDetail.loadKeyDecisions":"Load Key Decisions","sessionDetail.readThisFirst":"Read This First","sessionDetail.readThisFirst.subtitle":"Checking whether this work belongs to an existing topic...","sessionDetail.noConfirmedTopic":"No confirmed topic summary yet.","sessionDetail.refreshContext":"Check Again","sessionDetail.moveTopic":"Move Into Another Topic","sessionDetail.moveThere":"Move There","sessionDetail.makeMainTopic":"Make This The Main Topic","sessionDetail.startNewTopic":"Start A New Topic","sessionDetail.startNewTopic.placeholder":"e.g. Invoice email follow-up","sessionDetail.createTopic":"Create Topic","sessionDetail.otherTopics":"Other Topics This Might Belong To","sessionDetail.otherTopics.summary":"Footprint only suggests other topics when it sees enough supporting data.","sessionDetail.otherTopics.empty":"No possible related topics for this work yet.","sessionDetail.pickupNote":"Pickup Note","sessionDetail.pickupNote.summary":"Pick one item from Related Earlier Work below to load a short pickup note.","sessionDetail.pickupExport":"Export Pickup ZIP","sessionDetail.simpleSummary":"Simple Summary","sessionDetail.simpleSummary.subtitle":"A plain-language description of what happened in this session.","sessionDetail.keyDecisions":"Key Decisions","sessionDetail.keyDecisions.subtitle":"Choices made or confirmed during this session.","sessionDetail.relatedEarlierWork":"Related Earlier Work","sessionDetail.relatedEarlierWork.subtitle":"Earlier sessions that share a topic, issue key, or recurring problem with this one.","sessionDetail.conversation":"Conversation","sessionDetail.conversation.subtitle":"The messages exchanged with the AI during this session.","sessionDetail.activityLog":"Automatic Activity Log","sessionDetail.activityLog.subtitle":"Tool calls, file reads, and other actions recorded automatically.","sessionDetail.supportingDetails":"Supporting Details","sessionDetail.supportingDetails.subtitle":"Files, code snippets, and other artifacts saved during this session.","sessionDetail.loadMoreNarratives":"Show More Summaries","sessionDetail.loadMoreDecisions":"Show More Decisions","sessionDetail.loadMoreRelatedWork":"Show More Related Work","sessionDetail.loadMoreConversation":"Show More Conversation","sessionDetail.loadMoreSteps":"Show More Steps","sessionDetail.loadMoreSupporting":"Show More Supporting Details","evidenceDashboard.documentTitle":"Footprint Saved Footprints","evidenceDashboard.kicker":"Encrypted footprints","evidenceDashboard.title":"Saved Footprints","evidenceDashboard.subtitle":"Browse encrypted records of important AI work, filter them quickly, and export only what matters.","evidenceDashboard.note":"Use this view when you need a durable record of what was said or done. Search first, then narrow by labels or time before exporting.","evidenceDashboard.search.placeholder":"Search by topic, label, or AI assistant","evidenceDashboard.stats.records":"Saved records","evidenceDashboard.stats.today":"Saved today","evidenceDashboard.stats.storage":"Storage used","evidenceDashboard.stats.labels":"Labels","evidenceDashboard.latestCaptures":"Recent Activity","evidenceDashboard.latestCaptures.loading":"Loading recent activity...","evidenceDashboard.timeline":"Activity Timeline","evidenceDashboard.timeline.subtitle":"A quick view of when Footprint saved records, so you can jump into the right period first.","evidenceDashboard.timeline.7d":"7 days","evidenceDashboard.timeline.30d":"30 days","evidenceDashboard.timeline.90d":"90 days","evidenceDashboard.timeline.all":"All time","evidenceDashboard.timeline.loading":"Loading timeline...","evidenceDashboard.selected":"{{count}} selected","evidenceDashboard.exportSelected":"Export Selected","evidenceDashboard.deleteSelected":"Delete Selected","evidenceDashboard.filterLabels":"Filter By Labels","evidenceDashboard.filterLabels.subtitle":"Labels help you separate sensitive cases, teams, or audit categories.","evidenceDashboard.manageLabels":"Manage Labels","evidenceDashboard.match":"Match","evidenceDashboard.match.all":"All","evidenceDashboard.match.any":"Any","evidenceDashboard.records.title":"Footprint Records","evidenceDashboard.records.subtitle":"Open a record for the full decrypted conversation, Git context, and export actions.","evidenceDashboard.table.record":"Record","evidenceDashboard.table.conversation":"Conversation","evidenceDashboard.table.captured":"Saved","evidenceDashboard.table.labels":"Labels","evidenceDashboard.records.loading":"Loading saved records...","evidenceDashboard.labels.loading":"Loading labels...","evidenceDetail.documentTitle":"Footprint Record","evidenceDetail.kicker":"Saved footprint","evidenceDetail.title":"Footprint Record","evidenceDetail.subtitle":"Review the saved conversation, inspect its metadata, and export or verify it without leaving Footprint.","evidenceDetail.note":"This page is for durable records, not day-to-day work pickup. Use it when you need an auditable record of what happened.","evidenceDetail.loading":"Loading saved footprint...","evidenceDetail.record":"Record","evidenceDetail.captured":"Saved","evidenceDetail.conversation":"Conversation","evidenceDetail.aiAssistant":"AI Assistant","evidenceDetail.messages":"Messages","evidenceDetail.labels":"Labels","evidenceDetail.savedConversation":"Saved Conversation","evidenceDetail.savedConversation.subtitle":"This is the decrypted record currently loaded in the app.","evidenceExport.documentTitle":"Footprint Export","evidenceExport.kicker":"Export saved footprints","evidenceExport.title":"Export ZIP Bundle","evidenceExport.subtitle":"Choose which footprints to include, preview the bundle, then download an encrypted ZIP you can store or hand off.","evidenceExport.note":"Use this when you need to archive footprints or share them with a smaller audience. Preview first so you only export what is actually needed.","evidenceExport.whatToInclude":"What To Include","evidenceExport.whatToInclude.subtitle":"Choose the scope first, then decide whether Git metadata should travel with the export.","evidenceExport.records":"Records","evidenceExport.records.all":"All saved footprints","evidenceExport.records.recent":"Only the last 30 days","evidenceExport.extraContext":"Extra Context","evidenceExport.extraContext.git":"Include Git timestamps and commit hashes","evidenceExport.preview":"Bundle Preview","evidenceExport.preview.subtitle":"A quick sample of what will be packed into the ZIP.","evidenceExport.preview.loading":"Loading preview...","evidenceExport.preview.empty":"No saved footprints match this export view.","evidenceExport.preview.emptyHint":"Try switching the scope above.","evidenceExport.file.default":"footprint-export.zip","evidenceExport.file.stats":"{{count}} records • Estimated size: {{size}}","evidenceExport.info":"Footprint creates an encrypted ZIP archive with JSON metadata for each record.","status.completed":"Done","status.failed":"Needs Attention","status.interrupted":"Stopped","status.running":"In Progress","role.user":"You","role.assistant":"AI","role.system":"System","artifact.file-change":"File Change","artifact.command-output":"Command Run","artifact.test-result":"Test Result","artifact.git-commit":"Saved Change","narrative.project-summary":"Big-Picture Summary","narrative.handoff":"What To Know Next","decision.active":"Current","decision.accepted":"Current","decision.superseded":"Replaced","decision.pending":"Open","decision.rejected":"Not Chosen","event.session.start":"Work started","event.session.end":"Work ended","event.session.started":"Work started","event.session.completed":"Work finished","event.session.failed":"Work ended with a problem","event.session.interrupted":"Work stopped early","event.message.user":"You sent a message","event.message.user.submitted":"You sent a message","event.message.assistant":"AI replied","event.message.assistant.completed":"AI finished replying","event.command.started":"A command started","event.command.completed":"A command finished","event.command.failed":"A command failed","event.test.completed":"A test run finished","event.error.observed":"A problem was noticed","event.file.changed":"A file changed","event.git.commit":"A saved change was created","event.tool.started":"An AI tool started","event.context.resolved":"A topic was suggested","event.context.updated":"The topic link was updated","context.savedTopic":"Saved Topic","context.newTopicSuggestion":"New Topic Suggestion","context.confidence.high":"Strong match","context.confidence.medium":"Possible match","context.confidence.low":"Weak match","context.reason.sameFolder":"It happened in the same folder.","context.reason.noOtherTopic":"No other saved topic is using this folder right now.","context.reason.sameProblem":"It mentions the same problem as earlier work.","context.reason.sameFailureFamily":"It matches the same kind of problem seen earlier.","context.reason.similarGoal":"The goal sounds similar to earlier work.","context.reason.recentContinuity":"It happened soon after related work.","context.reason.preferred":"This topic is currently marked as the main one for this folder.","context.topicFrom":"Topic from {{label}}","context.untitledWork":"Untitled work","context.untitledTopic":"Untitled topic","context.sameFolder":"Folder","context.bestCurrentPicture":"Best Current Picture","context.stillBlocking":"Still Blocking","context.stillUnclear":"Still Unclear","context.currentDecisions":"Current Decisions","context.olderDecisions":"Older Decisions That Were Replaced","context.noBlockers":"No blockers are recorded right now.","context.noQuestions":"No open questions are recorded right now.","context.noCurrentDecisions":"No current decisions are recorded yet.","context.noReplacedDecisions":"No replaced decisions are recorded yet.","context.noConfirmedSummary":"No confirmed topic summary yet.","context.noMatchingSignals":"No matching signals were saved.","context.noEarlierWork":"No earlier related work","context.preferredFolder":"This is currently the main topic for this folder.","context.whySuggested":"Why Footprint thinks this may be the same topic:","context.linkTopic":"Link To This Topic","context.keepSeparate":"Keep Separate","context.startNewTopic":"Start New Topic","context.noSuggestedTopics":"No suggested topics for this work record.","context.noOngoingTopics":"No ongoing topics yet.","context.openLatestWork":"Open Latest Work","context.latestRelatedWork":"Latest related work","context.openLatest":"Open Latest","context.findRelated":"Find Related Work","context.showBroaderPattern":"Show Broader Pattern","context.showThisProblem":"Show This Problem","context.nothingUrgent":"Nothing urgent stands out in this view yet.","context.needsAttention":"Needs Attention","context.recentlyImproved":"Recently Improved","context.openQuestions":"Open Questions","context.noSimilarPastWork":"No similar past work found for this record yet.","context.openLatestRelatedWork":"Open Latest Related Work","context.openShortSummary":"Open Short Summary","context.noConversation":"No conversation has been saved yet.","context.noTimeline":"No step-by-step activity has been recorded yet.","context.noNarratives":"No plain-language summaries have been loaded yet.","context.noDecisions":"No key decisions have been loaded yet.","context.noArtifacts":"No supporting details have been loaded yet.","context.savedWorkRecord":"Saved work record","context.open":"Open","context.refreshSummary":"Refresh Summary","context.inProgress":"In Progress","context.onlyHost":"Only {{host}}","context.whyThisMatches":"Why this matches:","context.noHighlights":"No highlighted details yet.","context.resultsHere":"Search results will appear here.","context.repeatedTrouble":"Repeated trouble","context.latestOutcome":"Most recent outcome","context.seenWith":"Seen with","context.recentRelatedWork":"Recent related work","context.relatedIssues":"Related issues","context.broaderPattern":"Broader pattern","context.otherRelatedRecords":"Other related saved work records","context.moreRelatedRecords":"+{{count}} more related saved work records","context.noOverviewReady":"No overview is ready yet.","context.latestFailed":"The latest related work ended with a problem.","context.latestCompleted":"The latest related work finished normally.","context.latestStopped":"The latest related work stopped early.","context.mostRecentIssue":"Most recent issue: {{value}}","context.stillBlockingLine":"Still blocking: {{value}}","context.packageChanges":"Recent package or setup changes: {{value}}","context.repeatedTroubleLine":"Repeated trouble seen here: {{value}}","context.retryLoop":"Repeated retry loop: {{value}}","context.nothingBlocking":"Nothing is blocking this line of work right now.","context.quickCheck":"This looks like a quick tool or setup check, not a clearly described task.","context.mainGoal":"Main goal: {{value}}","context.problemSingle":"A problem showed up during this work.","context.problemPlural":"{{count}} problems showed up during this work.","context.loadMoreSummaries":"Show More Summaries","context.loadMoreDecisions":"Show More Decisions","context.loadMoreRelatedWork":"Show More Related Work","context.loadMoreConversation":"Show More Conversation","context.loadMoreSteps":"Show More Steps","context.loadMoreSupportingDetails":"Show More Supporting Details","evidence.noResults":'No results found for "{{query}}"',"evidence.showingResults":"Showing {{filtered}} of {{total}} saved records","evidence.noLabels":"No labels","evidence.noSavedRecords":"No saved records found","evidence.noSavedRecordsQuery":'No saved records match "{{query}}"',"evidence.noSavedRecordsLabels":"No saved records match the selected label{{suffix}}: {{labels}}","evidence.noSavedRecordsPeriod":"No saved records in this time period","evidence.record":"record","evidence.records":"records","evidence.latestCaptures.none":"No recent activity yet","evidence.label.none":"No labels found"},"zh-TW":{},ja:{},"zh-CN":{}};ce["zh-TW"]={...ce.en,"common.language":"語言","common.exportZip":"匯出 ZIP","common.downloadZip":"下載 ZIP","common.refreshPreview":"重新整理預覽","common.back":"返回","common.copyText":"複製文字","common.checkIntegrity":"檢查完整性","sessionDashboard.documentTitle":"Footprint 工作總覽","sessionDashboard.documentTitleLive":"Footprint 本地即時工作總覽","sessionDashboard.kicker":"Footprint 記憶檢視","sessionDashboard.title":"工作總覽","sessionDashboard.summary.loading":"正在載入你的近期工作...","sessionDashboard.noteHtml":"先看 <strong>現在最重要的事</strong>,需要細節時再打開單一工作紀錄。<strong>持續中的主題</strong> 會幫你留在正確脈絡裡,不用重新猜。","sessionDashboard.findAndFilter":"尋找與篩選","sessionDashboard.findAndFilter.subtitle":"縮小下方的顯示範圍,或留空篩選條件以查看全部。","sessionDashboard.findPastWork":"找先前的工作","sessionDashboard.findPastWork.placeholder":"功能、檔名、問題或待辦事項...","sessionDashboard.referenceCode":"參考代碼(進階)","sessionDashboard.referenceCode.placeholder":"只有在別人已經給你代碼時才需要","sessionDashboard.aiHelper":"AI 助手","sessionDashboard.allAssistants":"所有 AI 助手","sessionDashboard.workState":"工作狀態","sessionDashboard.allStates":"所有狀態","sessionDashboard.state.running":"進行中","sessionDashboard.state.completed":"已完成","sessionDashboard.state.failed":"需要注意","sessionDashboard.state.interrupted":"已停止","sessionDashboard.groupBy":"重複問題分組方式","sessionDashboard.groupBy.issue":"具體問題","sessionDashboard.groupBy.family":"較大的模式","sessionDashboard.updateView":"更新畫面","sessionDashboard.exportView":"匯出這個檢視","sessionDashboard.clear":"清除","sessionDashboard.handoff.title":"現在最重要的事","sessionDashboard.handoff.loading":"正在整理最重要的重點...","sessionDashboard.trends.title":"反覆出現的問題","sessionDashboard.trends.loading":"正在查看哪些問題曾重複出現...","sessionDashboard.contexts.title":"持續中的主題","sessionDashboard.contexts.loading":"正在載入 Footprint 已知的主題...","sessionDashboard.search.title":"較早的相關工作","sessionDashboard.search.loading":"在上方輸入內容後,就能找到較早的相關工作。","sessionDashboard.sessions.title":"近期工作","sessionDashboard.sessions.subtitle":"依時間新到舊排列。先看淺白摘要,需要時再往下看詳細軌跡。","sessionDashboard.sessions.empty":"目前還沒有已儲存的工作紀錄。","sessionDashboard.trends.empty":"目前還沒有反覆出現的問題。","sessionDashboard.contexts.empty":"目前還沒有持續中的主題。","sessionDashboard.search.empty":"搜尋結果會顯示在這裡。","sessionDashboard.loadMoreTrends":"顯示更多重複問題","sessionDashboard.loadMoreSearch":"顯示更多結果","sessionDashboard.loadMoreSessions":"顯示更多工作","sessionDashboard.liveBadge":"本地即時產品 · 工作總覽","sessionDetail.documentTitle":"Footprint 工作紀錄","sessionDetail.documentTitleLive":"Footprint 本地即時工作紀錄","sessionDetail.kicker":"工作簡報","sessionDetail.title":"這次工作","sessionDetail.subtitle.loading":"正在載入這筆已儲存的工作紀錄...","sessionDetail.noteHtml":"如果你是第一次接手,先從 <strong>先讀這裡</strong> 和 <strong>接手便條</strong> 開始。對話與活動紀錄放在下方,讓第一屏先給你可行的理解。","sessionDetail.liveBadge":"本地即時產品 · 返回總覽","sessionDetail.refreshOverview":"重新整理總覽","sessionDetail.loadSupportingDetails":"載入補充細節","sessionDetail.loadSimpleSummary":"載入簡單摘要","sessionDetail.loadKeyDecisions":"載入關鍵決策","sessionDetail.readThisFirst":"先讀這裡","sessionDetail.noConfirmedTopic":"目前還沒有已確認的主題摘要。","sessionDetail.refreshContext":"重新檢查","sessionDetail.moveTopic":"移到另一個主題","sessionDetail.moveThere":"移過去","sessionDetail.makeMainTopic":"設成主要主題","sessionDetail.startNewTopic":"開始新的主題","sessionDetail.startNewTopic.placeholder":"例如:發票郵件追蹤","sessionDetail.createTopic":"建立主題","sessionDetail.otherTopics":"這次工作可能屬於的其他主題","sessionDetail.otherTopics.summary":"只有在資訊足夠時,Footprint 才會建議其他主題。","sessionDetail.otherTopics.empty":"這次工作目前沒有明顯相關的其他主題。","sessionDetail.pickupNote":"接手便條","sessionDetail.pickupNote.summary":"從下方的相關較早工作選一項,即可載入一段簡短的接手說明。","sessionDetail.pickupExport":"匯出接手 ZIP","sessionDetail.readThisFirst.subtitle":"正在確認這次工作是否屬於現有主題...","sessionDetail.simpleSummary":"簡單摘要","sessionDetail.simpleSummary.subtitle":"用白話描述這次工作階段發生了什麼事。","sessionDetail.keyDecisions":"關鍵決策","sessionDetail.keyDecisions.subtitle":"這次工作階段中做出或確認的選擇。","sessionDetail.relatedEarlierWork":"相關較早工作","sessionDetail.relatedEarlierWork.subtitle":"與這次工作共享主題、問題代碼或反覆出現問題的較早工作階段。","sessionDetail.conversation":"對話內容","sessionDetail.conversation.subtitle":"這次工作階段與 AI 交換的訊息。","sessionDetail.activityLog":"自動活動紀錄","sessionDetail.activityLog.subtitle":"自動記錄的工具呼叫、檔案讀取及其他操作。","sessionDetail.supportingDetails":"補充細節","sessionDetail.supportingDetails.subtitle":"這次工作階段儲存的檔案、程式碼片段及其他相關資料。","sessionDetail.loadMoreNarratives":"顯示更多摘要","sessionDetail.loadMoreDecisions":"顯示更多決策","sessionDetail.loadMoreRelatedWork":"顯示更多相關工作","sessionDetail.loadMoreConversation":"顯示更多對話","sessionDetail.loadMoreSteps":"顯示更多步驟","sessionDetail.loadMoreSupporting":"顯示更多補充細節","evidenceDashboard.documentTitle":"Footprint 已儲存足跡","evidenceDashboard.kicker":"加密足跡","evidenceDashboard.title":"已儲存足跡","evidenceDashboard.subtitle":"瀏覽重要 AI 工作的加密紀錄,快速篩選,只匯出真正需要的內容。","evidenceDashboard.note":"當你需要可長期保存的紀錄時就看這裡。先搜尋,再用標籤或時間縮小範圍後匯出。","evidenceDashboard.search.placeholder":"用主題、標籤或 AI 助手搜尋","evidenceDashboard.stats.records":"已儲存紀錄","evidenceDashboard.stats.today":"今天儲存","evidenceDashboard.stats.storage":"使用空間","evidenceDashboard.stats.labels":"標籤","evidenceDashboard.latestCaptures":"近期活動","evidenceDashboard.latestCaptures.loading":"正在載入近期活動...","evidenceDashboard.timeline":"活動時間軸","evidenceDashboard.timeline.subtitle":"快速查看 Footprint 何時儲存紀錄,好讓你先跳到正確時段。","evidenceDashboard.timeline.loading":"正在載入時間軸...","evidenceDashboard.filterLabels":"依標籤篩選","evidenceDashboard.filterLabels.subtitle":"標籤可以幫你區分敏感案件、團隊或稽核分類。","evidenceDashboard.manageLabels":"管理標籤","evidenceDashboard.match":"符合","evidenceDashboard.match.all":"全部","evidenceDashboard.match.any":"任一","evidenceDashboard.records.title":"足跡紀錄","evidenceDashboard.records.subtitle":"打開單筆紀錄可查看解密後內容、Git 脈絡與匯出操作。","evidenceDashboard.records.loading":"正在載入已儲存紀錄...","evidenceDashboard.labels.loading":"正在載入標籤...","evidenceDetail.documentTitle":"Footprint 足跡紀錄","evidenceDetail.kicker":"已儲存足跡","evidenceDetail.title":"足跡紀錄","evidenceDetail.subtitle":"查看儲存的對話、檢查中繼資料,並直接在 Footprint 中匯出或驗證。","evidenceDetail.note":"這頁是給可追溯、可稽核的紀錄使用,不是給日常接手工作。當你需要說明「當時發生了什麼」時就看這裡。","evidenceDetail.loading":"正在載入已儲存足跡...","evidenceDetail.record":"紀錄","evidenceDetail.captured":"儲存時間","evidenceDetail.conversation":"對話","evidenceDetail.aiAssistant":"AI 助手","evidenceDetail.messages":"訊息數","evidenceDetail.labels":"標籤","evidenceDetail.savedConversation":"已儲存對話","evidenceDetail.savedConversation.subtitle":"這是目前在應用程式中載入的解密紀錄。","evidenceExport.documentTitle":"Footprint 匯出已儲存足跡","evidenceExport.kicker":"匯出已儲存足跡","evidenceExport.title":"匯出 ZIP 封包","evidenceExport.subtitle":"先選擇要包含哪些足跡,再預覽,最後下載可保存或交接的加密 ZIP。","evidenceExport.note":"當你需要封存或把紀錄交給較小範圍的人時使用。先預覽,確保只匯出真正需要的內容。","evidenceExport.whatToInclude":"要包含什麼","evidenceExport.whatToInclude.subtitle":"先決定範圍,再決定是否把 Git 中繼資料一起帶走。","evidenceExport.records":"紀錄範圍","evidenceExport.records.all":"所有已儲存足跡","evidenceExport.records.recent":"只含最近 30 天","evidenceExport.extraContext":"額外脈絡","evidenceExport.extraContext.git":"包含 Git 時間戳與 commit hash","evidenceExport.preview":"封包預覽","evidenceExport.preview.subtitle":"快速看一下 ZIP 裡大致會裝哪些內容。","evidenceExport.preview.loading":"正在載入預覽...","evidenceExport.preview.empty":"沒有符合的已儲存足跡。","evidenceExport.preview.emptyHint":"試著切換上方的範圍。","evidenceExport.info":"Footprint 會建立一個加密 ZIP,內含每筆紀錄的 JSON 中繼資料。","status.completed":"已完成","status.failed":"需要注意","status.interrupted":"已停止","status.running":"進行中","role.user":"你","role.assistant":"AI","role.system":"系統","context.savedTopic":"已儲存主題","context.newTopicSuggestion":"新主題建議","context.confidence.high":"高度相符","context.confidence.medium":"可能相符","context.confidence.low":"相符度低","context.reason.sameFolder":"它發生在同一個資料夾。","context.reason.noOtherTopic":"目前沒有其他已儲存主題在使用這個資料夾。","context.reason.sameProblem":"它提到和先前工作相同的問題。","context.reason.sameFailureFamily":"它符合先前看過的同類型問題。","context.reason.similarGoal":"目標聽起來和先前工作相似。","context.reason.recentContinuity":"它發生在相關工作之後不久。","context.reason.preferred":"這個主題目前被標記為這個資料夾的主要主題。","context.topicFrom":"來自 {{label}} 的主題","context.untitledWork":"未命名工作","context.untitledTopic":"未命名主題","context.bestCurrentPicture":"目前最好的理解","context.stillBlocking":"仍在阻擋","context.stillUnclear":"仍不清楚","context.currentDecisions":"目前決策","context.olderDecisions":"已被取代的舊決策","context.noBlockers":"目前沒有記錄到 blocker。","context.noQuestions":"目前沒有記錄到待釐清問題。","context.noCurrentDecisions":"目前還沒有記錄到有效決策。","context.noReplacedDecisions":"目前還沒有記錄到被取代的決策。","context.noConfirmedSummary":"目前還沒有已確認的主題摘要。","context.noMatchingSignals":"沒有記錄到可對應的線索。","context.noEarlierWork":"沒有較早的相關工作","context.preferredFolder":"這個主題目前是此資料夾的主要主題。","context.whySuggested":"Footprint 為什麼認為這可能是同一個主題:","context.linkTopic":"連到這個主題","context.keepSeparate":"保持分開","context.startNewTopic":"開始新主題","context.noSuggestedTopics":"這筆工作紀錄目前沒有建議主題。","context.noOngoingTopics":"目前還沒有持續中的主題。","context.openLatestWork":"打開最新工作","context.latestRelatedWork":"最新相關工作","context.openLatest":"打開最新一筆","context.findRelated":"找相關工作","context.showBroaderPattern":"查看更大的模式","context.showThisProblem":"查看這個問題","context.nothingUrgent":"這個檢視目前沒有特別急迫的事項。","context.needsAttention":"需要注意","context.recentlyImproved":"最近有改善","context.openQuestions":"待釐清問題","context.noSimilarPastWork":"這筆紀錄目前還沒有相似的過去工作。","context.openLatestRelatedWork":"打開最新相關工作","context.openShortSummary":"打開簡短摘要","context.noConversation":"目前還沒有儲存對話內容。","context.noTimeline":"目前還沒有逐步活動紀錄。","context.noNarratives":"目前還沒有載入白話摘要。","context.noDecisions":"目前還沒有載入關鍵決策。","context.noArtifacts":"目前還沒有載入補充細節。","context.savedWorkRecord":"工作紀錄","context.open":"打開","context.refreshSummary":"重新整理摘要","context.inProgress":"進行中","context.onlyHost":"只看 {{host}}","context.whyThisMatches":"符合原因:","context.noHighlights":"目前還沒有重點片段。","context.resultsHere":"搜尋結果會顯示在這裡。","evidence.noLabels":"沒有標籤","evidence.noSavedRecords":"找不到已儲存紀錄","evidence.noSavedRecordsPeriod":"這個時間範圍沒有已儲存紀錄","evidence.record":"筆紀錄","evidence.records":"筆紀錄"};ce.ja={...ce.en,"common.language":"言語","common.exportZip":"ZIP を書き出す","common.downloadZip":"ZIP をダウンロード","common.refreshPreview":"プレビューを更新","common.back":"戻る","common.copyText":"テキストをコピー","common.checkIntegrity":"整合性を確認","sessionDashboard.documentTitle":"Footprint 作業概要","sessionDashboard.documentTitleLive":"Footprint ローカルライブ作業概要","sessionDashboard.kicker":"Footprint メモリービュー","sessionDashboard.title":"作業概要","sessionDashboard.summary.loading":"最近の作業を読み込んでいます...","sessionDashboard.noteHtml":"まず <strong>今いちばん重要なこと</strong> を確認し、必要になったときだけ個別の作業記録を開いてください。<strong>進行中のトピック</strong> があれば、推測せずに正しい文脈へ戻れます。","sessionDashboard.findAndFilter":"検索とフィルター","sessionDashboard.findAndFilter.subtitle":"下の一覧を絞り込むか、フィルターを空にしてすべてを表示します。","sessionDashboard.findPastWork":"過去の作業を探す","sessionDashboard.aiHelper":"AI アシスタント","sessionDashboard.workState":"作業状態","sessionDashboard.groupBy":"再発した問題のまとめ方","sessionDashboard.updateView":"表示を更新","sessionDashboard.exportView":"この表示を書き出す","sessionDashboard.clear":"クリア","sessionDashboard.handoff.title":"今いちばん重要なこと","sessionDashboard.trends.title":"再発した問題","sessionDashboard.contexts.title":"進行中のトピック","sessionDashboard.search.title":"関連する過去の作業","sessionDashboard.sessions.title":"最近の作業","sessionDashboard.liveBadge":"ローカルライブ製品 · 作業概要","sessionDetail.documentTitle":"Footprint 作業記録","sessionDetail.documentTitleLive":"Footprint ローカルライブ作業記録","sessionDetail.kicker":"作業ブリーフ","sessionDetail.title":"この作業","sessionDetail.subtitle.loading":"保存された作業記録を読み込んでいます...","sessionDetail.noteHtml":"初めて引き継ぐなら、まず <strong>最初に読む</strong> と <strong>引き継ぎメモ</strong> を確認してください。会話とアクティビティログは下にまとめ、最初の画面では実用的な要点だけを見せます。","sessionDetail.liveBadge":"ローカルライブ製品 · 一覧へ戻る","sessionDetail.refreshOverview":"概要を更新","sessionDetail.loadSupportingDetails":"補足情報を読み込む","sessionDetail.loadSimpleSummary":"簡単な要約を読み込む","sessionDetail.loadKeyDecisions":"重要な判断を読み込む","sessionDetail.readThisFirst":"最初に読む","sessionDetail.readThisFirst.subtitle":"この作業が既存のトピックに属するか確認中...","sessionDetail.pickupNote":"引き継ぎメモ","sessionDetail.simpleSummary":"簡単な要約","sessionDetail.simpleSummary.subtitle":"このセッションで何が起きたかをわかりやすく説明します。","sessionDetail.keyDecisions":"重要な判断","sessionDetail.keyDecisions.subtitle":"このセッション中に行われた、または確認された選択。","sessionDetail.relatedEarlierWork":"関連する過去の作業","sessionDetail.relatedEarlierWork.subtitle":"同じトピック、課題キー、または繰り返しの問題を共有する過去のセッション。","sessionDetail.conversation":"会話","sessionDetail.conversation.subtitle":"このセッション中に AI と交わしたメッセージ。","sessionDetail.activityLog":"自動アクティビティログ","sessionDetail.activityLog.subtitle":"自動で記録されたツール呼び出し、ファイル読み取り、その他の操作。","sessionDetail.supportingDetails":"補足情報","sessionDetail.supportingDetails.subtitle":"このセッション中に保存されたファイル、コードスニペット、その他の成果物。","evidenceDashboard.documentTitle":"Footprint 保存済みフットプリント","evidenceDashboard.kicker":"暗号化フットプリント","evidenceDashboard.title":"保存済みフットプリント","evidenceDashboard.subtitle":"重要な AI 作業の暗号化記録を見直し、すばやく絞り込み、必要なものだけを書き出します。","evidenceDashboard.note":"長期保存できる記録が必要なときに使ってください。まず検索し、ラベルや期間で絞り込んでから書き出します。","evidenceDashboard.search.placeholder":"トピック、ラベル、AI アシスタントで検索","evidenceDashboard.stats.records":"保存済み記録","evidenceDashboard.stats.today":"本日保存","evidenceDashboard.stats.storage":"使用容量","evidenceDashboard.stats.labels":"ラベル","evidenceDashboard.latestCaptures":"最近のアクティビティ","evidenceDashboard.timeline":"アクティビティタイムライン","evidenceDashboard.filterLabels":"ラベルで絞り込む","evidenceDashboard.manageLabels":"ラベルを管理","evidenceDashboard.records.title":"フットプリントレコード","evidenceDetail.documentTitle":"Footprint フットプリントレコード","evidenceDetail.kicker":"保存済みフットプリント","evidenceDetail.title":"フットプリントレコード","evidenceDetail.subtitle":"保存した会話を確認し、メタデータを見直し、Footprint から直接書き出しや検証を行います。","evidenceDetail.note":"この画面は日々の作業再開ではなく、監査用の記録確認に使います。","evidenceExport.documentTitle":"Footprint 保存済みフットプリントの書き出し","evidenceExport.kicker":"保存済みフットプリントを書き出す","evidenceExport.title":"ZIP バンドルを書き出す","evidenceExport.subtitle":"含めるフットプリントを選び、プレビューしてから、保管や共有に使える暗号化 ZIP をダウンロードします。","evidenceExport.note":"フットプリントを保管したり、限られた相手に渡したりするときに使います。必要なものだけが入るよう、先にプレビューしてください。","status.completed":"完了","status.failed":"要確認","status.interrupted":"停止","status.running":"進行中","sessionDashboard.findPastWork.placeholder":"機能名、ファイル名、バグ、質問など...","sessionDashboard.referenceCode":"参照コード(上級向け)","sessionDashboard.referenceCode.placeholder":"すでに誰かから渡されている場合だけ入力します","sessionDashboard.state.running":"進行中","sessionDashboard.state.completed":"完了","sessionDashboard.state.failed":"要確認","sessionDashboard.state.interrupted":"停止","role.user":"あなた","role.assistant":"AI","role.system":"システム"};ce["zh-CN"]={...ce["zh-TW"],"common.locale.zh-TW":"繁體中文","common.locale.zh-CN":"简体中文","common.language":"语言","common.copyText":"复制文字","common.checkIntegrity":"检查完整性","sessionDashboard.documentTitle":"Footprint 工作总览","sessionDashboard.documentTitleLive":"Footprint 本地实时工作总览","sessionDashboard.kicker":"Footprint 记忆视图","sessionDashboard.title":"工作总览","sessionDashboard.summary.loading":"正在载入你的近期工作...","sessionDashboard.noteHtml":"先看 <strong>现在最重要的事</strong>,需要细节时再打开单一工作记录。<strong>持续中的主题</strong> 会帮你留在正确脉络里,不用重新猜。","sessionDashboard.findAndFilter":"查找与筛选","sessionDashboard.findAndFilter.subtitle":"缩小下方的显示范围,或留空筛选条件以查看全部。","sessionDashboard.findPastWork":"找之前的工作","sessionDashboard.findPastWork.placeholder":"功能、文件名、问题或待办事项...","sessionDashboard.referenceCode":"参考代码(高级)","sessionDashboard.referenceCode.placeholder":"只有在别人已经给你代号时才需要","sessionDashboard.aiHelper":"AI 助手","sessionDashboard.workState":"工作状态","sessionDashboard.allStates":"所有状态","sessionDashboard.state.running":"进行中","sessionDashboard.state.completed":"已完成","sessionDashboard.state.failed":"需要注意","sessionDashboard.state.interrupted":"已停止","sessionDashboard.groupBy":"重复问题分组方式","sessionDashboard.groupBy.family":"更大的模式","sessionDashboard.updateView":"更新画面","sessionDashboard.exportView":"导出这个视图","sessionDashboard.clear":"清除","sessionDashboard.handoff.title":"现在最重要的事","sessionDashboard.trends.title":"反复出现的问题","sessionDashboard.contexts.title":"持续中的主题","sessionDashboard.search.title":"较早的相关工作","sessionDashboard.sessions.title":"近期工作","sessionDashboard.liveBadge":"本地实时产品 · 工作总览","sessionDetail.documentTitle":"Footprint 工作记录","sessionDetail.documentTitleLive":"Footprint 本地实时工作记录","sessionDetail.kicker":"工作简报","sessionDetail.title":"这次工作","sessionDetail.subtitle.loading":"正在载入这笔已保存的工作记录...","sessionDetail.noteHtml":"如果你是第一次接手,先从 <strong>先读这里</strong> 和 <strong>接手便条</strong> 开始。对话与活动记录放在下方,让第一屏先给你可行的理解。","sessionDetail.liveBadge":"本地实时产品 · 返回总览","sessionDetail.refreshOverview":"刷新总览","sessionDetail.loadSupportingDetails":"载入补充细节","sessionDetail.loadSimpleSummary":"载入简单摘要","sessionDetail.loadKeyDecisions":"载入关键决策","sessionDetail.readThisFirst":"先读这里","sessionDetail.readThisFirst.subtitle":"正在确认这次工作是否属于现有主题...","sessionDetail.pickupNote":"接手便条","sessionDetail.simpleSummary":"简单摘要","sessionDetail.simpleSummary.subtitle":"用通俗语言描述这次工作会话发生了什么事。","sessionDetail.keyDecisions":"关键决策","sessionDetail.keyDecisions.subtitle":"这次工作会话中做出或确认的选择。","sessionDetail.relatedEarlierWork":"相关较早工作","sessionDetail.relatedEarlierWork.subtitle":"与这次工作共享主题、问题代码或反复出现问题的较早工作会话。","sessionDetail.conversation":"对话内容","sessionDetail.conversation.subtitle":"这次工作会话与 AI 交换的消息。","sessionDetail.activityLog":"自动活动记录","sessionDetail.activityLog.subtitle":"自动记录的工具调用、文件读取及其他操作。","sessionDetail.supportingDetails":"补充细节","sessionDetail.supportingDetails.subtitle":"这次工作会话保存的文件、代码片段及其他相关资料。","evidenceDashboard.documentTitle":"Footprint 已保存足迹","evidenceDashboard.kicker":"加密足迹","evidenceDashboard.title":"已保存足迹","evidenceDashboard.subtitle":"浏览重要 AI 工作的加密记录,快速筛选,只导出真正需要的内容。","evidenceDashboard.note":"当你需要可长期保存的记录时就看这里。先搜索,再用标签或时间缩小范围后导出。","evidenceDashboard.search.placeholder":"用主题、标签或 AI 助手搜索","evidenceDashboard.stats.records":"已保存记录","evidenceDashboard.stats.today":"今天保存","evidenceDashboard.stats.storage":"已用空间","evidenceDashboard.stats.labels":"标签","evidenceDashboard.latestCaptures":"近期活动","evidenceDashboard.timeline":"活动时间线","evidenceDashboard.filterLabels":"按标签筛选","evidenceDashboard.manageLabels":"管理标签","evidenceDashboard.records.title":"足迹记录","evidenceDetail.documentTitle":"Footprint 足迹记录","evidenceDetail.kicker":"已保存足迹","evidenceDetail.title":"足迹记录","evidenceDetail.subtitle":"查看保存的对话、检查元数据,并直接在 Footprint 中导出或验证。","evidenceExport.documentTitle":"Footprint 导出已保存足迹","evidenceExport.kicker":"导出已保存足迹","evidenceExport.title":"导出 ZIP 包","evidenceExport.subtitle":"先选择要包含哪些足迹,再预览,最后下载可保存或交接的加密 ZIP。","status.completed":"已完成","status.failed":"需要注意","status.interrupted":"已停止","status.running":"进行中"};Object.assign(ce.en,{"common.actions":"Actions","common.clearAll":"Clear All","common.clearSearch":"Clear search","common.selectAll":"Select all","common.notAvailable":"n/a","common.savedWorkRecord":"saved work record","common.savedWorkRecords":"saved work records","common.attempt":"attempt","common.attempts":"attempts","common.time":"time","common.times":"times","common.message":"message","common.messages":"messages","common.step":"step","common.steps":"steps","common.item":"item","common.items":"items","common.relatedPattern":"related pattern","common.relatedPatterns":"related patterns","common.activeBlocker":"active blocker","common.activeBlockers":"active blockers","common.returnedProblem":"problem that came back","common.returnedProblems":"problems that came back","sessionDashboard.sessions.table.work":"Work","sessionDashboard.sessions.table.ai":"AI","sessionDashboard.sessions.table.state":"State","sessionDashboard.sessions.table.started":"Started","sessionDetail.liveProduct":"Local live product","sessionDetail.backToOverview":"Back to Overview","evidenceDashboard.search.label":"Search saved footprints","evidenceDashboard.lastUpdated.never":"Never updated","evidenceDashboard.selected.zero":"0 selected","evidenceExport.file.records":"records","evidenceExport.file.estimated":"Estimated size","context.hostWork":"{{host}} work","context.hostWorkOn":"{{host}} work on {{subject}}","context.openShortSummaryBroader":"Open Broader Summary","timeline.startedHost":"Started {{host}}.","timeline.finishedHost":"{{host}} finished.","timeline.sessionStarted":"This saved work record started.","timeline.sessionCompleted":"This work finished normally.","timeline.sessionFailed":"This work ended with a problem.","timeline.sessionInterrupted":"This work was stopped early.","timeline.closedUnexpectedly":"{{host}} closed unexpectedly.","context.commandsObserved":"{{count}} commands were run.","context.testsObserved":"{{count}} test runs were recorded.","session.action.refreshSummaryDisabled":"This work is still in progress and cannot refresh yet.","session.action.openSession":"Open session {{label}}","session.action.refreshSummaryFor":"Refresh summary for {{label}}","session.action.stillInProgress":"{{label}} is still in progress","session.action.openMatchingSession":"Open matching session {{label}}","session.action.onlyHostAria":"Only show work from {{host}}","session.action.showBroaderPatternAria":"Show broader pattern {{label}}","session.action.showThisProblemAria":"Show this problem {{label}}","session.action.openLatestSessionAria":"Open latest session {{label}}","session.action.searchForAria":"Search for {{label}}","session.action.loadBroaderSummaryAria":"Load broader summary for {{label}}","session.action.loadSummaryAria":"Load summary for {{label}}","session.action.openLatestRelatedAria":"Open latest related work {{label}}","session.action.linkTopicAria":"Link to topic {{label}}","session.action.keepSeparateAria":"Keep {{label}} separate","session.action.startNewTopicAria":"Start new topic {{label}}","session.action.openLatestWorkAria":"Open latest work for {{label}}","session.artifact.failure":"Failure","session.artifact.errorCode":"Error code","session.artifact.lintRule":"Lint rule","session.artifact.test":"Test","session.artifact.dependencies":"Dependencies","session.artifact.dependencyChange":"change","session.artifact.scope":"Scope","session.context.folder":"Folder","session.context.workedIn":"Worked in","session.context.linkedToTopic":"linked to this topic","session.context.inTopic":"in this topic","session.context.latest":"latest","session.trend.latestOutcomeFallback":"Latest outcome: {{outcome}}","session.trend.blocking":"Still causing trouble","session.trend.notBlocking":"Seen before, not currently blocking","session.trend.lastSeen":"last seen {{value}}","session.trend.seenIn":"Seen in {{sessions}} across {{attempts}}.","session.trend.sessionBlocking":"This still appears to be a blocker.","session.trend.sessionNotBlocking":"This has happened before but is not currently blocking.","session.trend.encountered":"This work ran into this {{sessionAttempts}}; across related work it showed up {{globalAttempts}}.","session.dashboard.summary.noWork":"No saved work yet.","session.dashboard.summary.showingWork":"Showing {{visible}} of {{total}} recent saved work records. Open one to see what happened.","session.dashboard.search.noMatches":"No earlier work matched that search.","session.dashboard.search.showingMatches":"Showing {{visible}} earlier saved work records out of {{total}}.","session.dashboard.search.placeholderSummary":"Type a word, file name, question, or problem to find earlier related work.","session.dashboard.context.noTopics":"No ongoing topics are confirmed yet.","session.dashboard.context.showingTopics":"Showing {{visible}} ongoing topics out of {{total}}.","session.dashboard.trends.group.issue":"specific problem","session.dashboard.trends.group.family":"broader pattern","session.dashboard.trends.none":"No repeated problems stand out in this view right now.","session.dashboard.trends.summary":"Showing {{visible}} {{grouping}} items out of {{total}}. {{active}} still need attention, {{recovered}} improved, and {{regressed}} came back again.","session.dashboard.handoff.latest":"Latest work: {{label}} ({{startedAt}}).","session.dashboard.handoff.latestNoTime":"Latest work: {{label}}.","session.dashboard.handoff.summary":"{{sessions}} related work records found. {{blockers}} repeated blockers still need attention. {{latest}}","session.dashboard.loading.work":"Loading Work...","session.dashboard.loading.results":"Loading Results...","session.dashboard.loading.trends":"Loading Repeated Problems...","session.dashboard.export.success":"Exported {{count}} matching session bundle(s): {{filename}}","session.dashboard.error.action":"Failed to run dashboard action.","session.dashboard.error.filters":"Failed to apply dashboard filters.","session.dashboard.error.connect":"Failed to connect UI.","session.export.noArchive":"Session export did not return a downloadable archive.","session.reingest.notReady":"Only finished or stopped work records can refresh their summary.","session.reingest.inProgress":"Still In Progress","session.reingest.whenStopped":"You can refresh the overview after this work stops running.","session.detail.loading.conversation":"Loading Conversation...","session.detail.loading.steps":"Loading Steps...","session.detail.loading.relatedWork":"Loading Related Work...","session.detail.loading.supporting":"Loading Supporting Details...","session.detail.loading.summaries":"Loading Summaries...","session.detail.loading.decisions":"Loading Decisions...","session.detail.subtitle":"{{label}} · {{status}} · {{host}} · started {{startedAt}}","session.detail.meta.aiHelper":"AI helper","session.detail.meta.currentState":"Current state","session.detail.meta.started":"Started","session.detail.meta.finished":"Finished","session.detail.meta.conversation":"Conversation so far","session.detail.meta.timeline":"Automatic activity log","session.detail.meta.supporting":"Supporting details","session.detail.meta.related":"Related earlier work","session.detail.meta.relatedNone":"No related earlier work yet","session.detail.meta.relatedSummary":"{{patterns}} · {{blockers}} · {{regressed}}","session.detail.meta.overview":"Simple overview","session.detail.meta.ready":"Ready","session.detail.meta.needsRefresh":"Needs refresh","session.detail.meta.workedIn":"Worked in","session.detail.meta.pathNote":"Full folder path available on hover.","session.detail.context.none":"No confirmed topics yet","session.detail.context.openRecord":"Open a saved work record to see whether it belongs to a longer-running topic.","session.detail.context.confirmationRequired":"Footprint only suggests other topics when there is enough supporting data, and it waits for your confirmation.","session.detail.context.noOtherTopics":"No other possible topics yet.","session.detail.context.checking":"Checking whether this work belongs to an existing topic...","session.detail.context.loadingConfirmed":"Loading confirmed topic summary...","session.detail.context.loadingCandidatesSummary":"Footprint is gathering possible related topics.","session.detail.context.loadingCandidates":"Loading possible related topics...","session.detail.context.alreadyLinked":'This work is already part of "{{label}}". Start here before continuing.',"session.detail.context.reviewSuggestions":"No topic has been confirmed yet. Review the suggestions below before linking anything.","session.detail.context.notLinked":"This work is not linked to a topic yet.","session.detail.context.noSuggestions":"Footprint does not have any other topic suggestions for this work.","session.detail.context.suggestionCount":"{{count}} possible topics found. Only link the ones that truly match.","session.detail.context.refreshed":"Context review refreshed.","session.detail.context.linked":"Linked session to context {{label}}.","session.detail.context.createdFromRelated":"Created canonical context {{label}} from related sessions.","session.detail.context.rejected":"Rejected suggested context {{label}}.","session.detail.context.moved":"Moved session into {{label}}.","session.detail.context.preferred":"Set {{label}} as the preferred context for this workspace.","session.detail.context.newContext":"new context","session.detail.context.refreshError":"Failed to refresh context review.","session.detail.scope.exportingBroader":"Exporting Broader Summary...","session.detail.scope.exportingPickup":"Exporting Pickup Summary...","session.detail.scope.exportBroader":"Export Broader Summary ZIP","session.detail.scope.exportPickup":"Export Pickup Summary ZIP","session.detail.scope.loadFirst":"Load a short pickup note first.","session.detail.scope.none":"No pickup note loaded yet.","session.detail.scope.summaryText":"{{group}} · {{label}} · {{headline}}","session.detail.scope.loadingFor":"Loading the short pickup note for {{label}}...","session.detail.scope.loading":"Loading pickup note...","session.detail.scope.exportSuccess":"Exported {{kind}} summary: {{filename}}","session.detail.export.success":"Exported session bundle: {{filename}}","session.detail.error.invalidContextResolution":"Context resolver did not return a valid result.","session.detail.error.invalidContextList":"Context list tool did not return a valid result.","session.detail.error.invalidContextMutation":"Context mutation did not return a valid result.","session.detail.error.invalidScope":"History handoff tool did not return a valid scope.","session.detail.error.invalidDetail":"Session detail tool did not return a valid session.","session.detail.error.invalidMessages":"Session messages tool did not return a valid page.","session.detail.error.invalidTimeline":"Session timeline tool did not return a valid page.","session.detail.error.invalidTrends":"Session trends tool did not return a valid page.","session.detail.error.invalidArtifacts":"Session artifacts tool did not return a valid page.","session.detail.error.invalidNarratives":"Session narratives tool did not return a valid page.","session.detail.error.invalidDecisions":"Session decisions tool did not return a valid page.","session.detail.error.noSession":"No work record is loaded.","session.detail.error.action":"Failed to run detail action.","session.detail.error.sessionAction":"Failed to run session action.","session.detail.error.connect":"Failed to connect UI."});Object.assign(ce["zh-TW"],{"common.actions":"操作","common.clearAll":"全部清除","common.clearSearch":"清除搜尋","common.selectAll":"全選","common.notAvailable":"無","common.savedWorkRecord":"工作紀錄","common.savedWorkRecords":"工作紀錄","common.attempt":"次嘗試","common.attempts":"次嘗試","common.time":"次","common.times":"次","common.message":"則訊息","common.messages":"則訊息","common.step":"個步驟","common.steps":"個步驟","common.item":"項","common.items":"項","common.relatedPattern":"相關模式","common.relatedPatterns":"相關模式","common.activeBlocker":"個 blocker","common.activeBlockers":"個 blocker","common.returnedProblem":"個又出現的問題","common.returnedProblems":"個又出現的問題","sessionDashboard.sessions.table.work":"工作","sessionDashboard.sessions.table.ai":"AI","sessionDashboard.sessions.table.state":"狀態","sessionDashboard.sessions.table.started":"開始時間","sessionDetail.liveProduct":"本地即時產品","sessionDetail.backToOverview":"返回總覽","evidenceDashboard.search.label":"搜尋已儲存足跡","evidenceDashboard.lastUpdated.never":"尚未更新","evidenceDashboard.selected.zero":"已選 0 筆","evidenceExport.file.records":"筆紀錄","evidenceExport.file.estimated":"預估大小","context.hostWork":"{{host}} 工作","context.hostWorkOn":"{{host}} 在處理 {{subject}}","context.openShortSummaryBroader":"打開較大模式摘要","timeline.startedHost":"已啟動 {{host}}。","timeline.finishedHost":"{{host}} 已結束。","timeline.sessionStarted":"這筆工作紀錄已開始。","timeline.sessionCompleted":"這次工作正常完成。","timeline.sessionFailed":"這次工作以問題結束。","timeline.sessionInterrupted":"這次工作被提前停止。","timeline.closedUnexpectedly":"{{host}} 意外關閉。","context.commandsObserved":"執行了 {{count}} 個指令。","context.testsObserved":"記錄到 {{count}} 次測試執行。","session.dashboard.summary.noWork":"目前還沒有已儲存的工作。","session.dashboard.summary.showingWork":"顯示 {{visible}} / {{total}} 筆近期工作紀錄。","session.dashboard.search.noMatches":"找不到符合的較早工作。","session.dashboard.search.showingMatches":"顯示 {{visible}} / {{total}} 筆較早的相關工作。","session.dashboard.search.placeholderSummary":"輸入關鍵字、檔名、問題或任務,即可找到較早的相關工作。","session.dashboard.context.noTopics":"目前還沒有已確認的持續主題。","session.dashboard.context.showingTopics":"顯示 {{visible}} / {{total}} 個持續主題。","session.dashboard.trends.group.issue":"具體問題","session.dashboard.trends.group.family":"較大模式","session.dashboard.trends.none":"目前這個檢視裡沒有特別突出的重複問題。","session.dashboard.trends.summary":"顯示 {{visible}} / {{total}} 個{{grouping}}。其中 {{active}} 個仍需注意,{{recovered}} 個最近有改善,{{regressed}} 個再次出現。","session.dashboard.handoff.latest":"最新工作:{{label}}({{startedAt}})。","session.dashboard.handoff.latestNoTime":"最新工作:{{label}}。","session.dashboard.handoff.summary":"找到 {{sessions}} 筆相關工作紀錄。{{blockers}} 個重複 blocker 仍需注意。{{latest}}","session.dashboard.loading.work":"正在載入工作...","session.dashboard.loading.results":"正在載入結果...","session.dashboard.loading.trends":"正在載入重複問題...","session.dashboard.export.success":"已匯出 {{count}} 個符合條件的 session 封包:{{filename}}","session.dashboard.error.action":"無法執行總覽操作。","session.dashboard.error.filters":"無法套用篩選條件。","session.dashboard.error.connect":"無法連線到介面。","session.export.noArchive":"Session 匯出沒有回傳可下載的封包。","session.reingest.notReady":"只有已完成或已停止的工作紀錄才能重新整理摘要。","session.reingest.inProgress":"仍在進行中","session.reingest.whenStopped":"等這次工作停止後才能重新整理摘要。","session.detail.loading.conversation":"正在載入對話...","session.detail.loading.steps":"正在載入步驟...","session.detail.loading.relatedWork":"正在載入相關工作...","session.detail.loading.supporting":"正在載入補充細節...","session.detail.loading.summaries":"正在載入摘要...","session.detail.loading.decisions":"正在載入決策...","session.detail.subtitle":"{{label}} · {{status}} · {{host}} · 開始於 {{startedAt}}","session.detail.meta.aiHelper":"AI 助手","session.detail.meta.currentState":"目前狀態","session.detail.meta.started":"開始時間","session.detail.meta.finished":"結束時間","session.detail.meta.conversation":"目前對話","session.detail.meta.timeline":"自動活動紀錄","session.detail.meta.supporting":"補充細節","session.detail.meta.related":"相關較早工作","session.detail.meta.relatedNone":"目前還沒有相關較早工作","session.detail.meta.relatedSummary":"{{patterns}} · {{blockers}} · {{regressed}}","session.detail.meta.overview":"簡單總覽","session.detail.meta.ready":"已就緒","session.detail.meta.needsRefresh":"需要更新","session.detail.meta.workedIn":"工作資料夾","session.detail.meta.pathNote":"將滑鼠移上去可查看完整路徑。","session.detail.context.none":"目前還沒有已確認的主題","session.detail.context.openRecord":"打開一筆工作紀錄後,就能查看它是否屬於某個較長期的主題。","session.detail.context.confirmationRequired":"只有在資訊足夠時,Footprint 才會建議其他主題,並等待你確認。","session.detail.context.noOtherTopics":"目前沒有其他可能的主題。","session.detail.context.checking":"正在檢查這次工作是否屬於既有主題...","session.detail.context.loadingConfirmed":"正在載入已確認主題摘要...","session.detail.context.loadingCandidatesSummary":"Footprint 正在整理可能相關的主題。","session.detail.context.loadingCandidates":"正在載入可能相關的主題...","session.detail.context.alreadyLinked":"這次工作已屬於「{{label}}」。繼續前請先看這裡。","session.detail.context.reviewSuggestions":"目前還沒有確認主題。連結前請先檢查下方建議。","session.detail.context.notLinked":"這次工作目前尚未連到任何主題。","session.detail.context.noSuggestions":"Footprint 目前沒有其他主題建議。","session.detail.context.suggestionCount":"找到 {{count}} 個可能的主題,只連結真正相符的即可。","session.detail.context.refreshed":"主題檢視已更新。","session.detail.context.linked":"已把這筆工作連到主題 {{label}}。","session.detail.context.createdFromRelated":"已從相關工作建立正式主題 {{label}}。","session.detail.context.rejected":"已拒絕建議主題 {{label}}。","session.detail.context.moved":"已把這筆工作移到 {{label}}。","session.detail.context.preferred":"已將 {{label}} 設成此資料夾的主要主題。","session.detail.context.newContext":"新主題","session.detail.context.refreshError":"無法更新主題檢視。","session.detail.scope.exportingBroader":"正在匯出較大模式摘要...","session.detail.scope.exportingPickup":"正在匯出接手摘要...","session.detail.scope.exportBroader":"匯出較大模式 ZIP","session.detail.scope.exportPickup":"匯出接手摘要 ZIP","session.detail.scope.loadFirst":"請先載入一段接手便條。","session.detail.scope.none":"目前還沒有載入接手便條。","session.detail.scope.summaryText":"{{group}} · {{label}} · {{headline}}","session.detail.scope.loadingFor":"正在載入 {{label}} 的接手便條...","session.detail.scope.loading":"正在載入接手便條...","session.detail.scope.exportSuccess":"已匯出 {{kind}} 摘要:{{filename}}","session.detail.export.success":"已匯出 session 封包:{{filename}}","session.detail.error.invalidContextResolution":"Context resolver 回傳格式無效。","session.detail.error.invalidContextList":"Context list 回傳格式無效。","session.detail.error.invalidContextMutation":"Context mutation 回傳格式無效。","session.detail.error.invalidScope":"History handoff 回傳格式無效。","session.detail.error.invalidDetail":"Session detail 回傳格式無效。","session.detail.error.invalidMessages":"Session messages 回傳分頁格式無效。","session.detail.error.invalidTimeline":"Session timeline 回傳分頁格式無效。","session.detail.error.invalidTrends":"Session trends 回傳分頁格式無效。","session.detail.error.invalidArtifacts":"Session artifacts 回傳分頁格式無效。","session.detail.error.invalidNarratives":"Session narratives 回傳分頁格式無效。","session.detail.error.invalidDecisions":"Session decisions 回傳分頁格式無效。","session.detail.error.noSession":"目前沒有載入工作紀錄。","session.detail.error.action":"無法執行詳情頁操作。","session.detail.error.sessionAction":"無法執行這筆 session 的操作。","session.detail.error.connect":"無法連線到介面。"});Object.assign(ce.ja,{"common.actions":"操作","common.clearAll":"すべてクリア","common.clearSearch":"検索をクリア","common.selectAll":"すべて選択","common.notAvailable":"なし","sessionDashboard.sessions.table.work":"作業","sessionDashboard.sessions.table.ai":"AI","sessionDashboard.sessions.table.state":"状態","sessionDashboard.sessions.table.started":"開始","sessionDetail.liveProduct":"ローカルライブ製品","sessionDetail.backToOverview":"一覧へ戻る","evidenceDashboard.search.label":"保存済みフットプリントを検索","evidenceDashboard.lastUpdated.never":"未更新","evidenceDashboard.selected.zero":"0 件選択中","evidenceExport.file.records":"件","evidenceExport.file.estimated":"推定サイズ","context.hostWork":"{{host}} の作業","context.hostWorkOn":"{{host}} の {{subject}} 作業","session.dashboard.summary.noWork":"保存済みの作業はまだありません。","session.dashboard.loading.work":"作業を読み込み中...","session.dashboard.loading.results":"結果を読み込み中...","session.dashboard.loading.trends":"再発した問題を読み込み中...","session.reingest.notReady":"要約を更新できるのは完了または停止した作業だけです。","session.detail.loading.conversation":"会話を読み込み中...","session.detail.loading.steps":"手順を読み込み中...","session.detail.loading.relatedWork":"関連作業を読み込み中...","session.detail.loading.supporting":"補足情報を読み込み中...","session.detail.loading.summaries":"要約を読み込み中...","session.detail.loading.decisions":"判断内容を読み込み中...","session.detail.context.refreshed":"トピック確認を更新しました。","session.detail.error.noSession":"作業記録が読み込まれていません。","session.detail.error.action":"詳細画面の操作に失敗しました。","session.detail.error.sessionAction":"この作業の操作に失敗しました。","session.detail.error.connect":"UI に接続できませんでした。"});Object.assign(ce["zh-CN"],{"common.actions":"操作","common.clearAll":"全部清除","common.clearSearch":"清除搜索","common.selectAll":"全选","common.notAvailable":"无","sessionDashboard.sessions.table.work":"工作","sessionDashboard.sessions.table.ai":"AI","sessionDashboard.sessions.table.state":"状态","sessionDashboard.sessions.table.started":"开始时间","sessionDetail.liveProduct":"本地实时产品","sessionDetail.backToOverview":"返回总览","evidenceDashboard.search.label":"搜索已保存足迹","evidenceDashboard.lastUpdated.never":"尚未更新","evidenceDashboard.selected.zero":"已选 0 条","evidenceExport.file.records":"条记录","evidenceExport.file.estimated":"预计大小","context.hostWork":"{{host}} 工作","context.hostWorkOn":"{{host}} 在处理 {{subject}}","session.dashboard.summary.noWork":"目前还没有已保存的工作。","session.dashboard.loading.work":"正在加载工作...","session.dashboard.loading.results":"正在加载结果...","session.dashboard.loading.trends":"正在加载重复问题...","session.reingest.notReady":"只有已完成或已停止的工作记录才能刷新摘要。","session.detail.loading.conversation":"正在加载对话...","session.detail.loading.steps":"正在加载步骤...","session.detail.loading.relatedWork":"正在加载相关工作...","session.detail.loading.supporting":"正在加载补充细节...","session.detail.loading.summaries":"正在加载摘要...","session.detail.loading.decisions":"正在加载决策...","session.detail.context.refreshed":"主题检查已刷新。","session.detail.error.noSession":"当前没有已加载的工作记录。","session.detail.error.action":"无法执行详情页操作。","session.detail.error.sessionAction":"无法执行这条工作记录的操作。","session.detail.error.connect":"无法连接到界面。"});Object.assign(ce.en,{"common.close":"Close","common.savedRecord":"{{count}} saved record","common.savedRecords":"{{count}} saved records","common.justNow":"Just now","common.minutesAgo":"{{count}}m ago","common.hoursAgo":"{{count}}h ago","common.daysAgo":"{{count}}d ago","common.unknownAi":"Unknown AI","common.unknownError":"Unknown error","common.copied":"Copied","evidenceDashboard.search.noResults":'No results found for "{{query}}".',"evidenceDashboard.search.showingSome":"Showing {{shown}} of {{total}} saved records.","evidenceDashboard.search.results":"{{count}} results","evidenceDashboard.labels.none":"No labels found yet.","evidenceDashboard.labels.rename":"Rename","evidenceDashboard.labels.delete":"Delete","evidenceDashboard.labels.renamePrompt":'Rename label "{{tag}}" to:',"evidenceDashboard.labels.renameSuccess":'Renamed "{{oldTag}}" to "{{newTag}}" in {{count}} saved records.',"evidenceDashboard.labels.renameNoMatch":'No saved records use the label "{{tag}}".',"evidenceDashboard.labels.renameFailed":"Couldn't rename that label: {{message}}","evidenceDashboard.labels.deleteConfirm":'Delete label "{{tag}}" from every saved record? This cannot be undone.',"evidenceDashboard.labels.deleteSuccess":'Removed "{{tag}}" from {{count}} saved records.',"evidenceDashboard.labels.deleteNoMatch":'No saved records use the label "{{tag}}".',"evidenceDashboard.labels.deleteFailed":"Couldn't delete that label: {{message}}","evidenceDashboard.records.empty":"No saved records yet.","evidenceDashboard.records.emptySearch":'No saved records match "{{query}}".',"evidenceDashboard.records.emptyLabels":"No saved records match these labels: {{labels}}.","evidenceDashboard.records.loadError":"Could not load saved records.","evidenceDashboard.records.connectError":"Could not connect to Footprint.","evidenceDashboard.latestCaptures.empty":"No recent activity yet.","evidenceDashboard.timeline.empty":"No saved records in this time period.","evidenceDashboard.timeline.clickHint":"Click to view details","evidenceDashboard.lastUpdated.time":"Updated {{value}}","evidenceDashboard.notification.newRecords":"{{count}} new saved records added","evidenceDashboard.selected.count":"{{count}} selected","evidenceDashboard.selection.required":"Select one or more saved records first.","evidenceDashboard.exporting":"Exporting...","evidenceDashboard.deleting":"Deleting...","evidenceDashboard.export.success":"Exported {{count}} saved records.","evidenceDashboard.export.failed":"Export failed","evidenceDashboard.export.partial":"The export finished, but Footprint could not read the response cleanly.","evidenceDashboard.export.failedWithMessage":"Export failed: {{message}}","evidenceDashboard.delete.confirm":"Delete {{count}} saved records? This cannot be undone.","evidenceDashboard.delete.success":"Deleted {{count}} saved records.","evidenceDashboard.delete.failed":"Delete failed","evidenceDashboard.delete.failedWithMessage":"Delete failed: {{message}}","evidenceDetail.labels.none":"No labels","evidenceDetail.gitCommit":"Git commit","evidenceDetail.gitTimestamp":"Git timestamp","evidenceDetail.messagesCount":"{{count}} messages","evidenceDetail.export.success":"Exported footprint {{id}}.","evidenceDetail.verify.success":"Integrity check completed.","evidenceDetail.copy.success":"Copied the saved text.","evidenceDetail.error.noText":"There is no saved text to show or copy yet.","evidenceDetail.error.invalidPayload":"The footprint view expected structured content but did not receive it.","evidenceDetail.error.load":"Could not load this saved footprint: {{message}}","evidenceDetail.error.goBack":"Could not return to the footprint overview.","evidenceDetail.error.noEvidenceLoaded":"No saved footprint is loaded yet.","evidenceDetail.error.export":"Export failed: {{message}}","evidenceDetail.error.verify":"Integrity check failed: {{message}}","evidenceDetail.error.copy":"Could not copy the saved text.","evidenceDetail.error.connect":"Could not connect to Footprint.","evidenceExport.preview.more":"... and {{count}} more saved records","evidenceExport.success":"Export complete. {{count}} saved records added to {{filename}}.","evidenceExport.exporting":"Exporting...","evidenceExport.error.failed":"Export failed. Please try again.","evidenceExport.error.process":"Failed to process result: {{message}}","evidenceExport.error.goBack":"Could not return to the footprint overview.","evidenceExport.error.refresh":"Could not refresh the preview: {{message}}","evidenceExport.error.export":"Export failed: {{message}}","evidenceExport.error.connect":"Could not connect to Footprint.","liveDemo.error.hostRequired":"This live view needs the Footprint local preview host. Start the local demo backend, then reload this page.","liveDemo.error.invalidJson":"The local demo returned an unexpected response: {{message}}","liveDemo.empty.subtitle":"No recorded sessions yet. Run Footprint once, then reload this page.","liveDemo.empty.body":"Footprint did not find any recorded sessions in the current local database."});Object.assign(ce["zh-TW"],{"common.close":"關閉","common.savedRecord":"{{count}} 筆已儲存紀錄","common.savedRecords":"{{count}} 筆已儲存紀錄","common.savedWorkRecord":"工作紀錄","common.savedWorkRecords":"工作紀錄","common.justNow":"剛剛","common.minutesAgo":"{{count}} 分鐘前","common.hoursAgo":"{{count}} 小時前","common.daysAgo":"{{count}} 天前","common.unknownAi":"未知 AI","common.unknownError":"未知錯誤","common.copied":"已複製","evidenceDashboard.search.noResults":"找不到和「{{query}}」相關的結果。","evidenceDashboard.search.showingSome":"目前顯示 {{shown}} / {{total}} 筆已儲存紀錄。","evidenceDashboard.search.results":"共 {{count}} 筆結果","evidenceDashboard.labels.none":"目前還沒有標籤。","evidenceDashboard.labels.rename":"重新命名","evidenceDashboard.labels.delete":"刪除","evidenceDashboard.labels.renamePrompt":"把標籤「{{tag}}」改成:","evidenceDashboard.labels.renameSuccess":"已把「{{oldTag}}」改成「{{newTag}}」,共更新 {{count}} 筆紀錄。","evidenceDashboard.labels.renameNoMatch":"沒有任何已儲存紀錄使用「{{tag}}」這個標籤。","evidenceDashboard.labels.renameFailed":"無法重新命名標籤:{{message}}","evidenceDashboard.labels.deleteConfirm":"要從所有已儲存紀錄刪除標籤「{{tag}}」嗎?這個動作無法復原。","evidenceDashboard.labels.deleteSuccess":"已從 {{count}} 筆紀錄移除「{{tag}}」。","evidenceDashboard.labels.deleteNoMatch":"沒有任何已儲存紀錄使用「{{tag}}」這個標籤。","evidenceDashboard.labels.deleteFailed":"無法刪除標籤:{{message}}","evidenceDashboard.records.empty":"目前還沒有已儲存紀錄。","evidenceDashboard.records.emptySearch":"沒有符合「{{query}}」的已儲存紀錄。","evidenceDashboard.records.emptyLabels":"沒有符合這些標籤的已儲存紀錄:{{labels}}。","evidenceDashboard.records.loadError":"無法載入已儲存紀錄。","evidenceDashboard.records.connectError":"無法連線到 Footprint。","evidenceDashboard.latestCaptures.empty":"目前還沒有最近的保存紀錄。","evidenceDashboard.timeline.empty":"這段時間內沒有已儲存紀錄。","evidenceDashboard.timeline.clickHint":"點一下可查看細節","evidenceDashboard.lastUpdated.time":"上次更新:{{value}}","evidenceDashboard.notification.newRecords":"新增加 {{count}} 筆已儲存紀錄","evidenceDashboard.selected.count":"已選 {{count}} 筆","evidenceDashboard.selection.required":"請先選擇一筆或多筆已儲存紀錄。","evidenceDashboard.exporting":"匯出中...","evidenceDashboard.deleting":"刪除中...","evidenceDashboard.export.success":"已匯出 {{count}} 筆已儲存紀錄。","evidenceDashboard.export.failed":"匯出失敗","evidenceDashboard.export.partial":"匯出已完成,但 Footprint 無法完整解析回傳內容。","evidenceDashboard.export.failedWithMessage":"匯出失敗:{{message}}","evidenceDashboard.delete.confirm":"要刪除 {{count}} 筆已儲存紀錄嗎?這個動作無法復原。","evidenceDashboard.delete.success":"已刪除 {{count}} 筆已儲存紀錄。","evidenceDashboard.delete.failed":"刪除失敗","evidenceDashboard.delete.failedWithMessage":"刪除失敗:{{message}}","evidenceDetail.labels.none":"沒有標籤","evidenceDetail.gitCommit":"Git commit","evidenceDetail.gitTimestamp":"Git 時間戳","evidenceDetail.messagesCount":"{{count}} 則訊息","evidenceDetail.export.success":"已匯出足跡 {{id}}。","evidenceDetail.verify.success":"完整性檢查已完成。","evidenceDetail.copy.success":"已複製保存文字。","evidenceDetail.error.noText":"目前沒有可顯示或可複製的保存文字。","evidenceDetail.error.invalidPayload":"足跡頁面預期收到結構化資料,但實際沒有收到。","evidenceDetail.error.load":"無法載入這筆已儲存足跡:{{message}}","evidenceDetail.error.goBack":"無法返回足跡總覽。","evidenceDetail.error.noEvidenceLoaded":"目前還沒有載入已儲存足跡。","evidenceDetail.error.export":"匯出失敗:{{message}}","evidenceDetail.error.verify":"完整性檢查失敗:{{message}}","evidenceDetail.error.copy":"無法複製保存文字。","evidenceDetail.error.connect":"無法連線到 Footprint。","evidenceExport.preview.more":"... 還有 {{count}} 筆已儲存紀錄","evidenceExport.success":"匯出完成。{{count}} 筆已儲存紀錄已加入 {{filename}}。","evidenceExport.exporting":"匯出中...","evidenceExport.error.failed":"匯出失敗,請再試一次。","evidenceExport.error.process":"無法處理結果:{{message}}","evidenceExport.error.goBack":"無法返回足跡總覽。","evidenceExport.error.refresh":"無法更新預覽:{{message}}","evidenceExport.error.export":"匯出失敗:{{message}}","evidenceExport.error.connect":"無法連線到 Footprint。","liveDemo.error.hostRequired":"這個即時檢視需要 Footprint 本機預覽主機。請先啟動本地 demo backend,再重新整理。","liveDemo.error.invalidJson":"本地 demo 回傳了非預期內容:{{message}}","liveDemo.empty.subtitle":"目前還沒有錄製過的工作。先執行一次 Footprint,再重新整理這個頁面。","liveDemo.empty.body":"Footprint 在目前的本機資料庫裡找不到任何已錄製工作。","session.context.folder":"資料夾","session.context.workedIn":"工作於","session.context.linkedToTopic":"已連到這個主題","session.context.inTopic":"屬於這個主題","session.context.latest":"最新"});Object.assign(ce.ja,{"common.close":"閉じる","common.savedRecord":"{{count}} 件の保存記録","common.savedRecords":"{{count}} 件の保存記録","common.justNow":"たった今","common.minutesAgo":"{{count}} 分前","common.hoursAgo":"{{count}} 時間前","common.daysAgo":"{{count}} 日前","common.unknownAi":"不明な AI","common.unknownError":"不明なエラー","common.copied":"コピーしました","evidenceDashboard.search.noResults":"「{{query}}」に一致する結果はありません。","evidenceDashboard.search.showingSome":"{{total}} 件中 {{shown}} 件を表示しています。","evidenceDashboard.search.results":"{{count}} 件の結果","evidenceDashboard.labels.none":"ラベルはまだありません。","evidenceDashboard.labels.rename":"名前を変える","evidenceDashboard.labels.delete":"削除","evidenceDashboard.labels.renamePrompt":"ラベル「{{tag}}」の新しい名前:","evidenceDashboard.labels.renameSuccess":"「{{oldTag}}」を「{{newTag}}」に変更し、{{count}} 件を更新しました。","evidenceDashboard.labels.renameNoMatch":"ラベル「{{tag}}」を使っている保存記録はありません。","evidenceDashboard.labels.renameFailed":"ラベル名を変更できませんでした: {{message}}","evidenceDashboard.labels.deleteConfirm":"すべての保存記録からラベル「{{tag}}」を削除しますか?この操作は元に戻せません。","evidenceDashboard.labels.deleteSuccess":"「{{tag}}」を {{count}} 件の記録から削除しました。","evidenceDashboard.labels.deleteNoMatch":"ラベル「{{tag}}」を使っている保存記録はありません。","evidenceDashboard.labels.deleteFailed":"ラベルを削除できませんでした: {{message}}","evidenceDashboard.records.empty":"保存済みの記録はまだありません。","evidenceDashboard.records.emptySearch":"「{{query}}」に一致する保存記録はありません。","evidenceDashboard.records.emptyLabels":"これらのラベルに一致する保存記録はありません: {{labels}}。","evidenceDashboard.records.loadError":"保存記録を読み込めませんでした。","evidenceDashboard.records.connectError":"Footprint に接続できませんでした。","evidenceDashboard.latestCaptures.empty":"最近の保存記録はまだありません。","evidenceDashboard.timeline.empty":"この期間に保存記録はありません。","evidenceDashboard.timeline.clickHint":"クリックすると詳細を見られます","evidenceDashboard.lastUpdated.time":"更新: {{value}}","evidenceDashboard.notification.newRecords":"{{count}} 件の新しい保存記録があります","evidenceDashboard.selected.count":"{{count}} 件選択中","evidenceDashboard.selection.required":"まず 1 件以上の保存記録を選択してください。","evidenceDashboard.exporting":"書き出し中...","evidenceDashboard.deleting":"削除中...","evidenceDashboard.export.success":"{{count}} 件の保存記録を書き出しました。","evidenceDashboard.export.failed":"書き出しに失敗しました","evidenceDashboard.export.partial":"書き出しは完了しましたが、Footprint が結果を完全には読み取れませんでした。","evidenceDashboard.export.failedWithMessage":"書き出しに失敗しました: {{message}}","evidenceDashboard.delete.confirm":"{{count}} 件の保存記録を削除しますか?この操作は元に戻せません。","evidenceDashboard.delete.success":"{{count}} 件の保存記録を削除しました。","evidenceDashboard.delete.failed":"削除に失敗しました","evidenceDashboard.delete.failedWithMessage":"削除に失敗しました: {{message}}","evidenceDetail.labels.none":"ラベルなし","evidenceDetail.gitCommit":"Git コミット","evidenceDetail.gitTimestamp":"Git 時刻","evidenceDetail.messagesCount":"{{count}} 件のメッセージ","evidenceDetail.export.success":"フットプリント {{id}} を書き出しました。","evidenceDetail.verify.success":"整合性チェックが完了しました。","evidenceDetail.copy.success":"保存テキストをコピーしました。","evidenceDetail.error.noText":"表示またはコピーできる保存テキストがまだありません。","evidenceDetail.error.invalidPayload":"フットプリント画面は構造化データを期待していましたが受け取れませんでした。","evidenceDetail.error.load":"この保存フットプリントを読み込めませんでした: {{message}}","evidenceDetail.error.goBack":"フットプリント一覧に戻れませんでした。","evidenceDetail.error.noEvidenceLoaded":"保存フットプリントがまだ読み込まれていません。","evidenceDetail.error.export":"書き出しに失敗しました: {{message}}","evidenceDetail.error.verify":"整合性チェックに失敗しました: {{message}}","evidenceDetail.error.copy":"保存テキストをコピーできませんでした。","evidenceDetail.error.connect":"Footprint に接続できませんでした。","evidenceExport.preview.more":"... さらに {{count}} 件の保存記録","evidenceExport.success":"書き出しが完了しました。{{count}} 件を {{filename}} に追加しました。","evidenceExport.exporting":"書き出し中...","evidenceExport.error.failed":"書き出しに失敗しました。もう一度試してください。","evidenceExport.error.process":"結果を処理できませんでした: {{message}}","evidenceExport.error.goBack":"フットプリント一覧に戻れませんでした。","evidenceExport.error.refresh":"プレビューを更新できませんでした: {{message}}","evidenceExport.error.export":"書き出しに失敗しました: {{message}}","evidenceExport.error.connect":"Footprint に接続できませんでした。","liveDemo.error.hostRequired":"このライブ表示には Footprint のローカルプレビューホストが必要です。先にローカル demo backend を起動してから再読み込みしてください。","liveDemo.error.invalidJson":"ローカル demo から想定外の応答が返りました: {{message}}","liveDemo.empty.subtitle":"記録済みの作業はまだありません。まず Footprint を一度実行してから、このページを再読み込みしてください。","liveDemo.empty.body":"現在のローカルデータベースには記録済みの作業が見つかりませんでした。","session.context.folder":"フォルダ","session.context.workedIn":"作業フォルダ","session.context.linkedToTopic":"このトピックに紐づく","session.context.inTopic":"このトピック内","session.context.latest":"最新","sessionDashboard.allAssistants":"すべての AI アシスタント","sessionDashboard.allStates":"すべての状態","sessionDashboard.groupBy.issue":"具体的な問題","sessionDashboard.groupBy.family":"より大きなパターン","sessionDashboard.search.loading":"上にキーワードを入れると、関連する過去の作業を探せます。","sessionDashboard.sessions.subtitle":"新しい順です。まずわかりやすい要約を見て、必要なときだけ詳しい履歴を開いてください。","sessionDashboard.sessions.empty":"保存済みの作業記録はまだありません。","sessionDashboard.trends.empty":"目立つ再発問題はまだありません。","sessionDashboard.contexts.empty":"進行中のトピックはまだありません。","sessionDashboard.search.empty":"検索結果はここに表示されます。","sessionDashboard.loadMoreTrends":"再発問題をもっと見る","sessionDashboard.loadMoreSearch":"結果をもっと見る","sessionDashboard.loadMoreSessions":"作業をもっと見る","session.dashboard.summary.showingWork":"最近の保存済み作業 {{total}} 件中 {{visible}} 件を表示しています。","session.dashboard.search.noMatches":"一致する過去の作業はありませんでした。","session.dashboard.search.showingMatches":"過去の関連作業 {{total}} 件中 {{visible}} 件を表示しています。","session.dashboard.search.placeholderSummary":"単語、ファイル名、質問、問題を入力すると、関連する過去の作業を探せます。","session.dashboard.context.noTopics":"確認済みの進行中トピックはまだありません。","session.dashboard.context.showingTopics":"進行中トピック {{total}} 件中 {{visible}} 件を表示しています。","session.dashboard.trends.group.issue":"具体的な問題","session.dashboard.trends.group.family":"より大きなパターン","session.dashboard.trends.none":"この表示では目立つ再発問題はありません。","session.dashboard.trends.summary":"{{grouping}} を {{total}} 件中 {{visible}} 件表示しています。{{active}} 件はまだ注意が必要で、{{recovered}} 件は改善し、{{regressed}} 件は再発しました。","session.dashboard.handoff.latest":"最新の作業: {{label}}({{startedAt}})。","session.dashboard.handoff.latestNoTime":"最新の作業: {{label}}。","session.dashboard.handoff.summary":"関連作業記録は {{sessions}} 件見つかりました。再発 blocker は {{blockers}} 件がまだ注意を要します。{{latest}}","session.dashboard.export.success":"条件に一致する session バンドル {{count}} 件を {{filename}} に書き出しました。","session.dashboard.error.action":"ダッシュボード操作に失敗しました。","session.dashboard.error.filters":"フィルターの適用に失敗しました。","session.dashboard.error.connect":"UI に接続できませんでした。","context.noOngoingTopics":"進行中のトピックはまだありません。","context.openLatestWork":"最新の作業を開く","context.latestRelatedWork":"最新の関連作業","context.openLatest":"最新を開く","context.findRelated":"関連作業を探す","context.resultsHere":"検索結果はここに表示されます。","context.open":"開く","context.refreshSummary":"要約を更新","context.inProgress":"進行中","context.onlyHost":"{{host}} だけ見る"});Object.assign(ce["zh-CN"],{"common.close":"关闭","common.savedRecord":"{{count}} 条已保存记录","common.savedRecords":"{{count}} 条已保存记录","common.justNow":"刚刚","common.minutesAgo":"{{count}} 分钟前","common.hoursAgo":"{{count}} 小时前","common.daysAgo":"{{count}} 天前","common.unknownAi":"未知 AI","common.unknownError":"未知错误","common.copied":"已复制","evidenceDashboard.search.noResults":"没有找到和“{{query}}”相关的结果。","evidenceDashboard.search.showingSome":"当前显示 {{shown}} / {{total}} 条已保存记录。","evidenceDashboard.search.results":"共 {{count}} 条结果","evidenceDashboard.labels.none":"目前还没有标签。","evidenceDashboard.labels.rename":"重命名","evidenceDashboard.labels.delete":"删除","evidenceDashboard.labels.renamePrompt":"把标签“{{tag}}”改成:","evidenceDashboard.labels.renameSuccess":"已把“{{oldTag}}”改为“{{newTag}}”,共更新 {{count}} 条记录。","evidenceDashboard.labels.renameNoMatch":"没有任何已保存记录使用“{{tag}}”这个标签。","evidenceDashboard.labels.renameFailed":"无法重命名标签:{{message}}","evidenceDashboard.labels.deleteConfirm":"要从所有已保存记录删除标签“{{tag}}”吗?此操作无法撤销。","evidenceDashboard.labels.deleteSuccess":"已从 {{count}} 条记录移除“{{tag}}”。","evidenceDashboard.labels.deleteNoMatch":"没有任何已保存记录使用“{{tag}}”这个标签。","evidenceDashboard.labels.deleteFailed":"无法删除标签:{{message}}","evidenceDashboard.records.empty":"目前还没有已保存记录。","evidenceDashboard.records.emptySearch":"没有符合“{{query}}”的已保存记录。","evidenceDashboard.records.emptyLabels":"没有符合这些标签的已保存记录:{{labels}}。","evidenceDashboard.records.loadError":"无法加载已保存记录。","evidenceDashboard.records.connectError":"无法连接到 Footprint。","evidenceDashboard.latestCaptures.empty":"目前还没有最近的保存记录。","evidenceDashboard.timeline.empty":"这段时间内没有已保存记录。","evidenceDashboard.timeline.clickHint":"点击可查看详情","evidenceDashboard.lastUpdated.time":"上次更新:{{value}}","evidenceDashboard.notification.newRecords":"新增了 {{count}} 条已保存记录","evidenceDashboard.selected.count":"已选 {{count}} 条","evidenceDashboard.selection.required":"请先选择一条或多条已保存记录。","evidenceDashboard.exporting":"导出中...","evidenceDashboard.deleting":"删除中...","evidenceDashboard.export.success":"已导出 {{count}} 条已保存记录。","evidenceDashboard.export.failed":"导出失败","evidenceDashboard.export.partial":"导出已完成,但 Footprint 无法完整解析返回内容。","evidenceDashboard.export.failedWithMessage":"导出失败:{{message}}","evidenceDashboard.delete.confirm":"要删除 {{count}} 条已保存记录吗?此操作无法撤销。","evidenceDashboard.delete.success":"已删除 {{count}} 条已保存记录。","evidenceDashboard.delete.failed":"删除失败","evidenceDashboard.delete.failedWithMessage":"删除失败:{{message}}","evidenceDetail.labels.none":"没有标签","evidenceDetail.gitCommit":"Git commit","evidenceDetail.gitTimestamp":"Git 时间戳","evidenceDetail.messagesCount":"{{count}} 条消息","evidenceDetail.export.success":"已导出足迹 {{id}}。","evidenceDetail.verify.success":"完整性检查已完成。","evidenceDetail.copy.success":"已复制保存文本。","evidenceDetail.error.noText":"目前没有可显示或可复制的保存文本。","evidenceDetail.error.invalidPayload":"足迹页面预期收到结构化数据,但实际没有收到。","evidenceDetail.error.load":"无法加载这条已保存足迹:{{message}}","evidenceDetail.error.goBack":"无法返回足迹总览。","evidenceDetail.error.noEvidenceLoaded":"目前还没有加载已保存足迹。","evidenceDetail.error.export":"导出失败:{{message}}","evidenceDetail.error.verify":"完整性检查失败:{{message}}","evidenceDetail.error.copy":"无法复制保存文本。","evidenceDetail.error.connect":"无法连接到 Footprint。","evidenceExport.preview.more":"... 还有 {{count}} 条已保存记录","evidenceExport.success":"导出完成。{{count}} 条已保存记录已加入 {{filename}}。","evidenceExport.exporting":"导出中...","evidenceExport.error.failed":"导出失败,请再试一次。","evidenceExport.error.process":"无法处理结果:{{message}}","evidenceExport.error.goBack":"无法返回足迹总览。","evidenceExport.error.refresh":"无法刷新预览:{{message}}","evidenceExport.error.export":"导出失败:{{message}}","evidenceExport.error.connect":"无法连接到 Footprint。","liveDemo.error.hostRequired":"这个实时视图需要 Footprint 本地预览主机。请先启动本地 demo backend,再刷新页面。","liveDemo.error.invalidJson":"本地 demo 返回了非预期内容:{{message}}","liveDemo.empty.subtitle":"目前还没有录制过的工作。先运行一次 Footprint,再刷新这个页面。","liveDemo.empty.body":"Footprint 在当前本地数据库中找不到任何已录制工作。","session.context.folder":"文件夹","session.context.workedIn":"工作于","session.context.linkedToTopic":"已连到这个主题","session.context.inTopic":"属于这个主题","session.context.latest":"最新","sessionDashboard.allAssistants":"所有 AI 助手","sessionDashboard.groupBy.issue":"具体问题","sessionDashboard.search.loading":"在上方输入内容后,就能找到较早的相关工作。","sessionDashboard.sessions.subtitle":"按时间从新到旧排列。先看白话摘要,需要时再往下看详细轨迹。","sessionDashboard.sessions.empty":"目前还没有已保存的工作记录。","sessionDashboard.trends.empty":"目前还没有反复出现的问题。","sessionDashboard.contexts.empty":"目前还没有持续中的主题。","sessionDashboard.search.empty":"搜索结果会显示在这里。","sessionDashboard.loadMoreTrends":"显示更多重复问题","sessionDashboard.loadMoreSearch":"显示更多结果","sessionDashboard.loadMoreSessions":"显示更多工作","session.dashboard.summary.showingWork":"显示 {{visible}} / {{total}} 条近期工作记录。","session.dashboard.search.noMatches":"找不到符合的较早工作。","session.dashboard.search.showingMatches":"显示 {{visible}} / {{total}} 条较早的相关工作。","session.dashboard.search.placeholderSummary":"输入关键词、文件名、问题或任务,即可找到较早的相关工作。","session.dashboard.context.noTopics":"目前还没有已确认的持续主题。","session.dashboard.context.showingTopics":"显示 {{visible}} / {{total}} 个持续主题。","session.dashboard.trends.group.issue":"具体问题","session.dashboard.trends.group.family":"更大模式","session.dashboard.trends.none":"目前这个视图里没有特别突出的重复问题。","session.dashboard.trends.summary":"显示 {{visible}} / {{total}} 个{{grouping}}。其中 {{active}} 个仍需注意,{{recovered}} 个最近有改善,{{regressed}} 个再次出现。","session.dashboard.handoff.latest":"最新工作:{{label}}({{startedAt}})。","session.dashboard.handoff.latestNoTime":"最新工作:{{label}}。","session.dashboard.handoff.summary":"找到 {{sessions}} 条相关工作记录。仍需注意的重复阻碍有 {{blockers}} 个。{{latest}}","session.dashboard.export.success":"已导出 {{count}} 个符合条件的 session 包:{{filename}}","session.dashboard.error.action":"无法执行总览操作。","session.dashboard.error.filters":"无法应用筛选条件。","session.dashboard.error.connect":"无法连接到界面。","context.noOngoingTopics":"目前还没有持续中的主题。","context.openLatestWork":"打开最新工作","context.latestRelatedWork":"最新相关工作","context.openLatest":"打开最新一条","context.findRelated":"找相关工作","context.resultsHere":"搜索结果会显示在这里。","context.open":"打开","context.refreshSummary":"刷新摘要","context.inProgress":"进行中","context.onlyHost":"只看 {{host}}"});Object.assign(ce.ja,{"common.exportZip":"ZIP を書き出す","common.savedWorkRecord":"作業記録","common.savedWorkRecords":"作業記録","common.attempt":"回","common.attempts":"回","common.message":"件のメッセージ","common.messages":"件のメッセージ","common.step":"手順","common.steps":"手順","common.item":"件","common.items":"件","common.relatedPattern":"関連パターン","common.relatedPatterns":"関連パターン","common.activeBlocker":"件の blocker","common.activeBlockers":"件の blocker","common.returnedProblem":"件の再発問題","common.returnedProblems":"件の再発問題","status.completed":"完了","status.failed":"要確認","status.interrupted":"停止","status.running":"進行中","role.user":"あなた","role.assistant":"AI","role.system":"システム","event.session.start":"作業を開始","event.session.end":"作業を終了","event.session.started":"作業を開始","event.session.completed":"作業が完了","event.session.failed":"作業が問題付きで終了","event.session.interrupted":"作業が途中で停止","event.message.user":"あなたの入力","event.message.user.submitted":"あなたの入力","event.message.assistant":"AI の応答","event.message.assistant.completed":"AI の応答が完了","event.command.started":"コマンドを開始","event.command.completed":"コマンドが完了","event.command.failed":"コマンドが失敗","event.test.completed":"テストが完了","event.error.observed":"問題を検出","event.file.changed":"ファイルが変更された","event.git.commit":"保存された変更が作られた","event.tool.started":"AI ツールを開始","event.context.resolved":"トピック候補が見つかった","event.context.updated":"トピックの紐付けを更新","timeline.startedHost":"{{host}} を開始しました。","timeline.finishedHost":"{{host}} が完了しました。","timeline.sessionStarted":"この作業記録が始まりました。","timeline.sessionCompleted":"この作業は通常どおり完了しました。","timeline.sessionFailed":"この作業は問題付きで終了しました。","timeline.sessionInterrupted":"この作業は途中で止まりました。","timeline.closedUnexpectedly":"{{host}} が予期せず終了しました。","context.savedWorkRecord":"作業記録","context.bestCurrentPicture":"今の全体像","context.stillBlocking":"まだ止まっていること","context.stillUnclear":"まだはっきりしていないこと","context.currentDecisions":"現在有効な判断","context.olderDecisions":"置き換えられた以前の判断","context.noBlockers":"今は止まっていることは記録されていません。","context.noQuestions":"未解決の問いはまだありません。","context.noCurrentDecisions":"現在有効な判断はまだありません。","context.noReplacedDecisions":"置き換えられた判断はまだありません。","context.noConfirmedSummary":"確定したトピック要約はまだありません。","context.noMatchingSignals":"一致した手がかりはまだ保存されていません。","context.noEarlierWork":"関連する以前の作業はありません","context.preferredFolder":"このフォルダでは、今このトピックが優先されています。","context.whySuggested":"Footprint が同じトピックかもしれないと考える理由:","context.linkTopic":"このトピックに紐付ける","context.keepSeparate":"別のままにする","context.startNewTopic":"新しいトピックを作る","context.noSuggestedTopics":"この作業記録には候補トピックがありません。","context.latestRelatedWork":"最新の関連作業","context.showBroaderPattern":"より広いパターンを見る","context.showThisProblem":"この問題だけを見る","context.noConversation":"会話はまだ記録されていません。","context.noTimeline":"手順の記録はまだありません。","context.noNarratives":"読みやすい要約はまだ読み込まれていません。","context.noDecisions":"主要な判断はまだ読み込まれていません。","context.noArtifacts":"補足情報はまだ読み込まれていません。","context.nothingUrgent":"今すぐ対応が必要な項目はまだ見つかっていません。","context.noSimilarPastWork":"この作業記録に似た過去の作業はまだありません。","context.noHighlights":"まだ目立つ抜粋はありません。","context.relatedIssues":"関連する問題","context.broaderPattern":"より広いパターン","context.otherRelatedRecords":"他の関連作業記録","context.moreRelatedRecords":"さらに {{count}} 件の関連作業記録","context.noOverviewReady":"まだ要約は準備されていません。","context.latestFailed":"最新の関連作業は問題付きで終わりました。","context.latestCompleted":"最新の関連作業は正常に終わりました。","context.latestStopped":"最新の関連作業は途中で止まりました。","context.mostRecentIssue":"最新の問題: {{value}}","context.stillBlockingLine":"まだ止まっていること: {{value}}","context.packageChanges":"最近のパッケージや設定変更: {{value}}","context.repeatedTroubleLine":"繰り返し出ている問題: {{value}}","context.retryLoop":"何度もやり直している箇所: {{value}}","context.nothingBlocking":"今この流れを止めていることはありません。","context.quickCheck":"これは明確なタスクというより、簡単なツール確認や設定確認に見えます。","context.mainGoal":"主な目的: {{value}}","context.commandsObserved":"{{count}} 個のコマンドが実行されました。","context.testsObserved":"{{count}} 回のテスト実行が記録されました。","context.problemSingle":"この作業中に問題が 1 つ見つかりました。","context.problemPlural":"この作業中に {{count}} 個の問題が見つかりました。","context.repeatedTrouble":"繰り返し起きている問題: {{value}}","context.onlyHost":"{{host}} だけ見る","context.resultsHere":"検索結果はここに表示されます。","context.openShortSummaryBroader":"より広い要約を開く","session.action.openSession":"作業記録 {{label}} を開く","session.action.refreshSummaryFor":"{{label}} の要約を更新","session.action.stillInProgress":"{{label}} はまだ進行中です","session.action.openMatchingSession":"一致した作業 {{label}} を開く","session.action.onlyHostAria":"{{host}} の作業だけを見る","session.action.showBroaderPatternAria":"より広いパターン {{label}} を表示","session.action.showThisProblemAria":"問題 {{label}} を表示","session.action.openLatestSessionAria":"最新の作業 {{label}} を開く","session.action.searchForAria":"{{label}} を検索","session.action.loadBroaderSummaryAria":"{{label}} の広い要約を読み込む","session.action.loadSummaryAria":"{{label}} の要約を読み込む","session.action.openLatestRelatedAria":"最新の関連作業 {{label}} を開く","session.action.linkTopicAria":"トピック {{label}} に紐付ける","session.action.keepSeparateAria":"{{label}} を別トピックとして保つ","session.action.startNewTopicAria":"新しいトピック {{label}} を始める","session.action.openLatestWorkAria":"{{label}} の最新作業を開く","session.detail.subtitle":"{{label}} · {{status}} · {{host}} · 開始 {{startedAt}}","session.detail.meta.aiHelper":"AI アシスタント","session.detail.meta.currentState":"現在の状態","session.detail.meta.started":"開始","session.detail.meta.finished":"終了","session.detail.meta.conversation":"これまでの会話","session.detail.meta.timeline":"自動アクティビティログ","session.detail.meta.supporting":"補足情報","session.detail.meta.related":"関連する以前の作業","session.detail.meta.relatedNone":"関連する以前の作業はまだありません","session.detail.meta.relatedSummary":"{{patterns}} · {{blockers}} · {{regressed}}","session.detail.meta.overview":"簡単な概要","session.detail.meta.ready":"準備完了","session.detail.meta.needsRefresh":"更新が必要","session.detail.meta.workedIn":"作業フォルダ","session.detail.meta.pathNote":"完全なフォルダパスはホバーで確認できます。","session.detail.context.none":"確定したトピックはまだありません","session.detail.context.openRecord":"保存された作業記録を開くと、長く続くトピックに属するか確認できます。","session.detail.context.confirmationRequired":"十分な手がかりがあるときだけ Footprint はトピック候補を出し、必ず確認を待ちます。","session.detail.context.noOtherTopics":"今のところ他の候補トピックはありません。","session.detail.context.checking":"この作業が既存トピックに入るか確認しています...","session.detail.context.loadingConfirmed":"確定済みトピックの要約を読み込み中...","session.detail.context.loadingCandidatesSummary":"関連しそうなトピックを集めています。","session.detail.context.loadingCandidates":"候補トピックを読み込み中...","session.detail.context.alreadyLinked":"この作業はすでに「{{label}}」の一部です。続ける前にここから確認してください。","session.detail.context.reviewSuggestions":"まだトピックは確定していません。紐付ける前に下の候補を確認してください。","session.detail.context.notLinked":"この作業はまだトピックに紐付いていません。","session.detail.context.noSuggestions":"この作業に対する他のトピック候補はありません。","session.detail.context.suggestionCount":"{{count}} 件の候補トピックがあります。本当に一致するものだけ紐付けてください。","session.detail.context.linked":"作業をトピック {{label}} に紐付けました。","session.detail.context.createdFromRelated":"関連する作業から正式なトピック {{label}} を作成しました。","session.detail.context.rejected":"候補トピック {{label}} を却下しました。","session.detail.context.moved":"作業を {{label}} に移動しました。","session.detail.context.preferred":"{{label}} をこの作業フォルダの優先トピックに設定しました。","session.detail.context.newContext":"新しいトピック","session.detail.context.refreshError":"トピック確認を更新できませんでした。","session.detail.scope.exportingBroader":"より広い要約を ZIP に書き出し中...","session.detail.scope.exportingPickup":"引き継ぎメモを ZIP に書き出し中...","session.detail.scope.exportBroader":"より広い要約 ZIP を書き出す","session.detail.scope.exportPickup":"引き継ぎ ZIP を書き出す","session.detail.scope.loadFirst":"先に短い引き継ぎメモを読み込んでください。","session.detail.scope.none":"引き継ぎメモはまだ読み込まれていません。","session.detail.scope.summaryText":"{{group}} · {{label}} · {{headline}}","session.detail.scope.loadingFor":"{{label}} の短い引き継ぎメモを読み込み中...","session.detail.scope.loading":"引き継ぎメモを読み込み中...","session.detail.scope.exportSuccess":"{{kind}} 要約を書き出しました: {{filename}}","session.detail.export.success":"session バンドルを書き出しました: {{filename}}","sessionDashboard.handoff.loading":"今いちばん大事なことを整理しています...","sessionDashboard.contexts.loading":"Footprint が把握している進行中トピックを読み込み中...","session.dashboard.handoff.summary":"関連作業記録は {{sessions}} 件見つかりました。まだ注意が必要な再発阻害は {{blockers}} 件です。{{latest}}","sessionDetail.refreshContext":"もう一度確認する","sessionDetail.moveTopic":"別のトピックへ移す","sessionDetail.moveThere":"ここへ移す","sessionDetail.makeMainTopic":"このトピックをメインにする","sessionDetail.startNewTopic":"新しいトピックを始める","sessionDetail.startNewTopic.placeholder":"例: 請求メールのフォローアップ","sessionDetail.createTopic":"トピックを作る","sessionDetail.otherTopics":"この作業が属していそうな他のトピック","sessionDetail.otherTopics.summary":"十分な根拠があるときだけ、Footprint は他のトピック候補を出します。","sessionDetail.otherTopics.empty":"この作業に関連しそうな別のトピックはまだありません。","sessionDetail.pickupNote":"引き継ぎメモ","sessionDetail.pickupNote.summary":"下の関連作業から 1 件選ぶと、短い引き継ぎメモを読み込めます。","sessionDetail.pickupExport":"引き継ぎ ZIP を書き出す","sessionDetail.loadMoreNarratives":"要約をもっと見る","sessionDetail.loadMoreDecisions":"判断をもっと見る","sessionDetail.loadMoreRelatedWork":"関連作業をもっと見る","sessionDetail.loadMoreConversation":"会話をもっと見る","sessionDetail.loadMoreSteps":"手順をもっと見る","sessionDetail.loadMoreSupporting":"補足情報をもっと見る"});Object.assign(ce["zh-CN"],{"common.exportZip":"导出 ZIP","common.savedWorkRecord":"工作记录","common.savedWorkRecords":"工作记录","common.attempt":"次尝试","common.attempts":"次尝试","common.message":"条消息","common.messages":"条消息","common.step":"个步骤","common.steps":"个步骤","common.item":"项","common.items":"项","common.relatedPattern":"个相关模式","common.relatedPatterns":"个相关模式","common.activeBlocker":"个 blocker","common.activeBlockers":"个 blocker","common.returnedProblem":"个再次出现的问题","common.returnedProblems":"个再次出现的问题","status.completed":"已完成","status.failed":"需要注意","status.interrupted":"已停止","status.running":"进行中","role.user":"你","role.assistant":"AI","role.system":"系统","event.session.start":"工作开始","event.session.end":"工作结束","event.session.started":"工作开始","event.session.completed":"工作完成","event.session.failed":"工作带着问题结束","event.session.interrupted":"工作提前停止","event.message.user":"你发送了一条消息","event.message.user.submitted":"你发送了一条消息","event.message.assistant":"AI 已回复","event.message.assistant.completed":"AI 回复完成","event.command.started":"命令开始执行","event.command.completed":"命令执行完成","event.command.failed":"命令执行失败","event.test.completed":"测试执行完成","event.error.observed":"发现了一个问题","event.file.changed":"文件发生了变化","event.git.commit":"生成了一次已保存的修改","event.tool.started":"AI 工具开始运行","event.context.resolved":"找到了一个主题建议","event.context.updated":"主题关联已更新","timeline.startedHost":"已启动 {{host}}。","timeline.finishedHost":"{{host}} 已结束。","timeline.sessionStarted":"这条工作记录已开始。","timeline.sessionCompleted":"这次工作已正常完成。","timeline.sessionFailed":"这次工作带着问题结束。","timeline.sessionInterrupted":"这次工作被提前停止。","timeline.closedUnexpectedly":"{{host}} 意外关闭。","context.savedWorkRecord":"工作记录","context.bestCurrentPicture":"目前最好的理解","context.stillBlocking":"仍在阻挡","context.stillUnclear":"仍不清楚","context.currentDecisions":"当前决策","context.olderDecisions":"已被取代的旧决策","context.noBlockers":"目前没有记录到阻碍事项。","context.noQuestions":"目前没有记录到待澄清的问题。","context.noCurrentDecisions":"目前还没有记录到当前决策。","context.noReplacedDecisions":"目前还没有记录到被取代的决策。","context.noConfirmedSummary":"目前还没有已确认的主题摘要。","context.noMatchingSignals":"还没有保存到匹配信号。","context.noEarlierWork":"没有更早的相关工作","context.preferredFolder":"这个文件夹目前把这个主题当成主要主题。","context.whySuggested":"Footprint 认为这可能是同一主题的原因:","context.linkTopic":"连到这个主题","context.keepSeparate":"保持分开","context.startNewTopic":"开始新主题","context.noSuggestedTopics":"这条工作记录目前没有主题建议。","context.latestRelatedWork":"最新相关工作","context.showBroaderPattern":"看更大的模式","context.showThisProblem":"只看这个问题","context.noConversation":"目前还没有记录到对话内容。","context.noTimeline":"目前还没有记录到步骤日志。","context.noNarratives":"目前还没有载入白话摘要。","context.noDecisions":"目前还没有载入关键决策。","context.noArtifacts":"目前还没有载入补充细节。","context.nothingUrgent":"这个视图里目前没有特别紧急的事项。","context.noSimilarPastWork":"这条工作记录目前还没有相似的过去工作。","context.noHighlights":"目前还没有重点片段。","context.relatedIssues":"相关问题","context.broaderPattern":"更大的模式","context.otherRelatedRecords":"其他相关工作记录","context.moreRelatedRecords":"还有 {{count}} 条相关工作记录","context.noOverviewReady":"目前还没有可用的总览。","context.latestFailed":"最新的相关工作带着问题结束。","context.latestCompleted":"最新的相关工作正常完成。","context.latestStopped":"最新的相关工作提前停止。","context.mostRecentIssue":"最近一次问题:{{value}}","context.stillBlockingLine":"仍在阻挡:{{value}}","context.packageChanges":"最近的依赖或设置变更:{{value}}","context.repeatedTroubleLine":"这里反复出现的问题:{{value}}","context.retryLoop":"反复重试的地方:{{value}}","context.nothingBlocking":"目前没有任何事情挡住这条工作线。","context.quickCheck":"这看起来更像一次快速工具检查或设置检查,而不是描述清楚的任务。","context.mainGoal":"主要目标:{{value}}","context.commandsObserved":"执行了 {{count}} 条命令。","context.testsObserved":"记录到 {{count}} 次测试执行。","context.problemSingle":"这次工作里出现了 1 个问题。","context.problemPlural":"这次工作里出现了 {{count}} 个问题。","context.repeatedTrouble":"反复出现的问题:{{value}}","context.resultsHere":"搜索结果会显示在这里。","context.openShortSummaryBroader":"打开更大模式的摘要","session.action.openSession":"打开工作记录 {{label}}","session.action.refreshSummaryFor":"刷新 {{label}} 的摘要","session.action.stillInProgress":"{{label}} 仍在进行中","session.action.openMatchingSession":"打开匹配的工作记录 {{label}}","session.action.onlyHostAria":"只看 {{host}} 的工作","session.action.showBroaderPatternAria":"查看更大的模式 {{label}}","session.action.showThisProblemAria":"查看问题 {{label}}","session.action.openLatestSessionAria":"打开最新工作记录 {{label}}","session.action.searchForAria":"搜索 {{label}}","session.action.loadBroaderSummaryAria":"载入 {{label}} 的更大模式摘要","session.action.loadSummaryAria":"载入 {{label}} 的摘要","session.action.openLatestRelatedAria":"打开最新相关工作 {{label}}","session.action.linkTopicAria":"把 {{label}} 连到主题","session.action.keepSeparateAria":"让 {{label}} 保持分开","session.action.startNewTopicAria":"开始新主题 {{label}}","session.action.openLatestWorkAria":"打开 {{label}} 的最新工作","session.detail.subtitle":"{{label}} · {{status}} · {{host}} · 开始于 {{startedAt}}","session.detail.meta.aiHelper":"AI 助手","session.detail.meta.currentState":"当前状态","session.detail.meta.started":"开始时间","session.detail.meta.finished":"结束时间","session.detail.meta.conversation":"目前对话","session.detail.meta.timeline":"自动活动记录","session.detail.meta.supporting":"补充细节","session.detail.meta.related":"相关较早工作","session.detail.meta.relatedNone":"目前还没有相关较早工作","session.detail.meta.relatedSummary":"{{patterns}} · {{blockers}} · {{regressed}}","session.detail.meta.overview":"简单总览","session.detail.meta.ready":"已就绪","session.detail.meta.needsRefresh":"需要刷新","session.detail.meta.workedIn":"工作于","session.detail.meta.pathNote":"把鼠标停在上面即可看到完整文件夹路径。","session.detail.context.none":"目前还没有已确认的主题","session.detail.context.openRecord":"打开一条已保存的工作记录后,就能查看它是否属于某条更长的工作线。","session.detail.context.confirmationRequired":"只有信息足够时,Footprint 才会建议其他主题,而且一定会等待你的确认。","session.detail.context.noOtherTopics":"目前还没有其他可能的主题。","session.detail.context.checking":"正在检查这条工作是否属于已有主题...","session.detail.context.loadingConfirmed":"正在加载已确认主题的摘要...","session.detail.context.loadingCandidatesSummary":"Footprint 正在整理可能相关的主题。","session.detail.context.loadingCandidates":"正在加载可能相关的主题...","session.detail.context.alreadyLinked":"这条工作已经属于“{{label}}”。继续之前先从这里开始看。","session.detail.context.reviewSuggestions":"目前还没有确认主题。先看下面的建议,再决定要不要连过去。","session.detail.context.notLinked":"这条工作目前还没有连到主题。","session.detail.context.noSuggestions":"Footprint 目前没有这条工作的其他主题建议。","session.detail.context.suggestionCount":"找到 {{count}} 个可能的主题。只把真正匹配的连起来。","session.detail.context.linked":"已把工作连到主题 {{label}}。","session.detail.context.createdFromRelated":"已从相关工作创建正式主题 {{label}}。","session.detail.context.rejected":"已拒绝主题建议 {{label}}。","session.detail.context.moved":"已把工作移到 {{label}}。","session.detail.context.preferred":"已把 {{label}} 设为这个工作区的主要主题。","session.detail.context.newContext":"新主题","session.detail.context.refreshError":"无法刷新主题检查。","session.detail.scope.exportingBroader":"正在导出更大模式摘要 ZIP...","session.detail.scope.exportingPickup":"正在导出接手摘要 ZIP...","session.detail.scope.exportBroader":"导出更大模式摘要 ZIP","session.detail.scope.exportPickup":"导出接手摘要 ZIP","session.detail.scope.loadFirst":"请先载入一段简短的接手说明。","session.detail.scope.none":"目前还没有载入接手便条。","session.detail.scope.summaryText":"{{group}} · {{label}} · {{headline}}","session.detail.scope.loadingFor":"正在加载 {{label}} 的简短接手说明...","session.detail.scope.loading":"正在加载接手说明...","session.detail.scope.exportSuccess":"已导出 {{kind}} 摘要:{{filename}}","session.detail.export.success":"已导出 session 包:{{filename}}","sessionDashboard.handoff.loading":"正在整理现在最重要的事...","sessionDashboard.contexts.loading":"正在加载 Footprint 已确认的持续主题...","sessionDetail.refreshContext":"重新检查","sessionDetail.moveTopic":"移到另一个主题","sessionDetail.moveThere":"移过去","sessionDetail.makeMainTopic":"设成主要主题","sessionDetail.startNewTopic":"开始新的主题","sessionDetail.startNewTopic.placeholder":"例如:发票邮件跟进","sessionDetail.createTopic":"建立主题","sessionDetail.otherTopics":"这次工作可能属于的其他主题","sessionDetail.otherTopics.summary":"只有信息足够时,Footprint 才会建议其他主题。","sessionDetail.otherTopics.empty":"这次工作目前还没有明显相关的其他主题。","sessionDetail.pickupNote":"接手便条","sessionDetail.pickupNote.summary":"从下方的相关较早工作选一项,即可载入一段简短的接手说明。","sessionDetail.pickupExport":"导出接手 ZIP","sessionDetail.loadMoreNarratives":"显示更多摘要","sessionDetail.loadMoreDecisions":"显示更多决策","sessionDetail.loadMoreRelatedWork":"显示更多相关工作","sessionDetail.loadMoreConversation":"显示更多对话","sessionDetail.loadMoreSteps":"显示更多步骤","sessionDetail.loadMoreSupporting":"显示更多补充细节"});function Rn(e){if(!e)return $r;const t=e.trim().toLowerCase();return t==="zh-tw"||t==="zh_tw"?"zh-TW":t==="zh-cn"||t==="zh_cn"||t==="zh-hans"?"zh-CN":t.startsWith("ja")?"ja":t.startsWith("zh")?"zh-CN":t.startsWith("en")?"en":cS.includes(e)?e:$r}function dS(e,t){return t?e.replace(/\{\{(\w+)\}\}/g,(i,r)=>String(t[r]??"")):e}function Kt(){if(typeof window>"u")return $r;const e=new URLSearchParams(window.location.search).get("lang");if(e){const i=Rn(e);return window.localStorage.setItem(_r,i),i}const t=window.localStorage.getItem(_r);return Rn(t||window.navigator.language)}function mS(e){typeof window>"u"||window.localStorage.setItem(_r,e)}function pS(){return If[Kt()]}function b(e,t){const i=Kt(),r=ce[i][e]??ce.en[e]??e;return dS(r,t)}function fS(e=document){if(typeof document>"u")return;const t=Kt();document.documentElement.lang=If[t],e.querySelectorAll("[data-i18n]").forEach(r=>{const n=r.dataset.i18n;n&&(r.dataset.i18nHtml!==void 0?r.innerHTML=b(n):r.textContent=b(n))}),e.querySelectorAll("[data-i18n-placeholder]").forEach(r=>{const n=r.dataset.i18nPlaceholder;n&&(r.placeholder=b(n))}),e.querySelectorAll("[data-i18n-title]").forEach(r=>{const n=r.dataset.i18nTitle;n&&(r.title=b(n))}),e.querySelectorAll("[data-i18n-aria-label]").forEach(r=>{const n=r.dataset.i18nAriaLabel;n&&r.setAttribute("aria-label",b(n))});const i=document.getElementById("locale-select");i&&(i.value=t,i.addEventListener("change",()=>{const r=Rn(i.value);mS(r),typeof window<"u"&&window.location.reload()}))}function hS(){return typeof document>"u"||fS(document),Kt()}const vS={completed:"completed",failed:"failed",interrupted:"interrupted",running:"running"},gS={completed:"Done",failed:"Needs Attention",interrupted:"Stopped",running:"In Progress"};function Ln(e,t,i){const r=b(e,i);return r===e?t:r}function Df(e){return k(e).replace(/\r?\n/g,"<br>")}function tr(e,t){return e.length===0?`<li class="muted">${k(t)}</li>`:e.map(i=>`<li>${i}</li>`).join("")}function zf(e){let t="";for(let i=0;i<e.length;i+=1){const r=e.charCodeAt(i);if(r===27){const o=e.charCodeAt(i+1);if(o===91){for(i+=2;i<e.length;){const s=e.charCodeAt(i);if(s>=64&&s<=126)break;i+=1}continue}if(o===93){for(i+=2;i<e.length;){const s=e.charCodeAt(i);if(s===7)break;if(s===27&&e.charCodeAt(i+1)===92){i+=1;break}i+=1}continue}continue}r>=0&&r<=8||r>=11&&r<=12||r>=14&&r<=31||r>=127&&r<=159||(t+=e.charAt(i))}return t}function vt(e){return zf(e).trim().length>0}function k(e){return zf(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function bS(e){return`<div class="error">${k(e)}</div>`}function yS(e){return`<div class="success">${k(e)}</div>`}function Hs(e){return vS[e]??""}function st(e){return Ln(`status.${e}`,gS[e]??_S(e))}function Re(e){return e.length>0?e.charAt(0).toUpperCase()+e.slice(1):e}function _S(e){return e.replace(/[._-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,t=>t.toUpperCase())}function Fn(e,t,i=`${t}s`){return`${e} ${e===1?t:i}`}function $S(e){return e.replace(/\b\w/g,t=>t.toUpperCase())}function sr(e){const t=e.trim();return t?/^[a-z0-9._/-]+$/i.test(t)&&!/[A-Z]/.test(t)?$S(t.replace(/[._/-]+/g," ")):t:e}function Me(e,t){const i=e.trim(),r=t?Re(t.toLowerCase()):null;if(!i)return r?Ln("context.hostWork",`${r} work`,{host:r}):b("context.untitledWork");const n=i.match(/^([a-z0-9_-]+)\s+session(?:\s*@\s*(.+))?$/i);if(n){const o=Re(n[1].toLowerCase()),s=n[2]?.trim();return s?Ln("context.hostWorkOn",`${o} work on ${sr(s)}`,{host:o,subject:sr(s)}):Ln("context.hostWork",`${o} work`,{host:o})}return sr(i)}function kS(e,t=3){const i=e.replace(/\\/g,"/"),r=i.split("/").filter(Boolean);return r.length<=t?e:`${i.startsWith("/")?"/":""}.../${r.slice(-t).join("/")}`}function xS(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e.trim())}function Ca(e,t){const i=e.trim();return!i||xS(i)?t?.trim()?b("context.topicFrom",{label:Me(t.trim())}):b("context.untitledTopic"):i}function Tf(e){return e!=="running"}function wS(e,t){return e.length===0?`<tr><td colspan="5" class="empty">${k(b("sessionDashboard.sessions.empty"))}</td></tr>`:e.map(i=>{const r=Hs(i.status),n=k(i.status),o=k(i.id),s=Me(i.label,i.host),a=k(s),l=k(t(i.startedAt)),u=Tf(i.status),c=u?"":` disabled title="${k(b("session.action.refreshSummaryDisabled"))}"`;return`
106
+ <tr>
107
+ <td>
108
+ <strong class="primary-line">${a}</strong>
109
+ <br><span class="muted secondary-line" title="${o}">${k(b("context.savedWorkRecord"))}</span>
110
+ </td>
111
+ <td>${k(Re(i.host))}</td>
112
+ <td><span class="pill ${r}">${k(st(i.status))}</span></td>
113
+ <td>${l}</td>
114
+ <td>
115
+ <div class="actions">
116
+ <button data-session-id="${o}" data-action="detail" aria-label="${k(b("session.action.openSession",{label:s}))}">${k(b("context.open"))}</button>
117
+ <button class="secondary" data-session-id="${o}" data-session-status="${n}" data-action="ingest" aria-label="${k(u?b("session.action.refreshSummaryFor",{label:s}):b("session.action.stillInProgress",{label:s}))}"${c}>${k(b(u?"context.refreshSummary":"context.inProgress"))}</button>
118
+ </div>
119
+ </td>
120
+ </tr>
121
+ `}).join("")}function SS(e,t){return tr(e.map(i=>{const r=i.snippets.map(u=>Df(u)).join("<br>"),n=k(i.sessionId),o=Me(i.label,i.host),s=k(o),a=k(i.host),l=k(Re(i.host));return`
122
+ <strong>${s}</strong>
123
+ <span class="pill ${Hs(i.status)}">${k(st(i.status))}</span>
124
+ <br><span class="muted">${l} · ${k(t(i.startedAt))}</span>
125
+ <br><span class="muted">${k(b("context.whyThisMatches"))}</span><br>${r||`<span class="muted">${k(b("context.noHighlights"))}</span>`}
126
+ <div class="actions compact">
127
+ <button data-action="detail" data-session-id="${n}" aria-label="${k(b("session.action.openMatchingSession",{label:o}))}">${k(b("context.open"))}</button>
128
+ <button class="secondary" data-action="set-host" data-host="${a}" aria-label="${k(b("session.action.onlyHostAria",{host:Re(i.host)}))}">${k(b("context.onlyHost",{host:Re(i.host)}))}</button>
129
+ </div>
130
+ `}),b("context.resultsHere"))}function IS(e,t){return tr(e.map(i=>{const r=i.sessions[0]??null,n=i.blockerState??"resolved",o=i.remediationSummary??b("session.trend.latestOutcomeFallback",{outcome:st(i.latestOutcome)}),s=i.sessions.slice(0,3).map(h=>`${k(Me(h.label,h.host))} (${k(Re(h.host))}, ${k(st(h.status))}, ${k(Fn(h.attempts,"attempt"))}, latest ${k(st(h.latestOutcome))})`).join("<br>"),a=k(i.issueKey),l=k(i.label),u=k(i.label),c=i.groupBy==="family"&&i.relatedIssueKeys.length>0?`<br><span class="muted">${k(b("context.relatedIssues"))}: ${k(i.relatedIssueKeys.join(", "))}</span>`:"",m=i.groupBy==="family"?`<button class="secondary" data-action="focus-family" data-query="${u}" aria-label="${k(b("session.action.showBroaderPatternAria",{label:i.label}))}">${k(b("context.showBroaderPattern"))}</button>`:`<button class="secondary" data-action="set-issue-key" data-issue-key="${a}" aria-label="${k(b("session.action.showThisProblemAria",{label:i.label}))}">${k(b("context.showThisProblem"))}</button>`,p=r?`<button data-action="detail" data-session-id="${k(r.sessionId)}" aria-label="${k(b("session.action.openLatestSessionAria",{label:Me(r.label,r.host)}))}">${k(b("context.openLatest"))}</button>`:"";return`
131
+ <strong>${l}</strong>
132
+ <br><span class="muted">${k(b(n==="active"?"session.trend.blocking":"session.trend.notBlocking"))} · ${k(b("session.trend.lastSeen",{value:t(i.lastSeenAt)}))}</span>
133
+ <br>${k(b("session.trend.seenIn",{sessions:Fn(i.sessionCount,b("common.savedWorkRecord"),b("common.savedWorkRecords")),attempts:Fn(i.attemptCount,b("common.attempt"),b("common.attempts"))}))}
134
+ <br><span class="muted">${k(b("context.latestOutcome"))}: ${k(st(i.latestOutcome))} · ${k(o)}</span>
135
+ <br><span class="muted">${k(b("context.seenWith"))}: ${k(i.hosts.map(Re).join(", ")||b("common.notAvailable"))}</span>
136
+ ${c}
137
+ ${s?`<br><span class="muted">${k(b("context.recentRelatedWork"))}:</span><br>${s}`:""}
138
+ <div class="actions compact">
139
+ ${p}
140
+ ${m}
141
+ <button class="secondary" data-action="set-query" data-query="${u}" aria-label="${k(b("session.action.searchForAria",{label:i.label}))}">${k(b("context.findRelated"))}</button>
142
+ </div>
143
+ `}),b("sessionDashboard.trends.empty"))}function DS(e,t,i){const r=[],n=e.blockers.filter(vt),o=(e.recoveries??[]).filter(vt),s=e.followUps.filter(vt),a=e.recentSessions.filter(l=>vt(l.label)||vt(l.status)||vt(l.host));return n.length>0&&r.push(`
144
+ <strong>${k(b("context.needsAttention"))}</strong>
145
+ <br>${n.map(l=>k(l)).join("<br>")}
146
+ `),o.length>0&&r.push(`
147
+ <strong>${k(b("context.recentlyImproved"))}</strong>
148
+ <br>${o.map(l=>k(l)).join("<br>")}
149
+ `),s.length>0&&r.push(`
150
+ <strong>${k(b("context.openQuestions"))}</strong>
151
+ <br>${s.map(l=>Df(l)).join("<br>")}
152
+ `),r.push(...a.map(l=>{const u=k(l.id),c=k(Me(l.label,l.host)),m=k(Re(l.host));return`
153
+ <strong>${c}</strong>
154
+ <span class="pill ${Hs(l.status)}">${k(st(l.status))}</span>
155
+ <br><span class="muted">${m} · ${k(t(l.startedAt))}</span>
156
+ <div class="actions compact">
157
+ <button data-action="detail" data-session-id="${u}" aria-label="${k(b("session.action.openSession",{label:Me(l.label,l.host)}))}">${k(b("context.open"))}</button>
158
+ ${`<button class="secondary" data-action="set-host" data-host="${k(l.host)}" aria-label="${k(b("session.action.onlyHostAria",{host:Re(l.host)}))}">${k(b("context.onlyHost",{host:Re(l.host)}))}</button>`}
159
+ </div>
160
+ `})),tr(r,b("context.nothingUrgent"))}function zS(e,t){return tr(e.map(i=>{const r=k(Ca(i.label,i.latestSessionLabel)),n=k(i.latestSessionId),o=k(Me(i.latestSessionLabel));return`
161
+ <strong>${r}</strong>
162
+ <br><span class="muted">${k(Fn(i.sessionCount,b("common.savedWorkRecord"),b("common.savedWorkRecords")))} ${k(b("session.context.inTopic"))} · ${k(b("session.context.latest"))} ${k(t(i.latestStartedAt))}</span>
163
+ <br><span class="muted">${k(b("context.latestRelatedWork"))}: ${o}</span>
164
+ <br><span class="muted path-text" title="${k(i.workspaceKey)}">${k(b("session.context.folder"))}: ${k(kS(i.workspaceKey))}</span>
165
+ <div class="actions compact">
166
+ <button data-action="detail" data-session-id="${n}" aria-label="${k(b("session.action.openLatestWorkAria",{label:Ca(i.label,i.latestSessionLabel)}))}">${k(b("context.openLatestWork"))}</button>
167
+ </div>
168
+ `}),b("context.noOngoingTopics"))}function TS(e,t=document,i=window){const r=i.atob(e.base64Data),n=new Uint8Array(r.length);for(let l=0;l<r.length;l+=1)n[l]=r.charCodeAt(l);const o=new Blob([n],{type:e.mimeType}),s=i.URL.createObjectURL(o),a=t.createElement("a");a.href=s,a.download=e.filename,a.style.display="none",t.body.append(a),a.click(),a.remove(),i.URL.revokeObjectURL(s)}const OS=8,PS=6,NS=6;function jn(e){return!!(e&&typeof e=="object"&&Array.isArray(e.sessions))}function ES(e){return!!(e&&typeof e=="object"&&typeof e.id=="string"&&typeof e.label=="string"&&typeof e.workspaceKey=="string"&&typeof e.latestSessionId=="string"&&typeof e.latestSessionLabel=="string"&&typeof e.latestStartedAt=="string"&&Array.isArray(e.hosts)&&Array.isArray(e.statuses)&&Array.isArray(e.signals))}function ar(e){return!!(e&&typeof e=="object"&&Array.isArray(e.contexts)&&e.contexts.every(ES)&&typeof e.total=="number")}function An(e){return!!(e&&typeof e=="object"&&Array.isArray(e.results))}function Cn(e){return!!(e&&typeof e=="object"&&typeof e.summary?.totalTrends=="number"&&Array.isArray(e.trends))}function lr(e){return!!(e&&typeof e=="object"&&typeof e.summary?.headline=="string"&&Array.isArray(e.recentSessions))}function gt(e){try{return new Date(e).toLocaleString(pS())}catch{return e}}function oe(e,t){return e.getElementById(t)?.value??""}function Ct(e,t,i){const r=e.getElementById(t);r&&(r.value=i)}function Ae(e){return{query:oe(e,"query-filter").trim(),issueKey:oe(e,"issue-key-filter").trim(),host:oe(e,"host-filter"),status:oe(e,"status-filter"),groupBy:oe(e,"group-by-filter")||"issue"}}function qe(e,t){t.query!==void 0&&Ct(e,"query-filter",t.query),t.issueKey!==void 0&&Ct(e,"issue-key-filter",t.issueKey),t.host!==void 0&&Ct(e,"host-filter",t.host),t.status!==void 0&&Ct(e,"status-filter",t.status),t.groupBy!==void 0&&Ct(e,"group-by-filter",t.groupBy)}function bt(e){const t=e.query||void 0,i=e.issueKey||void 0,r=e.host||void 0,n=e.status||void 0;return{sessionFilters:{query:t,issueKey:i,host:r,status:n},trendFilters:{query:t,issueKey:i,host:r,status:n,groupBy:e.groupBy},handoffFilters:{query:t,issueKey:i,host:r,status:n,groupBy:e.groupBy},searchFilters:{query:t,host:r,status:n},exportFilters:{query:t,issueKey:i,host:r,status:n,groupBy:e.groupBy}}}function Je(e){return JSON.stringify(e)}function ur(e,t,i,r){const n=e.getElementById(t);n&&(n.disabled=i,n.textContent=r.busy)}function xe(e,t){const i=e.getElementById(t.id);if(!i)return;const r=t.loaded<t.total;i.hidden=!r&&!t.loading,i.disabled=t.loading||!r,i.textContent=t.loading?t.busyLabel:t.idleLabel}function ZS(e,t=document,i=window,r=n=>TS(n,t,i)){let n=!1,o=!1,s=!1,a=!1,l=!1,u=0,c=0,m=Je(Ae(t));const p={items:[],page:{limit:OS,total:0,loaded:0,loading:!1}},h={items:[],page:{limit:NS,total:0,loaded:0,loading:!1}},S={items:[],total:0},D={report:null,page:{limit:PS,total:0,loaded:0,loading:!1}};function ze(){p.items=[],p.page.total=0,p.page.loaded=0,p.page.loading=!1,h.items=[],h.page.total=0,h.page.loaded=0,h.page.loading=!1,D.report=null,D.page.total=0,D.page.loaded=0,D.page.loading=!1}function je(y,T="replace"){n=!0;const U=y.total??y.sessions.length;p.items=T==="append"?[...p.items,...y.sessions]:[...y.sessions],p.page.total=U,p.page.loaded=p.items.length,Of(p.items,U)}function F(y){o=!0,S.items=[...y.contexts],S.total=y.total,Nf(S.items,S.total)}function E(y,T="replace"){a=!0;const U=y.total??y.results.length;h.items=T==="append"?[...h.items,...y.results]:[...y.results],h.page.total=U,h.page.loaded=h.items.length,Pf(h.items,U)}function R(y,T="replace"){s=!0;const U=T==="append"&&D.report?[...D.report.trends,...y.trends]:[...y.trends];D.report={...y,trends:U},D.page.total=y.total??y.summary.totalTrends,D.page.loaded=U.length,Ef(D.report)}async function H(y){u+=1;try{return await e.callServerTool(y)}finally{u-=1}}function jt(y){const T=t.getElementById("error");T&&(T.innerHTML=bS(y))}function nr(y){const T=t.getElementById("error");T&&(T.innerHTML=yS(y))}function Of(y,T){const U=t.getElementById("summary"),A=t.getElementById("rows"),ue=t.getElementById("error");!U||!A||(ue&&(ue.innerHTML=""),U.textContent=T===0?b("session.dashboard.summary.noWork"):b("session.dashboard.summary.showingWork",{visible:y.length,total:T}),A.innerHTML=wS(y,gt),xe(t,{id:"load-more-sessions",loaded:p.page.loaded,total:p.page.total,loading:p.page.loading,idleLabel:b("sessionDashboard.loadMoreSessions"),busyLabel:b("session.dashboard.loading.work")}))}function Pf(y,T){const U=t.getElementById("search-summary"),A=t.getElementById("search-results");!U||!A||(U.textContent=T===0?b("session.dashboard.search.noMatches"):b("session.dashboard.search.showingMatches",{visible:y.length,total:T}),A.innerHTML=SS(y,gt),xe(t,{id:"load-more-search",loaded:h.page.loaded,total:h.page.total,loading:h.page.loading,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")}))}function Nf(y,T){const U=t.getElementById("context-summary"),A=t.getElementById("context-results");!U||!A||(U.textContent=T===0?b("session.dashboard.context.noTopics"):b("session.dashboard.context.showingTopics",{visible:y.length,total:T}),A.innerHTML=zS(y,gt))}function Vs(){const y=t.getElementById("search-summary"),T=t.getElementById("search-results");!y||!T||(y.textContent=b("session.dashboard.search.placeholderSummary"),T.innerHTML=`<li class="muted">${b("sessionDashboard.search.empty")}</li>`,h.page.total=0,h.page.loaded=0,h.page.loading=!1,xe(t,{id:"load-more-search",loaded:0,total:0,loading:!1,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")}))}function Ef(y){const T=t.getElementById("trend-summary"),U=t.getElementById("trend-results");if(!T||!U)return;const A=y.summary.activeBlockers??0,ue=y.summary.recoveredTrends??0,G=y.summary.regressedTrends??0,ae=y.total??y.summary.totalTrends;T.textContent=ae===0?b("session.dashboard.trends.none"):b("session.dashboard.trends.summary",{visible:y.trends.length,total:ae,active:A,recovered:ue,regressed:G,grouping:y.summary.groupBy==="family"?b("session.dashboard.trends.group.family"):b("session.dashboard.trends.group.issue")}),U.innerHTML=IS(y.trends,gt),xe(t,{id:"load-more-trends",loaded:D.page.loaded,total:D.page.total,loading:D.page.loading,idleLabel:b("sessionDashboard.loadMoreTrends"),busyLabel:b("session.dashboard.loading.trends")})}function ir(y){l=!0;const T=t.getElementById("handoff-summary"),U=t.getElementById("handoff-results");if(!T||!U)return;const A=y.summary.latestSessionLabel&&y.summary.latestStartedAt?` ${b("session.dashboard.handoff.latest",{label:Me(y.summary.latestSessionLabel),startedAt:gt(y.summary.latestStartedAt)})}`:y.summary.latestSessionLabel?` ${b("session.dashboard.handoff.latestNoTime",{label:Me(y.summary.latestSessionLabel)})}`:"";T.textContent=y.summary.matchingSessions===0?b("context.nothingUrgent"):b("session.dashboard.handoff.summary",{sessions:y.summary.matchingSessions,blockers:y.summary.blockingTrends,latest:A.trim()}),U.innerHTML=DS({blockers:y.blockers,recoveries:y.recoveries,followUps:y.followUps,recentSessions:y.recentSessions},gt)}e.ontoolresult=y=>{if(!(u>0)){if(jn(y.structuredContent)){n=!0,qe(t,{query:y.structuredContent.filters?.query??oe(t,"query-filter"),issueKey:y.structuredContent.filters?.issueKey??oe(t,"issue-key-filter"),host:y.structuredContent.filters?.host??oe(t,"host-filter"),status:y.structuredContent.filters?.status??oe(t,"status-filter")}),m=Je(Ae(t)),je(y.structuredContent,"replace");return}if(ar(y.structuredContent)){o=!0,F(y.structuredContent);return}if(Cn(y.structuredContent)){s=!0,qe(t,{query:y.structuredContent.filters?.query??oe(t,"query-filter"),issueKey:y.structuredContent.filters?.issueKey??oe(t,"issue-key-filter"),host:y.structuredContent.filters?.host??oe(t,"host-filter"),status:y.structuredContent.filters?.status??oe(t,"status-filter"),groupBy:y.structuredContent.filters?.groupBy??oe(t,"group-by-filter")}),m=Je(Ae(t)),R(y.structuredContent,"replace");return}if(lr(y.structuredContent)){l=!0,qe(t,{query:y.structuredContent.filters?.query??oe(t,"query-filter"),issueKey:y.structuredContent.filters?.issueKey??oe(t,"issue-key-filter"),host:y.structuredContent.filters?.host??oe(t,"host-filter"),status:y.structuredContent.filters?.status??oe(t,"status-filter"),groupBy:y.structuredContent.filters?.groupBy??oe(t,"group-by-filter")}),m=Je(Ae(t)),ir(y.structuredContent);return}An(y.structuredContent)&&(a=!0,qe(t,{query:y.structuredContent.query??oe(t,"query-filter"),host:y.structuredContent.filters?.host??oe(t,"host-filter"),status:y.structuredContent.filters?.status??oe(t,"status-filter")}),m=Je(Ae(t)),E(y.structuredContent,"replace"))}};async function Le(){const y=Ae(t);m=Je(y),c+=1;const T=c;ze();const{sessionFilters:U,trendFilters:A,handoffFilters:ue,searchFilters:G}=bt(y);ur(t,"load-more-sessions",!0,{idle:b("sessionDashboard.loadMoreSessions"),busy:b("session.dashboard.loading.work")}),ur(t,"load-more-trends",!0,{idle:b("sessionDashboard.loadMoreTrends"),busy:b("session.dashboard.loading.trends")}),p.page.loading=!0,D.page.loading=!0;const ae=[H({name:"list-contexts",arguments:{}}).then(ye=>{T===c&&ar(ye.structuredContent)&&F(ye.structuredContent)}),H({name:"list-sessions",arguments:{...U,limit:p.page.limit,offset:0}}).then(ye=>{T===c&&jn(ye.structuredContent)&&je(ye.structuredContent,"replace")}),H({name:"get-history-trends",arguments:{...A,limit:D.page.limit,offset:0}}).then(ye=>{T===c&&Cn(ye.structuredContent)&&R(ye.structuredContent,"replace")}),H({name:"get-history-handoff",arguments:ue}).then(ye=>{T===c&&lr(ye.structuredContent)&&ir(ye.structuredContent)})];y.query?(ur(t,"load-more-search",!0,{idle:b("sessionDashboard.loadMoreSearch"),busy:b("session.dashboard.loading.results")}),h.page.loading=!0,ae.push(H({name:"search-history",arguments:{...G,limit:h.page.limit,offset:0}}).then(ye=>{T===c&&An(ye.structuredContent)&&E(ye.structuredContent,"replace")}))):(a=!1,Vs());try{await Promise.all(ae)}finally{T===c&&(p.page.loading=!1,D.page.loading=!1,h.page.loading=!1,xe(t,{id:"load-more-sessions",loaded:p.page.loaded,total:p.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreSessions"),busyLabel:b("session.dashboard.loading.work")}),xe(t,{id:"load-more-trends",loaded:D.page.loaded,total:D.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreTrends"),busyLabel:b("session.dashboard.loading.trends")}),xe(t,{id:"load-more-search",loaded:h.page.loaded,total:h.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")}))}}const Ks=async y=>{const T=y.target?.closest("[data-action]");if(!T)return;const U=T.getAttribute("data-action");if(U)try{if(U==="detail"){const A=T.getAttribute("data-session-id");if(!A)return;await e.callServerTool({name:"get-session",arguments:{id:A}});return}if(U==="ingest"){const A=T.getAttribute("data-session-id");if(!A)return;const ue=T.getAttribute("data-session-status")??"";if(!Tf(ue)){jt(b("session.reingest.notReady"));return}await e.callServerTool({name:"reingest-session",arguments:{id:A}}),await Le();return}if(U==="set-query"){qe(t,{query:T.getAttribute("data-query")??""}),await Le();return}if(U==="set-issue-key"){qe(t,{issueKey:T.getAttribute("data-issue-key")??""}),await Le();return}if(U==="focus-family"){qe(t,{query:T.getAttribute("data-query")??"",issueKey:"",groupBy:"family"}),await Le();return}if(U==="set-host"){qe(t,{host:T.getAttribute("data-host")??""}),await Le();return}if(U==="clear-filters"){qe(t,{query:"",issueKey:"",host:"",status:"",groupBy:"issue"}),await Le();return}if(U==="export-filtered"){const A=Ae(t),{exportFilters:ue}=bt(A),ae=(await e.callServerTool({name:"export-sessions",arguments:{...ue,outputMode:"base64"}})).structuredContent;if(!ae?.base64Data||!ae.filename)throw new Error(b("session.export.noArchive"));r({filename:ae.filename,base64Data:ae.base64Data,mimeType:"application/zip"}),nr(b("session.dashboard.export.success",{count:ae.sessionCount??0,filename:ae.filename??""}));return}if(U==="load-more-sessions"){if(p.page.loading)return;const A=Ae(t);if(Je(A)!==m){await Le();return}const ue=c;p.page.loading=!0,xe(t,{id:"load-more-sessions",loaded:p.page.loaded,total:p.page.total,loading:!0,idleLabel:b("sessionDashboard.loadMoreSessions"),busyLabel:b("session.dashboard.loading.work")});const{sessionFilters:G}=bt(A),ae=await H({name:"list-sessions",arguments:{...G,limit:p.page.limit,offset:p.page.loaded}});if(ue!==c)return;jn(ae.structuredContent)&&je(ae.structuredContent,"append"),p.page.loading=!1,xe(t,{id:"load-more-sessions",loaded:p.page.loaded,total:p.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreSessions"),busyLabel:b("session.dashboard.loading.work")});return}if(U==="load-more-trends"){if(D.page.loading)return;const A=Ae(t);if(Je(A)!==m){await Le();return}const ue=c;D.page.loading=!0,xe(t,{id:"load-more-trends",loaded:D.page.loaded,total:D.page.total,loading:!0,idleLabel:b("sessionDashboard.loadMoreTrends"),busyLabel:b("session.dashboard.loading.trends")});const{trendFilters:G}=bt(A),ae=await H({name:"get-history-trends",arguments:{...G,limit:D.page.limit,offset:D.page.loaded}});if(ue!==c)return;Cn(ae.structuredContent)&&R(ae.structuredContent,"append"),D.page.loading=!1,xe(t,{id:"load-more-trends",loaded:D.page.loaded,total:D.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreTrends"),busyLabel:b("session.dashboard.loading.trends")});return}if(U==="load-more-search"){if(h.page.loading)return;const A=Ae(t);if(!A.query)return;if(Je(A)!==m){await Le();return}const ue=c;h.page.loading=!0,xe(t,{id:"load-more-search",loaded:h.page.loaded,total:h.page.total,loading:!0,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")});const{searchFilters:G}=bt(A),ae=await H({name:"search-history",arguments:{...G,limit:h.page.limit,offset:h.page.loaded}});if(ue!==c)return;An(ae.structuredContent)&&E(ae.structuredContent,"append"),h.page.loading=!1,xe(t,{id:"load-more-search",loaded:h.page.loaded,total:h.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")})}}catch(A){jt(A instanceof Error?A.message:b("session.dashboard.error.action"))}},Gs=async y=>{y.preventDefault();try{await Le()}catch(T){jt(T instanceof Error?T.message:b("session.dashboard.error.filters"))}};return t.addEventListener("click",Ks),t.getElementById("filter-form")?.addEventListener("submit",Gs),e.connect().then(async()=>{const y=Ae(t),{sessionFilters:T,trendFilters:U,handoffFilters:A,searchFilters:ue}=bt(y);if(!o){const G=await H({name:"list-contexts",arguments:{}});ar(G.structuredContent)&&F(G.structuredContent)}if(!n){const G=await H({name:"list-sessions",arguments:{...T,limit:p.page.limit,offset:0}});jn(G.structuredContent)&&je(G.structuredContent,"replace")}if(!s){const G=await H({name:"get-history-trends",arguments:{...U,limit:D.page.limit,offset:0}});Cn(G.structuredContent)&&R(G.structuredContent,"replace")}if(!l){const G=await H({name:"get-history-handoff",arguments:A});lr(G.structuredContent)&&ir(G.structuredContent)}if(!a)if(y.query){const G=await H({name:"search-history",arguments:{...ue,limit:h.page.limit,offset:0}});An(G.structuredContent)&&E(G.structuredContent,"replace")}else Vs()}).catch(y=>{jt(y instanceof Error?y.message:b("session.dashboard.error.connect"))}),()=>{t.removeEventListener("click",Ks),t.getElementById("filter-form")?.removeEventListener("submit",Gs)}}const US=new uS({name:"Footprint Session Dashboard",version:"1.0.0"});hS();ZS(US);</script>
169
+ <style rel="stylesheet" crossorigin>@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-mono/style.css";:root{color-scheme:light;--ds-gray-100: #FAFAFA;--ds-gray-200: #EAEAEA;--ds-gray-300: #C9C9C9;--ds-gray-400: #999999;--ds-gray-500: #888888;--ds-gray-600: #666666;--ds-gray-700: #444444;--ds-gray-800: #333333;--ds-gray-900: #1A1A1A;--ds-gray-1000: #000000;--ds-background-100: #FFFFFF;--ds-background-200: #FAFAFA;--ds-blue-100: #EBF5FF;--ds-blue-700: #0070F3;--ds-blue-800: #0060D1;--ds-red-100: #FFF0F0;--ds-red-700: #EE0000;--ds-red-800: #CC0000;--ds-green-100: #EFFBF4;--ds-green-700: #0A7B3E;--ds-amber-100: #FFF7E0;--ds-amber-700: #AB6400;--ds-shadow-sm: 0 1px 2px rgba(0,0,0,.04);--ds-shadow-md: 0 2px 8px rgba(0,0,0,.06);--ds-shadow-lg: 0 8px 30px rgba(0,0,0,.08);--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 12px;--ds-radius-round: 999px;--sp-xs: .25rem;--sp-sm: .5rem;--sp-md: 1rem;--sp-lg: 1.25rem;--sp-xl: 2rem;--sp-2xl: 3rem;--sp-3xl: 4rem;--bg: var(--ds-background-200);--bg-soft: var(--ds-gray-100);--surface: var(--ds-background-100);--surface-strong: var(--ds-background-100);--surface-muted: rgba(255,255,255,.75);--ink: var(--ds-gray-1000);--ink-soft: var(--ds-gray-700);--muted: var(--ds-gray-600);--muted-soft: var(--ds-gray-500);--line: var(--ds-gray-200);--line-strong: var(--ds-gray-300);--brand: var(--ds-blue-700);--brand-strong: var(--ds-blue-800);--brand-soft: var(--ds-blue-100);--brand-glow: rgba(0,112,243,.18);--accent: var(--ds-amber-700);--accent-soft: var(--ds-amber-100);--danger: var(--ds-red-700);--danger-soft: var(--ds-red-100);--success: var(--ds-green-700);--success-soft: var(--ds-green-100);--info: var(--ds-blue-700);--info-soft: var(--ds-blue-100);--shadow: var(--ds-shadow-md);--shadow-soft: var(--ds-shadow-sm);--shadow-lg: var(--ds-shadow-lg);--radius-xl: var(--ds-radius-xl);--radius-lg: var(--ds-radius-lg);--radius-md: var(--ds-radius-md);--radius-sm: var(--ds-radius-sm)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:var(--sp-2xl);font-family:Geist Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans,sans-serif;font-size:.875rem;line-height:1.6;color:var(--ds-gray-900);background:var(--ds-background-200);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.shell,.container{width:min(100%,1200px);margin:0 auto}.shell,.container{display:grid;gap:var(--sp-xl)}h1,h2,h3{margin:0;font-family:Geist Sans,-apple-system,sans-serif;letter-spacing:-.02em;color:var(--ds-gray-1000)}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}.page-hero,.page-summary,.card,.stat-card,.recent-activity,.timeline-section,.tag-controls,.content-section,.metadata-card,.export-section,.file-info,.git-info,.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}.card:hover,.recent-activity:hover,.timeline-section:hover,.content-section:hover,.export-section:hover{border-color:var(--ds-gray-300)}.page-hero{padding:var(--sp-2xl)}.page-hero-toolbar{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.page-kicker,.demo-banner{display:inline-flex;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-600);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.demo-banner{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.locale-switch{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0;border-radius:0;background:transparent;border:none;margin-left:auto}.locale-switch label{margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-gray-500);white-space:nowrap}.locale-switch select{height:2rem;min-width:120px;padding:0 1.75rem 0 .625rem;font-size:.75rem;border-radius:var(--ds-radius-md)}.page-title{margin:0 0 var(--sp-sm);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ds-gray-1000)}.page-title .icon{color:var(--ds-gray-500)}.page-subtitle,.summary{margin:0;font-size:.9375rem;color:var(--ds-gray-600);line-height:1.6}.page-note{margin:var(--sp-lg) 0 0;padding:var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-100);color:var(--ds-gray-600);line-height:1.65;font-size:.875rem}.page-note strong,.summary strong{color:var(--ds-gray-1000)}.muted,.card-subtitle,.meta-note,.export-info,.search-results-info,.file-stats,.last-updated,.metadata-help{color:var(--ds-gray-600);line-height:1.6}.card-subtitle{margin:.25rem 0 0;font-size:.875rem}.card,.content-section,.export-section,.recent-activity,.timeline-section,.tag-controls{overflow:hidden;min-width:0}.card{padding:0}.meta .card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) 0}.card-header+table,.card-header+.card-body,.content-header+.content-body,.section-header+.section-body,.activity-header+.activity-list,.timeline-header+.timeline-container{margin-top:var(--sp-md)}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-xl)}.card-body-flush{padding:var(--sp-md) 0 0}.card-section{padding:var(--sp-xl);border-top:1px solid var(--ds-gray-200)}.card-footer,.panel-actions{padding:0 var(--sp-xl) var(--sp-xl)}.dashboard-grid,.split,.stats,.meta,.metadata-grid,.filters,.options-grid{display:grid;gap:var(--sp-xl)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-card{grid-column:span 3}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta,.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filters>.actions{grid-column:1 / -1}.stat-card,.metadata-card{padding:var(--sp-xl);position:relative;overflow:hidden;transition:border-color .15s ease}.stat-card:hover{border-color:var(--ds-gray-300)}.stat-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.2;color:var(--ds-gray-1000);overflow-wrap:anywhere;letter-spacing:-.02em}.meta-value,.metadata-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--ds-gray-1000);overflow-wrap:anywhere}.stat-label,.metadata-label,.meta strong,.field label,.option-label,.tag-filter-label{display:block;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600;color:var(--ds-gray-500);text-transform:uppercase;letter-spacing:.08em}.meta .card strong{display:block}.field{display:grid;gap:var(--sp-sm);min-width:0}.field input,.search-input,input[type=text],select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--ds-gray-300);border-radius:var(--ds-radius-md);background:var(--ds-background-100);color:var(--ds-gray-1000);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;font-size:.75rem;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;cursor:pointer}.field input::placeholder,.field select::placeholder,.search-input::placeholder,input[type=text]::placeholder{color:var(--ds-gray-400)}.field input:focus,.field select:focus,.search-input:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ds-gray-1000);box-shadow:0 0 0 1px var(--ds-gray-1000)}.option-group{display:grid;gap:var(--sp-md)}.checkbox-group{display:flex;align-items:center;gap:var(--sp-sm)}.actions,.timeline-controls,.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}.actions{row-gap:var(--sp-sm)}button,.btn,.batch-btn,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 .875rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-gray-200);background:var(--ds-background-100);color:var(--ds-gray-900);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,.btn:hover,.batch-btn:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover,.modal-close:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.btn-primary,.batch-btn.export,button[type=submit]{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.btn-primary:hover,.batch-btn.export:hover,button[type=submit]:hover{background:var(--ds-gray-800);border-color:var(--ds-gray-800)}button.secondary,.btn-secondary,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn{border-color:var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-900)}button.secondary:hover,.btn-secondary:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.timeline-btn.active,.filter-mode-btn.active{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.batch-btn.delete{background:var(--ds-red-700);border-color:var(--ds-red-700);color:#fff}.batch-btn.delete:hover{background:var(--ds-red-800);border-color:var(--ds-red-800)}button:disabled,.btn:disabled,.batch-btn:disabled,.timeline-btn:disabled,.manage-tags-btn:disabled,.clear-filters-btn:disabled,.filter-mode-btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:2rem;padding:0 .75rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-700);cursor:pointer;font-size:.75rem;font-weight:500}.btn-sm.danger{border-color:transparent;background:var(--ds-red-100);color:var(--ds-red-700)}.hero-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-sm)}.pill,.tag,.activity-badge,.selection-counter{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-800);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:500;line-height:1.6}.pill.completed{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.pill.failed,.pill.interrupted{background:var(--ds-red-100);color:var(--ds-red-700);border-color:transparent}.pill.running,.activity-badge{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.activity-badge.pulse{animation:pulseBadge 1.4s ease-in-out 2}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);box-shadow:0 0 0 3px var(--ds-blue-100)}.status-dot.offline{background:var(--ds-red-700);box-shadow:0 0 0 3px var(--ds-red-100)}table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--ds-gray-200);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--ds-gray-500);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}td{font-size:.875rem;color:var(--ds-gray-900)}thead tr{background:var(--ds-gray-100)}tbody tr{transition:background .15s ease}tbody tr:hover{background:var(--ds-gray-100)}.checkbox-cell{width:3rem;text-align:center}.list,.activity-list,.plain-list,.tag-list{list-style:none;margin:0;padding:0}.list,.activity-list{display:grid;gap:var(--sp-lg)}.list{max-height:none;overflow:visible}.list li,.activity-item,.preview-item,.tag-item{padding:var(--sp-xl);border:1px solid var(--ds-gray-200);border-left:3px solid transparent;border-radius:var(--ds-radius-md);background:var(--ds-background-100);line-height:1.7;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.list li:hover,.activity-item:hover,.preview-item:hover{border-left-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.list li strong{display:block;margin-bottom:.5rem;font-size:.9375rem}.list li .pill,.list li .activity-badge{margin-bottom:.375rem}.list li .actions,.list li>div:last-child{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--ds-gray-200)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg)}.activity-content{min-width:0}.activity-item.new-item{border-color:var(--ds-blue-100);border-left-color:var(--ds-blue-700)}.activity-title{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.activity-title-text,.section-title,.timeline-title,.modal-title{font-weight:600;color:var(--ds-gray-1000)}.activity-meta,.activity-time,.preview-meta,.export-info,.file-stats{color:var(--ds-gray-500);font-size:.8125rem;margin-top:.125rem}.search-bar{margin:0}.search-input-wrapper{position:relative;width:min(100%,520px)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ds-gray-400);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;min-height:auto;padding:0;border-radius:var(--ds-radius-round);background:transparent;color:var(--ds-gray-500);border:none;box-shadow:none}.search-clear:hover{background:var(--ds-gray-100);border-color:transparent}.timeline-container{padding:var(--sp-xl);overflow-x:auto}.timeline{position:relative;min-width:760px;height:210px}.timeline-axis{position:absolute;left:0;right:0;bottom:2.375rem;height:2px;background:var(--ds-gray-200)}.timeline-point{position:absolute;bottom:1.875rem;width:.75rem;height:.75rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);border:2px solid var(--ds-background-100);box-shadow:0 0 0 2px var(--ds-blue-100);transform:translate(-50%);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.timeline-point:hover{transform:translate(-50%) scale(1.3);box-shadow:0 0 0 4px #0070f333}.timeline-point.multiple{background:var(--ds-amber-700);box-shadow:0 0 0 2px var(--ds-amber-100)}.timeline-label{position:absolute;bottom:0;transform:translate(-50%);color:var(--ds-gray-500);font-size:.75rem;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:3.875rem;transform:translate(-50%);padding:var(--sp-md) var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-1000);color:#fff;font-size:.75rem;line-height:1.5;display:none;box-shadow:var(--ds-shadow-lg);z-index:12}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ds-gray-1000)}.batch-controls,.tag-controls-header,.tag-filters,.actions-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.batch-controls,.tag-controls{padding:var(--sp-xl)}.tag-filters{justify-content:flex-start}#tag-filter-chips,.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.tag-list{flex-direction:column}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-800);font-size:.75rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{border-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.tag-chip.active{background:var(--ds-gray-1000);border-color:var(--ds-gray-1000);color:#fff}.tag-close{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:var(--ds-radius-round);background:#fff3}.filter-mode{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.tag-item-info,.tag-item-actions{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-count{color:var(--ds-gray-500);font-size:.8125rem;font-weight:600}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:var(--sp-xl);background:#00000080;backdrop-filter:blur(4px);z-index:30}.modal.show{display:flex}.modal-content{width:min(100%,760px);max-height:min(82vh,860px);overflow:auto}.modal-close{width:2.25rem;height:2.25rem;min-height:auto;padding:0}.preview-area{border:2px dashed var(--ds-gray-300);border-radius:var(--ds-radius-lg);background:var(--ds-background-200);padding:var(--sp-xl)}.preview-content{display:none}.preview-content.active{display:block}.file-info{padding:var(--sp-lg) var(--sp-xl);background:var(--ds-background-100)}.file-name,.content-text,.value,.path-text,.preview-item code,code{font-family:Geist Mono,SF Mono,IBM Plex Mono,Consolas,Menlo,monospace}.content-body{max-height:620px;overflow-y:auto}.content-text{white-space:pre-wrap;font-size:.8125rem;line-height:1.7;color:var(--ds-gray-700)}.error,.success,.empty,.loading,.no-tags,.empty-activity{padding:var(--sp-lg);border-radius:var(--ds-radius-md);font-size:.8125rem}.error{background:var(--ds-red-100);color:var(--ds-red-700)}.success{background:var(--ds-green-100);color:var(--ds-green-700)}.empty,.loading,.no-tags,.empty-activity{background:var(--ds-blue-100);color:var(--ds-blue-700)}.highlight{background:#f59e0b26;border-radius:3px;padding:0 2px}.evidence-checkbox,.select-all-checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--ds-gray-1000);width:1rem;height:1rem;cursor:pointer}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.2em;height:1.2em}.icon-xl{width:1.45em;height:1.45em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-body a,.card-body a:not(.btn),.section-body a:not(.btn){color:var(--ds-blue-700);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.content-body a:hover,.card-body a:not(.btn):hover,.section-body a:not(.btn):hover{color:var(--ds-blue-800)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-card{grid-column:span 2}}@media(max-width:900px){body{padding:var(--sp-lg)}.page-title{font-size:clamp(1.5rem,7vw,2rem)}.timeline{min-width:580px}th,td{padding:.75rem}}@media(max-width:760px){body{padding:var(--sp-md)}.page-hero{padding:var(--sp-xl)}.page-hero-toolbar{flex-direction:column;align-items:flex-start}.locale-switch{width:100%;margin-left:0;justify-content:space-between}.locale-switch select{min-width:0;flex:1}.split,.stats,.meta,.metadata-grid,.filters,.options-grid,.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{padding:var(--sp-lg) var(--sp-lg) 0}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-lg)}.card-footer,.panel-actions{padding:0 var(--sp-lg) var(--sp-lg)}.actions,.timeline-controls,.header-actions,.hero-actions{flex-direction:column;align-items:stretch}.actions>button,.actions>.btn,.actions>.field,.timeline-controls>button,.hero-actions>button{width:100%}.table-scroll table{min-width:520px}.stat-card,.metadata-card,.batch-controls,.tag-controls{padding:var(--sp-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}</style>
170
+ </head>
171
+ <body>
172
+ <div class="shell">
173
+ <header class="page-hero">
174
+ <div class="page-hero-toolbar">
175
+ <span class="page-kicker" data-i18n="sessionDashboard.kicker">Footprint memory view</span>
176
+ <div class="locale-switch">
177
+ <label for="locale-select" data-i18n="common.language">Language</label>
178
+ <select id="locale-select" aria-label="Language" data-i18n-aria-label="common.language">
179
+ <option value="en" data-i18n="common.locale.en">English</option>
180
+ <option value="zh-TW" data-i18n="common.locale.zh-TW">繁體中文</option>
181
+ <option value="ja" data-i18n="common.locale.ja">日本語</option>
182
+ <option value="zh-CN" data-i18n="common.locale.zh-CN">简体中文</option>
183
+ </select>
184
+ </div>
185
+ </div>
186
+ <div class="page-title-row">
187
+ <div>
188
+ <h1 class="page-title" data-i18n="sessionDashboard.title">Work Overview</h1>
189
+ <p class="page-subtitle" id="summary" data-i18n="sessionDashboard.summary.loading">Loading your recent work...</p>
190
+ </div>
191
+ </div>
192
+ <p class="page-note" data-i18n="sessionDashboard.noteHtml" data-i18n-html>Start with <strong>What Matters Now</strong>, then open a saved work record when you need the details. <strong>Ongoing Topics</strong> help you stay inside the right thread instead of guessing.</p>
193
+ </header>
194
+ <div id="error"></div>
195
+ <form id="filter-form" class="card card-body">
196
+ <div class="filters">
197
+ <div class="field">
198
+ <label for="query-filter" data-i18n="sessionDashboard.findPastWork">Find Past Work</label>
199
+ <input id="query-filter" name="query" type="text" placeholder="A feature, file name, bug, or question..." data-i18n-placeholder="sessionDashboard.findPastWork.placeholder" />
200
+ </div>
201
+ <div class="field">
202
+ <label for="issue-key-filter" data-i18n="sessionDashboard.referenceCode">Reference Code (Advanced)</label>
203
+ <input id="issue-key-filter" name="issueKey" type="text" placeholder="Only if someone already gave it to you" data-i18n-placeholder="sessionDashboard.referenceCode.placeholder" />
204
+ </div>
205
+ <div class="field">
206
+ <label for="host-filter" data-i18n="sessionDashboard.aiHelper">AI Helper</label>
207
+ <select id="host-filter" name="host">
208
+ <option value="" data-i18n="sessionDashboard.allAssistants">All AI assistants</option>
209
+ <option value="claude">Claude</option>
210
+ <option value="gemini">Gemini</option>
211
+ <option value="codex">Codex</option>
212
+ </select>
213
+ </div>
214
+ <div class="field">
215
+ <label for="status-filter" data-i18n="sessionDashboard.workState">Work State</label>
216
+ <select id="status-filter" name="status">
217
+ <option value="" data-i18n="sessionDashboard.allStates">All states</option>
218
+ <option value="running" data-i18n="sessionDashboard.state.running">In progress</option>
219
+ <option value="completed" data-i18n="sessionDashboard.state.completed">Done</option>
220
+ <option value="failed" data-i18n="sessionDashboard.state.failed">Needs attention</option>
221
+ <option value="interrupted" data-i18n="sessionDashboard.state.interrupted">Stopped</option>
222
+ </select>
223
+ </div>
224
+ <div class="field">
225
+ <label for="group-by-filter" data-i18n="sessionDashboard.groupBy">Group Repeated Problems By</label>
226
+ <select id="group-by-filter" name="groupBy">
227
+ <option value="issue" data-i18n="sessionDashboard.groupBy.issue">Specific problem</option>
228
+ <option value="family" data-i18n="sessionDashboard.groupBy.family">Broader pattern</option>
229
+ </select>
230
+ </div>
231
+ <div class="actions">
232
+ <button type="submit" data-i18n="sessionDashboard.updateView">Update View</button>
233
+ <button type="button" class="secondary" data-action="export-filtered" data-i18n="sessionDashboard.exportView">Export This View</button>
234
+ <button type="button" class="secondary" data-action="clear-filters" data-i18n="sessionDashboard.clear">Clear</button>
235
+ </div>
236
+ </div>
237
+ </form>
238
+ <div class="dashboard-grid">
239
+ <div class="card">
240
+ <div class="card-header">
241
+ <div>
242
+ <h2 data-i18n="sessionDashboard.handoff.title">What Matters Now</h2>
243
+ <p class="card-subtitle" id="handoff-summary" data-i18n="sessionDashboard.handoff.loading">Loading the most important things to know...</p>
244
+ </div>
245
+ </div>
246
+ <div class="card-body">
247
+ <ul class="list" id="handoff-results">
248
+ <li class="muted" data-i18n="context.nothingUrgent">Nothing urgent stands out in this view yet.</li>
249
+ </ul>
250
+ </div>
251
+ </div>
252
+ <div class="card">
253
+ <div class="card-header">
254
+ <div>
255
+ <h2 data-i18n="sessionDashboard.trends.title">Problems That Came Back</h2>
256
+ <p class="card-subtitle" id="trend-summary" data-i18n="sessionDashboard.trends.loading">Looking for issues that have shown up more than once...</p>
257
+ </div>
258
+ </div>
259
+ <div class="card-body">
260
+ <ul class="list" id="trend-results">
261
+ <li class="muted" data-i18n="sessionDashboard.trends.empty">No repeated problems found yet.</li>
262
+ </ul>
263
+ <div class="panel-actions">
264
+ <button type="button" class="secondary" id="load-more-trends" data-action="load-more-trends" hidden data-i18n="sessionDashboard.loadMoreTrends">Show More Repeated Problems</button>
265
+ </div>
266
+ </div>
267
+ </div>
268
+ <div class="card">
269
+ <div class="card-header">
270
+ <div>
271
+ <h2 data-i18n="sessionDashboard.contexts.title">Ongoing Topics</h2>
272
+ <p class="card-subtitle" id="context-summary" data-i18n="sessionDashboard.contexts.loading">Loading the ongoing topics Footprint already knows about...</p>
273
+ </div>
274
+ </div>
275
+ <div class="card-body">
276
+ <ul class="list" id="context-results">
277
+ <li class="muted" data-i18n="sessionDashboard.contexts.empty">No ongoing topics yet.</li>
278
+ </ul>
279
+ </div>
280
+ </div>
281
+ <div class="card wide-card">
282
+ <div class="card-header">
283
+ <div>
284
+ <h2 data-i18n="sessionDashboard.search.title">Earlier Related Work</h2>
285
+ <p class="card-subtitle" id="search-summary" data-i18n="sessionDashboard.search.loading">Type above to find earlier work that may help.</p>
286
+ </div>
287
+ </div>
288
+ <div class="card-body">
289
+ <ul class="list" id="search-results">
290
+ <li class="muted" data-i18n="sessionDashboard.search.empty">Search results will appear here.</li>
291
+ </ul>
292
+ <div class="panel-actions">
293
+ <button type="button" class="secondary" id="load-more-search" data-action="load-more-search" hidden data-i18n="sessionDashboard.loadMoreSearch">Show More Results</button>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ </div>
298
+ <div class="card">
299
+ <div class="card-header">
300
+ <div>
301
+ <h2 data-i18n="sessionDashboard.sessions.title">Recent Work</h2>
302
+ <p class="card-subtitle" data-i18n="sessionDashboard.sessions.subtitle">Newest first. Open one to see the plain-language overview first, then the detailed traces if needed.</p>
303
+ </div>
304
+ </div>
305
+ <div class="table-scroll">
306
+ <table>
307
+ <thead>
308
+ <tr>
309
+ <th data-i18n="sessionDashboard.sessions.table.work">Work</th>
310
+ <th data-i18n="sessionDashboard.sessions.table.ai">AI</th>
311
+ <th data-i18n="sessionDashboard.sessions.table.state">State</th>
312
+ <th data-i18n="sessionDashboard.sessions.table.started">Started</th>
313
+ <th data-i18n="common.actions">Actions</th>
314
+ </tr>
315
+ </thead>
316
+ <tbody id="rows">
317
+ <tr><td colspan="5" class="empty" data-i18n="sessionDashboard.sessions.empty">No saved work records yet.</td></tr>
318
+ </tbody>
319
+ </table>
320
+ </div>
321
+ <div class="card-footer">
322
+ <div class="panel-actions">
323
+ <button type="button" class="secondary" id="load-more-sessions" data-action="load-more-sessions" hidden data-i18n="sessionDashboard.loadMoreSessions">Show More Work</button>
324
+ </div>
325
+ </div>
326
+ </div>
327
+ </div>
328
+ </body>
329
+ </html>