@junobuild/core-peer 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +4 -4
- package/dist/declarations/satellite/satellite.did.d.ts +8 -5
- package/dist/declarations/satellite/satellite.factory.did.js +11 -8
- package/dist/declarations/satellite/satellite.factory.did.mjs +11 -8
- package/dist/node/index.mjs +1 -1
- package/dist/node/index.mjs.map +4 -4
- package/dist/workers/auth.worker.js +1 -1
- package/dist/workers/auth.worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -28,7 +28,9 @@ export interface AuthenticationConfig {
|
|
|
28
28
|
}
|
|
29
29
|
export interface AuthenticationConfigInternetIdentity {
|
|
30
30
|
derivation_origin: [] | [string];
|
|
31
|
+
external_alternative_origins: [] | [Array<string>];
|
|
31
32
|
}
|
|
33
|
+
export type CollectionType = {Db: null} | {Storage: null};
|
|
32
34
|
export interface CommitBatch {
|
|
33
35
|
batch_id: bigint;
|
|
34
36
|
headers: Array<[string, string]>;
|
|
@@ -161,8 +163,8 @@ export interface Rule {
|
|
|
161
163
|
mutable_permissions: [] | [boolean];
|
|
162
164
|
rate_config: [] | [RateConfig];
|
|
163
165
|
write: Permission;
|
|
166
|
+
max_changes_per_user: [] | [number];
|
|
164
167
|
}
|
|
165
|
-
export type RulesType = {Db: null} | {Storage: null};
|
|
166
168
|
export interface SetController {
|
|
167
169
|
metadata: Array<[string, string]>;
|
|
168
170
|
scope: ControllerScope;
|
|
@@ -186,6 +188,7 @@ export interface SetRule {
|
|
|
186
188
|
mutable_permissions: [] | [boolean];
|
|
187
189
|
rate_config: [] | [RateConfig];
|
|
188
190
|
write: Permission;
|
|
191
|
+
max_changes_per_user: [] | [number];
|
|
189
192
|
}
|
|
190
193
|
export interface StorageConfig {
|
|
191
194
|
iframe: [] | [StorageConfigIFrame];
|
|
@@ -250,7 +253,7 @@ export interface _SERVICE {
|
|
|
250
253
|
del_filtered_docs: ActorMethod<[string, ListParams], undefined>;
|
|
251
254
|
del_many_assets: ActorMethod<[Array<[string, string]>], undefined>;
|
|
252
255
|
del_many_docs: ActorMethod<[Array<[string, string, DelDoc]>], undefined>;
|
|
253
|
-
del_rule: ActorMethod<[
|
|
256
|
+
del_rule: ActorMethod<[CollectionType, string, DelRule], undefined>;
|
|
254
257
|
deposit_cycles: ActorMethod<[DepositCyclesArgs], undefined>;
|
|
255
258
|
get_asset: ActorMethod<[string, string], [] | [AssetNoContent]>;
|
|
256
259
|
get_auth_config: ActorMethod<[], [] | [AuthenticationConfig]>;
|
|
@@ -259,7 +262,7 @@ export interface _SERVICE {
|
|
|
259
262
|
get_doc: ActorMethod<[string, string], [] | [Doc]>;
|
|
260
263
|
get_many_assets: ActorMethod<[Array<[string, string]>], Array<[string, [] | [AssetNoContent]]>>;
|
|
261
264
|
get_many_docs: ActorMethod<[Array<[string, string]>], Array<[string, [] | [Doc]]>>;
|
|
262
|
-
get_rule: ActorMethod<[
|
|
265
|
+
get_rule: ActorMethod<[CollectionType, string], [] | [Rule]>;
|
|
263
266
|
get_storage_config: ActorMethod<[], StorageConfig>;
|
|
264
267
|
http_request: ActorMethod<[HttpRequest], HttpResponse>;
|
|
265
268
|
http_request_streaming_callback: ActorMethod<
|
|
@@ -271,7 +274,7 @@ export interface _SERVICE {
|
|
|
271
274
|
list_controllers: ActorMethod<[], Array<[Principal, Controller]>>;
|
|
272
275
|
list_custom_domains: ActorMethod<[], Array<[string, CustomDomain]>>;
|
|
273
276
|
list_docs: ActorMethod<[string, ListParams], ListResults_1>;
|
|
274
|
-
list_rules: ActorMethod<[
|
|
277
|
+
list_rules: ActorMethod<[CollectionType], Array<[string, Rule]>>;
|
|
275
278
|
memory_size: ActorMethod<[], MemorySize>;
|
|
276
279
|
set_auth_config: ActorMethod<[AuthenticationConfig], undefined>;
|
|
277
280
|
set_controllers: ActorMethod<[SetControllersArgs], Array<[Principal, Controller]>>;
|
|
@@ -279,7 +282,7 @@ export interface _SERVICE {
|
|
|
279
282
|
set_db_config: ActorMethod<[DbConfig], undefined>;
|
|
280
283
|
set_doc: ActorMethod<[string, string, SetDoc], Doc>;
|
|
281
284
|
set_many_docs: ActorMethod<[Array<[string, string, SetDoc]>], Array<[string, Doc]>>;
|
|
282
|
-
set_rule: ActorMethod<[
|
|
285
|
+
set_rule: ActorMethod<[CollectionType, string, SetRule], Rule>;
|
|
283
286
|
set_storage_config: ActorMethod<[StorageConfig], undefined>;
|
|
284
287
|
upload_asset_chunk: ActorMethod<[UploadChunk], UploadChunkResult>;
|
|
285
288
|
version: ActorMethod<[], string>;
|
|
@@ -48,7 +48,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
48
48
|
expires_at: IDL.Opt(IDL.Nat64)
|
|
49
49
|
});
|
|
50
50
|
const DelDoc = IDL.Record({version: IDL.Opt(IDL.Nat64)});
|
|
51
|
-
const
|
|
51
|
+
const CollectionType = IDL.Variant({Db: IDL.Null, Storage: IDL.Null});
|
|
52
52
|
const DelRule = IDL.Record({version: IDL.Opt(IDL.Nat64)});
|
|
53
53
|
const DepositCyclesArgs = IDL.Record({
|
|
54
54
|
cycles: IDL.Nat,
|
|
@@ -76,7 +76,8 @@ export const idlFactory = ({IDL}) => {
|
|
|
76
76
|
version: IDL.Opt(IDL.Nat64)
|
|
77
77
|
});
|
|
78
78
|
const AuthenticationConfigInternetIdentity = IDL.Record({
|
|
79
|
-
derivation_origin: IDL.Opt(IDL.Text)
|
|
79
|
+
derivation_origin: IDL.Opt(IDL.Text),
|
|
80
|
+
external_alternative_origins: IDL.Opt(IDL.Vec(IDL.Text))
|
|
80
81
|
});
|
|
81
82
|
const AuthenticationConfig = IDL.Record({
|
|
82
83
|
internet_identity: IDL.Opt(AuthenticationConfigInternetIdentity)
|
|
@@ -143,7 +144,8 @@ export const idlFactory = ({IDL}) => {
|
|
|
143
144
|
version: IDL.Opt(IDL.Nat64),
|
|
144
145
|
mutable_permissions: IDL.Opt(IDL.Bool),
|
|
145
146
|
rate_config: IDL.Opt(RateConfig),
|
|
146
|
-
write: Permission
|
|
147
|
+
write: Permission,
|
|
148
|
+
max_changes_per_user: IDL.Opt(IDL.Nat32)
|
|
147
149
|
});
|
|
148
150
|
const HttpRequest = IDL.Record({
|
|
149
151
|
url: IDL.Text,
|
|
@@ -229,7 +231,8 @@ export const idlFactory = ({IDL}) => {
|
|
|
229
231
|
version: IDL.Opt(IDL.Nat64),
|
|
230
232
|
mutable_permissions: IDL.Opt(IDL.Bool),
|
|
231
233
|
rate_config: IDL.Opt(RateConfig),
|
|
232
|
-
write: Permission
|
|
234
|
+
write: Permission,
|
|
235
|
+
max_changes_per_user: IDL.Opt(IDL.Nat32)
|
|
233
236
|
});
|
|
234
237
|
const UploadChunk = IDL.Record({
|
|
235
238
|
content: IDL.Vec(IDL.Nat8),
|
|
@@ -258,7 +261,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
258
261
|
del_filtered_docs: IDL.Func([IDL.Text, ListParams], [], []),
|
|
259
262
|
del_many_assets: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], [], []),
|
|
260
263
|
del_many_docs: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, DelDoc))], [], []),
|
|
261
|
-
del_rule: IDL.Func([
|
|
264
|
+
del_rule: IDL.Func([CollectionType, IDL.Text, DelRule], [], []),
|
|
262
265
|
deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),
|
|
263
266
|
get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),
|
|
264
267
|
get_auth_config: IDL.Func([], [IDL.Opt(AuthenticationConfig)], ['query']),
|
|
@@ -275,7 +278,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
275
278
|
[IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(Doc)))],
|
|
276
279
|
['query']
|
|
277
280
|
),
|
|
278
|
-
get_rule: IDL.Func([
|
|
281
|
+
get_rule: IDL.Func([CollectionType, IDL.Text], [IDL.Opt(Rule)], ['query']),
|
|
279
282
|
get_storage_config: IDL.Func([], [StorageConfig], ['query']),
|
|
280
283
|
http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),
|
|
281
284
|
http_request_streaming_callback: IDL.Func(
|
|
@@ -288,7 +291,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
288
291
|
list_controllers: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))], ['query']),
|
|
289
292
|
list_custom_domains: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, CustomDomain))], ['query']),
|
|
290
293
|
list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),
|
|
291
|
-
list_rules: IDL.Func([
|
|
294
|
+
list_rules: IDL.Func([CollectionType], [IDL.Vec(IDL.Tuple(IDL.Text, Rule))], ['query']),
|
|
292
295
|
memory_size: IDL.Func([], [MemorySize], ['query']),
|
|
293
296
|
set_auth_config: IDL.Func([AuthenticationConfig], [], []),
|
|
294
297
|
set_controllers: IDL.Func(
|
|
@@ -304,7 +307,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
304
307
|
[IDL.Vec(IDL.Tuple(IDL.Text, Doc))],
|
|
305
308
|
[]
|
|
306
309
|
),
|
|
307
|
-
set_rule: IDL.Func([
|
|
310
|
+
set_rule: IDL.Func([CollectionType, IDL.Text, SetRule], [Rule], []),
|
|
308
311
|
set_storage_config: IDL.Func([StorageConfig], [], []),
|
|
309
312
|
upload_asset_chunk: IDL.Func([UploadChunk], [UploadChunkResult], []),
|
|
310
313
|
version: IDL.Func([], [IDL.Text], ['query'])
|
|
@@ -48,7 +48,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
48
48
|
expires_at: IDL.Opt(IDL.Nat64)
|
|
49
49
|
});
|
|
50
50
|
const DelDoc = IDL.Record({version: IDL.Opt(IDL.Nat64)});
|
|
51
|
-
const
|
|
51
|
+
const CollectionType = IDL.Variant({Db: IDL.Null, Storage: IDL.Null});
|
|
52
52
|
const DelRule = IDL.Record({version: IDL.Opt(IDL.Nat64)});
|
|
53
53
|
const DepositCyclesArgs = IDL.Record({
|
|
54
54
|
cycles: IDL.Nat,
|
|
@@ -76,7 +76,8 @@ export const idlFactory = ({IDL}) => {
|
|
|
76
76
|
version: IDL.Opt(IDL.Nat64)
|
|
77
77
|
});
|
|
78
78
|
const AuthenticationConfigInternetIdentity = IDL.Record({
|
|
79
|
-
derivation_origin: IDL.Opt(IDL.Text)
|
|
79
|
+
derivation_origin: IDL.Opt(IDL.Text),
|
|
80
|
+
external_alternative_origins: IDL.Opt(IDL.Vec(IDL.Text))
|
|
80
81
|
});
|
|
81
82
|
const AuthenticationConfig = IDL.Record({
|
|
82
83
|
internet_identity: IDL.Opt(AuthenticationConfigInternetIdentity)
|
|
@@ -143,7 +144,8 @@ export const idlFactory = ({IDL}) => {
|
|
|
143
144
|
version: IDL.Opt(IDL.Nat64),
|
|
144
145
|
mutable_permissions: IDL.Opt(IDL.Bool),
|
|
145
146
|
rate_config: IDL.Opt(RateConfig),
|
|
146
|
-
write: Permission
|
|
147
|
+
write: Permission,
|
|
148
|
+
max_changes_per_user: IDL.Opt(IDL.Nat32)
|
|
147
149
|
});
|
|
148
150
|
const HttpRequest = IDL.Record({
|
|
149
151
|
url: IDL.Text,
|
|
@@ -229,7 +231,8 @@ export const idlFactory = ({IDL}) => {
|
|
|
229
231
|
version: IDL.Opt(IDL.Nat64),
|
|
230
232
|
mutable_permissions: IDL.Opt(IDL.Bool),
|
|
231
233
|
rate_config: IDL.Opt(RateConfig),
|
|
232
|
-
write: Permission
|
|
234
|
+
write: Permission,
|
|
235
|
+
max_changes_per_user: IDL.Opt(IDL.Nat32)
|
|
233
236
|
});
|
|
234
237
|
const UploadChunk = IDL.Record({
|
|
235
238
|
content: IDL.Vec(IDL.Nat8),
|
|
@@ -258,7 +261,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
258
261
|
del_filtered_docs: IDL.Func([IDL.Text, ListParams], [], []),
|
|
259
262
|
del_many_assets: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], [], []),
|
|
260
263
|
del_many_docs: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, DelDoc))], [], []),
|
|
261
|
-
del_rule: IDL.Func([
|
|
264
|
+
del_rule: IDL.Func([CollectionType, IDL.Text, DelRule], [], []),
|
|
262
265
|
deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),
|
|
263
266
|
get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),
|
|
264
267
|
get_auth_config: IDL.Func([], [IDL.Opt(AuthenticationConfig)], ['query']),
|
|
@@ -275,7 +278,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
275
278
|
[IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(Doc)))],
|
|
276
279
|
['query']
|
|
277
280
|
),
|
|
278
|
-
get_rule: IDL.Func([
|
|
281
|
+
get_rule: IDL.Func([CollectionType, IDL.Text], [IDL.Opt(Rule)], ['query']),
|
|
279
282
|
get_storage_config: IDL.Func([], [StorageConfig], ['query']),
|
|
280
283
|
http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),
|
|
281
284
|
http_request_streaming_callback: IDL.Func(
|
|
@@ -288,7 +291,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
288
291
|
list_controllers: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))], ['query']),
|
|
289
292
|
list_custom_domains: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, CustomDomain))], ['query']),
|
|
290
293
|
list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),
|
|
291
|
-
list_rules: IDL.Func([
|
|
294
|
+
list_rules: IDL.Func([CollectionType], [IDL.Vec(IDL.Tuple(IDL.Text, Rule))], ['query']),
|
|
292
295
|
memory_size: IDL.Func([], [MemorySize], ['query']),
|
|
293
296
|
set_auth_config: IDL.Func([AuthenticationConfig], [], []),
|
|
294
297
|
set_controllers: IDL.Func(
|
|
@@ -304,7 +307,7 @@ export const idlFactory = ({IDL}) => {
|
|
|
304
307
|
[IDL.Vec(IDL.Tuple(IDL.Text, Doc))],
|
|
305
308
|
[]
|
|
306
309
|
),
|
|
307
|
-
set_rule: IDL.Func([
|
|
310
|
+
set_rule: IDL.Func([CollectionType, IDL.Text, SetRule], [Rule], []),
|
|
308
311
|
set_storage_config: IDL.Func([StorageConfig], [], []),
|
|
309
312
|
upload_asset_chunk: IDL.Func([UploadChunk], [UploadChunkResult], []),
|
|
310
313
|
version: IDL.Func([], [IDL.Text], ['query'])
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as topLevelCreateRequire } from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
import{assertNonNullish as Ye}from"@dfinity/utils";import{isNullish as ze}from"@dfinity/utils";var O=class{callbacks=[];populate(e){this.callbacks.forEach(({callback:s})=>s(e))}subscribe(e){let s=Symbol();return this.callbacks.push({id:s,callback:e}),()=>this.callbacks=this.callbacks.filter(({id:o})=>o!==s)}};var x=class t extends O{static instance;authUser=null;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.authUser=e,this.populate(e)}get(){return this.authUser}subscribe(e){let s=super.subscribe(e);return e(this.authUser),s}reset(){this.authUser=null,this.populate(this.authUser)}};var tt=({message:t,detail:e})=>{let s=new CustomEvent(t,{detail:e,bubbles:!0});document.dispatchEvent(s)};import{ERROR_USER_INTERRUPT as qe}from"@dfinity/auth-client";import{isNullish as Be}from"@dfinity/utils";var yt=BigInt(144e11),ft=!1,gt={width:576,height:576},ht={width:505,height:705},At="internetcomputer.org";import{isNullish as be,nonNullish as Pt}from"@dfinity/utils";var v="http://127.0.0.1:5987",Tt="rdmx6-jaaaa-aaaaa-aaadq-cai";var h=class t extends O{static instance;env;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.env=e,this.populate(e)}get(){return this.env}subscribe(e){let s=super.subscribe(e);return e(this.env),s}};import{isNullish as _t}from"@dfinity/utils";import{jsonReplacer as Oe,jsonReviver as ve}from"@dfinity/utils";var xt=async t=>{let e=new Blob([JSON.stringify(t,Oe)],{type:"application/json; charset=utf-8"});return new Uint8Array(await e.arrayBuffer())},q=async t=>{let e=new Blob([t instanceof Uint8Array?t:new Uint8Array(t)],{type:"application/json; charset=utf-8"});return JSON.parse(await e.text(),ve)},B=()=>typeof window<"u";var et=({width:t,height:e})=>{if(!B()||_t(window)||_t(window.top))return;let{top:{innerWidth:s,innerHeight:o}}=window,i=o/2+screenY-e/2,n=s/2+screenX-t/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${t}, height=${e}, top=${i}, left=${n}`};var $=class{#t;constructor({domain:e}){this.#t=e}get id(){return"internet_identity"}signInOptions({windowed:e}){let s=()=>{let o=h.getInstance().get()?.container;if(be(o)||o===!1)return`https://identity.${this.#t??At}`;let i=h.getInstance().get(),n=Pt(i)&&Pt(i?.internetIdentityId)?i.internetIdentityId:Tt,{host:r,protocol:a}=new URL(o===!0?v:o);return/apple/i.test(navigator?.vendor)?`${a}//${r}?canisterId=${n}`:`${a}//${n}.${r.replace("127.0.0.1","localhost")}`};return{...e!==!1&&{windowOpenerFeatures:et(gt)},identityProvider:s()}}},wt=class{#t;#e;constructor({appName:e,logoUrl:s}){this.#t=e,this.#e=s}get id(){return"nfid"}signInOptions({windowed:e}){return{...e!==!1&&{windowOpenerFeatures:et(ht)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#t)}&applicationLogo=${encodeURI(this.#e)}`}}};import{Actor as ke}from"@dfinity/agent";import{isNullish as ot}from"@dfinity/utils";import{HttpAgent as Re}from"@dfinity/agent";import{isNullish as st,nonNullish as Nt}from"@dfinity/utils";var b=class t{static instance;#t=void 0;constructor(){}static getInstance(){return st(t.instance)&&(t.instance=new t),t.instance}async getAgent({identity:e,...s}){let o=e.getPrincipal().toText();if(st(this.#t)||st(this.#t[o])){let i=await this.createAgent({identity:e,...s});return this.#t={...this.#t??{},[o]:i},i}return this.#t[o]}reset(){this.#t=null}async createAgent({identity:e,fetch:s,container:o}){let n=Nt(o)&&o!==!1?o===!0?v:o:"https://icp-api.io",r=Nt(o);return await Re.create({identity:e,shouldFetchRootKey:r,host:n,...s&&{fetch:s}})}};var R=class t{static instance;#t=void 0;constructor(){}static getInstance(){return ot(t.instance)&&(t.instance=new t),t.instance}async getActor({satelliteId:e,identity:s,buildType:o,...i}){let n=`${o}#${s.getPrincipal().toText()}#${e};`;if(ot(this.#t)||ot(this.#t[n])){let r=await this.createActor({satelliteId:e,identity:s,...i});return this.#t={...this.#t??{},[n]:r},r}return this.#t[n]}reset(){this.#t=null}async createActor({idlFactory:e,satelliteId:s,...o}){let i=await b.getInstance().getAgent(o);return ke.createActor(e,{agent:i,canisterId:s})}};var H=class extends Error{},z=class extends Error{},j=class extends Error{},W=class extends Error{},G=class extends Error{};import{AuthClient as Ee}from"@dfinity/auth-client";var Y=()=>Ee.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});import{isNullish as jt}from"@dfinity/utils";import{fromNullable as E,isNullish as Fe,nonNullish as Me}from"@dfinity/utils";var St=async({data:t})=>{try{return await q(t)}catch(e){console.error("The data parsing has failed, mapping to undefined as a fallback.",e);return}};import{fromNullable as Ot,toNullable as it}from"@dfinity/utils";var nt=async t=>{let{data:e,version:s,description:o}=t;return{description:it(o),data:await xt(e),version:it(s)}},rt=t=>{let{version:e}=t;return{version:it(e)}},M=async({doc:t,key:e})=>{let{owner:s,version:o,description:i,data:n,...r}=t;return{key:e,description:Ot(i),owner:s.toText(),data:await q(n),version:Ot(o),...r}};import{Principal as Ce}from"@dfinity/principal";import{isNullish as k,toNullable as g}from"@dfinity/utils";var vt=t=>{if(k(t))return g();switch(t.matcher){case"equal":return g({Equal:t.timestamp});case"greaterThan":return g({GreaterThan:t.timestamp});case"lessThan":return g({LessThan:t.timestamp});case"between":return g({Between:[t.timestamps.start,t.timestamps.end]});default:throw new G("Invalid list matcher for timestamp",t)}},N=({matcher:t,paginate:e,order:s,owner:o})=>({matcher:k(t)?[]:[{key:g(t.key),description:g(t.description),created_at:vt(t.createdAt),updated_at:vt(t.updatedAt)}],paginate:g(k(e)?void 0:{start_after:g(e.startAfter),limit:g(k(e.limit)?void 0:BigInt(e.limit))}),order:g(k(s)?void 0:{desc:s.desc,field:s.field==="created_at"?{CreatedAt:null}:s.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:g(k(o)?void 0:typeof o=="string"?Ce.fromText(o):o)});import{assertNonNullish as Ue}from"@dfinity/utils";var bt=({IDL:t})=>{let e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),s=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),o=t.Record({field:s,desc:t.Bool}),i=t.Variant({Equal:t.Nat64,Between:t.Tuple(t.Nat64,t.Nat64),GreaterThan:t.Nat64,LessThan:t.Nat64}),n=t.Record({key:t.Opt(t.Text),updated_at:t.Opt(i),description:t.Opt(t.Text),created_at:t.Opt(i)}),r=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),a=t.Record({order:t.Opt(o),owner:t.Opt(t.Principal),matcher:t.Opt(n),paginate:t.Opt(r)}),p=t.Record({controllers:t.Vec(t.Principal)}),f=t.Variant({Write:t.Null,Admin:t.Null}),d=t.Record({updated_at:t.Nat64,metadata:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,scope:f,expires_at:t.Opt(t.Nat64)}),y=t.Record({version:t.Opt(t.Nat64)}),m=t.Variant({Db:t.Null,Storage:t.Null}),_=t.Record({version:t.Opt(t.Nat64)}),P=t.Record({cycles:t.Nat,destination_id:t.Principal}),T=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,description:t.Opt(t.Text),full_path:t.Text}),w=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),u=t.Record({key:T,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,w)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,version:t.Opt(t.Nat64)}),S=t.Record({derivation_origin:t.Opt(t.Text)}),C=t.Record({internet_identity:t.Opt(S)}),V=t.Record({stable:t.Opt(t.Nat64),heap:t.Opt(t.Nat64)}),U=t.Record({max_memory_size:t.Opt(V)}),ae=t.Variant({Deny:t.Null,AllowAny:t.Null,SameOrigin:t.Null}),ce=t.Variant({Deny:t.Null,Allow:t.Null}),le=t.Record({status_code:t.Nat16,location:t.Text}),Z=t.Record({iframe:t.Opt(ae),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),max_memory_size:t.Opt(V),raw_access:t.Opt(ce),redirects:t.Opt(t.Vec(t.Tuple(t.Text,le)))}),pe=t.Record({db:t.Opt(U),authentication:t.Opt(C),storage:Z}),F=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),description:t.Opt(t.Text),created_at:t.Nat64,version:t.Opt(t.Nat64)}),I=t.Variant({Heap:t.Null,Stable:t.Null}),K=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),ut=t.Record({max_tokens:t.Nat64,time_per_token_ns:t.Nat64}),D=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(I),updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:K,created_at:t.Nat64,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(ut),write:K}),de=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),certificate_version:t.Opt(t.Nat16)}),L=t.Record({memory:I,token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),ue=t.Variant({Callback:t.Record({token:L,callback:t.Func([],[],["query"])})}),me=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(ue),status_code:t.Nat16}),ye=t.Record({token:t.Opt(L),body:t.Vec(t.Nat8)}),fe=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,description:t.Opt(t.Text),encoding_type:t.Opt(t.Text),full_path:t.Text}),ge=t.Record({batch_id:t.Nat}),he=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,u)),items_length:t.Nat64}),Ae=t.Record({updated_at:t.Nat64,created_at:t.Nat64,version:t.Opt(t.Nat64),bn_id:t.Opt(t.Text)}),Te=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,F)),items_length:t.Nat64}),xe=t.Record({stable:t.Nat64,heap:t.Nat64}),_e=t.Record({metadata:t.Vec(t.Tuple(t.Text,t.Text)),scope:f,expires_at:t.Opt(t.Nat64)}),Pe=t.Record({controller:_e,controllers:t.Vec(t.Principal)}),mt=t.Record({data:t.Vec(t.Nat8),description:t.Opt(t.Text),version:t.Opt(t.Nat64)}),we=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(I),max_size:t.Opt(t.Nat),read:K,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(ut),write:K}),Ne=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat,order_id:t.Opt(t.Nat)}),Se=t.Record({chunk_id:t.Nat});return t.Service({build_version:t.Func([],[t.Text],["query"]),commit_asset_upload:t.Func([e],[],[]),count_assets:t.Func([t.Text,a],[t.Nat64],["query"]),count_collection_assets:t.Func([t.Text],[t.Nat64],["query"]),count_collection_docs:t.Func([t.Text],[t.Nat64],["query"]),count_docs:t.Func([t.Text,a],[t.Nat64],["query"]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Text],[],[]),del_controllers:t.Func([p],[t.Vec(t.Tuple(t.Principal,d))],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,y],[],[]),del_docs:t.Func([t.Text],[],[]),del_filtered_assets:t.Func([t.Text,a],[],[]),del_filtered_docs:t.Func([t.Text,a],[],[]),del_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[],[]),del_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,y))],[],[]),del_rule:t.Func([m,t.Text,_],[],[]),deposit_cycles:t.Func([P],[],[]),get_asset:t.Func([t.Text,t.Text],[t.Opt(u)],["query"]),get_auth_config:t.Func([],[t.Opt(C)],["query"]),get_config:t.Func([],[pe],[]),get_db_config:t.Func([],[t.Opt(U)],["query"]),get_doc:t.Func([t.Text,t.Text],[t.Opt(F)],["query"]),get_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(u)))],["query"]),get_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(F)))],["query"]),get_rule:t.Func([m,t.Text],[t.Opt(D)],["query"]),get_storage_config:t.Func([],[Z],["query"]),http_request:t.Func([de],[me],["query"]),http_request_streaming_callback:t.Func([L],[ye],["query"]),init_asset_upload:t.Func([fe],[ge],[]),list_assets:t.Func([t.Text,a],[he],["query"]),list_controllers:t.Func([],[t.Vec(t.Tuple(t.Principal,d))],["query"]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,Ae))],["query"]),list_docs:t.Func([t.Text,a],[Te],["query"]),list_rules:t.Func([m],[t.Vec(t.Tuple(t.Text,D))],["query"]),memory_size:t.Func([],[xe],["query"]),set_auth_config:t.Func([C],[],[]),set_controllers:t.Func([Pe],[t.Vec(t.Tuple(t.Principal,d))],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_db_config:t.Func([U],[],[]),set_doc:t.Func([t.Text,t.Text,mt],[F],[]),set_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,mt))],[t.Vec(t.Tuple(t.Text,F))],[]),set_rule:t.Func([m,t.Text,we],[D],[]),set_storage_config:t.Func([Z],[],[]),upload_asset_chunk:t.Func([Ne],[Se],[]),version:t.Func([],[t.Text],["query"])})};import{nonNullish as at}from"@dfinity/utils";var Rt=({satelliteId:t,container:e})=>{let{satelliteId:s}=ct({satelliteId:t}),{container:o}=lt({container:e});if(at(o)&&o!==!1){let{host:i,protocol:n}=new URL(o===!0?v:o);return`${n}//${s??"unknown"}.${i.replace("127.0.0.1","localhost")}`}return`https://${s??"unknown"}.icp0.io`},ct=({satelliteId:t})=>at(t)?{satelliteId:t}:h.getInstance().get()??{satelliteId:void 0},lt=({container:t})=>at(t)?{container:t}:h.getInstance().get()??{container:void 0};var l=t=>Et({idlFactory:bt,buildType:"stock",...t}),kt=({idlFactory:t,...e})=>Et({idlFactory:t,buildType:"extended",...e}),Et=async({satelliteId:t,container:e,...s})=>{let{satelliteId:o}=ct({satelliteId:t});Ue(o,"No satellite ID defined. Did you initialize Juno?");let{container:i}=lt({container:e});return await R.getInstance().getActor({satelliteId:o,container:i,...s})};var Ct=async({collection:t,key:e,satellite:s})=>{let{get_doc:o}=await l(s),i=E(await o(t,e));if(!Fe(i))return M({doc:i,key:e})},Ut=async({docs:t,satellite:e})=>{let{get_many_docs:s}=await l(e),o=t.map(({collection:r,key:a})=>[r,a]),i=await s(o),n=[];for(let[r,a]of i){let p=E(a);n.push(Me(p)?await M({key:r,doc:p}):void 0)}return n},Ft=async({collection:t,doc:e,satellite:s})=>{let{set_doc:o}=await l(s),{key:i}=e,n=await nt(e),r=await o(t,i,n);return await M({key:i,doc:r})},Mt=async({docs:t,satellite:e})=>{let{set_many_docs:s}=await l(e),o=[];for(let{collection:r,doc:a}of t){let{key:p}=a;o.push([r,p,await nt(a)])}let i=await s(o),n=[];for(let[r,a]of i)n.push(await M({key:r,doc:a}));return n},Vt=async({collection:t,doc:e,satellite:s})=>{let{del_doc:o}=await l(s),{key:i}=e;return o(t,i,rt(e))},Kt=async({docs:t,satellite:e})=>{let{del_many_docs:s}=await l(e),o=t.map(({collection:i,doc:n})=>[i,n.key,rt(n)]);await s(o)},qt=async({collection:t,filter:e,satellite:s})=>{let{del_filtered_docs:o}=await l(s);return o(t,N(e))},Bt=async({collection:t,filter:e,satellite:s})=>{let{list_docs:o}=await l(s),{items:i,items_page:n,items_length:r,matches_length:a,matches_pages:p}=await o(t,N(e)),f=[];for(let[d,y]of i){let{data:m,owner:_,description:P,version:T,...w}=y;f.push({key:d,description:E(P),owner:_.toText(),data:await St({data:m}),version:E(T),...w})}return{items:f,items_length:r,items_page:E(n),matches_length:a,matches_pages:E(p)}},$t=async({collection:t,filter:e,satellite:s})=>{let{count_docs:o}=await l(s);return o(t,N(e))};import{AnonymousIdentity as Ve}from"@dfinity/agent";var c=t=>t!==void 0?t:J()??new Ve;var Ht=async({satellite:t,...e})=>{let s=c(t?.identity);return await Ct({...e,satellite:{...t,identity:s}})},eo=async({satellite:t,...e})=>{let s=c(t?.identity);return await Ut({...e,satellite:{...t,identity:s}})},zt=async({satellite:t,...e})=>{let s=c(t?.identity);return await Ft({...e,satellite:{...t,identity:s}})},so=async({satellite:t,...e})=>{let s=c(t?.identity);return await Mt({...e,satellite:{...t,identity:s}})},oo=async({satellite:t,...e})=>{let s=c(t?.identity);return await Vt({...e,satellite:{...t,identity:s}})},io=async({satellite:t,...e})=>{let s=c(t?.identity);return await Kt({...e,satellite:{...t,identity:s}})},no=async({satellite:t,filter:e,...s})=>{let o=c(t?.identity);return await qt({...s,filter:e??{},satellite:{...t,identity:o}})},ro=async({satellite:t,filter:e,...s})=>{let o=c(t?.identity);return await Bt({...s,filter:e??{},satellite:{...t,identity:o}})},ao=async({satellite:t,filter:e,...s})=>{let o=c(t?.identity);return await $t({...s,filter:e??{},satellite:{...t,identity:o}})};var Wt=async t=>{let e=J();if(jt(e))throw new W("No identity to initialize the user. Have you initialized Juno?");let s=e.getPrincipal().toText(),o=await Ht({collection:"#user",key:s});return jt(o)?await Ke({userId:s,provider:t}):o},Ke=({userId:t,...e})=>zt({collection:"#user",doc:{key:t,data:e}});var A,pt=async t=>{if(A=A??await Y(),!(await A?.isAuthenticated()??!1))return;let s=await Wt(t);x.getInstance().set(s)},$e=t=>new Promise(async(e,s)=>{if(Be(A)){s(new z("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}let o=t?.provider??new $({});await A.login({onSuccess:async()=>{await pt(o.id),e()},onError:i=>{if(i===qe){s(new j(i));return}s(new H(i))},maxTimeToLive:t?.maxTimeToLive??yt,allowPinAuthentication:t?.allowPin??ft,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...o.signInOptions({windowed:t?.windowed})})}),dt=async()=>{await A?.logout(),A=null,x.getInstance().reset(),R.getInstance().reset(),b.getInstance().reset(),A=await Y()},J=()=>A?.getIdentity(),He=async()=>(A??await Y()).getIdentity();var Gt=t=>{let e=t===!0?"./workers/auth.worker.js":t,s=new Worker(e),o=async()=>{tt({message:"junoSignOutAuthTimer"}),await dt()};return s.onmessage=async({data:i})=>{let{msg:n,data:r}=i;switch(n){case"junoSignOutAuthTimer":await o();return;case"junoDelegationRemainingTime":tt({message:"junoDelegationRemainingTime",detail:r?.authRemainingTime});return}},x.getInstance().subscribe(i=>{if(ze(i)){s.postMessage({msg:"junoStopAuthTimer"});return}s.postMessage({msg:"junoStartAuthTimer"})})};var Yt=()=>{let t=()=>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??t():t()},Jt=()=>{let t=()=>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??t():t()};var Mo=async({idlFactory:t,satellite:e})=>{let s=c(e?.identity);return await kt({idlFactory:t,...e,identity:s})};import{fromNullable as ie,nonNullish as Ge}from"@dfinity/utils";import{fromNullable as Q}from"@dfinity/utils";import{toNullable as X}from"@dfinity/utils";var Xt=async({asset:{data:t,filename:e,collection:s,headers:o,token:i,fullPath:n,encoding:r,description:a},actor:p,init_asset_upload:f})=>{let{batch_id:d}=await f({collection:s,full_path:n,name:e,token:X(i),encoding_type:X(r),description:X(a)}),y=19e5,m=[],_=B()?new Blob([await t.arrayBuffer()]):t,P=0n;for(let u=0;u<_.size;u+=y){let S=_.slice(u,u+y);m.push({batchId:d,chunk:S,actor:p,orderId:P}),P++}let T=[];for await(let u of je({uploadChunks:m}))T=[...T,...u];let w=o.find(([u,S])=>u.toLowerCase()==="content-type")===void 0&&t.type!==void 0&&t.type!==""?[["Content-Type",t.type]]:void 0;await p.commit_asset_upload({batch_id:d,chunk_ids:T.map(({chunk_id:u})=>u),headers:[...o,...w||[]]})};async function*je({uploadChunks:t,limit:e=12}){for(let s=0;s<t.length;s=s+e){let o=t.slice(s,s+e);yield await Promise.all(o.map(i=>We(i)))}}var We=async({batchId:t,chunk:e,actor:s,orderId:o})=>s.upload_asset_chunk({batch_id:t,content:new Uint8Array(await e.arrayBuffer()),order_id:X(o)});var Qt=async({satellite:t,...e})=>{let s=await l(t);await Xt({actor:s,asset:e,init_asset_upload:async i=>await s.init_asset_upload(i)})},Zt=async({collection:t,satellite:e,filter:s})=>{let{list_assets:o}=await l(e),{items:i,items_length:n,items_page:r,matches_length:a,matches_pages:p}=await o(t,N(s));return{items:i.map(([f,d])=>d),items_length:n,items_page:Q(r),matches_length:a,matches_pages:Q(p)}},It=async({collection:t,satellite:e,filter:s})=>{let{count_assets:o}=await l(e);return o(t,N(s))},Dt=async({collection:t,fullPath:e,satellite:s})=>(await l(s)).del_asset(t,e),Lt=async({assets:t,satellite:e})=>{let{del_many_assets:s}=await l(e),o=t.map(({collection:i,fullPath:n})=>[i,n]);await s(o)},te=async({collection:t,satellite:e,filter:s})=>{let{del_filtered_assets:o}=await l(e);return o(t,N(s))},ee=async({collection:t,fullPath:e,satellite:s})=>{let{get_asset:o}=await l(s);return Q(await o(t,e))},se=async({assets:t,satellite:e})=>{let{get_many_assets:s}=await l(e),o=t.map(({collection:n,fullPath:r})=>[n,r]);return(await s(o)).map(([n,r])=>Q(r))};var oe=t=>btoa([...t].map(e=>String.fromCharCode(e)).join(""));var Io=t=>ne(t),Do=t=>ne({filename:t.data.name,...t}),ne=async({filename:t,data:e,collection:s,headers:o=[],fullPath:i,token:n,satellite:r,encoding:a,description:p})=>{let f=c(r?.identity),d=decodeURI(t),y=i??`/${s}/${d}`,m={...r,identity:f};return await Qt({data:e,filename:d,collection:s,token:n,headers:o,fullPath:y,encoding:a,satellite:m,description:p}),{downloadUrl:re({satellite:m,assetKey:{fullPath:y,token:n}}),fullPath:y,name:d}},Lo=async({collection:t,satellite:e,filter:s})=>{let o={...e,identity:c(e?.identity)},{items:i,...n}=await Zt({collection:t,satellite:o,filter:s??{}}),r=i.map(({key:{full_path:a,token:p,name:f,owner:d,description:y},headers:m,encodings:_,created_at:P,updated_at:T})=>{let w=ie(p);return{fullPath:a,description:ie(y),name:f,downloadUrl:re({satellite:o,assetKey:{fullPath:a,token:w}}),token:w,headers:m,encodings:_.reduce((u,[S,{modified:C,sha256:V,total_length:U}])=>({...u,[S]:{modified:C,sha256:oe(V),total_length:U}}),{}),owner:d.toText(),created_at:P,updated_at:T}});return{items:r,assets:r,...n}},ti=async({collection:t,satellite:e,filter:s})=>{let o={...e,identity:c(e?.identity)};return await It({collection:t,satellite:o,filter:s??{}})},ei=({collection:t,fullPath:e,satellite:s})=>Dt({collection:t,fullPath:e,satellite:{...s,identity:c(s?.identity)}}),si=({assets:t,satellite:e})=>Lt({assets:t,satellite:{...e,identity:c(e?.identity)}}),oi=async({collection:t,satellite:e,filter:s})=>{let o={...e,identity:c(e?.identity)};return await te({collection:t,satellite:o,filter:s??{}})},ii=async({satellite:t,...e})=>{let s=c(t?.identity);return await ee({...e,satellite:{...t,identity:s}})},ni=async({satellite:t,...e})=>{let s=c(t?.identity);return await se({...e,satellite:{...t,identity:s}})},re=({assetKey:{fullPath:t,token:e},satellite:s})=>{let o={...s,identity:c(s?.identity)};return`${Rt(o)}${t}${Ge(e)?`?token=${e}`:""}`};var Je=t=>{let e=t?.satelliteId??Yt();Ye(e,"Satellite ID is not configured. Juno cannot be initialized.");let s=t?.container??Jt();return{satelliteId:e,internetIdentityId:t?.internetIdentityId,workers:t?.workers,container:s}},mi=t=>Xe(t),Xe=async t=>{let e=Je(t);h.getInstance().set(e),await pt();let s=e.workers?.auth!==void 0?Gt(e.workers.auth):void 0;return[...s?[s]:[]]},yi=t=>x.getInstance().subscribe(t);export{W as InitError,$ as InternetIdentityProvider,G as ListError,wt as NFIDProvider,H as SignInError,z as SignInInitError,j as SignInUserInterruptError,yi as authSubscribe,ti as countAssets,ao as countDocs,ei as deleteAsset,oo as deleteDoc,oi as deleteFilteredAssets,no as deleteFilteredDocs,si as deleteManyAssets,io as deleteManyDocs,re as downloadUrl,ii as getAsset,Ht as getDoc,ni as getManyAssets,eo as getManyDocs,Mo as getSatelliteExtendedActor,mi as initJuno,Xe as initSatellite,Lo as listAssets,ro as listDocs,zt as setDoc,so as setManyDocs,$e as signIn,dt as signOut,He as unsafeIdentity,Io as uploadBlob,Do as uploadFile};
|
|
3
|
+
import{assertNonNullish as Qe}from"@dfinity/utils";import{isNullish as ze}from"@dfinity/utils";var S=class{callbacks=[];populate(e){this.callbacks.forEach(({callback:s})=>s(e))}subscribe(e){let s=Symbol();return this.callbacks.push({id:s,callback:e}),()=>this.callbacks=this.callbacks.filter(({id:o})=>o!==s)}};var h=class t extends S{static instance;authUser=null;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.authUser=e,this.populate(e)}get(){return this.authUser}subscribe(e){let s=super.subscribe(e);return e(this.authUser),s}reset(){this.authUser=null,this.populate(this.authUser)}};var tt=({message:t,detail:e})=>{let s=new CustomEvent(t,{detail:e,bubbles:!0});document.dispatchEvent(s)};import{ERROR_USER_INTERRUPT as Je}from"@dfinity/auth-client";import{isNullish as $e}from"@dfinity/utils";var _t=BigInt(144e11),gt=!1,At={width:576,height:576},Tt={width:505,height:705},ht="internetcomputer.org";import{isNullish as be,nonNullish as Nt}from"@dfinity/utils";var w="http://127.0.0.1:5987",Ot="rdmx6-jaaaa-aaaaa-aaadq-cai";var g=class t extends S{static instance;env;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.env=e,this.populate(e)}get(){return this.env}subscribe(e){let s=super.subscribe(e);return e(this.env),s}};import{isNullish as Rt}from"@dfinity/utils";import{jsonReplacer as Ee,jsonReviver as ve}from"@dfinity/utils";var xt=async t=>{let e=new Blob([JSON.stringify(t,Ee)],{type:"application/json; charset=utf-8"});return new Uint8Array(await e.arrayBuffer())},q=async t=>{let e=new Blob([t instanceof Uint8Array?t:new Uint8Array(t)],{type:"application/json; charset=utf-8"});return JSON.parse(await e.text(),ve)},K=()=>typeof window<"u";var et=({width:t,height:e})=>{if(!K()||Rt(window)||Rt(window.top))return;let{top:{innerWidth:s,innerHeight:o}}=window,i=o/2+screenY-e/2,n=s/2+screenX-t/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${t}, height=${e}, top=${i}, left=${n}`};var B=class{#t;constructor({domain:e}){this.#t=e}get id(){return"internet_identity"}signInOptions({windowed:e}){let s=()=>{let o=g.getInstance().get()?.container;if(be(o)||o===!1)return`https://identity.${this.#t??ht}`;let i=g.getInstance().get(),n=Nt(i)&&Nt(i?.internetIdentityId)?i.internetIdentityId:Ot,{host:r,protocol:a}=new URL(o===!0?w:o);return/apple/i.test(navigator?.vendor)?`${a}//${r}?canisterId=${n}`:`${a}//${n}.${r.replace("127.0.0.1","localhost")}`};return{...e!==!1&&{windowOpenerFeatures:et(At)},identityProvider:s()}}},Pt=class{#t;#e;constructor({appName:e,logoUrl:s}){this.#t=e,this.#e=s}get id(){return"nfid"}signInOptions({windowed:e}){return{...e!==!1&&{windowOpenerFeatures:et(Tt)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#t)}&applicationLogo=${encodeURI(this.#e)}`}}};import{Actor as ke}from"@dfinity/agent";import{isNullish as ot}from"@dfinity/utils";import{HttpAgent as Ue}from"@dfinity/agent";import{isNullish as st,nonNullish as St}from"@dfinity/utils";var E=class t{static instance;#t=void 0;constructor(){}static getInstance(){return st(t.instance)&&(t.instance=new t),t.instance}async getAgent({identity:e,...s}){let o=e.getPrincipal().toText();if(st(this.#t)||st(this.#t[o])){let i=await this.createAgent({identity:e,...s});return this.#t={...this.#t??{},[o]:i},i}return this.#t[o]}reset(){this.#t=null}async createAgent({identity:e,fetch:s,container:o}){let n=St(o)&&o!==!1?o===!0?w:o:"https://icp-api.io",r=St(o);return await Ue.create({identity:e,shouldFetchRootKey:r,host:n,...s&&{fetch:s}})}};var v=class t{static instance;#t=void 0;constructor(){}static getInstance(){return ot(t.instance)&&(t.instance=new t),t.instance}async getActor({satelliteId:e,identity:s,buildType:o,...i}){let n=`${o}#${s.getPrincipal().toText()}#${e};`;if(ot(this.#t)||ot(this.#t[n])){let r=await this.createActor({satelliteId:e,identity:s,...i});return this.#t={...this.#t??{},[n]:r},r}return this.#t[n]}reset(){this.#t=null}async createActor({idlFactory:e,satelliteId:s,...o}){let i=await E.getInstance().getAgent(o);return ke.createActor(e,{agent:i,canisterId:s})}};var J=class extends Error{},$=class extends Error{},H=class extends Error{},G=class extends Error{},z=class extends Error{};import{AuthClient as Ce}from"@dfinity/auth-client";var W=()=>Ce.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});import{isNullish as Ke,nonNullish as zt}from"@dfinity/utils";var it="juno.datastore.error.user.cannot_update";var nt=({error:t,type:e})=>typeof t=="string"?t.includes(e):t instanceof Error?t.message.includes(e):!1;import{fromNullable as U,isNullish as Ve,nonNullish as je}from"@dfinity/utils";var wt=async({data:t})=>{try{return await q(t)}catch(e){console.error("The data parsing has failed, mapping to undefined as a fallback.",e);return}};import{fromNullable as Et,toNullable as rt}from"@dfinity/utils";var at=async t=>{let{data:e,version:s,description:o}=t;return{description:rt(o),data:await xt(e),version:rt(s)}},ct=t=>{let{version:e}=t;return{version:rt(e)}},M=async({doc:t,key:e})=>{let{owner:s,version:o,description:i,data:n,...r}=t;return{key:e,description:Et(i),owner:s.toText(),data:await q(n),version:Et(o),...r}};import{Principal as Fe}from"@dfinity/principal";import{isNullish as b,toNullable as _}from"@dfinity/utils";var vt=t=>{if(b(t))return _();switch(t.matcher){case"equal":return _({Equal:t.timestamp});case"greaterThan":return _({GreaterThan:t.timestamp});case"lessThan":return _({LessThan:t.timestamp});case"between":return _({Between:[t.timestamps.start,t.timestamps.end]});default:throw new z("Invalid list matcher for timestamp",t)}},N=({matcher:t,paginate:e,order:s,owner:o})=>({matcher:b(t)?[]:[{key:_(t.key),description:_(t.description),created_at:vt(t.createdAt),updated_at:vt(t.updatedAt)}],paginate:_(b(e)?void 0:{start_after:_(e.startAfter),limit:_(b(e.limit)?void 0:BigInt(e.limit))}),order:_(b(s)?void 0:{desc:s.desc,field:s.field==="created_at"?{CreatedAt:null}:s.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:_(b(o)?void 0:typeof o=="string"?Fe.fromText(o):o)});import{assertNonNullish as Me}from"@dfinity/utils";var bt=({IDL:t})=>{let e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),s=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),o=t.Record({field:s,desc:t.Bool}),i=t.Variant({Equal:t.Nat64,Between:t.Tuple(t.Nat64,t.Nat64),GreaterThan:t.Nat64,LessThan:t.Nat64}),n=t.Record({key:t.Opt(t.Text),updated_at:t.Opt(i),description:t.Opt(t.Text),created_at:t.Opt(i)}),r=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),a=t.Record({order:t.Opt(o),owner:t.Opt(t.Principal),matcher:t.Opt(n),paginate:t.Opt(r)}),p=t.Record({controllers:t.Vec(t.Principal)}),f=t.Variant({Write:t.Null,Admin:t.Null}),d=t.Record({updated_at:t.Nat64,metadata:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,scope:f,expires_at:t.Opt(t.Nat64)}),y=t.Record({version:t.Opt(t.Nat64)}),m=t.Variant({Db:t.Null,Storage:t.Null}),O=t.Record({version:t.Opt(t.Nat64)}),x=t.Record({cycles:t.Nat,destination_id:t.Principal}),T=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,description:t.Opt(t.Text),full_path:t.Text}),R=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),u=t.Record({key:T,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,R)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,version:t.Opt(t.Nat64)}),P=t.Record({derivation_origin:t.Opt(t.Text),external_alternative_origins:t.Opt(t.Vec(t.Text))}),k=t.Record({internet_identity:t.Opt(P)}),V=t.Record({stable:t.Opt(t.Nat64),heap:t.Opt(t.Nat64)}),C=t.Record({max_memory_size:t.Opt(V)}),le=t.Variant({Deny:t.Null,AllowAny:t.Null,SameOrigin:t.Null}),pe=t.Variant({Deny:t.Null,Allow:t.Null}),de=t.Record({status_code:t.Nat16,location:t.Text}),Z=t.Record({iframe:t.Opt(le),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),max_memory_size:t.Opt(V),raw_access:t.Opt(pe),redirects:t.Opt(t.Vec(t.Tuple(t.Text,de)))}),ue=t.Record({db:t.Opt(C),authentication:t.Opt(k),storage:Z}),F=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),description:t.Opt(t.Text),created_at:t.Nat64,version:t.Opt(t.Nat64)}),D=t.Variant({Heap:t.Null,Stable:t.Null}),j=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),yt=t.Record({max_tokens:t.Nat64,time_per_token_ns:t.Nat64}),I=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(D),updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:j,created_at:t.Nat64,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(yt),write:j,max_changes_per_user:t.Opt(t.Nat32)}),me=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),certificate_version:t.Opt(t.Nat16)}),L=t.Record({memory:D,token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),ye=t.Variant({Callback:t.Record({token:L,callback:t.Func([],[],["query"])})}),fe=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(ye),status_code:t.Nat16}),_e=t.Record({token:t.Opt(L),body:t.Vec(t.Nat8)}),ge=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,description:t.Opt(t.Text),encoding_type:t.Opt(t.Text),full_path:t.Text}),Ae=t.Record({batch_id:t.Nat}),Te=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,u)),items_length:t.Nat64}),he=t.Record({updated_at:t.Nat64,created_at:t.Nat64,version:t.Opt(t.Nat64),bn_id:t.Opt(t.Text)}),Oe=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,F)),items_length:t.Nat64}),xe=t.Record({stable:t.Nat64,heap:t.Nat64}),Re=t.Record({metadata:t.Vec(t.Tuple(t.Text,t.Text)),scope:f,expires_at:t.Opt(t.Nat64)}),Ne=t.Record({controller:Re,controllers:t.Vec(t.Principal)}),ft=t.Record({data:t.Vec(t.Nat8),description:t.Opt(t.Text),version:t.Opt(t.Nat64)}),Pe=t.Record({max_capacity:t.Opt(t.Nat32),memory:t.Opt(D),max_size:t.Opt(t.Nat),read:j,version:t.Opt(t.Nat64),mutable_permissions:t.Opt(t.Bool),rate_config:t.Opt(yt),write:j,max_changes_per_user:t.Opt(t.Nat32)}),Se=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat,order_id:t.Opt(t.Nat)}),we=t.Record({chunk_id:t.Nat});return t.Service({build_version:t.Func([],[t.Text],["query"]),commit_asset_upload:t.Func([e],[],[]),count_assets:t.Func([t.Text,a],[t.Nat64],["query"]),count_collection_assets:t.Func([t.Text],[t.Nat64],["query"]),count_collection_docs:t.Func([t.Text],[t.Nat64],["query"]),count_docs:t.Func([t.Text,a],[t.Nat64],["query"]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Text],[],[]),del_controllers:t.Func([p],[t.Vec(t.Tuple(t.Principal,d))],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,y],[],[]),del_docs:t.Func([t.Text],[],[]),del_filtered_assets:t.Func([t.Text,a],[],[]),del_filtered_docs:t.Func([t.Text,a],[],[]),del_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[],[]),del_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,y))],[],[]),del_rule:t.Func([m,t.Text,O],[],[]),deposit_cycles:t.Func([x],[],[]),get_asset:t.Func([t.Text,t.Text],[t.Opt(u)],["query"]),get_auth_config:t.Func([],[t.Opt(k)],["query"]),get_config:t.Func([],[ue],[]),get_db_config:t.Func([],[t.Opt(C)],["query"]),get_doc:t.Func([t.Text,t.Text],[t.Opt(F)],["query"]),get_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(u)))],["query"]),get_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(F)))],["query"]),get_rule:t.Func([m,t.Text],[t.Opt(I)],["query"]),get_storage_config:t.Func([],[Z],["query"]),http_request:t.Func([me],[fe],["query"]),http_request_streaming_callback:t.Func([L],[_e],["query"]),init_asset_upload:t.Func([ge],[Ae],[]),list_assets:t.Func([t.Text,a],[Te],["query"]),list_controllers:t.Func([],[t.Vec(t.Tuple(t.Principal,d))],["query"]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,he))],["query"]),list_docs:t.Func([t.Text,a],[Oe],["query"]),list_rules:t.Func([m],[t.Vec(t.Tuple(t.Text,I))],["query"]),memory_size:t.Func([],[xe],["query"]),set_auth_config:t.Func([k],[],[]),set_controllers:t.Func([Ne],[t.Vec(t.Tuple(t.Principal,d))],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_db_config:t.Func([C],[],[]),set_doc:t.Func([t.Text,t.Text,ft],[F],[]),set_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,ft))],[t.Vec(t.Tuple(t.Text,F))],[]),set_rule:t.Func([m,t.Text,Pe],[I],[]),set_storage_config:t.Func([Z],[],[]),upload_asset_chunk:t.Func([Se],[we],[]),version:t.Func([],[t.Text],["query"])})};import{nonNullish as lt}from"@dfinity/utils";var Ut=({satelliteId:t,container:e})=>{let{satelliteId:s}=pt({satelliteId:t}),{container:o}=dt({container:e});if(lt(o)&&o!==!1){let{host:i,protocol:n}=new URL(o===!0?w:o);return`${n}//${s??"unknown"}.${i.replace("127.0.0.1","localhost")}`}return`https://${s??"unknown"}.icp0.io`},pt=({satelliteId:t})=>lt(t)?{satelliteId:t}:g.getInstance().get()??{satelliteId:void 0},dt=({container:t})=>lt(t)?{container:t}:g.getInstance().get()??{container:void 0};var l=t=>Ct({idlFactory:bt,buildType:"stock",...t}),kt=({idlFactory:t,...e})=>Ct({idlFactory:t,buildType:"extended",...e}),Ct=async({satelliteId:t,container:e,...s})=>{let{satelliteId:o}=pt({satelliteId:t});Me(o,"No satellite ID defined. Did you initialize Juno?");let{container:i}=dt({container:e});return await v.getInstance().getActor({satelliteId:o,container:i,...s})};var Ft=async({collection:t,key:e,satellite:s})=>{let{get_doc:o}=await l(s),i=U(await o(t,e));if(!Ve(i))return M({doc:i,key:e})},Mt=async({docs:t,satellite:e})=>{let{get_many_docs:s}=await l(e),o=t.map(({collection:r,key:a})=>[r,a]),i=await s(o),n=[];for(let[r,a]of i){let p=U(a);n.push(je(p)?await M({key:r,doc:p}):void 0)}return n},Vt=async({collection:t,doc:e,satellite:s})=>{let{set_doc:o}=await l(s),{key:i}=e,n=await at(e),r=await o(t,i,n);return await M({key:i,doc:r})},jt=async({docs:t,satellite:e})=>{let{set_many_docs:s}=await l(e),o=[];for(let{collection:r,doc:a}of t){let{key:p}=a;o.push([r,p,await at(a)])}let i=await s(o),n=[];for(let[r,a]of i)n.push(await M({key:r,doc:a}));return n},qt=async({collection:t,doc:e,satellite:s})=>{let{del_doc:o}=await l(s),{key:i}=e;return o(t,i,ct(e))},Kt=async({docs:t,satellite:e})=>{let{del_many_docs:s}=await l(e),o=t.map(({collection:i,doc:n})=>[i,n.key,ct(n)]);await s(o)},Bt=async({collection:t,filter:e,satellite:s})=>{let{del_filtered_docs:o}=await l(s);return o(t,N(e))},Jt=async({collection:t,filter:e,satellite:s})=>{let{list_docs:o}=await l(s),{items:i,items_page:n,items_length:r,matches_length:a,matches_pages:p}=await o(t,N(e)),f=[];for(let[d,y]of i){let{data:m,owner:O,description:x,version:T,...R}=y;f.push({key:d,description:U(x),owner:O.toText(),data:await wt({data:m}),version:U(T),...R})}return{items:f,items_length:r,items_page:U(n),matches_length:a,matches_pages:U(p)}},$t=async({collection:t,filter:e,satellite:s})=>{let{count_docs:o}=await l(s);return o(t,N(e))};import{AnonymousIdentity as qe}from"@dfinity/agent";var c=t=>t!==void 0?t:Y()??new qe;var Ht=async({satellite:t,...e})=>{let s=c(t?.identity);return await Ft({...e,satellite:{...t,identity:s}})},bo=async({satellite:t,...e})=>{let s=c(t?.identity);return await Mt({...e,satellite:{...t,identity:s}})},Gt=async({satellite:t,...e})=>{let s=c(t?.identity);return await Vt({...e,satellite:{...t,identity:s}})},Uo=async({satellite:t,...e})=>{let s=c(t?.identity);return await jt({...e,satellite:{...t,identity:s}})},ko=async({satellite:t,...e})=>{let s=c(t?.identity);return await qt({...e,satellite:{...t,identity:s}})},Co=async({satellite:t,...e})=>{let s=c(t?.identity);return await Kt({...e,satellite:{...t,identity:s}})},Fo=async({satellite:t,filter:e,...s})=>{let o=c(t?.identity);return await Bt({...s,filter:e??{},satellite:{...t,identity:o}})},Mo=async({satellite:t,filter:e,...s})=>{let o=c(t?.identity);return await Jt({...s,filter:e??{},satellite:{...t,identity:o}})},Vo=async({satellite:t,filter:e,...s})=>{let o=c(t?.identity);return await $t({...s,filter:e??{},satellite:{...t,identity:o}})};var Wt=async t=>{let e=Y();if(Ke(e))throw new G("No identity to initialize the user. Have you initialized Juno?");let s=e.getPrincipal().toText(),o=()=>Ht({collection:"#user",key:s}),i=await o();if(zt(i))return i;try{return await Be({userId:s,provider:t})}catch(n){if(nt({error:n,type:it})){let r=await o();if(zt(r))return r}throw n}},Be=({userId:t,...e})=>Gt({collection:"#user",doc:{key:t,data:e}});var A,ut=async t=>{if(A=A??await W(),!(await A?.isAuthenticated()??!1))return;let s=await Wt(t);h.getInstance().set(s)},He=t=>new Promise(async(e,s)=>{if($e(A)){s(new $("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}let o=t?.provider??new B({});await A.login({onSuccess:async()=>{await ut(o.id),e()},onError:i=>{if(i===Je){s(new H(i));return}s(new J(i))},maxTimeToLive:t?.maxTimeToLive??_t,allowPinAuthentication:t?.allowPin??gt,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...o.signInOptions({windowed:t?.windowed})})}),mt=async()=>{await A?.logout(),A=null,h.getInstance().reset(),v.getInstance().reset(),E.getInstance().reset(),A=await W()},Y=()=>A?.getIdentity(),Ge=async()=>(A??await W()).getIdentity();var Yt=t=>{let e=t===!0?"./workers/auth.worker.js":t,s=new Worker(e),o=async()=>{tt({message:"junoSignOutAuthTimer"}),await mt()};return s.onmessage=async({data:i})=>{let{msg:n,data:r}=i;switch(n){case"junoSignOutAuthTimer":await o();return;case"junoDelegationRemainingTime":tt({message:"junoDelegationRemainingTime",detail:r?.authRemainingTime});return}},h.getInstance().subscribe(i=>{if(ze(i)){s.postMessage({msg:"junoStopAuthTimer"});return}s.postMessage({msg:"junoStartAuthTimer"})})};var Xt=()=>{let t=()=>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??t():t()},Qt=()=>{let t=()=>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??t():t()};var pi=async({idlFactory:t,satellite:e})=>{let s=c(e?.identity);return await kt({idlFactory:t,...e,identity:s})};import{fromNullable as re,nonNullish as Xe}from"@dfinity/utils";import{fromNullable as Q}from"@dfinity/utils";import{toNullable as X}from"@dfinity/utils";var Zt=async({asset:{data:t,filename:e,collection:s,headers:o,token:i,fullPath:n,encoding:r,description:a},actor:p,init_asset_upload:f})=>{let{batch_id:d}=await f({collection:s,full_path:n,name:e,token:X(i),encoding_type:X(r),description:X(a)}),y=19e5,m=[],O=K()?new Blob([await t.arrayBuffer()]):t,x=0n;for(let u=0;u<O.size;u+=y){let P=O.slice(u,u+y);m.push({batchId:d,chunk:P,actor:p,orderId:x}),x++}let T=[];for await(let u of We({uploadChunks:m}))T=[...T,...u];let R=o.find(([u,P])=>u.toLowerCase()==="content-type")===void 0&&t.type!==void 0&&t.type!==""?[["Content-Type",t.type]]:void 0;await p.commit_asset_upload({batch_id:d,chunk_ids:T.map(({chunk_id:u})=>u),headers:[...o,...R||[]]})};async function*We({uploadChunks:t,limit:e=12}){for(let s=0;s<t.length;s=s+e){let o=t.slice(s,s+e);yield await Promise.all(o.map(i=>Ye(i)))}}var Ye=async({batchId:t,chunk:e,actor:s,orderId:o})=>s.upload_asset_chunk({batch_id:t,content:new Uint8Array(await e.arrayBuffer()),order_id:X(o)});var Dt=async({satellite:t,...e})=>{let s=await l(t);await Zt({actor:s,asset:e,init_asset_upload:async i=>await s.init_asset_upload(i)})},It=async({collection:t,satellite:e,filter:s})=>{let{list_assets:o}=await l(e),{items:i,items_length:n,items_page:r,matches_length:a,matches_pages:p}=await o(t,N(s));return{items:i.map(([f,d])=>d),items_length:n,items_page:Q(r),matches_length:a,matches_pages:Q(p)}},Lt=async({collection:t,satellite:e,filter:s})=>{let{count_assets:o}=await l(e);return o(t,N(s))},te=async({collection:t,fullPath:e,satellite:s})=>(await l(s)).del_asset(t,e),ee=async({assets:t,satellite:e})=>{let{del_many_assets:s}=await l(e),o=t.map(({collection:i,fullPath:n})=>[i,n]);await s(o)},se=async({collection:t,satellite:e,filter:s})=>{let{del_filtered_assets:o}=await l(e);return o(t,N(s))},oe=async({collection:t,fullPath:e,satellite:s})=>{let{get_asset:o}=await l(s);return Q(await o(t,e))},ie=async({assets:t,satellite:e})=>{let{get_many_assets:s}=await l(e),o=t.map(({collection:n,fullPath:r})=>[n,r]);return(await s(o)).map(([n,r])=>Q(r))};var ne=t=>btoa([...t].map(e=>String.fromCharCode(e)).join(""));var Si=t=>ae(t),wi=t=>ae({filename:t.data.name,...t}),ae=async({filename:t,data:e,collection:s,headers:o=[],fullPath:i,token:n,satellite:r,encoding:a,description:p})=>{let f=c(r?.identity),d=decodeURI(t),y=i??`/${s}/${d}`,m={...r,identity:f};return await Dt({data:e,filename:d,collection:s,token:n,headers:o,fullPath:y,encoding:a,satellite:m,description:p}),{downloadUrl:ce({satellite:m,assetKey:{fullPath:y,token:n}}),fullPath:y,name:d}},Ei=async({collection:t,satellite:e,filter:s})=>{let o={...e,identity:c(e?.identity)},{items:i,...n}=await It({collection:t,satellite:o,filter:s??{}}),r=i.map(({key:{full_path:a,token:p,name:f,owner:d,description:y},headers:m,encodings:O,created_at:x,updated_at:T})=>{let R=re(p);return{fullPath:a,description:re(y),name:f,downloadUrl:ce({satellite:o,assetKey:{fullPath:a,token:R}}),token:R,headers:m,encodings:O.reduce((u,[P,{modified:k,sha256:V,total_length:C}])=>({...u,[P]:{modified:k,sha256:ne(V),total_length:C}}),{}),owner:d.toText(),created_at:x,updated_at:T}});return{items:r,assets:r,...n}},vi=async({collection:t,satellite:e,filter:s})=>{let o={...e,identity:c(e?.identity)};return await Lt({collection:t,satellite:o,filter:s??{}})},bi=({collection:t,fullPath:e,satellite:s})=>te({collection:t,fullPath:e,satellite:{...s,identity:c(s?.identity)}}),Ui=({assets:t,satellite:e})=>ee({assets:t,satellite:{...e,identity:c(e?.identity)}}),ki=async({collection:t,satellite:e,filter:s})=>{let o={...e,identity:c(e?.identity)};return await se({collection:t,satellite:o,filter:s??{}})},Ci=async({satellite:t,...e})=>{let s=c(t?.identity);return await oe({...e,satellite:{...t,identity:s}})},Fi=async({satellite:t,...e})=>{let s=c(t?.identity);return await ie({...e,satellite:{...t,identity:s}})},ce=({assetKey:{fullPath:t,token:e},satellite:s})=>{let o={...s,identity:c(s?.identity)};return`${Ut(o)}${t}${Xe(e)?`?token=${e}`:""}`};var Ze=t=>{let e=t?.satelliteId??Xt();Qe(e,"Satellite ID is not configured. Juno cannot be initialized.");let s=t?.container??Qt();return{satelliteId:e,internetIdentityId:t?.internetIdentityId,workers:t?.workers,container:s}},$i=t=>De(t),De=async t=>{let e=Ze(t);g.getInstance().set(e),await ut();let s=e.workers?.auth!==void 0?Yt(e.workers.auth):void 0;return[...s?[s]:[]]},Hi=t=>h.getInstance().subscribe(t);export{G as InitError,B as InternetIdentityProvider,z as ListError,Pt as NFIDProvider,J as SignInError,$ as SignInInitError,H as SignInUserInterruptError,Hi as authSubscribe,vi as countAssets,Vo as countDocs,bi as deleteAsset,ko as deleteDoc,ki as deleteFilteredAssets,Fo as deleteFilteredDocs,Ui as deleteManyAssets,Co as deleteManyDocs,ce as downloadUrl,Ci as getAsset,Ht as getDoc,Fi as getManyAssets,bo as getManyDocs,pi as getSatelliteExtendedActor,$i as initJuno,De as initSatellite,Ei as listAssets,Mo as listDocs,Gt as setDoc,Uo as setManyDocs,He as signIn,mt as signOut,Ge as unsafeIdentity,Si as uploadBlob,wi as uploadFile};
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|