@powerhousedao/connect 5.1.0-staging.0 → 5.2.0-dev.1

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 (150) hide show
  1. package/.env +1 -0
  2. package/dist/assets/AddDriveModal-BRv5zevW.js +1 -0
  3. package/dist/assets/ClearStorageModal-Bmlwi1OP.js +1 -0
  4. package/dist/assets/CookiesPolicyModal-BGTtwA4Q.js +1 -0
  5. package/dist/assets/CreateDocumentModal-BHEZHI3z.js +1 -0
  6. package/dist/assets/DebugSettingsModal-BT7jS0nY.js +1 -0
  7. package/dist/assets/DeleteDriveModal-DkEYNvdw.js +1 -0
  8. package/dist/assets/DeleteItemModal-DfMv16TH.js +1 -0
  9. package/dist/assets/DisclaimerModal-CNA6GRIu.js +1 -0
  10. package/dist/assets/DriveSettingsModal-CLkttAAT.js +1 -0
  11. package/dist/assets/ExportDocumentWithErrorsModal-DU8T41PS.js +1 -0
  12. package/dist/assets/SettingsModal-DCj6Qy2Q.js +1 -0
  13. package/dist/assets/UpgradeDriveModal-D2TGZqOc.js +1 -0
  14. package/dist/assets/{design_system-pnKFY6jM.js → design_system-ARI9wF1v.js} +2 -2
  15. package/dist/assets/design_system_connect-DSscHpaC.js +47 -0
  16. package/dist/assets/design_system_ui-C_xWSidq.js +1 -0
  17. package/dist/assets/document_drive-Dxgda4aL.js +316 -0
  18. package/dist/assets/{document_engineering-BAszqzBd.js → document_engineering-CrwXVcGU.js} +1 -1
  19. package/dist/assets/document_model-DmYROZET.js +230 -0
  20. package/dist/assets/document_model_editor-BU8h00rB.js +25 -0
  21. package/dist/assets/{drive_explorer-C6clT2Df.js → drive_explorer-DPkuz-gm.js} +2 -2
  22. package/dist/assets/{graphql-BS4Brs_E.js → graphql-AKTCpY7l.js} +45 -45
  23. package/dist/assets/{graphql-editor-C6f63OmN.js → graphql-editor-DVebB5Sl.js} +2 -2
  24. package/dist/assets/{graphql_request-9RNJ00DB.js → graphql_request-BJtmW2JS.js} +1 -1
  25. package/dist/assets/{hooks-BySGfjQp.js → hooks-CjEftWjS.js} +1 -1
  26. package/dist/assets/index-CuGJsoxa.js +28 -0
  27. package/dist/assets/index-DGEkQuau.css +1 -0
  28. package/dist/assets/index-Yntz7eQF.js +18 -0
  29. package/dist/assets/{json-editor-D27WLv4C.js → json-editor-BkmNnzFW.js} +1 -1
  30. package/dist/assets/nodefs-C2aUDDHr.js +1 -0
  31. package/dist/assets/opfs-ahp-9SHk6ls5.js +3 -0
  32. package/dist/assets/pg_dump-CW0pN9tG.wasm +0 -0
  33. package/dist/assets/reactor_browser-CRSo3asT.js +129 -0
  34. package/dist/assets/state-schemas-zCwS5l1s.js +2 -0
  35. package/dist/assets/zod-l0sSiJ83.js +39 -0
  36. package/dist/index.html +14 -14
  37. package/lib/package.copy.json +13 -8
  38. package/lib/src/components/app-loader.d.ts +0 -4
  39. package/lib/src/components/app-loader.d.ts.map +1 -1
  40. package/lib/src/components/app-loader.js +2 -2
  41. package/lib/src/components/app-loader.js.map +1 -1
  42. package/lib/src/components/app.d.ts.map +1 -1
  43. package/lib/src/components/app.js +11 -0
  44. package/lib/src/components/app.js.map +1 -1
  45. package/lib/src/components/document-editor-container.d.ts +1 -1
  46. package/lib/src/components/document-editor-container.d.ts.map +1 -1
  47. package/lib/src/components/document-editor-container.js +19 -16
  48. package/lib/src/components/document-editor-container.js.map +1 -1
  49. package/lib/src/components/drive-editor-container.d.ts.map +1 -1
  50. package/lib/src/components/drive-editor-container.js +6 -9
  51. package/lib/src/components/drive-editor-container.js.map +1 -1
  52. package/lib/src/components/editors.d.ts.map +1 -1
  53. package/lib/src/components/editors.js +3 -9
  54. package/lib/src/components/editors.js.map +1 -1
  55. package/lib/src/components/error-boundary.d.ts +103 -0
  56. package/lib/src/components/error-boundary.d.ts.map +1 -0
  57. package/lib/src/components/error-boundary.js +104 -0
  58. package/lib/src/components/error-boundary.js.map +1 -0
  59. package/lib/src/components/modal/index.d.ts +0 -1
  60. package/lib/src/components/modal/index.d.ts.map +1 -1
  61. package/lib/src/components/modal/index.js +0 -1
  62. package/lib/src/components/modal/index.js.map +1 -1
  63. package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +1 -1
  64. package/lib/src/components/modal/modals/AddDriveModal.js +35 -27
  65. package/lib/src/components/modal/modals/AddDriveModal.js.map +1 -1
  66. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts +2 -0
  67. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +1 -0
  68. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +29 -0
  69. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +1 -0
  70. package/lib/src/components/modal/modals/InspectorModal/index.d.ts +2 -0
  71. package/lib/src/components/modal/modals/InspectorModal/index.d.ts.map +1 -0
  72. package/lib/src/components/modal/modals/InspectorModal/index.js +2 -0
  73. package/lib/src/components/modal/modals/InspectorModal/index.js.map +1 -0
  74. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts +31 -0
  75. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +1 -0
  76. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js +211 -0
  77. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js.map +1 -0
  78. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +4 -0
  79. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +1 -0
  80. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +12 -0
  81. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +1 -0
  82. package/lib/src/components/modal/modals-container.d.ts.map +1 -1
  83. package/lib/src/components/modal/modals-container.js +6 -2
  84. package/lib/src/components/modal/modals-container.js.map +1 -1
  85. package/lib/src/components/sidebar.d.ts.map +1 -1
  86. package/lib/src/components/sidebar.js +7 -4
  87. package/lib/src/components/sidebar.js.map +1 -1
  88. package/lib/src/connect.config.d.ts +2 -0
  89. package/lib/src/connect.config.d.ts.map +1 -1
  90. package/lib/src/connect.config.js +1 -0
  91. package/lib/src/connect.config.js.map +1 -1
  92. package/lib/src/feature-flags.d.ts +5 -0
  93. package/lib/src/feature-flags.d.ts.map +1 -1
  94. package/lib/src/feature-flags.js +20 -4
  95. package/lib/src/feature-flags.js.map +1 -1
  96. package/lib/src/hooks/useClientErrorHandler.d.ts.map +1 -1
  97. package/lib/src/hooks/useClientErrorHandler.js +13 -2
  98. package/lib/src/hooks/useClientErrorHandler.js.map +1 -1
  99. package/lib/src/pages/content.d.ts.map +1 -1
  100. package/lib/src/pages/content.js +5 -5
  101. package/lib/src/pages/content.js.map +1 -1
  102. package/lib/src/store/reactor.d.ts.map +1 -1
  103. package/lib/src/store/reactor.js +90 -37
  104. package/lib/src/store/reactor.js.map +1 -1
  105. package/lib/src/utils/reactor.d.ts +4 -4
  106. package/lib/src/utils/reactor.d.ts.map +1 -1
  107. package/lib/src/utils/reactor.js +16 -9
  108. package/lib/src/utils/reactor.js.map +1 -1
  109. package/lib/style.css +12466 -0
  110. package/lib/test/utils/signer.test.js +22 -11
  111. package/lib/test/utils/signer.test.js.map +1 -1
  112. package/lib/tsconfig.tsbuildinfo +1 -1
  113. package/lib/vite.config.d.ts.map +1 -1
  114. package/lib/vite.config.js +4 -0
  115. package/lib/vite.config.js.map +1 -1
  116. package/package.copy.json +13 -8
  117. package/package.json +21 -16
  118. package/src/index.css +1 -0
  119. package/dist/assets/AddDriveModal-CGnuKCkz.js +0 -1
  120. package/dist/assets/ClearStorageModal-tHn6sdVv.js +0 -1
  121. package/dist/assets/CookiesPolicyModal-D5y1O9wD.js +0 -1
  122. package/dist/assets/CreateDocumentModal-DU4C2Y6P.js +0 -1
  123. package/dist/assets/DebugSettingsModal-BLV4d9N1.js +0 -1
  124. package/dist/assets/DeleteDriveModal-CQq-0aWd.js +0 -1
  125. package/dist/assets/DeleteItemModal-JV0AvuwF.js +0 -1
  126. package/dist/assets/DisclaimerModal-DQZyl_zf.js +0 -1
  127. package/dist/assets/DriveSettingsModal-yXsOiCLy.js +0 -1
  128. package/dist/assets/ExportDocumentWithErrorsModal-CPfizBgB.js +0 -1
  129. package/dist/assets/SettingsModal-GeNqOEFN.js +0 -1
  130. package/dist/assets/UpgradeDriveModal-BCRmp5F4.js +0 -1
  131. package/dist/assets/design_system_connect-BrlN-7x3.js +0 -104
  132. package/dist/assets/design_system_ui-Cz-kMJRJ.js +0 -1
  133. package/dist/assets/document_drive-CVkeqJ3l.js +0 -305
  134. package/dist/assets/document_model-LXEZCDPq.js +0 -230
  135. package/dist/assets/document_model_editor-D5oPro82.js +0 -23
  136. package/dist/assets/index-BYfBva47.js +0 -20
  137. package/dist/assets/index-XUlAOLkX.css +0 -1
  138. package/dist/assets/nodefs-AYr2EwM_.js +0 -1
  139. package/dist/assets/opfs-ahp-rEGVoJkP.js +0 -3
  140. package/dist/assets/reactor_browser-D4maXKS-.js +0 -25
  141. package/dist/assets/state-schemas-DGMOULa-.js +0 -2
  142. package/dist/assets/zod-C6yxFxyo.js +0 -1
  143. package/lib/src/components/modal/modals-error-boundary.d.ts +0 -18
  144. package/lib/src/components/modal/modals-error-boundary.d.ts.map +0 -1
  145. package/lib/src/components/modal/modals-error-boundary.js +0 -22
  146. package/lib/src/components/modal/modals-error-boundary.js.map +0 -1
  147. package/lib/src/utils/signer.d.ts +0 -18
  148. package/lib/src/utils/signer.d.ts.map +0 -1
  149. package/lib/src/utils/signer.js +0 -215
  150. package/lib/src/utils/signer.js.map +0 -1
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/graphql-editor-C6f63OmN.js","assets/document_model_editor-D5oPro82.js","assets/graphql-BS4Brs_E.js","assets/drive_explorer-C6clT2Df.js","assets/sentry_react-cODD7zWc.js","assets/react-DQSxOgtG.js","assets/sentry_browser-B4YoBIIG.js","assets/react/jsx-runtime-DldvXD6N.js","assets/document_model-LXEZCDPq.js","assets/zod-C6yxFxyo.js","assets/design_system-pnKFY6jM.js","assets/tailwind_merge-Dr4f9Rms.js","assets/reactor_browser-D4maXKS-.js","assets/document_drive-CVkeqJ3l.js","assets/config-CU-aFfVJ.js","assets/react-dom-D6zQJsh6.js","assets/design_system_connect-BrlN-7x3.js","assets/design_system_ui-Cz-kMJRJ.js","assets/react-dom/client-BVPiT_FE.js","assets/hooks-BySGfjQp.js","assets/json-editor-D27WLv4C.js"])))=>i.map(i=>d[i]);
2
- import{_ as k}from"./drive_explorer-C6clT2Df.js";import{j as a,h as x,m as M,i as V,k as P,s as y,l as z,n as B,t as A}from"./document_model_editor-D5oPro82.js";import{r as i}from"./sentry_react-cODD7zWc.js";import{a3 as F,a4 as T,a5 as L,a6 as E}from"./design_system_connect-BrlN-7x3.js";import{K as C}from"./graphql-BS4Brs_E.js";import{c as J}from"./design_system-pnKFY6jM.js";import"./react/jsx-runtime-DldvXD6N.js";import"./document_model-LXEZCDPq.js";import"./zod-C6yxFxyo.js";import"./react-DQSxOgtG.js";import"./reactor_browser-D4maXKS-.js";import"./document_drive-CVkeqJ3l.js";import"./config-CU-aFfVJ.js";import"./tailwind_merge-Dr4f9Rms.js";import"./react-dom-D6zQJsh6.js";import"./sentry_browser-B4YoBIIG.js";import"./design_system_ui-Cz-kMJRJ.js";import"./react-dom/client-BVPiT_FE.js";const f=i.forwardRef((e,l)=>{const{className:s,...r}=e;return a.jsx("button",{ref:l,...r,className:x("h-10 whitespace-nowrap rounded-md border border-gray-200 bg-gray-50 px-4 py-2 text-sm font-medium text-gray-800 transition-colors hover:bg-gray-100 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",s)})}),Z=F,D=i.forwardRef(({className:e,...l},s)=>a.jsx(T,{ref:s,className:x("flex items-center justify-center rounded-xl bg-slate-50 p-1 shadow-[inset_0px_0px_2px_rgba(255,255,255,0.50)]",e),...l}));D.displayName=T.displayName;const b=i.forwardRef(({className:e,...l},s)=>a.jsx(L,{ref:s,className:x("flex w-full items-center justify-center whitespace-nowrap rounded-lg p-1 text-sm text-gray-500 transition-all disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-gray-50 data-[state=active]:text-gray-800 data-[state=active]:shadow-[0px_16px_16px_-4px_rgba(0,0,0,0.10)]",e),...l}));b.displayName=L.displayName;const g=i.forwardRef(({className:e,...l},s)=>a.jsx(E,{ref:s,className:x("",e),...l}));g.displayName=E.displayName;const _=i.lazy(()=>k(()=>import("./graphql-editor-C6f63OmN.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]))),G=i.lazy(()=>k(()=>import("./json-editor-D27WLv4C.js"),__vite__mapDeps([20,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])));function S({modelName:e,stateSchema:l,initialValue:s,setStateSchema:r,setInitialState:c,scope:t}){const n=V(),[d,h]=i.useState(!1),p=i.useCallback(o=>P(o,e,t),[e,t]),m=i.useCallback(()=>{h(o=>!o)},[]),I=i.useCallback(o=>r(o,t),[r,t]),O=i.useCallback(o=>c(o,t),[c,t]),R=i.useCallback(()=>{const o=s||"{}",j=y(n);if(!j)return;const v=y(l);if(!v)return;const N=z(e,t);if(!N)return;const u=v.definitions.find(w=>w.kind===C.OBJECT_TYPE_DEFINITION&&w.name.value===N);if(!u||u.kind!==C.OBJECT_TYPE_DEFINITION)return;const H=B({sharedSchemaDocumentNode:j,stateTypeDefinitionNode:u,existingValue:o});c(H,t)},[n,s,c,t]);return a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsxs("div",{children:[a.jsxs("h3",{className:"mb-2 text-lg capitalize",children:[t," state schema *"]}),a.jsxs(f,{onClick:m,className:"mb-2 flex w-fit items-center gap-2",children:[d?"Hide":"Show"," standard library",a.jsx("svg",{className:J("inline-block transition-transform",d?"rotate-180":"rotate-0"),xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",children:a.jsx("path",{d:"M11.9883 6.01172C11.4363 6.01172 10.9883 6.45972 10.9883 7.01172V13.0117H6.98828L11.9883 18.0117L16.9883 13.0117H12.9883V7.01172C12.9883 6.45972 12.5403 6.01172 11.9883 6.01172Z",fill:"black"})})]}),d&&a.jsx(_,{doc:A,readonly:!0}),a.jsx(_,{doc:l,updateDocumentInModel:I,customLinter:p})]}),a.jsxs("div",{children:[a.jsxs("div",{className:"flex flex-col items-end",children:[a.jsxs("h3",{className:"mb-2 text-right text-lg capitalize",children:[t," state initial value *"]}),a.jsxs(f,{onClick:R,className:"mb-2 flex w-fit items-center gap-2",children:["Sync with schema"," ",a.jsx("svg",{className:"inline-block",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:a.jsx("path",{d:"M8.00521 1.99219C6.63588 1.99219 5.32788 2.45152 4.27588 3.28419C3.98721 3.51219 3.94321 3.93285 4.17188 4.22151C4.40054 4.51018 4.82055 4.55418 5.10921 4.32552C5.92721 3.67819 6.93921 3.32552 8.00521 3.32552C10.5825 3.32552 12.6719 5.41485 12.6719 7.99218H11.3385L13.3385 10.6588L15.3385 7.99218H14.0052C14.0052 4.67818 11.3192 1.99219 8.00521 1.99219ZM2.67188 5.32552L0.671875 7.99218H2.00521C2.00521 11.3062 4.69121 13.9922 8.00521 13.9922C9.37521 13.9922 10.6825 13.5335 11.7345 12.7002C12.0232 12.4722 12.0672 12.0515 11.8385 11.7628C11.6099 11.4742 11.1899 11.4302 10.9012 11.6588C10.0825 12.3068 9.07188 12.6588 8.00521 12.6588C5.42788 12.6588 3.33854 10.5695 3.33854 7.99218H4.67188L2.67188 5.32552Z",fill:"#343839"})})]})]}),a.jsx(G,{doc:s,updateDocumentInModel:O})]})]})}function da({modelName:e,globalStateSchema:l,localStateSchema:s,globalStateInitialValue:r,localStateInitialValue:c,setStateSchema:t,setInitialState:n,currentScope:d,onScopeChange:h}){const p=i.useCallback(()=>{const m=M(e,"local");t(m,"local"),n("","local")},[e,t,n]);return a.jsxs(Z,{className:"pb-8",activationMode:"manual",value:d,onValueChange:m=>h(m),children:[a.jsx("div",{className:"my-6",children:a.jsxs(D,{className:"mx-auto flex max-w-sm",children:[a.jsx(b,{value:"global",children:"Global"}),a.jsx(b,{value:"local",children:"Local"})]})}),a.jsx(g,{value:"global",tabIndex:-1,children:a.jsx(S,{modelName:e,stateSchema:l,initialValue:r,setStateSchema:t,setInitialState:n,scope:"global"})}),a.jsx(g,{value:"local",tabIndex:-1,children:s?a.jsx(S,{modelName:e,stateSchema:s,initialValue:c,setStateSchema:t,setInitialState:n,scope:"local"}):a.jsxs("div",{className:"",children:[a.jsx("h3",{className:"mb-2 text-lg capitalize",children:"local state schema *"}),a.jsx(f,{onClick:p,children:"Add local state"})]})})]})}export{da as default};
@@ -1 +0,0 @@
1
- var g;(function(r){r.assertEqual=a=>{};function e(a){}r.assertIs=e;function t(a){throw new Error}r.assertNever=t,r.arrayToEnum=a=>{const n={};for(const i of a)n[i]=i;return n},r.getValidEnumValues=a=>{const n=r.objectKeys(a).filter(o=>typeof a[a[o]]!="number"),i={};for(const o of n)i[o]=a[o];return r.objectValues(i)},r.objectValues=a=>r.objectKeys(a).map(function(n){return a[n]}),r.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const n=[];for(const i in a)Object.prototype.hasOwnProperty.call(a,i)&&n.push(i);return n},r.find=(a,n)=>{for(const i of a)if(n(i))return i},r.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function s(a,n=" | "){return a.map(i=>typeof i=="string"?`'${i}'`:i).join(n)}r.joinValues=s,r.jsonStringifyReplacer=(a,n)=>typeof n=="bigint"?n.toString():n})(g||(g={}));var ie;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(ie||(ie={}));const u=g.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),S=r=>{switch(typeof r){case"undefined":return u.undefined;case"string":return u.string;case"number":return Number.isNaN(r)?u.nan:u.number;case"boolean":return u.boolean;case"function":return u.function;case"bigint":return u.bigint;case"symbol":return u.symbol;case"object":return Array.isArray(r)?u.array:r===null?u.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?u.promise:typeof Map<"u"&&r instanceof Map?u.map:typeof Set<"u"&&r instanceof Set?u.set:typeof Date<"u"&&r instanceof Date?u.date:u.object;default:return u.unknown}},d=g.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class O extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(n){return n.message},s={_errors:[]},a=n=>{for(const i of n.issues)if(i.code==="invalid_union")i.unionErrors.map(a);else if(i.code==="invalid_return_type")a(i.returnTypeError);else if(i.code==="invalid_arguments")a(i.argumentsError);else if(i.path.length===0)s._errors.push(t(i));else{let o=s,h=0;for(;h<i.path.length;){const f=i.path[h];h===i.path.length-1?(o[f]=o[f]||{_errors:[]},o[f]._errors.push(t(i))):o[f]=o[f]||{_errors:[]},o=o[f],h++}}};return a(this),s}static assert(e){if(!(e instanceof O))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,g.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},s=[];for(const a of this.issues)if(a.path.length>0){const n=a.path[0];t[n]=t[n]||[],t[n].push(e(a))}else s.push(e(a));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}}O.create=r=>new O(r);const Y=(r,e)=>{let t;switch(r.code){case d.invalid_type:r.received===u.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case d.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,g.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:t=`Unrecognized key(s) in object: ${g.joinValues(r.keys,", ")}`;break;case d.invalid_union:t="Invalid input";break;case d.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${g.joinValues(r.options)}`;break;case d.invalid_enum_value:t=`Invalid enum value. Expected ${g.joinValues(r.options)}, received '${r.received}'`;break;case d.invalid_arguments:t="Invalid function arguments";break;case d.invalid_return_type:t="Invalid function return type";break;case d.invalid_date:t="Invalid date";break;case d.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:g.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case d.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="bigint"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case d.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case d.custom:t="Invalid input";break;case d.invalid_intersection_types:t="Intersection results could not be merged";break;case d.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case d.not_finite:t="Number must be finite";break;default:t=e.defaultError,g.assertNever(r)}return{message:t}};let xe=Y;function ke(){return xe}const be=r=>{const{data:e,path:t,errorMaps:s,issueData:a}=r,n=[...t,...a.path||[]],i={...a,path:n};if(a.message!==void 0)return{...a,path:n,message:a.message};let o="";const h=s.filter(f=>!!f).slice().reverse();for(const f of h)o=f(i,{data:e,defaultError:o}).message;return{...a,path:n,message:o}};function c(r,e){const t=ke(),s=be({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===Y?void 0:Y].filter(a=>!!a)});r.common.issues.push(s)}class k{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const s=[];for(const a of t){if(a.status==="aborted")return p;a.status==="dirty"&&e.dirty(),s.push(a.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){const s=[];for(const a of t){const n=await a.key,i=await a.value;s.push({key:n,value:i})}return k.mergeObjectSync(e,s)}static mergeObjectSync(e,t){const s={};for(const a of t){const{key:n,value:i}=a;if(n.status==="aborted"||i.status==="aborted")return p;n.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),n.value!=="__proto__"&&(typeof i.value<"u"||a.alwaysSet)&&(s[n.value]=i.value)}return{status:e.value,value:s}}}const p=Object.freeze({status:"aborted"}),L=r=>({status:"dirty",value:r}),b=r=>({status:"valid",value:r}),oe=r=>r.status==="aborted",de=r=>r.status==="dirty",j=r=>r.status==="valid",D=r=>typeof Promise<"u"&&r instanceof Promise;var l;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e?.message})(l||(l={}));class T{constructor(e,t,s,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=a}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const ce=(r,e)=>{if(j(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new O(r.common.issues);return this._error=t,this._error}}};function y(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:s,description:a}=r;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:a}:{errorMap:(i,o)=>{const{message:h}=r;return i.code==="invalid_enum_value"?{message:h??o.defaultError}:typeof o.data>"u"?{message:h??s??o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:h??t??o.defaultError}},description:a}}class _{get description(){return this._def.description}_getType(e){return S(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:S(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new k,ctx:{common:e.parent.common,data:e.data,parsedType:S(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(D(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){const s={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:S(e)},a=this._parseSync({data:e,path:s.path,parent:s});return ce(s,a)}"~validate"(e){const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:S(e)};if(!this["~standard"].async)try{const s=this._parseSync({data:e,path:[],parent:t});return j(s)?{value:s.value}:{issues:t.common.issues}}catch(s){s?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(s=>j(s)?{value:s.value}:{issues:t.common.issues})}async parseAsync(e,t){const s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){const s={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:S(e)},a=this._parse({data:e,path:s.path,parent:s}),n=await(D(a)?a:Promise.resolve(a));return ce(s,n)}refine(e,t){const s=a=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(a):t;return this._refinement((a,n)=>{const i=e(a),o=()=>n.addIssue({code:d.custom,...s(a)});return typeof Promise<"u"&&i instanceof Promise?i.then(h=>h?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((s,a)=>e(s)?!0:(a.addIssue(typeof t=="function"?t(s,a):t),!1))}_refinement(e){return new $({schema:this,typeName:m.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return N.create(this,this._def)}nullable(){return V.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return w.create(this)}promise(){return q.create(this,this._def)}or(e){return B.create([this,e],this._def)}and(e){return F.create(this,e,this._def)}transform(e){return new $({...y(this._def),schema:this,typeName:m.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new se({...y(this._def),innerType:this,defaultValue:t,typeName:m.ZodDefault})}brand(){return new We({typeName:m.ZodBranded,type:this,...y(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new re({...y(this._def),innerType:this,catchValue:t,typeName:m.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ne.create(this,e)}readonly(){return ae.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const we=/^c[^\s-]{8,}$/i,Te=/^[0-9a-z]+$/,Ce=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Oe=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Se=/^[a-z0-9_-]{21}$/i,Ne=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ae=/^[-+]?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)?)??$/,Ze=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Re="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let J;const je=/^(?:(?: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])$/,Ie=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,Ee=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,$e=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ve=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Me=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ye="((\\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])))",Le=new RegExp(`^${ye}$`);function _e(r){let e="[0-5]\\d";r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`);const t=r.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function ze(r){return new RegExp(`^${_e(r)}$`)}function Pe(r){let e=`${ye}T${_e(r)}`;const t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function De(r,e){return!!((e==="v4"||!e)&&je.test(r)||(e==="v6"||!e)&&Ee.test(r))}function Ue(r,e){if(!Ne.test(r))return!1;try{const[t]=r.split(".");if(!t)return!1;const s=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),a=JSON.parse(atob(s));return!(typeof a!="object"||a===null||"typ"in a&&a?.typ!=="JWT"||!a.alg||e&&a.alg!==e)}catch{return!1}}function Be(r,e){return!!((e==="v4"||!e)&&Ie.test(r)||(e==="v6"||!e)&&$e.test(r))}class C extends _{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==u.string){const n=this._getOrReturnCtx(e);return c(n,{code:d.invalid_type,expected:u.string,received:n.parsedType}),p}const s=new k;let a;for(const n of this._def.checks)if(n.kind==="min")e.data.length<n.value&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),s.dirty());else if(n.kind==="max")e.data.length>n.value&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),s.dirty());else if(n.kind==="length"){const i=e.data.length>n.value,o=e.data.length<n.value;(i||o)&&(a=this._getOrReturnCtx(e,a),i?c(a,{code:d.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}):o&&c(a,{code:d.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}),s.dirty())}else if(n.kind==="email")Ze.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"email",code:d.invalid_string,message:n.message}),s.dirty());else if(n.kind==="emoji")J||(J=new RegExp(Re,"u")),J.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"emoji",code:d.invalid_string,message:n.message}),s.dirty());else if(n.kind==="uuid")Oe.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"uuid",code:d.invalid_string,message:n.message}),s.dirty());else if(n.kind==="nanoid")Se.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"nanoid",code:d.invalid_string,message:n.message}),s.dirty());else if(n.kind==="cuid")we.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"cuid",code:d.invalid_string,message:n.message}),s.dirty());else if(n.kind==="cuid2")Te.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"cuid2",code:d.invalid_string,message:n.message}),s.dirty());else if(n.kind==="ulid")Ce.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"ulid",code:d.invalid_string,message:n.message}),s.dirty());else if(n.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),c(a,{validation:"url",code:d.invalid_string,message:n.message}),s.dirty()}else n.kind==="regex"?(n.regex.lastIndex=0,n.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"regex",code:d.invalid_string,message:n.message}),s.dirty())):n.kind==="trim"?e.data=e.data.trim():n.kind==="includes"?e.data.includes(n.value,n.position)||(a=this._getOrReturnCtx(e,a),c(a,{code:d.invalid_string,validation:{includes:n.value,position:n.position},message:n.message}),s.dirty()):n.kind==="toLowerCase"?e.data=e.data.toLowerCase():n.kind==="toUpperCase"?e.data=e.data.toUpperCase():n.kind==="startsWith"?e.data.startsWith(n.value)||(a=this._getOrReturnCtx(e,a),c(a,{code:d.invalid_string,validation:{startsWith:n.value},message:n.message}),s.dirty()):n.kind==="endsWith"?e.data.endsWith(n.value)||(a=this._getOrReturnCtx(e,a),c(a,{code:d.invalid_string,validation:{endsWith:n.value},message:n.message}),s.dirty()):n.kind==="datetime"?Pe(n).test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{code:d.invalid_string,validation:"datetime",message:n.message}),s.dirty()):n.kind==="date"?Le.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{code:d.invalid_string,validation:"date",message:n.message}),s.dirty()):n.kind==="time"?ze(n).test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{code:d.invalid_string,validation:"time",message:n.message}),s.dirty()):n.kind==="duration"?Ae.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"duration",code:d.invalid_string,message:n.message}),s.dirty()):n.kind==="ip"?De(e.data,n.version)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"ip",code:d.invalid_string,message:n.message}),s.dirty()):n.kind==="jwt"?Ue(e.data,n.alg)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"jwt",code:d.invalid_string,message:n.message}),s.dirty()):n.kind==="cidr"?Be(e.data,n.version)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"cidr",code:d.invalid_string,message:n.message}),s.dirty()):n.kind==="base64"?Ve.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"base64",code:d.invalid_string,message:n.message}),s.dirty()):n.kind==="base64url"?Me.test(e.data)||(a=this._getOrReturnCtx(e,a),c(a,{validation:"base64url",code:d.invalid_string,message:n.message}),s.dirty()):g.assertNever(n);return{status:s.value,value:e.data}}_regex(e,t,s){return this.refinement(a=>e.test(a),{validation:t,code:d.invalid_string,...l.errToObj(s)})}_addCheck(e){return new C({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...l.errToObj(e)})}url(e){return this._addCheck({kind:"url",...l.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...l.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...l.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...l.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...l.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...l.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...l.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...l.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...l.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...l.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...l.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...l.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...l.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...l.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...l.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...l.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...l.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...l.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...l.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...l.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...l.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...l.errToObj(t)})}nonempty(e){return this.min(1,l.errToObj(e))}trim(){return new C({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new C({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new C({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}C.create=r=>new C({checks:[],typeName:m.ZodString,coerce:r?.coerce??!1,...y(r)});function Fe(r,e){const t=(r.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,a=t>s?t:s,n=Number.parseInt(r.toFixed(a).replace(".","")),i=Number.parseInt(e.toFixed(a).replace(".",""));return n%i/10**a}class I extends _{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==u.number){const n=this._getOrReturnCtx(e);return c(n,{code:d.invalid_type,expected:u.number,received:n.parsedType}),p}let s;const a=new k;for(const n of this._def.checks)n.kind==="int"?g.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),c(s,{code:d.invalid_type,expected:"integer",received:"float",message:n.message}),a.dirty()):n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(s=this._getOrReturnCtx(e,s),c(s,{code:d.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),a.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),c(s,{code:d.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),a.dirty()):n.kind==="multipleOf"?Fe(e.data,n.value)!==0&&(s=this._getOrReturnCtx(e,s),c(s,{code:d.not_multiple_of,multipleOf:n.value,message:n.message}),a.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),c(s,{code:d.not_finite,message:n.message}),a.dirty()):g.assertNever(n);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,l.toString(t))}gt(e,t){return this.setLimit("min",e,!1,l.toString(t))}lte(e,t){return this.setLimit("max",e,!0,l.toString(t))}lt(e,t){return this.setLimit("max",e,!1,l.toString(t))}setLimit(e,t,s,a){return new I({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:l.toString(a)}]})}_addCheck(e){return new I({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:l.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:l.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:l.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:l.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:l.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:l.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:l.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:l.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:l.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&g.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(t)&&Number.isFinite(e)}}I.create=r=>new I({checks:[],typeName:m.ZodNumber,coerce:r?.coerce||!1,...y(r)});class z extends _{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==u.bigint)return this._getInvalidInput(e);let s;const a=new k;for(const n of this._def.checks)n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(s=this._getOrReturnCtx(e,s),c(s,{code:d.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),a.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),c(s,{code:d.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),a.dirty()):n.kind==="multipleOf"?e.data%n.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),c(s,{code:d.not_multiple_of,multipleOf:n.value,message:n.message}),a.dirty()):g.assertNever(n);return{status:a.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return c(t,{code:d.invalid_type,expected:u.bigint,received:t.parsedType}),p}gte(e,t){return this.setLimit("min",e,!0,l.toString(t))}gt(e,t){return this.setLimit("min",e,!1,l.toString(t))}lte(e,t){return this.setLimit("max",e,!0,l.toString(t))}lt(e,t){return this.setLimit("max",e,!1,l.toString(t))}setLimit(e,t,s,a){return new z({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:l.toString(a)}]})}_addCheck(e){return new z({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:l.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:l.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:l.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:l.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:l.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}z.create=r=>new z({checks:[],typeName:m.ZodBigInt,coerce:r?.coerce??!1,...y(r)});class H extends _{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==u.boolean){const s=this._getOrReturnCtx(e);return c(s,{code:d.invalid_type,expected:u.boolean,received:s.parsedType}),p}return b(e.data)}}H.create=r=>new H({typeName:m.ZodBoolean,coerce:r?.coerce||!1,...y(r)});class U extends _{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==u.date){const n=this._getOrReturnCtx(e);return c(n,{code:d.invalid_type,expected:u.date,received:n.parsedType}),p}if(Number.isNaN(e.data.getTime())){const n=this._getOrReturnCtx(e);return c(n,{code:d.invalid_date}),p}const s=new k;let a;for(const n of this._def.checks)n.kind==="min"?e.data.getTime()<n.value&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),s.dirty()):n.kind==="max"?e.data.getTime()>n.value&&(a=this._getOrReturnCtx(e,a),c(a,{code:d.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),s.dirty()):g.assertNever(n);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new U({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:l.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:l.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}U.create=r=>new U({checks:[],coerce:r?.coerce||!1,typeName:m.ZodDate,...y(r)});class ue extends _{_parse(e){if(this._getType(e)!==u.symbol){const s=this._getOrReturnCtx(e);return c(s,{code:d.invalid_type,expected:u.symbol,received:s.parsedType}),p}return b(e.data)}}ue.create=r=>new ue({typeName:m.ZodSymbol,...y(r)});class le extends _{_parse(e){if(this._getType(e)!==u.undefined){const s=this._getOrReturnCtx(e);return c(s,{code:d.invalid_type,expected:u.undefined,received:s.parsedType}),p}return b(e.data)}}le.create=r=>new le({typeName:m.ZodUndefined,...y(r)});class G extends _{_parse(e){if(this._getType(e)!==u.null){const s=this._getOrReturnCtx(e);return c(s,{code:d.invalid_type,expected:u.null,received:s.parsedType}),p}return b(e.data)}}G.create=r=>new G({typeName:m.ZodNull,...y(r)});class Q extends _{constructor(){super(...arguments),this._any=!0}_parse(e){return b(e.data)}}Q.create=r=>new Q({typeName:m.ZodAny,...y(r)});class X extends _{constructor(){super(...arguments),this._unknown=!0}_parse(e){return b(e.data)}}X.create=r=>new X({typeName:m.ZodUnknown,...y(r)});class A extends _{_parse(e){const t=this._getOrReturnCtx(e);return c(t,{code:d.invalid_type,expected:u.never,received:t.parsedType}),p}}A.create=r=>new A({typeName:m.ZodNever,...y(r)});class he extends _{_parse(e){if(this._getType(e)!==u.undefined){const s=this._getOrReturnCtx(e);return c(s,{code:d.invalid_type,expected:u.void,received:s.parsedType}),p}return b(e.data)}}he.create=r=>new he({typeName:m.ZodVoid,...y(r)});class w extends _{_parse(e){const{ctx:t,status:s}=this._processInputParams(e),a=this._def;if(t.parsedType!==u.array)return c(t,{code:d.invalid_type,expected:u.array,received:t.parsedType}),p;if(a.exactLength!==null){const i=t.data.length>a.exactLength.value,o=t.data.length<a.exactLength.value;(i||o)&&(c(t,{code:i?d.too_big:d.too_small,minimum:o?a.exactLength.value:void 0,maximum:i?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),s.dirty())}if(a.minLength!==null&&t.data.length<a.minLength.value&&(c(t,{code:d.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),s.dirty()),a.maxLength!==null&&t.data.length>a.maxLength.value&&(c(t,{code:d.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((i,o)=>a.type._parseAsync(new T(t,i,t.path,o)))).then(i=>k.mergeArray(s,i));const n=[...t.data].map((i,o)=>a.type._parseSync(new T(t,i,t.path,o)));return k.mergeArray(s,n)}get element(){return this._def.type}min(e,t){return new w({...this._def,minLength:{value:e,message:l.toString(t)}})}max(e,t){return new w({...this._def,maxLength:{value:e,message:l.toString(t)}})}length(e,t){return new w({...this._def,exactLength:{value:e,message:l.toString(t)}})}nonempty(e){return this.min(1,e)}}w.create=(r,e)=>new w({type:r,minLength:null,maxLength:null,exactLength:null,typeName:m.ZodArray,...y(e)});function R(r){if(r instanceof x){const e={};for(const t in r.shape){const s=r.shape[t];e[t]=N.create(R(s))}return new x({...r._def,shape:()=>e})}else return r instanceof w?new w({...r._def,type:R(r.element)}):r instanceof N?N.create(R(r.unwrap())):r instanceof V?V.create(R(r.unwrap())):r instanceof Z?Z.create(r.items.map(e=>R(e))):r}class x extends _{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=g.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==u.object){const f=this._getOrReturnCtx(e);return c(f,{code:d.invalid_type,expected:u.object,received:f.parsedType}),p}const{status:s,ctx:a}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof A&&this._def.unknownKeys==="strip"))for(const f in a.data)i.includes(f)||o.push(f);const h=[];for(const f of i){const v=n[f],M=a.data[f];h.push({key:{status:"valid",value:f},value:v._parse(new T(a,M,a.path,f)),alwaysSet:f in a.data})}if(this._def.catchall instanceof A){const f=this._def.unknownKeys;if(f==="passthrough")for(const v of o)h.push({key:{status:"valid",value:v},value:{status:"valid",value:a.data[v]}});else if(f==="strict")o.length>0&&(c(a,{code:d.unrecognized_keys,keys:o}),s.dirty());else if(f!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const f=this._def.catchall;for(const v of o){const M=a.data[v];h.push({key:{status:"valid",value:v},value:f._parse(new T(a,M,a.path,v)),alwaysSet:v in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const f=[];for(const v of h){const M=await v.key,ve=await v.value;f.push({key:M,value:ve,alwaysSet:v.alwaysSet})}return f}).then(f=>k.mergeObjectSync(s,f)):k.mergeObjectSync(s,h)}get shape(){return this._def.shape()}strict(e){return l.errToObj,new x({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{const a=this._def.errorMap?.(t,s).message??s.defaultError;return t.code==="unrecognized_keys"?{message:l.errToObj(e).message??a}:{message:a}}}:{}})}strip(){return new x({...this._def,unknownKeys:"strip"})}passthrough(){return new x({...this._def,unknownKeys:"passthrough"})}extend(e){return new x({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new x({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:m.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new x({...this._def,catchall:e})}pick(e){const t={};for(const s of g.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new x({...this._def,shape:()=>t})}omit(e){const t={};for(const s of g.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new x({...this._def,shape:()=>t})}deepPartial(){return R(this)}partial(e){const t={};for(const s of g.objectKeys(this.shape)){const a=this.shape[s];e&&!e[s]?t[s]=a:t[s]=a.optional()}return new x({...this._def,shape:()=>t})}required(e){const t={};for(const s of g.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof N;)n=n._def.innerType;t[s]=n}return new x({...this._def,shape:()=>t})}keyof(){return ge(g.objectKeys(this.shape))}}x.create=(r,e)=>new x({shape:()=>r,unknownKeys:"strip",catchall:A.create(),typeName:m.ZodObject,...y(e)});x.strictCreate=(r,e)=>new x({shape:()=>r,unknownKeys:"strict",catchall:A.create(),typeName:m.ZodObject,...y(e)});x.lazycreate=(r,e)=>new x({shape:r,unknownKeys:"strip",catchall:A.create(),typeName:m.ZodObject,...y(e)});class B extends _{_parse(e){const{ctx:t}=this._processInputParams(e),s=this._def.options;function a(n){for(const o of n)if(o.result.status==="valid")return o.result;for(const o of n)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;const i=n.map(o=>new O(o.ctx.common.issues));return c(t,{code:d.invalid_union,unionErrors:i}),p}if(t.common.async)return Promise.all(s.map(async n=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await n._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(a);{let n;const i=[];for(const h of s){const f={...t,common:{...t.common,issues:[]},parent:null},v=h._parseSync({data:t.data,path:t.path,parent:f});if(v.status==="valid")return v;v.status==="dirty"&&!n&&(n={result:v,ctx:f}),f.common.issues.length&&i.push(f.common.issues)}if(n)return t.common.issues.push(...n.ctx.common.issues),n.result;const o=i.map(h=>new O(h));return c(t,{code:d.invalid_union,unionErrors:o}),p}}get options(){return this._def.options}}B.create=(r,e)=>new B({options:r,typeName:m.ZodUnion,...y(e)});function K(r,e){const t=S(r),s=S(e);if(r===e)return{valid:!0,data:r};if(t===u.object&&s===u.object){const a=g.objectKeys(e),n=g.objectKeys(r).filter(o=>a.indexOf(o)!==-1),i={...r,...e};for(const o of n){const h=K(r[o],e[o]);if(!h.valid)return{valid:!1};i[o]=h.data}return{valid:!0,data:i}}else if(t===u.array&&s===u.array){if(r.length!==e.length)return{valid:!1};const a=[];for(let n=0;n<r.length;n++){const i=r[n],o=e[n],h=K(i,o);if(!h.valid)return{valid:!1};a.push(h.data)}return{valid:!0,data:a}}else return t===u.date&&s===u.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class F extends _{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),a=(n,i)=>{if(oe(n)||oe(i))return p;const o=K(n.value,i.value);return o.valid?((de(n)||de(i))&&t.dirty(),{status:t.value,value:o.data}):(c(s,{code:d.invalid_intersection_types}),p)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([n,i])=>a(n,i)):a(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}F.create=(r,e,t)=>new F({left:r,right:e,typeName:m.ZodIntersection,...y(t)});class Z extends _{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==u.array)return c(s,{code:d.invalid_type,expected:u.array,received:s.parsedType}),p;if(s.data.length<this._def.items.length)return c(s,{code:d.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),p;!this._def.rest&&s.data.length>this._def.items.length&&(c(s,{code:d.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const n=[...s.data].map((i,o)=>{const h=this._def.items[o]||this._def.rest;return h?h._parse(new T(s,i,s.path,o)):null}).filter(i=>!!i);return s.common.async?Promise.all(n).then(i=>k.mergeArray(t,i)):k.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new Z({...this._def,rest:e})}}Z.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Z({items:r,typeName:m.ZodTuple,rest:null,...y(e)})};class W extends _{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==u.object)return c(s,{code:d.invalid_type,expected:u.object,received:s.parsedType}),p;const a=[],n=this._def.keyType,i=this._def.valueType;for(const o in s.data)a.push({key:n._parse(new T(s,o,s.path,o)),value:i._parse(new T(s,s.data[o],s.path,o)),alwaysSet:o in s.data});return s.common.async?k.mergeObjectAsync(t,a):k.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,s){return t instanceof _?new W({keyType:e,valueType:t,typeName:m.ZodRecord,...y(s)}):new W({keyType:C.create(),valueType:e,typeName:m.ZodRecord,...y(t)})}}class fe extends _{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==u.map)return c(s,{code:d.invalid_type,expected:u.map,received:s.parsedType}),p;const a=this._def.keyType,n=this._def.valueType,i=[...s.data.entries()].map(([o,h],f)=>({key:a._parse(new T(s,o,s.path,[f,"key"])),value:n._parse(new T(s,h,s.path,[f,"value"]))}));if(s.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const h of i){const f=await h.key,v=await h.value;if(f.status==="aborted"||v.status==="aborted")return p;(f.status==="dirty"||v.status==="dirty")&&t.dirty(),o.set(f.value,v.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const h of i){const f=h.key,v=h.value;if(f.status==="aborted"||v.status==="aborted")return p;(f.status==="dirty"||v.status==="dirty")&&t.dirty(),o.set(f.value,v.value)}return{status:t.value,value:o}}}}fe.create=(r,e,t)=>new fe({valueType:e,keyType:r,typeName:m.ZodMap,...y(t)});class P extends _{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==u.set)return c(s,{code:d.invalid_type,expected:u.set,received:s.parsedType}),p;const a=this._def;a.minSize!==null&&s.data.size<a.minSize.value&&(c(s,{code:d.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),t.dirty()),a.maxSize!==null&&s.data.size>a.maxSize.value&&(c(s,{code:d.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const n=this._def.valueType;function i(h){const f=new Set;for(const v of h){if(v.status==="aborted")return p;v.status==="dirty"&&t.dirty(),f.add(v.value)}return{status:t.value,value:f}}const o=[...s.data.values()].map((h,f)=>n._parse(new T(s,h,s.path,f)));return s.common.async?Promise.all(o).then(h=>i(h)):i(o)}min(e,t){return new P({...this._def,minSize:{value:e,message:l.toString(t)}})}max(e,t){return new P({...this._def,maxSize:{value:e,message:l.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}P.create=(r,e)=>new P({valueType:r,minSize:null,maxSize:null,typeName:m.ZodSet,...y(e)});class ee extends _{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}ee.create=(r,e)=>new ee({getter:r,typeName:m.ZodLazy,...y(e)});class te extends _{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return c(t,{received:t.data,code:d.invalid_literal,expected:this._def.value}),p}return{status:"valid",value:e.data}}get value(){return this._def.value}}te.create=(r,e)=>new te({value:r,typeName:m.ZodLiteral,...y(e)});function ge(r,e){return new E({values:r,typeName:m.ZodEnum,...y(e)})}class E extends _{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),s=this._def.values;return c(t,{expected:g.joinValues(s),received:t.parsedType,code:d.invalid_type}),p}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),s=this._def.values;return c(t,{received:t.data,code:d.invalid_enum_value,options:s}),p}return b(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return E.create(e,{...this._def,...t})}exclude(e,t=this._def){return E.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}}E.create=ge;class me extends _{_parse(e){const t=g.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==u.string&&s.parsedType!==u.number){const a=g.objectValues(t);return c(s,{expected:g.joinValues(a),received:s.parsedType,code:d.invalid_type}),p}if(this._cache||(this._cache=new Set(g.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const a=g.objectValues(t);return c(s,{received:s.data,code:d.invalid_enum_value,options:a}),p}return b(e.data)}get enum(){return this._def.values}}me.create=(r,e)=>new me({values:r,typeName:m.ZodNativeEnum,...y(e)});class q extends _{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==u.promise&&t.common.async===!1)return c(t,{code:d.invalid_type,expected:u.promise,received:t.parsedType}),p;const s=t.parsedType===u.promise?t.data:Promise.resolve(t.data);return b(s.then(a=>this._def.type.parseAsync(a,{path:t.path,errorMap:t.common.contextualErrorMap})))}}q.create=(r,e)=>new q({type:r,typeName:m.ZodPromise,...y(e)});class $ extends _{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:s}=this._processInputParams(e),a=this._def.effect||null,n={addIssue:i=>{c(s,i),i.fatal?t.abort():t.dirty()},get path(){return s.path}};if(n.addIssue=n.addIssue.bind(n),a.type==="preprocess"){const i=a.transform(s.data,n);if(s.common.async)return Promise.resolve(i).then(async o=>{if(t.value==="aborted")return p;const h=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return h.status==="aborted"?p:h.status==="dirty"||t.value==="dirty"?L(h.value):h});{if(t.value==="aborted")return p;const o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?p:o.status==="dirty"||t.value==="dirty"?L(o.value):o}}if(a.type==="refinement"){const i=o=>{const h=a.refinement(o,n);if(s.common.async)return Promise.resolve(h);if(h instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?p:(o.status==="dirty"&&t.dirty(),i(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?p:(o.status==="dirty"&&t.dirty(),i(o.value).then(()=>({status:t.value,value:o.value}))))}if(a.type==="transform")if(s.common.async===!1){const i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!j(i))return p;const o=a.transform(i.value,n);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>j(i)?Promise.resolve(a.transform(i.value,n)).then(o=>({status:t.value,value:o})):p);g.assertNever(a)}}$.create=(r,e,t)=>new $({schema:r,typeName:m.ZodEffects,effect:e,...y(t)});$.createWithPreprocess=(r,e,t)=>new $({schema:e,effect:{type:"preprocess",transform:r},typeName:m.ZodEffects,...y(t)});class N extends _{_parse(e){return this._getType(e)===u.undefined?b(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}N.create=(r,e)=>new N({innerType:r,typeName:m.ZodOptional,...y(e)});class V extends _{_parse(e){return this._getType(e)===u.null?b(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}V.create=(r,e)=>new V({innerType:r,typeName:m.ZodNullable,...y(e)});class se extends _{_parse(e){const{ctx:t}=this._processInputParams(e);let s=t.data;return t.parsedType===u.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}se.create=(r,e)=>new se({innerType:r,typeName:m.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...y(e)});class re extends _{_parse(e){const{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return D(a)?a.then(n=>({status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new O(s.common.issues)},input:s.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new O(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}re.create=(r,e)=>new re({innerType:r,typeName:m.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...y(e)});class pe extends _{_parse(e){if(this._getType(e)!==u.nan){const s=this._getOrReturnCtx(e);return c(s,{code:d.invalid_type,expected:u.nan,received:s.parsedType}),p}return{status:"valid",value:e.data}}}pe.create=r=>new pe({typeName:m.ZodNaN,...y(r)});class We extends _{_parse(e){const{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}}class ne extends _{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const n=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?p:n.status==="dirty"?(t.dirty(),L(n.value)):this._def.out._parseAsync({data:n.value,path:s.path,parent:s})})();{const a=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?p:a.status==="dirty"?(t.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:s.path,parent:s})}}static create(e,t){return new ne({in:e,out:t,typeName:m.ZodPipeline})}}class ae extends _{_parse(e){const t=this._def.innerType._parse(e),s=a=>(j(a)&&(a.value=Object.freeze(a.value)),a);return D(t)?t.then(a=>s(a)):s(t)}unwrap(){return this._def.innerType}}ae.create=(r,e)=>new ae({innerType:r,typeName:m.ZodReadonly,...y(e)});var m;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(m||(m={}));const qe=C.create,Je=I.create,Ye=H.create,He=G.create,Ge=Q.create,Qe=X.create;A.create;const Xe=w.create,Ke=x.create,et=B.create;F.create;Z.create;const tt=W.create,st=ee.create,rt=te.create,at=E.create;q.create;N.create;V.create;export{O as Z,et as a,rt as b,Ge as c,Xe as d,at as e,Ye as f,He as g,st as l,Je as n,Ke as o,tt as r,qe as s,Qe as u};
@@ -1,18 +0,0 @@
1
- import type React from "react";
2
- import type { ReactNode } from "react";
3
- import { Component } from "react";
4
- export declare class ModalErrorBoundary extends Component<{
5
- children: ReactNode;
6
- }, {
7
- hasError: boolean;
8
- }> {
9
- constructor(props: {
10
- children: ReactNode;
11
- });
12
- static getDerivedStateFromError(): {
13
- hasError: boolean;
14
- };
15
- componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
16
- render(): React.ReactNode;
17
- }
18
- //# sourceMappingURL=modals-error-boundary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modals-error-boundary.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/modals-error-boundary.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,qBAAa,kBAAmB,SAAQ,SAAS,CAC/C;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACvB;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CACtB;gBACa,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE;IAK1C,MAAM,CAAC,wBAAwB;;;IAI/B,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;IAI1D,MAAM;CAMP"}
@@ -1,22 +0,0 @@
1
- import { childLogger } from "document-drive";
2
- import { Component } from "react";
3
- const logger = childLogger(["Connect", "Modals"]);
4
- export class ModalErrorBoundary extends Component {
5
- constructor(props) {
6
- super(props);
7
- this.state = { hasError: false };
8
- }
9
- static getDerivedStateFromError() {
10
- return { hasError: true };
11
- }
12
- componentDidCatch(error, errorInfo) {
13
- logger.error(error, errorInfo);
14
- }
15
- render() {
16
- if (this.state.hasError) {
17
- return null;
18
- }
19
- return this.props.children;
20
- }
21
- }
22
- //# sourceMappingURL=modals-error-boundary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modals-error-boundary.js","sourceRoot":"","sources":["../../../../src/components/modal/modals-error-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAElD,MAAM,OAAO,kBAAmB,SAAQ,SAGvC;IACC,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,SAA0B;QACxD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF"}
@@ -1,18 +0,0 @@
1
- import type { ISigner, SignatureVerificationHandler } from "@powerhousedao/reactor";
2
- import type { IConnectCrypto } from "@renown/sdk";
3
- import type { Action, Signature } from "document-model";
4
- export declare class ConnectCryptoSigner implements ISigner {
5
- private readonly connectCrypto;
6
- constructor(connectCrypto: IConnectCrypto);
7
- sign(action: Action, abortSignal?: AbortSignal): Promise<Signature>;
8
- private hashAction;
9
- private buildSignatureMessage;
10
- private arrayBufferToHex;
11
- private arrayBufferToBase64;
12
- }
13
- /**
14
- * Creates a signature verification handler that verifies signatures using the Web Crypto API.
15
- * The verification uses ECDSA with P-256 curve and SHA-256 hash, matching the ConnectCrypto signing algorithm.
16
- */
17
- export declare function createSignatureVerifier(): SignatureVerificationHandler;
18
- //# sourceMappingURL=signer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAa,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEnE,qBAAa,mBAAoB,YAAW,OAAO;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,cAAc;IAEpD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;YAqC3D,UAAU;IAYxB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,mBAAmB;CAQ5B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,4BAA4B,CAuCtE"}
@@ -1,215 +0,0 @@
1
- export class ConnectCryptoSigner {
2
- connectCrypto;
3
- constructor(connectCrypto) {
4
- this.connectCrypto = connectCrypto;
5
- }
6
- async sign(action, abortSignal) {
7
- if (abortSignal?.aborted) {
8
- throw new Error("Signing aborted");
9
- }
10
- const timestamp = (new Date().getTime() / 1000).toFixed(0);
11
- const did = await this.connectCrypto.did();
12
- if (abortSignal?.aborted) {
13
- throw new Error("Signing aborted");
14
- }
15
- const hash = await this.hashAction(action);
16
- if (abortSignal?.aborted) {
17
- throw new Error("Signing aborted");
18
- }
19
- const prevStateHash = action.context?.prevOpHash ?? "";
20
- const params = [
21
- timestamp,
22
- did,
23
- hash,
24
- prevStateHash,
25
- ];
26
- const message = this.buildSignatureMessage(params);
27
- const signatureBytes = await this.connectCrypto.sign(message);
28
- const signatureHex = `0x${this.arrayBufferToHex(signatureBytes)}`;
29
- if (abortSignal?.aborted) {
30
- throw new Error("Signing aborted");
31
- }
32
- return [...params, signatureHex];
33
- }
34
- async hashAction(action) {
35
- const payload = [
36
- action.scope,
37
- action.type,
38
- JSON.stringify(action.input),
39
- ].join("");
40
- const encoder = new TextEncoder();
41
- const data = encoder.encode(payload);
42
- const hashBuffer = await crypto.subtle.digest("SHA-256", data);
43
- return this.arrayBufferToBase64(hashBuffer);
44
- }
45
- buildSignatureMessage(params) {
46
- const message = params.join("");
47
- const prefix = "\x19Signed Operation:\n" + message.length.toString();
48
- const encoder = new TextEncoder();
49
- return encoder.encode(prefix + message);
50
- }
51
- arrayBufferToHex(buffer) {
52
- const bytes = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);
53
- return Array.from(bytes)
54
- .map((byte) => byte.toString(16).padStart(2, "0"))
55
- .join("");
56
- }
57
- arrayBufferToBase64(buffer) {
58
- const bytes = new Uint8Array(buffer);
59
- let binary = "";
60
- for (let i = 0; i < bytes.length; i++) {
61
- binary += String.fromCharCode(bytes[i]);
62
- }
63
- return btoa(binary);
64
- }
65
- }
66
- /**
67
- * Creates a signature verification handler that verifies signatures using the Web Crypto API.
68
- * The verification uses ECDSA with P-256 curve and SHA-256 hash, matching the ConnectCrypto signing algorithm.
69
- */
70
- export function createSignatureVerifier() {
71
- return async (operation, publicKey) => {
72
- const signer = operation.action.context?.signer;
73
- if (!signer) {
74
- return true;
75
- }
76
- const signatures = signer.signatures;
77
- if (signatures.length === 0) {
78
- return false;
79
- }
80
- const signature = signatures[signatures.length - 1];
81
- const [timestamp, signerKey, hash, prevStateHash, signatureHex] = signature;
82
- if (signerKey !== publicKey) {
83
- return false;
84
- }
85
- const params = [
86
- timestamp,
87
- signerKey,
88
- hash,
89
- prevStateHash,
90
- ];
91
- const message = buildSignatureMessage(params);
92
- const signatureBytes = hexToUint8Array(signatureHex);
93
- const cryptoKey = await importPublicKey(publicKey);
94
- const isValid = await crypto.subtle.verify({ name: "ECDSA", hash: "SHA-256" }, cryptoKey, signatureBytes.buffer, message.buffer);
95
- return isValid;
96
- };
97
- }
98
- function buildSignatureMessage(params) {
99
- const message = params.join("");
100
- const prefix = "\x19Signed Operation:\n" + message.length.toString();
101
- const encoder = new TextEncoder();
102
- return encoder.encode(prefix + message);
103
- }
104
- function hexToUint8Array(hex) {
105
- const cleanHex = hex.startsWith("0x") ? hex.slice(2) : hex;
106
- const bytes = new Uint8Array(cleanHex.length / 2);
107
- for (let i = 0; i < cleanHex.length; i += 2) {
108
- bytes[i / 2] = parseInt(cleanHex.substring(i, i + 2), 16);
109
- }
110
- return bytes;
111
- }
112
- async function importPublicKey(did) {
113
- const keyData = extractKeyFromDid(did);
114
- return crypto.subtle.importKey("raw", keyData.buffer, { name: "ECDSA", namedCurve: "P-256" }, true, ["verify"]);
115
- }
116
- function extractKeyFromDid(did) {
117
- const parts = did.split(":");
118
- if (parts.length < 3 || parts[0] !== "did" || parts[1] !== "key") {
119
- throw new Error(`Invalid DID format: ${did}`);
120
- }
121
- const multibaseKey = parts[2];
122
- if (!multibaseKey.startsWith("z")) {
123
- throw new Error(`Unsupported multibase encoding: ${multibaseKey[0]}`);
124
- }
125
- const decoded = base58Decode(multibaseKey.slice(1));
126
- if (decoded[0] !== 0x80 || decoded[1] !== 0x24) {
127
- throw new Error("Not a P-256 public key multicodec");
128
- }
129
- const compressedKey = decoded.slice(2);
130
- return decompressP256PublicKey(compressedKey);
131
- }
132
- function base58Decode(input) {
133
- const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
134
- const ALPHABET_MAP = new Map();
135
- for (let i = 0; i < ALPHABET.length; i++) {
136
- ALPHABET_MAP.set(ALPHABET[i], i);
137
- }
138
- if (input.length === 0) {
139
- return new Uint8Array(0);
140
- }
141
- const bytes = [0];
142
- for (const char of input) {
143
- const value = ALPHABET_MAP.get(char);
144
- if (value === undefined) {
145
- throw new Error(`Invalid base58 character: ${char}`);
146
- }
147
- let carry = value;
148
- for (let j = 0; j < bytes.length; j++) {
149
- carry += bytes[j] * 58;
150
- bytes[j] = carry & 0xff;
151
- carry >>= 8;
152
- }
153
- while (carry > 0) {
154
- bytes.push(carry & 0xff);
155
- carry >>= 8;
156
- }
157
- }
158
- for (const char of input) {
159
- if (char !== "1")
160
- break;
161
- bytes.push(0);
162
- }
163
- return new Uint8Array(bytes.reverse());
164
- }
165
- function decompressP256PublicKey(compressed) {
166
- if (compressed.length !== 33) {
167
- throw new Error(`Invalid compressed key length: ${compressed.length}`);
168
- }
169
- const prefix = compressed[0];
170
- if (prefix !== 0x02 && prefix !== 0x03) {
171
- throw new Error(`Invalid compression prefix: ${prefix}`);
172
- }
173
- const p = BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff");
174
- const a = BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc");
175
- const b = BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b");
176
- let x = BigInt(0);
177
- for (let i = 1; i < compressed.length; i++) {
178
- x = (x << BigInt(8)) | BigInt(compressed[i]);
179
- }
180
- const ySquared = (modPow(x, BigInt(3), p) + a * x + b) % p;
181
- let y = modPow(ySquared, (p + BigInt(1)) / BigInt(4), p);
182
- const isYEven = y % BigInt(2) === BigInt(0);
183
- const shouldBeEven = prefix === 0x02;
184
- if (isYEven !== shouldBeEven) {
185
- y = p - y;
186
- }
187
- const uncompressed = new Uint8Array(65);
188
- uncompressed[0] = 0x04;
189
- const xBytes = bigIntToBytes(x, 32);
190
- const yBytes = bigIntToBytes(y, 32);
191
- uncompressed.set(xBytes, 1);
192
- uncompressed.set(yBytes, 33);
193
- return uncompressed;
194
- }
195
- function modPow(base, exp, mod) {
196
- let result = BigInt(1);
197
- base = base % mod;
198
- while (exp > BigInt(0)) {
199
- if (exp % BigInt(2) === BigInt(1)) {
200
- result = (result * base) % mod;
201
- }
202
- exp = exp >> BigInt(1);
203
- base = (base * base) % mod;
204
- }
205
- return result;
206
- }
207
- function bigIntToBytes(n, length) {
208
- const bytes = new Uint8Array(length);
209
- for (let i = length - 1; i >= 0; i--) {
210
- bytes[i] = Number(n & BigInt(0xff));
211
- n = n >> BigInt(8);
212
- }
213
- return bytes;
214
- }
215
- //# sourceMappingURL=signer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"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"}