@honua/app-platform 0.1.12 → 0.1.13

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 (233) 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/contract/pmtiles.d.ts +6 -5
  53. package/contract/pmtiles.d.ts.map +1 -1
  54. package/contract/pmtiles.js +30 -5
  55. package/controls/catalog.d.ts.map +1 -1
  56. package/controls/catalog.js +110 -0
  57. package/controls/index.d.ts +1 -1
  58. package/controls/index.js +1 -1
  59. package/controls/types.d.ts +1 -1
  60. package/controls/types.js +1 -1
  61. package/core/client.d.ts.map +1 -1
  62. package/core/client.js +87 -19
  63. package/core/deprecation-notice.d.ts +28 -0
  64. package/core/deprecation-notice.d.ts.map +1 -0
  65. package/core/deprecation-notice.js +22 -0
  66. package/core/esri-geojson.d.ts.map +1 -1
  67. package/core/esri-geojson.js +10 -6
  68. package/core/optional-grpc-peer.d.ts +15 -0
  69. package/core/optional-grpc-peer.d.ts.map +1 -0
  70. package/core/optional-grpc-peer.js +60 -0
  71. package/esri-compat/basemap-gallery.d.ts +2 -0
  72. package/esri-compat/basemap-gallery.d.ts.map +1 -1
  73. package/esri-compat/basemap-gallery.js +12 -0
  74. package/esri-compat/basemap.d.ts +4 -0
  75. package/esri-compat/basemap.d.ts.map +1 -1
  76. package/esri-compat/basemap.js +70 -0
  77. package/esri-compat/bookmarks.d.ts +2 -0
  78. package/esri-compat/bookmarks.d.ts.map +1 -1
  79. package/esri-compat/bookmarks.js +12 -0
  80. package/esri-compat/controls.d.ts +18 -0
  81. package/esri-compat/controls.d.ts.map +1 -1
  82. package/esri-compat/controls.js +120 -57
  83. package/esri-compat/directions.d.ts +4 -0
  84. package/esri-compat/directions.d.ts.map +1 -1
  85. package/esri-compat/directions.js +30 -20
  86. package/esri-compat/editor.d.ts +4 -0
  87. package/esri-compat/editor.d.ts.map +1 -1
  88. package/esri-compat/editor.js +16 -0
  89. package/esri-compat/esri-config.d.ts +2 -1
  90. package/esri-compat/esri-config.d.ts.map +1 -1
  91. package/esri-compat/feature-effect.d.ts +23 -0
  92. package/esri-compat/feature-effect.d.ts.map +1 -0
  93. package/esri-compat/feature-effect.js +12 -0
  94. package/esri-compat/feature-form.d.ts +6 -0
  95. package/esri-compat/feature-form.d.ts.map +1 -1
  96. package/esri-compat/feature-form.js +63 -0
  97. package/esri-compat/feature-layer.d.ts +21 -2
  98. package/esri-compat/feature-layer.d.ts.map +1 -1
  99. package/esri-compat/feature-layer.js +172 -1
  100. package/esri-compat/feature-table.d.ts +5 -0
  101. package/esri-compat/feature-table.d.ts.map +1 -1
  102. package/esri-compat/feature-table.js +23 -0
  103. package/esri-compat/identity-manager.d.ts +1 -1
  104. package/esri-compat/identity-manager.js +1 -1
  105. package/esri-compat/legend.d.ts +2 -0
  106. package/esri-compat/legend.d.ts.map +1 -1
  107. package/esri-compat/legend.js +98 -0
  108. package/esri-compat/locator.d.ts +1 -1
  109. package/esri-compat/locator.js +1 -1
  110. package/esri-compat/map-view-mount.d.ts +1 -0
  111. package/esri-compat/map-view-mount.d.ts.map +1 -1
  112. package/esri-compat/map-view-mount.js +46 -25
  113. package/esri-compat/map-view.d.ts +13 -0
  114. package/esri-compat/map-view.d.ts.map +1 -1
  115. package/esri-compat/map-view.js +94 -8
  116. package/esri-compat/map.d.ts +5 -1
  117. package/esri-compat/map.d.ts.map +1 -1
  118. package/esri-compat/map.js +10 -0
  119. package/esri-compat/measurement.d.ts +2 -0
  120. package/esri-compat/measurement.d.ts.map +1 -1
  121. package/esri-compat/measurement.js +14 -0
  122. package/esri-compat/point.d.ts +7 -0
  123. package/esri-compat/point.d.ts.map +1 -1
  124. package/esri-compat/point.js +33 -3
  125. package/esri-compat/popup.d.ts +2 -0
  126. package/esri-compat/popup.d.ts.map +1 -1
  127. package/esri-compat/popup.js +12 -0
  128. package/esri-compat/portal.d.ts +1 -1
  129. package/esri-compat/portal.js +1 -1
  130. package/esri-compat/print.d.ts +3 -0
  131. package/esri-compat/print.d.ts.map +1 -1
  132. package/esri-compat/print.js +15 -0
  133. package/esri-compat/search.d.ts +4 -0
  134. package/esri-compat/search.d.ts.map +1 -1
  135. package/esri-compat/search.js +25 -28
  136. package/esri-compat/sketch.d.ts +2 -0
  137. package/esri-compat/sketch.d.ts.map +1 -1
  138. package/esri-compat/sketch.js +12 -0
  139. package/esri-compat/widget-host.d.ts +46 -17
  140. package/esri-compat/widget-host.d.ts.map +1 -1
  141. package/esri-compat/widget-host.js +84 -20
  142. package/esri-compat/widget-shell-hosts.d.ts +61 -0
  143. package/esri-compat/widget-shell-hosts.d.ts.map +1 -0
  144. package/esri-compat/widget-shell-hosts.js +76 -0
  145. package/kernel/renderer.d.ts +82 -0
  146. package/kernel/renderer.js +1 -0
  147. package/offline/conflict-resolution.d.ts +183 -0
  148. package/offline/conflict-resolution.d.ts.map +1 -0
  149. package/offline/conflict-resolution.js +286 -0
  150. package/offline/credential-screen.d.ts +34 -0
  151. package/offline/credential-screen.d.ts.map +1 -0
  152. package/offline/credential-screen.js +78 -0
  153. package/offline/digest.d.ts +15 -0
  154. package/offline/digest.d.ts.map +1 -0
  155. package/offline/digest.js +58 -0
  156. package/offline/edit-queue.d.ts +403 -0
  157. package/offline/edit-queue.d.ts.map +1 -0
  158. package/offline/edit-queue.js +1807 -0
  159. package/offline/edit-replay.d.ts +116 -0
  160. package/offline/edit-replay.d.ts.map +1 -0
  161. package/offline/edit-replay.js +392 -0
  162. package/offline/fetch-handler.d.ts +12 -0
  163. package/offline/fetch-handler.d.ts.map +1 -0
  164. package/offline/fetch-handler.js +65 -0
  165. package/offline/index.d.ts +52 -0
  166. package/offline/index.d.ts.map +1 -0
  167. package/offline/index.js +34 -0
  168. package/offline/indexeddb.d.ts +135 -0
  169. package/offline/indexeddb.d.ts.map +1 -0
  170. package/offline/indexeddb.js +888 -0
  171. package/offline/memory-store.d.ts +17 -0
  172. package/offline/memory-store.d.ts.map +1 -0
  173. package/offline/memory-store.js +183 -0
  174. package/offline/quota.d.ts +161 -0
  175. package/offline/quota.d.ts.map +1 -0
  176. package/offline/quota.js +370 -0
  177. package/offline/read-gate.d.ts +175 -0
  178. package/offline/read-gate.d.ts.map +1 -0
  179. package/offline/read-gate.js +252 -0
  180. package/offline/read-resource.d.ts +99 -0
  181. package/offline/read-resource.d.ts.map +1 -0
  182. package/offline/read-resource.js +156 -0
  183. package/offline/read.d.ts +50 -0
  184. package/offline/read.d.ts.map +1 -0
  185. package/offline/read.js +65 -0
  186. package/offline/region.d.ts +29 -0
  187. package/offline/region.d.ts.map +1 -0
  188. package/offline/region.js +1007 -0
  189. package/offline/replay-conflict.d.ts +183 -0
  190. package/offline/replay-conflict.d.ts.map +1 -0
  191. package/offline/replay-conflict.js +482 -0
  192. package/offline/selection.d.ts +140 -0
  193. package/offline/selection.d.ts.map +1 -0
  194. package/offline/selection.js +391 -0
  195. package/offline/snapshot.d.ts +132 -0
  196. package/offline/snapshot.d.ts.map +1 -0
  197. package/offline/snapshot.js +312 -0
  198. package/offline/status.d.ts +136 -0
  199. package/offline/status.d.ts.map +1 -0
  200. package/offline/status.js +479 -0
  201. package/offline/store-conformance.d.ts +48 -0
  202. package/offline/store-conformance.d.ts.map +1 -0
  203. package/offline/store-conformance.js +233 -0
  204. package/offline/tile-protocol.d.ts +81 -0
  205. package/offline/tile-protocol.d.ts.map +1 -0
  206. package/offline/tile-protocol.js +119 -0
  207. package/offline/types.d.ts +349 -0
  208. package/offline/types.d.ts.map +1 -0
  209. package/offline/types.js +75 -0
  210. package/package.json +14 -2
  211. package/scene-workspace/index.d.ts +2 -2
  212. package/scene-workspace/index.d.ts.map +1 -1
  213. package/scene-workspace/index.js +1 -1
  214. package/scene-workspace/scene-discovery.d.ts +111 -91
  215. package/scene-workspace/scene-discovery.d.ts.map +1 -1
  216. package/scene-workspace/scene-discovery.js +340 -92
  217. package/scene-workspace/scene-view.d.ts +6 -6
  218. package/scene-workspace/scene-view.d.ts.map +1 -1
  219. package/scene-workspace/scene-view.js +32 -6
  220. package/web-components/elements.d.ts +34 -0
  221. package/web-components/elements.d.ts.map +1 -1
  222. package/web-components/elements.js +82 -8
  223. package/web-components/index.d.ts +2 -0
  224. package/web-components/index.d.ts.map +1 -1
  225. package/web-components/index.js +3 -1
  226. package/web-components/map-chrome.d.ts +103 -0
  227. package/web-components/map-chrome.d.ts.map +1 -0
  228. package/web-components/map-chrome.js +325 -0
  229. package/web-components/widget-shell.d.ts +68 -0
  230. package/web-components/widget-shell.d.ts.map +1 -0
  231. package/web-components/widget-shell.js +224 -0
  232. package/widget-capabilities.d.ts +67 -0
  233. package/widget-capabilities.js +152 -0
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Bounded, deterministic reduction of a normative Honua GeoArrow batch.
3
+ *
4
+ * Every other columnar operation is row-preserving or row-dropping. This one
5
+ * reduces: it scans only the packed buffer views returned by
6
+ * {@link inspectGeoArrowBatch}, accumulates into group-indexed scalars, and
7
+ * emits a result batch whose row count is the group count. No input row is ever
8
+ * materialized as an object, `decodeGeoArrowBatch` is never called, and peak
9
+ * retained memory is bounded by the group ceiling rather than the row count.
10
+ *
11
+ * The result is a dependency-free Honua columnar batch carrying the
12
+ * `honua.aggregate` layout (see {@link readGeoArrowAggregateBatch}) rather than
13
+ * a GeoArrow batch, because the normative GeoArrow layout admits exactly one
14
+ * geometry column plus optional temporal, dictionary, and feature-id columns
15
+ * and therefore has nowhere to carry metric columns.
16
+ *
17
+ * ## Determinism
18
+ *
19
+ * A reduction that is not deterministic is not cacheable, and this one is the
20
+ * first columnar operation whose output is small enough to be worth caching.
21
+ * Three things could otherwise make the same input produce different output.
22
+ *
23
+ * 1. **Worker scheduling.** The scan yields to the host task queue so a cancel
24
+ * can land, but the arithmetic never observes the scheduler: accumulation is
25
+ * one sequential pass over the packed buffers, and a yield only suspends it.
26
+ * The yield cadence is therefore a pure performance knob — varying
27
+ * `yieldIntervalRows` cannot change a single output byte.
28
+ * 2. **Group ordering.** Groups are emitted ascending by key with the declared
29
+ * null group last, never in first-seen or hash-iteration order, so two
30
+ * batches holding the same rows in a different layout produce the same
31
+ * output row order. Duplicate dictionary entries encoding the same string
32
+ * are canonicalized to one group rather than to whichever index appeared
33
+ * first.
34
+ * 3. **Floating-point associativity.** `count`, `min`, and `max` are
35
+ * order-independent by construction. `sum` and `mean` are not, and a naive
36
+ * running total makes the reported value depend on the order the rows were
37
+ * visited in: `[1e16, 1, 1, -1e16]` accumulates left to right to `0` when
38
+ * the exact answer is `2`. Both use Kahan–Babuška–Neumaier compensation
39
+ * instead, carrying every addition's discarded low-order bits in a second
40
+ * group-indexed accumulator and folding them in once at the end. That is a
41
+ * bound on the error rather than a proof of bit-identity under every
42
+ * conceivable permutation, but it removes the cancellation family that makes
43
+ * naive accumulation order-dependent in practice.
44
+ *
45
+ * @experimental
46
+ */
47
+ import { type GeoArrowConversionLimits } from "./geoarrow-types.js";
48
+ import type { ColumnarBatchV1 } from "./types.js";
49
+ import type { ColumnarWorkerOperation } from "./worker.js";
50
+ /** Honua's dependency-free aggregate-result layout, recorded in schema metadata. */
51
+ export declare const HONUA_GEOARROW_AGGREGATE_LAYOUT_VERSION: "1.0";
52
+ /** Default ceiling on distinct groups, including the declared null group. */
53
+ export declare const DEFAULT_GEOARROW_AGGREGATE_MAX_GROUPS = 65536;
54
+ /**
55
+ * Rows scanned between cooperative abort checks. Well inside the 65,536-row
56
+ * ceiling the columnar data-plane contract requires.
57
+ */
58
+ export declare const GEOARROW_AGGREGATE_ABORT_CHECK_ROWS = 8192;
59
+ /** Rows scanned between cooperative event-loop yields, so a cancel can land. */
60
+ export declare const DEFAULT_GEOARROW_AGGREGATE_YIELD_ROWS = 16384;
61
+ /**
62
+ * Inclusive magnitude ceiling for a spatial-grid cell index on either axis,
63
+ * chosen so a packed `(x, y)` cell key stays an exact safe integer.
64
+ */
65
+ export declare const GEOARROW_AGGREGATE_MAX_GRID_CELL_INDEX = 33554432;
66
+ /** Reducers supported over a declared numeric column. */
67
+ export type GeoArrowAggregateMetricKind = "count" | "sum" | "min" | "max" | "mean";
68
+ /** Numeric columns readable straight from a GeoArrow batch's packed buffers. */
69
+ export type GeoArrowAggregateNumericColumn = "featureId" | "temporal" | "x" | "y" | "z" | "m";
70
+ /** One declared output metric. */
71
+ export interface GeoArrowAggregateMetricSpec {
72
+ /** Output field name. Must be unique and must not collide with a group field. */
73
+ readonly name: string;
74
+ readonly kind: GeoArrowAggregateMetricKind;
75
+ /**
76
+ * Source column. Required for `sum`, `min`, `max`, and `mean`. Optional for
77
+ * `count`: omitted counts rows in the group, supplied counts non-null values.
78
+ */
79
+ readonly column?: GeoArrowAggregateNumericColumn;
80
+ }
81
+ /** Calendar-independent truncation units applied to the temporal column. */
82
+ export type GeoArrowAggregateTruncationUnit = "second" | "minute" | "hour" | "day";
83
+ /** Group by the batch's dictionary column, keyed by its decoded value. */
84
+ export interface GeoArrowAggregateDictionaryGroupSpec {
85
+ readonly kind: "dictionary";
86
+ }
87
+ /** Group by the batch's temporal column truncated to a fixed-width unit. */
88
+ export interface GeoArrowAggregateTemporalGroupSpec {
89
+ readonly kind: "temporal";
90
+ readonly unit: GeoArrowAggregateTruncationUnit;
91
+ }
92
+ /** Group by a regular grid cell derived from the geometry column. */
93
+ export interface GeoArrowAggregateGridGroupSpec {
94
+ readonly kind: "grid";
95
+ /** Cell size in source CRS units: one positive number, or `[x, y]`. */
96
+ readonly cellSize: number | readonly [number, number];
97
+ /** Grid origin in source CRS units. Defaults to `[0, 0]`. */
98
+ readonly origin?: readonly [number, number];
99
+ }
100
+ export type GeoArrowAggregateGroupSpec = GeoArrowAggregateDictionaryGroupSpec | GeoArrowAggregateTemporalGroupSpec | GeoArrowAggregateGridGroupSpec;
101
+ /** How rows whose group key is null (or whose geometry is empty) are treated. */
102
+ export type GeoArrowAggregateNullKeyPolicy = "null-group" | "skip";
103
+ /** Options for the bounded GeoArrow aggregation worker operation. */
104
+ export interface CreateGeoArrowAggregateOperationOptions {
105
+ /** Stable id assigned to the aggregated output batch. */
106
+ readonly id: string;
107
+ /**
108
+ * Schema id for the aggregated field set. It is also written as the result
109
+ * `identity.schemaVersion`, so it must change whenever the group or metric
110
+ * specification changes.
111
+ */
112
+ readonly schemaId: string;
113
+ readonly group: GeoArrowAggregateGroupSpec;
114
+ readonly metrics: readonly GeoArrowAggregateMetricSpec[];
115
+ /** Output group field name. Grid grouping emits `<name>_x` and `<name>_y`. */
116
+ readonly groupField?: string;
117
+ /** Ceiling on distinct groups. Defaults to {@link DEFAULT_GEOARROW_AGGREGATE_MAX_GROUPS}. */
118
+ readonly maxGroups?: number;
119
+ /** Null-key policy. Defaults to `"null-group"`. */
120
+ readonly nullKeys?: GeoArrowAggregateNullKeyPolicy;
121
+ /** Rows scanned between cooperative event-loop yields. */
122
+ readonly yieldIntervalRows?: number;
123
+ /** Conversion ceilings applied to the input inspection and the output batch. */
124
+ readonly limits?: GeoArrowConversionLimits;
125
+ }
126
+ /** One decoded aggregate row: the group key plus every declared metric. */
127
+ export interface GeoArrowAggregateRow {
128
+ /**
129
+ * Dictionary value, truncated timestamp in the source temporal unit, or
130
+ * `[cellX, cellY]`. `null` identifies the declared null group.
131
+ */
132
+ readonly key: string | number | readonly [number, number] | null;
133
+ /** Metric values by declared name; `null` when a group had no non-null input. */
134
+ readonly metrics: Readonly<Record<string, number | null>>;
135
+ }
136
+ /** Source provenance recorded on an aggregate result batch. */
137
+ export interface GeoArrowAggregateSource {
138
+ readonly batchId: string;
139
+ readonly schemaId: string;
140
+ readonly rowCount: number;
141
+ readonly planId: string;
142
+ readonly sourceId: string;
143
+ readonly sourceVersion: string;
144
+ /** Rows dropped because their group key was null under the `skip` policy. */
145
+ readonly skippedRows: number;
146
+ }
147
+ /** A decoded aggregate result batch. */
148
+ export interface GeoArrowAggregateResult {
149
+ readonly batch: ColumnarBatchV1;
150
+ readonly group: GeoArrowAggregateGroupSpec;
151
+ readonly groupField: string;
152
+ readonly metrics: readonly GeoArrowAggregateMetricSpec[];
153
+ readonly nullKeys: GeoArrowAggregateNullKeyPolicy;
154
+ readonly maxGroups: number;
155
+ readonly source: GeoArrowAggregateSource;
156
+ readonly rows: readonly GeoArrowAggregateRow[];
157
+ }
158
+ /**
159
+ * Create a bounded GeoArrow aggregation for registration with
160
+ * `startColumnarWorkerHost`.
161
+ *
162
+ * The returned operation scans the input batch's packed buffers exactly once,
163
+ * accumulates into group-indexed scalars, and emits a `honua.aggregate` result
164
+ * batch. It fails closed — always before the output batch is allocated — when
165
+ * the group ceiling is exceeded, when a metric value is non-finite, and when a
166
+ * declared column does not exist in the batch. The input batch is never
167
+ * mutated.
168
+ */
169
+ export declare function createGeoArrowAggregateOperation(options: CreateGeoArrowAggregateOperationOptions): ColumnarWorkerOperation;
170
+ /**
171
+ * Decode a `honua.aggregate` result batch produced by
172
+ * {@link createGeoArrowAggregateOperation}.
173
+ *
174
+ * Materialization is bounded by the group count, which the producing operation
175
+ * already capped, so this is always safe to call on a result the SDK produced.
176
+ */
177
+ export declare function readGeoArrowAggregateBatch(batch: ColumnarBatchV1, limits?: GeoArrowConversionLimits): GeoArrowAggregateResult;
178
+ //# sourceMappingURL=geoarrow-aggregate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geoarrow-aggregate.d.ts","sourceRoot":"","sources":["../../../src/columnar/geoarrow-aggregate.ts"],"names":[],"mappings":"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"}