@honua/react 0.1.12 → 0.1.14

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 (195) hide show
  1. package/columnar/apache-arrow.d.ts +17 -0
  2. package/columnar/apache-arrow.d.ts.map +1 -0
  3. package/columnar/apache-arrow.js +1036 -0
  4. package/columnar/batch-cache-conformance.d.ts +66 -0
  5. package/columnar/batch-cache-conformance.d.ts.map +1 -0
  6. package/columnar/batch-cache-conformance.js +317 -0
  7. package/columnar/batch-cache-indexeddb.d.ts +31 -0
  8. package/columnar/batch-cache-indexeddb.d.ts.map +1 -0
  9. package/columnar/batch-cache-indexeddb.js +148 -0
  10. package/columnar/batch-cache.d.ts +298 -0
  11. package/columnar/batch-cache.d.ts.map +1 -0
  12. package/columnar/batch-cache.js +757 -0
  13. package/columnar/geoarrow-aggregate.d.ts +178 -0
  14. package/columnar/geoarrow-aggregate.d.ts.map +1 -0
  15. package/columnar/geoarrow-aggregate.js +976 -0
  16. package/columnar/geoarrow-patch.d.ts +382 -0
  17. package/columnar/geoarrow-patch.d.ts.map +1 -0
  18. package/columnar/geoarrow-patch.js +1656 -0
  19. package/columnar/geoarrow-reproject.d.ts +22 -0
  20. package/columnar/geoarrow-reproject.d.ts.map +1 -0
  21. package/columnar/geoarrow-reproject.js +119 -0
  22. package/columnar/geoarrow-serialization.d.ts +68 -0
  23. package/columnar/geoarrow-serialization.d.ts.map +1 -0
  24. package/columnar/geoarrow-serialization.js +331 -0
  25. package/columnar/geoarrow-types.d.ts +271 -0
  26. package/columnar/geoarrow-types.d.ts.map +1 -0
  27. package/columnar/geoarrow-types.js +15 -0
  28. package/columnar/geoarrow.d.ts +52 -0
  29. package/columnar/geoarrow.d.ts.map +1 -0
  30. package/columnar/geoarrow.js +1469 -0
  31. package/columnar/index.d.ts +43 -0
  32. package/columnar/index.d.ts.map +1 -0
  33. package/columnar/index.js +29 -0
  34. package/columnar/operators.d.ts +70 -0
  35. package/columnar/operators.d.ts.map +1 -0
  36. package/columnar/operators.js +307 -0
  37. package/columnar/result.d.ts +369 -0
  38. package/columnar/result.d.ts.map +1 -0
  39. package/columnar/result.js +815 -0
  40. package/columnar/telemetry.d.ts +152 -0
  41. package/columnar/telemetry.d.ts.map +1 -0
  42. package/columnar/telemetry.js +265 -0
  43. package/columnar/transfer.d.ts +28 -0
  44. package/columnar/transfer.d.ts.map +1 -0
  45. package/columnar/transfer.js +669 -0
  46. package/columnar/types.d.ts +175 -0
  47. package/columnar/types.d.ts.map +1 -0
  48. package/columnar/types.js +22 -0
  49. package/columnar/worker.d.ts +157 -0
  50. package/columnar/worker.d.ts.map +1 -0
  51. package/columnar/worker.js +1059 -0
  52. package/connect-url-safety.d.ts +53 -0
  53. package/connect-url-safety.js +189 -0
  54. package/contract/pmtiles.d.ts +6 -5
  55. package/contract/pmtiles.d.ts.map +1 -1
  56. package/contract/pmtiles.js +30 -5
  57. package/contract/source.d.ts.map +1 -1
  58. package/contract/source.js +11 -8
  59. package/core/client.d.ts.map +1 -1
  60. package/core/client.js +87 -19
  61. package/core/deprecation-notice.d.ts +28 -0
  62. package/core/deprecation-notice.d.ts.map +1 -0
  63. package/core/deprecation-notice.js +22 -0
  64. package/core/esri-geojson.d.ts.map +1 -1
  65. package/core/esri-geojson.js +14 -8
  66. package/core/optional-grpc-peer.d.ts +15 -0
  67. package/core/optional-grpc-peer.d.ts.map +1 -0
  68. package/core/optional-grpc-peer.js +60 -0
  69. package/esri-compat/basemap-gallery.d.ts +2 -0
  70. package/esri-compat/basemap-gallery.d.ts.map +1 -1
  71. package/esri-compat/basemap-gallery.js +12 -0
  72. package/esri-compat/basemap.d.ts +4 -0
  73. package/esri-compat/basemap.d.ts.map +1 -1
  74. package/esri-compat/basemap.js +70 -0
  75. package/esri-compat/bookmarks.d.ts +2 -0
  76. package/esri-compat/bookmarks.d.ts.map +1 -1
  77. package/esri-compat/bookmarks.js +12 -0
  78. package/esri-compat/controls.d.ts +18 -0
  79. package/esri-compat/controls.d.ts.map +1 -1
  80. package/esri-compat/controls.js +120 -57
  81. package/esri-compat/directions.d.ts +4 -0
  82. package/esri-compat/directions.d.ts.map +1 -1
  83. package/esri-compat/directions.js +30 -20
  84. package/esri-compat/editor.d.ts +4 -0
  85. package/esri-compat/editor.d.ts.map +1 -1
  86. package/esri-compat/editor.js +16 -0
  87. package/esri-compat/esri-config.d.ts +2 -1
  88. package/esri-compat/esri-config.d.ts.map +1 -1
  89. package/esri-compat/feature-effect.d.ts +23 -0
  90. package/esri-compat/feature-effect.d.ts.map +1 -0
  91. package/esri-compat/feature-effect.js +12 -0
  92. package/esri-compat/feature-form.d.ts +6 -0
  93. package/esri-compat/feature-form.d.ts.map +1 -1
  94. package/esri-compat/feature-form.js +63 -0
  95. package/esri-compat/feature-layer.d.ts +21 -2
  96. package/esri-compat/feature-layer.d.ts.map +1 -1
  97. package/esri-compat/feature-layer.js +172 -1
  98. package/esri-compat/feature-table.d.ts +5 -0
  99. package/esri-compat/feature-table.d.ts.map +1 -1
  100. package/esri-compat/feature-table.js +23 -0
  101. package/esri-compat/identity-manager.d.ts +1 -1
  102. package/esri-compat/identity-manager.js +1 -1
  103. package/esri-compat/legend.d.ts +2 -0
  104. package/esri-compat/legend.d.ts.map +1 -1
  105. package/esri-compat/legend.js +98 -0
  106. package/esri-compat/locator.d.ts +1 -1
  107. package/esri-compat/locator.js +1 -1
  108. package/esri-compat/map-view-mount.d.ts +1 -0
  109. package/esri-compat/map-view-mount.d.ts.map +1 -1
  110. package/esri-compat/map-view-mount.js +46 -25
  111. package/esri-compat/map-view.d.ts +13 -0
  112. package/esri-compat/map-view.d.ts.map +1 -1
  113. package/esri-compat/map-view.js +94 -8
  114. package/esri-compat/map.d.ts +5 -1
  115. package/esri-compat/map.d.ts.map +1 -1
  116. package/esri-compat/map.js +10 -0
  117. package/esri-compat/measurement.d.ts +2 -0
  118. package/esri-compat/measurement.d.ts.map +1 -1
  119. package/esri-compat/measurement.js +14 -0
  120. package/esri-compat/point.d.ts +7 -0
  121. package/esri-compat/point.d.ts.map +1 -1
  122. package/esri-compat/point.js +33 -3
  123. package/esri-compat/popup.d.ts +2 -0
  124. package/esri-compat/popup.d.ts.map +1 -1
  125. package/esri-compat/popup.js +12 -0
  126. package/esri-compat/portal.d.ts +1 -1
  127. package/esri-compat/portal.js +1 -1
  128. package/esri-compat/print.d.ts +3 -0
  129. package/esri-compat/print.d.ts.map +1 -1
  130. package/esri-compat/print.js +15 -0
  131. package/esri-compat/search.d.ts +4 -0
  132. package/esri-compat/search.d.ts.map +1 -1
  133. package/esri-compat/search.js +25 -28
  134. package/esri-compat/sketch.d.ts +2 -0
  135. package/esri-compat/sketch.d.ts.map +1 -1
  136. package/esri-compat/sketch.js +12 -0
  137. package/esri-compat/widget-host.d.ts +46 -17
  138. package/esri-compat/widget-host.d.ts.map +1 -1
  139. package/esri-compat/widget-host.js +84 -20
  140. package/esri-compat/widget-shell-hosts.d.ts +61 -0
  141. package/esri-compat/widget-shell-hosts.d.ts.map +1 -0
  142. package/esri-compat/widget-shell-hosts.js +76 -0
  143. package/geocoding/index.d.ts +114 -0
  144. package/geocoding/index.d.ts.map +1 -0
  145. package/geocoding/index.js +293 -0
  146. package/geocoding/provider-http.d.ts +37 -0
  147. package/geocoding/provider-http.d.ts.map +1 -0
  148. package/geocoding/provider-http.js +93 -0
  149. package/geocoding/provider.d.ts +145 -0
  150. package/geocoding/provider.d.ts.map +1 -0
  151. package/geocoding/provider.js +41 -0
  152. package/geocoding/providers/honua.d.ts +28 -0
  153. package/geocoding/providers/honua.d.ts.map +1 -0
  154. package/geocoding/providers/honua.js +68 -0
  155. package/geocoding/providers/nominatim.d.ts +47 -0
  156. package/geocoding/providers/nominatim.d.ts.map +1 -0
  157. package/geocoding/providers/nominatim.js +105 -0
  158. package/geocoding/providers/pelias.d.ts +40 -0
  159. package/geocoding/providers/pelias.d.ts.map +1 -0
  160. package/geocoding/providers/pelias.js +115 -0
  161. package/geocoding/providers/photon.d.ts +39 -0
  162. package/geocoding/providers/photon.d.ts.map +1 -0
  163. package/geocoding/providers/photon.js +107 -0
  164. package/geometry/convert.d.ts +13 -0
  165. package/geometry/convert.d.ts.map +1 -0
  166. package/geometry/convert.js +12 -0
  167. package/geometry/index.d.ts +17 -0
  168. package/geometry/index.d.ts.map +1 -0
  169. package/geometry/index.js +15 -0
  170. package/geometry/internal.d.ts +25 -0
  171. package/geometry/internal.d.ts.map +1 -0
  172. package/geometry/internal.js +40 -0
  173. package/geometry/ops.d.ts +71 -0
  174. package/geometry/ops.d.ts.map +1 -0
  175. package/geometry/ops.js +147 -0
  176. package/geometry/project.d.ts +40 -0
  177. package/geometry/project.d.ts.map +1 -0
  178. package/geometry/project.js +88 -0
  179. package/geometry/types.d.ts +36 -0
  180. package/geometry/types.d.ts.map +1 -0
  181. package/geometry/types.js +12 -0
  182. package/kernel/renderer.d.ts +82 -0
  183. package/kernel/renderer.js +1 -0
  184. package/offline/digest.d.ts +15 -0
  185. package/offline/digest.js +58 -0
  186. package/offline/quota.d.ts +161 -0
  187. package/offline/quota.js +370 -0
  188. package/offline/types.d.ts +349 -0
  189. package/offline/types.js +75 -0
  190. package/package.json +14 -2
  191. package/realtime/odata-delta.d.ts +1 -1
  192. package/realtime/odata-delta.d.ts.map +1 -1
  193. package/realtime/odata-delta.js +38 -10
  194. package/widget-capabilities.d.ts +67 -0
  195. package/widget-capabilities.js +152 -0
@@ -0,0 +1,175 @@
1
+ import type { ColumnarTelemetryOptions } from "./telemetry.js";
2
+ /** Version discriminator for the first Honua columnar batch contract. */
3
+ export declare const COLUMNAR_BATCH_VERSION: "1.0";
4
+ /** Stable structured-clone discriminator for a columnar batch. */
5
+ export declare const COLUMNAR_BATCH_KIND: "honua.columnar-batch";
6
+ /** Stable structured-clone discriminator for a worker transfer message. */
7
+ export declare const COLUMNAR_TRANSFER_KIND: "honua.columnar-transfer";
8
+ /** Conservative defaults for one independently transferable batch. */
9
+ export declare const DEFAULT_COLUMNAR_BATCH_MAX_ROWS = 1000000;
10
+ export declare const DEFAULT_COLUMNAR_BATCH_MAX_BACKING_BYTES: number;
11
+ export declare const DEFAULT_COLUMNAR_BATCH_MAX_SCHEMA_NODES = 4096;
12
+ export declare const DEFAULT_COLUMNAR_BATCH_MAX_METADATA_ENTRIES = 8192;
13
+ export declare const DEFAULT_COLUMNAR_BATCH_MAX_BUFFER_VIEWS = 16384;
14
+ export declare const DEFAULT_COLUMNAR_BATCH_MAX_STRING_BYTES: number;
15
+ /**
16
+ * Adapter-declared logical type name. Adapters may use Arrow or GeoArrow names
17
+ * and metadata, but this Honua envelope does not itself define an Arrow memory
18
+ * layout or replace an Arrow schema.
19
+ */
20
+ export interface ColumnarTypeV1 {
21
+ readonly name: string;
22
+ readonly parameters?: Readonly<Record<string, string | number | boolean>>;
23
+ }
24
+ /** Dependency-free field description carried with a Honua columnar batch. */
25
+ export interface ColumnarFieldV1 {
26
+ readonly name: string;
27
+ readonly type: ColumnarTypeV1;
28
+ readonly nullable: boolean;
29
+ readonly children?: readonly ColumnarFieldV1[];
30
+ readonly metadata?: Readonly<Record<string, string>>;
31
+ }
32
+ /**
33
+ * A versioned schema identity and its dependency-free field descriptions.
34
+ * The id must change whenever field order, types, nullability, CRS, or
35
+ * extension metadata changes.
36
+ */
37
+ export interface ColumnarSchemaV1 {
38
+ readonly id: string;
39
+ readonly fields: readonly ColumnarFieldV1[];
40
+ readonly metadata?: Readonly<Record<string, string>>;
41
+ }
42
+ /** Adapter-declared purpose of a buffer in the Honua envelope. */
43
+ export type ColumnarBufferRole = "validity" | "offsets" | "type-ids" | "values" | "dictionary" | "geometry" | "custom";
44
+ /**
45
+ * A view onto an owned transferable backing buffer. Multiple descriptors may
46
+ * reference the same `ArrayBuffer`; transfer and memory accounting deduplicate
47
+ * by backing-buffer identity.
48
+ */
49
+ export interface ColumnarBufferV1 {
50
+ readonly id: string;
51
+ readonly role: ColumnarBufferRole;
52
+ /** Dot-separated field path when the buffer belongs to one field. */
53
+ readonly field?: string;
54
+ readonly data: ArrayBuffer;
55
+ readonly byteOffset: number;
56
+ readonly byteLength: number;
57
+ }
58
+ /** One deterministic sort key carried with a batch identity. */
59
+ export interface ColumnarOrderingKeyV1 {
60
+ readonly field: string;
61
+ readonly direction: "ascending" | "descending";
62
+ readonly nulls: "first" | "last";
63
+ }
64
+ /**
65
+ * Ordering contract for pagination, cache reuse, renderer picking, and
66
+ * deterministic reconstruction after a worker transfer.
67
+ */
68
+ export interface ColumnarOrderingV1 {
69
+ readonly stable: boolean;
70
+ readonly keys: readonly ColumnarOrderingKeyV1[];
71
+ }
72
+ /** Freshness validators captured when the producing source was observed. */
73
+ export interface ColumnarFreshnessV1 {
74
+ /** RFC 3339 instant at which the source result was observed. */
75
+ readonly observedAt: string;
76
+ /** RFC 3339 instant after which the batch must be revalidated. */
77
+ readonly staleAfter?: string;
78
+ /** Opaque source validator, such as an HTTP ETag. */
79
+ readonly validator?: string;
80
+ /** Opaque monotonic source generation or revision. */
81
+ readonly generation?: string;
82
+ }
83
+ /**
84
+ * Identity required to safely reuse or render a columnar batch.
85
+ *
86
+ * `authorizationScope` is an opaque, non-secret scope fingerprint. Producers
87
+ * must never place a bearer token, API key, cookie, or credential in it.
88
+ */
89
+ export interface ColumnarBatchIdentityV1 {
90
+ readonly sourceId: string;
91
+ readonly sourceVersion: string;
92
+ readonly schemaVersion: string;
93
+ readonly planId: string;
94
+ readonly authorizationScope: string;
95
+ readonly ordering: ColumnarOrderingV1;
96
+ readonly freshness: ColumnarFreshnessV1;
97
+ }
98
+ /** Input accepted by {@link createColumnarBatch}. */
99
+ export interface CreateColumnarBatchInput {
100
+ readonly id: string;
101
+ readonly schema: ColumnarSchemaV1;
102
+ readonly rowCount: number;
103
+ readonly sequence: number;
104
+ readonly rowOffset?: number;
105
+ /** Cache/auth/order/freshness identity; required by normative adapters. */
106
+ readonly identity?: ColumnarBatchIdentityV1;
107
+ readonly buffers: readonly ColumnarBufferV1[];
108
+ }
109
+ /**
110
+ * Protocol-neutral, dependency-free transport representation of one columnar
111
+ * record batch. Adapters can reference existing Arrow/GeoArrow buffers and
112
+ * metadata, but consumers still need the originating adapter's layout contract.
113
+ */
114
+ export interface ColumnarBatchV1 extends CreateColumnarBatchInput {
115
+ readonly kind: typeof COLUMNAR_BATCH_KIND;
116
+ readonly version: typeof COLUMNAR_BATCH_VERSION;
117
+ }
118
+ /** Explicit creation and transfer ceilings. There is no unbounded mode. */
119
+ export interface ColumnarBatchLimits {
120
+ readonly maxRows?: number;
121
+ /** Counts complete unique backing buffers, not only referenced slices. */
122
+ readonly maxBackingBytes?: number;
123
+ /** Maximum total top-level and nested schema fields. */
124
+ readonly maxSchemaNodes?: number;
125
+ /** Maximum combined schema, field, and type-parameter entries. */
126
+ readonly maxMetadataEntries?: number;
127
+ /** Maximum number of buffer descriptors, including zero-byte/shared views. */
128
+ readonly maxBufferViews?: number;
129
+ /** Maximum UTF-8 bytes across descriptor identifiers, keys, and string values. */
130
+ readonly maxStringBytes?: number;
131
+ }
132
+ /** Exact payload-copy and backing-allocation accounting for a batch. */
133
+ export interface ColumnarBatchMetrics {
134
+ readonly rows: number;
135
+ /** Sum of descriptor slice lengths; overlapping slices count separately. */
136
+ readonly logicalBytes: number;
137
+ /** Sum of `byteLength` for complete unique transferable backing buffers. */
138
+ readonly backingBytes: number;
139
+ /** Bytes relinquished when the transfer list is posted. */
140
+ readonly transferBytes: number;
141
+ /** Always zero: the SDK never slices or clones payload buffers. */
142
+ readonly copiedBytes: 0;
143
+ readonly bufferViews: number;
144
+ readonly backingBuffers: number;
145
+ }
146
+ /** Structured-clone-safe worker message paired with an exact transfer list. */
147
+ export interface ColumnarTransferMessageV1 {
148
+ readonly kind: typeof COLUMNAR_TRANSFER_KIND;
149
+ readonly version: typeof COLUMNAR_BATCH_VERSION;
150
+ readonly batch: ColumnarBatchV1;
151
+ readonly metrics: ColumnarBatchMetrics;
152
+ }
153
+ export type ColumnarBatchLeaseState = "owned" | "transferring" | "transferred" | "disposed";
154
+ export type ColumnarTransferErrorCode = "invalid-batch" | "row-limit-exceeded" | "memory-limit-exceeded" | "schema-limit-exceeded" | "metadata-limit-exceeded" | "buffer-view-limit-exceeded" | "string-limit-exceeded" | "already-leased" | "aborted" | "already-transferred" | "disposed" | "transport-failed";
155
+ /** Typed failures for validation, ownership, cancellation, and transport. */
156
+ export declare class HonuaColumnarTransferError extends Error {
157
+ readonly code: ColumnarTransferErrorCode;
158
+ constructor(code: ColumnarTransferErrorCode, message: string, options?: {
159
+ readonly cause?: unknown;
160
+ });
161
+ }
162
+ /** Synchronous ownership handoff plus optional asynchronous consumer ack. */
163
+ export type ColumnarTransferTarget = (message: ColumnarTransferMessageV1,
164
+ /** Transfer list for an optional subsequent worker/port handoff. */
165
+ transfer: readonly ArrayBuffer[]) => void | Promise<void>;
166
+ export interface ColumnarTransferOptions extends ColumnarBatchLimits, ColumnarTelemetryOptions {
167
+ /** Cancellation is honored before the SDK performs its ownership handoff. */
168
+ readonly signal?: AbortSignal;
169
+ }
170
+ export interface ColumnarTransferReceipt {
171
+ readonly batchId: string;
172
+ readonly metrics: ColumnarBatchMetrics;
173
+ readonly acknowledged: true;
174
+ }
175
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/columnar/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /** Version discriminator for the first Honua columnar batch contract. */
2
+ export const COLUMNAR_BATCH_VERSION = "1.0";
3
+ /** Stable structured-clone discriminator for a columnar batch. */
4
+ export const COLUMNAR_BATCH_KIND = "honua.columnar-batch";
5
+ /** Stable structured-clone discriminator for a worker transfer message. */
6
+ export const COLUMNAR_TRANSFER_KIND = "honua.columnar-transfer";
7
+ /** Conservative defaults for one independently transferable batch. */
8
+ export const DEFAULT_COLUMNAR_BATCH_MAX_ROWS = 1_000_000;
9
+ export const DEFAULT_COLUMNAR_BATCH_MAX_BACKING_BYTES = 64 * 1024 * 1024;
10
+ export const DEFAULT_COLUMNAR_BATCH_MAX_SCHEMA_NODES = 4_096;
11
+ export const DEFAULT_COLUMNAR_BATCH_MAX_METADATA_ENTRIES = 8_192;
12
+ export const DEFAULT_COLUMNAR_BATCH_MAX_BUFFER_VIEWS = 16_384;
13
+ export const DEFAULT_COLUMNAR_BATCH_MAX_STRING_BYTES = 1024 * 1024;
14
+ /** Typed failures for validation, ownership, cancellation, and transport. */
15
+ export class HonuaColumnarTransferError extends Error {
16
+ code;
17
+ constructor(code, message, options = {}) {
18
+ super(message, options.cause === undefined ? undefined : { cause: options.cause });
19
+ this.code = code;
20
+ this.name = "HonuaColumnarTransferError";
21
+ }
22
+ }
@@ -0,0 +1,157 @@
1
+ import { type ColumnarTelemetry } from "./telemetry.js";
2
+ import { type ColumnarBatchLimits, type ColumnarBatchMetrics, type ColumnarBatchV1 } from "./types.js";
3
+ export declare const COLUMNAR_WORKER_PROTOCOL_VERSION: "1.0";
4
+ export declare const COLUMNAR_WORKER_REQUEST_KIND: "honua.columnar-worker.request";
5
+ export declare const COLUMNAR_WORKER_CANCEL_KIND: "honua.columnar-worker.cancel";
6
+ export declare const COLUMNAR_WORKER_PROGRESS_KIND: "honua.columnar-worker.progress";
7
+ export declare const COLUMNAR_WORKER_RESULT_KIND: "honua.columnar-worker.result";
8
+ export declare const COLUMNAR_WORKER_ERROR_KIND: "honua.columnar-worker.error";
9
+ export type ColumnarWorkerSessionState = "idle" | "running" | "disposed";
10
+ /**
11
+ * Cross-request ordering contract for one session. `none` treats every request
12
+ * as independent; `strict` requires one ordered batch stream.
13
+ */
14
+ export type ColumnarWorkerStreamOrdering = "none" | "strict";
15
+ export type ColumnarWorkerErrorCode = "invalid-request" | "invalid-response" | "unknown-operation" | "queue-full" | "aborted" | "operation-failed" | "worker-failed" | "disposed";
16
+ export declare class HonuaColumnarWorkerError extends Error {
17
+ readonly code: ColumnarWorkerErrorCode;
18
+ constructor(code: ColumnarWorkerErrorCode, message: string, options?: {
19
+ readonly cause?: unknown;
20
+ readonly requestId?: string;
21
+ readonly operation?: string;
22
+ });
23
+ readonly requestId: string | undefined;
24
+ readonly operation: string | undefined;
25
+ }
26
+ export interface ColumnarWorkerMessageEvent {
27
+ readonly data: unknown;
28
+ }
29
+ export interface ColumnarWorkerFaultEvent {
30
+ readonly error?: unknown;
31
+ readonly message?: string;
32
+ }
33
+ /**
34
+ * Minimal transport seam implemented by a browser Worker, MessagePort adapter,
35
+ * or an application-owned worker wrapper. The factory owns CSP URL policy.
36
+ */
37
+ export interface ColumnarWorkerTransport {
38
+ postMessage(message: unknown, transfer: readonly ArrayBuffer[]): void;
39
+ addEventListener(type: "message", listener: (event: ColumnarWorkerMessageEvent) => void): void;
40
+ addEventListener(type: "error", listener: (event: ColumnarWorkerFaultEvent) => void): void;
41
+ removeEventListener(type: "message", listener: (event: ColumnarWorkerMessageEvent) => void): void;
42
+ removeEventListener(type: "error", listener: (event: ColumnarWorkerFaultEvent) => void): void;
43
+ /** Must terminate or close the underlying worker/port. Idempotence is required. */
44
+ dispose(): void;
45
+ }
46
+ export type ColumnarWorkerFactory = () => ColumnarWorkerTransport | Promise<ColumnarWorkerTransport>;
47
+ export interface ColumnarWorkerRequestV1 {
48
+ readonly kind: typeof COLUMNAR_WORKER_REQUEST_KIND;
49
+ readonly version: typeof COLUMNAR_WORKER_PROTOCOL_VERSION;
50
+ readonly requestId: string;
51
+ readonly operation: string;
52
+ readonly batch: ColumnarBatchV1;
53
+ readonly metrics: ColumnarBatchMetrics;
54
+ }
55
+ export interface ColumnarWorkerCancelV1 {
56
+ readonly kind: typeof COLUMNAR_WORKER_CANCEL_KIND;
57
+ readonly version: typeof COLUMNAR_WORKER_PROTOCOL_VERSION;
58
+ readonly requestId: string;
59
+ }
60
+ export interface ColumnarWorkerProgressV1 {
61
+ readonly kind: typeof COLUMNAR_WORKER_PROGRESS_KIND;
62
+ readonly version: typeof COLUMNAR_WORKER_PROTOCOL_VERSION;
63
+ readonly requestId: string;
64
+ readonly fraction: number;
65
+ readonly stage?: string;
66
+ }
67
+ export interface ColumnarWorkerResultV1 {
68
+ readonly kind: typeof COLUMNAR_WORKER_RESULT_KIND;
69
+ readonly version: typeof COLUMNAR_WORKER_PROTOCOL_VERSION;
70
+ readonly requestId: string;
71
+ readonly batch: ColumnarBatchV1;
72
+ readonly metrics: ColumnarBatchMetrics;
73
+ }
74
+ export interface ColumnarWorkerErrorV1 {
75
+ readonly kind: typeof COLUMNAR_WORKER_ERROR_KIND;
76
+ readonly version: typeof COLUMNAR_WORKER_PROTOCOL_VERSION;
77
+ readonly requestId: string;
78
+ readonly code: "invalid-request" | "unknown-operation" | "aborted" | "operation-failed";
79
+ readonly message: string;
80
+ }
81
+ export interface ColumnarWorkerExecutionProgress {
82
+ readonly requestId: string;
83
+ readonly fraction: number;
84
+ readonly stage?: string;
85
+ }
86
+ export interface ColumnarWorkerExecutionResult {
87
+ readonly requestId: string;
88
+ readonly operation: string;
89
+ readonly batch: ColumnarBatchV1;
90
+ readonly inputMetrics: ColumnarBatchMetrics;
91
+ readonly outputMetrics: ColumnarBatchMetrics;
92
+ }
93
+ export interface ExecuteColumnarWorkerOperationOptions extends ColumnarBatchLimits {
94
+ readonly signal?: AbortSignal;
95
+ readonly onProgress?: (progress: ColumnarWorkerExecutionProgress) => void;
96
+ }
97
+ export interface CreateColumnarWorkerSessionOptions {
98
+ readonly createWorker: ColumnarWorkerFactory;
99
+ /** Includes the active request. Defaults to 16; there is no unbounded mode. */
100
+ readonly maxPendingRequests?: number;
101
+ /**
102
+ * Cross-request ordering contract. Defaults to `none`, which accepts every
103
+ * request independently. `strict` declares that this session carries one
104
+ * ordered batch stream and rejects a non-increasing `sequence` or a
105
+ * non-contiguous `rowOffset` before the batch is transferred.
106
+ */
107
+ readonly streamOrdering?: ColumnarWorkerStreamOrdering;
108
+ /**
109
+ * Milliseconds a cancelled in-flight request may take to be acknowledged by
110
+ * the worker before the transport is retired. Defaults to 50. A cooperative
111
+ * operation that observes its signal acknowledges well inside the window and
112
+ * keeps the worker warm; a non-cooperative one is retired at the deadline.
113
+ */
114
+ readonly cancelAcknowledgementMs?: number;
115
+ /**
116
+ * Optional observer for this session. Off by default. Every `execute` emits
117
+ * one `columnar-worker-operation` span spanning enqueue through settlement,
118
+ * and the ownership handoff it performs emits its own `columnar-transfer`
119
+ * span, both bound to the input batch's identity.
120
+ */
121
+ readonly telemetry?: ColumnarTelemetry;
122
+ }
123
+ export interface ColumnarWorkerSession {
124
+ readonly state: ColumnarWorkerSessionState;
125
+ readonly pendingRequests: number;
126
+ execute(operation: string, batch: ColumnarBatchV1, options?: ExecuteColumnarWorkerOperationOptions): Promise<ColumnarWorkerExecutionResult>;
127
+ dispose(): void;
128
+ }
129
+ export interface ColumnarWorkerOperationContext {
130
+ readonly requestId: string;
131
+ readonly signal: AbortSignal;
132
+ reportProgress(fraction: number, stage?: string): void;
133
+ }
134
+ export type ColumnarWorkerOperation = (batch: ColumnarBatchV1, context: ColumnarWorkerOperationContext) => ColumnarBatchV1 | Promise<ColumnarBatchV1>;
135
+ export interface StartColumnarWorkerHostOptions {
136
+ readonly transport: ColumnarWorkerTransport;
137
+ readonly operations: Readonly<Record<string, ColumnarWorkerOperation>>;
138
+ readonly batchLimits?: ColumnarBatchLimits;
139
+ /** Defensive ceiling for direct protocol callers. Defaults to one. */
140
+ readonly maxActiveRequests?: number;
141
+ }
142
+ export interface ColumnarWorkerHost {
143
+ readonly activeRequests: number;
144
+ readonly disposed: boolean;
145
+ dispose(): void;
146
+ }
147
+ /**
148
+ * Create a lazy, serial worker session. Only one transferred request is active;
149
+ * queued batches stay caller-owned until dispatch. Cancelling active work
150
+ * settles the caller immediately and gives the worker a bounded window to
151
+ * acknowledge the cancellation; a worker that misses the window is retired so a
152
+ * non-cooperative operation cannot escape bounds.
153
+ */
154
+ export declare function createColumnarWorkerSession(options: CreateColumnarWorkerSessionOptions): ColumnarWorkerSession;
155
+ /** Register worker-local operations on a transport without importing a worker runtime. */
156
+ export declare function startColumnarWorkerHost(options: StartColumnarWorkerHostOptions): ColumnarWorkerHost;
157
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/columnar/worker.ts"],"names":[],"mappings":"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"}