@junobuild/core 1.2.1-next-2025-08-28 → 1.2.1-next-2025-08-30

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 (64) hide show
  1. package/dist/browser/index.js +1 -1
  2. package/dist/browser/index.js.map +4 -4
  3. package/dist/node/index.mjs +1 -1
  4. package/dist/node/index.mjs.map +4 -4
  5. package/dist/types/{constants → auth/constants}/auth.constants.d.ts +1 -0
  6. package/dist/types/auth/helpers/window.helpers.d.ts +3 -0
  7. package/dist/types/auth/providers/_auth-client.providers.d.ts +63 -0
  8. package/dist/types/auth/providers/internet-identity.providers.d.ts +27 -0
  9. package/dist/types/auth/providers/nfid.providers.d.ts +27 -0
  10. package/dist/types/auth/providers/webauthn.providers.d.ts +39 -0
  11. package/dist/types/auth/services/_user.services.d.ts +11 -0
  12. package/dist/types/auth/services/auth-timout.services.d.ts +3 -0
  13. package/dist/types/{services → auth/services}/auth.services.d.ts +22 -3
  14. package/dist/types/auth/services/user-webauthn.services.d.ts +8 -0
  15. package/dist/types/{stores → auth/stores}/auth.store.d.ts +3 -3
  16. package/dist/types/{types/auth.d.ts → auth/types/auth-client.d.ts} +5 -34
  17. package/dist/types/auth/types/auth.d.ts +52 -0
  18. package/dist/types/{types → auth/types}/errors.d.ts +4 -0
  19. package/dist/types/auth/types/provider.d.ts +15 -0
  20. package/dist/types/auth/types/user.d.ts +18 -0
  21. package/dist/types/auth/types/webauthn.d.ts +85 -0
  22. package/dist/types/{utils → auth/utils}/auth.utils.d.ts +1 -0
  23. package/dist/types/{api → datastore/api}/doc.api.d.ts +2 -2
  24. package/dist/types/{services → datastore/services}/doc.services.d.ts +3 -3
  25. package/dist/types/{types → datastore/types}/doc.d.ts +1 -1
  26. package/dist/types/{services → functions/services}/functions.services.d.ts +1 -1
  27. package/dist/types/index.d.ts +22 -17
  28. package/dist/types/{api → storage/api}/storage.api.d.ts +2 -2
  29. package/dist/types/{services → storage/services}/storage.services.d.ts +4 -4
  30. package/dist/types/{types/storage.types.d.ts → storage/types/storage.d.ts} +1 -1
  31. package/dist/workers/auth.worker.js +4 -4
  32. package/dist/workers/auth.worker.js.map +3 -3
  33. package/package.json +1 -1
  34. package/dist/types/providers/auth.providers.d.ts +0 -79
  35. package/dist/types/services/_user.services.d.ts +0 -2
  36. package/dist/types/services/auth-timout.services.d.ts +0 -3
  37. package/dist/workers/_auth.worker.handler.js +0 -43
  38. package/dist/workers/_auth.worker.handler.js.map +0 -7
  39. /package/dist/types/{types → auth/types}/post-message.d.ts +0 -0
  40. /package/dist/types/{utils → auth/utils}/events.utils.d.ts +0 -0
  41. /package/dist/types/{utils → auth/utils}/window.utils.d.ts +0 -0
  42. /package/dist/types/{workers/_auth.worker.handler.d.ts → auth/workers/auth.worker.d.ts} +0 -0
  43. /package/dist/types/{api → core/api}/actor.api.d.ts +0 -0
  44. /package/dist/types/{constants → core/constants}/call-options.constants.d.ts +0 -0
  45. /package/dist/types/{constants → core/constants}/container.constants.d.ts +0 -0
  46. /package/dist/types/{services/_identity.services.d.ts → core/services/identity.services.d.ts} +0 -0
  47. /package/dist/types/{stores → core/stores}/_agent.factory.d.ts +0 -0
  48. /package/dist/types/{stores → core/stores}/_store.d.ts +0 -0
  49. /package/dist/types/{stores → core/stores}/actor.store.d.ts +0 -0
  50. /package/dist/types/{stores → core/stores}/agent.store.d.ts +0 -0
  51. /package/dist/types/{stores → core/stores}/env.store.d.ts +0 -0
  52. /package/dist/types/{types → core/types}/actor.d.ts +0 -0
  53. /package/dist/types/{types → core/types}/call-options.d.ts +0 -0
  54. /package/dist/types/{types → core/types}/env.d.ts +0 -0
  55. /package/dist/types/{types → core/types}/list.d.ts +0 -0
  56. /package/dist/types/{types → core/types}/satellite.d.ts +0 -0
  57. /package/dist/types/{types → core/types}/subscription.d.ts +0 -0
  58. /package/dist/types/{types → core/types}/utility.d.ts +0 -0
  59. /package/dist/types/{utils → core/utils}/env.utils.d.ts +0 -0
  60. /package/dist/types/{utils → core/utils}/list.utils.d.ts +0 -0
  61. /package/dist/types/{utils → core/utils}/window.env.utils.d.ts +0 -0
  62. /package/dist/types/{utils → datastore/utils}/data.utils.d.ts +0 -0
  63. /package/dist/types/{utils → datastore/utils}/doc.utils.d.ts +0 -0
  64. /package/dist/types/{utils → storage/utils}/crypto.utils.d.ts +0 -0
@@ -1,2 +1,2 @@
1
- import{assertNonNullish as hr}from"@dfinity/utils";import{isNullish as mr}from"@dfinity/utils";var j=class{callbacks=[];populate(a){this.callbacks.forEach(({callback:r})=>r(a))}subscribe(a){let r=Symbol();return this.callbacks.push({id:r,callback:a}),()=>this.callbacks=this.callbacks.filter(({id:o})=>o!==r)}};var R=class e extends j{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.authUser=a,this.populate(a)}get(){return this.authUser}subscribe(a){let r=super.subscribe(a);return a(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var je=({message:e,detail:a})=>{let r=new CustomEvent(e,{detail:a,bubbles:!0});document.dispatchEvent(r)};import{ERROR_USER_INTERRUPT as dr}from"@dfinity/auth-client";import{isNullish as wa}from"@dfinity/utils";var ea=BigInt(144e11),aa=!1,ra={width:576,height:576},oa={width:505,height:705},ca="internetcomputer.org";import{isNullish as Za,nonNullish as ta}from"@dfinity/utils";var M="http://127.0.0.1:5987",na="rdmx6-jaaaa-aaaaa-aaadq-cai";var y=class e extends j{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.env=a,this.populate(a)}get(){return this.env}reset(){this.env=null}subscribe(a){let r=super.subscribe(a);return a(this.env),r}};import{isNullish as sa}from"@dfinity/utils";import{jsonReplacer as Xa,jsonReviver as Qa}from"@dfinity/utils";var ia=async e=>{let a=new Blob([JSON.stringify(e,Xa)],{type:"application/json; charset=utf-8"});return new Uint8Array(await a.arrayBuffer())},oe=async e=>{let a=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await a.text(),Qa)},ce=()=>typeof window<"u";var Me=({width:e,height:a})=>{if(!ce()||sa(window)||sa(window.top))return;let{top:{innerWidth:r,innerHeight:o}}=window,c=o/2+screenY-a/2,n=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${a}, top=${c}, left=${n}`};var ne=class{#e;constructor({domain:a}){this.#e=a}get id(){return"internet_identity"}signInOptions({windowed:a}){let r=()=>{let o=y.getInstance().get()?.container;if(Za(o)||o===!1)return`https://identity.${this.#e??ca}`;let c=y.getInstance().get(),n=ta(c)&&ta(c?.internetIdentityId)?c.internetIdentityId:na,{host:i,protocol:s}=new URL(o===!0?M:o);return/apple/i.test(navigator?.vendor)?`${s}//${i}?canisterId=${n}`:`${s}//${n}.${i.replace("127.0.0.1","localhost")}`};return{...a!==!1&&{windowOpenerFeatures:Me(ra)},identityProvider:r()}}},la=class{#e;#a;constructor({appName:a,logoUrl:r}){this.#e=a,this.#a=r}get id(){return"nfid"}signInOptions({windowed:a}){return{...a!==!1&&{windowOpenerFeatures:Me(oa)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#a)}`}}};import{Actor as ar}from"@dfinity/agent";import{isNullish as ze}from"@dfinity/utils";import{isNullish as Je}from"@dfinity/utils";import{HttpAgent as er}from"@dfinity/agent";import{nonNullish as pa}from"@dfinity/utils";var da=async({identity:e,container:a})=>{let o=pa(a)&&a!==!1?a===!0?M:a:"https://icp-api.io",c=pa(a);return await er.create({identity:e,shouldFetchRootKey:c,host:o})};var J=class e{static instance;#e=void 0;constructor(){}static getInstance(){return Je(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:a,...r}){let o=a.getPrincipal().toText();if(Je(this.#e)||Je(this.#e[o])){let c=await da({identity:a,...r});return this.#e={...this.#e??{},[o]:c},c}return this.#e[o]}reset(){this.#e=null}};var z=class e{static instance;#e=void 0;constructor(){}static getInstance(){return ze(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:a,identity:r,actorKey:o,...c}){let n=`${o}#${r.getPrincipal().toText()}#${a};`;if(ze(this.#e)||ze(this.#e[n])){let i=await this.createActor({satelliteId:a,identity:r,...c});return this.#e={...this.#e??{},[n]:i},i}return this.#e[n]}reset(){this.#e=null}async createActor({idlFactory:a,satelliteId:r,...o}){let c=await J.getInstance().getAgent(o);return ar.createActor(a,{agent:c,canisterId:r})}};var ie=class extends Error{},se=class extends Error{},te=class extends Error{},le=class extends Error{},pe=class extends Error{};import{AuthClient as rr}from"@dfinity/auth-client";var de=()=>rr.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});import{isNullish as lr,nonNullish as Sa}from"@dfinity/utils";var Ke=({error:e,type:a})=>typeof e=="string"?e.includes(a):e instanceof Error?e.message.includes(a):!1;var _a="juno.datastore.error.user.cannot_update";import{fromNullable as G,isNullish as nr,nonNullish as ir}from"@dfinity/utils";var ua=async({data:e})=>{try{return await oe(e)}catch(a){console.error("The data parsing has failed, mapping to undefined as a fallback.",a);return}};import{fromNullable as Ta,toNullable as Ge}from"@dfinity/utils";var He=async e=>{let{data:a,version:r,description:o}=e;return{description:Ge(o),data:await ia(a),version:Ge(r)}},We=e=>{let{version:a}=e;return{version:Ge(a)}},re=async({doc:e,key:a})=>{let{owner:r,version:o,description:c,data:n,...i}=e;return{key:a,description:Ta(c),owner:r.toText(),data:await oe(n),version:Ta(o),...i}};import{Principal as or}from"@dfinity/principal";import{isNullish as K,toNullable as m}from"@dfinity/utils";var Na=e=>{if(K(e))return m();switch(e.matcher){case"equal":return m({Equal:e.timestamp});case"greaterThan":return m({GreaterThan:e.timestamp});case"lessThan":return m({LessThan:e.timestamp});case"between":return m({Between:[e.timestamps.start,e.timestamps.end]});default:throw new pe("Invalid list matcher for timestamp",e)}},P=({matcher:e,paginate:a,order:r,owner:o})=>({matcher:K(e)?[]:[{key:m(e.key),description:m(e.description),created_at:Na(e.createdAt),updated_at:Na(e.updatedAt)}],paginate:m(K(a)?void 0:{start_after:m(a.startAfter),limit:m(K(a.limit)?void 0:BigInt(a.limit))}),order:m(K(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:m(K(o)?void 0:typeof o=="string"?or.fromText(o):o)});import{assertNonNullish as cr}from"@dfinity/utils";import{Actor as yo}from"@dfinity/agent";import{isNullish as Fo}from"@dfinity/utils";import{nonNullish as ho}from"@dfinity/utils";import{HttpAgent as Ao}from"@dfinity/agent";var ma=({IDL:e})=>{let a=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),o=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),c=e.Record({field:o,desc:e.Bool}),n=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),i=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(n),description:e.Opt(e.Text),created_at:e.Opt(n)}),s=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),t=e.Record({order:e.Opt(c),owner:e.Opt(e.Principal),matcher:e.Opt(i),paginate:e.Opt(s)}),u=e.Record({controllers:e.Vec(e.Principal)}),d=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),_=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:d,expires_at:e.Opt(e.Nat64)}),N=e.Record({version:e.Opt(e.Nat64)}),T=e.Variant({Db:e.Null,Storage:e.Null}),E=e.Record({version:e.Opt(e.Nat64)}),v=e.Record({proposal_ids:e.Vec(e.Nat)}),b=e.Record({cycles:e.Nat,destination_id:e.Principal}),B=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),H=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),F=e.Record({key:B,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,H)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),D=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),f=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),h=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),I=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(h)}),W=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),$=e.Variant({Deny:e.Null,Allow:e.Null}),Y=e.Record({status_code:e.Nat16,location:e.Text}),w=e.Record({iframe:e.Opt(W),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(h),raw_access:e.Opt($),redirects:e.Opt(e.Vec(e.Tuple(e.Text,Y)))}),Ne=e.Record({db:e.Opt(I),authentication:e.Opt(f),storage:w}),x=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),me=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Oe=e.Record({clear_existing_assets:e.Opt(e.Bool)}),xe=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),X=e.Variant({AssetsUpgrade:Oe,SegmentsDeployment:xe}),V=e.Record({status:me,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:X}),k=e.Variant({Heap:e.Null,Stable:e.Null}),A=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Q=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),C=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:A,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Q),write:A,max_changes_per_user:e.Opt(e.Nat32)}),Re=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),U=e.Record({memory:k,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),ye=e.Variant({Callback:e.Record({token:U,callback:e.Func([],[],["query"])})}),ge=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ye),status_code:e.Nat16}),Fe=e.Record({token:e.Opt(U),body:e.Vec(e.Nat8)}),L=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),q=e.Record({batch_id:e.Nat}),fe=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,F)),items_length:e.Nat64}),he=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Ve=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,x)),items_length:e.Nat64}),Ae=e.Record({desc:e.Bool}),Pe=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Ee=e.Record({order:e.Opt(Ae),paginate:e.Opt(Pe)}),ve=e.Record({proposal_id:e.Nat}),be=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(ve,V)),items_length:e.Nat64}),De=e.Record({include_system:e.Bool}),Se=e.Record({matcher:e.Opt(De)}),Ie=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,C)),items_length:e.Nat64}),we=e.Record({stable:e.Nat64,heap:e.Nat64}),ke=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),Ce=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:d,expires_at:e.Opt(e.Nat64)}),Ue=e.Record({controller:Ce,controllers:e.Vec(e.Principal)}),Le=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(h)}),Z=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),qe=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),max_size:e.Opt(e.Nat),read:A,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Q),write:A,max_changes_per_user:e.Opt(e.Nat32)}),Be=e.Record({iframe:e.Opt(W),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(h),raw_access:e.Opt($),redirects:e.Opt(e.Vec(e.Tuple(e.Text,Y)))}),ee=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ae=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([a],[],[]),commit_proposal:e.Func([r],[e.Null],[]),commit_proposal_asset_upload:e.Func([a],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(a)],[],[]),count_assets:e.Func([e.Text,t],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,t],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([u],[e.Vec(e.Tuple(e.Principal,_))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,N],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,t],[],[]),del_filtered_docs:e.Func([e.Text,t],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,N))],[],[]),del_rule:e.Func([T,e.Text,E],[],[]),delete_proposal_assets:e.Func([v],[],[]),deposit_cycles:e.Func([b],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(F)],["query"]),get_auth_config:e.Func([],[e.Opt(f)],["query"]),get_config:e.Func([],[Ne],[]),get_db_config:e.Func([],[e.Opt(I)],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(x)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(F)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(x)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(V)],["query"]),get_rule:e.Func([T,e.Text],[e.Opt(C)],["query"]),get_storage_config:e.Func([],[w],["query"]),http_request:e.Func([Re],[ge],["query"]),http_request_streaming_callback:e.Func([U],[Fe],["query"]),init_asset_upload:e.Func([L],[q],[]),init_proposal:e.Func([X],[e.Nat,V],[]),init_proposal_asset_upload:e.Func([L,e.Nat],[q],[]),init_proposal_many_assets_upload:e.Func([e.Vec(L),e.Nat],[e.Vec(e.Tuple(e.Text,q))],[]),list_assets:e.Func([e.Text,t],[fe],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,_))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,he))],["query"]),list_docs:e.Func([e.Text,t],[Ve],["query"]),list_proposals:e.Func([Ee],[be],["query"]),list_rules:e.Func([T,Se],[Ie],["query"]),memory_size:e.Func([],[we],["query"]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ke],[f],[]),set_controllers:e.Func([Ue],[e.Vec(e.Tuple(e.Principal,_))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Le],[I],[]),set_doc:e.Func([e.Text,e.Text,Z],[x],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Z))],[e.Vec(e.Tuple(e.Text,x))],[]),set_rule:e.Func([T,e.Text,qe],[C],[]),set_storage_config:e.Func([Be],[w],[]),submit_proposal:e.Func([e.Nat],[e.Nat,V],[]),upload_asset_chunk:e.Func([ee],[ae],[]),upload_proposal_asset_chunk:e.Func([ee],[ae],[])})},Oa=({IDL:e})=>{let a=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),o=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),c=e.Record({field:o,desc:e.Bool}),n=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),i=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(n),description:e.Opt(e.Text),created_at:e.Opt(n)}),s=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),t=e.Record({order:e.Opt(c),owner:e.Opt(e.Principal),matcher:e.Opt(i),paginate:e.Opt(s)}),u=e.Record({controllers:e.Vec(e.Principal)}),d=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),_=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:d,expires_at:e.Opt(e.Nat64)}),N=e.Record({version:e.Opt(e.Nat64)}),T=e.Variant({Db:e.Null,Storage:e.Null}),E=e.Record({version:e.Opt(e.Nat64)}),v=e.Record({proposal_ids:e.Vec(e.Nat)}),b=e.Record({cycles:e.Nat,destination_id:e.Principal}),B=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),H=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),F=e.Record({key:B,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,H)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),D=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),f=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),h=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),I=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(h)}),W=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),$=e.Variant({Deny:e.Null,Allow:e.Null}),Y=e.Record({status_code:e.Nat16,location:e.Text}),w=e.Record({iframe:e.Opt(W),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(h),raw_access:e.Opt($),redirects:e.Opt(e.Vec(e.Tuple(e.Text,Y)))}),Ne=e.Record({db:e.Opt(I),authentication:e.Opt(f),storage:w}),x=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),me=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Oe=e.Record({clear_existing_assets:e.Opt(e.Bool)}),xe=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),X=e.Variant({AssetsUpgrade:Oe,SegmentsDeployment:xe}),V=e.Record({status:me,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:X}),k=e.Variant({Heap:e.Null,Stable:e.Null}),A=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Q=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),C=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:A,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Q),write:A,max_changes_per_user:e.Opt(e.Nat32)}),Re=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),U=e.Record({memory:k,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),ye=e.Variant({Callback:e.Record({token:U,callback:e.Func([],[],[])})}),ge=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ye),status_code:e.Nat16}),Fe=e.Record({token:e.Opt(U),body:e.Vec(e.Nat8)}),L=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),q=e.Record({batch_id:e.Nat}),fe=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,F)),items_length:e.Nat64}),he=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Ve=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,x)),items_length:e.Nat64}),Ae=e.Record({desc:e.Bool}),Pe=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Ee=e.Record({order:e.Opt(Ae),paginate:e.Opt(Pe)}),ve=e.Record({proposal_id:e.Nat}),be=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(ve,V)),items_length:e.Nat64}),De=e.Record({include_system:e.Bool}),Se=e.Record({matcher:e.Opt(De)}),Ie=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,C)),items_length:e.Nat64}),we=e.Record({stable:e.Nat64,heap:e.Nat64}),ke=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),Ce=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:d,expires_at:e.Opt(e.Nat64)}),Ue=e.Record({controller:Ce,controllers:e.Vec(e.Principal)}),Le=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(h)}),Z=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),qe=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),max_size:e.Opt(e.Nat),read:A,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Q),write:A,max_changes_per_user:e.Opt(e.Nat32)}),Be=e.Record({iframe:e.Opt(W),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(h),raw_access:e.Opt($),redirects:e.Opt(e.Vec(e.Tuple(e.Text,Y)))}),ee=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ae=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([a],[],[]),commit_proposal:e.Func([r],[e.Null],[]),commit_proposal_asset_upload:e.Func([a],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(a)],[],[]),count_assets:e.Func([e.Text,t],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,t],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([u],[e.Vec(e.Tuple(e.Principal,_))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,N],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,t],[],[]),del_filtered_docs:e.Func([e.Text,t],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,N))],[],[]),del_rule:e.Func([T,e.Text,E],[],[]),delete_proposal_assets:e.Func([v],[],[]),deposit_cycles:e.Func([b],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(F)],[]),get_auth_config:e.Func([],[e.Opt(f)],[]),get_config:e.Func([],[Ne],[]),get_db_config:e.Func([],[e.Opt(I)],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(x)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(F)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(x)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(V)],[]),get_rule:e.Func([T,e.Text],[e.Opt(C)],[]),get_storage_config:e.Func([],[w],[]),http_request:e.Func([Re],[ge],[]),http_request_streaming_callback:e.Func([U],[Fe],[]),init_asset_upload:e.Func([L],[q],[]),init_proposal:e.Func([X],[e.Nat,V],[]),init_proposal_asset_upload:e.Func([L,e.Nat],[q],[]),init_proposal_many_assets_upload:e.Func([e.Vec(L),e.Nat],[e.Vec(e.Tuple(e.Text,q))],[]),list_assets:e.Func([e.Text,t],[fe],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,_))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,he))],[]),list_docs:e.Func([e.Text,t],[Ve],[]),list_proposals:e.Func([Ee],[be],[]),list_rules:e.Func([T,Se],[Ie],[]),memory_size:e.Func([],[we],[]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ke],[f],[]),set_controllers:e.Func([Ue],[e.Vec(e.Tuple(e.Principal,_))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Le],[I],[]),set_doc:e.Func([e.Text,e.Text,Z],[x],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Z))],[e.Vec(e.Tuple(e.Text,x))],[]),set_rule:e.Func([T,e.Text,qe],[C],[]),set_storage_config:e.Func([Be],[w],[]),submit_proposal:e.Func([e.Nat],[e.Nat,V],[]),upload_asset_chunk:e.Func([ee],[ae],[]),upload_proposal_asset_chunk:e.Func([ee],[ae],[])})};import{nonNullish as $e}from"@dfinity/utils";var xa=({satelliteId:e,container:a})=>{let{satelliteId:r}=Ye({satelliteId:e}),{container:o}=Xe({container:a});if($e(o)&&o!==!1){let{host:c,protocol:n}=new URL(o===!0?M:o);return`${n}//${r??"unknown"}.${c.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Ye=({satelliteId:e})=>$e(e)?{satelliteId:e}:y.getInstance().get()??{satelliteId:void 0},Xe=({container:e})=>$e(e)?{container:e}:y.getInstance().get()??{container:void 0};var p=({satellite:e,options:{certified:a}})=>ya({idlFactory:a?Oa:ma,actorKey:`stock#${a?"update":"query"}`,...e}),Ra=({idlFactory:e,...a})=>ya({idlFactory:e,actorKey:"extended#query",...a}),ya=async({satelliteId:e,container:a,...r})=>{let{satelliteId:o}=Ye({satelliteId:e});cr(o,"No satellite ID defined. Did you initialize Juno?");let{container:c}=Xe({container:a});return await z.getInstance().getActor({satelliteId:o,container:c,...r})};var ga=async({collection:e,key:a,...r})=>{let{get_doc:o}=await p(r),c=G(await o(e,a));if(!nr(c))return re({doc:c,key:a})},Fa=async({docs:e,...a})=>{let{get_many_docs:r}=await p(a),o=e.map(({collection:i,key:s})=>[i,s]),c=await r(o),n=[];for(let[i,s]of c){let t=G(s);n.push(ir(t)?await re({key:i,doc:t}):void 0)}return n},fa=async({collection:e,doc:a,...r})=>{let{set_doc:o}=await p(r),{key:c}=a,n=await He(a),i=await o(e,c,n);return await re({key:c,doc:i})},ha=async({docs:e,...a})=>{let{set_many_docs:r}=await p(a),o=[];for(let{collection:i,doc:s}of e){let{key:t}=s;o.push([i,t,await He(s)])}let c=await r(o),n=[];for(let[i,s]of c)n.push(await re({key:i,doc:s}));return n},Va=async({collection:e,doc:a,...r})=>{let{del_doc:o}=await p(r),{key:c}=a;return o(e,c,We(a))},Aa=async({docs:e,...a})=>{let{del_many_docs:r}=await p(a),o=e.map(({collection:c,doc:n})=>[c,n.key,We(n)]);await r(o)},Pa=async({collection:e,filter:a,...r})=>{let{del_filtered_docs:o}=await p(r);return o(e,P(a))},Ea=async({collection:e,filter:a,...r})=>{let{list_docs:o}=await p(r),{items:c,items_page:n,items_length:i,matches_length:s,matches_pages:t}=await o(e,P(a)),u=[];for(let[d,_]of c){let{data:N,owner:T,description:E,version:v,...b}=_;u.push({key:d,description:G(E),owner:T.toText(),data:await ua({data:N}),version:G(v),...b})}return{items:u,items_length:i,items_page:G(n),matches_length:s,matches_pages:G(t)}},va=async({collection:e,filter:a,...r})=>{let{count_docs:o}=await p(r);return o(e,P(a))};var g={certified:!1};import{AnonymousIdentity as sr}from"@dfinity/agent";import{nonNullish as tr}from"@dfinity/utils";var l=e=>tr(e)?e:_e()??new sr;var ba=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await ga({...r,satellite:{...e,identity:o},options:a??g})},Xo=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Fa({...r,satellite:{...e,identity:o},options:a??g})},Da=async({satellite:e,...a})=>{let r=l(e?.identity);return await fa({...a,satellite:{...e,identity:r},options:{certified:!0}})},Qo=async({satellite:e,...a})=>{let r=l(e?.identity);return await ha({...a,satellite:{...e,identity:r},options:{certified:!0}})},Zo=async({satellite:e,...a})=>{let r=l(e?.identity);return await Va({...a,satellite:{...e,identity:r},options:{certified:!0}})},ec=async({satellite:e,...a})=>{let r=l(e?.identity);return await Aa({...a,satellite:{...e,identity:r},options:{certified:!0}})},ac=async({satellite:e,filter:a,...r})=>{let o=l(e?.identity);return await Pa({...r,filter:a??{},satellite:{...e,identity:o},options:{certified:!0}})},rc=async({satellite:e,options:a,filter:r,...o})=>{let c=l(e?.identity);return await Ea({...o,filter:r??{},satellite:{...e,identity:c},options:a??g})},oc=async({satellite:e,options:a,filter:r,...o})=>{let c=l(e?.identity);return await va({...o,filter:r??{},satellite:{...e,identity:c},options:a??g})};var Ia=async e=>{let a=_e();if(lr(a))throw new le("No identity to initialize the user. Have you initialized Juno?");let r=a.getPrincipal().toText(),o=()=>ba({collection:"#user",key:r}),c=await o();if(Sa(c))return c;try{return await pr({userId:r,provider:e})}catch(n){if(Ke({error:n,type:_a})){let i=await o();if(Sa(i))return i}throw n}},pr=({userId:e,...a})=>Da({collection:"#user",doc:{key:e,data:a}});var O,Qe=async e=>{if(O=O??await de(),!(await O?.isAuthenticated()??!1))return;let r=await Ia(e);R.getInstance().set(r)},_r=e=>new Promise(async(a,r)=>{if(wa(O)){r(new se("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}let o=e?.provider??new ne({});await O.login({onSuccess:async()=>{await Qe(o.id),a()},onError:c=>{if(c===dr){r(new te(c));return}r(new ie(c))},maxTimeToLive:e?.maxTimeToLive??ea,allowPinAuthentication:e?.allowPin??aa,...e?.derivationOrigin!==void 0&&{derivationOrigin:e.derivationOrigin},...o.signInOptions({windowed:e?.windowed})})}),Ze=async()=>{await ur(),O=await de()},ur=async()=>{await O?.logout(),O=null,R.getInstance().reset(),z.getInstance().reset(),J.getInstance().reset()},_e=()=>O?.getIdentity(),Tr=async()=>(O??await de()).getIdentity(),Nr=async()=>{let e=R.getInstance().get();return wa(e)||!(await O?.isAuthenticated()??!1)?null:O?.getIdentity()??null};var ka=e=>{let a=e===!0?"./workers/auth.worker.js":e,r=new Worker(a),o=async()=>{je({message:"junoSignOutAuthTimer"}),await Ze()};return r.onmessage=async({data:c})=>{let{msg:n,data:i}=c;switch(n){case"junoSignOutAuthTimer":await o();return;case"junoDelegationRemainingTime":je({message:"junoDelegationRemainingTime",detail:i?.authRemainingTime});return}},R.getInstance().subscribe(c=>{if(mr(c)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Ca=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"?process.env?.NEXT_PUBLIC_SATELLITE_ID??e():e()},Ua=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"?process.env?.NEXT_PUBLIC_CONTAINER??e():e()};var bc=async({idlFactory:e,satellite:a})=>{let r=l(a?.identity);return await Ra({idlFactory:e,...a,identity:r})};import{fromNullable as Wa,nonNullish as fr}from"@dfinity/utils";import{fromNullable as Te}from"@dfinity/utils";import{assertNonNullish as Ic,toNullable as ue}from"@dfinity/utils";var La=async({asset:{data:e,headers:a,...r},actor:o,progress:c})=>{let{init_asset_upload:n,upload_asset_chunk:i,commit_asset_upload:s}=o,{batch_id:t}=await n(Or(r));c?.onInitiatedBatch();let{chunkIds:u}=await yr({data:e,uploadFn:i,batchId:t});c?.onUploadedFileChunks(r.fullPath),await Rr({commitFn:s,batchId:t,data:e,headers:a,chunkIds:u}),c?.onCommittedBatch()};var Or=({filename:e,collection:a,token:r,fullPath:o,encoding:c,description:n})=>({collection:a,full_path:o,name:e,token:ue(r),encoding_type:ue(c),description:ue(n)}),xr=({batchId:e,chunkIds:a,headers:r,data:o})=>{let c=r.find(([n,i])=>n.toLowerCase()==="content-type")===void 0&&o.type!==void 0&&o.type!==""?[["Content-Type",o.type]]:void 0;return{batch_id:e,chunk_ids:a.map(({chunk_id:n})=>n),headers:[...r,...c??[]]}},Rr=async({commitFn:e,...a})=>{let r=xr(a);await e(r)},yr=async({data:e,uploadFn:a,batchId:r})=>{let o=[],c=ce()?new Blob([await e.arrayBuffer()]):e,n=0n;for(let s=0;s<c.size;s+=19e5){let t=c.slice(s,s+19e5);o.push({batchId:r,chunk:t,uploadFn:a,orderId:n}),n++}let i=[];for await(let s of gr({uploadChunks:o}))i=[...i,...s];return{chunkIds:i}};async function*gr({uploadChunks:e,limit:a=12}){for(let r=0;r<e.length;r=r+a){let o=e.slice(r,r+a);yield await Promise.all(o.map(c=>Fr(c)))}}var Fr=async({batchId:e,chunk:a,uploadFn:r,orderId:o})=>r({batch_id:e,content:new Uint8Array(await a.arrayBuffer()),order_id:ue(o)});var qa=async({asset:e,...a})=>{let r=await p(a);await La({actor:r,asset:e})},Ba=async({collection:e,filter:a,...r})=>{let{list_assets:o}=await p(r),{items:c,items_length:n,items_page:i,matches_length:s,matches_pages:t}=await o(e,P(a));return{items:c.map(([u,d])=>d),items_length:n,items_page:Te(i),matches_length:s,matches_pages:Te(t)}},ja=async({collection:e,filter:a,...r})=>{let{count_assets:o}=await p(r);return o(e,P(a))},Ma=async({collection:e,fullPath:a,...r})=>(await p(r)).del_asset(e,a),Ja=async({assets:e,satellite:a})=>{let{del_many_assets:r}=await p({satellite:a,options:{certified:!0}}),o=e.map(({collection:c,fullPath:n})=>[c,n]);await r(o)},za=async({collection:e,filter:a,...r})=>{let{del_filtered_assets:o}=await p(r);return o(e,P(a))},Ka=async({collection:e,fullPath:a,...r})=>{let{get_asset:o}=await p(r);return Te(await o(e,a))},Ga=async({assets:e,...a})=>{let{get_many_assets:r}=await p(a),o=e.map(({collection:n,fullPath:i})=>[n,i]);return(await r(o)).map(([n,i])=>Te(i))};var Ha=e=>btoa([...e].map(a=>String.fromCharCode(a)).join(""));var Wc=e=>$a(e),$c=e=>$a({filename:e.data.name,...e}),$a=async({filename:e,data:a,collection:r,headers:o=[],fullPath:c,token:n,satellite:i,encoding:s,description:t})=>{let u=l(i?.identity),d=decodeURI(e),_=c??`/${r}/${d}`,N={...i,identity:u};return await qa({asset:{data:a,filename:d,collection:r,token:n,headers:o,fullPath:_,encoding:s,description:t},satellite:N,options:{certified:!0}}),{downloadUrl:Ya({satellite:N,assetKey:{fullPath:_,token:n}}),fullPath:_,name:d}},Yc=async({collection:e,filter:a,satellite:r,options:o})=>{let c={...r,identity:l(r?.identity)},{items:n,...i}=await Ba({collection:e,filter:a??{},satellite:c,options:o??g}),s=n.map(({key:{full_path:t,token:u,name:d,owner:_,description:N},headers:T,encodings:E,created_at:v,updated_at:b})=>{let B=Wa(u);return{fullPath:t,description:Wa(N),name:d,downloadUrl:Ya({satellite:c,assetKey:{fullPath:t,token:B}}),token:B,headers:T,encodings:E.reduce((H,[F,{modified:D,sha256:S,total_length:f}])=>({...H,[F]:{modified:D,sha256:Ha(S),total_length:f}}),{}),owner:_.toText(),created_at:v,updated_at:b}});return{items:s,assets:s,...i}},Xc=async({collection:e,filter:a,satellite:r,options:o})=>{let c={...r,identity:l(r?.identity)};return await ja({collection:e,satellite:c,filter:a??{},options:o??g})},Qc=({collection:e,fullPath:a,satellite:r})=>Ma({collection:e,fullPath:a,satellite:{...r,identity:l(r?.identity)},options:{certified:!0}}),Zc=({assets:e,satellite:a})=>Ja({assets:e,satellite:{...a,identity:l(a?.identity)},options:{certified:!0}}),en=async({collection:e,satellite:a,filter:r})=>{let o={...a,identity:l(a?.identity)};return await za({collection:e,satellite:o,filter:r??{},options:{certified:!0}})},an=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Ka({...r,satellite:{...e,identity:o},options:a??g})},rn=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Ga({...r,satellite:{...e,identity:o},options:a??g})},Ya=({assetKey:{fullPath:e,token:a},satellite:r})=>{let o={...r,identity:l(r?.identity)};return`${xa(o)}${e}${fr(a)?`?token=${a}`:""}`};var Vr=e=>{let a=e?.satelliteId??Ca();hr(a,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Ua();return{satelliteId:a,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},dn=e=>Ar(e),Ar=async e=>{let a=Vr(e);y.getInstance().set(a),await Qe();let r=a.workers?.auth!==void 0?ka(a.workers.auth):void 0;return[...r?[r]:[]]},_n=e=>R.getInstance().subscribe(e);export{le as InitError,ne as InternetIdentityProvider,pe as ListError,la as NFIDProvider,ie as SignInError,se as SignInInitError,te as SignInUserInterruptError,_n as authSubscribe,Xc as countAssets,oc as countDocs,Qc as deleteAsset,Zo as deleteDoc,en as deleteFilteredAssets,ac as deleteFilteredDocs,Zc as deleteManyAssets,ec as deleteManyDocs,Ya as downloadUrl,an as getAsset,ba as getDoc,Nr as getIdentityOnce,rn as getManyAssets,Xo as getManyDocs,bc as getSatelliteExtendedActor,dn as initJuno,Ar as initSatellite,Yc as listAssets,rc as listDocs,Da as setDoc,Qo as setManyDocs,_r as signIn,Ze as signOut,Tr as unsafeIdentity,Wc as uploadBlob,$c as uploadFile};
1
+ import{assertNonNullish as Qo}from"@dfinity/utils";import{isNullish as Jo}from"@dfinity/utils";var K=class{callbacks=[];populate(a){this.callbacks.forEach(({callback:r})=>r(a))}subscribe(a){let r=Symbol();return this.callbacks.push({id:r,callback:a}),()=>this.callbacks=this.callbacks.filter(({id:o})=>o!==r)}};var O=class e extends K{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.authUser=a,this.populate(a)}get(){return this.authUser}subscribe(a){let r=super.subscribe(a);return a(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var Qe=({message:e,detail:a})=>{let r=new CustomEvent(e,{detail:a,bubbles:!0});document.dispatchEvent(r)};import{isNullish as Co}from"@dfinity/utils";import{Actor as Er}from"@dfinity/agent";import{isNullish as ea}from"@dfinity/utils";import{isNullish as Ze}from"@dfinity/utils";import{HttpAgent as Pr}from"@dfinity/agent";import{nonNullish as Oa}from"@dfinity/utils";var J="http://127.0.0.1:5987",Na="rdmx6-jaaaa-aaaaa-aaadq-cai";var xa=async({identity:e,container:a})=>{let o=Oa(a)&&a!==!1?a===!0?J:a:"https://icp-api.io",i=Oa(a);return await Pr.create({identity:e,shouldFetchRootKey:i,host:o})};var W=class e{static instance;#e=void 0;constructor(){}static getInstance(){return Ze(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:a,...r}){let o=a.getPrincipal().toText();if(Ze(this.#e)||Ze(this.#e[o])){let i=await xa({identity:a,...r});return this.#e={...this.#e??{},[o]:i},i}return this.#e[o]}reset(){this.#e=null}};var z=class e{static instance;#e=void 0;constructor(){}static getInstance(){return ea(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:a,identity:r,actorKey:o,...i}){let n=`${o}#${r.getPrincipal().toText()}#${a};`;if(ea(this.#e)||ea(this.#e[n])){let s=await this.createActor({satelliteId:a,identity:r,...i});return this.#e={...this.#e??{},[n]:s},s}return this.#e[n]}reset(){this.#e=null}async createActor({idlFactory:a,satelliteId:r,...o}){let i=await W.getInstance().getAgent(o);return Er.createActor(a,{agent:i,canisterId:r})}};var ya=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),vr=()=>{window.addEventListener("beforeunload",ya,{capture:!0})},wr=()=>{window.removeEventListener("beforeunload",ya,{capture:!0})},aa=async({fn:e})=>{try{return vr(),await e()}finally{wr()}};import{isNullish as Cr,nonNullish as Pa}from"@dfinity/utils";var N=class e extends K{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.env=a,this.populate(a)}get(){return this.env}reset(){this.env=null}subscribe(a){let r=super.subscribe(a);return a(this.env),r}};var Ra=BigInt(144e11),ga=!1,ha={width:576,height:576},fa={width:505,height:705},Fa="internetcomputer.org";import{isNullish as Aa}from"@dfinity/utils";import{jsonReplacer as br,jsonReviver as Ir}from"@dfinity/utils";var Va=async e=>{let a=new Blob([JSON.stringify(e,br)],{type:"application/json; charset=utf-8"});return new Uint8Array(await a.arrayBuffer())},de=async e=>{let a=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await a.text(),Ir)},ue=()=>typeof window<"u";var _e=({width:e,height:a})=>{if(!ue()||Aa(window)||Aa(window.top))return;let{top:{innerWidth:r,innerHeight:o}}=window,i=o/2+screenY-a/2,n=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${a}, top=${i}, left=${n}`};import{ERROR_USER_INTERRUPT as Sr}from"@dfinity/auth-client";import{isNullish as Dr}from"@dfinity/utils";var me=class extends Error{},j=class extends Error{},Te=class extends Error{},Ne=class extends Error{},Oe=class extends Error{},xe=class extends Error{},ye=class extends Error{};var G=class{signIn({options:a,authClient:r,initAuth:o}){return new Promise(async(i,n)=>{if(Dr(r)){n(new j("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:async()=>{await o({provider:this.id}),i()},onError:s=>{if(s===Sr){n(new Te(s));return}n(new me(s))},maxTimeToLive:a?.maxTimeToLiveInNanoseconds??Ra,allowPinAuthentication:a?.allowPin??ga,...a?.derivationOrigin!==void 0&&{derivationOrigin:a.derivationOrigin},...this.signInOptions({windowed:a?.windowed})})})}};var Re=class extends G{#e;constructor({domain:a}={}){super(),this.#e=a}get id(){return"internet_identity"}signInOptions({windowed:a}){let r=()=>{let o=N.getInstance().get()?.container;if(Cr(o)||o===!1)return`https://identity.${this.#e??Fa}`;let i=N.getInstance().get(),n=Pa(i)&&Pa(i?.internetIdentityId)?i.internetIdentityId:Na,{host:s,protocol:t}=new URL(o===!0?J:o);return/apple/i.test(navigator?.vendor)?`${t}//${s}?canisterId=${n}`:`${t}//${n}.${s.replace("127.0.0.1","localhost")}`};return{...a!==!1&&{windowOpenerFeatures:_e(ha)},identityProvider:r()}}};var ge=class extends G{#e;#a;constructor({appName:a,logoUrl:r}){super(),this.#e=a,this.#a=r}get id(){return"nfid"}signInOptions({windowed:a}){return{...a!==!1&&{windowOpenerFeatures:_e(fa)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#a)}`}}};import{AnonymousIdentity as Ro}from"@dfinity/agent";import{IdbStorage as go,KEY_STORAGE_DELEGATION as ho,KEY_STORAGE_KEY as fo}from"@dfinity/auth-client";import{DelegationChain as Fo,DelegationIdentity as Vo,DER_COSE_OID as Ao,ECDSAKeyIdentity as Po,unwrapDER as Eo}from"@dfinity/identity";import{isNullish as pa,uint8ArrayToBase64 as vo}from"@dfinity/utils";import{uint8ArrayToArrayOfNumber as kr}from"@dfinity/utils";import{DER_COSE_OID as qr,wrapDER as Br}from"@dfinity/agent";import{uint8ArrayToBase64 as Jr}from"@dfinity/utils";import{Cbor as va,SignIdentity as eo}from"@dfinity/agent";import{arrayBufferToUint8Array as H,isNullish as se,uint8ArraysEqual as ao}from"@dfinity/utils";import{isNullish as io}from"@dfinity/utils";import{nonNullish as Yi}from"@dfinity/utils";var Ur=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let a=[...e.slice(37,53)],r=Lr({bytes:a});return"aaguid"in r?{aaguidBytes:a,aaguidText:r.aaguid}:{unknownProvider:null}},Lr=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let a=(e instanceof Uint8Array?kr(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return a==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:a}};function jr(e){let a=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((i,n)=>a.setUint8(n,i));let o=a.getUint16(0);return e.slice(55+o)}function Mr(e){return Br(e.buffer,qr).buffer}var Kr=class{constructor(e){this._cose=e,this._encodedKey=Mr(e)}_encodedKey;toDer(){return this._encodedKey}},Sa=class{#e;#a;constructor({rawId:e,cose:a}){this.#e=e,this.#a=new Kr(a)}getPublicKey(){return this.#a}getCredentialId(){return this.#e}getCredentialIdText(){return Jr(this.#e)}},Wr=class extends Sa{#e;#a;constructor({authData:e,...a}){super(a);let r=Ur({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#a="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#a}getAAGUIDText(){return this.#e}},zr=class extends Sa{},Gr=class extends Error{},Hr=class extends Error{},$r=class extends Error{},Yr=class extends Error{},Xr=class extends Error{},Qr=class extends Error{},Zr=class extends Error{},Ea=class extends Error{};var ro={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},oo=6e4,Da=()=>window.crypto.getRandomValues(new Uint8Array(16)),no=()=>Da(),so=()=>Da(),to=()=>{let{location:{href:e}}=window,a=URL.parse(e);if(io(a))throw new Gr;let{hostname:r}=a;return r},Ca=({appId:e})=>e?.id??to(),co=({appId:e,user:a}={})=>{let{document:{title:r}}=window,o=()=>({rp:{name:e?.name??r,id:Ca({appId:e})}}),i=()=>({user:{id:so(),name:a?.name??a?.displayName??r,displayName:a?.displayName??r}});return{attestation:"direct",challenge:no(),...o(),...i(),pubKeyCredParams:Object.values(ro).map(n=>({type:"public-key",alg:n})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},lo=(e={})=>({rpId:Ca(e),allowCredentials:[],userVerification:"required"}),ra=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let o=await e();return r?.({step:a,state:"success"}),o}catch(o){throw r?.({step:a,state:"error"}),o}},v=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(v||{}),ka=({timeout:e})=>AbortSignal.timeout(e??oo),po=async({challenge:e,credentialIds:a,passkeyOptions:r,timeout:o})=>await navigator.credentials.get({publicKey:{...lo(r),challenge:e.buffer,allowCredentials:(a??[]).map(i=>({id:i.buffer,type:"public-key"}))},signal:ka({timeout:o})}),wa=e=>{if(e.status!=="initialized")throw new Hr},ba=e=>{if(se(e))throw new $r},Ia=({type:e})=>{if(e!=="public-key")throw new Yr},oa=class te extends eo{#e;#a;constructor({onProgress:a,...r}){if(super(),this.#e=a,"retrievePublicKey"in r){let{retrievePublicKey:o}=r;this.#a={status:"pending",retrievePublicKey:o};return}this.#a=te.#r({credential:new Wr(r)})}static#r({credential:a}){return{status:"initialized",credential:a}}static async createWithNewCredential({passkeyOptions:a,timeout:r,...o}={}){let i=await navigator.credentials.create({publicKey:co(a),signal:ka({timeout:r})});ba(i),Ia(i);let{response:{attestationObject:n},rawId:s}=i;if(se(n))throw new Xr;let{authData:t}=va.decode(n),c=jr(t);return new te({...o,rawId:H(s),cose:c,authData:t})}static async createWithExistingCredential(a){return new te(a)}getPublicKey(){wa(this.#a);let{credential:a}=this.#a;return a.getPublicKey()}getCredential(){wa(this.#a);let{credential:a}=this.#a;return a}async sign(a){let r=await ra({fn:async()=>{let o=await po({challenge:H(a),...this.#a.status==="initialized"&&{credentialIds:[this.#a.credential.getCredentialId()]}});return ba(o),Ia(o),o},step:0,onProgress:this.#e});return await ra({fn:async()=>{let{rawId:o}=r;if(this.#a.status==="initialized"){if(!ao({a:this.#a.credential.getCredentialId(),b:H(o)}))throw new Qr;return}let{retrievePublicKey:i}=this.#a,n=await i({credentialId:H(o)});this.#a=te.#r({credential:new zr({rawId:H(o),cose:n})})},step:1,onProgress:this.#e}),await ra({fn:async()=>{let{response:o}=r,{clientDataJSON:i}=o,{authenticatorData:n,signature:s}="authenticatorData"in o&&"signature"in o?o:{};if(se(n))throw new Ea;if(se(s))throw new Ea;let t=va.encode({authenticator_data:n,client_data_json:new TextDecoder().decode(i),signature:H(s)});if(se(t))throw new Zr;return Object.assign(t,{__signature__:void 0}),t},step:2,onProgress:this.#e})}};var f={certified:!1};import{AnonymousIdentity as uo}from"@dfinity/agent";import{nonNullish as _o}from"@dfinity/utils";var l=e=>_o(e)?e:he()??new uo;import{fromNullable as Y,isNullish as No,nonNullish as Oo}from"@dfinity/utils";import{assertNonNullish as mo}from"@dfinity/utils";import{Actor as On}from"@dfinity/agent";import{isNullish as yn}from"@dfinity/utils";import{nonNullish as gn}from"@dfinity/utils";import{HttpAgent as fn}from"@dfinity/agent";var Ua=({IDL:e})=>{let a=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),o=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),i=e.Record({field:o,desc:e.Bool}),n=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),s=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(n),description:e.Opt(e.Text),created_at:e.Opt(n)}),t=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(i),owner:e.Opt(e.Principal),matcher:e.Opt(s),paginate:e.Opt(t)}),m=e.Record({controllers:e.Vec(e.Principal)}),u=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),p=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:u,expires_at:e.Opt(e.Nat64)}),d=e.Record({version:e.Opt(e.Nat64)}),T=e.Variant({Db:e.Null,Storage:e.Null}),R=e.Record({version:e.Opt(e.Nat64)}),g=e.Record({proposal_ids:e.Vec(e.Nat)}),b=e.Record({cycles:e.Nat,destination_id:e.Principal}),M=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),X=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),F=e.Record({key:M,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,X)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),I=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),V=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(I),rules:e.Opt(S)}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),D=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A)}),Q=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Z=e.Variant({Deny:e.Null,Allow:e.Null}),ee=e.Record({status_code:e.Nat16,location:e.Text}),C=e.Record({iframe:e.Opt(Q),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(Z),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ee)))}),Ae=e.Record({db:e.Opt(D),authentication:e.Opt(V),storage:C}),h=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Pe=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Ee=e.Record({clear_existing_assets:e.Opt(e.Bool)}),ve=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ae=e.Variant({AssetsUpgrade:Ee,SegmentsDeployment:ve}),P=e.Record({status:Pe,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:ae}),k=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),re=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),U=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:E,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(re),write:E,max_changes_per_user:e.Opt(e.Nat32)}),we=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),L=e.Record({memory:k,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),be=e.Variant({Callback:e.Record({token:L,callback:e.Func([],[],["query"])})}),Ie=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(be),status_code:e.Nat16}),Se=e.Record({token:e.Opt(L),body:e.Vec(e.Nat8)}),q=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),B=e.Record({batch_id:e.Nat}),De=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,F)),items_length:e.Nat64}),Ce=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),ke=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,h)),items_length:e.Nat64}),Ue=e.Record({desc:e.Bool}),Le=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),qe=e.Record({order:e.Opt(Ue),paginate:e.Opt(Le)}),Be=e.Record({proposal_id:e.Nat}),je=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Be,P)),items_length:e.Nat64}),Me=e.Record({include_system:e.Bool}),Ke=e.Record({matcher:e.Opt(Me)}),Je=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,U)),items_length:e.Nat64}),We=e.Record({stable:e.Nat64,heap:e.Nat64}),ze=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(I),rules:e.Opt(S)}),Ge=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:u,expires_at:e.Opt(e.Nat64)}),He=e.Record({controller:Ge,controllers:e.Vec(e.Principal)}),$e=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(A)}),oe=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Ye=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),max_size:e.Opt(e.Nat),read:E,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(re),write:E,max_changes_per_user:e.Opt(e.Nat32)}),Xe=e.Record({iframe:e.Opt(Q),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(Z),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ee)))}),ie=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ne=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([a],[],[]),commit_proposal:e.Func([r],[e.Null],[]),commit_proposal_asset_upload:e.Func([a],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(a)],[],[]),count_assets:e.Func([e.Text,c],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,c],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([m],[e.Vec(e.Tuple(e.Principal,p))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,d],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,d))],[],[]),del_rule:e.Func([T,e.Text,R],[],[]),delete_proposal_assets:e.Func([g],[],[]),deposit_cycles:e.Func([b],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(F)],["query"]),get_auth_config:e.Func([],[e.Opt(V)],["query"]),get_config:e.Func([],[Ae],[]),get_db_config:e.Func([],[e.Opt(D)],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(h)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(F)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(h)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(P)],["query"]),get_rule:e.Func([T,e.Text],[e.Opt(U)],["query"]),get_storage_config:e.Func([],[C],["query"]),http_request:e.Func([we],[Ie],["query"]),http_request_streaming_callback:e.Func([L],[Se],["query"]),init_asset_upload:e.Func([q],[B],[]),init_proposal:e.Func([ae],[e.Nat,P],[]),init_proposal_asset_upload:e.Func([q,e.Nat],[B],[]),init_proposal_many_assets_upload:e.Func([e.Vec(q),e.Nat],[e.Vec(e.Tuple(e.Text,B))],[]),list_assets:e.Func([e.Text,c],[De],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ce))],["query"]),list_docs:e.Func([e.Text,c],[ke],["query"]),list_proposals:e.Func([qe],[je],["query"]),list_rules:e.Func([T,Ke],[Je],["query"]),memory_size:e.Func([],[We],["query"]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ze],[V],[]),set_controllers:e.Func([He],[e.Vec(e.Tuple(e.Principal,p))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([$e],[D],[]),set_doc:e.Func([e.Text,e.Text,oe],[h],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,oe))],[e.Vec(e.Tuple(e.Text,h))],[]),set_rule:e.Func([T,e.Text,Ye],[U],[]),set_storage_config:e.Func([Xe],[C],[]),submit_proposal:e.Func([e.Nat],[e.Nat,P],[]),upload_asset_chunk:e.Func([ie],[ne],[]),upload_proposal_asset_chunk:e.Func([ie],[ne],[])})},La=({IDL:e})=>{let a=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),o=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),i=e.Record({field:o,desc:e.Bool}),n=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),s=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(n),description:e.Opt(e.Text),created_at:e.Opt(n)}),t=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(i),owner:e.Opt(e.Principal),matcher:e.Opt(s),paginate:e.Opt(t)}),m=e.Record({controllers:e.Vec(e.Principal)}),u=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),p=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:u,expires_at:e.Opt(e.Nat64)}),d=e.Record({version:e.Opt(e.Nat64)}),T=e.Variant({Db:e.Null,Storage:e.Null}),R=e.Record({version:e.Opt(e.Nat64)}),g=e.Record({proposal_ids:e.Vec(e.Nat)}),b=e.Record({cycles:e.Nat,destination_id:e.Principal}),M=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),X=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),F=e.Record({key:M,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,X)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),I=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),V=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(I),rules:e.Opt(S)}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),D=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A)}),Q=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Z=e.Variant({Deny:e.Null,Allow:e.Null}),ee=e.Record({status_code:e.Nat16,location:e.Text}),C=e.Record({iframe:e.Opt(Q),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(Z),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ee)))}),Ae=e.Record({db:e.Opt(D),authentication:e.Opt(V),storage:C}),h=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Pe=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Ee=e.Record({clear_existing_assets:e.Opt(e.Bool)}),ve=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ae=e.Variant({AssetsUpgrade:Ee,SegmentsDeployment:ve}),P=e.Record({status:Pe,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:ae}),k=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),re=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),U=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:E,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(re),write:E,max_changes_per_user:e.Opt(e.Nat32)}),we=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),L=e.Record({memory:k,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),be=e.Variant({Callback:e.Record({token:L,callback:e.Func([],[],[])})}),Ie=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(be),status_code:e.Nat16}),Se=e.Record({token:e.Opt(L),body:e.Vec(e.Nat8)}),q=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),B=e.Record({batch_id:e.Nat}),De=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,F)),items_length:e.Nat64}),Ce=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),ke=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,h)),items_length:e.Nat64}),Ue=e.Record({desc:e.Bool}),Le=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),qe=e.Record({order:e.Opt(Ue),paginate:e.Opt(Le)}),Be=e.Record({proposal_id:e.Nat}),je=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Be,P)),items_length:e.Nat64}),Me=e.Record({include_system:e.Bool}),Ke=e.Record({matcher:e.Opt(Me)}),Je=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,U)),items_length:e.Nat64}),We=e.Record({stable:e.Nat64,heap:e.Nat64}),ze=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(I),rules:e.Opt(S)}),Ge=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:u,expires_at:e.Opt(e.Nat64)}),He=e.Record({controller:Ge,controllers:e.Vec(e.Principal)}),$e=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(A)}),oe=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Ye=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),max_size:e.Opt(e.Nat),read:E,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(re),write:E,max_changes_per_user:e.Opt(e.Nat32)}),Xe=e.Record({iframe:e.Opt(Q),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(Z),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ee)))}),ie=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ne=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([a],[],[]),commit_proposal:e.Func([r],[e.Null],[]),commit_proposal_asset_upload:e.Func([a],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(a)],[],[]),count_assets:e.Func([e.Text,c],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,c],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([m],[e.Vec(e.Tuple(e.Principal,p))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,d],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,d))],[],[]),del_rule:e.Func([T,e.Text,R],[],[]),delete_proposal_assets:e.Func([g],[],[]),deposit_cycles:e.Func([b],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(F)],[]),get_auth_config:e.Func([],[e.Opt(V)],[]),get_config:e.Func([],[Ae],[]),get_db_config:e.Func([],[e.Opt(D)],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(h)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(F)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(h)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(P)],[]),get_rule:e.Func([T,e.Text],[e.Opt(U)],[]),get_storage_config:e.Func([],[C],[]),http_request:e.Func([we],[Ie],[]),http_request_streaming_callback:e.Func([L],[Se],[]),init_asset_upload:e.Func([q],[B],[]),init_proposal:e.Func([ae],[e.Nat,P],[]),init_proposal_asset_upload:e.Func([q,e.Nat],[B],[]),init_proposal_many_assets_upload:e.Func([e.Vec(q),e.Nat],[e.Vec(e.Tuple(e.Text,B))],[]),list_assets:e.Func([e.Text,c],[De],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ce))],[]),list_docs:e.Func([e.Text,c],[ke],[]),list_proposals:e.Func([qe],[je],[]),list_rules:e.Func([T,Ke],[Je],[]),memory_size:e.Func([],[We],[]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([ze],[V],[]),set_controllers:e.Func([He],[e.Vec(e.Tuple(e.Principal,p))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([$e],[D],[]),set_doc:e.Func([e.Text,e.Text,oe],[h],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,oe))],[e.Vec(e.Tuple(e.Text,h))],[]),set_rule:e.Func([T,e.Text,Ye],[U],[]),set_storage_config:e.Func([Xe],[C],[]),submit_proposal:e.Func([e.Nat],[e.Nat,P],[]),upload_asset_chunk:e.Func([ie],[ne],[]),upload_proposal_asset_chunk:e.Func([ie],[ne],[])})};import{nonNullish as ia}from"@dfinity/utils";var qa=({satelliteId:e,container:a})=>{let{satelliteId:r}=na({satelliteId:e}),{container:o}=sa({container:a});if(ia(o)&&o!==!1){let{host:i,protocol:n}=new URL(o===!0?J:o);return`${n}//${r??"unknown"}.${i.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},na=({satelliteId:e})=>ia(e)?{satelliteId:e}:N.getInstance().get()??{satelliteId:void 0},sa=({container:e})=>ia(e)?{container:e}:N.getInstance().get()??{container:void 0};var _=({satellite:e,options:{certified:a}})=>ja({idlFactory:a?La:Ua,actorKey:`stock#${a?"update":"query"}`,...e}),Ba=({idlFactory:e,...a})=>ja({idlFactory:e,actorKey:"extended#query",...a}),ja=async({satelliteId:e,container:a,...r})=>{let{satelliteId:o}=na({satelliteId:e});mo(o,"No satellite ID defined. Did you initialize Juno?");let{container:i}=sa({container:a});return await z.getInstance().getActor({satelliteId:o,container:i,...r})};import{Principal as To}from"@dfinity/principal";import{isNullish as $,toNullable as x}from"@dfinity/utils";var Ma=e=>{if($(e))return x();switch(e.matcher){case"equal":return x({Equal:e.timestamp});case"greaterThan":return x({GreaterThan:e.timestamp});case"lessThan":return x({LessThan:e.timestamp});case"between":return x({Between:[e.timestamps.start,e.timestamps.end]});default:throw new ye("Invalid list matcher for timestamp",e)}},w=({matcher:e,paginate:a,order:r,owner:o})=>({matcher:$(e)?[]:[{key:x(e.key),description:x(e.description),created_at:Ma(e.createdAt),updated_at:Ma(e.updatedAt)}],paginate:x($(a)?void 0:{start_after:x(a.startAfter),limit:x($(a.limit)?void 0:BigInt(a.limit))}),order:x($(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:x($(o)?void 0:typeof o=="string"?To.fromText(o):o)});var Ka=async({data:e})=>{try{return await de(e)}catch(a){console.error("The data parsing has failed, mapping to undefined as a fallback.",a);return}};import{fromNullable as Ja,toNullable as ta}from"@dfinity/utils";var ca=async e=>{let{data:a,version:r,description:o}=e;return{description:ta(o),data:await Va(a),version:ta(r)}},la=e=>{let{version:a}=e;return{version:ta(a)}},ce=async({doc:e,key:a})=>{let{owner:r,version:o,description:i,data:n,...s}=e;return{key:a,description:Ja(i),owner:r.toText(),data:await de(n),version:Ja(o),...s}};var Wa=async({collection:e,key:a,...r})=>{let{get_doc:o}=await _(r),i=Y(await o(e,a));if(!No(i))return ce({doc:i,key:a})},za=async({docs:e,...a})=>{let{get_many_docs:r}=await _(a),o=e.map(({collection:s,key:t})=>[s,t]),i=await r(o),n=[];for(let[s,t]of i){let c=Y(t);n.push(Oo(c)?await ce({key:s,doc:c}):void 0)}return n},Ga=async({collection:e,doc:a,...r})=>{let{set_doc:o}=await _(r),{key:i}=a,n=await ca(a),s=await o(e,i,n);return await ce({key:i,doc:s})},Ha=async({docs:e,...a})=>{let{set_many_docs:r}=await _(a),o=[];for(let{collection:s,doc:t}of e){let{key:c}=t;o.push([s,c,await ca(t)])}let i=await r(o),n=[];for(let[s,t]of i)n.push(await ce({key:s,doc:t}));return n},$a=async({collection:e,doc:a,...r})=>{let{del_doc:o}=await _(r),{key:i}=a;return o(e,i,la(a))},Ya=async({docs:e,...a})=>{let{del_many_docs:r}=await _(a),o=e.map(({collection:i,doc:n})=>[i,n.key,la(n)]);await r(o)},Xa=async({collection:e,filter:a,...r})=>{let{del_filtered_docs:o}=await _(r);return o(e,w(a))},Qa=async({collection:e,filter:a,...r})=>{let{list_docs:o}=await _(r),{items:i,items_page:n,items_length:s,matches_length:t,matches_pages:c}=await o(e,w(a)),m=[];for(let[u,p]of i){let{data:d,owner:T,description:R,version:g,...b}=p;m.push({key:u,description:Y(R),owner:T.toText(),data:await Ka({data:d}),version:Y(g),...b})}return{items:m,items_length:s,items_page:Y(n),matches_length:t,matches_pages:Y(c)}},Za=async({collection:e,filter:a,...r})=>{let{count_docs:o}=await _(r);return o(e,w(a))};var fe=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Wa({...r,satellite:{...e,identity:o},options:a??f})},Qn=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await za({...r,satellite:{...e,identity:o},options:a??f})},er=async({satellite:e,...a})=>{let r=l(e?.identity);return await Ga({...a,satellite:{...e,identity:r},options:{certified:!0}})},ar=async({satellite:e,...a})=>{let r=l(e?.identity);return await Ha({...a,satellite:{...e,identity:r},options:{certified:!0}})},Zn=async({satellite:e,...a})=>{let r=l(e?.identity);return await $a({...a,satellite:{...e,identity:r},options:{certified:!0}})},es=async({satellite:e,...a})=>{let r=l(e?.identity);return await Ya({...a,satellite:{...e,identity:r},options:{certified:!0}})},as=async({satellite:e,filter:a,...r})=>{let o=l(e?.identity);return await Xa({...r,filter:a??{},satellite:{...e,identity:o},options:{certified:!0}})},rs=async({satellite:e,options:a,filter:r,...o})=>{let i=l(e?.identity);return await Qa({...o,filter:r??{},satellite:{...e,identity:i},options:a??f})},os=async({satellite:e,options:a,filter:r,...o})=>{let i=l(e?.identity);return await Za({...o,filter:r??{},satellite:{...e,identity:i},options:a??f})};import{arrayBufferToUint8Array as xo}from"@dfinity/utils";var rr=async({delegationIdentity:e,passkeyIdentity:a,satelliteId:r})=>{let[o,i]=await ar({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn"}}},{collection:"#user-webauthn",doc:{key:a.getCredential().getCredentialIdText(),data:{publicKey:xo(a.getPublicKey().toDer()),aaguid:a.getCredential().getAAGUID()}}}],satellite:{identity:e,satelliteId:r}});return o};var or=(n=>(n[n.RequestingUserCredential=0]="RequestingUserCredential",n[n.FinalizingCredential=1]="FinalizingCredential",n[n.Signing=2]="Signing",n[n.FinalizingSession=3]="FinalizingSession",n[n.RetrievingUser=4]="RetrievingUser",n))(or||{}),ir=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(ir||{});var le=class{get id(){return"webauthn"}async signUp({options:{onProgress:a,maxTimeToLiveInMilliseconds:r}={},loadAuthWithUser:o}){let{satelliteId:i}=N.getInstance().get()??{satelliteId:void 0};if(pa(i))throw new j("Satellite ID not set. Have you initialized the Satellite?");let n=({step:R,state:g})=>{switch(R){case v.RequestingUserCredential:a?.({step:1,state:g});break;case v.FinalizingCredential:a?.({step:2,state:g});break;case v.Signing:a?.({step:3,state:g});break}},s=async()=>await oa.createWithNewCredential({onProgress:n}),t=await this.#r({fn:s,step:0,onProgress:a}),{delegationIdentity:c,sessionKey:m}=await this.#e({identity:t,maxTimeToLiveInMilliseconds:r}),u=async()=>await rr({delegationIdentity:c,passkeyIdentity:t,satelliteId:i}),p=await this.#r({fn:u,step:5,onProgress:a}),d=async()=>await this.#a({delegationIdentity:c,sessionKey:m});await this.#r({fn:d,step:4,onProgress:a});let T=async()=>await o({user:p});await this.#r({fn:T,step:5,onProgress:a})}async signIn({options:{onProgress:a,maxTimeToLiveInMilliseconds:r}={},loadAuth:o}){let{satelliteId:i}=N.getInstance().get()??{satelliteId:void 0};if(pa(i))throw new j("Satellite ID not set. Have you initialized the Satellite?");let n=async({credentialId:p})=>{let d=await fe({collection:"#user-webauthn",key:vo(p),options:{certified:!0},satellite:{identity:new Ro,satelliteId:i}});if(pa(d))throw new Ne("No public key found for the selected passkey.");let{data:T}=d,{publicKey:R}=T;return Eo(R.buffer,Ao)},s=({step:p,state:d})=>{switch(p){case v.RequestingUserCredential:a?.({step:0,state:d});break;case v.FinalizingCredential:a?.({step:1,state:d});break;case v.Signing:a?.({step:2,state:d});break}},t=await oa.createWithExistingCredential({retrievePublicKey:n,onProgress:s}),{delegationIdentity:c,sessionKey:m}=await this.#e({identity:t,maxTimeToLiveInMilliseconds:r}),u=async()=>await this.#a({delegationIdentity:c,sessionKey:m});await this.#r({fn:u,step:3,onProgress:a}),await this.#r({fn:o,step:4,onProgress:a})}async#e({identity:a,maxTimeToLiveInMilliseconds:r}){let o=await Po.generate({extractable:!1}),i=r??144e5,n=await Fo.create(a,o.getPublicKey(),new Date(Date.now()+i));return{delegationIdentity:Vo.fromDelegation(o,n),sessionKey:o}}async#a({sessionKey:a,delegationIdentity:r}){let o=new go;await Promise.all([o.set(fo,a.getKeyPair()),o.set(ho,JSON.stringify(r.getDelegation().toJSON()))])}async#r({fn:a,step:r,onProgress:o}){o?.({step:r,state:"in_progress"});try{let i=await a();return o?.({step:r,state:"success"}),i}catch(i){throw o?.({step:r,state:"error"}),i}}};import{AuthClient as wo,IdbStorage as bo,KEY_STORAGE_KEY as Io}from"@dfinity/auth-client";var pe=()=>wo.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),nr=async()=>(await new bo().remove(Io),await pe());import{isNullish as So,nonNullish as tr}from"@dfinity/utils";var da=({error:e,type:a})=>typeof e=="string"?e.includes(a):e instanceof Error?e.message.includes(a):!1;var sr="juno.datastore.error.user.cannot_update";var cr=async({provider:e})=>{let{user:a,userId:r}=await ua();if(tr(a))return a;try{return await Do({userId:r,provider:e})}catch(o){if(da({error:o,type:sr})){let i=await lr({userId:r});if(tr(i))return i}throw o}},ua=async()=>{let e=he();if(So(e))throw new xe("No identity to initialize the user. Have you initialized Juno?");let a=e.getPrincipal().toText(),r=await lr({userId:a});return{userId:a,user:r}},lr=({userId:e})=>fe({collection:"#user",key:e}),Do=({userId:e,...a})=>er({collection:"#user",doc:{key:e,data:a}});var y,_a=async()=>{await ma({fn:async()=>{let{user:a}=await ua();O.getInstance().set(a??null)}})},ko=async({user:e})=>{await ma({fn:async()=>{O.getInstance().set(e)}})},pr=async({provider:e})=>{await ma({fn:async()=>{let r=await cr({provider:e});O.getInstance().set(r)}})},ma=async({fn:e})=>{if(y=await pe(),!await y.isAuthenticated()){y=await nr();return}await e()},Uo=async e=>{let a=e??{internet_identity:{}},r=async()=>await qo(a);if(Object.values(a)?.[0].context?.windowGuard===!1){await r();return}await aa({fn:r})},Lo=async e=>{let a=async()=>await Bo(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await a();return}await aa({fn:a})},qo=async e=>{if("webauthn"in e){let{webauthn:{options:o}}=e;await new le().signIn({options:o,loadAuth:_a});return}if("nfid"in e){let{nfid:{config:o,options:i}}=e;await new ge(o).signIn({options:i,authClient:y,initAuth:pr});return}let{internet_identity:{config:a,options:r}}=e;await new Re(a).signIn({options:r,authClient:y,initAuth:pr})},Bo=async e=>{if("webauthn"in e){let{webauthn:{options:a}}=e;await new le().signUp({options:a,loadAuthWithUser:ko});return}throw new Oe("An unknown or unsupported provider was provided for sign-up. Try signing in instead.")},Ta=async()=>{await jo(),y=await pe()},jo=async()=>{await y?.logout(),y=null,O.getInstance().reset(),z.getInstance().reset(),W.getInstance().reset()},he=()=>y?.getIdentity(),Mo=async()=>(y??await pe()).getIdentity(),Ko=async()=>{let e=O.getInstance().get();return Co(e)||!(await y?.isAuthenticated()??!1)?null:y?.getIdentity()??null};var dr=e=>{let a=e===!0?"./workers/auth.worker.js":e,r=new Worker(a),o=async()=>{Qe({message:"junoSignOutAuthTimer"}),await Ta()};return r.onmessage=async({data:i})=>{let{msg:n,data:s}=i;switch(n){case"junoSignOutAuthTimer":await o();return;case"junoDelegationRemainingTime":Qe({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime});return}},O.getInstance().subscribe(i=>{if(Jo(i)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var ur=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"?process.env?.NEXT_PUBLIC_SATELLITE_ID??e():e()},_r=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"?process.env?.NEXT_PUBLIC_CONTAINER??e():e()};var Qs=async({idlFactory:e,satellite:a})=>{let r=l(a?.identity);return await Ba({idlFactory:e,...a,identity:r})};import{fromNullable as Fr,nonNullish as Xo}from"@dfinity/utils";import{fromNullable as Ve}from"@dfinity/utils";import{assertNonNullish as at,toNullable as Fe}from"@dfinity/utils";var mr=async({asset:{data:e,headers:a,...r},actor:o,progress:i})=>{let{init_asset_upload:n,upload_asset_chunk:s,commit_asset_upload:t}=o,{batch_id:c}=await n(Wo(r));i?.onInitiatedBatch();let{chunkIds:m}=await Ho({data:e,uploadFn:s,batchId:c});i?.onUploadedFileChunks(r.fullPath),await Go({commitFn:t,batchId:c,data:e,headers:a,chunkIds:m}),i?.onCommittedBatch()};var Wo=({filename:e,collection:a,token:r,fullPath:o,encoding:i,description:n})=>({collection:a,full_path:o,name:e,token:Fe(r),encoding_type:Fe(i),description:Fe(n)}),zo=({batchId:e,chunkIds:a,headers:r,data:o})=>{let i=r.find(([n,s])=>n.toLowerCase()==="content-type")===void 0&&o.type!==void 0&&o.type!==""?[["Content-Type",o.type]]:void 0;return{batch_id:e,chunk_ids:a.map(({chunk_id:n})=>n),headers:[...r,...i??[]]}},Go=async({commitFn:e,...a})=>{let r=zo(a);await e(r)},Ho=async({data:e,uploadFn:a,batchId:r})=>{let o=[],i=ue()?new Blob([await e.arrayBuffer()]):e,n=0n;for(let t=0;t<i.size;t+=19e5){let c=i.slice(t,t+19e5);o.push({batchId:r,chunk:c,uploadFn:a,orderId:n}),n++}let s=[];for await(let t of $o({uploadChunks:o}))s=[...s,...t];return{chunkIds:s}};async function*$o({uploadChunks:e,limit:a=12}){for(let r=0;r<e.length;r=r+a){let o=e.slice(r,r+a);yield await Promise.all(o.map(i=>Yo(i)))}}var Yo=async({batchId:e,chunk:a,uploadFn:r,orderId:o})=>r({batch_id:e,content:new Uint8Array(await a.arrayBuffer()),order_id:Fe(o)});var Tr=async({asset:e,...a})=>{let r=await _(a);await mr({actor:r,asset:e})},Nr=async({collection:e,filter:a,...r})=>{let{list_assets:o}=await _(r),{items:i,items_length:n,items_page:s,matches_length:t,matches_pages:c}=await o(e,w(a));return{items:i.map(([m,u])=>u),items_length:n,items_page:Ve(s),matches_length:t,matches_pages:Ve(c)}},Or=async({collection:e,filter:a,...r})=>{let{count_assets:o}=await _(r);return o(e,w(a))},xr=async({collection:e,fullPath:a,...r})=>(await _(r)).del_asset(e,a),yr=async({assets:e,satellite:a})=>{let{del_many_assets:r}=await _({satellite:a,options:{certified:!0}}),o=e.map(({collection:i,fullPath:n})=>[i,n]);await r(o)},Rr=async({collection:e,filter:a,...r})=>{let{del_filtered_assets:o}=await _(r);return o(e,w(a))},gr=async({collection:e,fullPath:a,...r})=>{let{get_asset:o}=await _(r);return Ve(await o(e,a))},hr=async({assets:e,...a})=>{let{get_many_assets:r}=await _(a),o=e.map(({collection:n,fullPath:s})=>[n,s]);return(await r(o)).map(([n,s])=>Ve(s))};var fr=e=>btoa([...e].map(a=>String.fromCharCode(a)).join(""));var Nt=e=>Vr(e),Ot=e=>Vr({filename:e.data.name,...e}),Vr=async({filename:e,data:a,collection:r,headers:o=[],fullPath:i,token:n,satellite:s,encoding:t,description:c})=>{let m=l(s?.identity),u=decodeURI(e),p=i??`/${r}/${u}`,d={...s,identity:m};return await Tr({asset:{data:a,filename:u,collection:r,token:n,headers:o,fullPath:p,encoding:t,description:c},satellite:d,options:{certified:!0}}),{downloadUrl:Ar({satellite:d,assetKey:{fullPath:p,token:n}}),fullPath:p,name:u}},xt=async({collection:e,filter:a,satellite:r,options:o})=>{let i={...r,identity:l(r?.identity)},{items:n,...s}=await Nr({collection:e,filter:a??{},satellite:i,options:o??f}),t=n.map(({key:{full_path:c,token:m,name:u,owner:p,description:d},headers:T,encodings:R,created_at:g,updated_at:b})=>{let M=Fr(m);return{fullPath:c,description:Fr(d),name:u,downloadUrl:Ar({satellite:i,assetKey:{fullPath:c,token:M}}),token:M,headers:T,encodings:R.reduce((X,[F,{modified:I,sha256:S,total_length:V}])=>({...X,[F]:{modified:I,sha256:fr(S),total_length:V}}),{}),owner:p.toText(),created_at:g,updated_at:b}});return{items:t,assets:t,...s}},yt=async({collection:e,filter:a,satellite:r,options:o})=>{let i={...r,identity:l(r?.identity)};return await Or({collection:e,satellite:i,filter:a??{},options:o??f})},Rt=({collection:e,fullPath:a,satellite:r})=>xr({collection:e,fullPath:a,satellite:{...r,identity:l(r?.identity)},options:{certified:!0}}),gt=({assets:e,satellite:a})=>yr({assets:e,satellite:{...a,identity:l(a?.identity)},options:{certified:!0}}),ht=async({collection:e,satellite:a,filter:r})=>{let o={...a,identity:l(a?.identity)};return await Rr({collection:e,satellite:o,filter:r??{},options:{certified:!0}})},ft=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await gr({...r,satellite:{...e,identity:o},options:a??f})},Ft=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await hr({...r,satellite:{...e,identity:o},options:a??f})},Ar=({assetKey:{fullPath:e,token:a},satellite:r})=>{let o={...r,identity:l(r?.identity)};return`${qa(o)}${e}${Xo(a)?`?token=${a}`:""}`};var Zo=e=>{let a=e?.satelliteId??ur();Qo(a,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??_r();return{satelliteId:a,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},It=e=>ei(e),ei=async e=>{let a=Zo(e);N.getInstance().set(a),await _a();let r=a.workers?.auth!==void 0?dr(a.workers.auth):void 0;return[...r?[r]:[]]},St=e=>O.getInstance().subscribe(e);export{xe as InitError,Re as InternetIdentityProvider,ye as ListError,ge as NFIDProvider,me as SignInError,j as SignInInitError,Te as SignInUserInterruptError,Oe as SignUpProviderNotSupportedError,or as WebAuthnSignInProgressStep,Ne as WebAuthnSignInRetrievePublicKeyError,ir as WebAuthnSignUpProgressStep,St as authSubscribe,yt as countAssets,os as countDocs,Rt as deleteAsset,Zn as deleteDoc,ht as deleteFilteredAssets,as as deleteFilteredDocs,gt as deleteManyAssets,es as deleteManyDocs,Ar as downloadUrl,ft as getAsset,fe as getDoc,Ko as getIdentityOnce,Ft as getManyAssets,Qn as getManyDocs,Qs as getSatelliteExtendedActor,It as initJuno,ei as initSatellite,xt as listAssets,rs as listDocs,er as setDoc,ar as setManyDocs,Uo as signIn,Ta as signOut,Lo as signUp,Mo as unsafeIdentity,Nt as uploadBlob,Ot as uploadFile};
2
2
  //# sourceMappingURL=index.js.map