@xyo-network/xl1-browser-system 5.0.16 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,6 +50,30 @@ const config = createXl1RpcBrowserSystemConfig({
50
50
  The resulting object contains actor selections, named connections, and provider
51
51
  bindings. It contains no module paths or executable code.
52
52
 
53
+ Compile the data before acquiring runtime resources, then launch that exact
54
+ plan:
55
+
56
+ ```ts
57
+ import {
58
+ compileXl1BrowserSystem,
59
+ launchCompiledXl1BrowserSystem,
60
+ } from '@xyo-network/xl1-browser-system'
61
+
62
+ const compiled = compileXl1BrowserSystem({ config })
63
+ const session = await launchCompiledXl1BrowserSystem({ compiled })
64
+ ```
65
+
66
+ Compilation parses the XL1 config, selects actor declarations, and resolves one
67
+ provider plan without constructing providers or actors. The compiled value
68
+ retains the actor catalog and exact provider registrations, so it is an
69
+ owner-realm artifact rather than structured-clone data. Attached realms receive
70
+ only browser-kit's descriptor-free manifest and typed proxies.
71
+
72
+ `launchXl1BrowserSystem` remains the one-step convenience that composes compile
73
+ and launch. `launchCompiledXl1BrowserSystem` accepts runtime context, host,
74
+ identity, and readiness options, but cannot substitute another provider catalog
75
+ or registration set.
76
+
53
77
  For local gateways that publish buckets under one path-based origin rather than
54
78
  the standard `blocks.*`, `state.*`, and `indexes.*` subdomains, set
55
79
  `layout: 'path'`:
@@ -94,7 +118,8 @@ signer implementation, pass `signerFactory` and a bundle-stable
94
118
  `signerTransport`. Accounts, transports, and factories never enter the config.
95
119
 
96
120
  The lower-level `createXl1RestBrowserSystemConfig`,
97
- `createXl1RpcBrowserSystemConfig`, and `launchXl1BrowserSystem` APIs remain
121
+ `createXl1RpcBrowserSystemConfig`, `compileXl1BrowserSystem`,
122
+ `launchCompiledXl1BrowserSystem`, and `launchXl1BrowserSystem` APIs remain
98
123
  available when an application supplies its own actors or provider catalog.
99
124
 
100
125
  When adding a custom provider candidate, pass a stable explicit identifier to
@@ -115,14 +140,18 @@ The page owns the system until navigation or discard:
115
140
  ```ts
116
141
  import { bindPageLifecycle } from '@ariestools/browser-kit-page'
117
142
  import {
118
- launchXl1BrowserSystem,
143
+ compileXl1BrowserSystem,
144
+ launchCompiledXl1BrowserSystem,
119
145
  Xl1BrowserSystemActor,
120
146
  } from '@xyo-network/xl1-browser-system'
121
147
 
122
148
  import { xl1ConfigFor } from './xl1Config.ts'
123
149
 
124
- const session = await launchXl1BrowserSystem({
150
+ const compiled = compileXl1BrowserSystem({
125
151
  config: xl1ConfigFor('page'),
152
+ })
153
+ const session = await launchCompiledXl1BrowserSystem({
154
+ compiled,
126
155
  host: 'page',
127
156
  })
128
157
  bindPageLifecycle(session, {
@@ -145,12 +174,18 @@ The worker launches the same system and binds explicit shutdown handling:
145
174
  /// <reference lib="webworker" />
146
175
 
147
176
  import { bindWorkerShutdown } from '@ariestools/browser-kit-worker'
148
- import { launchXl1BrowserSystem } from '@xyo-network/xl1-browser-system'
177
+ import {
178
+ compileXl1BrowserSystem,
179
+ launchCompiledXl1BrowserSystem,
180
+ } from '@xyo-network/xl1-browser-system'
149
181
 
150
182
  import { xl1ConfigFor } from './xl1Config.ts'
151
183
 
152
- const session = await launchXl1BrowserSystem({
184
+ const compiled = compileXl1BrowserSystem({
153
185
  config: xl1ConfigFor('worker'),
186
+ })
187
+ const session = await launchCompiledXl1BrowserSystem({
188
+ compiled,
154
189
  host: 'worker',
155
190
  })
156
191
  bindWorkerShutdown(self, session, {
@@ -181,15 +216,19 @@ incarnation. Attach every operation to the triggering event lifetime:
181
216
 
182
217
  import { ServiceWorkerSystemHost } from '@ariestools/browser-kit-service-worker'
183
218
  import {
184
- launchXl1BrowserSystem,
219
+ compileXl1BrowserSystem,
220
+ launchCompiledXl1BrowserSystem,
185
221
  Xl1BrowserSystemActor,
186
222
  } from '@xyo-network/xl1-browser-system'
187
223
 
188
224
  import { xl1ConfigFor } from './xl1Config.ts'
189
225
 
226
+ const compiled = compileXl1BrowserSystem({
227
+ config: xl1ConfigFor('service-worker'),
228
+ })
190
229
  const systemHost = new ServiceWorkerSystemHost(async () =>
191
- await launchXl1BrowserSystem({
192
- config: xl1ConfigFor('service-worker'),
230
+ await launchCompiledXl1BrowserSystem({
231
+ compiled,
193
232
  host: 'service-worker',
194
233
  identity: {
195
234
  planId: 'my-xl1-service-worker:v1',
@@ -241,11 +280,15 @@ import { bindExtensionRuntimeBrowserSystemHost } from '@ariestools/browser-kit-p
241
280
  import { ServiceWorkerSystemHost } from '@ariestools/browser-kit-service-worker'
242
281
  import type { XyoGateway } from '@xyo-network/xl1-sdk'
243
282
  import { XyoGatewayMoniker } from '@xyo-network/xl1-sdk'
244
- import { launchXl1BrowserSystem } from '@xyo-network/xl1-browser-system'
283
+ import {
284
+ compileXl1BrowserSystem,
285
+ launchCompiledXl1BrowserSystem,
286
+ } from '@xyo-network/xl1-browser-system'
245
287
 
288
+ const compiled = compileXl1BrowserSystem({ config })
246
289
  const systemHost = new ServiceWorkerSystemHost(async () =>
247
- await launchXl1BrowserSystem({
248
- config,
290
+ await launchCompiledXl1BrowserSystem({
291
+ compiled,
249
292
  host: 'extension-background',
250
293
  identity: {
251
294
  planId: 'my-extension-xl1:v1',
@@ -1 +1 @@
1
- {"version":3,"file":"Xl1BrowserProvider.d.ts","sourceRoot":"","sources":["../../src/Xl1BrowserProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAGvE,OAAO,KAAK,EAEV,wBAAwB,EACxB,wBAAwB,EAGxB,kBAAkB,IAAI,qBAAqB,EAC3C,8BAA8B,EAC/B,MAAM,sBAAsB,CAAA;AAW7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAEnE,kFAAkF;AAClF,eAAO,MAAM,mCAAmC,8BAA8B,CAAA;AAC9E,kFAAkF;AAClF,eAAO,MAAM,0BAA0B,qBAAqB,CAAA;AAC5D,iFAAiF;AACjF,eAAO,MAAM,gCAAgC,2BAA2B,CAAA;AAExE,sFAAsF;AACtF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAA;CAC3C;AAED,0FAA0F;AAC1F,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAA;CACpC;AAED,qFAAqF;AACrF,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,wBAAwB,EACxB,QAAQ,GAAG,SAAS,CACrB,CAAA;AAED,8DAA8D;AAC9D,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,gCAAgC,CAAA;IACnD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,8BAA8B,EAAE,CAAA;CAC3E;AAED,gFAAgF;AAChF,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,qBAAqB,GAChC,6BAA6B,CAQ/B;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,IAAI,qBAAqB,EAAE,CAOtE;AAED;;;;;;GAMG;AACH,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,wBAAwB,EACjC,EAAE,GAAE,MAA6B,GAChC,8BAA8B,CAShC;AAED,+DAA+D;AAC/D,wBAAgB,8BAA8B,CAC5C,UAAU,GAAE,SAAS,qBAAqB,EAAmC,GAC5E,6BAA6B,EAAE,CAEjC;AAED,sFAAsF;AACtF,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,wCAAwC,GAChD,wBAAwB,CAAC,8BAA8B,CAAC,CAqE1D"}
1
+ {"version":3,"file":"Xl1BrowserProvider.d.ts","sourceRoot":"","sources":["../../src/Xl1BrowserProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAGvE,OAAO,KAAK,EAEV,wBAAwB,EACxB,wBAAwB,EAExB,kBAAkB,IAAI,qBAAqB,EAC3C,8BAA8B,EAC/B,MAAM,sBAAsB,CAAA;AAY7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAEnE,kFAAkF;AAClF,eAAO,MAAM,mCAAmC,8BAA8B,CAAA;AAC9E,kFAAkF;AAClF,eAAO,MAAM,0BAA0B,qBAAqB,CAAA;AAC5D,iFAAiF;AACjF,eAAO,MAAM,gCAAgC,2BAA2B,CAAA;AAExE,sFAAsF;AACtF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAA;CAC3C;AAED,0FAA0F;AAC1F,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAA;CACpC;AAED,qFAAqF;AACrF,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,wBAAwB,EACxB,QAAQ,GAAG,SAAS,CACrB,CAAA;AAED,8DAA8D;AAC9D,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,gCAAgC,CAAA;IACnD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,8BAA8B,EAAE,CAAA;CAC3E;AAED,gFAAgF;AAChF,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,qBAAqB,GAChC,6BAA6B,CAQ/B;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,IAAI,qBAAqB,EAAE,CAOtE;AAED;;;;;;GAMG;AACH,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,wBAAwB,EACjC,EAAE,GAAE,MAA6B,GAChC,8BAA8B,CAShC;AAED,+DAA+D;AAC/D,wBAAgB,8BAA8B,CAC5C,UAAU,GAAE,SAAS,qBAAqB,EAAmC,GAC5E,6BAA6B,EAAE,CAEjC;AAED,sFAAsF;AACtF,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,wCAAwC,GAChD,wBAAwB,CAAC,8BAA8B,CAAC,CAqE1D"}
@@ -0,0 +1,26 @@
1
+ import type { BrowserActor, BrowserActorCatalog, CompiledBrowserSystem } from '@ariestools/browser-kit';
2
+ import type { ProviderDescriptor as Xl1ProviderDescriptor, ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk';
3
+ import type { Xl1BrowserSystemConfig } from './Xl1BrowserConfig.ts';
4
+ import { type Xl1BrowserProviderDeclaration, type Xl1BrowserProviderRegistration } from './Xl1BrowserProvider.ts';
5
+ /** Inputs that deterministically compile one XL1 browser system. */
6
+ export interface CompileXl1BrowserSystemOptions<TActor extends BrowserActor = BrowserActor> {
7
+ readonly actorCatalog?: BrowserActorCatalog<TActor, ProviderFactoryLocatorInstance>;
8
+ readonly config: unknown;
9
+ readonly providerCandidates?: readonly Xl1ProviderDescriptor[];
10
+ readonly providerRegistrations?: readonly Xl1BrowserProviderRegistration[];
11
+ }
12
+ /**
13
+ * One owner-local XL1 browser plan before providers or actors are created.
14
+ *
15
+ * The catalog and provider registrations retain executable factories and must
16
+ * not cross a structured-clone boundary.
17
+ */
18
+ export interface CompiledXl1BrowserSystem<TActor extends BrowserActor = BrowserActor> {
19
+ readonly actorCatalog: BrowserActorCatalog<TActor, ProviderFactoryLocatorInstance>;
20
+ readonly browserSystem: CompiledBrowserSystem<Xl1BrowserProviderDeclaration>;
21
+ readonly config: Xl1BrowserSystemConfig;
22
+ readonly providerRegistrations: readonly Xl1BrowserProviderRegistration[];
23
+ }
24
+ /** Parses and resolves one XL1 browser system without acquiring runtime resources. */
25
+ export declare function compileXl1BrowserSystem<TActor extends BrowserActor = BrowserActor>(options: CompileXl1BrowserSystemOptions<TActor>): CompiledXl1BrowserSystem<TActor>;
26
+ //# sourceMappingURL=compileXl1BrowserSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compileXl1BrowserSystem.d.ts","sourceRoot":"","sources":["../../src/compileXl1BrowserSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,8BAA8B,EAC/B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAKnE,OAAO,EAEL,KAAK,6BAA6B,EAElC,KAAK,8BAA8B,EACpC,MAAM,yBAAyB,CAAA;AAGhC,oEAAoE;AACpE,MAAM,WAAW,8BAA8B,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY;IACxF,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAA;IACnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAA;IAC9D,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,8BAA8B,EAAE,CAAA;CAC3E;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY;IAClF,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAA;IAClF,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC,6BAA6B,CAAC,CAAA;IAC5E,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC,QAAQ,CAAC,qBAAqB,EAAE,SAAS,8BAA8B,EAAE,CAAA;CAC1E;AAED,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY,EAChF,OAAO,EAAE,8BAA8B,CAAC,MAAM,CAAC,GAC9C,wBAAwB,CAAC,MAAM,CAAC,CA2BlC"}
@@ -1,3 +1,5 @@
1
+ export * from './compileXl1BrowserSystem.ts';
2
+ export * from './launchCompiledXl1BrowserSystem.ts';
1
3
  export * from './launchXl1BrowserGatewaySystem.ts';
2
4
  export * from './launchXl1BrowserSystem.ts';
3
5
  export * from './Xl1BrowserConfig.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qCAAqC,CAAA;AACnD,cAAc,oCAAoC,CAAA;AAClD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA"}
@@ -1,12 +1,5 @@
1
- // src/launchXl1BrowserGatewaySystem.ts
2
- import {
3
- DefaultAccountKey,
4
- SimpleConnectionHandleCache,
5
- XyoSignerMoniker as XyoSignerMoniker2
6
- } from "@xyo-network/xl1-sdk";
7
-
8
- // src/launchXl1BrowserSystem.ts
9
- import { launchBrowserSystem } from "@ariestools/browser-kit";
1
+ // src/compileXl1BrowserSystem.ts
2
+ import { compileBrowserSystem } from "@ariestools/browser-kit";
10
3
 
11
4
  // src/Xl1BrowserConfig.ts
12
5
  import { parseBrowserSystemConfig } from "@ariestools/browser-kit";
@@ -33,7 +26,6 @@ import {
33
26
  } from "@xyo-network/xl1-sdk";
34
27
 
35
28
  // src/Xl1BrowserProvider.ts
36
- import { stopOrShutdown } from "@ariestools/actor";
37
29
  import { createResolvedBrowserProviderPlan } from "@ariestools/browser-kit";
38
30
  import { createResolvedProviderSystem } from "@ariestools/provider-model";
39
31
  import {
@@ -41,6 +33,7 @@ import {
41
33
  compileLocatorConfig,
42
34
  providerCandidateFromClass,
43
35
  ProviderFactoryLocator,
36
+ releaseProviderFactoryLocator,
44
37
  SimpleXyoConnectionViewer,
45
38
  SimpleXyoGateway,
46
39
  SimpleXyoSigner
@@ -114,7 +107,7 @@ function createXl1BrowserSystemProvisioner(options) {
114
107
  await locator.getInstance(moniker);
115
108
  }
116
109
  } catch (startError) {
117
- const releaseError = await releaseXl1Providers(locator).catch((error) => error);
110
+ const releaseError = await releaseProviderFactoryLocator(locator).catch((error) => error);
118
111
  if (releaseError !== void 0) {
119
112
  throw new AggregateError(
120
113
  [startError, releaseError],
@@ -138,7 +131,7 @@ function createXl1BrowserSystemProvisioner(options) {
138
131
  let releasePromise;
139
132
  return {
140
133
  release: () => {
141
- releasePromise ??= releaseXl1Providers(locator);
134
+ releasePromise ??= releaseProviderFactoryLocator(locator);
142
135
  return releasePromise;
143
136
  },
144
137
  system
@@ -160,30 +153,6 @@ function mergeResolvedProviderBindings(authored, resolved) {
160
153
  }
161
154
  ]));
162
155
  }
163
- async function releaseXl1Providers(locator) {
164
- const instances = await instantiatedProviders(locator);
165
- for (const instance of instances) instance.requestCancel?.();
166
- const errors = [];
167
- for (const instance of instances.toReversed()) {
168
- try {
169
- await stopOrShutdown(instance);
170
- } catch (error) {
171
- errors.push(error);
172
- }
173
- }
174
- if (errors.length > 0) {
175
- throw new AggregateError(errors, `${errors.length} XL1 browser provider(s) failed to stop`);
176
- }
177
- }
178
- async function instantiatedProviders(locator) {
179
- const instances = await Promise.all(
180
- Object.values(locator.context.singletons).map(async (value) => await value)
181
- );
182
- return [...new Set(instances)].filter(isCreatableProviderInstance);
183
- }
184
- function isCreatableProviderInstance(value) {
185
- return typeof value === "object" && value !== null && "stop" in value && typeof value.stop === "function";
186
- }
187
156
 
188
157
  // src/Xl1BrowserSystemActor.ts
189
158
  import { ProviderActor } from "@ariestools/actor";
@@ -455,37 +424,72 @@ function isRecord(value) {
455
424
  return typeof value === "object" && value !== null && !Array.isArray(value);
456
425
  }
457
426
 
458
- // src/launchXl1BrowserSystem.ts
459
- async function launchXl1BrowserSystem(options) {
427
+ // src/compileXl1BrowserSystem.ts
428
+ function compileXl1BrowserSystem(options) {
460
429
  const config = parseXl1BrowserSystemConfig(options.config);
461
430
  const actorCatalog = options.actorCatalog ?? createXl1BrowserActorCatalog();
431
+ const providerRegistrations = Object.freeze([...options.providerRegistrations ?? []]);
462
432
  const providerCandidates = mergedProviderCandidates(
463
433
  options.providerCandidates ?? xl1BrowserProviderCandidates(),
464
- options.providerRegistrations
434
+ providerRegistrations
465
435
  );
466
- const providerDescriptors = xl1BrowserProviderDeclarations(providerCandidates);
467
- return await launchBrowserSystem({
436
+ const browserSystem = compileBrowserSystem({
468
437
  actorCatalog,
469
438
  config: toBrowserSystemConfig(config),
470
- host: options.host,
471
- identity: options.identity,
472
- providerDescriptors,
473
- provision: createXl1BrowserSystemProvisioner({
474
- config,
475
- context: options.context,
476
- providerRegistrations: options.providerRegistrations
477
- }),
478
- readyTimeoutMs: options.readyTimeoutMs
439
+ providerDescriptors: xl1BrowserProviderDeclarations(providerCandidates)
440
+ });
441
+ return Object.freeze({
442
+ actorCatalog,
443
+ browserSystem,
444
+ config,
445
+ providerRegistrations
479
446
  });
480
447
  }
481
448
  function mergedProviderCandidates(candidates, registrations) {
482
449
  const result = new Map(candidates.map((candidate) => [candidate.id, candidate]));
483
- for (const registration of registrations ?? []) {
450
+ for (const registration of registrations) {
484
451
  result.set(registration.descriptor.id, registration.descriptor);
485
452
  }
486
453
  return [...result.values()];
487
454
  }
488
455
 
456
+ // src/launchCompiledXl1BrowserSystem.ts
457
+ import { launchCompiledBrowserSystem } from "@ariestools/browser-kit";
458
+ async function launchCompiledXl1BrowserSystem(options) {
459
+ return await launchCompiledBrowserSystem({
460
+ actorCatalog: options.compiled.actorCatalog,
461
+ compiled: options.compiled.browserSystem,
462
+ ...options.host !== void 0 && { host: options.host },
463
+ ...options.identity !== void 0 && { identity: options.identity },
464
+ provision: createXl1BrowserSystemProvisioner({
465
+ config: options.compiled.config,
466
+ ...options.context !== void 0 && { context: options.context },
467
+ providerRegistrations: options.compiled.providerRegistrations
468
+ }),
469
+ ...options.readyTimeoutMs !== void 0 && { readyTimeoutMs: options.readyTimeoutMs }
470
+ });
471
+ }
472
+
473
+ // src/launchXl1BrowserGatewaySystem.ts
474
+ import {
475
+ DefaultAccountKey,
476
+ SimpleConnectionHandleCache,
477
+ XyoSignerMoniker as XyoSignerMoniker2
478
+ } from "@xyo-network/xl1-sdk";
479
+
480
+ // src/launchXl1BrowserSystem.ts
481
+ async function launchXl1BrowserSystem(options) {
482
+ const compiled = compileXl1BrowserSystem(options);
483
+ const runtimeOptions = {
484
+ compiled,
485
+ ...options.context !== void 0 && { context: options.context },
486
+ ...options.host !== void 0 && { host: options.host },
487
+ ...options.identity !== void 0 && { identity: options.identity },
488
+ ...options.readyTimeoutMs !== void 0 && { readyTimeoutMs: options.readyTimeoutMs }
489
+ };
490
+ return await launchCompiledXl1BrowserSystem(runtimeOptions);
491
+ }
492
+
489
493
  // src/launchXl1BrowserGatewaySystem.ts
490
494
  async function launchXl1BrowserGatewaySystem(options) {
491
495
  const signing = browserSignerRuntime(options);
@@ -523,7 +527,9 @@ async function launchXl1BrowserGatewaySystem(options) {
523
527
  gateway,
524
528
  identity: session.identity,
525
529
  stop: async () => await session.stop(),
526
- system: session.system
530
+ system: session.system,
531
+ whenFailed: () => session.whenFailed(),
532
+ whenTerminal: () => session.whenTerminal()
527
533
  };
528
534
  } catch (launchError) {
529
535
  const [stopResult] = await Promise.allSettled([session.stop()]);
@@ -591,10 +597,12 @@ export {
591
597
  Xl1BrowserSystemActorType,
592
598
  Xl1BrowserSystemWithDataLakeActorDependencies,
593
599
  Xl1BrowserSystemWithDataLakeActorType,
600
+ compileXl1BrowserSystem,
594
601
  createXl1BrowserActorCatalog,
595
602
  createXl1BrowserSystemProvisioner,
596
603
  createXl1RestBrowserSystemConfig,
597
604
  createXl1RpcBrowserSystemConfig,
605
+ launchCompiledXl1BrowserSystem,
598
606
  launchXl1BrowserGatewaySystem,
599
607
  launchXl1BrowserSystem,
600
608
  parseXl1BrowserSystemConfig,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/launchXl1BrowserGatewaySystem.ts", "../../src/launchXl1BrowserSystem.ts", "../../src/Xl1BrowserConfig.ts", "../../src/Xl1BrowserProvider.ts", "../../src/Xl1BrowserSystemActor.ts"],
4
- "sourcesContent": ["import type {\n BrowserSystemIdentity,\n BrowserSystemSession,\n} from '@ariestools/browser-kit'\nimport type {\n CreatableProviderFactory,\n PrimeCachesMode,\n ProviderDescriptor as Xl1ProviderDescriptor,\n ProviderFactoryLocatorInstance,\n RpcTransport,\n XyoGateway,\n XyoGatewayRunner,\n XyoSignerRpcSchemas,\n} from '@xyo-network/xl1-sdk'\nimport {\n DefaultAccountKey,\n SimpleConnectionHandleCache,\n XyoSignerMoniker,\n} from '@xyo-network/xl1-sdk'\n\nimport { launchXl1BrowserSystem } from './launchXl1BrowserSystem.ts'\nimport type {\n Xl1BrowserSignerConfig,\n Xl1RestEndpointLayout,\n} from './Xl1BrowserConfig.ts'\nimport {\n createXl1RestBrowserSystemConfig,\n createXl1RpcBrowserSystemConfig,\n} from './Xl1BrowserConfig.ts'\nimport type {\n Xl1BrowserProviderRegistration,\n Xl1BrowserProviderRuntimeContext,\n} from './Xl1BrowserProvider.ts'\nimport { xl1BrowserProviderRegistrationFromFactory } from './Xl1BrowserProvider.ts'\nimport { Xl1BrowserSystemActor } from './Xl1BrowserSystemActor.ts'\n\n/** How a browser gateway reads XL1 chain data. */\nexport type Xl1BrowserGatewayTransport = 'rest' | 'rpc'\n\n/** Account instance accepted by the browser provider runtime home. */\nexport type Xl1BrowserSignerAccount = NonNullable<\n Xl1BrowserProviderRuntimeContext['accounts']\n>[string]\n\n/** Inputs for launching one standard browser-owned XL1 gateway system. */\nexport interface LaunchXl1BrowserGatewaySystemOptions {\n readonly context?: Xl1BrowserProviderRuntimeContext\n readonly dataLakeEndpoint?: string\n /** REST root for REST mode, or the complete RPC URL for RPC mode. */\n readonly endpoint: string\n readonly host?: string\n readonly identity?: BrowserSystemIdentity\n readonly layout?: Xl1RestEndpointLayout\n readonly primeCaches?: PrimeCachesMode\n readonly providerCandidates?: readonly Xl1ProviderDescriptor[]\n readonly readyTimeoutMs?: number\n /** Required for a signed REST system; ignored for RPC systems. */\n readonly rpcUrl?: string\n readonly signerAccount?: Xl1BrowserSignerAccount\n readonly signerFactory?: CreatableProviderFactory\n /** Stable config identifier for signerFactory; defaults to its providerName. */\n readonly signerProviderId?: string\n readonly signerTransport?: RpcTransport<XyoSignerRpcSchemas>\n readonly transport: Xl1BrowserGatewayTransport\n}\n\n/** Running stock XL1 browser system with its actor and gateway exposed. */\nexport interface Xl1BrowserGatewaySystemSession\n extends BrowserSystemSession<Xl1BrowserSystemActor, ProviderFactoryLocatorInstance> {\n readonly actor: Xl1BrowserSystemActor\n readonly gateway: XyoGateway | XyoGatewayRunner\n}\n\n/**\n * Launches a read-only or signed REST/RPC gateway through one browser-kit\n * provider system. Signing precedence is factory, account, then RPC transport.\n */\nexport async function launchXl1BrowserGatewaySystem(\n options: LaunchXl1BrowserGatewaySystemOptions,\n): Promise<Xl1BrowserGatewaySystemSession> {\n const signing = browserSignerRuntime(options)\n const config = options.transport === 'rest'\n ? createXl1RestBrowserSystemConfig({\n dataLakeEndpoint: options.dataLakeEndpoint,\n endpoint: options.endpoint,\n host: options.host,\n layout: options.layout,\n primeCaches: options.primeCaches,\n rpcUrl: options.rpcUrl,\n signer: signing.config,\n })\n : createXl1RpcBrowserSystemConfig({\n dataLakeEndpoint: options.dataLakeEndpoint,\n endpoint: options.endpoint,\n host: options.host,\n primeCaches: options.primeCaches,\n signer: signing.config,\n })\n const session = await launchXl1BrowserSystem<Xl1BrowserSystemActor>({\n config,\n context: signing.context,\n host: options.host,\n identity: options.identity,\n providerCandidates: options.providerCandidates,\n providerRegistrations: signing.registrations,\n readyTimeoutMs: options.readyTimeoutMs,\n })\n\n try {\n const actor = session.actors.find(candidate => candidate instanceof Xl1BrowserSystemActor)\n if (actor === undefined) throw new Error('XL1 browser system actor was not created')\n const gateway = await actor.getGateway()\n return {\n actor,\n actors: session.actors,\n gateway,\n identity: session.identity,\n stop: async () => await session.stop(),\n system: session.system,\n }\n } catch (launchError) {\n const [stopResult] = await Promise.allSettled([session.stop()])\n if (stopResult.status === 'rejected') {\n throw new AggregateError(\n [launchError, stopResult.reason],\n 'XL1 browser system failed to expose a gateway and stop cleanly',\n { cause: launchError },\n )\n }\n throw launchError\n }\n}\n\ninterface BrowserSignerRuntime {\n readonly config?: Xl1BrowserSignerConfig\n readonly context?: Xl1BrowserProviderRuntimeContext\n readonly registrations?: readonly Xl1BrowserProviderRegistration[]\n}\n\nfunction browserSignerRuntime(\n options: LaunchXl1BrowserGatewaySystemOptions,\n): BrowserSignerRuntime {\n if (options.signerFactory !== undefined) {\n const registration = xl1BrowserProviderRegistrationFromFactory(\n options.signerFactory,\n options.signerProviderId,\n )\n return {\n config: { provider: registration.descriptor.id, type: 'provider' },\n context: options.context,\n registrations: [registration],\n }\n }\n if (options.signerAccount !== undefined) {\n return {\n config: { type: 'account' },\n context: {\n caches: {},\n singletons: {},\n ...options.context,\n accounts: {\n ...options.context?.accounts,\n [DefaultAccountKey]: options.signerAccount,\n },\n },\n }\n }\n if (options.signerTransport !== undefined) {\n const connectionHandles = options.context?.connectionHandles\n ?? new SimpleConnectionHandleCache()\n connectionHandles.set(`rpc-transport:${XyoSignerMoniker}`, options.signerTransport)\n return {\n config: { type: 'rpc' },\n context: {\n caches: {},\n singletons: {},\n ...options.context,\n connectionHandles,\n },\n }\n }\n return { context: options.context }\n}\n", "import type {\n BrowserActor,\n BrowserActorCatalog,\n BrowserProviderDescriptor,\n BrowserSystemIdentity,\n BrowserSystemSession,\n} from '@ariestools/browser-kit'\nimport { launchBrowserSystem } from '@ariestools/browser-kit'\nimport type {\n ProviderDescriptor as Xl1ProviderDescriptor,\n ProviderFactoryLocatorInstance,\n} from '@xyo-network/xl1-sdk'\n\nimport {\n parseXl1BrowserSystemConfig,\n toBrowserSystemConfig,\n} from './Xl1BrowserConfig.ts'\nimport {\n createXl1BrowserSystemProvisioner,\n xl1BrowserProviderCandidates,\n xl1BrowserProviderDeclarations,\n type Xl1BrowserProviderRegistration,\n type Xl1BrowserProviderRuntimeContext,\n} from './Xl1BrowserProvider.ts'\nimport { createXl1BrowserActorCatalog } from './Xl1BrowserSystemActor.ts'\n\n/** Inputs for launching one owner-resolved XL1 browser provider system. */\nexport interface LaunchXl1BrowserSystemOptions<TActor extends BrowserActor = BrowserActor> {\n readonly actorCatalog?: BrowserActorCatalog<TActor, ProviderFactoryLocatorInstance>\n readonly config: unknown\n readonly context?: Xl1BrowserProviderRuntimeContext\n readonly host?: string\n readonly identity?: BrowserSystemIdentity\n readonly providerCandidates?: readonly Xl1ProviderDescriptor[]\n readonly providerRegistrations?: readonly Xl1BrowserProviderRegistration[]\n readonly readyTimeoutMs?: number\n}\n\n/** Parses, resolves, provisions, and starts one XL1 system from browser-safe config. */\nexport async function launchXl1BrowserSystem<TActor extends BrowserActor = BrowserActor>(\n options: LaunchXl1BrowserSystemOptions<TActor>,\n): Promise<BrowserSystemSession<TActor, ProviderFactoryLocatorInstance>> {\n const config = parseXl1BrowserSystemConfig(options.config)\n const actorCatalog = options.actorCatalog\n ?? createXl1BrowserActorCatalog() as BrowserActorCatalog<TActor, ProviderFactoryLocatorInstance>\n const providerCandidates = mergedProviderCandidates(\n options.providerCandidates ?? xl1BrowserProviderCandidates(),\n options.providerRegistrations,\n )\n const providerDescriptors = xl1BrowserProviderDeclarations(providerCandidates)\n return await launchBrowserSystem({\n actorCatalog,\n config: toBrowserSystemConfig(config),\n host: options.host,\n identity: options.identity,\n providerDescriptors: providerDescriptors as unknown as BrowserProviderDescriptor[],\n provision: createXl1BrowserSystemProvisioner({\n config,\n context: options.context,\n providerRegistrations: options.providerRegistrations,\n }),\n readyTimeoutMs: options.readyTimeoutMs,\n })\n}\n\nfunction mergedProviderCandidates(\n candidates: readonly Xl1ProviderDescriptor[],\n registrations: readonly Xl1BrowserProviderRegistration[] | undefined,\n): Xl1ProviderDescriptor[] {\n const result = new Map(candidates.map(candidate => [candidate.id, candidate]))\n for (const registration of registrations ?? []) {\n result.set(registration.descriptor.id, registration.descriptor)\n }\n return [...result.values()]\n}\n", "import type {\n BrowserActorSelection,\n BrowserSystemConfig,\n} from '@ariestools/browser-kit'\nimport { parseBrowserSystemConfig } from '@ariestools/browser-kit'\nimport type {\n ConnectionsConfig,\n LocatorConfig,\n PrimeCachesMode,\n ProviderBindingsConfig,\n RestGatewayConfig,\n} from '@xyo-network/xl1-sdk'\nimport {\n BlockViewerMoniker,\n ChainContractViewerMoniker,\n ChainStateViewerMoniker,\n DataLakeRunnerMoniker,\n DataLakeViewerMoniker,\n FinalizationViewerMoniker,\n IndexViewerMoniker,\n MempoolRunnerMoniker,\n NetworkStakeStepRewardsByPositionViewerMoniker,\n parseLocatorConfigFields,\n restConnectionFromS3Bucket,\n restGatewayConfigFromEndpoint,\n SIGNER_RPC_CONNECTION,\n synthesizeRpcConnectionBindings,\n XyoConnectionMoniker,\n XyoGatewayMoniker,\n XyoGatewayRunnerMoniker,\n XyoRunnerMoniker,\n XyoSignerMoniker,\n} from '@xyo-network/xl1-sdk'\n\nimport {\n BrowserSimpleXyoSignerProviderId,\n SimpleXyoConnectionViewerProviderId,\n SimpleXyoGatewayProviderId,\n} from './Xl1BrowserProvider.ts'\nimport {\n Xl1BrowserRunnerSystemActorType,\n Xl1BrowserRunnerSystemWithDataLakeActorType,\n Xl1BrowserSystemActorType,\n Xl1BrowserSystemWithDataLakeActorType,\n} from './Xl1BrowserSystemActor.ts'\n\n/** Authored XL1 locator fields plus browser actor selections. */\nexport interface Xl1BrowserSystemConfig extends LocatorConfig {\n readonly actors: readonly BrowserActorSelection[]\n}\n\n/** Options for a standard REST-backed XL1 browser system. */\nexport interface CreateXl1RestBrowserSystemConfigOptions {\n readonly actors?: readonly BrowserActorSelection[]\n readonly dataLakeEndpoint?: string\n readonly endpoint: string\n readonly host?: string\n readonly layout?: Xl1RestEndpointLayout\n readonly primeCaches?: PrimeCachesMode\n readonly rpcUrl?: string\n readonly signer?: Xl1BrowserSignerConfig\n}\n\n/** Options for a standard RPC-backed XL1 browser system. */\nexport interface CreateXl1RpcBrowserSystemConfigOptions {\n readonly actors?: readonly BrowserActorSelection[]\n readonly dataLakeEndpoint?: string\n readonly endpoint: string\n readonly host?: string\n readonly primeCaches?: PrimeCachesMode\n readonly signer?: Xl1BrowserSignerConfig\n}\n\n/** Selects the built-in account signer supplied through the runtime context. */\nexport interface Xl1BrowserAccountSignerConfig {\n readonly type: 'account'\n}\n\n/** Selects a connectionless signer factory supplied by the owner realm. */\nexport interface Xl1BrowserProviderSignerConfig {\n readonly provider: string\n readonly type: 'provider'\n}\n\n/** Selects a JsonRpc signer whose transport is supplied through runtime handles. */\nexport interface Xl1BrowserRpcSignerConfig {\n readonly type: 'rpc'\n}\n\n/** Serializable signer selection for a write-capable browser system. */\nexport type Xl1BrowserSignerConfig\n = | Xl1BrowserAccountSignerConfig\n | Xl1BrowserProviderSignerConfig\n | Xl1BrowserRpcSignerConfig\n\n/** How the REST gateway's finalized, chain-state, and index URLs are derived from its endpoint. */\nexport type Xl1RestEndpointLayout = 'path' | 'subdomain'\n\n/** Parses XL1 locator fields and browser actor selections without importing code from config. */\nexport function parseXl1BrowserSystemConfig(input: unknown): Xl1BrowserSystemConfig {\n const locatorConfig = parseLocatorConfigFields(input)\n const browserConfig = parseBrowserSystemConfig({\n actors: isRecord(input) ? input['actors'] : undefined,\n connections: locatorConfig.connections,\n providerBindings: toBrowserProviderBindings(locatorConfig.providerBindings),\n })\n return Object.freeze({\n ...locatorConfig,\n actors: Object.freeze([...(browserConfig.actors ?? [])]),\n })\n}\n\n/** Projects the XL1 config onto the neutral fields browser-kit compiles. */\nexport function toBrowserSystemConfig(\n config: Xl1BrowserSystemConfig,\n): BrowserSystemConfig {\n return {\n actors: config.actors,\n connections: config.connections,\n providerBindings: toBrowserProviderBindings(config.providerBindings),\n }\n}\n\n/** Creates explicit REST connections and provider bindings for one XL1 browser gateway actor. */\nexport function createXl1RestBrowserSystemConfig(\n options: CreateXl1RestBrowserSystemConfigOptions,\n): Xl1BrowserSystemConfig {\n const buckets = options.layout === 'path'\n ? restGatewayConfigFromPathEndpoint(options.endpoint)\n : restGatewayConfigFromEndpoint(options.endpoint)\n const finalized = buckets.finalized\n if (finalized === undefined) throw new Error('XL1 REST gateway has no finalized bucket')\n\n const connections: ConnectionsConfig = {\n 'rest-chain-state': restConnectionFromS3Bucket(buckets.chainState ?? finalized),\n 'rest-finalized': restConnectionFromS3Bucket(finalized),\n 'rest-index': restConnectionFromS3Bucket(buckets.index ?? finalized),\n }\n const providerBindings: ProviderBindingsConfig = {\n [BlockViewerMoniker]: { connection: 'rest-finalized' },\n [ChainContractViewerMoniker]: { connection: 'rest-chain-state' },\n [ChainStateViewerMoniker]: { connection: 'rest-chain-state' },\n [FinalizationViewerMoniker]: { connection: 'rest-finalized' },\n [IndexViewerMoniker]: { connection: 'rest-index' },\n [XyoConnectionMoniker]: { provider: SimpleXyoConnectionViewerProviderId },\n [XyoGatewayMoniker]: { provider: SimpleXyoGatewayProviderId },\n }\n if (options.dataLakeEndpoint !== undefined) {\n connections['rest-data-lake'] = {\n baseUrl: options.dataLakeEndpoint,\n type: 'rest',\n }\n providerBindings[DataLakeViewerMoniker] = { connection: 'rest-data-lake' }\n }\n if (options.signer !== undefined) {\n if (options.rpcUrl === undefined) {\n throw new Error('XL1 REST runner browser system requires rpcUrl')\n }\n addRunnerBindings(\n connections,\n providerBindings,\n options.rpcUrl,\n options.signer,\n options.dataLakeEndpoint !== undefined,\n )\n }\n if (options.primeCaches !== undefined) {\n providerBindings[NetworkStakeStepRewardsByPositionViewerMoniker] = { primeCaches: options.primeCaches }\n }\n\n return parseXl1BrowserSystemConfig({\n actors: options.actors ?? [{\n host: options.host,\n type: xl1BrowserSystemActorType(\n options.signer !== undefined,\n options.dataLakeEndpoint !== undefined,\n ),\n }],\n connections,\n providerBindings,\n })\n}\n\n/** Creates explicit RPC connections and provider bindings for one XL1 browser gateway actor. */\nexport function createXl1RpcBrowserSystemConfig(\n options: CreateXl1RpcBrowserSystemConfigOptions,\n): Xl1BrowserSystemConfig {\n const connections: ConnectionsConfig = {\n 'default-rpc': {\n protocol: 'http',\n type: 'rpc',\n url: options.endpoint,\n },\n }\n const providerBindings: ProviderBindingsConfig = {\n ...synthesizeRpcConnectionBindings(),\n [XyoConnectionMoniker]: { provider: SimpleXyoConnectionViewerProviderId },\n [XyoGatewayMoniker]: { provider: SimpleXyoGatewayProviderId },\n }\n if (options.dataLakeEndpoint !== undefined) {\n connections['rest-data-lake'] = {\n baseUrl: options.dataLakeEndpoint,\n type: 'rest',\n }\n providerBindings[DataLakeViewerMoniker] = { connection: 'rest-data-lake' }\n }\n if (options.signer !== undefined) {\n addRunnerBindings(\n connections,\n providerBindings,\n options.endpoint,\n options.signer,\n options.dataLakeEndpoint !== undefined,\n )\n }\n if (options.primeCaches !== undefined) {\n providerBindings[NetworkStakeStepRewardsByPositionViewerMoniker] = { primeCaches: options.primeCaches }\n }\n\n return parseXl1BrowserSystemConfig({\n actors: options.actors ?? [{\n host: options.host,\n type: xl1BrowserSystemActorType(\n options.signer !== undefined,\n options.dataLakeEndpoint !== undefined,\n ),\n }],\n connections,\n providerBindings,\n })\n}\n\nfunction addRunnerBindings(\n connections: ConnectionsConfig,\n providerBindings: ProviderBindingsConfig,\n rpcUrl: string,\n signer: Xl1BrowserSignerConfig,\n hasDataLake: boolean,\n): void {\n connections['default-rpc'] = {\n protocol: 'http',\n type: 'rpc',\n url: rpcUrl,\n }\n providerBindings[MempoolRunnerMoniker] = {\n connection: 'default-rpc',\n provider: 'JsonRpcMempoolRunner',\n }\n providerBindings[XyoRunnerMoniker] = {\n connection: 'default-rpc',\n provider: 'JsonRpcXyoRunner',\n }\n providerBindings[XyoConnectionMoniker] = { provider: 'SimpleXyoConnectionRunner' }\n providerBindings[XyoGatewayMoniker] = { provider: 'SimpleXyoGatewayRunner' }\n providerBindings[XyoGatewayRunnerMoniker] = { provider: 'SimpleXyoGatewayRunner' }\n if (hasDataLake) {\n providerBindings[DataLakeRunnerMoniker] = {\n connection: 'rest-data-lake',\n provider: 'RestDataLakeRunner',\n }\n }\n\n switch (signer.type) {\n case 'account': {\n providerBindings[XyoSignerMoniker] = { provider: BrowserSimpleXyoSignerProviderId }\n break\n }\n case 'provider': {\n providerBindings[XyoSignerMoniker] = { provider: signer.provider }\n break\n }\n case 'rpc': {\n connections[SIGNER_RPC_CONNECTION] = { protocol: 'http', type: 'rpc' }\n providerBindings[XyoSignerMoniker] = {\n connection: SIGNER_RPC_CONNECTION,\n provider: 'JsonRpcXyoSigner',\n }\n break\n }\n }\n}\n\nfunction xl1BrowserSystemActorType(\n isRunner: boolean,\n hasDataLake: boolean,\n): typeof Xl1BrowserSystemActorType\n | typeof Xl1BrowserSystemWithDataLakeActorType\n | typeof Xl1BrowserRunnerSystemActorType\n | typeof Xl1BrowserRunnerSystemWithDataLakeActorType {\n if (isRunner) {\n return hasDataLake\n ? Xl1BrowserRunnerSystemWithDataLakeActorType\n : Xl1BrowserRunnerSystemActorType\n }\n return hasDataLake\n ? Xl1BrowserSystemWithDataLakeActorType\n : Xl1BrowserSystemActorType\n}\n\nfunction restGatewayConfigFromPathEndpoint(\n endpoint: string,\n): Required<Pick<RestGatewayConfig, 'chainState' | 'finalized' | 'index'>> {\n const baseUrl = endpoint.endsWith('/') ? endpoint.slice(0, -1) : endpoint\n return {\n chainState: { readUrl: `${baseUrl}/state` },\n finalized: { readUrl: `${baseUrl}/blocks` },\n index: { readUrl: `${baseUrl}/indexes` },\n }\n}\n\nfunction toBrowserProviderBindings(\n bindings: ProviderBindingsConfig,\n): NonNullable<BrowserSystemConfig['providerBindings']> {\n return Object.fromEntries(Object.entries(bindings).map(([moniker, binding]) => [\n moniker,\n binding === undefined\n ? {}\n : {\n connection: binding.connection,\n options: binding.options,\n provider: binding.provider,\n },\n ]))\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n}\n", "import { stopOrShutdown } from '@ariestools/actor'\nimport type { BrowserSystemProvisioner } from '@ariestools/browser-kit'\nimport { createResolvedBrowserProviderPlan } from '@ariestools/browser-kit'\nimport { createResolvedProviderSystem } from '@ariestools/provider-model'\nimport type {\n ConnectionsConfig,\n CreatableProviderContext,\n CreatableProviderFactory,\n CreatableProviderInstance,\n ProviderBindingsConfig,\n ProviderDescriptor as Xl1ProviderDescriptor,\n ProviderFactoryLocatorInstance,\n} from '@xyo-network/xl1-sdk'\nimport {\n allProviderCandidates,\n compileLocatorConfig,\n providerCandidateFromClass,\n ProviderFactoryLocator,\n SimpleXyoConnectionViewer,\n SimpleXyoGateway,\n SimpleXyoSigner,\n} from '@xyo-network/xl1-sdk'\n\nimport type { Xl1BrowserSystemConfig } from './Xl1BrowserConfig.ts'\n\n/** Stable browser-provider identifier retained across production minification. */\nexport const SimpleXyoConnectionViewerProviderId = 'SimpleXyoConnectionViewer'\n/** Stable browser-provider identifier retained across production minification. */\nexport const SimpleXyoGatewayProviderId = 'SimpleXyoGateway'\n/** Stable id for the account-backed signer adapted to a browser runtime home. */\nexport const BrowserSimpleXyoSignerProviderId = 'BrowserSimpleXyoSigner'\n\n/** Exact runtime factory paired with the descriptor used during config resolution. */\nexport interface Xl1BrowserProviderRegistration {\n readonly descriptor: Xl1ProviderDescriptor\n readonly factory: CreatableProviderFactory\n}\n\n/** Browser-kit plan metadata retaining the XL1 provider class used by the provisioner. */\nexport interface Xl1BrowserProviderDeclaration {\n readonly connectionTypes: readonly string[]\n readonly dependencies: readonly string[]\n readonly id: string\n readonly monikers: readonly string[]\n readonly xl1: Xl1ProviderDescriptor\n}\n\n/** Non-serializable XL1 runtime homes supplied by the realm that owns the system. */\nexport type Xl1BrowserProviderRuntimeContext = Omit<\n CreatableProviderContext,\n 'config' | 'locator'\n>\n\n/** Options captured by the XL1 browser-system provisioner. */\nexport interface CreateXl1BrowserSystemProvisionerOptions {\n readonly config: Xl1BrowserSystemConfig\n readonly context?: Xl1BrowserProviderRuntimeContext\n readonly providerRegistrations?: readonly Xl1BrowserProviderRegistration[]\n}\n\n/** Adapts one XL1 provider candidate into neutral browser-kit plan metadata. */\nexport function xl1BrowserProviderDeclaration(\n descriptor: Xl1ProviderDescriptor,\n): Xl1BrowserProviderDeclaration {\n return Object.freeze({\n connectionTypes: Object.freeze([...descriptor.connectionTypes]),\n dependencies: Object.freeze([...(descriptor.dependencies ?? [])]),\n id: descriptor.id,\n monikers: Object.freeze([...descriptor.satisfies]),\n xl1: descriptor,\n })\n}\n\n/** Returns the XL1 provider catalog available to browser-system configuration. */\nexport function xl1BrowserProviderCandidates(): Xl1ProviderDescriptor[] {\n return [\n ...allProviderCandidates(),\n browserRuntimeProviderCandidateFromClass(SimpleXyoSigner, BrowserSimpleXyoSignerProviderId),\n providerCandidateFromClass(SimpleXyoConnectionViewer, SimpleXyoConnectionViewerProviderId),\n providerCandidateFromClass(SimpleXyoGateway, SimpleXyoGatewayProviderId),\n ]\n}\n\n/**\n * Adapts an exact factory supplied by the owner realm into plan metadata.\n *\n * The factory is a runtime home, so its provider is intentionally presented as\n * connectionless to the serializable planner. The exact factory is restored by\n * the provisioner after resolution rather than reconstructed from its class.\n */\nexport function xl1BrowserProviderRegistrationFromFactory(\n factory: CreatableProviderFactory,\n id: string = factory.providerName,\n): Xl1BrowserProviderRegistration {\n return {\n descriptor: {\n ...providerCandidateFromClass(factory.creatableProvider, id),\n connectionTypes: ['none'],\n dependencies: [...factory.dependencies],\n },\n factory,\n }\n}\n\n/** Adapts an XL1 provider catalog for browser-kit planning. */\nexport function xl1BrowserProviderDeclarations(\n candidates: readonly Xl1ProviderDescriptor[] = xl1BrowserProviderCandidates(),\n): Xl1BrowserProviderDeclaration[] {\n return candidates.map(xl1BrowserProviderDeclaration)\n}\n\n/** Creates the owner-realm provisioner that instantiates one resolved XL1 locator. */\nexport function createXl1BrowserSystemProvisioner(\n options: CreateXl1BrowserSystemProvisionerOptions,\n): BrowserSystemProvisioner<ProviderFactoryLocatorInstance> {\n return async (input) => {\n const registeredFactories = new Map(\n options.providerRegistrations?.map(registration => [\n registration.descriptor.id,\n registration.factory,\n ]),\n )\n const providerBindings = mergeResolvedProviderBindings(\n options.config.providerBindings,\n input.compiled.config.providerBindings,\n )\n const locatorConfig = compileLocatorConfig({\n ...options.config,\n connections: input.compiled.config.connections as ConnectionsConfig,\n providerBindings,\n })\n const locator = new ProviderFactoryLocator({\n caches: {},\n singletons: {},\n ...options.context,\n config: locatorConfig,\n })\n for (const selected of input.compiled.resolution.selected) {\n const declaration = selected as unknown as Xl1BrowserProviderDeclaration\n const descriptor = declaration.xl1\n locator.register(registeredFactories.get(descriptor.id)\n ?? descriptor.creatableProvider.factory([\n ...(descriptor.dependencies ?? descriptor.creatableProvider.dependencies),\n ]))\n }\n locator.freeze()\n\n try {\n for (const moniker of input.compiled.declaration.dependencies) {\n await locator.getInstance(moniker)\n }\n } catch (startError) {\n const releaseError = await releaseXl1Providers(locator).catch(error => error)\n if (releaseError !== undefined) {\n throw new AggregateError(\n [startError, releaseError],\n 'XL1 browser provider provisioning and cleanup both failed',\n { cause: startError },\n )\n }\n throw startError\n }\n\n const resolvedConfig = Object.freeze({\n ...options.config,\n actors: input.config.actors,\n connections: input.compiled.config.connections as ConnectionsConfig,\n providerBindings,\n })\n const system = createResolvedProviderSystem({\n config: resolvedConfig,\n locator,\n resolution: createResolvedBrowserProviderPlan(input.compiled.resolution),\n })\n let releasePromise: Promise<void> | undefined\n return {\n release: () => {\n releasePromise ??= releaseXl1Providers(locator)\n return releasePromise\n },\n system,\n }\n }\n}\n\nfunction browserRuntimeProviderCandidateFromClass(\n creatableProvider: Parameters<typeof providerCandidateFromClass>[0],\n id: string,\n): Xl1ProviderDescriptor {\n return {\n ...providerCandidateFromClass(creatableProvider, id),\n connectionTypes: ['none'],\n }\n}\n\nfunction mergeResolvedProviderBindings(\n authored: ProviderBindingsConfig,\n resolved: Readonly<Record<string, {\n readonly connection?: string\n readonly options?: Readonly<Record<string, unknown>>\n readonly provider?: string\n } | undefined>>,\n): ProviderBindingsConfig {\n return Object.fromEntries(Object.entries(resolved).map(([moniker, binding]) => [\n moniker,\n {\n ...authored[moniker],\n ...binding,\n },\n ]))\n}\n\nasync function releaseXl1Providers(locator: ProviderFactoryLocatorInstance): Promise<void> {\n const instances = await instantiatedProviders(locator)\n for (const instance of instances) instance.requestCancel?.()\n\n const errors: unknown[] = []\n for (const instance of instances.toReversed()) {\n try {\n await stopOrShutdown(instance)\n } catch (error) {\n errors.push(error)\n }\n }\n if (errors.length > 0) {\n throw new AggregateError(errors, `${errors.length} XL1 browser provider(s) failed to stop`)\n }\n}\n\nasync function instantiatedProviders(\n locator: ProviderFactoryLocatorInstance,\n): Promise<(CreatableProviderInstance & { requestCancel?(reason?: unknown): void })[]> {\n const instances = await Promise.all(\n Object.values(locator.context.singletons).map(async value => await value),\n )\n return [...new Set(instances)].filter(isCreatableProviderInstance)\n}\n\nfunction isCreatableProviderInstance(\n value: unknown,\n): value is CreatableProviderInstance & { requestCancel?(reason?: unknown): void } {\n return typeof value === 'object'\n && value !== null\n && 'stop' in value\n && typeof value.stop === 'function'\n}\n", "import type {\n ProviderActorContext,\n ProviderActorParams,\n} from '@ariestools/actor'\nimport { ProviderActor } from '@ariestools/actor'\nimport type {\n BrowserActor,\n ResolvedBrowserProviderPlan,\n ResolvedBrowserSystemConfig,\n} from '@ariestools/browser-kit'\nimport { BrowserActorCatalog as BrowserActorCatalogInstance } from '@ariestools/browser-kit'\nimport type { CreatableName } from '@ariestools/sdk'\nimport type {\n ProviderFactoryLocatorInstance,\n XyoGateway,\n XyoGatewayRunner,\n} from '@xyo-network/xl1-sdk'\nimport {\n DataLakeRunnerMoniker,\n DataLakeViewerMoniker,\n XyoGatewayMoniker,\n XyoGatewayRunnerMoniker,\n} from '@xyo-network/xl1-sdk'\n\nexport const Xl1BrowserSystemActorType = 'xl1-system' as const\nexport const Xl1BrowserSystemWithDataLakeActorType = 'xl1-system-with-data-lake' as const\nexport const Xl1BrowserRunnerSystemActorType = 'xl1-runner-system' as const\nexport const Xl1BrowserRunnerSystemWithDataLakeActorType = 'xl1-runner-system-with-data-lake' as const\n\nexport interface Xl1BrowserSystemActorParams extends ProviderActorParams<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n> {}\n\n/** Resident actor representing one configured XL1 gateway system. */\nexport class Xl1BrowserSystemActor extends ProviderActor<Xl1BrowserSystemActorParams> {\n /** Resolves the gateway owned by this actor's immutable provider system. */\n async getGateway(): Promise<XyoGateway | XyoGatewayRunner> {\n if (this.status !== 'started') {\n throw new Error(`XL1 browser system actor is not running (status: ${this.status})`)\n }\n if (this.providerSystem.resolution.bindings[XyoGatewayRunnerMoniker] !== undefined) {\n return await this.getProvider<XyoGatewayRunner>(XyoGatewayRunnerMoniker)\n }\n return await this.getProvider<XyoGateway>(XyoGatewayMoniker)\n }\n\n /** Resolves the required write-capable gateway from a runner-system actor. */\n async getGatewayRunner(): Promise<XyoGatewayRunner> {\n if (this.status !== 'started') {\n throw new Error(`XL1 browser system actor is not running (status: ${this.status})`)\n }\n return await this.getProvider<XyoGatewayRunner>(XyoGatewayRunnerMoniker)\n }\n}\n\nexport const Xl1BrowserSystemActorDependencies = [XyoGatewayMoniker] as const\nexport const Xl1BrowserSystemWithDataLakeActorDependencies = [\n XyoGatewayMoniker,\n DataLakeViewerMoniker,\n] as const\nexport const Xl1BrowserRunnerSystemActorDependencies = [XyoGatewayRunnerMoniker] as const\nexport const Xl1BrowserRunnerSystemWithDataLakeActorDependencies = [\n XyoGatewayRunnerMoniker,\n DataLakeRunnerMoniker,\n DataLakeViewerMoniker,\n] as const\n\n/** Creates the default actor catalog and optionally installs application actors. */\nexport function createXl1BrowserActorCatalog() {\n const catalog = new BrowserActorCatalogInstance<BrowserActor, ProviderFactoryLocatorInstance>()\n const create = async (\n id: string,\n providerContext: ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ) => await Xl1BrowserSystemActor.create({\n name: id as CreatableName,\n providerContext,\n })\n catalog.register({\n create: async ({ id, providerContext }) => await create(\n id,\n providerContext as ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ),\n dependencies: Xl1BrowserSystemActorDependencies,\n type: Xl1BrowserSystemActorType,\n })\n catalog.register({\n create: async ({ id, providerContext }) => await create(\n id,\n providerContext as ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ),\n dependencies: Xl1BrowserSystemWithDataLakeActorDependencies,\n type: Xl1BrowserSystemWithDataLakeActorType,\n })\n catalog.register({\n create: async ({ id, providerContext }) => await create(\n id,\n providerContext as ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ),\n dependencies: Xl1BrowserRunnerSystemActorDependencies,\n type: Xl1BrowserRunnerSystemActorType,\n })\n catalog.register({\n create: async ({ id, providerContext }) => await create(\n id,\n providerContext as ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ),\n dependencies: Xl1BrowserRunnerSystemWithDataLakeActorDependencies,\n type: Xl1BrowserRunnerSystemWithDataLakeActorType,\n })\n return catalog\n}\n"],
5
- "mappings": "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",
6
- "names": ["XyoSignerMoniker", "DataLakeRunnerMoniker", "DataLakeViewerMoniker", "XyoGatewayMoniker", "XyoGatewayRunnerMoniker", "XyoGatewayMoniker", "DataLakeViewerMoniker", "XyoGatewayRunnerMoniker", "DataLakeRunnerMoniker", "XyoSignerMoniker"]
3
+ "sources": ["../../src/compileXl1BrowserSystem.ts", "../../src/Xl1BrowserConfig.ts", "../../src/Xl1BrowserProvider.ts", "../../src/Xl1BrowserSystemActor.ts", "../../src/launchCompiledXl1BrowserSystem.ts", "../../src/launchXl1BrowserGatewaySystem.ts", "../../src/launchXl1BrowserSystem.ts"],
4
+ "sourcesContent": ["import type {\n BrowserActor,\n BrowserActorCatalog,\n CompiledBrowserSystem,\n} from '@ariestools/browser-kit'\nimport { compileBrowserSystem } from '@ariestools/browser-kit'\nimport type {\n ProviderDescriptor as Xl1ProviderDescriptor,\n ProviderFactoryLocatorInstance,\n} from '@xyo-network/xl1-sdk'\n\nimport type { Xl1BrowserSystemConfig } from './Xl1BrowserConfig.ts'\nimport {\n parseXl1BrowserSystemConfig,\n toBrowserSystemConfig,\n} from './Xl1BrowserConfig.ts'\nimport {\n xl1BrowserProviderCandidates,\n type Xl1BrowserProviderDeclaration,\n xl1BrowserProviderDeclarations,\n type Xl1BrowserProviderRegistration,\n} from './Xl1BrowserProvider.ts'\nimport { createXl1BrowserActorCatalog } from './Xl1BrowserSystemActor.ts'\n\n/** Inputs that deterministically compile one XL1 browser system. */\nexport interface CompileXl1BrowserSystemOptions<TActor extends BrowserActor = BrowserActor> {\n readonly actorCatalog?: BrowserActorCatalog<TActor, ProviderFactoryLocatorInstance>\n readonly config: unknown\n readonly providerCandidates?: readonly Xl1ProviderDescriptor[]\n readonly providerRegistrations?: readonly Xl1BrowserProviderRegistration[]\n}\n\n/**\n * One owner-local XL1 browser plan before providers or actors are created.\n *\n * The catalog and provider registrations retain executable factories and must\n * not cross a structured-clone boundary.\n */\nexport interface CompiledXl1BrowserSystem<TActor extends BrowserActor = BrowserActor> {\n readonly actorCatalog: BrowserActorCatalog<TActor, ProviderFactoryLocatorInstance>\n readonly browserSystem: CompiledBrowserSystem<Xl1BrowserProviderDeclaration>\n readonly config: Xl1BrowserSystemConfig\n readonly providerRegistrations: readonly Xl1BrowserProviderRegistration[]\n}\n\n/** Parses and resolves one XL1 browser system without acquiring runtime resources. */\nexport function compileXl1BrowserSystem<TActor extends BrowserActor = BrowserActor>(\n options: CompileXl1BrowserSystemOptions<TActor>,\n): CompiledXl1BrowserSystem<TActor> {\n const config = parseXl1BrowserSystemConfig(options.config)\n const actorCatalog = options.actorCatalog\n ?? createXl1BrowserActorCatalog() as BrowserActorCatalog<\n TActor,\n ProviderFactoryLocatorInstance\n >\n const providerRegistrations = Object.freeze([...(options.providerRegistrations ?? [])])\n const providerCandidates = mergedProviderCandidates(\n options.providerCandidates ?? xl1BrowserProviderCandidates(),\n providerRegistrations,\n )\n const browserSystem = compileBrowserSystem<\n TActor,\n ProviderFactoryLocatorInstance,\n Xl1BrowserProviderDeclaration\n >({\n actorCatalog,\n config: toBrowserSystemConfig(config),\n providerDescriptors: xl1BrowserProviderDeclarations(providerCandidates),\n })\n return Object.freeze({\n actorCatalog,\n browserSystem,\n config,\n providerRegistrations,\n })\n}\n\nfunction mergedProviderCandidates(\n candidates: readonly Xl1ProviderDescriptor[],\n registrations: readonly Xl1BrowserProviderRegistration[],\n): Xl1ProviderDescriptor[] {\n const result = new Map(candidates.map(candidate => [candidate.id, candidate]))\n for (const registration of registrations) {\n result.set(registration.descriptor.id, registration.descriptor)\n }\n return [...result.values()]\n}\n", "import type {\n BrowserActorSelection,\n BrowserSystemConfig,\n} from '@ariestools/browser-kit'\nimport { parseBrowserSystemConfig } from '@ariestools/browser-kit'\nimport type {\n ConnectionsConfig,\n LocatorConfig,\n PrimeCachesMode,\n ProviderBindingsConfig,\n RestGatewayConfig,\n} from '@xyo-network/xl1-sdk'\nimport {\n BlockViewerMoniker,\n ChainContractViewerMoniker,\n ChainStateViewerMoniker,\n DataLakeRunnerMoniker,\n DataLakeViewerMoniker,\n FinalizationViewerMoniker,\n IndexViewerMoniker,\n MempoolRunnerMoniker,\n NetworkStakeStepRewardsByPositionViewerMoniker,\n parseLocatorConfigFields,\n restConnectionFromS3Bucket,\n restGatewayConfigFromEndpoint,\n SIGNER_RPC_CONNECTION,\n synthesizeRpcConnectionBindings,\n XyoConnectionMoniker,\n XyoGatewayMoniker,\n XyoGatewayRunnerMoniker,\n XyoRunnerMoniker,\n XyoSignerMoniker,\n} from '@xyo-network/xl1-sdk'\n\nimport {\n BrowserSimpleXyoSignerProviderId,\n SimpleXyoConnectionViewerProviderId,\n SimpleXyoGatewayProviderId,\n} from './Xl1BrowserProvider.ts'\nimport {\n Xl1BrowserRunnerSystemActorType,\n Xl1BrowserRunnerSystemWithDataLakeActorType,\n Xl1BrowserSystemActorType,\n Xl1BrowserSystemWithDataLakeActorType,\n} from './Xl1BrowserSystemActor.ts'\n\n/** Authored XL1 locator fields plus browser actor selections. */\nexport interface Xl1BrowserSystemConfig extends LocatorConfig {\n readonly actors: readonly BrowserActorSelection[]\n}\n\n/** Options for a standard REST-backed XL1 browser system. */\nexport interface CreateXl1RestBrowserSystemConfigOptions {\n readonly actors?: readonly BrowserActorSelection[]\n readonly dataLakeEndpoint?: string\n readonly endpoint: string\n readonly host?: string\n readonly layout?: Xl1RestEndpointLayout\n readonly primeCaches?: PrimeCachesMode\n readonly rpcUrl?: string\n readonly signer?: Xl1BrowserSignerConfig\n}\n\n/** Options for a standard RPC-backed XL1 browser system. */\nexport interface CreateXl1RpcBrowserSystemConfigOptions {\n readonly actors?: readonly BrowserActorSelection[]\n readonly dataLakeEndpoint?: string\n readonly endpoint: string\n readonly host?: string\n readonly primeCaches?: PrimeCachesMode\n readonly signer?: Xl1BrowserSignerConfig\n}\n\n/** Selects the built-in account signer supplied through the runtime context. */\nexport interface Xl1BrowserAccountSignerConfig {\n readonly type: 'account'\n}\n\n/** Selects a connectionless signer factory supplied by the owner realm. */\nexport interface Xl1BrowserProviderSignerConfig {\n readonly provider: string\n readonly type: 'provider'\n}\n\n/** Selects a JsonRpc signer whose transport is supplied through runtime handles. */\nexport interface Xl1BrowserRpcSignerConfig {\n readonly type: 'rpc'\n}\n\n/** Serializable signer selection for a write-capable browser system. */\nexport type Xl1BrowserSignerConfig\n = | Xl1BrowserAccountSignerConfig\n | Xl1BrowserProviderSignerConfig\n | Xl1BrowserRpcSignerConfig\n\n/** How the REST gateway's finalized, chain-state, and index URLs are derived from its endpoint. */\nexport type Xl1RestEndpointLayout = 'path' | 'subdomain'\n\n/** Parses XL1 locator fields and browser actor selections without importing code from config. */\nexport function parseXl1BrowserSystemConfig(input: unknown): Xl1BrowserSystemConfig {\n const locatorConfig = parseLocatorConfigFields(input)\n const browserConfig = parseBrowserSystemConfig({\n actors: isRecord(input) ? input['actors'] : undefined,\n connections: locatorConfig.connections,\n providerBindings: toBrowserProviderBindings(locatorConfig.providerBindings),\n })\n return Object.freeze({\n ...locatorConfig,\n actors: Object.freeze([...(browserConfig.actors ?? [])]),\n })\n}\n\n/** Projects the XL1 config onto the neutral fields browser-kit compiles. */\nexport function toBrowserSystemConfig(\n config: Xl1BrowserSystemConfig,\n): BrowserSystemConfig {\n return {\n actors: config.actors,\n connections: config.connections,\n providerBindings: toBrowserProviderBindings(config.providerBindings),\n }\n}\n\n/** Creates explicit REST connections and provider bindings for one XL1 browser gateway actor. */\nexport function createXl1RestBrowserSystemConfig(\n options: CreateXl1RestBrowserSystemConfigOptions,\n): Xl1BrowserSystemConfig {\n const buckets = options.layout === 'path'\n ? restGatewayConfigFromPathEndpoint(options.endpoint)\n : restGatewayConfigFromEndpoint(options.endpoint)\n const finalized = buckets.finalized\n if (finalized === undefined) throw new Error('XL1 REST gateway has no finalized bucket')\n\n const connections: ConnectionsConfig = {\n 'rest-chain-state': restConnectionFromS3Bucket(buckets.chainState ?? finalized),\n 'rest-finalized': restConnectionFromS3Bucket(finalized),\n 'rest-index': restConnectionFromS3Bucket(buckets.index ?? finalized),\n }\n const providerBindings: ProviderBindingsConfig = {\n [BlockViewerMoniker]: { connection: 'rest-finalized' },\n [ChainContractViewerMoniker]: { connection: 'rest-chain-state' },\n [ChainStateViewerMoniker]: { connection: 'rest-chain-state' },\n [FinalizationViewerMoniker]: { connection: 'rest-finalized' },\n [IndexViewerMoniker]: { connection: 'rest-index' },\n [XyoConnectionMoniker]: { provider: SimpleXyoConnectionViewerProviderId },\n [XyoGatewayMoniker]: { provider: SimpleXyoGatewayProviderId },\n }\n if (options.dataLakeEndpoint !== undefined) {\n connections['rest-data-lake'] = {\n baseUrl: options.dataLakeEndpoint,\n type: 'rest',\n }\n providerBindings[DataLakeViewerMoniker] = { connection: 'rest-data-lake' }\n }\n if (options.signer !== undefined) {\n if (options.rpcUrl === undefined) {\n throw new Error('XL1 REST runner browser system requires rpcUrl')\n }\n addRunnerBindings(\n connections,\n providerBindings,\n options.rpcUrl,\n options.signer,\n options.dataLakeEndpoint !== undefined,\n )\n }\n if (options.primeCaches !== undefined) {\n providerBindings[NetworkStakeStepRewardsByPositionViewerMoniker] = { primeCaches: options.primeCaches }\n }\n\n return parseXl1BrowserSystemConfig({\n actors: options.actors ?? [{\n host: options.host,\n type: xl1BrowserSystemActorType(\n options.signer !== undefined,\n options.dataLakeEndpoint !== undefined,\n ),\n }],\n connections,\n providerBindings,\n })\n}\n\n/** Creates explicit RPC connections and provider bindings for one XL1 browser gateway actor. */\nexport function createXl1RpcBrowserSystemConfig(\n options: CreateXl1RpcBrowserSystemConfigOptions,\n): Xl1BrowserSystemConfig {\n const connections: ConnectionsConfig = {\n 'default-rpc': {\n protocol: 'http',\n type: 'rpc',\n url: options.endpoint,\n },\n }\n const providerBindings: ProviderBindingsConfig = {\n ...synthesizeRpcConnectionBindings(),\n [XyoConnectionMoniker]: { provider: SimpleXyoConnectionViewerProviderId },\n [XyoGatewayMoniker]: { provider: SimpleXyoGatewayProviderId },\n }\n if (options.dataLakeEndpoint !== undefined) {\n connections['rest-data-lake'] = {\n baseUrl: options.dataLakeEndpoint,\n type: 'rest',\n }\n providerBindings[DataLakeViewerMoniker] = { connection: 'rest-data-lake' }\n }\n if (options.signer !== undefined) {\n addRunnerBindings(\n connections,\n providerBindings,\n options.endpoint,\n options.signer,\n options.dataLakeEndpoint !== undefined,\n )\n }\n if (options.primeCaches !== undefined) {\n providerBindings[NetworkStakeStepRewardsByPositionViewerMoniker] = { primeCaches: options.primeCaches }\n }\n\n return parseXl1BrowserSystemConfig({\n actors: options.actors ?? [{\n host: options.host,\n type: xl1BrowserSystemActorType(\n options.signer !== undefined,\n options.dataLakeEndpoint !== undefined,\n ),\n }],\n connections,\n providerBindings,\n })\n}\n\nfunction addRunnerBindings(\n connections: ConnectionsConfig,\n providerBindings: ProviderBindingsConfig,\n rpcUrl: string,\n signer: Xl1BrowserSignerConfig,\n hasDataLake: boolean,\n): void {\n connections['default-rpc'] = {\n protocol: 'http',\n type: 'rpc',\n url: rpcUrl,\n }\n providerBindings[MempoolRunnerMoniker] = {\n connection: 'default-rpc',\n provider: 'JsonRpcMempoolRunner',\n }\n providerBindings[XyoRunnerMoniker] = {\n connection: 'default-rpc',\n provider: 'JsonRpcXyoRunner',\n }\n providerBindings[XyoConnectionMoniker] = { provider: 'SimpleXyoConnectionRunner' }\n providerBindings[XyoGatewayMoniker] = { provider: 'SimpleXyoGatewayRunner' }\n providerBindings[XyoGatewayRunnerMoniker] = { provider: 'SimpleXyoGatewayRunner' }\n if (hasDataLake) {\n providerBindings[DataLakeRunnerMoniker] = {\n connection: 'rest-data-lake',\n provider: 'RestDataLakeRunner',\n }\n }\n\n switch (signer.type) {\n case 'account': {\n providerBindings[XyoSignerMoniker] = { provider: BrowserSimpleXyoSignerProviderId }\n break\n }\n case 'provider': {\n providerBindings[XyoSignerMoniker] = { provider: signer.provider }\n break\n }\n case 'rpc': {\n connections[SIGNER_RPC_CONNECTION] = { protocol: 'http', type: 'rpc' }\n providerBindings[XyoSignerMoniker] = {\n connection: SIGNER_RPC_CONNECTION,\n provider: 'JsonRpcXyoSigner',\n }\n break\n }\n }\n}\n\nfunction xl1BrowserSystemActorType(\n isRunner: boolean,\n hasDataLake: boolean,\n): typeof Xl1BrowserSystemActorType\n | typeof Xl1BrowserSystemWithDataLakeActorType\n | typeof Xl1BrowserRunnerSystemActorType\n | typeof Xl1BrowserRunnerSystemWithDataLakeActorType {\n if (isRunner) {\n return hasDataLake\n ? Xl1BrowserRunnerSystemWithDataLakeActorType\n : Xl1BrowserRunnerSystemActorType\n }\n return hasDataLake\n ? Xl1BrowserSystemWithDataLakeActorType\n : Xl1BrowserSystemActorType\n}\n\nfunction restGatewayConfigFromPathEndpoint(\n endpoint: string,\n): Required<Pick<RestGatewayConfig, 'chainState' | 'finalized' | 'index'>> {\n const baseUrl = endpoint.endsWith('/') ? endpoint.slice(0, -1) : endpoint\n return {\n chainState: { readUrl: `${baseUrl}/state` },\n finalized: { readUrl: `${baseUrl}/blocks` },\n index: { readUrl: `${baseUrl}/indexes` },\n }\n}\n\nfunction toBrowserProviderBindings(\n bindings: ProviderBindingsConfig,\n): NonNullable<BrowserSystemConfig['providerBindings']> {\n return Object.fromEntries(Object.entries(bindings).map(([moniker, binding]) => [\n moniker,\n binding === undefined\n ? {}\n : {\n connection: binding.connection,\n options: binding.options,\n provider: binding.provider,\n },\n ]))\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n}\n", "import type { BrowserSystemProvisioner } from '@ariestools/browser-kit'\nimport { createResolvedBrowserProviderPlan } from '@ariestools/browser-kit'\nimport { createResolvedProviderSystem } from '@ariestools/provider-model'\nimport type {\n ConnectionsConfig,\n CreatableProviderContext,\n CreatableProviderFactory,\n ProviderBindingsConfig,\n ProviderDescriptor as Xl1ProviderDescriptor,\n ProviderFactoryLocatorInstance,\n} from '@xyo-network/xl1-sdk'\nimport {\n allProviderCandidates,\n compileLocatorConfig,\n providerCandidateFromClass,\n ProviderFactoryLocator,\n releaseProviderFactoryLocator,\n SimpleXyoConnectionViewer,\n SimpleXyoGateway,\n SimpleXyoSigner,\n} from '@xyo-network/xl1-sdk'\n\nimport type { Xl1BrowserSystemConfig } from './Xl1BrowserConfig.ts'\n\n/** Stable browser-provider identifier retained across production minification. */\nexport const SimpleXyoConnectionViewerProviderId = 'SimpleXyoConnectionViewer'\n/** Stable browser-provider identifier retained across production minification. */\nexport const SimpleXyoGatewayProviderId = 'SimpleXyoGateway'\n/** Stable id for the account-backed signer adapted to a browser runtime home. */\nexport const BrowserSimpleXyoSignerProviderId = 'BrowserSimpleXyoSigner'\n\n/** Exact runtime factory paired with the descriptor used during config resolution. */\nexport interface Xl1BrowserProviderRegistration {\n readonly descriptor: Xl1ProviderDescriptor\n readonly factory: CreatableProviderFactory\n}\n\n/** Browser-kit plan metadata retaining the XL1 provider class used by the provisioner. */\nexport interface Xl1BrowserProviderDeclaration {\n readonly connectionTypes: readonly string[]\n readonly dependencies: readonly string[]\n readonly id: string\n readonly monikers: readonly string[]\n readonly xl1: Xl1ProviderDescriptor\n}\n\n/** Non-serializable XL1 runtime homes supplied by the realm that owns the system. */\nexport type Xl1BrowserProviderRuntimeContext = Omit<\n CreatableProviderContext,\n 'config' | 'locator'\n>\n\n/** Options captured by the XL1 browser-system provisioner. */\nexport interface CreateXl1BrowserSystemProvisionerOptions {\n readonly config: Xl1BrowserSystemConfig\n readonly context?: Xl1BrowserProviderRuntimeContext\n readonly providerRegistrations?: readonly Xl1BrowserProviderRegistration[]\n}\n\n/** Adapts one XL1 provider candidate into neutral browser-kit plan metadata. */\nexport function xl1BrowserProviderDeclaration(\n descriptor: Xl1ProviderDescriptor,\n): Xl1BrowserProviderDeclaration {\n return Object.freeze({\n connectionTypes: Object.freeze([...descriptor.connectionTypes]),\n dependencies: Object.freeze([...(descriptor.dependencies ?? [])]),\n id: descriptor.id,\n monikers: Object.freeze([...descriptor.satisfies]),\n xl1: descriptor,\n })\n}\n\n/** Returns the XL1 provider catalog available to browser-system configuration. */\nexport function xl1BrowserProviderCandidates(): Xl1ProviderDescriptor[] {\n return [\n ...allProviderCandidates(),\n browserRuntimeProviderCandidateFromClass(SimpleXyoSigner, BrowserSimpleXyoSignerProviderId),\n providerCandidateFromClass(SimpleXyoConnectionViewer, SimpleXyoConnectionViewerProviderId),\n providerCandidateFromClass(SimpleXyoGateway, SimpleXyoGatewayProviderId),\n ]\n}\n\n/**\n * Adapts an exact factory supplied by the owner realm into plan metadata.\n *\n * The factory is a runtime home, so its provider is intentionally presented as\n * connectionless to the serializable planner. The exact factory is restored by\n * the provisioner after resolution rather than reconstructed from its class.\n */\nexport function xl1BrowserProviderRegistrationFromFactory(\n factory: CreatableProviderFactory,\n id: string = factory.providerName,\n): Xl1BrowserProviderRegistration {\n return {\n descriptor: {\n ...providerCandidateFromClass(factory.creatableProvider, id),\n connectionTypes: ['none'],\n dependencies: [...factory.dependencies],\n },\n factory,\n }\n}\n\n/** Adapts an XL1 provider catalog for browser-kit planning. */\nexport function xl1BrowserProviderDeclarations(\n candidates: readonly Xl1ProviderDescriptor[] = xl1BrowserProviderCandidates(),\n): Xl1BrowserProviderDeclaration[] {\n return candidates.map(xl1BrowserProviderDeclaration)\n}\n\n/** Creates the owner-realm provisioner that instantiates one resolved XL1 locator. */\nexport function createXl1BrowserSystemProvisioner(\n options: CreateXl1BrowserSystemProvisionerOptions,\n): BrowserSystemProvisioner<ProviderFactoryLocatorInstance> {\n return async (input) => {\n const registeredFactories = new Map(\n options.providerRegistrations?.map(registration => [\n registration.descriptor.id,\n registration.factory,\n ]),\n )\n const providerBindings = mergeResolvedProviderBindings(\n options.config.providerBindings,\n input.compiled.config.providerBindings,\n )\n const locatorConfig = compileLocatorConfig({\n ...options.config,\n connections: input.compiled.config.connections as ConnectionsConfig,\n providerBindings,\n })\n const locator = new ProviderFactoryLocator({\n caches: {},\n singletons: {},\n ...options.context,\n config: locatorConfig,\n })\n for (const selected of input.compiled.resolution.selected) {\n const declaration = selected as unknown as Xl1BrowserProviderDeclaration\n const descriptor = declaration.xl1\n locator.register(registeredFactories.get(descriptor.id)\n ?? descriptor.creatableProvider.factory([\n ...(descriptor.dependencies ?? descriptor.creatableProvider.dependencies),\n ]))\n }\n locator.freeze()\n\n try {\n for (const moniker of input.compiled.declaration.dependencies) {\n await locator.getInstance(moniker)\n }\n } catch (startError) {\n const releaseError = await releaseProviderFactoryLocator(locator).catch(error => error)\n if (releaseError !== undefined) {\n throw new AggregateError(\n [startError, releaseError],\n 'XL1 browser provider provisioning and cleanup both failed',\n { cause: startError },\n )\n }\n throw startError\n }\n\n const resolvedConfig = Object.freeze({\n ...options.config,\n actors: input.config.actors,\n connections: input.compiled.config.connections as ConnectionsConfig,\n providerBindings,\n })\n const system = createResolvedProviderSystem({\n config: resolvedConfig,\n locator,\n resolution: createResolvedBrowserProviderPlan(input.compiled.resolution),\n })\n let releasePromise: Promise<void> | undefined\n return {\n release: () => {\n releasePromise ??= releaseProviderFactoryLocator(locator)\n return releasePromise\n },\n system,\n }\n }\n}\n\nfunction browserRuntimeProviderCandidateFromClass(\n creatableProvider: Parameters<typeof providerCandidateFromClass>[0],\n id: string,\n): Xl1ProviderDescriptor {\n return {\n ...providerCandidateFromClass(creatableProvider, id),\n connectionTypes: ['none'],\n }\n}\n\nfunction mergeResolvedProviderBindings(\n authored: ProviderBindingsConfig,\n resolved: Readonly<Record<string, {\n readonly connection?: string\n readonly options?: Readonly<Record<string, unknown>>\n readonly provider?: string\n } | undefined>>,\n): ProviderBindingsConfig {\n return Object.fromEntries(Object.entries(resolved).map(([moniker, binding]) => [\n moniker,\n {\n ...authored[moniker],\n ...binding,\n },\n ]))\n}\n", "import type {\n ProviderActorContext,\n ProviderActorParams,\n} from '@ariestools/actor'\nimport { ProviderActor } from '@ariestools/actor'\nimport type {\n BrowserActor,\n ResolvedBrowserProviderPlan,\n ResolvedBrowserSystemConfig,\n} from '@ariestools/browser-kit'\nimport { BrowserActorCatalog as BrowserActorCatalogInstance } from '@ariestools/browser-kit'\nimport type { CreatableName } from '@ariestools/sdk'\nimport type {\n ProviderFactoryLocatorInstance,\n XyoGateway,\n XyoGatewayRunner,\n} from '@xyo-network/xl1-sdk'\nimport {\n DataLakeRunnerMoniker,\n DataLakeViewerMoniker,\n XyoGatewayMoniker,\n XyoGatewayRunnerMoniker,\n} from '@xyo-network/xl1-sdk'\n\nexport const Xl1BrowserSystemActorType = 'xl1-system' as const\nexport const Xl1BrowserSystemWithDataLakeActorType = 'xl1-system-with-data-lake' as const\nexport const Xl1BrowserRunnerSystemActorType = 'xl1-runner-system' as const\nexport const Xl1BrowserRunnerSystemWithDataLakeActorType = 'xl1-runner-system-with-data-lake' as const\n\nexport interface Xl1BrowserSystemActorParams extends ProviderActorParams<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n> {}\n\n/** Resident actor representing one configured XL1 gateway system. */\nexport class Xl1BrowserSystemActor extends ProviderActor<Xl1BrowserSystemActorParams> {\n /** Resolves the gateway owned by this actor's immutable provider system. */\n async getGateway(): Promise<XyoGateway | XyoGatewayRunner> {\n if (this.status !== 'started') {\n throw new Error(`XL1 browser system actor is not running (status: ${this.status})`)\n }\n if (this.providerSystem.resolution.bindings[XyoGatewayRunnerMoniker] !== undefined) {\n return await this.getProvider<XyoGatewayRunner>(XyoGatewayRunnerMoniker)\n }\n return await this.getProvider<XyoGateway>(XyoGatewayMoniker)\n }\n\n /** Resolves the required write-capable gateway from a runner-system actor. */\n async getGatewayRunner(): Promise<XyoGatewayRunner> {\n if (this.status !== 'started') {\n throw new Error(`XL1 browser system actor is not running (status: ${this.status})`)\n }\n return await this.getProvider<XyoGatewayRunner>(XyoGatewayRunnerMoniker)\n }\n}\n\nexport const Xl1BrowserSystemActorDependencies = [XyoGatewayMoniker] as const\nexport const Xl1BrowserSystemWithDataLakeActorDependencies = [\n XyoGatewayMoniker,\n DataLakeViewerMoniker,\n] as const\nexport const Xl1BrowserRunnerSystemActorDependencies = [XyoGatewayRunnerMoniker] as const\nexport const Xl1BrowserRunnerSystemWithDataLakeActorDependencies = [\n XyoGatewayRunnerMoniker,\n DataLakeRunnerMoniker,\n DataLakeViewerMoniker,\n] as const\n\n/** Creates the default actor catalog and optionally installs application actors. */\nexport function createXl1BrowserActorCatalog() {\n const catalog = new BrowserActorCatalogInstance<BrowserActor, ProviderFactoryLocatorInstance>()\n const create = async (\n id: string,\n providerContext: ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ) => await Xl1BrowserSystemActor.create({\n name: id as CreatableName,\n providerContext,\n })\n catalog.register({\n create: async ({ id, providerContext }) => await create(\n id,\n providerContext as ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ),\n dependencies: Xl1BrowserSystemActorDependencies,\n type: Xl1BrowserSystemActorType,\n })\n catalog.register({\n create: async ({ id, providerContext }) => await create(\n id,\n providerContext as ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ),\n dependencies: Xl1BrowserSystemWithDataLakeActorDependencies,\n type: Xl1BrowserSystemWithDataLakeActorType,\n })\n catalog.register({\n create: async ({ id, providerContext }) => await create(\n id,\n providerContext as ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ),\n dependencies: Xl1BrowserRunnerSystemActorDependencies,\n type: Xl1BrowserRunnerSystemActorType,\n })\n catalog.register({\n create: async ({ id, providerContext }) => await create(\n id,\n providerContext as ProviderActorContext<\n ProviderFactoryLocatorInstance,\n ResolvedBrowserSystemConfig,\n unknown,\n ResolvedBrowserProviderPlan\n >,\n ),\n dependencies: Xl1BrowserRunnerSystemWithDataLakeActorDependencies,\n type: Xl1BrowserRunnerSystemWithDataLakeActorType,\n })\n return catalog\n}\n", "import type {\n BrowserActor,\n BrowserSystemIdentity,\n BrowserSystemSession,\n} from '@ariestools/browser-kit'\nimport { launchCompiledBrowserSystem } from '@ariestools/browser-kit'\nimport type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk'\n\nimport type { CompiledXl1BrowserSystem } from './compileXl1BrowserSystem.ts'\nimport {\n createXl1BrowserSystemProvisioner,\n type Xl1BrowserProviderDeclaration,\n type Xl1BrowserProviderRuntimeContext,\n} from './Xl1BrowserProvider.ts'\n\n/** Runtime-only options applied to an already-compiled XL1 browser system. */\nexport interface LaunchCompiledXl1BrowserSystemOptions<\n TActor extends BrowserActor = BrowserActor,\n> {\n readonly compiled: CompiledXl1BrowserSystem<TActor>\n readonly context?: Xl1BrowserProviderRuntimeContext\n readonly host?: string\n readonly identity?: BrowserSystemIdentity\n readonly readyTimeoutMs?: number\n}\n\n/** Provisions and starts one compiled XL1 browser system without resolving it again. */\nexport async function launchCompiledXl1BrowserSystem<\n TActor extends BrowserActor = BrowserActor,\n>(\n options: LaunchCompiledXl1BrowserSystemOptions<TActor>,\n): Promise<BrowserSystemSession<TActor, ProviderFactoryLocatorInstance>> {\n return await launchCompiledBrowserSystem<\n TActor,\n ProviderFactoryLocatorInstance,\n Xl1BrowserProviderDeclaration\n >({\n actorCatalog: options.compiled.actorCatalog,\n compiled: options.compiled.browserSystem,\n ...options.host !== undefined && { host: options.host },\n ...options.identity !== undefined && { identity: options.identity },\n provision: createXl1BrowserSystemProvisioner({\n config: options.compiled.config,\n ...options.context !== undefined && { context: options.context },\n providerRegistrations: options.compiled.providerRegistrations,\n }),\n ...options.readyTimeoutMs !== undefined && { readyTimeoutMs: options.readyTimeoutMs },\n })\n}\n", "import type {\n BrowserSystemIdentity,\n BrowserSystemSession,\n} from '@ariestools/browser-kit'\nimport type {\n CreatableProviderFactory,\n PrimeCachesMode,\n ProviderDescriptor as Xl1ProviderDescriptor,\n ProviderFactoryLocatorInstance,\n RpcTransport,\n XyoGateway,\n XyoGatewayRunner,\n XyoSignerRpcSchemas,\n} from '@xyo-network/xl1-sdk'\nimport {\n DefaultAccountKey,\n SimpleConnectionHandleCache,\n XyoSignerMoniker,\n} from '@xyo-network/xl1-sdk'\n\nimport { launchXl1BrowserSystem } from './launchXl1BrowserSystem.ts'\nimport type {\n Xl1BrowserSignerConfig,\n Xl1RestEndpointLayout,\n} from './Xl1BrowserConfig.ts'\nimport {\n createXl1RestBrowserSystemConfig,\n createXl1RpcBrowserSystemConfig,\n} from './Xl1BrowserConfig.ts'\nimport type {\n Xl1BrowserProviderRegistration,\n Xl1BrowserProviderRuntimeContext,\n} from './Xl1BrowserProvider.ts'\nimport { xl1BrowserProviderRegistrationFromFactory } from './Xl1BrowserProvider.ts'\nimport { Xl1BrowserSystemActor } from './Xl1BrowserSystemActor.ts'\n\n/** How a browser gateway reads XL1 chain data. */\nexport type Xl1BrowserGatewayTransport = 'rest' | 'rpc'\n\n/** Account instance accepted by the browser provider runtime home. */\nexport type Xl1BrowserSignerAccount = NonNullable<\n Xl1BrowserProviderRuntimeContext['accounts']\n>[string]\n\n/** Inputs for launching one standard browser-owned XL1 gateway system. */\nexport interface LaunchXl1BrowserGatewaySystemOptions {\n readonly context?: Xl1BrowserProviderRuntimeContext\n readonly dataLakeEndpoint?: string\n /** REST root for REST mode, or the complete RPC URL for RPC mode. */\n readonly endpoint: string\n readonly host?: string\n readonly identity?: BrowserSystemIdentity\n readonly layout?: Xl1RestEndpointLayout\n readonly primeCaches?: PrimeCachesMode\n readonly providerCandidates?: readonly Xl1ProviderDescriptor[]\n readonly readyTimeoutMs?: number\n /** Required for a signed REST system; ignored for RPC systems. */\n readonly rpcUrl?: string\n readonly signerAccount?: Xl1BrowserSignerAccount\n readonly signerFactory?: CreatableProviderFactory\n /** Stable config identifier for signerFactory; defaults to its providerName. */\n readonly signerProviderId?: string\n readonly signerTransport?: RpcTransport<XyoSignerRpcSchemas>\n readonly transport: Xl1BrowserGatewayTransport\n}\n\n/** Running stock XL1 browser system with its actor and gateway exposed. */\nexport interface Xl1BrowserGatewaySystemSession\n extends BrowserSystemSession<Xl1BrowserSystemActor, ProviderFactoryLocatorInstance> {\n readonly actor: Xl1BrowserSystemActor\n readonly gateway: XyoGateway | XyoGatewayRunner\n}\n\n/**\n * Launches a read-only or signed REST/RPC gateway through one browser-kit\n * provider system. Signing precedence is factory, account, then RPC transport.\n */\nexport async function launchXl1BrowserGatewaySystem(\n options: LaunchXl1BrowserGatewaySystemOptions,\n): Promise<Xl1BrowserGatewaySystemSession> {\n const signing = browserSignerRuntime(options)\n const config = options.transport === 'rest'\n ? createXl1RestBrowserSystemConfig({\n dataLakeEndpoint: options.dataLakeEndpoint,\n endpoint: options.endpoint,\n host: options.host,\n layout: options.layout,\n primeCaches: options.primeCaches,\n rpcUrl: options.rpcUrl,\n signer: signing.config,\n })\n : createXl1RpcBrowserSystemConfig({\n dataLakeEndpoint: options.dataLakeEndpoint,\n endpoint: options.endpoint,\n host: options.host,\n primeCaches: options.primeCaches,\n signer: signing.config,\n })\n const session = await launchXl1BrowserSystem<Xl1BrowserSystemActor>({\n config,\n context: signing.context,\n host: options.host,\n identity: options.identity,\n providerCandidates: options.providerCandidates,\n providerRegistrations: signing.registrations,\n readyTimeoutMs: options.readyTimeoutMs,\n })\n\n try {\n const actor = session.actors.find(candidate => candidate instanceof Xl1BrowserSystemActor)\n if (actor === undefined) throw new Error('XL1 browser system actor was not created')\n const gateway = await actor.getGateway()\n return {\n actor,\n actors: session.actors,\n gateway,\n identity: session.identity,\n stop: async () => await session.stop(),\n system: session.system,\n whenFailed: () => session.whenFailed(),\n whenTerminal: () => session.whenTerminal(),\n }\n } catch (launchError) {\n const [stopResult] = await Promise.allSettled([session.stop()])\n if (stopResult.status === 'rejected') {\n throw new AggregateError(\n [launchError, stopResult.reason],\n 'XL1 browser system failed to expose a gateway and stop cleanly',\n { cause: launchError },\n )\n }\n throw launchError\n }\n}\n\ninterface BrowserSignerRuntime {\n readonly config?: Xl1BrowserSignerConfig\n readonly context?: Xl1BrowserProviderRuntimeContext\n readonly registrations?: readonly Xl1BrowserProviderRegistration[]\n}\n\nfunction browserSignerRuntime(\n options: LaunchXl1BrowserGatewaySystemOptions,\n): BrowserSignerRuntime {\n if (options.signerFactory !== undefined) {\n const registration = xl1BrowserProviderRegistrationFromFactory(\n options.signerFactory,\n options.signerProviderId,\n )\n return {\n config: { provider: registration.descriptor.id, type: 'provider' },\n context: options.context,\n registrations: [registration],\n }\n }\n if (options.signerAccount !== undefined) {\n return {\n config: { type: 'account' },\n context: {\n caches: {},\n singletons: {},\n ...options.context,\n accounts: {\n ...options.context?.accounts,\n [DefaultAccountKey]: options.signerAccount,\n },\n },\n }\n }\n if (options.signerTransport !== undefined) {\n const connectionHandles = options.context?.connectionHandles\n ?? new SimpleConnectionHandleCache()\n connectionHandles.set(`rpc-transport:${XyoSignerMoniker}`, options.signerTransport)\n return {\n config: { type: 'rpc' },\n context: {\n caches: {},\n singletons: {},\n ...options.context,\n connectionHandles,\n },\n }\n }\n return { context: options.context }\n}\n", "import type {\n BrowserActor,\n BrowserSystemIdentity,\n BrowserSystemSession,\n} from '@ariestools/browser-kit'\nimport type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk'\n\nimport type { CompileXl1BrowserSystemOptions } from './compileXl1BrowserSystem.ts'\nimport { compileXl1BrowserSystem } from './compileXl1BrowserSystem.ts'\nimport {\n launchCompiledXl1BrowserSystem,\n type LaunchCompiledXl1BrowserSystemOptions,\n} from './launchCompiledXl1BrowserSystem.ts'\nimport type { Xl1BrowserProviderRuntimeContext } from './Xl1BrowserProvider.ts'\n\n/** Inputs for launching one owner-resolved XL1 browser provider system. */\nexport interface LaunchXl1BrowserSystemOptions<TActor extends BrowserActor = BrowserActor>\n extends CompileXl1BrowserSystemOptions<TActor> {\n readonly context?: Xl1BrowserProviderRuntimeContext\n readonly host?: string\n readonly identity?: BrowserSystemIdentity\n readonly readyTimeoutMs?: number\n}\n\n/** Parses, resolves, provisions, and starts one XL1 system from browser-safe config. */\nexport async function launchXl1BrowserSystem<TActor extends BrowserActor = BrowserActor>(\n options: LaunchXl1BrowserSystemOptions<TActor>,\n): Promise<BrowserSystemSession<TActor, ProviderFactoryLocatorInstance>> {\n const compiled = compileXl1BrowserSystem(options)\n const runtimeOptions: LaunchCompiledXl1BrowserSystemOptions<TActor> = {\n compiled,\n ...options.context !== undefined && { context: options.context },\n ...options.host !== undefined && { host: options.host },\n ...options.identity !== undefined && { identity: options.identity },\n ...options.readyTimeoutMs !== undefined && { readyTimeoutMs: options.readyTimeoutMs },\n }\n return await launchCompiledXl1BrowserSystem(runtimeOptions)\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["DataLakeRunnerMoniker", "DataLakeViewerMoniker", "XyoGatewayMoniker", "XyoGatewayRunnerMoniker", "XyoGatewayMoniker", "DataLakeViewerMoniker", "XyoGatewayRunnerMoniker", "DataLakeRunnerMoniker", "XyoSignerMoniker", "XyoSignerMoniker"]
7
7
  }
@@ -0,0 +1,15 @@
1
+ import type { BrowserActor, BrowserSystemIdentity, BrowserSystemSession } from '@ariestools/browser-kit';
2
+ import type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk';
3
+ import type { CompiledXl1BrowserSystem } from './compileXl1BrowserSystem.ts';
4
+ import { type Xl1BrowserProviderRuntimeContext } from './Xl1BrowserProvider.ts';
5
+ /** Runtime-only options applied to an already-compiled XL1 browser system. */
6
+ export interface LaunchCompiledXl1BrowserSystemOptions<TActor extends BrowserActor = BrowserActor> {
7
+ readonly compiled: CompiledXl1BrowserSystem<TActor>;
8
+ readonly context?: Xl1BrowserProviderRuntimeContext;
9
+ readonly host?: string;
10
+ readonly identity?: BrowserSystemIdentity;
11
+ readonly readyTimeoutMs?: number;
12
+ }
13
+ /** Provisions and starts one compiled XL1 browser system without resolving it again. */
14
+ export declare function launchCompiledXl1BrowserSystem<TActor extends BrowserActor = BrowserActor>(options: LaunchCompiledXl1BrowserSystemOptions<TActor>): Promise<BrowserSystemSession<TActor, ProviderFactoryLocatorInstance>>;
15
+ //# sourceMappingURL=launchCompiledXl1BrowserSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launchCompiledXl1BrowserSystem.d.ts","sourceRoot":"","sources":["../../src/launchCompiledXl1BrowserSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAGL,KAAK,gCAAgC,EACtC,MAAM,yBAAyB,CAAA;AAEhC,8EAA8E;AAC9E,MAAM,WAAW,qCAAqC,CACpD,MAAM,SAAS,YAAY,GAAG,YAAY;IAE1C,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,gCAAgC,CAAA;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,wFAAwF;AACxF,wBAAsB,8BAA8B,CAClD,MAAM,SAAS,YAAY,GAAG,YAAY,EAE1C,OAAO,EAAE,qCAAqC,CAAC,MAAM,CAAC,GACrD,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,CAiBvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"launchXl1BrowserGatewaySystem.d.ts","sourceRoot":"","sources":["../../src/launchXl1BrowserGatewaySystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EACV,wBAAwB,EACxB,eAAe,EACf,kBAAkB,IAAI,qBAAqB,EAC3C,8BAA8B,EAC9B,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAQ7B,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,uBAAuB,CAAA;AAK9B,OAAO,KAAK,EAEV,gCAAgC,EACjC,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,kDAAkD;AAClD,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,KAAK,CAAA;AAEvD,sEAAsE;AACtE,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,gCAAgC,CAAC,UAAU,CAAC,CAC7C,CAAC,MAAM,CAAC,CAAA;AAET,0EAA0E;AAC1E,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,gCAAgC,CAAA;IACnD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAA;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAA;IAC9D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAA;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,CAAA;IACjD,gFAAgF;IAChF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;IAC5D,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAA;CAC/C;AAED,2EAA2E;AAC3E,MAAM,WAAW,8BACf,SAAQ,oBAAoB,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;IACnF,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,gBAAgB,CAAA;CAChD;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CAoDzC"}
1
+ {"version":3,"file":"launchXl1BrowserGatewaySystem.d.ts","sourceRoot":"","sources":["../../src/launchXl1BrowserGatewaySystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EACV,wBAAwB,EACxB,eAAe,EACf,kBAAkB,IAAI,qBAAqB,EAC3C,8BAA8B,EAC9B,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAQ7B,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,uBAAuB,CAAA;AAK9B,OAAO,KAAK,EAEV,gCAAgC,EACjC,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,kDAAkD;AAClD,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,KAAK,CAAA;AAEvD,sEAAsE;AACtE,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,gCAAgC,CAAC,UAAU,CAAC,CAC7C,CAAC,MAAM,CAAC,CAAA;AAET,0EAA0E;AAC1E,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,gCAAgC,CAAA;IACnD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAA;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAA;IAC9D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAA;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,CAAA;IACjD,gFAAgF;IAChF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;IAC5D,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAA;CAC/C;AAED,2EAA2E;AAC3E,MAAM,WAAW,8BACf,SAAQ,oBAAoB,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;IACnF,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,gBAAgB,CAAA;CAChD;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CAsDzC"}
@@ -1,15 +1,12 @@
1
- import type { BrowserActor, BrowserActorCatalog, BrowserSystemIdentity, BrowserSystemSession } from '@ariestools/browser-kit';
2
- import type { ProviderDescriptor as Xl1ProviderDescriptor, ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk';
3
- import { type Xl1BrowserProviderRegistration, type Xl1BrowserProviderRuntimeContext } from './Xl1BrowserProvider.ts';
1
+ import type { BrowserActor, BrowserSystemIdentity, BrowserSystemSession } from '@ariestools/browser-kit';
2
+ import type { ProviderFactoryLocatorInstance } from '@xyo-network/xl1-sdk';
3
+ import type { CompileXl1BrowserSystemOptions } from './compileXl1BrowserSystem.ts';
4
+ import type { Xl1BrowserProviderRuntimeContext } from './Xl1BrowserProvider.ts';
4
5
  /** Inputs for launching one owner-resolved XL1 browser provider system. */
5
- export interface LaunchXl1BrowserSystemOptions<TActor extends BrowserActor = BrowserActor> {
6
- readonly actorCatalog?: BrowserActorCatalog<TActor, ProviderFactoryLocatorInstance>;
7
- readonly config: unknown;
6
+ export interface LaunchXl1BrowserSystemOptions<TActor extends BrowserActor = BrowserActor> extends CompileXl1BrowserSystemOptions<TActor> {
8
7
  readonly context?: Xl1BrowserProviderRuntimeContext;
9
8
  readonly host?: string;
10
9
  readonly identity?: BrowserSystemIdentity;
11
- readonly providerCandidates?: readonly Xl1ProviderDescriptor[];
12
- readonly providerRegistrations?: readonly Xl1BrowserProviderRegistration[];
13
10
  readonly readyTimeoutMs?: number;
14
11
  }
15
12
  /** Parses, resolves, provisions, and starts one XL1 system from browser-safe config. */
@@ -1 +1 @@
1
- {"version":3,"file":"launchXl1BrowserSystem.d.ts","sourceRoot":"","sources":["../../src/launchXl1BrowserSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EAEnB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,8BAA8B,EAC/B,MAAM,sBAAsB,CAAA;AAM7B,OAAO,EAIL,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EACtC,MAAM,yBAAyB,CAAA;AAGhC,2EAA2E;AAC3E,MAAM,WAAW,6BAA6B,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY;IACvF,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAA;IACnF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,gCAAgC,CAAA;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAA;IAC9D,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,8BAA8B,EAAE,CAAA;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,wFAAwF;AACxF,wBAAsB,sBAAsB,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY,EACrF,OAAO,EAAE,6BAA6B,CAAC,MAAM,CAAC,GAC7C,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,CAsBvE"}
1
+ {"version":3,"file":"launchXl1BrowserSystem.d.ts","sourceRoot":"","sources":["../../src/launchXl1BrowserSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAA;AAMlF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAA;AAE/E,2EAA2E;AAC3E,MAAM,WAAW,6BAA6B,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY,CACvF,SAAQ,8BAA8B,CAAC,MAAM,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,gCAAgC,CAAA;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,wFAAwF;AACxF,wBAAsB,sBAAsB,CAAC,MAAM,SAAS,YAAY,GAAG,YAAY,EACrF,OAAO,EAAE,6BAA6B,CAAC,MAAM,CAAC,GAC7C,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,CAUvE"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xyo-network/xl1-browser-system",
4
- "version": "5.0.16",
4
+ "version": "5.1.1",
5
5
  "description": "Config-driven XL1 provider actor systems for browser runtimes",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -40,18 +40,19 @@
40
40
  "README.md"
41
41
  ],
42
42
  "dependencies": {
43
- "@ariestools/provider-model": "~1.2.1",
44
- "@xyo-network/xl1-sdk": "~5.0.16"
43
+ "@ariestools/provider-model": "~1.3.0",
44
+ "@xyo-network/xl1-sdk": "~5.1.1"
45
45
  },
46
46
  "devDependencies": {
47
- "@ariestools/actor": "~1.2.1",
48
- "@ariestools/actor-model": "~1.2.1",
49
- "@ariestools/browser-kit": "~0.1.1",
50
- "@ariestools/browser-kit-page": "~0.1.1",
51
- "@ariestools/browser-kit-plugin": "~0.1.1",
52
- "@ariestools/browser-kit-service-worker": "~0.1.1",
53
- "@ariestools/browser-kit-worker": "~0.1.1",
54
- "@ariestools/provider": "~1.2.1",
47
+ "@ariestools/actor": "~1.3.0",
48
+ "@ariestools/actor-model": "~1.3.0",
49
+ "@ariestools/actor-system": "~1.3.0",
50
+ "@ariestools/browser-kit": "~1.1.0",
51
+ "@ariestools/browser-kit-page": "~1.1.0",
52
+ "@ariestools/browser-kit-plugin": "~1.1.0",
53
+ "@ariestools/browser-kit-service-worker": "~1.1.0",
54
+ "@ariestools/browser-kit-worker": "~1.1.0",
55
+ "@ariestools/provider": "~1.3.0",
55
56
  "@ariestools/sdk": "~8.1.8",
56
57
  "@ariestools/toolchain": "~8.7.29",
57
58
  "@ariestools/tsconfig": "~8.7.29",
@@ -71,8 +72,8 @@
71
72
  "zod": "~4.4.3"
72
73
  },
73
74
  "peerDependencies": {
74
- "@ariestools/actor": "^1.2",
75
- "@ariestools/browser-kit": "^0.1"
75
+ "@ariestools/actor": "^1.3",
76
+ "@ariestools/browser-kit": "^1.1"
76
77
  },
77
78
  "engines": {
78
79
  "node": ">=22.3"