@oneie/sdk 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/media.js ADDED
@@ -0,0 +1,127 @@
1
+ // media — the client half of "list a WHOLE media library in one read".
2
+ //
3
+ // `media:list` is ONE R2 scan per call with a scan budget (`limit`, default 500,
4
+ // R2's own ceiling 1000) and a cursor. From a caller's point of view that budget
5
+ // is a server fact, not a library, so this driver walks the pages and hands back
6
+ // ONE merged answer that still says how short it is.
7
+ //
8
+ // WHY THE OTHER TWO DOORS HAVE NO DRIVER. The test this repo already applies
9
+ // (`boardAllWith` / `bulkAllWith`) is that a hand-written wrapper earns its place
10
+ // by doing the PAGE WALK or the CHUNKING — never by aliasing a receiver that
11
+ // `ask()` already reaches. `media:upload` and `media:generate` are single calls
12
+ // with no budget to walk, so `client.ask("media:generate", { prompt })` IS the
13
+ // API, and a wrapper would only be a second name for the same door.
14
+ //
15
+ // The driver takes an injected `Asker` rather than a SubstrateClient, for the
16
+ // same reason `tasks-bulk` does: the SDK posts the long form (/api/ask/<r>)
17
+ // while the CLI's default host (api.one.ie) only answers the short form
18
+ // (/ask/<r>). One loop, two transports.
19
+ //
20
+ // Pure: no fetch, no node:*, no Worker-unsafe imports. Browser-safe.
21
+ // Types are derived from receivers.ts — it is truth, and this file must never
22
+ // become a second vocabulary for the same door.
23
+ /** A walk of 20 scans at up to 1000 objects each is 20,000 objects — a whole library for every real workspace. */
24
+ export const MEDIA_PAGE_CEILING = 20;
25
+ function errMsg(e) {
26
+ return e instanceof Error ? e.message : String(e);
27
+ }
28
+ /** Per-page counters SUM. `media:list`'s `total`/`scanned`/`byPrefix` describe THIS
29
+ * answer only ("never a workspace total" — the receiver's own describe()), so keeping
30
+ * the first page's would under-report a walk by exactly the pages it walked. */
31
+ function addCounts(a, b) {
32
+ if (!a && !b)
33
+ return undefined;
34
+ const out = { ...(a ?? {}) };
35
+ for (const [k, v] of Object.entries(b ?? {}))
36
+ out[k] = (out[k] ?? 0) + v;
37
+ return out;
38
+ }
39
+ /**
40
+ * Walk `media:list` until `nextCursor` is absent (ceiling 20 pages).
41
+ *
42
+ * Concatenates `items`; SUMS `total`/`scanned`/`byPrefix` (all three are per-page
43
+ * by contract); keeps the first page's `prefixes` (a static catalogue) and
44
+ * `workspace`; keeps the LAST page's `truncated` — the budget that actually bit.
45
+ *
46
+ * A page that fails STOPS the walk with `ok:false` and the unresolved cursor kept,
47
+ * so a partial library never reads as a complete one. Same when the ceiling is hit
48
+ * with a cursor still in hand: `truncated` is synthesised naming the ceiling, because
49
+ * the one thing this walk must never do is let a short read look whole.
50
+ *
51
+ * `truncated` ABSENT IS NOT FALSE. When it is present, `total` is a FLOOR — report
52
+ * it as "at least N".
53
+ */
54
+ export async function mediaListAllWith(ask, req = {}) {
55
+ let first;
56
+ try {
57
+ first = (await ask("media:list", req));
58
+ }
59
+ catch (e) {
60
+ return { ok: false, error: errMsg(e), pages: 0, items: [] };
61
+ }
62
+ if (!first || first.ok === false)
63
+ return { ...(first ?? { ok: false }), pages: first ? 1 : 0 };
64
+ const items = [...(first.items ?? [])];
65
+ let total = first.total;
66
+ let scanned = first.scanned;
67
+ let byPrefix = first.byPrefix;
68
+ let truncated = first.truncated;
69
+ let cursor = first.nextCursor;
70
+ let pages = 1;
71
+ let error;
72
+ const seen = new Set();
73
+ while (cursor && pages < MEDIA_PAGE_CEILING) {
74
+ if (seen.has(cursor)) {
75
+ error = `media:list page ${pages + 1}: cursor repeated (${cursor})`;
76
+ break;
77
+ }
78
+ seen.add(cursor);
79
+ const { cursor: _drop, ...rest } = req;
80
+ let page;
81
+ try {
82
+ page = (await ask("media:list", { ...rest, cursor }));
83
+ }
84
+ catch (e) {
85
+ error = `media:list page ${pages + 1}: ${errMsg(e)}`;
86
+ break;
87
+ }
88
+ if (!page || page.ok === false) {
89
+ error = `media:list page ${pages + 1}: ${page?.error ?? "failed"}`;
90
+ break;
91
+ }
92
+ pages++;
93
+ items.push(...(page.items ?? []));
94
+ if (page.total !== undefined)
95
+ total = (total ?? 0) + page.total;
96
+ if (page.scanned !== undefined)
97
+ scanned = (scanned ?? 0) + page.scanned;
98
+ byPrefix = addCounts(byPrefix, page.byPrefix);
99
+ // The budget that bit LAST is the one still biting; an earlier page's is spent.
100
+ truncated = page.truncated;
101
+ cursor = page.nextCursor;
102
+ }
103
+ const complete = !cursor;
104
+ if (!complete && !truncated) {
105
+ // Stopped early (ceiling, repeated cursor, or a failed page) with objects still
106
+ // unread and the door not saying so. Say it ourselves rather than answer short in silence.
107
+ truncated = {
108
+ rows: items.length,
109
+ reason: error ?? `walk stopped at the ${MEDIA_PAGE_CEILING}-page ceiling with a cursor outstanding`,
110
+ };
111
+ }
112
+ return {
113
+ ...first,
114
+ ok: error ? false : first.ok,
115
+ ...(error ? { error } : {}),
116
+ items,
117
+ ...(total !== undefined ? { total } : {}),
118
+ ...(scanned !== undefined ? { scanned } : {}),
119
+ ...(byPrefix ? { byPrefix } : {}),
120
+ pages,
121
+ // ABSENT IS NOT FALSE — never write the key when the answer is whole.
122
+ ...(truncated ? { truncated } : {}),
123
+ // Absent = you have them all. Stopped early → keep the cursor so the caller can resume.
124
+ nextCursor: complete ? undefined : cursor,
125
+ };
126
+ }
127
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
@@ -331,6 +331,28 @@ export declare const RECEIVERS: {
331
331
  }, z.core.$strip>, z.ZodObject<{
332
332
  ok: z.ZodBoolean;
333
333
  }, z.core.$strip>>;
334
+ /**
335
+ * TWO PATHS, ONE RECEIVER — and the second one is why `slug`/`parent` exist.
336
+ *
337
+ * Bare (`name` + `type`, no `groupSlug`, no `parent`): unchanged legacy behaviour —
338
+ * a random gid in D1 `world_groups`. That is what a campaign or a collection
339
+ * is, and every existing caller stays on it byte for byte.
340
+ *
341
+ * Substrate (`groupSlug` + `parent`, BOTH required together): the real group unit —
342
+ * a TypeDB `group`, a `hierarchy` edge to the parent, an owner `membership`
343
+ * for the attested caller, and the D1 `owners` row — written by `createGroup`
344
+ * in `one.ie/web/src/lib/group-unit.ts`. Measured 2026-09-16: no shipped
345
+ * receiver could write a group with a PARENT and a chosen slug, so a personal
346
+ * group under a world root had to be typed by hand.
347
+ *
348
+ * The gid's SHAPE differs by path and that is the contract change callers
349
+ * notice: `generateTraceId()` on the bare path, deterministic `group:<slug>`
350
+ * on the substrate one.
351
+ *
352
+ * `parent` NAMES a target; it never authorizes one. The handler walks the
353
+ * caller's control of the parent workspace and refuses otherwise, and the
354
+ * owner it writes is the ATTESTED caller — never a body field.
355
+ */
334
356
  "world:create-group": Receiver<z.ZodObject<{
335
357
  name: z.ZodString;
336
358
  type: z.ZodUnion<[z.ZodOptional<z.ZodEnum<{
@@ -344,6 +366,8 @@ export declare const RECEIVERS: {
344
366
  team: "team";
345
367
  workspace: "workspace";
346
368
  }>>, z.ZodLiteral<"group">]>;
369
+ groupSlug: z.ZodOptional<z.ZodString>;
370
+ parent: z.ZodOptional<z.ZodString>;
347
371
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
348
372
  }, z.core.$strip>, z.ZodObject<{
349
373
  gid: z.ZodString;
@@ -458,6 +482,7 @@ export declare const RECEIVERS: {
458
482
  nickname: z.ZodOptional<z.ZodString>;
459
483
  title: z.ZodOptional<z.ZodString>;
460
484
  avatar: z.ZodOptional<z.ZodString>;
485
+ cover: z.ZodOptional<z.ZodString>;
461
486
  bio: z.ZodOptional<z.ZodString>;
462
487
  email: z.ZodOptional<z.ZodString>;
463
488
  phone: z.ZodOptional<z.ZodString>;
@@ -1762,7 +1787,13 @@ export declare const RECEIVERS: {
1762
1787
  detail: z.ZodOptional<z.ZodString>;
1763
1788
  created: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1764
1789
  matched: z.ZodOptional<z.ZodNumber>;
1790
+ truncated: z.ZodOptional<z.ZodObject<{
1791
+ rows: z.ZodOptional<z.ZodNumber>;
1792
+ edges: z.ZodOptional<z.ZodBoolean>;
1793
+ tags: z.ZodOptional<z.ZodNumber>;
1794
+ }, z.core.$strip>>;
1765
1795
  matchedIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1796
+ rows: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1766
1797
  dryRun: z.ZodOptional<z.ZodBoolean>;
1767
1798
  nextCursor: z.ZodOptional<z.ZodString>;
1768
1799
  results: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -3130,8 +3161,8 @@ export declare const RECEIVERS: {
3130
3161
  workspace: z.ZodOptional<z.ZodString>;
3131
3162
  actor: z.ZodOptional<z.ZodString>;
3132
3163
  kind: z.ZodOptional<z.ZodEnum<{
3133
- human: "human";
3134
3164
  agent: "agent";
3165
+ human: "human";
3135
3166
  }>>;
3136
3167
  addresses: z.ZodOptional<z.ZodObject<{
3137
3168
  sui: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -3864,6 +3895,8 @@ export declare const RECEIVERS: {
3864
3895
  description: z.ZodOptional<z.ZodString>;
3865
3896
  text: z.ZodOptional<z.ZodString>;
3866
3897
  error: z.ZodOptional<z.ZodString>;
3898
+ detail: z.ZodOptional<z.ZodString>;
3899
+ redirects: z.ZodOptional<z.ZodNumber>;
3867
3900
  }, z.core.$strip>>;
3868
3901
  "people:create": Receiver<z.ZodObject<{
3869
3902
  name: z.ZodString;
@@ -4146,8 +4179,8 @@ export declare const RECEIVERS: {
4146
4179
  steps: z.ZodArray<z.ZodObject<{
4147
4180
  id: z.ZodString;
4148
4181
  kind: z.ZodEnum<{
4149
- human: "human";
4150
4182
  agent: "agent";
4183
+ human: "human";
4151
4184
  skill: "skill";
4152
4185
  trigger: "trigger";
4153
4186
  tool: "tool";
@@ -4250,8 +4283,8 @@ export declare const RECEIVERS: {
4250
4283
  add: z.ZodOptional<z.ZodArray<z.ZodObject<{
4251
4284
  tempId: z.ZodString;
4252
4285
  kind: z.ZodEnum<{
4253
- human: "human";
4254
4286
  agent: "agent";
4287
+ human: "human";
4255
4288
  skill: "skill";
4256
4289
  trigger: "trigger";
4257
4290
  tool: "tool";
@@ -4300,8 +4333,8 @@ export declare const RECEIVERS: {
4300
4333
  add: z.ZodOptional<z.ZodArray<z.ZodObject<{
4301
4334
  tempId: z.ZodString;
4302
4335
  kind: z.ZodEnum<{
4303
- human: "human";
4304
4336
  agent: "agent";
4337
+ human: "human";
4305
4338
  skill: "skill";
4306
4339
  trigger: "trigger";
4307
4340
  tool: "tool";
@@ -5270,8 +5303,8 @@ export declare const RECEIVERS: {
5270
5303
  "ui:navigate": Receiver<z.ZodObject<{
5271
5304
  href: z.ZodString;
5272
5305
  reason: z.ZodOptional<z.ZodEnum<{
5273
- select: "select";
5274
5306
  agent: "agent";
5307
+ select: "select";
5275
5308
  command: "command";
5276
5309
  }>>;
5277
5310
  replace: z.ZodOptional<z.ZodBoolean>;
@@ -5280,8 +5313,8 @@ export declare const RECEIVERS: {
5280
5313
  href: z.ZodOptional<z.ZodString>;
5281
5314
  replace: z.ZodOptional<z.ZodBoolean>;
5282
5315
  reason: z.ZodOptional<z.ZodEnum<{
5283
- select: "select";
5284
5316
  agent: "agent";
5317
+ select: "select";
5285
5318
  command: "command";
5286
5319
  }>>;
5287
5320
  audience: z.ZodOptional<z.ZodString>;
@@ -5289,6 +5322,81 @@ export declare const RECEIVERS: {
5289
5322
  note: z.ZodOptional<z.ZodString>;
5290
5323
  error: z.ZodOptional<z.ZodString>;
5291
5324
  }, z.core.$strip>>;
5325
+ "media:list": Receiver<z.ZodObject<{
5326
+ workspace: z.ZodOptional<z.ZodString>;
5327
+ kind: z.ZodOptional<z.ZodEnum<{
5328
+ image: "image";
5329
+ video: "video";
5330
+ }>>;
5331
+ prefix: z.ZodOptional<z.ZodEnum<{
5332
+ brand: "brand";
5333
+ chat: "chat";
5334
+ products: "products";
5335
+ pages: "pages";
5336
+ courses: "courses";
5337
+ media: "media";
5338
+ ads: "ads";
5339
+ }>>;
5340
+ limit: z.ZodOptional<z.ZodNumber>;
5341
+ cursor: z.ZodOptional<z.ZodString>;
5342
+ }, z.core.$strip>, z.ZodObject<{
5343
+ ok: z.ZodBoolean;
5344
+ workspace: z.ZodOptional<z.ZodString>;
5345
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
5346
+ key: z.ZodString;
5347
+ url: z.ZodString;
5348
+ kind: z.ZodEnum<{
5349
+ image: "image";
5350
+ video: "video";
5351
+ }>;
5352
+ prefix: z.ZodString;
5353
+ contentType: z.ZodString;
5354
+ size: z.ZodNullable<z.ZodNumber>;
5355
+ uploaded: z.ZodNullable<z.ZodString>;
5356
+ }, z.core.$strip>>>;
5357
+ total: z.ZodOptional<z.ZodNumber>;
5358
+ scanned: z.ZodOptional<z.ZodNumber>;
5359
+ byPrefix: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
5360
+ prefixes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5361
+ truncated: z.ZodOptional<z.ZodObject<{
5362
+ rows: z.ZodOptional<z.ZodNumber>;
5363
+ scanned: z.ZodOptional<z.ZodNumber>;
5364
+ limit: z.ZodOptional<z.ZodNumber>;
5365
+ reason: z.ZodOptional<z.ZodString>;
5366
+ }, z.core.$strip>>;
5367
+ nextCursor: z.ZodOptional<z.ZodString>;
5368
+ error: z.ZodOptional<z.ZodString>;
5369
+ }, z.core.$strip>>;
5370
+ "media:upload": Receiver<z.ZodObject<{
5371
+ workspace: z.ZodOptional<z.ZodString>;
5372
+ url: z.ZodOptional<z.ZodString>;
5373
+ base64: z.ZodOptional<z.ZodString>;
5374
+ filename: z.ZodOptional<z.ZodString>;
5375
+ contentType: z.ZodOptional<z.ZodString>;
5376
+ }, z.core.$strip>, z.ZodObject<{
5377
+ ok: z.ZodBoolean;
5378
+ workspace: z.ZodOptional<z.ZodString>;
5379
+ key: z.ZodOptional<z.ZodString>;
5380
+ url: z.ZodOptional<z.ZodString>;
5381
+ kind: z.ZodOptional<z.ZodLiteral<"image">>;
5382
+ contentType: z.ZodOptional<z.ZodString>;
5383
+ size: z.ZodOptional<z.ZodNumber>;
5384
+ error: z.ZodOptional<z.ZodString>;
5385
+ }, z.core.$strip>>;
5386
+ "media:generate": Receiver<z.ZodObject<{
5387
+ workspace: z.ZodOptional<z.ZodString>;
5388
+ prompt: z.ZodString;
5389
+ context: z.ZodOptional<z.ZodString>;
5390
+ }, z.core.$strip>, z.ZodObject<{
5391
+ ok: z.ZodBoolean;
5392
+ workspace: z.ZodOptional<z.ZodString>;
5393
+ key: z.ZodOptional<z.ZodString>;
5394
+ url: z.ZodOptional<z.ZodString>;
5395
+ kind: z.ZodOptional<z.ZodLiteral<"image">>;
5396
+ contentType: z.ZodOptional<z.ZodString>;
5397
+ size: z.ZodOptional<z.ZodNumber>;
5398
+ error: z.ZodOptional<z.ZodString>;
5399
+ }, z.core.$strip>>;
5292
5400
  };
5293
5401
  /** A declared receiver name — `keyof` the catalog. */
5294
5402
  export type ReceiverName = keyof typeof RECEIVERS;
@@ -1 +1 @@
1
- {"version":3,"file":"receivers.d.ts","sourceRoot":"","sources":["../src/receivers.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAq3L+B,CAAC;AAErC,sDAAsD;AACtD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC;AAElD,+CAA+C;AAC/C,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,YAAY,IACtC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzF,iDAAiD;AACjD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,YAAY,IACtC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1F;;;;;GAKG;AACH,eAAO,MAAM,OAAO;IAClB,iFAAiF;;IAEjF,wDAAwD;;IAExD,iEAAiE;;IAEjE,mDAAmD;;IAEnD,8DAA8D;;IAE9D,wFAAwF;;CAEvC,CAAC;AAEpD,8BAA8B;AAC9B,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAC"}
1
+ {"version":3,"file":"receivers.d.ts","sourceRoot":"","sources":["../src/receivers.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0hM+B,CAAC;AAErC,sDAAsD;AACtD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC;AAElD,+CAA+C;AAC/C,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,YAAY,IACtC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzF,iDAAiD;AACjD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,YAAY,IACtC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1F;;;;;GAKG;AACH,eAAO,MAAM,OAAO;IAClB,iFAAiF;;IAEjF,wDAAwD;;IAExD,iEAAiE;;IAEjE,mDAAmD;;IAEnD,8DAA8D;;IAE9D,wFAAwF;;CAEvC,CAAC;AAEpD,8BAA8B;AAC9B,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,OAAO,CAAC"}