@laserdata/laser-sdk 0.1.1 → 0.2.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.
Files changed (107) hide show
  1. package/README.md +63 -3
  2. package/dist/bridges/a2a.d.ts +1 -1
  3. package/dist/bridges/a2a.js +1 -1
  4. package/dist/client/capabilities.d.ts +9 -1
  5. package/dist/client/capabilities.d.ts.map +1 -1
  6. package/dist/client/capabilities.js +48 -20
  7. package/dist/client/capabilities.js.map +1 -1
  8. package/dist/client/laser.d.ts +8 -0
  9. package/dist/client/laser.d.ts.map +1 -1
  10. package/dist/client/laser.js +41 -9
  11. package/dist/client/laser.js.map +1 -1
  12. package/dist/full.d.ts +1 -0
  13. package/dist/full.d.ts.map +1 -1
  14. package/dist/full.js +1 -0
  15. package/dist/full.js.map +1 -1
  16. package/dist/iggy/apache-iggy.d.ts.map +1 -1
  17. package/dist/iggy/apache-iggy.js +1 -6
  18. package/dist/iggy/apache-iggy.js.map +1 -1
  19. package/dist/index.d.ts +8 -3
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +3 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/managed/destinations.d.ts +19 -0
  24. package/dist/managed/destinations.d.ts.map +1 -0
  25. package/dist/managed/destinations.js +90 -0
  26. package/dist/managed/destinations.js.map +1 -0
  27. package/dist/managed/query.d.ts +26 -19
  28. package/dist/managed/query.d.ts.map +1 -1
  29. package/dist/managed/query.js +97 -55
  30. package/dist/managed/query.js.map +1 -1
  31. package/dist/stream/publish.d.ts +3 -0
  32. package/dist/stream/publish.d.ts.map +1 -1
  33. package/dist/stream/publish.js +25 -0
  34. package/dist/stream/publish.js.map +1 -1
  35. package/dist/stream/record.d.ts +4 -1
  36. package/dist/stream/record.d.ts.map +1 -1
  37. package/dist/stream/record.js +34 -3
  38. package/dist/stream/record.js.map +1 -1
  39. package/dist/wire/arrow.d.ts +39 -0
  40. package/dist/wire/arrow.d.ts.map +1 -0
  41. package/dist/wire/arrow.js +133 -0
  42. package/dist/wire/arrow.js.map +1 -0
  43. package/dist/wire/cbor.d.ts +9 -1
  44. package/dist/wire/cbor.d.ts.map +1 -1
  45. package/dist/wire/cbor.js +45 -2
  46. package/dist/wire/cbor.js.map +1 -1
  47. package/dist/wire/checkpoint.d.ts +386 -0
  48. package/dist/wire/checkpoint.d.ts.map +1 -0
  49. package/dist/wire/checkpoint.js +1373 -0
  50. package/dist/wire/checkpoint.js.map +1 -0
  51. package/dist/wire/codes.d.ts +8 -0
  52. package/dist/wire/codes.d.ts.map +1 -1
  53. package/dist/wire/codes.js +9 -0
  54. package/dist/wire/codes.js.map +1 -1
  55. package/dist/wire/commands.d.ts +11 -3
  56. package/dist/wire/commands.d.ts.map +1 -1
  57. package/dist/wire/commands.js +69 -3
  58. package/dist/wire/commands.js.map +1 -1
  59. package/dist/wire/control.d.ts +3 -12
  60. package/dist/wire/control.d.ts.map +1 -1
  61. package/dist/wire/control.js +10 -43
  62. package/dist/wire/control.js.map +1 -1
  63. package/dist/wire/destination.d.ts +86 -0
  64. package/dist/wire/destination.d.ts.map +1 -0
  65. package/dist/wire/destination.js +251 -0
  66. package/dist/wire/destination.js.map +1 -0
  67. package/dist/wire/headers.d.ts +1 -0
  68. package/dist/wire/headers.d.ts.map +1 -1
  69. package/dist/wire/headers.js +1 -0
  70. package/dist/wire/headers.js.map +1 -1
  71. package/dist/wire/hello.d.ts +82 -11
  72. package/dist/wire/hello.d.ts.map +1 -1
  73. package/dist/wire/hello.js +291 -73
  74. package/dist/wire/hello.js.map +1 -1
  75. package/dist/wire/http.d.ts +152 -1
  76. package/dist/wire/http.d.ts.map +1 -1
  77. package/dist/wire/http.js +487 -8
  78. package/dist/wire/http.js.map +1 -1
  79. package/dist/wire/ids.d.ts +60 -0
  80. package/dist/wire/ids.d.ts.map +1 -1
  81. package/dist/wire/ids.js +143 -0
  82. package/dist/wire/ids.js.map +1 -1
  83. package/dist/wire/index.d.ts +5 -0
  84. package/dist/wire/index.d.ts.map +1 -1
  85. package/dist/wire/index.js +5 -0
  86. package/dist/wire/index.js.map +1 -1
  87. package/dist/wire/limits.d.ts +7 -0
  88. package/dist/wire/limits.d.ts.map +1 -1
  89. package/dist/wire/limits.js +7 -0
  90. package/dist/wire/limits.js.map +1 -1
  91. package/dist/wire/query.d.ts +192 -97
  92. package/dist/wire/query.d.ts.map +1 -1
  93. package/dist/wire/query.js +968 -443
  94. package/dist/wire/query.js.map +1 -1
  95. package/dist/wire/result.d.ts +6 -0
  96. package/dist/wire/result.d.ts.map +1 -1
  97. package/dist/wire/result.js +19 -2
  98. package/dist/wire/result.js.map +1 -1
  99. package/dist/wire/schema.d.ts +121 -0
  100. package/dist/wire/schema.d.ts.map +1 -0
  101. package/dist/wire/schema.js +778 -0
  102. package/dist/wire/schema.js.map +1 -0
  103. package/dist/wire/source.d.ts +35 -0
  104. package/dist/wire/source.d.ts.map +1 -0
  105. package/dist/wire/source.js +105 -0
  106. package/dist/wire/source.js.map +1 -0
  107. package/package.json +5 -5
package/README.md CHANGED
@@ -4,7 +4,7 @@ The native TypeScript client for [LaserData, Inc.](https://laserdata.com) SDK ov
4
4
 
5
5
  This prerelease targets Node 22.14 or later. Bun, Deno, and browsers are not supported because the Apache Iggy transport uses Node TCP and TLS APIs.
6
6
 
7
- > **Current pre-1.0 release (`0.1.1`).** The wire contract and public API follow semantic versioning. Minor releases may contain breaking changes until `1.0.0`.
7
+ > **Current pre-1.0 release (`0.2.0`).** The wire contract and public API follow semantic versioning. Minor releases may contain breaking changes until `1.0.0`.
8
8
 
9
9
  ## Install
10
10
 
@@ -35,7 +35,7 @@ Use the bare `user:password@host:port` connection string. The SDK supplies the A
35
35
 
36
36
  Owned connections retry the initial handshake and reconnect after a dropped socket, with unlimited retries at one-second intervals by default. Set `reconnection_retries` to a non-negative integer and `reconnection_interval` to `250ms`, `1s`, or `1m` in the connection string to tune the policy. An injected client remains under its caller's lifecycle and reconnect policy.
37
37
 
38
- The TypeScript SDK pins Apache Iggy `0.9.0-edge.1` and always constructs a VSR client. There is no protocol option in the Laser API. An injected Apache Iggy client must also use VSR and is rejected before use otherwise.
38
+ The TypeScript SDK uses Iggy's native VSR transport for owned and injected clients.
39
39
 
40
40
  ## Streaming model
41
41
 
@@ -89,9 +89,13 @@ LaserData Cloud and Laser Stack announce their capabilities during connection se
89
89
  The root client exposes query, projections, bindings, schemas, key-value and CAS, forks, graph traversal, RBAC, runs, watch feeds, and independent managed command batches. Query uses the managed command path, not a request topic. Every command is encoded through the same Rust-owned AGDX fixtures consumed by the other SDKs.
90
90
 
91
91
  ```ts
92
- import { graphNodeEntity } from "@laserdata/laser-sdk"
92
+ import { graphNodeEntity, queryResultValue, typedValueDiagnosticText } from "@laserdata/laser-sdk"
93
93
 
94
94
  const paid = await laser.query("orders_v1").whereEq("status", "paid").limit(20).fetch()
95
+ for (const row of paid.rows) {
96
+ const total = queryResultValue(paid, row, "total")
97
+ console.log(total === undefined ? "missing" : typedValueDiagnosticText(total))
98
+ }
95
99
 
96
100
  const key = new TextEncoder().encode("user:42")
97
101
  const session = { cart: ["sku-1"] }
@@ -102,6 +106,62 @@ const checkout = graphNodeEntity("Service", "checkout")
102
106
  const nearby = await laser.graph("ops").neighbors(checkout.id, "out", undefined, 2)
103
107
  ```
104
108
 
109
+ Query results are schema-first. `result.fields` defines the ordered logical fields and each `row.values` array is positionally aligned with it. Tagged values preserve integer widths, decimal precision, timestamps, UUIDs, bytes, nested values, and nullability. `queryResultValue()` performs the field-name lookup and `typedValueDiagnosticText()` provides stable display output.
110
+
111
+ The initial page may use an offset. Every continuation follows the opaque `nextCursor` returned by the server. `hasMore` is true exactly when that cursor is present. `fetchAll()` follows cursors automatically, while each inline page remains capped at 1000 rows.
112
+
113
+ A query has a stable execution identity and absolute deadline. `status()` and `cancel()` use dedicated managed commands and fail locally when the deployment does not advertise those capabilities:
114
+
115
+ ```ts
116
+ const request = laser.query("orders_v1").filterGte("total", 100).deadlineMicros(deadlineMicros)
117
+ const page = await request.fetch()
118
+ const status = await request.status()
119
+ if (status.state === "running") await request.cancel()
120
+ ```
121
+
122
+ Lakehouse queries name one destination generation and may select a retained snapshot:
123
+
124
+ ```ts
125
+ const historical = await laser
126
+ .queryLakehouse(destinationId, destinationGeneration)
127
+ .atSnapshot(snapshotId)
128
+ .filterEq("customer_id", "alice")
129
+ .limit(100)
130
+ .fetch()
131
+
132
+ console.log(historical.context.resolvedTarget, historical.context.boundary)
133
+ ```
134
+
135
+ The result context proves the resolved engine and target. Lakehouse pages also prove destination and backend generations, table UUID, snapshot, schema and partition-spec IDs, materialization boundary, checkpoint revision, and global-state revision.
136
+
137
+ Destination declarations and explicit query routes use `laser.destinations()`. Reads choose potentially stale or linearizable checkpoint state, while writes compare the expected global and definition revisions:
138
+
139
+ ```ts
140
+ const destinations = laser.destinations()
141
+ const page = await destinations.list({}, undefined, 50, "linearizable")
142
+ const routes = await destinations.queryRoutes("orders", undefined, 50)
143
+ const current = await destinations.get(destinationId, "linearizable")
144
+ ```
145
+
146
+ For analytical batches, publish one complete self-contained Arrow IPC stream per message. The SDK validates the metadata and exact byte length before transport I/O:
147
+
148
+ ```ts
149
+ await topic
150
+ .publish()
151
+ .arrowIpc(arrowStream, {
152
+ contractVersion: 1,
153
+ schemaFingerprint,
154
+ encodedBytes: BigInt(arrowStream.length),
155
+ fieldCount: 8,
156
+ recordBatchCount: 1,
157
+ rowCount: 10_000n,
158
+ dictionaryCount: 0
159
+ })
160
+ .send()
161
+ ```
162
+
163
+ Arrow input must use stream format, be self-contained, use microsecond timestamps, avoid dictionary replacements and deltas, keep decimals within 128 bits, and contain no unions or extension types.
164
+
105
165
  Accessors are cheap to construct. I/O happens at terminal verbs such as `send()`, `fetch()`, `poll()`, and `nextWithin()`.
106
166
 
107
167
  Durable memory can use the default audit topic through `laser.memory(namespace)`, an existing isolated topic through `laser.memoryOnTopic(topic)`, or a configured topic:
@@ -6,7 +6,7 @@ import { type AgentEnvelope, type CapabilityDescriptor, type ContentRef, type Ta
6
6
  export declare const A2A_PROTOCOL_VERSION = "1.0";
7
7
  export declare const A2A_JSONRPC_BINDING = "JSONRPC";
8
8
  export declare const A2A_APP_ERROR_CODE = -32000;
9
- export declare const SDK_VERSION = "0.1.1";
9
+ export declare const SDK_VERSION = "0.2.0";
10
10
  export declare const A2aMethod: {
11
11
  readonly MessageSend: "SendMessage";
12
12
  readonly MessageStream: "SendStreamingMessage";
@@ -9,7 +9,7 @@ import { bridgeHopMetadata, enterBridge } from "./hops.js";
9
9
  export const A2A_PROTOCOL_VERSION = "1.0";
10
10
  export const A2A_JSONRPC_BINDING = "JSONRPC";
11
11
  export const A2A_APP_ERROR_CODE = -32_000;
12
- export const SDK_VERSION = "0.1.1";
12
+ export const SDK_VERSION = "0.2.0";
13
13
  export const A2aMethod = {
14
14
  MessageSend: "SendMessage",
15
15
  MessageStream: "SendStreamingMessage",
@@ -5,6 +5,13 @@ export interface QueryCapabilities {
5
5
  readonly available: boolean;
6
6
  readonly consistency: Consistency;
7
7
  readonly keyword: boolean;
8
+ readonly cursorPaging: boolean;
9
+ readonly cancellation: boolean;
10
+ readonly executionStatus: boolean;
11
+ }
12
+ export interface DestinationCapabilities {
13
+ readonly available: boolean;
14
+ readonly checkpointVersion: number;
8
15
  }
9
16
  export interface KvCapabilities {
10
17
  readonly available: boolean;
@@ -14,6 +21,7 @@ export interface KvCapabilities {
14
21
  export interface Capabilities {
15
22
  readonly managed: boolean;
16
23
  readonly query: QueryCapabilities;
24
+ readonly destinations: DestinationCapabilities;
17
25
  readonly kv: KvCapabilities;
18
26
  readonly graph: boolean;
19
27
  readonly forks: boolean;
@@ -27,7 +35,7 @@ export interface Capabilities {
27
35
  readonly backends: readonly BackendDescriptor[];
28
36
  readonly topology?: WireTopology;
29
37
  }
30
- export type CapabilitySurface = "managed" | "query" | "kv" | "kvCas" | "kvCasFenced" | "graph" | "forks" | "agentWorkflow" | "watch" | "authz";
38
+ export type CapabilitySurface = "managed" | "query" | "destinations" | "kv" | "kvCas" | "kvCasFenced" | "graph" | "forks" | "agentWorkflow" | "watch" | "authz";
31
39
  export declare const OPEN_CAPABILITIES: Capabilities;
32
40
  export declare function managedCapabilitiesWithUnknownVersions(): Capabilities;
33
41
  export declare function managedCapabilitiesFrom(announce: BackendAnnounce): Capabilities;
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/client/capabilities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CACjC;AAED,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,OAAO,GACP,IAAI,GACJ,OAAO,GACP,aAAa,GACb,OAAO,GACP,OAAO,GACP,eAAe,GACf,OAAO,GACP,OAAO,CAAA;AAEX,eAAO,MAAM,iBAAiB,EAAE,YAa9B,CAAA;AAYF,wBAAgB,sCAAsC,IAAI,YAAY,CAErE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,CA6B/E;AAQD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,YAAY,CAqCjG;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAEzF;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CA0B9F"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/client/capabilities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAA;IAC9C,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CACjC;AAED,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,OAAO,GACP,cAAc,GACd,IAAI,GACJ,OAAO,GACP,aAAa,GACb,OAAO,GACP,OAAO,GACP,eAAe,GACf,OAAO,GACP,OAAO,CAAA;AAEX,eAAO,MAAM,iBAAiB,EAAE,YAqB9B,CAAA;AAYF,wBAAgB,sCAAsC,IAAI,YAAY,CAErE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,CAyC/E;AAQD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,YAAY,CA+CjG;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAEzF;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CA4B9F"}
@@ -2,7 +2,15 @@ import { UnsupportedError } from "./errors.js";
2
2
  import { Feature, opVersionsHasFeature } from "../wire/hello.js";
3
3
  export const OPEN_CAPABILITIES = Object.freeze({
4
4
  managed: false,
5
- query: Object.freeze({ available: false, consistency: "eventual", keyword: false }),
5
+ query: Object.freeze({
6
+ available: false,
7
+ consistency: "eventual",
8
+ keyword: false,
9
+ cursorPaging: false,
10
+ cancellation: false,
11
+ executionStatus: false
12
+ }),
13
+ destinations: Object.freeze({ available: false, checkpointVersion: 0 }),
6
14
  kv: Object.freeze({ available: false, cas: false, casFenced: false }),
7
15
  graph: false,
8
16
  forks: false,
@@ -32,14 +40,25 @@ export function managedCapabilitiesFrom(announce) {
32
40
  const consistency = opVersionsHasFeature(versions, Feature.STRONG_CONSISTENCY)
33
41
  ? "strong"
34
42
  : opVersionsHasFeature(versions, Feature.READ_YOUR_WRITES)
35
- ? "readYourWrites"
43
+ ? "read_your_writes"
36
44
  : "eventual";
45
+ const readyBackends = ready ? announce.backends.filter((backend) => backend.readiness.ready) : [];
46
+ const queryCapabilities = readyBackends.flatMap((backend) => backend.query ?? []);
37
47
  return {
38
48
  ...(ready ? managedBase() : OPEN_CAPABILITIES),
39
49
  query: {
40
50
  available: ready && versions.query > 0,
41
51
  consistency: ready ? consistency : "eventual",
42
- keyword: ready && opVersionsHasFeature(versions, Feature.KEYWORD_SEARCH)
52
+ keyword: ready && opVersionsHasFeature(versions, Feature.KEYWORD_SEARCH),
53
+ cursorPaging: queryCapabilities.some((query) => query.paging.includes("cursor")),
54
+ cancellation: queryCapabilities.some((query) => query.cancellation),
55
+ executionStatus: queryCapabilities.some((query) => query.executionStatus)
56
+ },
57
+ destinations: {
58
+ available: ready &&
59
+ (versions.checkpoint ?? 0) > 0 &&
60
+ opVersionsHasFeature(versions, Feature.DESTINATIONS),
61
+ checkpointVersion: versions.checkpoint ?? 0
43
62
  },
44
63
  kv: {
45
64
  available: ready && versions.kv > 0,
@@ -58,7 +77,7 @@ export function managedCapabilitiesFrom(announce) {
58
77
  }
59
78
  const CONSISTENCY_RANK = {
60
79
  eventual: 0,
61
- readYourWrites: 1,
80
+ read_your_writes: 1,
62
81
  strong: 2
63
82
  };
64
83
  export function mergeCapabilities(configured, announced) {
@@ -70,7 +89,14 @@ export function mergeCapabilities(configured, announced) {
70
89
  query: {
71
90
  available: configured.query.available || announced.query.available,
72
91
  consistency,
73
- keyword: configured.query.keyword || announced.query.keyword
92
+ keyword: configured.query.keyword || announced.query.keyword,
93
+ cursorPaging: configured.query.cursorPaging || announced.query.cursorPaging,
94
+ cancellation: configured.query.cancellation || announced.query.cancellation,
95
+ executionStatus: configured.query.executionStatus || announced.query.executionStatus
96
+ },
97
+ destinations: {
98
+ available: configured.destinations.available || announced.destinations.available,
99
+ checkpointVersion: Math.max(configured.destinations.checkpointVersion, announced.destinations.checkpointVersion)
74
100
  },
75
101
  kv: {
76
102
  available: configured.kv.available || announced.kv.available,
@@ -106,21 +132,23 @@ export function requireCapability(capabilities, surface) {
106
132
  ? capabilities.managed
107
133
  : surface === "query"
108
134
  ? capabilities.query.available
109
- : surface === "kv"
110
- ? capabilities.kv.available
111
- : surface === "kvCas"
112
- ? capabilities.kv.available && capabilities.kv.cas
113
- : surface === "kvCasFenced"
114
- ? capabilities.kv.available && capabilities.kv.casFenced
115
- : surface === "graph"
116
- ? capabilities.graph
117
- : surface === "forks"
118
- ? capabilities.forks
119
- : surface === "agentWorkflow"
120
- ? capabilities.agentWorkflow
121
- : surface === "watch"
122
- ? capabilities.watch
123
- : capabilities.authz;
135
+ : surface === "destinations"
136
+ ? capabilities.destinations.available
137
+ : surface === "kv"
138
+ ? capabilities.kv.available
139
+ : surface === "kvCas"
140
+ ? capabilities.kv.available && capabilities.kv.cas
141
+ : surface === "kvCasFenced"
142
+ ? capabilities.kv.available && capabilities.kv.casFenced
143
+ : surface === "graph"
144
+ ? capabilities.graph
145
+ : surface === "forks"
146
+ ? capabilities.forks
147
+ : surface === "agentWorkflow"
148
+ ? capabilities.agentWorkflow
149
+ : surface === "watch"
150
+ ? capabilities.watch
151
+ : capabilities.authz;
124
152
  if (!available) {
125
153
  throw new UnsupportedError(`${surface} is not served by this deployment`, {
126
154
  cause: { surface }
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/client/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/client/capabilities.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ import { Fork } from "../managed/forks.js";
22
22
  import { Kv } from "../managed/kv.js";
23
23
  import { Bindings, Projections, Schemas } from "../managed/projections.js";
24
24
  import { QueryRequest } from "../managed/query.js";
25
+ import { Destinations } from "../managed/destinations.js";
25
26
  import { GraphHandle } from "../managed/graph.js";
26
27
  import { Runs } from "../managed/runs.js";
27
28
  import { Watch } from "../managed/watch.js";
@@ -29,6 +30,8 @@ import type { AuthzHistoryReply, AuthzSubject, Role, WhoamiReply } from "../wire
29
30
  import type { BatchItem } from "../wire/batch.js";
30
31
  import type { ForkInfo } from "../wire/fork.js";
31
32
  import type { KvNamespaceInfo } from "../wire/kv.js";
33
+ import type { QueryTarget } from "../wire/query.js";
34
+ import type { DestinationId } from "../wire/ids.js";
32
35
  import { AgentId, ConversationId } from "../types/ids.js";
33
36
  import { type BytesLike } from "./bytes.js";
34
37
  import { type AgentCard } from "../wire/agent.js";
@@ -220,6 +223,9 @@ export declare class Laser implements AsyncDisposable {
220
223
  private requireDefaultStream;
221
224
  private replyHub;
222
225
  query(index: string): QueryRequest;
226
+ queryTarget(target: QueryTarget): QueryRequest;
227
+ queryLakehouse(destinationId: DestinationId, destinationGeneration: bigint): QueryRequest;
228
+ destinations(): Destinations;
223
229
  kv(namespace: string): Kv;
224
230
  kvNamespaces(): Promise<readonly KvNamespaceInfo[]>;
225
231
  executeBatch(ops: readonly BatchItem[]): Promise<readonly Uint8Array[]>;
@@ -244,6 +250,8 @@ export declare class Laser implements AsyncDisposable {
244
250
  authzHistory(subject: AuthzSubject, limit: number, afterRevision?: bigint): Promise<AuthzHistoryReply>;
245
251
  private publishControl;
246
252
  private executeQuery;
253
+ private queryStatus;
254
+ private cancelQuery;
247
255
  /** Closes owned transport resources. Safe to call more than once. */
248
256
  close(): Promise<void>;
249
257
  /** Delegates async disposal to `close()`. */
@@ -1 +1 @@
1
- {"version":3,"file":"laser.d.ts","sourceRoot":"","sources":["../../src/client/laser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"laser.d.ts","sourceRoot":"","sources":["../../src/client/laser.ts"],"names":[],"mappings":"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"}
@@ -20,12 +20,13 @@ import { Fork } from "../managed/forks.js";
20
20
  import { Kv } from "../managed/kv.js";
21
21
  import { Bindings, Projections, Schemas } from "../managed/projections.js";
22
22
  import { QueryRequest } from "../managed/query.js";
23
+ import { Destinations } from "../managed/destinations.js";
23
24
  import { authzHistory, bindRoles, defineRole, deleteRole, getBindings, getRole, listRoles, whoami } from "../managed/rbac.js";
24
25
  import { GraphHandle } from "../managed/graph.js";
25
26
  import { Runs } from "../managed/runs.js";
26
27
  import { Watch } from "../managed/watch.js";
27
- import { AGDX_HELLO_CODE, AGDX_SET_CLIENT_METADATA_CODE, CONTROL_OP_VERSION } from "../wire/codes.js";
28
- import { QueryCommand } from "../wire/commands.js";
28
+ import { AGDX_HELLO_CODE, AGDX_SET_CLIENT_METADATA_CODE, CONTROL_OP_VERSION, QUERY_OP_VERSION } from "../wire/codes.js";
29
+ import { QueryCancelCommand, QueryCommand, QueryStatusCommand } from "../wire/commands.js";
29
30
  import { encodeControlEnvelope } from "../wire/control.js";
30
31
  import { decodeBackendAnnounce } from "../wire/hello.js";
31
32
  import { AgentId, ConversationId } from "../types/ids.js";
@@ -38,7 +39,7 @@ import { AgentTopic } from "../provenance/agent-topic.js";
38
39
  import { encodeProvenanceHeaders, provenancePartitionKey } from "../provenance/provenance.js";
39
40
  import { CHANGES_TOPIC, CONTROL_TOPIC, DLQ_TOPIC, OPS_STREAM } from "../wire/topics.js";
40
41
  import { encodeNamed } from "../wire/cbor.js";
41
- import { ConfigError, NoStreamError, PresenceConflictError, ProtocolError, QueryExecutionError, InvalidError, UnsupportedError } from "./errors.js";
42
+ import { ConfigError, NoStreamError, PresenceConflictError, QueryExecutionError, InvalidError, UnsupportedError } from "./errors.js";
42
43
  import { executeManaged } from "./managed.js";
43
44
  import { INTERNAL_GOVERN, INTERNAL_REPLY_HUB, INTERNAL_TRANSPORT, INTERNAL_VERIFIER } from "./internals.js";
44
45
  import { OPEN_CAPABILITIES, managedCapabilitiesFrom, mergeCapabilities, servesConsistency } from "./capabilities.js";
@@ -776,7 +777,16 @@ export class Laser {
776
777
  return hub;
777
778
  }
778
779
  query(index) {
779
- return new QueryRequest(index, (query) => this.executeQuery(query));
780
+ return this.queryTarget({ kind: "operational", index });
781
+ }
782
+ queryTarget(target) {
783
+ return new QueryRequest(target, (query) => this.executeQuery(query), (executionId) => this.queryStatus(executionId), (executionId) => this.cancelQuery(executionId));
784
+ }
785
+ queryLakehouse(destinationId, destinationGeneration) {
786
+ return this.queryTarget({ kind: "lakehouse", destinationId, destinationGeneration });
787
+ }
788
+ destinations() {
789
+ return new Destinations(this.managedTransport(), () => this.capabilities());
780
790
  }
781
791
  kv(namespace) {
782
792
  return new Kv(this.managedTransport(), () => this.capabilities(), namespace);
@@ -856,20 +866,42 @@ export class Laser {
856
866
  throw new UnsupportedError(`${query.consistency} query consistency is not served by this deployment`);
857
867
  }
858
868
  const reply = await executeManaged(this.managedTransport(), capabilities, QueryCommand, {
869
+ v: QUERY_OP_VERSION,
859
870
  query
860
871
  });
861
872
  if (reply.kind === "ok")
862
873
  return reply.result;
863
- if (reply.kind === "unrecognized") {
864
- throw new ProtocolError(`query returned unknown reply variant \`${reply.tag}\``, {
865
- commandCode: QueryCommand.code
866
- });
867
- }
868
874
  if (reply.error.kind === "unsupported") {
869
875
  throw new UnsupportedError(reply.error.message);
870
876
  }
871
877
  throw new QueryExecutionError(`query failed: ${reply.error.kind}`, reply.error);
872
878
  }
879
+ async queryStatus(executionId) {
880
+ const capabilities = await this.capabilities();
881
+ if (!capabilities.query.executionStatus) {
882
+ throw new UnsupportedError("query execution status is not served by this deployment");
883
+ }
884
+ const reply = await executeManaged(this.managedTransport(), capabilities, QueryStatusCommand, {
885
+ v: QUERY_OP_VERSION,
886
+ executionId
887
+ });
888
+ if (reply.kind === "ok")
889
+ return reply.status;
890
+ throw new QueryExecutionError(`query status failed: ${reply.error.kind}`, reply.error);
891
+ }
892
+ async cancelQuery(executionId) {
893
+ const capabilities = await this.capabilities();
894
+ if (!capabilities.query.cancellation) {
895
+ throw new UnsupportedError("query cancellation is not served by this deployment");
896
+ }
897
+ const reply = await executeManaged(this.managedTransport(), capabilities, QueryCancelCommand, {
898
+ v: QUERY_OP_VERSION,
899
+ executionId
900
+ });
901
+ if (reply.kind === "ok")
902
+ return reply.status;
903
+ throw new QueryExecutionError(`query cancellation failed: ${reply.error.kind}`, reply.error);
904
+ }
873
905
  /** Closes owned transport resources. Safe to call more than once. */
874
906
  async close() {
875
907
  if (this.closed)