@oj-module/cli 0.2.64 → 0.2.67

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 (369) hide show
  1. package/bin/.oj-version +1 -0
  2. package/bin/oj +4 -0
  3. package/devkit/README.md +18 -4
  4. package/devkit/SKILL.md +35 -3
  5. package/devkit/framework-dev.md +22 -11
  6. package/devkit/manual.md +161 -68
  7. package/devkit/menu-rules.md +4 -1
  8. package/devkit/publish-walkthrough.md +110 -37
  9. package/devkit/wecom-internal-app.md +7 -2
  10. package/devkit/wecom-multi-corp-links.md +163 -0
  11. package/package.json +3 -2
  12. package/shell-dist/assets/ahooks.2l850ymmh0.js +18 -0
  13. package/shell-dist/assets/antd-es-locale-zh_CN.1gjjsvxbf0.js +1 -0
  14. package/shell-dist/assets/antd-img-crop.196rkty480.js +99 -0
  15. package/shell-dist/assets/antd-locale-en_US.561tozx860.js +1 -0
  16. package/shell-dist/assets/antd-locale-zh_CN.1cmpmgzh70.js +1 -0
  17. package/shell-dist/assets/antd.uw1coq15l0.js +348 -0
  18. package/shell-dist/assets/clsx.jotilrt2e0.js +1 -0
  19. package/shell-dist/assets/contract-errors.2o17vz9u50.js +1 -0
  20. package/shell-dist/assets/contract.3h327o3mj0.js +57 -0
  21. package/shell-dist/assets/cssinjs.atgmhan7m0.js +3 -0
  22. package/shell-dist/assets/dayjs-plugin-advancedFormat.3vsyd2eis0.js +1 -0
  23. package/shell-dist/assets/dayjs-plugin-customParseFormat.13xhghv1d0.js +1 -0
  24. package/shell-dist/assets/dayjs-plugin-isoWeek.1fn1tw82p0.js +1 -0
  25. package/shell-dist/assets/dayjs-plugin-localeData.2rwbjp9nk0.js +1 -0
  26. package/shell-dist/assets/dayjs-plugin-quarterOfYear.2oqo1lcx80.js +1 -0
  27. package/shell-dist/assets/dayjs-plugin-relativeTime.2pqs3et4y0.js +1 -0
  28. package/shell-dist/assets/dayjs-plugin-weekOfYear.gvn9iph080.js +1 -0
  29. package/shell-dist/assets/dayjs-plugin-weekYear.2u78l3ex10.js +1 -0
  30. package/shell-dist/assets/dayjs-plugin-weekday.2d56a4tml0.js +1 -0
  31. package/shell-dist/assets/dayjs.pa60l6wjo0.js +1 -0
  32. package/shell-dist/assets/dnd-kit-core.1xyreig6r0.js +5 -0
  33. package/shell-dist/assets/dnd-kit-sortable.s94qciuft0.js +1 -0
  34. package/shell-dist/assets/dnd-kit-utilities.1umw4xphb0.js +1 -0
  35. package/shell-dist/assets/i18next.33zqofapj0.js +1 -0
  36. package/shell-dist/assets/icons-es-components-Context.365qmflwg0.js +1 -0
  37. package/shell-dist/assets/icons.159wjwals0.js +57 -0
  38. package/shell-dist/assets/{index-xZhmujjM.js → index.6alqyx6ae0.js} +21 -1
  39. package/shell-dist/assets/jsx-dev-runtime.3uibuc82f0.js +14 -0
  40. package/shell-dist/assets/jsx-runtime.h40xu4o5b0.js +14 -0
  41. package/shell-dist/assets/keepalive-for-react.xenu5vam70.js +1 -0
  42. package/shell-dist/assets/kit.37kr8ui390.js +1 -0
  43. package/shell-dist/assets/ky.1cgch7gu60.js +6 -0
  44. package/shell-dist/assets/motion-react.pjsxytvjs0.js +12 -0
  45. package/shell-dist/assets/motion.21tciqutg0.js +4 -0
  46. package/shell-dist/assets/nprogress.2nz76n9ny0.js +7 -0
  47. package/shell-dist/assets/ojm-dayjs-locale-zh-cn.3vr3beiyp0.js +9 -0
  48. package/shell-dist/assets/pinyin-pro.3v0mnxczn0.js +1 -0
  49. package/shell-dist/assets/pro-components.2kyot1vcl0.js +83 -0
  50. package/shell-dist/assets/react-countup.2x8idnr8y0.js +10 -0
  51. package/shell-dist/assets/react-dom-client.ick0v05ob0.js +43 -0
  52. package/shell-dist/assets/react-dom.2so9uxg3f0.js +22 -0
  53. package/shell-dist/assets/react-error-boundary.2dncdfj3b0.js +1 -0
  54. package/shell-dist/assets/react-i18next.auhvjhqv00.js +1 -0
  55. package/shell-dist/assets/react-jss.1ei6dr9e00.js +29 -0
  56. package/shell-dist/assets/react-query.3rln45ow00.js +1 -0
  57. package/shell-dist/assets/react-router-dom.3c6zld8h40.js +44 -0
  58. package/shell-dist/assets/react-router.2h9rebcv50.js +56 -0
  59. package/shell-dist/assets/react.1ew63mwts0.js +14 -0
  60. package/shell-dist/assets/runtime.2dgstpjsu0.js +21702 -0
  61. package/shell-dist/assets/simplebar-react.2g739uvai0.js +1 -0
  62. package/shell-dist/assets/spin-delay.yjeyj6iwp0.js +9 -0
  63. package/shell-dist/assets/tailwind-merge.125ehiqjw0.js +1 -0
  64. package/shell-dist/assets/use-sync-external-store-shim.1nz1pi9bb0.js +22 -0
  65. package/shell-dist/assets/zustand-middleware.1xaxjueme0.js +6 -0
  66. package/shell-dist/assets/zustand-react-shallow.pybayv1hx0.js +1 -0
  67. package/shell-dist/assets/zustand-react.9fsl9brxy0.js +1 -0
  68. package/shell-dist/assets/zustand-shallow.6cz0yyv9x0.js +1 -0
  69. package/shell-dist/assets/zustand-vanilla-shallow.3424monv50.js +1 -0
  70. package/shell-dist/assets/zustand-vanilla.1mo3ka3g30.js +1 -0
  71. package/shell-dist/assets/zustand.3gjgzlnqo0.js +1 -0
  72. package/shell-dist/index.html +67 -118
  73. package/shell-dist/versions.json +3 -3
  74. package/src/__tests__/publish-keygen.test.ts +157 -0
  75. package/src/__tests__/templates-migration-schema-parity.test.ts +540 -0
  76. package/src/__tests__/templates-schema-columns.test.ts +15 -2
  77. package/src/__tests__/templates-tenant-scope.test.ts +6 -2
  78. package/src/bundle.ts +8 -3
  79. package/src/cli.ts +17 -5
  80. package/src/dev.ts +15 -10
  81. package/src/esm-exports.ts +152 -70
  82. package/src/install.ts +11 -4
  83. package/src/keygen.ts +54 -0
  84. package/src/lifecycle/__tests__/bundle.test.ts +21 -3
  85. package/src/lifecycle/__tests__/fixtures/fixture-valid/api/src/demo-solution/manifest.yaml +1 -1
  86. package/src/lifecycle/__tests__/fixtures/fixture-valid/api/src/demo-solution/migrations/0001__init.sql +2 -2
  87. package/src/lifecycle/__tests__/fixtures/fixture-valid/api/src/demo-solution/schema.yaml +5 -2
  88. package/src/lifecycle/__tests__/fixtures/fixture-valid/manifest.yaml +1 -1
  89. package/src/lifecycle/__tests__/manifest-contract.test.ts +75 -3
  90. package/src/lifecycle/__tests__/smoke.test.ts +2 -2
  91. package/src/manifest-contract.ts +91 -8
  92. package/src/market/bootstrap.ts +26 -2
  93. package/src/market/command.ts +1 -0
  94. package/src/market/publish.ts +5 -1
  95. package/src/market/walkthrough.ts +24 -8
  96. package/src/shared-deps.ts +69 -19
  97. package/src/site-base.ts +4 -0
  98. package/src/site.ts +2 -0
  99. package/src/usage.ts +8 -4
  100. package/src/vendor.ts +5 -1
  101. package/templates/config.yaml +4 -2
  102. package/templates/init.include.yaml +8 -3
  103. package/templates/openapi.json +460 -1
  104. package/templates/src/app/api/_platform/_lifecycle/compensate.ts +136 -0
  105. package/templates/src/app/api/_platform/_lifecycle/installer.ts +71 -22
  106. package/templates/src/app/api/_platform/_lifecycle/lock.ts +23 -0
  107. package/templates/src/app/api/_platform/_lifecycle/steps/deploy-web.ts +28 -0
  108. package/templates/src/app/api/_platform/_lifecycle/steps/preflight.ts +46 -0
  109. package/templates/src/app/api/_platform/_lifecycle/steps/reload.ts +100 -36
  110. package/templates/src/app/api/_platform/_lifecycle/steps/smoke.ts +7 -15
  111. package/templates/src/app/api/_platform/_lifecycle/text-edit.ts +71 -19
  112. package/templates/src/app/api/_platform/_lifecycle/types.ts +26 -2
  113. package/templates/src/app/api/_platform/_lifecycle/uninstall.ts +93 -14
  114. package/templates/src/app/api/_platform/_shared/service/domain/settings.ts +8 -4
  115. package/templates/src/app/api/_platform/manifest.yaml +1 -0
  116. package/templates/src/app/api/_platform/market/api.ts +235 -10
  117. package/templates/src/app/api/_platform/migrations/0001__baseline.mysql.sql +178 -0
  118. package/templates/src/app/api/_platform/migrations/0001__baseline.pg.sql +173 -0
  119. package/templates/src/app/api/_platform/migrations/0001__baseline.sql +188 -0
  120. package/templates/src/app/api/_platform/migrations/0002__market_release.mysql.sql +17 -0
  121. package/templates/src/app/api/_platform/migrations/0002__market_release.pg.sql +16 -0
  122. package/templates/src/app/api/_platform/migrations/0002__market_release.sql +33 -0
  123. package/templates/src/app/api/_platform/schema.yaml +18 -0
  124. package/templates/src/app/api/_platform/seed.mysql.sql +10 -0
  125. package/templates/src/app/api/_platform/seed.pg.sql +10 -0
  126. package/templates/src/app/api/auth/_shared/wecom/client.ts +24 -4
  127. package/templates/src/app/api/home/migrations/0001__create_home_tables.mysql.sql +14 -0
  128. package/templates/src/app/api/home/migrations/0001__create_home_tables.pg.sql +14 -0
  129. package/templates/src/app/api/home/migrations/0002__tenant.pg.sql +4 -0
  130. package/templates/src/app/api/home/seed.mysql.sql +71 -0
  131. package/templates/src/app/api/home/seed.pg.sql +71 -0
  132. package/templates/src/app/api/notification/_shared/notify.ts +6 -6
  133. package/templates/src/app/api/notification/migrations/0001__create_notifications.mysql.sql +11 -0
  134. package/templates/src/app/api/notification/migrations/0001__create_notifications.pg.sql +11 -0
  135. package/templates/src/app/api/notification/migrations/0002__notifications_user.mysql.sql +8 -0
  136. package/templates/src/app/api/notification/migrations/0003__notifications_broadcast.mysql.sql +21 -0
  137. package/templates/src/app/api/notification/migrations/0003__notifications_broadcast.pg.sql +22 -0
  138. package/templates/src/app/api/notification/migrations/0004__notifications_broadcast_hidden.mysql.sql +10 -0
  139. package/templates/src/app/api/notification/migrations/0004__notifications_broadcast_hidden.pg.sql +11 -0
  140. package/templates/src/app/api/notification/migrations/0005__tenant.pg.sql +6 -0
  141. package/templates/src/app/api/notification/seed.mysql.sql +8 -0
  142. package/templates/src/app/api/notification/seed.pg.sql +11 -0
  143. package/templates/src/app/api/publish/_shared/identity.ts +69 -0
  144. package/templates/src/app/api/publish/api.ts +349 -0
  145. package/templates/src/app/api/publish/manifest.yaml +8 -0
  146. package/templates/src/app/api/publish/migrations/0001__publish_credential.mysql.sql +23 -0
  147. package/templates/src/app/api/publish/migrations/0001__publish_credential.pg.sql +23 -0
  148. package/templates/src/app/api/publish/migrations/0001__publish_credential.sql +39 -0
  149. package/templates/src/app/api/publish/schema.yaml +33 -0
  150. package/templates/src/app/api/system/login-methods/api.ts +2 -1
  151. package/templates/src/app/web/_platform/__client/api.schemas.ts +15 -0
  152. package/templates/src/app/web/_platform/__client/index.ts +25 -1
  153. package/templates/src/app/web/entry.ts +9 -5
  154. package/templates/src/app/web/home/pages/components/bar-chart.tsx +5 -3
  155. package/templates/src/app/web/home/pages/components/echarts-setup.ts +30 -0
  156. package/templates/src/app/web/home/pages/components/line-chart.tsx +5 -3
  157. package/templates/src/app/web/home/pages/components/pie-chart.tsx +6 -3
  158. package/templates/src/app/web/home/pages/index.tsx +3 -2
  159. package/templates/src/app/web/home/routes.ts +8 -2
  160. package/templates/src/app/web/login/locales/en-US.json +7 -1
  161. package/templates/src/app/web/login/locales/zh-CN.json +7 -1
  162. package/templates/src/app/web/login/pages/login.tsx +79 -86
  163. package/templates/src/app/web/login/routes.ts +54 -1
  164. package/templates/src/app/web/personal-center/locales/en-US.json +1 -0
  165. package/templates/src/app/web/personal-center/locales/zh-CN.json +1 -0
  166. package/templates/src/app/web/personal-center/pages/my-profile/index.tsx +5 -0
  167. package/templates/src/app/web/system/__client/api.schemas.ts +2 -1
  168. package/templates/src/app/web/system/locales/en-US.json +1 -8
  169. package/templates/src/app/web/system/locales/zh-CN.json +1 -8
  170. package/templates/src/app/web/system/pages/settings/index.tsx +17 -4
  171. package/templates/src/app/web/system/routes.ts +0 -6
  172. package/templates/src/oj-market/web/__tests__/CardGrid.test.tsx +33 -0
  173. package/templates/src/oj-market/web/__tests__/DetailDrawer.test.tsx +69 -0
  174. package/templates/src/oj-market/web/__tests__/marketClient.fake.ts +7 -1
  175. package/templates/src/oj-market/web/api/client.ts +3 -0
  176. package/templates/src/oj-market/web/api/defaultClient.ts +5 -0
  177. package/templates/src/oj-market/web/components/CardItem.tsx +44 -1
  178. package/templates/src/oj-market/web/components/DetailDrawer.tsx +17 -1
  179. package/templates/src/oj-market/web/entry.ts +31 -2
  180. package/templates/src/oj-market/web/locales/en-US.json +5 -1
  181. package/templates/src/oj-market/web/locales/zh-CN.json +5 -1
  182. package/templates/src/oj-market/web/publish/__client/api.schemas.ts +61 -0
  183. package/templates/src/oj-market/web/publish/__client/index.ts +164 -0
  184. package/templates/src/oj-market/web/publish/locales/en-US.json +80 -0
  185. package/templates/src/oj-market/web/publish/locales/zh-CN.json +80 -0
  186. package/templates/src/oj-market/web/publish/pages/history.tsx +112 -0
  187. package/templates/src/oj-market/web/publish/pages/index.tsx +196 -0
  188. package/templates/src/oj-market/web/publish/pages/model.ts +52 -0
  189. package/templates/src/oj-market/web/publish/pages/token-modal.tsx +82 -0
  190. package/templates/src/oj-market/web/publish/routes.ts +41 -0
  191. package/templates/src/oj-market/web/types.ts +30 -0
  192. package/templates/tests/lifecycle/compensate.spec.ts +207 -0
  193. package/templates/tests/lifecycle/deploy-smoke.spec.ts +38 -14
  194. package/templates/tests/lifecycle/installer.spec.ts +28 -9
  195. package/templates/tests/lifecycle/market-api.spec.ts +164 -12
  196. package/templates/tests/lifecycle/preflight.spec.ts +68 -0
  197. package/templates/tests/lifecycle/role-title-translate.spec.ts +2 -32
  198. package/templates/tests/lifecycle/text-edit.spec.ts +45 -27
  199. package/templates/tests/lifecycle/uninstall.spec.ts +36 -0
  200. package/templates/tests/publish-credential.spec.ts +354 -0
  201. package/templates/tests/publish-identity.spec.ts +44 -0
  202. package/templates/tests/wecom-client-timeout.spec.ts +33 -3
  203. package/templates/tests/wecom-landing.spec.ts +63 -1
  204. package/templates/tsconfig.paths.json +1 -0
  205. package/templates/web.config.ts +6 -4
  206. package/vendor/host-versions.json +3 -3
  207. package/shell-dist/assets/ahooks.js +0 -6909
  208. package/shell-dist/assets/antd-es-locale-zh_CN.js +0 -257
  209. package/shell-dist/assets/antd-img-crop.js +0 -1495
  210. package/shell-dist/assets/antd-locale-en_US.js +0 -374
  211. package/shell-dist/assets/antd-locale-zh_CN.js +0 -379
  212. package/shell-dist/assets/antd.js +0 -106874
  213. package/shell-dist/assets/clsx.js +0 -33
  214. package/shell-dist/assets/contract-errors.js +0 -30
  215. package/shell-dist/assets/contract.js +0 -18900
  216. package/shell-dist/assets/cssinjs.js +0 -2595
  217. package/shell-dist/assets/dayjs-plugin-advancedFormat.js +0 -98
  218. package/shell-dist/assets/dayjs-plugin-customParseFormat.js +0 -173
  219. package/shell-dist/assets/dayjs-plugin-isoWeek.js +0 -77
  220. package/shell-dist/assets/dayjs-plugin-localeData.js +0 -126
  221. package/shell-dist/assets/dayjs-plugin-quarterOfYear.js +0 -77
  222. package/shell-dist/assets/dayjs-plugin-relativeTime.js +0 -92
  223. package/shell-dist/assets/dayjs-plugin-weekOfYear.js +0 -73
  224. package/shell-dist/assets/dayjs-plugin-weekYear.js +0 -63
  225. package/shell-dist/assets/dayjs-plugin-weekday.js +0 -63
  226. package/shell-dist/assets/dayjs.js +0 -326
  227. package/shell-dist/assets/dnd-kit-core.js +0 -3601
  228. package/shell-dist/assets/dnd-kit-sortable.js +0 -717
  229. package/shell-dist/assets/dnd-kit-utilities.js +0 -340
  230. package/shell-dist/assets/i18next.js +0 -2321
  231. package/shell-dist/assets/icons-es-components-Context.js +0 -20
  232. package/shell-dist/assets/icons.js +0 -34961
  233. package/shell-dist/assets/jsx-dev-runtime.js +0 -75
  234. package/shell-dist/assets/jsx-runtime.js +0 -97
  235. package/shell-dist/assets/keepalive-for-react.js +0 -283
  236. package/shell-dist/assets/kit.js +0 -151
  237. package/shell-dist/assets/ky.js +0 -1427
  238. package/shell-dist/assets/motion-react.js +0 -13589
  239. package/shell-dist/assets/motion.js +0 -9959
  240. package/shell-dist/assets/nprogress.js +0 -314
  241. package/shell-dist/assets/ojm--ant-design-icons-es-icons-BarsOutlined.js +0 -7
  242. package/shell-dist/assets/ojm--ant-design-icons-es-icons-CalendarOutlined.js +0 -7
  243. package/shell-dist/assets/ojm--ant-design-icons-es-icons-CaretDownFilled.js +0 -7
  244. package/shell-dist/assets/ojm--ant-design-icons-es-icons-CaretDownOutlined.js +0 -7
  245. package/shell-dist/assets/ojm--ant-design-icons-es-icons-CaretUpOutlined.js +0 -7
  246. package/shell-dist/assets/ojm--ant-design-icons-es-icons-CheckCircleFilled.js +0 -7
  247. package/shell-dist/assets/ojm--ant-design-icons-es-icons-CheckOutlined.js +0 -7
  248. package/shell-dist/assets/ojm--ant-design-icons-es-icons-ClockCircleOutlined.js +0 -7
  249. package/shell-dist/assets/ojm--ant-design-icons-es-icons-CloseCircleFilled.js +0 -7
  250. package/shell-dist/assets/ojm--ant-design-icons-es-icons-CloseOutlined.js +0 -7
  251. package/shell-dist/assets/ojm--ant-design-icons-es-icons-CopyOutlined.js +0 -7
  252. package/shell-dist/assets/ojm--ant-design-icons-es-icons-DeleteOutlined.js +0 -7
  253. package/shell-dist/assets/ojm--ant-design-icons-es-icons-DoubleLeftOutlined.js +0 -7
  254. package/shell-dist/assets/ojm--ant-design-icons-es-icons-DoubleRightOutlined.js +0 -7
  255. package/shell-dist/assets/ojm--ant-design-icons-es-icons-DownOutlined.js +0 -7
  256. package/shell-dist/assets/ojm--ant-design-icons-es-icons-DownloadOutlined.js +0 -7
  257. package/shell-dist/assets/ojm--ant-design-icons-es-icons-EditOutlined.js +0 -7
  258. package/shell-dist/assets/ojm--ant-design-icons-es-icons-EllipsisOutlined.js +0 -7
  259. package/shell-dist/assets/ojm--ant-design-icons-es-icons-EnterOutlined.js +0 -7
  260. package/shell-dist/assets/ojm--ant-design-icons-es-icons-ExclamationCircleFilled.js +0 -7
  261. package/shell-dist/assets/ojm--ant-design-icons-es-icons-EyeInvisibleOutlined.js +0 -7
  262. package/shell-dist/assets/ojm--ant-design-icons-es-icons-EyeOutlined.js +0 -7
  263. package/shell-dist/assets/ojm--ant-design-icons-es-icons-FileOutlined.js +0 -7
  264. package/shell-dist/assets/ojm--ant-design-icons-es-icons-FileTextOutlined.js +0 -7
  265. package/shell-dist/assets/ojm--ant-design-icons-es-icons-FilterFilled.js +0 -7
  266. package/shell-dist/assets/ojm--ant-design-icons-es-icons-FolderOpenOutlined.js +0 -7
  267. package/shell-dist/assets/ojm--ant-design-icons-es-icons-FolderOutlined.js +0 -7
  268. package/shell-dist/assets/ojm--ant-design-icons-es-icons-HolderOutlined.js +0 -7
  269. package/shell-dist/assets/ojm--ant-design-icons-es-icons-InfoCircleFilled.js +0 -7
  270. package/shell-dist/assets/ojm--ant-design-icons-es-icons-LeftOutlined.js +0 -7
  271. package/shell-dist/assets/ojm--ant-design-icons-es-icons-LoadingOutlined.js +0 -7
  272. package/shell-dist/assets/ojm--ant-design-icons-es-icons-MinusOutlined.js +0 -7
  273. package/shell-dist/assets/ojm--ant-design-icons-es-icons-MinusSquareOutlined.js +0 -7
  274. package/shell-dist/assets/ojm--ant-design-icons-es-icons-PaperClipOutlined.js +0 -7
  275. package/shell-dist/assets/ojm--ant-design-icons-es-icons-PictureOutlined.js +0 -7
  276. package/shell-dist/assets/ojm--ant-design-icons-es-icons-PlusOutlined.js +0 -7
  277. package/shell-dist/assets/ojm--ant-design-icons-es-icons-PlusSquareOutlined.js +0 -7
  278. package/shell-dist/assets/ojm--ant-design-icons-es-icons-QuestionCircleOutlined.js +0 -7
  279. package/shell-dist/assets/ojm--ant-design-icons-es-icons-ReloadOutlined.js +0 -7
  280. package/shell-dist/assets/ojm--ant-design-icons-es-icons-RightOutlined.js +0 -7
  281. package/shell-dist/assets/ojm--ant-design-icons-es-icons-RotateLeftOutlined.js +0 -7
  282. package/shell-dist/assets/ojm--ant-design-icons-es-icons-RotateRightOutlined.js +0 -7
  283. package/shell-dist/assets/ojm--ant-design-icons-es-icons-SearchOutlined.js +0 -7
  284. package/shell-dist/assets/ojm--ant-design-icons-es-icons-StarFilled.js +0 -7
  285. package/shell-dist/assets/ojm--ant-design-icons-es-icons-SwapOutlined.js +0 -7
  286. package/shell-dist/assets/ojm--ant-design-icons-es-icons-SwapRightOutlined.js +0 -7
  287. package/shell-dist/assets/ojm--ant-design-icons-es-icons-UpOutlined.js +0 -7
  288. package/shell-dist/assets/ojm--ant-design-icons-es-icons-VerticalAlignTopOutlined.js +0 -7
  289. package/shell-dist/assets/ojm--ant-design-icons-es-icons-WarningFilled.js +0 -7
  290. package/shell-dist/assets/ojm--ant-design-icons-es-icons-ZoomInOutlined.js +0 -7
  291. package/shell-dist/assets/ojm--ant-design-icons-es-icons-ZoomOutOutlined.js +0 -7
  292. package/shell-dist/assets/ojm-dayjs-locale-zh-cn.js +0 -81
  293. package/shell-dist/assets/pinyin-pro.js +0 -25175
  294. package/shell-dist/assets/pro-components.js +0 -44627
  295. package/shell-dist/assets/react-countup.js +0 -525
  296. package/shell-dist/assets/react-dom-client.js +0 -12134
  297. package/shell-dist/assets/react-dom.js +0 -266
  298. package/shell-dist/assets/react-error-boundary.js +0 -141
  299. package/shell-dist/assets/react-i18next.js +0 -1773
  300. package/shell-dist/assets/react-jss.js +0 -4089
  301. package/shell-dist/assets/react-query.js +0 -3072
  302. package/shell-dist/assets/react-router-dom.js +0 -9927
  303. package/shell-dist/assets/react-router.js +0 -14584
  304. package/shell-dist/assets/react.js +0 -590
  305. package/shell-dist/assets/runtime.js +0 -28311
  306. package/shell-dist/assets/simplebar-react.js +0 -1119
  307. package/shell-dist/assets/spin-delay.js +0 -111
  308. package/shell-dist/assets/tailwind-merge.js +0 -3364
  309. package/shell-dist/assets/use-sync-external-store-shim.js +0 -130
  310. package/shell-dist/assets/zustand-middleware.js +0 -513
  311. package/shell-dist/assets/zustand-react-shallow.js +0 -27
  312. package/shell-dist/assets/zustand-react.js +0 -39
  313. package/shell-dist/assets/zustand-shallow.js +0 -22
  314. package/shell-dist/assets/zustand-vanilla-shallow.js +0 -71
  315. package/shell-dist/assets/zustand-vanilla.js +0 -40
  316. package/shell-dist/assets/zustand.js +0 -32
  317. package/templates/seed.mysql.sql +0 -6
  318. package/templates/seed.pg.sql +0 -6
  319. package/templates/src/app/api/_platform/migrations/0001__create_users.mysql.sql +0 -9
  320. package/templates/src/app/api/_platform/migrations/0001__create_users.pg.sql +0 -9
  321. package/templates/src/app/api/_platform/migrations/0001__create_users.sql +0 -7
  322. package/templates/src/app/api/_platform/migrations/0002__add_users_avatar_base64.mysql.sql +0 -3
  323. package/templates/src/app/api/_platform/migrations/0002__add_users_avatar_base64.sql +0 -2
  324. package/templates/src/app/api/_platform/migrations/0003__users_source_display_name.mysql.sql +0 -5
  325. package/templates/src/app/api/_platform/migrations/0003__users_source_display_name.sql +0 -5
  326. package/templates/src/app/api/_platform/migrations/0004__sys_rbac.mysql.sql +0 -70
  327. package/templates/src/app/api/_platform/migrations/0004__sys_rbac.pg.sql +0 -67
  328. package/templates/src/app/api/_platform/migrations/0004__sys_rbac.sql +0 -67
  329. package/templates/src/app/api/_platform/migrations/0005__users_must_change.mysql.sql +0 -3
  330. package/templates/src/app/api/_platform/migrations/0005__users_must_change.sql +0 -2
  331. package/templates/src/app/api/_platform/migrations/0006__users_is_forbidden.mysql.sql +0 -3
  332. package/templates/src/app/api/_platform/migrations/0006__users_is_forbidden.sql +0 -3
  333. package/templates/src/app/api/_platform/migrations/0007__users_email.sql +0 -3
  334. package/templates/src/app/api/_platform/migrations/0008__sys_refresh_token.mysql.sql +0 -10
  335. package/templates/src/app/api/_platform/migrations/0008__sys_refresh_token.pg.sql +0 -10
  336. package/templates/src/app/api/_platform/migrations/0008__sys_refresh_token.sql +0 -11
  337. package/templates/src/app/api/_platform/migrations/0009__sys_throttle.mysql.sql +0 -12
  338. package/templates/src/app/api/_platform/migrations/0009__sys_throttle.pg.sql +0 -12
  339. package/templates/src/app/api/_platform/migrations/0009__sys_throttle.sql +0 -13
  340. package/templates/src/app/api/_platform/migrations/0010__sys_solution_route.mysql.sql +0 -17
  341. package/templates/src/app/api/_platform/migrations/0010__sys_solution_route.pg.sql +0 -16
  342. package/templates/src/app/api/_platform/migrations/0010__sys_solution_route.sql +0 -18
  343. package/templates/src/app/api/_platform/migrations/0011__sys_setting_group_label.mysql.sql +0 -2
  344. package/templates/src/app/api/_platform/migrations/0011__sys_setting_group_label.sql +0 -4
  345. package/templates/src/app/api/_platform/migrations/0012__market_history.mysql.sql +0 -13
  346. package/templates/src/app/api/_platform/migrations/0012__market_history.pg.sql +0 -12
  347. package/templates/src/app/api/_platform/migrations/0012__market_history.sql +0 -14
  348. package/templates/src/app/api/_platform/migrations/0013__users_profile.sql +0 -4
  349. package/templates/src/app/api/_platform/migrations/0014__reg_source_seq.mysql.sql +0 -9
  350. package/templates/src/app/api/_platform/migrations/0014__reg_source_seq.pg.sql +0 -7
  351. package/templates/src/app/api/_platform/migrations/0014__reg_source_seq.sql +0 -8
  352. package/templates/src/app/api/_platform/migrations/0015__tenant.mysql.sql +0 -12
  353. package/templates/src/app/api/_platform/migrations/0015__tenant.pg.sql +0 -11
  354. package/templates/src/app/api/_platform/migrations/0015__tenant.sql +0 -44
  355. package/templates/src/app/api/_platform/migrations/0016__org.mysql.sql +0 -41
  356. package/templates/src/app/api/_platform/migrations/0016__org.pg.sql +0 -40
  357. package/templates/src/app/api/_platform/migrations/0016__org.sql +0 -62
  358. package/templates/src/app/api/_platform/migrations/0017__users_employee_no.mysql.sql +0 -7
  359. package/templates/src/app/api/_platform/migrations/0017__users_employee_no.pg.sql +0 -4
  360. package/templates/src/app/api/_platform/migrations/0017__users_employee_no.sql +0 -8
  361. package/templates/src/app/api/_platform/migrations/0018__sys_role_title_key.mysql.sql +0 -3
  362. package/templates/src/app/api/_platform/migrations/0018__sys_role_title_key.pg.sql +0 -3
  363. package/templates/src/app/api/_platform/migrations/0018__sys_role_title_key.sql +0 -8
  364. package/templates/src/app/web/system/pages/login-methods/index.tsx +0 -30
  365. /package/shell-dist/assets/{nprogress-css.js → nprogress-css.1cq2pzkre0.js} +0 -0
  366. /package/shell-dist/assets/{ojm-antd-es-button.js → ojm-antd-es-button.2uriphio50.js} +0 -0
  367. /package/shell-dist/assets/{ojm-antd-es-modal.js → ojm-antd-es-modal.bf3tgdh8v0.js} +0 -0
  368. /package/shell-dist/assets/{ojm-antd-es-slider.js → ojm-antd-es-slider.xyvptuhid0.js} +0 -0
  369. /package/shell-dist/assets/{ojm-antd-es-upload.js → ojm-antd-es-upload.13gx45e0g0.js} +0 -0
@@ -357,6 +357,26 @@ function ensureI18n() {
357
357
  i18nReady = true;
358
358
  }
359
359
  }
360
+ /**
361
+ * 企微内 P0 早跳的目标 URL。只白名单透传 `corp` / `agent`:多企业专属链接
362
+ * `/login?corp=X&agent=Y` 从工作台打开时,后端 `resolveWecomProfile` 必须拿到
363
+ * 企业代码才能落到正确租户;不带参数会被 `corpSelf()` 吸到本企业,多家档案则
364
+ * 直接 400「已授权多家企业」。票据 / redirect / error 等一律不透传。
365
+ *
366
+ * 与 index.html 内联 BOOT_JS(build.mts)同口径——那道先执行,这里是兜底:
367
+ * 内联脚本被 CSP 拦下或抛异常时,模块加载完仍会走到这里。
368
+ */
369
+ var EARLY_JUMP_PARAMS = ["corp", "agent"];
370
+ function wecomEarlyJumpUrl() {
371
+ const src = new URLSearchParams(location.search);
372
+ const pass = new URLSearchParams();
373
+ for (const key of EARLY_JUMP_PARAMS) {
374
+ const v = src.get(key)?.trim();
375
+ if (v) pass.set(key, v);
376
+ }
377
+ const qs = pass.toString();
378
+ return `${resolveApiBase()}/auth/wecom/login${qs ? `?${qs}` : ""}`;
379
+ }
360
380
  function Boot() {
361
381
  const [router, setRouter] = useState(null);
362
382
  const [error, setError] = useState(null);
@@ -365,7 +385,7 @@ function Boot() {
365
385
  (async () => {
366
386
  try {
367
387
  if (typeof navigator !== "undefined" && /wxwork/i.test(navigator.userAgent) && location.pathname.endsWith("/login") && !new URLSearchParams(location.search).get("wecom_ticket")) {
368
- window.location.assign(`${resolveApiBase()}/auth/wecom/login`);
388
+ window.location.assign(wecomEarlyJumpUrl());
369
389
  return;
370
390
  }
371
391
  ensureI18n();
@@ -0,0 +1,14 @@
1
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){try{return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports}catch(e){throw mod=0,e}};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_react_jsx_dev_runtime_production=__commonJS({"../../node_modules/.pnpm/react@19.2.8/node_modules/react/cjs/react-jsx-dev-runtime.production.js"(exports){"use strict";var REACT_FRAGMENT_TYPE=Symbol.for("react.fragment");exports.Fragment=REACT_FRAGMENT_TYPE;exports.jsxDEV=void 0}});var require_jsx_dev_runtime=__commonJS({"../../node_modules/.pnpm/react@19.2.8/node_modules/react/jsx-dev-runtime.js"(exports,module){"use strict";module.exports=require_react_jsx_dev_runtime_production()}});var __m=__toESM(require_jsx_dev_runtime(),1),Fragment2=__m.Fragment,jsxDEV2=__m.jsxDEV,ojm_shim_jsx_dev_runtime_default=__m.default??__m;export{Fragment2 as Fragment,ojm_shim_jsx_dev_runtime_default as default,jsxDEV2 as jsxDEV};
2
+ /*! Bundled license information:
3
+
4
+ react/cjs/react-jsx-dev-runtime.production.js:
5
+ (**
6
+ * @license React
7
+ * react-jsx-dev-runtime.production.js
8
+ *
9
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
10
+ *
11
+ * This source code is licensed under the MIT license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ *)
14
+ */
@@ -0,0 +1,14 @@
1
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){try{return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports}catch(e){throw mod=0,e}};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_react_jsx_runtime_production=__commonJS({"../../node_modules/.pnpm/react@19.2.8/node_modules/react/cjs/react-jsx-runtime.production.js"(exports){"use strict";var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment");function jsxProd(type,config,maybeKey){var key=null;if(maybeKey!==void 0&&(key=""+maybeKey),config.key!==void 0&&(key=""+config.key),"key"in config){maybeKey={};for(var propName in config)propName!=="key"&&(maybeKey[propName]=config[propName])}else maybeKey=config;return config=maybeKey.ref,{$$typeof:REACT_ELEMENT_TYPE,type,key,ref:config!==void 0?config:null,props:maybeKey}}exports.Fragment=REACT_FRAGMENT_TYPE;exports.jsx=jsxProd;exports.jsxs=jsxProd}});var require_jsx_runtime=__commonJS({"../../node_modules/.pnpm/react@19.2.8/node_modules/react/jsx-runtime.js"(exports,module){"use strict";module.exports=require_react_jsx_runtime_production()}});var __m=__toESM(require_jsx_runtime(),1),Fragment2=__m.Fragment,jsx2=__m.jsx,jsxs2=__m.jsxs,ojm_shim_jsx_runtime_default=__m.default??__m;export{Fragment2 as Fragment,ojm_shim_jsx_runtime_default as default,jsx2 as jsx,jsxs2 as jsxs};
2
+ /*! Bundled license information:
3
+
4
+ react/cjs/react-jsx-runtime.production.js:
5
+ (**
6
+ * @license React
7
+ * react-jsx-runtime.production.js
8
+ *
9
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
10
+ *
11
+ * This source code is licensed under the MIT license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ *)
14
+ */
@@ -0,0 +1 @@
1
+ var __defProp=Object.defineProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})};var dist_exports={};__export(dist_exports,{KeepAlive:()=>je,useEffectOnActive:()=>We,useEffectOnCreate:()=>ot,useKeepAliveContext:()=>b,useKeepAliveRef:()=>le,useKeepaliveRef:()=>Ir,useLayoutEffectOnActive:()=>Ze,useLayoutEffectOnCreate:()=>st});import*as S from"react";import{createContext,memo,useMemo,Fragment as Fragment2,useRef,useLayoutEffect,useState,startTransition,useContext,useCallback,useImperativeHandle,useEffect}from"react";import{jsx,jsxs}from"react/jsx-runtime";import{createPortal}from"react-dom";function mitt_default(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n2){n2(e)}),(i=n.get("*"))&&i.slice().map(function(n2){n2(t,e)})}}}function P(e){return e==null}function _(e){return Object.prototype.toString.call(e)==="[object RegExp]"}function M(e){return Array.isArray(e)}function h(e){return typeof e=="function"}function j(e){return{set:(t,r)=>(e.setAttribute(t,r),j(e))}}function $(e=100){let t;return new Promise((r,i)=>{t=setTimeout(()=>{r(),P(t)||clearTimeout(t)},e)})}function V(e,t){return(M(e)?e:P(e)?[]:[e]).some(i=>_(i)?i.test(t):t===i)}function w(e){setTimeout(e,0)}var F=createContext({active:!1,_cacheKey:"",refresh:()=>{},destroy:()=>Promise.resolve(),destroyAll:()=>Promise.resolve(),destroyOther:()=>Promise.resolve(),getCacheNodes:()=>[]}),he=memo(function(e){let{children:t,active:r,refresh:i,destroy:n,destroyAll:o,destroyOther:d,getCacheNodes:E,_cacheKey:m}=e,R=useMemo(()=>({active:r,refresh:i,destroy:n,destroyAll:o,destroyOther:d,getCacheNodes:E,_cacheKey:m}),[r,i,n,o,d,E,m]);return jsx(F.Provider,{value:R,children:t})}),X=he,Y=S.Activity,Z=Y??S.Fragment,ee=!!Y;function Ke({children:e,active:t,duration:r}){let[i,n]=useState(t),o=useRef(null);return useLayoutEffect(()=>(t?startTransition(()=>{n(!0)}):(o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{n(!1),o.current&&clearTimeout(o.current)},r)),()=>{o.current&&clearTimeout(o.current)}),[t]),jsx(Z,{mode:i?"visible":"hidden",children:e})}var te=memo(Ke,(e,t)=>e.active===t.active&&e.duration===t.duration);te.displayName="MemoizedActivty";var re=te,ce="keepalive-cache-div";function se(e){return e?Array.from(e.children):[]}function J(e){e.forEach(t=>{t.classList.contains(ce)&&t.remove()})}function ne(e,t){let r=se(e);J(r),e.appendChild(t),t.classList.remove("inactive"),t.classList.add("active")}function oe(e,t){let i=se(e).filter(n=>n.classList.contains("active")&&n.getAttribute("data-cache-key")!==t);return i.forEach(n=>{n.classList.remove("active"),n.classList.add("inactive")}),i}function Me(e,t,r){return r?V(r,e):t?!V(t,e):!0}var we=memo(function(e){let{errorElement:t=Fragment2,cacheNodeClassName:r,children:i,cacheKey:n,exclude:o,include:d,enableActivity:E}=e,{active:m,renderCount:R,destroy:L,transition:I,viewTransition:z,duration:g,containerDivRef:O}=e,A=useRef(!1);A.current=A.current||m;let x=useMemo(()=>{let v=document.createElement("div");return j(v).set("data-cache-key",n).set("style","height: 100%").set("data-render-count",R.toString()),v.className=ce+(r?` ${r}`:""),v},[R,r]);return useLayoutEffect(()=>{let v=Me(n,o,d),l=O.current;if(!l){console.warn("keepalive: cache container not found");return}if(I)(async()=>{if(m){let u=oe(l,n);if(await $(g-40),J(u),l.contains(x))return;ne(l,x)}else v||(await $(g),L(n))})();else if(m){let u=()=>{let D=oe(l,n);J(D),!l.contains(x)&&ne(l,x)};z&&document.startViewTransition?document.startViewTransition(u):u()}else v||L(n)},[m,O,n,o,d]),A.current?createPortal(jsx(t,{children:ee&&E?jsx(re,{active:m,duration:g,children:i}):i}),x,n):null},(e,t)=>e.active===t.active&&e.renderCount===t.renderCount&&e.children===t.children&&e.exclude===t.exclude&&e.include===t.include),ae=we,Fe=e=>{typeof startTransition<"u"&&h(startTransition)?startTransition(e):e()},ue=Fe,ke=mitt_default(),f=ke;function le(){return useRef(null)}function _e(e){let{activeCacheKey:t,max:r=10,exclude:i,include:n,onBeforeActive:o,customContainerRef:d,cacheNodeClassName:E="cache-component",containerClassName:m="keep-alive-render",errorElement:R,transition:L=!1,viewTransition:I=!1,duration:z=200,children:g,aliveRef:O,maxAliveTime:A=0,enableActivity:x=!1}=e,v=d||useRef(null),[l,u]=useState([]);useLayoutEffect(()=>{P(t)||ue(()=>{u(a=>{let s=Date.now();if(a.find(c=>c.cacheKey===t))return a.map(c=>{if(c.cacheKey===t){let y=!1;if(h(o)&&o(t),A){let K=c.lastActiveTime;if(M(A)){let C=A.find(N=>_(N.match)?N.match.test(t):N.match===t);C&&(y=C&&K+C.expire*1e3<s)}else y=K+A*1e3<s}return y&&f.emit("destroy",[t]),{...c,ele:g,lastActiveTime:s,renderCount:y?c.renderCount+1:c.renderCount}}return c});if(h(o)&&o(t),a.length>r){let c=a.reduce((C,N)=>C.lastActiveTime<N.lastActiveTime?C:N),K=a.splice(a.indexOf(c),1).map(C=>C.cacheKey);f.emit("destroy",K)}return[...a,{cacheKey:t,lastActiveTime:s,ele:g,renderCount:0}]})})},[t,g]);let D=useCallback(a=>{u(s=>{let p=a||t;return f.emit("refresh",p),s.map(c=>c.cacheKey===p?{...c,renderCount:c.renderCount+1}:c)})},[u,t]),B=useCallback(a=>{let s=a||t,p=M(s)?s:[s];return f.emit("destroy",p),new Promise(c=>{w(()=>{u(y=>[...y.filter(K=>!p.includes(K.cacheKey))]),c()})})},[u,t]),G=useCallback(()=>new Promise(a=>{f.emit("destroyAll"),w(()=>{u([]),a()})}),[u]),Q=useCallback(a=>{let s=a||t;return new Promise(p=>{f.emit("destroyOther",s),w(()=>{u(c=>[...c.filter(y=>y.cacheKey===s)]),p()})})},[t,u]),W=useCallback(()=>l,[l]);return useImperativeHandle(O,()=>({refresh:D,destroy:B,destroyAll:G,destroyOther:Q,getCacheNodes:W})),jsxs(Fragment2,{children:[jsx("div",{ref:v,className:m,style:{height:"100%"}}),l.map(a=>{let{cacheKey:s,ele:p,renderCount:c}=a;return jsx(X,{active:t===s,refresh:D,destroy:B,destroyAll:G,destroyOther:Q,getCacheNodes:W,_cacheKey:s,children:jsx(ae,{destroy:B,include:n,exclude:i,transition:L,viewTransition:I,duration:z,renderCount:c,containerDivRef:v,errorElement:R,active:t===s,cacheNodeClassName:E,cacheKey:s,enableActivity:x,children:p})},`${s}-${c}`)})]})}var je=_e,Je=()=>useContext(F),b=Je;function qe(e,t,r=!1,i){let{active:n}=b(),o=useRef(!1);i(()=>{if(!n)return;if(r&&!o.current){o.current=!0;return}let d=e();return()=>{h(d)&&d()}},[n,...t])}var k=qe,Qe=(e,t,r=!1)=>{k(e,t,r,useEffect)},We=Qe,Ye=(e,t,r=!1)=>{k(e,t,r,useLayoutEffect)},Ze=Ye;function et(e,t){f.on("destroy",r=>{r.includes(t)&&e()}),f.on("destroyAll",()=>{e()}),f.on("destroyOther",r=>{r!==t&&e()}),f.on("refresh",r=>{r===t&&e()})}var de=et;function tt(e,t){let r=useRef(!1),i=useRef(!1),{_cacheKey:n}=b();t(()=>{let o;r.current===!1&&(r.current=!0,o=e()),de(()=>{h(o)&&!i.current&&(i.current=!0,o())},n)},[])}var H=tt,nt=e=>{H(e,useEffect)},ot=nt,ct=e=>{H(e,useLayoutEffect)},st=ct,Ir=le;var ojm_shim_keepalive_for_react_default=void 0??dist_exports;export{je as KeepAlive,ojm_shim_keepalive_for_react_default as default,We as useEffectOnActive,ot as useEffectOnCreate,b as useKeepAliveContext,le as useKeepAliveRef,Ir as useKeepaliveRef,Ze as useLayoutEffectOnActive,st as useLayoutEffectOnCreate};
@@ -0,0 +1 @@
1
+ var __defProp=Object.defineProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})};var kit_exports={};__export(kit_exports,{AvatarInput:()=>AvatarInput,DEFAULT_CRITERIA:()=>DEFAULT_CRITERIA,PasswordStrength:()=>PasswordStrength});import{Avatar,Flex,Typography,Upload,theme}from"antd";import{jsx,jsxs}from"react/jsx-runtime";import{useMemo}from"react";function AvatarInput({value,onChange,onError,size=96,shape="circle",disabled=!1,accept="image/*",maxSizeMB=2,placeholder}){return jsx(Upload,{accept,beforeUpload:file=>file.type.startsWith("image/")?file.size/1024/1024<=maxSizeMB?(onChange?.(file),!1):(onError?.("size"),Upload.LIST_IGNORE):(onError?.("type"),Upload.LIST_IGNORE),disabled,maxCount:1,showUploadList:!1,children:jsx(Avatar,{shape,size,src:value,style:{cursor:disabled?"not-allowed":"pointer"},children:placeholder??"\u4E0A\u4F20"})})}var DEFAULT_CRITERIA=[{key:"length",label:"\u81F3\u5C11 8 \u4E2A\u5B57\u7B26",test:p=>p.length>=8},{key:"lower",label:"\u5305\u542B\u5C0F\u5199\u5B57\u6BCD",test:p=>/[a-z]/.test(p)},{key:"upper",label:"\u5305\u542B\u5927\u5199\u5B57\u6BCD",test:p=>/[A-Z]/.test(p)},{key:"digit",label:"\u5305\u542B\u6570\u5B57",test:p=>/\d/.test(p)},{key:"symbol",label:"\u5305\u542B\u7B26\u53F7",test:p=>/[^A-Z0-9]/i.test(p)}];function PasswordStrength({password,showCriteria=!0,criteria=DEFAULT_CRITERIA}){let{token}=theme.useToken(),level=useMemo(()=>{if(!password)return{activeBars:0,message:"",color:token.colorFillTertiary};let passed=criteria.filter(c=>c.test(password)).length;return passed<=2?{activeBars:1,message:"\u5BC6\u7801\u5F3A\u5EA6\uFF1A\u5F31",color:token.colorError}:passed<=4?{activeBars:2,message:"\u5BC6\u7801\u5F3A\u5EA6\uFF1A\u4E2D",color:token.colorWarning}:{activeBars:3,message:"\u5BC6\u7801\u5F3A\u5EA6\uFF1A\u5F3A",color:token.colorSuccess}},[password,criteria,token]);return!password&&!showCriteria?null:jsxs(Flex,{vertical:!0,gap:8,children:[password&&jsxs(Flex,{vertical:!0,gap:4,children:[jsx(Flex,{gap:4,children:[0,1,2].map(i=>jsx("div",{style:{height:4,flex:1,borderRadius:2,backgroundColor:i<level.activeBars?level.color:token.colorFillTertiary}},i))}),jsx(Typography.Text,{style:{color:level.color,fontSize:12},children:level.message})]}),showCriteria&&jsx(Flex,{wrap:!0,gap:8,children:criteria.map(c=>{let valid=c.test(password);return jsxs(Typography.Text,{style:{fontSize:12,color:valid?token.colorSuccess:token.colorTextTertiary},children:[valid?"\u2713 ":"\xB7 ",c.label]},c.key)})})]})}var ojm_shim_kit_default=void 0??kit_exports;export{AvatarInput,DEFAULT_CRITERIA,PasswordStrength,ojm_shim_kit_default as default};
@@ -0,0 +1,6 @@
1
+ var __defProp=Object.defineProperty;var __typeError=msg=>{throw TypeError(msg)};var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})};var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value),__accessCheck=(obj,member,msg)=>member.has(obj)||__typeError("Cannot "+msg);var __privateGet=(obj,member,getter)=>(__accessCheck(obj,member,"read from private field"),getter?getter.call(obj):member.get(obj)),__privateAdd=(obj,member,value)=>member.has(obj)?__typeError("Cannot add the same private member more than once"):member instanceof WeakSet?member.add(obj):member.set(obj,value),__privateSet=(obj,member,value,setter)=>(__accessCheck(obj,member,"write to private field"),setter?setter.call(obj,value):member.set(obj,value),value),__privateMethod=(obj,member,method)=>(__accessCheck(obj,member,"access private method"),method);var __privateWrapper=(obj,member,setter,getter)=>({set _(value){__privateSet(obj,member,value,setter)},get _(){return __privateGet(obj,member,getter)}});var distribution_exports={};__export(distribution_exports,{ForceRetryError:()=>ForceRetryError,HTTPError:()=>HTTPError,KyError:()=>KyError,NetworkError:()=>NetworkError,SchemaValidationError:()=>SchemaValidationError,TimeoutError:()=>TimeoutError,default:()=>distribution_default,isForceRetryError:()=>isForceRetryError,isHTTPError:()=>isHTTPError,isKyError:()=>isKyError,isNetworkError:()=>isNetworkError,isTimeoutError:()=>isTimeoutError,replaceOption:()=>replaceOption});var KyError=class extends Error{constructor(){super(...arguments);__publicField(this,"name","KyError")}get isKyError(){return!0}};var HTTPError=class extends KyError{constructor(response,request,options){let code=response.status||response.status===0?response.status:"",title=response.statusText??"",status=`${code} ${title}`.trim(),reason=status?`status code ${status}`:"an unknown error";super(`Request failed with ${reason}: ${request.method} ${request.url}`);__publicField(this,"name","HTTPError");__publicField(this,"response");__publicField(this,"request");__publicField(this,"options");__publicField(this,"data");this.response=response,this.request=request,this.options=options}};var NetworkError=class extends KyError{constructor(request,options){super(`Request failed due to a network error: ${request.method} ${request.url}`,options);__publicField(this,"name","NetworkError");__publicField(this,"request");this.request=request}};var NonError=class extends Error{constructor(value){let message="Non-error value was thrown";try{typeof value=="string"?message=value:value&&typeof value=="object"&&"message"in value&&typeof value.message=="string"&&(message=value.message)}catch{}super(message);__publicField(this,"name","NonError");__publicField(this,"value");this.value=value}};var ForceRetryError=class extends KyError{constructor(options){let cause=options?.cause?options.cause instanceof Error?options.cause:new NonError(options.cause):void 0;super(options?.code?`Forced retry: ${options.code}`:"Forced retry",cause?{cause}:void 0);__publicField(this,"name","ForceRetryError");__publicField(this,"customDelay");__publicField(this,"code");__publicField(this,"customRequest");this.customDelay=options?.delay,this.code=options?.code,this.customRequest=options?.request}};var SchemaValidationError=class extends Error{constructor(issues){super("Response schema validation failed");__publicField(this,"name","SchemaValidationError");__publicField(this,"issues");this.issues=issues}};var TimeoutError=class extends KyError{constructor(request){super(`Request timed out: ${request.method} ${request.url}`);__publicField(this,"name","TimeoutError");__publicField(this,"request");this.request=request}};var supportsRequestStreams=(()=>{let duplexAccessed=!1,hasContentType=!1,supportsReadableStream=typeof globalThis.ReadableStream=="function",supportsRequest=typeof globalThis.Request=="function";if(supportsReadableStream&&supportsRequest)try{hasContentType=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return duplexAccessed=!0,"half"}}).headers.has("Content-Type")}catch(error){if(error instanceof Error&&error.message==="unsupported BodyInit type")return!1;throw error}return duplexAccessed&&!hasContentType})(),supportsAbortController=typeof globalThis.AbortController=="function",supportsAbortSignal=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",supportsResponseStreams=typeof globalThis.ReadableStream=="function",supportsFormData=typeof globalThis.FormData=="function",requestMethods=["get","post","put","patch","head","delete"],validate=()=>{};validate();var responseTypes={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},maxSafeTimeout=2147483647,usualFormBoundarySize=40,stop=Symbol("stop"),RetryMarker=class{constructor(options){__publicField(this,"options");this.options=options}},retry=options=>new RetryMarker(options),kyOptionKeys={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,baseUrl:!0,prefix:!0,retry:!0,timeout:!0,totalTimeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},requestOptionsRegistry={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0};var encoder=new TextEncoder,getBodySize=body=>{if(!body)return 0;if(body instanceof FormData){let size=0;for(let[key,value]of body)size+=usualFormBoundarySize,size+=encoder.encode(`Content-Disposition: form-data; name="${key}"`).byteLength,size+=typeof value=="string"?encoder.encode(value).byteLength:value.size;return size}return body instanceof Blob?body.size:body instanceof ArrayBuffer||ArrayBuffer.isView(body)?body.byteLength:typeof body=="string"?encoder.encode(body).byteLength:body instanceof URLSearchParams?encoder.encode(body.toString()).byteLength:0},withProgress=(stream,totalBytes,onProgress)=>{let previousChunk,transferredBytes=0;return stream.pipeThrough(new TransformStream({transform(currentChunk,controller){if(controller.enqueue(currentChunk),previousChunk){transferredBytes+=previousChunk.byteLength;let percent=totalBytes===0?0:transferredBytes/totalBytes;percent>=1&&(percent=1-Number.EPSILON),onProgress?.({percent,totalBytes:Math.max(totalBytes,transferredBytes),transferredBytes},previousChunk)}previousChunk=currentChunk},flush(){previousChunk&&(transferredBytes+=previousChunk.byteLength,onProgress?.({percent:1,totalBytes:Math.max(totalBytes,transferredBytes),transferredBytes},previousChunk))}}))},streamResponse=(response,onDownloadProgress)=>{if(!response.body)return response;let responseInit={status:response.status,statusText:response.statusText,headers:response.headers};if(response.status===204)return new Response(null,responseInit);let totalBytes=Math.max(0,Number(response.headers.get("content-length"))||0);return new Response(withProgress(response.body,totalBytes,onDownloadProgress),responseInit)},streamRequest=(request,onUploadProgress,originalBody)=>{if(!request.body)return request;let totalBytes=getBodySize(originalBody??request.body);return new Request(request,{duplex:"half",body:withProgress(request.body,totalBytes,onUploadProgress)})};var isObject=value=>value!==null&&typeof value=="object";var replaceSymbol=Symbol("replaceOption"),getReplaceState=value=>isObject(value)&&value[replaceSymbol]===!0?{isReplace:!0,value:value.value}:{isReplace:!1,value},replaceOption=value=>({[replaceSymbol]:!0,value}),validateAndMerge=(...sources)=>{for(let source of sources)if((!isObject(source)||Array.isArray(source))&&source!==void 0)throw new TypeError("The `options` argument must be an object");return deepMerge({},...sources)},mergeHeaders=(source1={},source2={})=>{let result=new globalThis.Headers(source1),isHeadersInstance=source2 instanceof globalThis.Headers,source=new globalThis.Headers(source2);for(let[key,value]of source.entries())isHeadersInstance&&value==="undefined"||value===void 0?result.delete(key):result.set(key,value);return result},isPlainObject=value=>{if(!isObject(value)||Array.isArray(value))return!1;let prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null},cloneShallow=value=>{if(value instanceof URLSearchParams){let copy=new URLSearchParams(value),deleted=value[deletedParametersSymbol];return deleted&&(copy[deletedParametersSymbol]=new Set(deleted)),copy}return value instanceof globalThis.Headers?new globalThis.Headers(value):Array.isArray(value)?[...value]:isPlainObject(value)?{...value}:value},normalizeHeaderObject=headers=>Object.fromEntries(Object.entries(headers).filter(entry=>entry[1]!==void 0)),mergeHeaderContainers=(source1,source2)=>isPlainObject(source1)&&isPlainObject(source2)?normalizeHeaderObject({...source1,...source2}):mergeHeaders(source1,source2);function newHookValue(original,incoming,property){return Object.hasOwn(incoming,property)&&incoming[property]===void 0?[]:deepMerge(original[property]??[],incoming[property]??[])}var mergeHooks=(original={},incoming={})=>({init:newHookValue(original,incoming,"init"),beforeRequest:newHookValue(original,incoming,"beforeRequest"),beforeRetry:newHookValue(original,incoming,"beforeRetry"),beforeError:newHookValue(original,incoming,"beforeError"),afterResponse:newHookValue(original,incoming,"afterResponse")}),deletedParametersSymbol=Symbol("deletedParameters"),appendSearchParameters=(target,source)=>{let result=new URLSearchParams,deleted=new Set;for(let input of[target,source])if(input!==void 0)if(input instanceof URLSearchParams){for(let[key,value]of input.entries())result.append(key,value),deleted.delete(key);let inputDeleted=input[deletedParametersSymbol];if(inputDeleted)for(let key of inputDeleted)result.delete(key),deleted.add(key)}else if(Array.isArray(input))for(let pair of input){if(!Array.isArray(pair)||pair.length!==2)throw new TypeError("Array search parameters must be provided in [[key, value], ...] format");result.append(String(pair[0]),String(pair[1])),deleted.delete(String(pair[0]))}else if(isObject(input))for(let[key,value]of Object.entries(input))value===void 0?(result.delete(key),deleted.add(key)):(result.append(key,String(value)),deleted.delete(key));else{let parameters=new URLSearchParams(input);for(let[key,value]of parameters.entries())result.append(key,value),deleted.delete(key)}return deleted.size>0&&(result[deletedParametersSymbol]=deleted),result},deepMerge=(...sources)=>{let returnValue={},headers={},hooks={},searchParameters,signals=[];for(let source of sources)if(Array.isArray(source))Array.isArray(returnValue)||(returnValue=[]),returnValue=[...returnValue,...source];else if(isObject(source)){for(let[key,value]of Object.entries(source)){if(key==="signal"&&value instanceof globalThis.AbortSignal){signals.push(value);continue}let replaceState=getReplaceState(value),{isReplace}=replaceState;if(value=replaceState.value,key==="context"){if(value!=null&&(!isObject(value)||Array.isArray(value)))throw new TypeError("The `context` option must be an object");returnValue={...returnValue,context:value==null?{}:isReplace?{...value}:{...returnValue.context,...value}};continue}if(key==="searchParams"){value==null?searchParameters=void 0:isReplace?searchParameters=value:searchParameters=searchParameters===void 0?value:appendSearchParameters(searchParameters,value);continue}isObject(value)&&!isReplace&&key in returnValue&&(value=deepMerge(returnValue[key],value)),returnValue={...returnValue,[key]:value}}if(isObject(source.hooks)){let{value:hookValue,isReplace}=getReplaceState(source.hooks);hooks=mergeHooks(isReplace?{}:hooks,hookValue),returnValue.hooks=hooks}if(isObject(source.headers)){let{value:headerValue,isReplace}=getReplaceState(source.headers);headers=isReplace?cloneShallow(headerValue):mergeHeaderContainers(headers,headerValue),returnValue.headers=headers}}return searchParameters!==void 0&&(returnValue.searchParams=searchParameters),signals.length>0&&(signals.length===1?returnValue.signal=signals[0]:supportsAbortSignal?returnValue.signal=AbortSignal.any(signals):returnValue.signal=signals.at(-1)),returnValue};var normalizeRequestMethod=input=>requestMethods.includes(input)?input.toUpperCase():input,retryMethods=["get","put","head","delete","options","trace"],retryStatusCodes=[408,413,429,500,502,503,504],retryAfterStatusCodes=[413,429,503],defaultRetryOptions={limit:2,methods:retryMethods,statusCodes:retryStatusCodes,afterStatusCodes:retryAfterStatusCodes,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:attemptCount=>.3*2**(attemptCount-1)*1e3,jitter:void 0,retryOnTimeout:!1},normalizeRetryOptions=(retry2={})=>{if(typeof retry2=="number")return{...defaultRetryOptions,limit:retry2};if(retry2.methods&&!Array.isArray(retry2.methods))throw new Error("retry.methods must be an array");if(retry2.statusCodes&&!Array.isArray(retry2.statusCodes))throw new Error("retry.statusCodes must be an array");let normalizedRetry=Object.fromEntries(Object.entries({...retry2,methods:retry2.methods?.map(method=>method.toLowerCase())}).filter(([,value])=>value!==void 0));return{...defaultRetryOptions,...normalizedRetry}};async function timeout(request,init,abortController,options){return new Promise((resolve,reject)=>{let timeoutId=setTimeout(()=>{abortController&&abortController.abort(),reject(new TimeoutError(request))},options.timeout);options.fetch(request,init).then(resolve).catch(reject).then(()=>{clearTimeout(timeoutId)})})}async function delay(ms,{signal}){return new Promise((resolve,reject)=>{signal&&(signal.throwIfAborted(),signal.addEventListener("abort",abortHandler,{once:!0}));function abortHandler(){clearTimeout(timeoutId),reject(signal.reason)}let timeoutId=setTimeout(()=>{signal?.removeEventListener("abort",abortHandler),resolve()},ms)})}var findUnknownOptions=options=>{let unknownOptions={};for(let key in options)Object.hasOwn(options,key)&&!(key in requestOptionsRegistry)&&!(key in kyOptionKeys)&&(unknownOptions[key]=options[key]);return unknownOptions},hasSearchParameters=search=>search===void 0?!1:Array.isArray(search)?search.length>0:search instanceof URLSearchParams?search.size>0||!!search[deletedParametersSymbol]?.size:typeof search=="object"?Object.keys(search).length>0:typeof search=="string"?search.trim().length>0:!!search;var objectToString=Object.prototype.toString,isError=value=>objectToString.call(value)==="[object Error]",errorMessages=new Set(["network error","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function isRawNetworkError(error){if(!(error&&isError(error)&&error.name==="TypeError"&&typeof error.message=="string"))return!1;let{message,stack}=error;return message==="Load failed"?stack===void 0||"__sentry_captured__"in error:message.startsWith("error sending request for url")||message==="Failed to fetch"||message.startsWith("Failed to fetch (")&&message.endsWith(")")?!0:errorMessages.has(message)}var isErrorType=(error,cls)=>error instanceof cls||error?.name===cls.name;function isKyError(error){return error?.isKyError===!0||isHTTPError(error)||isNetworkError(error)||isTimeoutError(error)||isForceRetryError(error)}function isHTTPError(error){return isErrorType(error,HTTPError)}function isNetworkError(error){return isErrorType(error,NetworkError)}function isTimeoutError(error){return isErrorType(error,TimeoutError)}function isForceRetryError(error){return isErrorType(error,ForceRetryError)}var maxErrorResponseBodySize=10*1024*1024,prefixUrlRenamedErrorMessage="The `prefixUrl` option has been renamed `prefix` in v2 and enhanced to allow slashes in input. See also the new `baseUrl` option for improved flexibility with standard URL resolution: https://github.com/sindresorhus/ky#baseurl",timedOutResponseData=Symbol("timedOutResponseData"),createTextDecoder=contentType=>{let match=/;\s*charset\s*=\s*(?:"([^"]+)"|([^;,\s]+))/i.exec(contentType),charset=match?.[1]??match?.[2];if(charset)try{return new TextDecoder(charset)}catch{}return new TextDecoder},invalidSchemaMessage="The `schema` argument must follow the Standard Schema specification",cloneRetryOptions=retry2=>typeof retry2!="object"?retry2:{...retry2,...retry2.methods&&{methods:[...retry2.methods]},...retry2.statusCodes&&{statusCodes:[...retry2.statusCodes]},...retry2.afterStatusCodes&&{afterStatusCodes:[...retry2.afterStatusCodes]}},objectToString2=Object.prototype.toString,isRequestInstance=value=>value instanceof globalThis.Request||objectToString2.call(value)==="[object Request]",isResponseInstance=value=>value instanceof globalThis.Response||objectToString2.call(value)==="[object Response]",cloneSearchParametersForInitHook=searchParameters=>Array.isArray(searchParameters)?searchParameters.map(parameter=>[...parameter]):cloneShallow(searchParameters);function cloneInitHookOptions(options){let clonedOptions={...options,json:cloneShallow(options.json),context:cloneShallow(options.context),headers:cloneShallow(options.headers),searchParams:cloneSearchParametersForInitHook(options.searchParams)};return options.retry!==void 0&&(clonedOptions.retry=cloneRetryOptions(options.retry)),clonedOptions}var validateJsonWithSchema=async(jsonValue,schema)=>{if(typeof schema!="object"&&typeof schema!="function"||schema===null)throw new TypeError(invalidSchemaMessage);let standardSchema=schema["~standard"];if(typeof standardSchema!="object"||standardSchema===null||typeof standardSchema.validate!="function")throw new TypeError(invalidSchemaMessage);let validationResult=await standardSchema.validate(jsonValue);if(validationResult.issues)throw new SchemaValidationError(validationResult.issues);return validationResult.value},_Ky_static,normalizeSearchParams_fn,_abortController,_retryCount,_input,_options,_originalRequest,_userProvidedAbortSignal,_beforeRetryHookErrors,_cachedNormalizedOptions,_startTime,_returnedResponseFromBeforeRetryHook,_responseRequests,_Ky_instances,calculateDelay_fn,calculateRetryDelay_fn,decorateResponse_fn,getResponseData_fn,getErrorDataTimeout_fn,isJsonContentType_fn,readResponseText_fn,parseJson_fn,cancelBody_fn,cancelResponseBody_fn,createManagedSignal_fn,throwIfTotalTimeoutExhausted_fn,runBeforeRequestHooks_fn,runAfterResponseHooks_fn,retry_fn,retryFromError_fn,consumeReturnedResponseFromBeforeRetryHook_fn,fetch_fn,getRemainingTotalTimeout_fn,getCurrentTime_fn,getNormalizedOptions_fn,assignRequest_fn,getResponseRequest_fn,setResponseRequest_fn,wrapRequestWithUploadProgress_fn,_Ky=class _Ky{constructor(input,options={}){__privateAdd(this,_Ky_instances);__publicField(this,"request");__privateAdd(this,_abortController);__privateAdd(this,_retryCount,0);__privateAdd(this,_input);__privateAdd(this,_options);__privateAdd(this,_originalRequest);__privateAdd(this,_userProvidedAbortSignal);__privateAdd(this,_beforeRetryHookErrors,new WeakSet);__privateAdd(this,_cachedNormalizedOptions);__privateAdd(this,_startTime);__privateAdd(this,_returnedResponseFromBeforeRetryHook,!1);__privateAdd(this,_responseRequests,new WeakMap);var _a;if(__privateSet(this,_input,input),Object.hasOwn(options,"prefixUrl"))throw new Error(prefixUrlRenamedErrorMessage);if(__privateSet(this,_options,{...options,headers:mergeHeaders(__privateGet(this,_input).headers,options.headers),hooks:mergeHooks({},options.hooks),method:normalizeRequestMethod(options.method??__privateGet(this,_input).method??"GET"),prefix:String(options.prefix||""),retry:normalizeRetryOptions(options.retry),throwHttpErrors:options.throwHttpErrors??!0,timeout:options.timeout??1e4,totalTimeout:options.totalTimeout??!1,fetch:options.fetch??globalThis.fetch.bind(globalThis),context:options.context??{}}),typeof __privateGet(this,_input)!="string"&&!(__privateGet(this,_input)instanceof URL||__privateGet(this,_input)instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(typeof __privateGet(this,_input)=="string"){if(__privateGet(this,_options).prefix){let normalizedPrefix=__privateGet(this,_options).prefix.replace(/\/+$/,""),normalizedInput=__privateGet(this,_input).replace(/^\/+/,"");__privateSet(this,_input,`${normalizedPrefix}/${normalizedInput}`)}if(__privateGet(this,_options).baseUrl){let absoluteInput;try{absoluteInput=new URL(__privateGet(this,_input))}catch{}absoluteInput||__privateSet(this,_input,new URL(__privateGet(this,_input),new Request(__privateGet(this,_options).baseUrl).url))}}supportsAbortController&&supportsAbortSignal&&(__privateSet(this,_userProvidedAbortSignal,__privateGet(this,_options).signal??__privateGet(this,_input).signal),__privateSet(this,_abortController,new globalThis.AbortController),__privateGet(this,_options).signal=__privateMethod(this,_Ky_instances,createManagedSignal_fn).call(this)),supportsRequestStreams&&(__privateGet(this,_options).duplex="half"),__privateGet(this,_options).json!==void 0&&(__privateGet(this,_options).body=__privateGet(this,_options).stringifyJson?.(__privateGet(this,_options).json)??JSON.stringify(__privateGet(this,_options).json),__privateGet(this,_options).headers.set("content-type",__privateGet(this,_options).headers.get("content-type")??"application/json"));let userProvidedContentType=options.headers&&new globalThis.Headers(options.headers).has("content-type");if(__privateGet(this,_input)instanceof globalThis.Request&&(supportsFormData&&__privateGet(this,_options).body instanceof globalThis.FormData||__privateGet(this,_options).body instanceof URLSearchParams)&&!userProvidedContentType&&__privateGet(this,_options).headers.delete("content-type"),this.request=new globalThis.Request(__privateGet(this,_input),__privateGet(this,_options)),hasSearchParameters(__privateGet(this,_options).searchParams)){let url=new URL(this.request.url),deleted=__privateGet(this,_options).searchParams?.[deletedParametersSymbol];if(deleted)for(let key of deleted)url.searchParams.delete(key);if(typeof __privateGet(this,_options).searchParams=="string"){let stringSearchParameters=__privateGet(this,_options).searchParams.replace(/^\?/,"");stringSearchParameters!==""&&(url.search=url.search?`${url.search}&${stringSearchParameters}`:`?${stringSearchParameters}`)}else{let optionsSearchParameters=new URLSearchParams(__privateMethod(_a=_Ky,_Ky_static,normalizeSearchParams_fn).call(_a,__privateGet(this,_options).searchParams));for(let[key,value]of optionsSearchParameters.entries())url.searchParams.append(key,value)}if(__privateGet(this,_options).searchParams&&typeof __privateGet(this,_options).searchParams=="object"&&!Array.isArray(__privateGet(this,_options).searchParams)&&!(__privateGet(this,_options).searchParams instanceof URLSearchParams))for(let[key,value]of Object.entries(__privateGet(this,_options).searchParams))value===void 0&&url.searchParams.delete(key);this.request=new globalThis.Request(url,__privateGet(this,_options))}if(__privateGet(this,_options).onUploadProgress&&typeof __privateGet(this,_options).onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");__privateSet(this,_startTime,typeof __privateGet(this,_options).totalTimeout=="number"?__privateMethod(this,_Ky_instances,getCurrentTime_fn).call(this):void 0)}static create(input,options){let initHooks=options.hooks?.init??[],initHookOptions=initHooks.length>0?cloneInitHookOptions(options):options;for(let hook of initHooks)hook(initHookOptions);let ky2=new _Ky(input,initHookOptions),function_=async()=>{var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m;if(typeof __privateGet(ky2,_options).timeout=="number"&&__privateGet(ky2,_options).timeout>maxSafeTimeout)throw new RangeError(`The \`timeout\` option cannot be greater than ${maxSafeTimeout}`);if(typeof __privateGet(ky2,_options).totalTimeout=="number"&&__privateGet(ky2,_options).totalTimeout>maxSafeTimeout)throw new RangeError(`The \`totalTimeout\` option cannot be greater than ${maxSafeTimeout}`);await Promise.resolve();let beforeRequestResponse=await __privateMethod(_a=ky2,_Ky_instances,runBeforeRequestHooks_fn).call(_a),response=beforeRequestResponse??await __privateMethod(_b=ky2,_Ky_instances,retry_fn).call(_b,async()=>{var _a2;return __privateMethod(_a2=ky2,_Ky_instances,fetch_fn).call(_a2)}),responseFromHook=beforeRequestResponse!==void 0||__privateMethod(_c=ky2,_Ky_instances,consumeReturnedResponseFromBeforeRetryHook_fn).call(_c);for(;;){if(response===void 0)return response;if(isResponseInstance(response))try{response=await __privateMethod(_d=ky2,_Ky_instances,runAfterResponseHooks_fn).call(_d,response)}catch(error){if(!(error instanceof ForceRetryError))throw error;let retriedResponse=await __privateMethod(_e=ky2,_Ky_instances,retryFromError_fn).call(_e,error,async()=>{var _a2;return __privateMethod(_a2=ky2,_Ky_instances,fetch_fn).call(_a2)});if(retriedResponse===void 0)return retriedResponse;response=retriedResponse,responseFromHook=__privateMethod(_f=ky2,_Ky_instances,consumeReturnedResponseFromBeforeRetryHook_fn).call(_f);continue}let currentResponse=response;if(!currentResponse.ok&&currentResponse.type!=="opaque"&&(typeof __privateGet(ky2,_options).throwHttpErrors=="function"?__privateGet(ky2,_options).throwHttpErrors(currentResponse.status):__privateGet(ky2,_options).throwHttpErrors)){let httpError=new HTTPError(currentResponse,__privateMethod(_g=ky2,_Ky_instances,getResponseRequest_fn).call(_g,currentResponse),__privateMethod(_h=ky2,_Ky_instances,getNormalizedOptions_fn).call(_h)),errorToThrow=httpError;if(httpError.data=await __privateMethod(_i=ky2,_Ky_instances,getResponseData_fn).call(_i,currentResponse),responseFromHook)throw errorToThrow;let retriedResponse=await __privateMethod(_j=ky2,_Ky_instances,retryFromError_fn).call(_j,httpError,async()=>{var _a2;return __privateMethod(_a2=ky2,_Ky_instances,fetch_fn).call(_a2)});if(retriedResponse===void 0)return retriedResponse;response=retriedResponse,responseFromHook=__privateMethod(_k=ky2,_Ky_instances,consumeReturnedResponseFromBeforeRetryHook_fn).call(_k);continue}break}if(!isResponseInstance(response))return response;if(__privateMethod(_l=ky2,_Ky_instances,decorateResponse_fn).call(_l,response),__privateGet(ky2,_options).onDownloadProgress){if(typeof __privateGet(ky2,_options).onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!supportsResponseStreams)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");let progressResponse=response.clone();return __privateMethod(_m=ky2,_Ky_instances,cancelResponseBody_fn).call(_m,response),streamResponse(progressResponse,__privateGet(ky2,_options).onDownloadProgress)}return response},result=(async()=>{var _a,_b,_c;try{return await function_()}catch(error){if(!(error instanceof Error)||__privateGet(ky2,_beforeRetryHookErrors).has(error))throw error;let processedError=error;for(let hook of __privateGet(ky2,_options).hooks.beforeError){let hookResult=await hook({request:ky2.request,options:__privateMethod(_a=ky2,_Ky_instances,getNormalizedOptions_fn).call(_a),error:processedError,retryCount:__privateGet(ky2,_retryCount)});hookResult instanceof Error&&(processedError=hookResult)}throw processedError}finally{let originalRequest=__privateGet(ky2,_originalRequest);__privateMethod(_b=ky2,_Ky_instances,cancelBody_fn).call(_b,originalRequest?.body??void 0),ky2.request!==originalRequest&&__privateMethod(_c=ky2,_Ky_instances,cancelBody_fn).call(_c,ky2.request.body??void 0)}})();for(let[type,mimeType]of Object.entries(responseTypes))type==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(result[type]=async schema=>{var _a;ky2.request.headers.set("accept",ky2.request.headers.get("accept")||mimeType);let response=await result;if(type!=="json")return response[type]();let text=await response.text();if(text==="")return schema!==void 0?validateJsonWithSchema(void 0,schema):JSON.parse(text);let jsonValue=initHookOptions.parseJson?await initHookOptions.parseJson(text,{request:__privateMethod(_a=ky2,_Ky_instances,getResponseRequest_fn).call(_a,response),response}):JSON.parse(text);return schema===void 0?jsonValue:validateJsonWithSchema(jsonValue,schema)});return result}};_Ky_static=new WeakSet,normalizeSearchParams_fn=function(searchParams){return searchParams&&typeof searchParams=="object"&&!Array.isArray(searchParams)&&!(searchParams instanceof URLSearchParams)?Object.fromEntries(Object.entries(searchParams).filter(([,value])=>value!==void 0)):searchParams},_abortController=new WeakMap,_retryCount=new WeakMap,_input=new WeakMap,_options=new WeakMap,_originalRequest=new WeakMap,_userProvidedAbortSignal=new WeakMap,_beforeRetryHookErrors=new WeakMap,_cachedNormalizedOptions=new WeakMap,_startTime=new WeakMap,_returnedResponseFromBeforeRetryHook=new WeakMap,_responseRequests=new WeakMap,_Ky_instances=new WeakSet,calculateDelay_fn=function(){let retryDelay=__privateGet(this,_options).retry.delay(__privateGet(this,_retryCount)+1),jitteredDelay=retryDelay;return __privateGet(this,_options).retry.jitter===!0?jitteredDelay=Math.random()*retryDelay:typeof __privateGet(this,_options).retry.jitter=="function"&&(jitteredDelay=__privateGet(this,_options).retry.jitter(retryDelay),(!Number.isFinite(jitteredDelay)||jitteredDelay<0)&&(jitteredDelay=retryDelay)),Math.min(__privateGet(this,_options).retry.backoffLimit,jitteredDelay)},calculateRetryDelay_fn=async function(error){if(__privateGet(this,_retryCount)>=__privateGet(this,_options).retry.limit)throw error;let errorObject=error instanceof Error?error:new NonError(error);if(errorObject instanceof ForceRetryError)return errorObject.customDelay??__privateMethod(this,_Ky_instances,calculateDelay_fn).call(this);if(!__privateGet(this,_options).retry.methods.includes(this.request.method.toLowerCase()))throw error;if(__privateGet(this,_options).retry.shouldRetry!==void 0){let result=await __privateGet(this,_options).retry.shouldRetry({error:errorObject,retryCount:__privateGet(this,_retryCount)+1});if(result===!1)throw error;if(result===!0)return __privateMethod(this,_Ky_instances,calculateDelay_fn).call(this)}if(isTimeoutError(error)){if(!__privateGet(this,_options).retry.retryOnTimeout)throw error;return __privateMethod(this,_Ky_instances,calculateDelay_fn).call(this)}if(isHTTPError(error)){if(!__privateGet(this,_options).retry.statusCodes.includes(error.response.status))throw error;let retryAfter=error.response.headers.get("Retry-After")??error.response.headers.get("RateLimit-Reset")??error.response.headers.get("X-RateLimit-Retry-After")??error.response.headers.get("X-RateLimit-Reset")??error.response.headers.get("X-Rate-Limit-Reset");if(retryAfter&&__privateGet(this,_options).retry.afterStatusCodes.includes(error.response.status)){let after=Number(retryAfter)*1e3;return Number.isNaN(after)?after=Date.parse(retryAfter)-Date.now():after>=Date.parse("2024-01-01")&&(after-=Date.now()),Number.isFinite(after)?(after=Math.max(0,after),Math.min(__privateGet(this,_options).retry.maxRetryAfter,after)):Math.min(__privateGet(this,_options).retry.maxRetryAfter,__privateMethod(this,_Ky_instances,calculateDelay_fn).call(this))}if(error.response.status===413)throw error;return __privateMethod(this,_Ky_instances,calculateDelay_fn).call(this)}if(!isNetworkError(error))throw error;return __privateMethod(this,_Ky_instances,calculateDelay_fn).call(this)},decorateResponse_fn=function(response){let request=__privateMethod(this,_Ky_instances,getResponseRequest_fn).call(this,response);return __privateGet(this,_options).parseJson&&(response.json=async()=>{let text=await response.text();return text===""?JSON.parse(text):__privateGet(this,_options).parseJson(text,{request,response})}),response},getResponseData_fn=async function(response){let text=await __privateMethod(this,_Ky_instances,readResponseText_fn).call(this,response,__privateMethod(this,_Ky_instances,getErrorDataTimeout_fn).call(this));if(text===timedOutResponseData){__privateMethod(this,_Ky_instances,throwIfTotalTimeoutExhausted_fn).call(this);return}if(!text)return;if(!__privateMethod(this,_Ky_instances,isJsonContentType_fn).call(this,response.headers.get("content-type")??""))return text;let data=await __privateMethod(this,_Ky_instances,parseJson_fn).call(this,text,response,__privateMethod(this,_Ky_instances,getErrorDataTimeout_fn).call(this),__privateMethod(this,_Ky_instances,getResponseRequest_fn).call(this,response));if(data===timedOutResponseData){__privateMethod(this,_Ky_instances,throwIfTotalTimeoutExhausted_fn).call(this);return}return data},getErrorDataTimeout_fn=function(){let errorDataTimeout=__privateGet(this,_options).timeout===!1?1e4:__privateGet(this,_options).timeout,remainingTotal=__privateMethod(this,_Ky_instances,getRemainingTotalTimeout_fn).call(this);if(remainingTotal===void 0)return errorDataTimeout;if(remainingTotal<=0)throw new TimeoutError(this.request);return Math.min(errorDataTimeout,remainingTotal)},isJsonContentType_fn=function(contentType){let mimeType=(contentType.split(";",1)[0]??"").trim().toLowerCase();return/\/(?:.*[.+-])?json$/.test(mimeType)},readResponseText_fn=async function(response,timeoutMs){let{body}=response;if(!body)try{return await response.text()}catch{return}let reader;try{reader=body.getReader()}catch{return}let decoder=createTextDecoder(response.headers.get("content-type")??""),chunks=[],totalBytes=0,readAll=(async()=>{try{for(;;){let{done,value}=await reader.read();if(done)break;if(totalBytes+=value.byteLength,totalBytes>maxErrorResponseBodySize){reader.cancel().catch(()=>{});return}chunks.push(decoder.decode(value,{stream:!0}))}}catch{return}return chunks.push(decoder.decode()),chunks.join("")})(),timeoutPromise=new Promise(resolve=>{let timeoutId=setTimeout(()=>{resolve(timedOutResponseData)},timeoutMs);readAll.finally(()=>{clearTimeout(timeoutId)})}),result=await Promise.race([readAll,timeoutPromise]);return result===timedOutResponseData&&reader.cancel().catch(()=>{}),result},parseJson_fn=async function(text,response,timeoutMs,request){let timeoutId;try{return await Promise.race([Promise.resolve().then(()=>__privateGet(this,_options).parseJson?__privateGet(this,_options).parseJson(text,{request,response}):JSON.parse(text)),new Promise(resolve=>{timeoutId=setTimeout(()=>{resolve(timedOutResponseData)},timeoutMs)})])}catch{return}finally{clearTimeout(timeoutId)}},cancelBody_fn=function(body){body&&body.cancel().catch(()=>{})},cancelResponseBody_fn=function(response){__privateMethod(this,_Ky_instances,cancelBody_fn).call(this,response.body??void 0)},createManagedSignal_fn=function(){return __privateGet(this,_userProvidedAbortSignal)?AbortSignal.any([__privateGet(this,_userProvidedAbortSignal),__privateGet(this,_abortController).signal]):__privateGet(this,_abortController).signal},throwIfTotalTimeoutExhausted_fn=function(){let remaining=__privateMethod(this,_Ky_instances,getRemainingTotalTimeout_fn).call(this);if(remaining!==void 0&&remaining<=0)throw new TimeoutError(this.request)},runBeforeRequestHooks_fn=async function(){for(let hook of __privateGet(this,_options).hooks.beforeRequest){let result=await hook({request:this.request,options:__privateMethod(this,_Ky_instances,getNormalizedOptions_fn).call(this),retryCount:0});if(isRequestInstance(result))__privateMethod(this,_Ky_instances,assignRequest_fn).call(this,result);else if(isResponseInstance(result))return result}},runAfterResponseHooks_fn=async function(response){let responseRequest=__privateMethod(this,_Ky_instances,getResponseRequest_fn).call(this,response);for(let hook of __privateGet(this,_options).hooks.afterResponse){let hookResponse=__privateMethod(this,_Ky_instances,setResponseRequest_fn).call(this,response.clone(),responseRequest);__privateMethod(this,_Ky_instances,decorateResponse_fn).call(this,hookResponse);let modifiedResponse;try{modifiedResponse=await hook({request:this.request,options:__privateMethod(this,_Ky_instances,getNormalizedOptions_fn).call(this),response:hookResponse,retryCount:__privateGet(this,_retryCount)})}catch(error){throw hookResponse!==response&&__privateMethod(this,_Ky_instances,cancelResponseBody_fn).call(this,hookResponse),__privateMethod(this,_Ky_instances,cancelResponseBody_fn).call(this,response),error}if(modifiedResponse instanceof RetryMarker)throw hookResponse!==response&&__privateMethod(this,_Ky_instances,cancelResponseBody_fn).call(this,hookResponse),__privateMethod(this,_Ky_instances,cancelResponseBody_fn).call(this,response),new ForceRetryError(modifiedResponse.options);let nextResponse=isResponseInstance(modifiedResponse)?__privateMethod(this,_Ky_instances,setResponseRequest_fn).call(this,modifiedResponse,responseRequest):response;hookResponse!==response&&hookResponse!==nextResponse&&hookResponse.body!==nextResponse.body&&__privateMethod(this,_Ky_instances,cancelResponseBody_fn).call(this,hookResponse),response!==nextResponse&&response.body!==nextResponse.body&&__privateMethod(this,_Ky_instances,cancelResponseBody_fn).call(this,response),response=nextResponse}return response},retry_fn=async function(function_){try{return await function_()}catch(error){return __privateMethod(this,_Ky_instances,retryFromError_fn).call(this,error,function_)}},retryFromError_fn=async function(error,function_){__privateSet(this,_returnedResponseFromBeforeRetryHook,!1);let retryDelay=Math.min(await __privateMethod(this,_Ky_instances,calculateRetryDelay_fn).call(this,error),maxSafeTimeout),delayOptions={signal:__privateGet(this,_userProvidedAbortSignal)},remainingTimeout=__privateMethod(this,_Ky_instances,getRemainingTotalTimeout_fn).call(this);if(remainingTimeout!==void 0){if(remainingTimeout<=0)throw new TimeoutError(this.request);if(retryDelay>=remainingTimeout)throw await delay(remainingTimeout,delayOptions),new TimeoutError(this.request)}if(await delay(retryDelay,delayOptions),__privateMethod(this,_Ky_instances,throwIfTotalTimeoutExhausted_fn).call(this),error instanceof ForceRetryError&&error.customRequest){let customRequest=new globalThis.Request(error.customRequest,__privateGet(this,_options).signal?{signal:__privateGet(this,_options).signal}:void 0);__privateMethod(this,_Ky_instances,assignRequest_fn).call(this,customRequest)}for(let hook of __privateGet(this,_options).hooks.beforeRetry){let hookResult;try{hookResult=await hook({request:this.request,options:__privateMethod(this,_Ky_instances,getNormalizedOptions_fn).call(this),error,retryCount:__privateGet(this,_retryCount)+1})}catch(hookError){throw hookError instanceof Error&&hookError!==error&&__privateGet(this,_beforeRetryHookErrors).add(hookError),hookError}if(isRequestInstance(hookResult)){__privateMethod(this,_Ky_instances,assignRequest_fn).call(this,hookResult);break}if(isResponseInstance(hookResult))return __privateSet(this,_returnedResponseFromBeforeRetryHook,!0),__privateWrapper(this,_retryCount)._++,hookResult;if(hookResult===stop)return}return __privateMethod(this,_Ky_instances,throwIfTotalTimeoutExhausted_fn).call(this),__privateWrapper(this,_retryCount)._++,__privateMethod(this,_Ky_instances,retry_fn).call(this,function_)},consumeReturnedResponseFromBeforeRetryHook_fn=function(){let value=__privateGet(this,_returnedResponseFromBeforeRetryHook);return __privateSet(this,_returnedResponseFromBeforeRetryHook,!1),value},fetch_fn=async function(){__privateGet(this,_abortController)?.signal.aborted&&(__privateSet(this,_abortController,new globalThis.AbortController),__privateGet(this,_options).signal=__privateMethod(this,_Ky_instances,createManagedSignal_fn).call(this),this.request=new globalThis.Request(this.request,{signal:__privateGet(this,_options).signal}));let nonRequestOptions=findUnknownOptions(__privateGet(this,_options)),retryRequest=__privateGet(this,_options).retry.limit>0?this.request.clone():void 0,request=__privateMethod(this,_Ky_instances,wrapRequestWithUploadProgress_fn).call(this,this.request,__privateGet(this,_options).body??void 0);__privateSet(this,_originalRequest,request),retryRequest&&(this.request=retryRequest);try{let remainingTotal=__privateMethod(this,_Ky_instances,getRemainingTotalTimeout_fn).call(this);if(remainingTotal!==void 0&&remainingTotal<=0)throw new TimeoutError(this.request);let effectiveTimeout=__privateGet(this,_options).timeout===!1?remainingTotal:remainingTotal===void 0?__privateGet(this,_options).timeout:Math.min(__privateGet(this,_options).timeout,remainingTotal),response=effectiveTimeout===void 0?await __privateGet(this,_options).fetch(request,nonRequestOptions):await timeout(request,nonRequestOptions,__privateGet(this,_abortController),{timeout:effectiveTimeout,fetch:__privateGet(this,_options).fetch});return __privateMethod(this,_Ky_instances,setResponseRequest_fn).call(this,response,request)}catch(error){throw isRawNetworkError(error)?new NetworkError(this.request,{cause:error}):error}},getRemainingTotalTimeout_fn=function(){if(__privateGet(this,_startTime)===void 0)return;let elapsed=__privateMethod(this,_Ky_instances,getCurrentTime_fn).call(this)-__privateGet(this,_startTime);return Math.max(0,__privateGet(this,_options).totalTimeout-elapsed)},getCurrentTime_fn=function(){return globalThis.performance?.now()??Date.now()},getNormalizedOptions_fn=function(){if(!__privateGet(this,_cachedNormalizedOptions)){let{hooks,json,parseJson,stringifyJson,searchParams,timeout:timeout2,totalTimeout,throwHttpErrors,fetch,...normalizedOptions}=__privateGet(this,_options);__privateSet(this,_cachedNormalizedOptions,Object.freeze(normalizedOptions))}return __privateGet(this,_cachedNormalizedOptions)},assignRequest_fn=function(request){__privateSet(this,_cachedNormalizedOptions,void 0),this.request=request},getResponseRequest_fn=function(response){return __privateGet(this,_responseRequests).get(response)??this.request},setResponseRequest_fn=function(response,request){return __privateGet(this,_responseRequests).set(response,request),response},wrapRequestWithUploadProgress_fn=function(request,originalBody){return!__privateGet(this,_options).onUploadProgress||!request.body||!supportsRequestStreams?request:streamRequest(request,__privateGet(this,_options).onUploadProgress,originalBody??__privateGet(this,_options).body??void 0)},__privateAdd(_Ky,_Ky_static);var Ky=_Ky;var createInstance=defaults=>{let ky2=(input,options)=>Ky.create(input,validateAndMerge(defaults,options));for(let method of requestMethods)ky2[method]=(input,options)=>Ky.create(input,validateAndMerge(defaults,options,{method}));return ky2.create=newDefaults=>createInstance(validateAndMerge(newDefaults)),ky2.extend=newDefaults=>(typeof newDefaults=="function"&&(newDefaults=newDefaults(defaults??{})),createInstance(validateAndMerge(defaults,newDefaults))),ky2.stop=stop,ky2.retry=retry,ky2},ky=createInstance(),distribution_default=ky;var ojm_shim_ky_default=distribution_default??distribution_exports;export{ForceRetryError,HTTPError,KyError,NetworkError,SchemaValidationError,TimeoutError,ojm_shim_ky_default as default,isForceRetryError,isHTTPError,isKyError,isNetworkError,isTimeoutError,replaceOption};
2
+ /*! Bundled license information:
3
+
4
+ ky/distribution/index.js:
5
+ (*! MIT License © Sindre Sorhus *)
6
+ */