@unconfirmed/sui-effect 0.1.0 → 0.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.
Files changed (53) hide show
  1. package/AGENTS.md +16 -6
  2. package/CHANGELOG.md +40 -0
  3. package/LLMS.md +1609 -1098
  4. package/README.md +347 -3
  5. package/dist/domain/bcs.d.ts +44 -0
  6. package/dist/domain/bcs.d.ts.map +1 -1
  7. package/dist/domain/bcs.js +57 -0
  8. package/dist/domain/bcs.js.map +1 -1
  9. package/dist/domain/errors.d.ts +63 -21
  10. package/dist/domain/errors.d.ts.map +1 -1
  11. package/dist/domain/errors.js +35 -7
  12. package/dist/domain/errors.js.map +1 -1
  13. package/dist/domain/executed.d.ts +54 -18
  14. package/dist/domain/executed.d.ts.map +1 -1
  15. package/dist/domain/journal-entry.d.ts +6 -2
  16. package/dist/domain/journal-entry.d.ts.map +1 -1
  17. package/dist/domain/schemas.d.ts +207 -66
  18. package/dist/domain/schemas.d.ts.map +1 -1
  19. package/dist/domain/schemas.js +62 -2
  20. package/dist/domain/schemas.js.map +1 -1
  21. package/dist/domain/sui-schema.d.ts +3 -2
  22. package/dist/domain/sui-schema.d.ts.map +1 -1
  23. package/dist/domain/sui-schema.js +3 -2
  24. package/dist/domain/sui-schema.js.map +1 -1
  25. package/dist/extension.d.ts +1 -1
  26. package/dist/extension.d.ts.map +1 -1
  27. package/dist/extension.js +1 -1
  28. package/dist/extension.js.map +1 -1
  29. package/dist/services/SuiCore.d.ts +12 -0
  30. package/dist/services/SuiCore.d.ts.map +1 -1
  31. package/dist/services/SuiCore.js +124 -0
  32. package/dist/services/SuiCore.js.map +1 -1
  33. package/dist/services/SuiCoreFake.d.ts +12 -0
  34. package/dist/services/SuiCoreFake.d.ts.map +1 -1
  35. package/dist/services/SuiCoreFake.js +6 -1
  36. package/dist/services/SuiCoreFake.js.map +1 -1
  37. package/dist/services/SuiExtension.d.ts +127 -14
  38. package/dist/services/SuiExtension.d.ts.map +1 -1
  39. package/dist/services/SuiExtension.js +125 -28
  40. package/dist/services/SuiExtension.js.map +1 -1
  41. package/dist/services/SuiGraphQL.d.ts +13 -0
  42. package/dist/services/SuiGraphQL.d.ts.map +1 -1
  43. package/dist/services/SuiGraphQL.js +13 -0
  44. package/dist/services/SuiGraphQL.js.map +1 -1
  45. package/dist/services/Tx.d.ts +3 -1
  46. package/dist/services/Tx.d.ts.map +1 -1
  47. package/dist/testing.d.ts +21 -3
  48. package/dist/testing.d.ts.map +1 -1
  49. package/dist/testing.js +30 -3
  50. package/dist/testing.js.map +1 -1
  51. package/docs/extensions.md +338 -25
  52. package/examples/extension-template/test/escrow.test.ts +91 -2
  53. package/package.json +3 -2
@@ -798,7 +798,12 @@ const makeInternal = (script, state) => {
798
798
  },
799
799
  getCoinMetadata: async (options) => {
800
800
  record("getCoinMetadata", options);
801
- return unimplemented("getCoinMetadata");
801
+ if (script.coinMetadata === undefined)
802
+ return unimplemented("getCoinMetadata");
803
+ const metadata = script.coinMetadata[options.coinType];
804
+ // A node answers `null` for a coin type with no metadata object, so the
805
+ // fake does too rather than dying: "there is none" is an answer.
806
+ return { coinMetadata: metadata ?? null };
802
807
  },
803
808
  getTransaction: async (options) => {
804
809
  record("getTransaction", options);
@@ -1 +1 @@
1
- {"version":3,"file":"SuiCoreFake.js","sourceRoot":"","sources":["../../src/services/SuiCoreFake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SuiCoreFake.js","sourceRoot":"","sources":["../../src/services/SuiCoreFake.ts"],"names":[],"mappings":"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"}
@@ -19,13 +19,80 @@ import type { Context } from "effect";
19
19
  import { Effect, Layer, Stream } from "effect";
20
20
  import type { Sui, SuiLayerOptions } from "./Sui.ts";
21
21
  import { SuiCore } from "./SuiCore.ts";
22
+ /**
23
+ * A member the Promise face must pass through **whole**, however it is typed.
24
+ *
25
+ * The face recurses into object-typed members — that is what makes
26
+ * `client.miso.protocol.get(id)` work — and the recursion is by *type*, not by
27
+ * declaration style, because an interface-typed namespace is the common case
28
+ * and the old `Record<string, unknown>` bound skipped every one of them while
29
+ * the runtime mapped them anyway. `Uint8Array`, `Date`, `Promise`, arrays and
30
+ * BCS codecs (anything with both `parse` and `serialize`) are recognised
31
+ * leaves. Everything else that is a class instance — a `Schema.Class`, a
32
+ * domain object with Effect-returning methods — is marked by the extension
33
+ * with {@link leaf}, which is the one way to say "this is a value, not a
34
+ * namespace".
35
+ *
36
+ * @since 0.1.1
37
+ */
38
+ export declare const LeafTypeId: unique symbol;
39
+ /** The marker {@link Leaf} carries. Not constructible; {@link leaf} applies it. */
40
+ export interface LeafBrand {
41
+ readonly [LeafTypeId]: true;
42
+ }
43
+ /**
44
+ * `T`, marked as a leaf of the Promise face: it is handed to a Promise consumer
45
+ * exactly as the Effect service holds it.
46
+ *
47
+ * Declare the member as `Leaf<MyClass>` and build it with {@link leaf}. A
48
+ * `Leaf<T>` is still a `T` — every consumer of the Effect face is unaffected.
49
+ *
50
+ * @since 0.1.1
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * import { SuiExtension } from "@unconfirmed/sui-effect/extension"
55
+ *
56
+ * interface MyService {
57
+ * readonly policy: SuiExtension.Leaf<Policy>
58
+ * }
59
+ * // in the layer:
60
+ * const service: MyService = { policy: SuiExtension.leaf(new Policy()) }
61
+ * ```
62
+ */
63
+ export type Leaf<T> = T & LeafBrand;
64
+ /**
65
+ * Marks a value as a {@link Leaf}: the Promise face passes it through untouched
66
+ * instead of walking into it.
67
+ *
68
+ * The registry is a `WeakSet`, so a frozen value can be marked and nothing is
69
+ * added to the value itself. Never fails.
70
+ *
71
+ * @since 0.1.1
72
+ */
73
+ export declare const leaf: <T>(value: T) => Leaf<T>;
74
+ /**
75
+ * A BCS codec, recognised the way the runtime recognises one: both `parse` and
76
+ * `serialize`. `BcsType` is a class instance and has no other stable marker,
77
+ * and a namespace of members never has both of those names.
78
+ */
79
+ interface CodecLike {
80
+ readonly parse: (...args: ReadonlyArray<never>) => unknown;
81
+ readonly serialize: (...args: ReadonlyArray<never>) => unknown;
82
+ }
83
+ /**
84
+ * The object-typed members the face passes through instead of recursing into:
85
+ * a marked {@link Leaf}, a `Uint8Array`, a `Date`, a `Promise`, an array, and a
86
+ * BCS codec.
87
+ */
88
+ type FaceLeaf = LeafBrand | Uint8Array | Date | Promise<unknown> | ReadonlyArray<unknown> | CodecLike;
22
89
  /**
23
90
  * The Promise face of a service interface.
24
91
  *
25
92
  * An `Effect` member becomes a zero-argument method returning a Promise, a
26
93
  * function returning an `Effect` keeps its arguments and returns a Promise, a
27
- * `Stream` member becomes an `AsyncIterable`, a nested plain object of members
28
- * is mapped the same way (platform SDKs namespace their surface as
94
+ * `Stream` member becomes an `AsyncIterable`, a nested object of members is
95
+ * mapped the same way (platform SDKs namespace their surface as
29
96
  * `client.miso.protocol.*`), and anything else passes through untouched.
30
97
  *
31
98
  * **A synchronous member stays synchronous**: a recipe builder
@@ -34,11 +101,22 @@ import { SuiCore } from "./SuiCore.ts";
34
101
  * runtime agrees — see `warm` and `$ready` on {@link fromService} for the
35
102
  * window before it does.
36
103
  *
37
- * **A class instance is a leaf.** The recursion is into plain object literals
38
- * only, which is what the runtime maps; a `BcsType`, a `Schema.Class` instance,
39
- * a `Date`, anything with a prototype of its own passes through whole, in the
40
- * type and at runtime alike. (An interface or class type is not assignable to
41
- * `Record<string, unknown>`, which is what keeps the two in step.)
104
+ * **The recursion is by type, not by declaration style.** Every object-typed
105
+ * member that is not a function, an array, an `Effect`, a `Stream`, a
106
+ * `Uint8Array`, a `Date`, a `Promise`, a BCS codec (both `parse` and
107
+ * `serialize`) or a {@link Leaf} is mapped as a namespace an `interface`
108
+ * exactly like a type alias. Before 0.1.1 the bound was
109
+ * `Record<string, unknown>`, which an interface is not assignable to, so an
110
+ * interface-typed namespace (`readonly protocol: ProtocolService`) kept its
111
+ * `Effect` members **in the type** while the runtime mapped them to Promises.
112
+ * The type lied; it no longer does.
113
+ *
114
+ * **A class instance that is a value, not a namespace, is marked.** The runtime
115
+ * maps plain-prototype objects and passes class instances through, so a class
116
+ * whose methods return `Effect`s would be typed as mapped and arrive unmapped.
117
+ * Declare such a member `Leaf<T>` and build it with {@link leaf}: the type and
118
+ * the runtime then agree that it is a value. `Uint8Array`, `Date`, `Promise`,
119
+ * arrays and BCS codecs need no marker.
42
120
  *
43
121
  * **A plain-object *value* member is the one place the two faces cannot agree.**
44
122
  * `{ packageId: "0x…" }` is indistinguishable from a namespace of members, so
@@ -51,7 +129,7 @@ import { SuiCore } from "./SuiCore.ts";
51
129
  * through an `Effect` member instead.
52
130
  */
53
131
  export type PromiseFace<S> = {
54
- readonly [K in keyof S]: S[K] extends Stream.Stream<infer A, infer _E, infer _R> ? AsyncIterable<A> : S[K] extends Effect.Effect<infer A, infer _E2, infer _R2> ? () => Promise<A> : S[K] extends (...args: infer Args) => Stream.Stream<infer A, infer _E3, infer _R3> ? (...args: Args) => AsyncIterable<A> : S[K] extends (...args: infer Args) => Effect.Effect<infer A, infer _E4, infer _R4> ? (...args: Args) => Promise<A> : S[K] extends Record<string, unknown> ? PromiseFace<S[K]> : S[K];
132
+ readonly [K in keyof S]: S[K] extends Stream.Stream<infer A, infer _E, infer _R> ? AsyncIterable<A> : S[K] extends Effect.Effect<infer A, infer _E2, infer _R2> ? () => Promise<A> : S[K] extends (...args: infer Args) => Stream.Stream<infer A, infer _E3, infer _R3> ? (...args: Args) => AsyncIterable<A> : S[K] extends (...args: infer Args) => Effect.Effect<infer A, infer _E4, infer _R4> ? (...args: Args) => Promise<A> : S[K] extends FaceLeaf ? S[K] : S[K] extends (...args: ReadonlyArray<never>) => unknown ? S[K] : S[K] extends object ? PromiseFace<S[K]> : S[K];
55
133
  };
56
134
  /**
57
135
  * What every registration carries besides the service's own members, under
@@ -117,6 +195,16 @@ export interface SuiExtensionOptions<Self, E, Name extends string = string> {
117
195
  * registers. Every member is then the real thing immediately, and
118
196
  * `$ready()` has nothing left to do.
119
197
  *
198
+ * **Every failure of the layer becomes a synchronous throw.** The whole
199
+ * layer is built inside `register`, so a missing deployment, a bad
200
+ * configuration, a `NetworkMismatch` — anything the layer can fail with —
201
+ * comes out of `client.$extend(...)` as a thrown value rather than as the
202
+ * rejection of a first call. That is the trade `warm` makes, and a consumer
203
+ * has to catch it where it registers.
204
+ *
205
+ * After `$dispose()`, the next use re-runs this same build rather than
206
+ * degrading to a cold registration.
207
+ *
120
208
  * Two conditions, both enforced:
121
209
  *
122
210
  * - **The layer must not perform an asynchronous step.** A layer that reads
@@ -184,7 +272,10 @@ export interface SuiExtensionOptions<Self, E, Name extends string = string> {
184
272
  * Two lifetimes worth knowing:
185
273
  *
186
274
  * - **`$dispose()` is not final.** It releases everything the layer acquired
187
- * and forgets the runtime; the next call builds a fresh one. That is what a
275
+ * and forgets the runtime; the next call builds a fresh one and a `warm`
276
+ * registration re-runs its **warm** build, with the same options, on the next
277
+ * use, so it does not silently degrade to cold with every synchronous member
278
+ * throwing `ExtensionNotReady`. That is what a
188
279
  * long-lived page wants (a disposed extension is usable again after a
189
280
  * reconnect) and it does mean a `$dispose()` that races an in-flight call can
190
281
  * leave the caller's Promise rejected while a new runtime starts behind it.
@@ -195,14 +286,36 @@ export interface SuiExtensionOptions<Self, E, Name extends string = string> {
195
286
  * copies of whatever the layer holds (a cache, a connection). Register once
196
287
  * per client and keep the extended client.
197
288
  *
198
- * Never fails, except a `warm` registration, which throws out of `register`
199
- * when the layer needs an asynchronous step or when the network has no known
200
- * chain identifier and none was given. Otherwise the layer's own failures
201
- * surface as rejections of the first call that needs it.
289
+ * **A cold call is a real `Promise`.** The placeholder a member call returns
290
+ * before the runtime exists is a `Promise` subclass that also implements
291
+ * `Symbol.asyncIterator`, so `instanceof Promise` holds and `bun:test`'s
292
+ * `expect(...).rejects` recognises it. Its rejection is **pre-handled** (a
293
+ * no-op `catch` is attached at creation), so a cold call nobody awaits —
294
+ * `client.ext.doThing()` as a statement — cannot abort the process with an
295
+ * unhandled rejection; an `await` of it still throws `ExtensionNotReady`.
296
+ *
297
+ * Never fails, except a `warm` registration. A warm registration builds the
298
+ * **whole layer** synchronously inside `register`, so **any** failure of that
299
+ * layer — a missing deployment for the network, a configuration error, a
300
+ * `NetworkMismatch`, not only an asynchronous step or an unknown chain
301
+ * identifier — is thrown synchronously out of `register`, which means out of
302
+ * `client.$extend(...)`. Catch it where you register. A lazy registration has
303
+ * nowhere to put such a failure at registration time, so it surfaces as the
304
+ * rejection of the first call that needs the layer.
202
305
  */
203
306
  export declare const fromService: <Self, Shape, E, const Name extends string>(service: Context.Key<Self, Shape>, options: SuiExtensionOptions<Self, E, Name>) => SuiClientRegistration<ClientWithCoreApi, Name, PromiseFace<Shape> & ExtensionFace>;
204
- /** The namespace the spec spells: `SuiExtension.fromService(...)`. */
307
+ /**
308
+ * The namespace the spec spells: `SuiExtension.fromService(...)`, plus the
309
+ * leaf marker a service uses to say "this member is a value, not a namespace"
310
+ * (`SuiExtension.leaf(value)`, typed `SuiExtension.Leaf<T>`).
311
+ */
205
312
  export declare const SuiExtension: {
206
313
  readonly fromService: <Self, Shape, E, const Name extends string>(service: Context.Key<Self, Shape>, options: SuiExtensionOptions<Self, E, Name>) => SuiClientRegistration<ClientWithCoreApi, Name, PromiseFace<Shape> & ExtensionFace>;
314
+ readonly leaf: <T>(value: T) => Leaf<T>;
207
315
  };
316
+ export declare namespace SuiExtension {
317
+ /** {@link Leaf} under the namespace the spec spells. */
318
+ type Leaf<T> = T & LeafBrand;
319
+ }
320
+ export {};
208
321
  //# sourceMappingURL=SuiExtension.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuiExtension.d.ts","sourceRoot":"","sources":["../../src/services/SuiExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SuiExtension.d.ts","sourceRoot":"","sources":["../../src/services/SuiExtension.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,22 @@ import { ExtensionNotReady, NetworkMismatch } from "../domain/errors.js";
3
3
  import { KNOWN_CHAIN_IDS } from "../domain/schemas.js";
4
4
  import { Sui as SuiService } from "./Sui.js";
5
5
  import { SuiCore } from "./SuiCore.js";
6
+ const LEAVES = new WeakSet();
7
+ /**
8
+ * Marks a value as a {@link Leaf}: the Promise face passes it through untouched
9
+ * instead of walking into it.
10
+ *
11
+ * The registry is a `WeakSet`, so a frozen value can be marked and nothing is
12
+ * added to the value itself. Never fails.
13
+ *
14
+ * @since 0.1.1
15
+ */
16
+ export const leaf = (value) => {
17
+ if (typeof value === "object" && value !== null)
18
+ LEAVES.add(value);
19
+ return value;
20
+ };
21
+ const isLeafValue = (value) => typeof value === "object" && value !== null && LEAVES.has(value);
6
22
  /** The names the face adds to every service, which a member cannot shadow. */
7
23
  const RESERVED = ["$ready", "$dispose", "dispose"];
8
24
  const isEffect = (value) => typeof value === "object" && value !== null && Effect.isEffect(value);
@@ -74,7 +90,48 @@ const assertedBase = (entry, chainId) => {
74
90
  }
75
91
  return entry.asserted;
76
92
  };
93
+ /**
94
+ * The placeholder a **cold** member call returns.
95
+ *
96
+ * It is a real `Promise` subclass — `instanceof Promise` holds, and `bun:test`'s
97
+ * `expect(...).rejects` recognises it — that also implements
98
+ * `Symbol.asyncIterator`, because until the runtime exists nothing knows
99
+ * whether the member was an `Effect` (a Promise) or a `Stream` (an
100
+ * `AsyncIterable`). `Symbol.species` is `Promise`, so `.then`, `.catch` and
101
+ * `.finally` produce plain Promises rather than more of these.
102
+ */
103
+ class ColdCall extends Promise {
104
+ static get [Symbol.species]() {
105
+ return Promise;
106
+ }
107
+ }
108
+ /**
109
+ * The cold placeholder, with its rejection **pre-handled**.
110
+ *
111
+ * A cold call that nobody awaits — `client.ext.doThing()` as a statement —
112
+ * still rejects with `ExtensionNotReady`, and an unhandled rejection aborts the
113
+ * process under Bun and Node. Attaching a no-op `catch` marks it handled
114
+ * without changing what `await` does: the caller's own `await` still throws.
115
+ * Never fails.
116
+ */
117
+ const coldCall = (settled, iterate) => {
118
+ const placeholder = new ColdCall((resolve, reject) => {
119
+ settled.then(resolve, reject);
120
+ });
121
+ // Handled, so an un-awaited cold call is a no-op rather than a process abort.
122
+ void placeholder.catch(() => { });
123
+ Object.defineProperty(placeholder, Symbol.asyncIterator, {
124
+ value: iterate,
125
+ enumerable: false,
126
+ configurable: true
127
+ });
128
+ return placeholder;
129
+ };
77
130
  const mapMember = (value, bridge) => {
131
+ // A marked leaf is a value, whatever it looks like: the one way an extension
132
+ // says "do not walk into this".
133
+ if (isLeafValue(value))
134
+ return value;
78
135
  if (isStream(value))
79
136
  return bridge.iterate(value);
80
137
  if (isEffect(value))
@@ -133,7 +190,10 @@ const mapMember = (value, bridge) => {
133
190
  * Two lifetimes worth knowing:
134
191
  *
135
192
  * - **`$dispose()` is not final.** It releases everything the layer acquired
136
- * and forgets the runtime; the next call builds a fresh one. That is what a
193
+ * and forgets the runtime; the next call builds a fresh one and a `warm`
194
+ * registration re-runs its **warm** build, with the same options, on the next
195
+ * use, so it does not silently degrade to cold with every synchronous member
196
+ * throwing `ExtensionNotReady`. That is what a
137
197
  * long-lived page wants (a disposed extension is usable again after a
138
198
  * reconnect) and it does mean a `$dispose()` that races an in-flight call can
139
199
  * leave the caller's Promise rejected while a new runtime starts behind it.
@@ -144,10 +204,22 @@ const mapMember = (value, bridge) => {
144
204
  * copies of whatever the layer holds (a cache, a connection). Register once
145
205
  * per client and keep the extended client.
146
206
  *
147
- * Never fails, except a `warm` registration, which throws out of `register`
148
- * when the layer needs an asynchronous step or when the network has no known
149
- * chain identifier and none was given. Otherwise the layer's own failures
150
- * surface as rejections of the first call that needs it.
207
+ * **A cold call is a real `Promise`.** The placeholder a member call returns
208
+ * before the runtime exists is a `Promise` subclass that also implements
209
+ * `Symbol.asyncIterator`, so `instanceof Promise` holds and `bun:test`'s
210
+ * `expect(...).rejects` recognises it. Its rejection is **pre-handled** (a
211
+ * no-op `catch` is attached at creation), so a cold call nobody awaits —
212
+ * `client.ext.doThing()` as a statement — cannot abort the process with an
213
+ * unhandled rejection; an `await` of it still throws `ExtensionNotReady`.
214
+ *
215
+ * Never fails, except a `warm` registration. A warm registration builds the
216
+ * **whole layer** synchronously inside `register`, so **any** failure of that
217
+ * layer — a missing deployment for the network, a configuration error, a
218
+ * `NetworkMismatch`, not only an asynchronous step or an unknown chain
219
+ * identifier — is thrown synchronously out of `register`, which means out of
220
+ * `client.$extend(...)`. Catch it where you register. A lazy registration has
221
+ * nowhere to put such a failure at registration time, so it surfaces as the
222
+ * rejection of the first call that needs the layer.
151
223
  */
152
224
  export const fromService = (service, options) => ({
153
225
  name: options.name,
@@ -265,21 +337,16 @@ export const fromService = (service, options) => ({
265
337
  // method as `Promise` and a `Stream`-returning one as `AsyncIterable`;
266
338
  // a bare Promise of an `AsyncIterable` satisfies neither `for await`
267
339
  // nor the declared type, which is what a cold Stream call used to hand
268
- // back. So the returned value is a thenable **and** an async iterable:
269
- // awaited it is the Promise, iterated it awaits the runtime and then
270
- // delegates to the real stream.
271
- return {
272
- then: (onFulfilled, onRejected) => settled.then(onFulfilled, onRejected),
273
- catch: (onRejected) => settled.catch(onRejected),
274
- finally: (onFinally) => settled.finally(onFinally),
275
- [Symbol.asyncIterator]: async function* () {
276
- const value = await settled;
277
- if (typeof value !== "object" || value === null || !(Symbol.asyncIterator in value)) {
278
- throw notReady(path);
279
- }
280
- yield* value;
340
+ // back. So the returned value is a **real `Promise`** and an async
341
+ // iterable: awaited it is the Promise, iterated it awaits the runtime
342
+ // and then delegates to the real stream.
343
+ return coldCall(settled, async function* () {
344
+ const value = await settled;
345
+ if (typeof value !== "object" || value === null || !(Symbol.asyncIterator in value)) {
346
+ throw notReady(path);
281
347
  }
282
- };
348
+ yield* value;
349
+ });
283
350
  };
284
351
  // Every synchronous use of a placeholder — a plain value read as a
285
352
  // string, a number, a JSON payload — lands on one of these, and each one
@@ -319,6 +386,26 @@ export const fromService = (service, options) => ({
319
386
  };
320
387
  if (options.warm !== undefined)
321
388
  warmUp(options.warm);
389
+ /**
390
+ * A warm registration stays warm across `$dispose()`.
391
+ *
392
+ * `$dispose()` releases the runtime and forgets the service; a lazy
393
+ * registration builds a fresh one on the next call, which is what it does
394
+ * from the start. A **warm** one used to degrade to cold instead — every
395
+ * synchronous member throwing `ExtensionNotReady` forever after, which is
396
+ * exactly what `warm` was chosen to avoid. So the next use re-runs the same
397
+ * warm build, with the same options: synchronous inside this read, over the
398
+ * shared base, taking the same pinned chain id.
399
+ *
400
+ * It throws what `register` would have thrown, at the property read rather
401
+ * than at registration, for the same two reasons (an asynchronous layer, an
402
+ * unknown chain id) — neither of which can appear here without having
403
+ * appeared at `register` already.
404
+ */
405
+ const ensureWarm = () => {
406
+ if (instance === undefined && options.warm !== undefined)
407
+ warmUp(options.warm);
408
+ };
322
409
  const own = (key) => {
323
410
  if (key === "$ready")
324
411
  return ready;
@@ -333,23 +420,33 @@ export const fromService = (service, options) => ({
333
420
  const reserved = own(key);
334
421
  if (reserved !== undefined)
335
422
  return reserved;
423
+ ensureWarm();
336
424
  if (instance !== undefined) {
337
425
  const member = instance[key];
338
426
  return member === undefined ? undefined : mapMember(member, bridge);
339
427
  }
340
428
  return lazy([key]);
341
429
  },
342
- has: (_target, key) => key === "$ready" || key === "$dispose" || key === "dispose" ||
343
- (instance !== undefined && typeof key === "string" && key in instance),
344
- ownKeys: () => instance === undefined
345
- ? [...RESERVED]
346
- // A `Proxy` refuses duplicate keys, so a service member that happens
347
- // to be called `dispose` must not be listed twice.
348
- : [...new Set([...Object.keys(instance), ...RESERVED])],
430
+ has: (_target, key) => {
431
+ if (key === "$ready" || key === "$dispose" || key === "dispose")
432
+ return true;
433
+ ensureWarm();
434
+ return instance !== undefined && typeof key === "string" && key in instance;
435
+ },
436
+ ownKeys: () => (ensureWarm(),
437
+ instance === undefined
438
+ ? [...RESERVED]
439
+ // A `Proxy` refuses duplicate keys, so a service member that happens
440
+ // to be called `dispose` must not be listed twice.
441
+ : [...new Set([...Object.keys(instance), ...RESERVED])]),
349
442
  getOwnPropertyDescriptor: () => ({ configurable: true, enumerable: true })
350
443
  });
351
444
  }
352
445
  });
353
- /** The namespace the spec spells: `SuiExtension.fromService(...)`. */
354
- export const SuiExtension = { fromService };
446
+ /**
447
+ * The namespace the spec spells: `SuiExtension.fromService(...)`, plus the
448
+ * leaf marker a service uses to say "this member is a value, not a namespace"
449
+ * (`SuiExtension.leaf(value)`, typed `SuiExtension.Leaf<T>`).
450
+ */
451
+ export const SuiExtension = { fromService, leaf };
355
452
  //# sourceMappingURL=SuiExtension.js.map