@xyo-network/xl1-protocol-lib 1.30.2 → 1.30.3

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.
@@ -1,6 +1,18 @@
1
1
  import type { Hash } from '@xylabs/sdk-js';
2
2
  import type { Schema } from '@xyo-network/sdk-js';
3
3
  import type { DataLakeData } from './Provider.ts';
4
+ import type { DataLakeRunnerMethods, DataLakeRunnerMoniker } from './Runner.ts';
5
+ import type { DataLakeViewerMethods, DataLakeViewerMoniker } from './Viewer.ts';
6
+ /**
7
+ * A page-side data lake provider tagged with its capability moniker so
8
+ * consumers can narrow without `instanceof`. Mirrors the codebase-wide
9
+ * `Provider<TMoniker>` discrimination pattern.
10
+ */
11
+ export type ApprovedLakeProvider = (DataLakeViewerMethods & {
12
+ readonly moniker: DataLakeViewerMoniker;
13
+ }) | (DataLakeRunnerMethods & {
14
+ readonly moniker: DataLakeRunnerMoniker;
15
+ });
4
16
  /** Capability the dApp is asking for when calling `requestAccess`. */
5
17
  export type DataLakeCapability = 'viewer' | 'runner' | {
6
18
  read?: boolean;
@@ -43,6 +55,19 @@ export interface DataLakesClient {
43
55
  get: (id: string, hashes: Hash[]) => Promise<DataLakeData[]>;
44
56
  /** Write payloads to the lake bound to `id`. Requires the grant to include the `runner` capability. */
45
57
  insert: (id: string, payloads: DataLakeData[]) => Promise<DataLakeData[]>;
58
+ /**
59
+ * Approved lakes wrapped as ready-to-use providers — one per grant, each
60
+ * with its opaque `id` and the RPC transport already bound so `get` /
61
+ * `insert` can be called without threading the id through. Each element
62
+ * carries a `moniker` matching its capability (`DataLakeViewerMoniker`
63
+ * or `DataLakeRunnerMoniker`); narrow with `if (lake.moniker === ...)`
64
+ * to access runner-only methods. Empty before the first grant.
65
+ *
66
+ * Use this when the dApp wants to hand a lake to code that consumes a
67
+ * viewer / runner methods interface; use {@link list} when you only need
68
+ * raw grant metadata (id, capabilities, schema policy).
69
+ */
70
+ lakes: () => Promise<ApprovedLakeProvider[]>;
46
71
  /** Approved lakes for this origin. Returns an empty list before any grant exists. */
47
72
  list: () => Promise<ApprovedDataLake[]>;
48
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../../src/providers/DataLake/Client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,sEAAsE;AACtE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE1F,qEAAqE;AACrE,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,kBAAkB,CAAA;IAC9B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,YAAY,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAA;IACrC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,uFAAuF;IACvF,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,+FAA+F;IAC/F,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAE5D,uGAAuG;IACvG,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAEzE,qFAAqF;IACrF,IAAI,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IACvC;;;;;;;;OAQG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAElF"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../../src/providers/DataLake/Client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAE/E;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC1B,CAAC,qBAAqB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAAC,GACrE,CAAC,qBAAqB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAAC,CAAA;AAE3E,sEAAsE;AACtE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE1F,qEAAqE;AACrE,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,kBAAkB,CAAA;IAC9B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,YAAY,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAA;IACrC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,uFAAuF;IACvF,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,+FAA+F;IAC/F,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAE5D,uGAAuG;IACvG,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACzE;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAC5C,qFAAqF;IACrF,IAAI,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IACvC;;;;;;;;OAQG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAElF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/xl1-protocol-lib",
3
- "version": "1.30.2",
3
+ "version": "1.30.3",
4
4
  "description": "XYO Layer One Protocol",
5
5
  "homepage": "https://xylabs.com",
6
6
  "bugs": {
@@ -34,7 +34,7 @@
34
34
  "README.md"
35
35
  ],
36
36
  "dependencies": {
37
- "@xyo-network/xl1-protocol-model": "~1.30.2"
37
+ "@xyo-network/xl1-protocol-model": "~1.30.3"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@bitauth/libauth": "~3.0.0",