pond-ts 0.12.0 → 0.13.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/CHANGELOG.md CHANGED
@@ -7,10 +7,176 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
7
7
  file covers both packages. Pre-1.0: minor bumps may include new features and
8
8
  type-level changes; patch bumps are strictly additive.
9
9
 
10
- [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.12.0...HEAD
10
+ [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.13.0...HEAD
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [0.13.0] — 2026-05-01
15
+
16
+ The "AggregateOutputMap on live" release. Closes the feature-parity
17
+ gap between batch and live aggregation: the `{ alias: { from, using } }`
18
+ mapping shape that batch `TimeSeries.rolling`/`aggregate` already
19
+ accepted now works on `LiveSeries.rolling`, `LiveSeries.aggregate`,
20
+ and the synchronised partitioned form. Multiple stats from one
21
+ source column in a single rolling deque — no more "one rolling per
22
+ percentile" workaround.
23
+
24
+ The shared runtime helper (`normalizeAggregateColumns`) was already
25
+ doing the work for batch; this release extracts it to
26
+ `aggregate-columns.ts` and threads the type-level overloads through
27
+ the live surface.
28
+
29
+ ### Added
30
+
31
+ - **`AggregateOutputMap` on `LiveSeries.rolling` and
32
+ `LiveSeries.aggregate`.** Compose multiple built-in reducers from
33
+ one source column in a single pass:
34
+
35
+ ```ts
36
+ const band = live.rolling('1m', {
37
+ mean: { from: 'cpu', using: 'avg' },
38
+ sd: { from: 'cpu', using: 'stdev' },
39
+ });
40
+ band.value(); // { mean, sd } — single deque, one walk
41
+ ```
42
+
43
+ Threaded through `LiveView.rolling`/`aggregate`,
44
+ `LiveAggregation.rolling`, `LiveRollingAggregation.aggregate`,
45
+ `LivePartitionedSeries.rolling`, and `LivePartitionedView.rolling`
46
+ — so chained pipelines (`live.filter(...).rolling(...)`,
47
+ `live.partitionBy(c).fill(...).rolling(..., { trigger: ... })`)
48
+ accept either shape.
49
+
50
+ - **Synchronised partitioned rolling with `AggregateOutputMap`.**
51
+ `partitionBy(col).rolling(window, mapping, { trigger: Trigger.clock(seq) })`
52
+ now accepts the alias form. Output schema becomes
53
+ `[time, <partitionColumn>, ...aliasColumns]`. The collision check
54
+ rejects when an alias output collides with the partition column
55
+ name (compare against the alias, not the source column).
56
+
57
+ ### Changed
58
+
59
+ - **Better error message when a custom-function reducer is passed to
60
+ live aggregation.** `LiveAggregation` already failed at construction
61
+ via `resolveReducer(reducer)` (with a generic `unsupported aggregate
62
+ reducer` message); now the eager built-in-name check runs first and
63
+ emits a targeted error pointing at the `AggregateOutputMap` alias
64
+ workaround. Same eager behavior on `LivePartitionedSyncRolling`,
65
+ which previously failed lazily when the first partition spawned —
66
+ now fails at construction. Aligns with `LiveRollingAggregation`'s
67
+ long-standing eager check.
68
+
69
+ - **Shared `normalizeAggregateColumns` helper.** Extracted from
70
+ `TimeSeries.ts` into `aggregate-columns.ts` and used by all three
71
+ live accumulators (`LiveRollingAggregation`, `LiveAggregation`,
72
+ `LivePartitionedSyncRolling`). Single source of truth for column
73
+ normalisation; identical error messages across batch and live
74
+ (`unknown source column`).
75
+
76
+ ### Constraints
77
+
78
+ - **Custom-function reducers remain batch-only.** Live rolling and
79
+ live aggregation still require built-in reducer names (`'avg'`,
80
+ `'p95'`, etc.). Custom `(values) => ...` functions don't have the
81
+ incremental add/remove machinery the live path needs and are
82
+ rejected at construction with a clear error pointing at the
83
+ `AggregateOutputMap` workaround. This is the established
84
+ recommendation: alias multiple built-ins to compose stats from
85
+ one source column.
86
+
87
+ ### Fixed
88
+
89
+ - **`partitionBy(...).rolling(..., options)` now accepts `options` as
90
+ a variable typed `LiveRollingOptions`, not just inline literals.**
91
+ Pre-fix, the four narrowed overloads on
92
+ `LivePartitionedSeries.rolling` and `LivePartitionedView.rolling`
93
+ required TS to see the `trigger` field's discriminator at the call
94
+ site — so a caller writing
95
+ `const opts: LiveRollingOptions = { trigger: Trigger.event() };
96
+ partitioned.rolling(window, mapping, opts);` got `TS2769 No
97
+ overload matches this call`. Pre-existing hole on the partitioned
98
+ surface; surfaced by the v0.13.0 Codex adversarial pass. Closed by
99
+ adding catch-all overloads that accept the broader
100
+ `LiveRollingOptions` and return the union of both trigger
101
+ branches; the four narrowed overloads above still match inline
102
+ literals first, so callers keep the precise return type when they
103
+ pass the trigger inline. Pinned with `test-d/types.test-d.ts`
104
+ coverage using both inline-literal and variable forms.
105
+
106
+ ### Tests
107
+
108
+ - 16 new tests in `test/LiveAggregateOutputMap.test.ts` covering:
109
+ flat live rolling/aggregate with the alias form, chained-view
110
+ rolling/aggregate, `LiveAggregation.rolling` and
111
+ `LiveRollingAggregation.aggregate` chainable accumulators,
112
+ per-partition rolling, synchronised partitioned rolling with
113
+ alias outputs, output-vs-source column-collision rejection on
114
+ the synced form, and explicit kind override.
115
+ - 2 existing tests updated (`LiveAggregation` and
116
+ `LiveRollingAggregation` "unknown column" → "unknown source column"
117
+ to match the shared helper's error string).
118
+ - Test count: 1060 (was 1044).
119
+
120
+ ### Docs
121
+
122
+ - `transforms/rolling.mdx`: live section now documents the
123
+ `AggregateOutputMap` shape with a band-chart example, plus a
124
+ callout that custom functions remain batch-only.
125
+ - `recipes/telemetry-reporting.mdx`: "Want multiple percentiles?"
126
+ section rewritten — the workaround note is gone, replaced with
127
+ the single-pass `{ p50, p95, p99 }` pattern.
128
+
129
+ [0.13.0]: https://github.com/pjm17971/pond-ts/compare/v0.12.1...v0.13.0
130
+
131
+ ## [0.12.1] — 2026-05-01
132
+
133
+ Strictly additive over v0.12.0. Closes the chained-view restriction
134
+ on synchronised partitioned rolling. The trigger option now applies
135
+ consistently across the entire `rolling()` surface — chained sugar
136
+ methods on the partitioned surface (`fill`, `diff`, `rate`,
137
+ `pctChange`, `cumulative`) no longer break it.
138
+
139
+ ### Changed
140
+
141
+ - **`partitionBy(col).<chained>().rolling(window, m, { trigger: Trigger.clock(seq) })` now works.**
142
+ Previously this threw a clear-but-restrictive error. The chain
143
+ factory runs per partition; the sync rolling subscribes to each
144
+ chain output instead of the raw partition events. Output schema is
145
+ unchanged (`[time, <partitionColumn>, ...mappingColumns]`); the
146
+ partition tag is set from the routing key, so chains that drop the
147
+ partition column still emit correctly.
148
+
149
+ Motivating example — per-host gap-filling before synchronised
150
+ ticks:
151
+
152
+ ```ts
153
+ const ticks = live
154
+ .partitionBy('host')
155
+ .fill({ cpu: 'hold' })
156
+ .rolling(
157
+ '1m',
158
+ { cpu: 'avg' },
159
+ { trigger: Trigger.clock(Sequence.every('200ms')) },
160
+ );
161
+ ```
162
+
163
+ Coherence-of-feature fix: the trigger concept now applies wherever
164
+ `rolling()` appears in the partitioned chain, not just in the
165
+ one-step case. Captured in the RFC's post-implementation notes
166
+ alongside the deferred-and-now-shipped section.
167
+
168
+ ### Tests
169
+
170
+ - 4 new tests in `test/Triggers.test.ts` covering chained-view sync
171
+ rolling: `fill().rolling(.., trigger)`, output schema, cross-
172
+ partition synchronisation through the chain, dispose semantics
173
+ through the chain, and replay-on-construction with the chain factory.
174
+ - 1 test removed (the throw-on-chained-view assertion that no longer
175
+ applies).
176
+ - Test count: 34 (was 30). Total core tests: 1043 (was 1039).
177
+
178
+ [0.12.1]: https://github.com/pjm17971/pond-ts/compare/v0.12.0...v0.12.1
179
+
14
180
  ## [0.12.0] — 2026-05-01
15
181
 
16
182
  The "triggers" release. Major redesign of how live accumulators
@@ -4,7 +4,8 @@ import { LiveView, type LiveFillMapping, type LiveFillStrategy } from './LiveVie
4
4
  import { LiveRollingAggregation, type LiveRollingOptions, type RollingWindow } from './LiveRollingAggregation.js';
5
5
  import { TimeSeries } from './TimeSeries.js';
6
6
  import type { Sequence } from './Sequence.js';
7
- import type { AggregateMap, DiffSchema, EventDataForSchema, EventForSchema, LiveSource, NumericColumnNameForSchema, ColumnValue, SelectSchema, SeriesSchema } from './types.js';
7
+ import type { AggregateMap, AggregateOutputMap, DiffSchema, EventDataForSchema, EventForSchema, LiveSource, NumericColumnNameForSchema, ColumnValue, RollingSchema, SelectSchema, SeriesSchema } from './types.js';
8
+ import type { RollingOutputMapSchema } from './types-aggregate.js';
8
9
  import type { DurationInput } from './utils/duration.js';
9
10
  type ClosedEvent = Event<Interval, Record<string, ColumnValue | undefined>>;
10
11
  type BucketListener = (event: ClosedEvent) => void;
@@ -17,7 +18,7 @@ export declare class LiveAggregation<S extends SeriesSchema, Out extends SeriesS
17
18
  #private;
18
19
  readonly name: string;
19
20
  readonly schema: Out;
20
- constructor(source: LiveSource<S>, sequence: Sequence, mapping: AggregateMap<S>, options?: LiveAggregationOptions);
21
+ constructor(source: LiveSource<S>, sequence: Sequence, mapping: AggregateMap<S> | AggregateOutputMap<S>, options?: LiveAggregationOptions);
21
22
  get length(): number;
22
23
  get closedCount(): number;
23
24
  get hasOpenBucket(): boolean;
@@ -47,7 +48,8 @@ export declare class LiveAggregation<S extends SeriesSchema, Out extends SeriesS
47
48
  cumulative<const Targets extends NumericColumnNameForSchema<Out>>(spec: {
48
49
  [K in Targets]: 'sum' | 'max' | 'min' | 'count' | ((acc: number, value: number) => number);
49
50
  }): LiveView<DiffSchema<Out, Targets>>;
50
- rolling(windowSize: RollingWindow, mapping: AggregateMap<Out>, options?: LiveRollingOptions): LiveRollingAggregation<Out>;
51
+ rolling<const M extends AggregateMap<Out>>(windowSize: RollingWindow, mapping: M, options?: LiveRollingOptions): LiveRollingAggregation<Out, RollingSchema<Out, M>>;
52
+ rolling<const M extends AggregateOutputMap<Out>>(windowSize: RollingWindow, mapping: M, options?: LiveRollingOptions): LiveRollingAggregation<Out, RollingOutputMapSchema<Out, M>>;
51
53
  dispose(): void;
52
54
  }
53
55
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"LiveAggregation.d.ts","sourceRoot":"","sources":["../src/LiveAggregation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LiveAggregation.d.ts","sourceRoot":"","sources":["../src/LiveAggregation.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { normalizeAggregateColumns, } from './aggregate-columns.js';
1
2
  import { Event } from './Event.js';
2
3
  import { Interval } from './Interval.js';
3
4
  import { LiveView, makeDiffView, makeFillView, makeCumulativeView, } from './LiveView.js';
@@ -31,19 +32,25 @@ export class LiveAggregation {
31
32
  this.#graceMs = options?.grace
32
33
  ? parseDuration(options.grace)
33
34
  : sourceGraceMs;
34
- const colsByName = new Map(source.schema.slice(1).map((c) => [c.name, c]));
35
- this.#columns = [];
36
- for (const [name, reducer] of Object.entries(mapping)) {
37
- const col = colsByName.get(name);
38
- if (!col)
39
- throw new TypeError(`unknown column '${name}'`);
40
- const outputKind = resolveReducer(reducer).outputKind;
41
- const kind = outputKind === 'number'
42
- ? 'number'
43
- : outputKind === 'array'
44
- ? 'array'
45
- : col.kind;
46
- this.#columns.push({ output: name, source: name, reducer, kind });
35
+ // Normalise the mapping into the unified column-spec shape used
36
+ // by both batch and live aggregation paths. Accepts either
37
+ // `AggregateMap<S>` (one reducer per existing source column) or
38
+ // `AggregateOutputMap<S>` (named alias outputs, multiple
39
+ // reducers per source column).
40
+ this.#columns = normalizeAggregateColumns(source.schema, mapping);
41
+ // Live aggregation currently only supports built-in (string)
42
+ // reducers. They have incremental bucket-state machinery
43
+ // (`add`/`snapshot`) that custom functions don't. Validate
44
+ // eagerly so the error surfaces at construction time, not on
45
+ // the first event arrival. Use AggregateOutputMap aliases over
46
+ // built-ins to compose multiple stats from one source column.
47
+ for (const c of this.#columns) {
48
+ if (typeof c.reducer !== 'string') {
49
+ throw new TypeError(`live aggregation reducer for output '${c.output}' must be a built-in name; ` +
50
+ 'custom function reducers are not supported on live aggregation. ' +
51
+ 'Use AggregateOutputMap aliases (`{ alias: { from, using } }`) ' +
52
+ 'to compose multiple built-in reducers from one source column.');
53
+ }
47
54
  }
48
55
  this.schema = Object.freeze([
49
56
  { name: 'time', kind: 'interval' },
@@ -160,6 +167,9 @@ export class LiveAggregation {
160
167
  return;
161
168
  let pending = this.#pending.get(bucket.start);
162
169
  if (!pending) {
170
+ // The constructor's eager check guarantees every reducer is a
171
+ // built-in string by the time we get here, so `c.reducer` is
172
+ // safe to pass directly to `resolveReducer`.
163
173
  pending = {
164
174
  start: bucket.start,
165
175
  end: bucket.end,
@@ -1 +1 @@
1
- {"version":3,"file":"LiveAggregation.js","sourceRoot":"","sources":["../src/LiveAggregation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LiveAggregation.js","sourceRoot":"","sources":["../src/LiveAggregation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { LiveSeries, type LiveSeriesOptions } from './LiveSeries.js';
2
+ import { LivePartitionedSyncRolling } from './LivePartitionedSyncRolling.js';
2
3
  import { type LiveFillMapping, type LiveFillStrategy } from './LiveView.js';
3
4
  import type { Trigger } from './triggers.js';
4
- import { type AggregateMap, type DiffSchema, type EventDataForSchema, type LiveSource, type NumericColumnNameForSchema, type RollingSchema, type SeriesSchema } from './types.js';
5
+ import { type AggregateMap, type AggregateOutputMap, type DiffSchema, type EventDataForSchema, type LiveSource, type NumericColumnNameForSchema, type RollingSchema, type SeriesSchema } from './types.js';
6
+ import type { RollingOutputMapSchema } from './types-aggregate.js';
5
7
  import type { DurationInput } from './utils/duration.js';
6
8
  import type { LiveRollingOptions, RollingWindow } from './LiveRollingAggregation.js';
7
9
  /**
@@ -166,28 +168,65 @@ export declare class LivePartitionedSeries<S extends SeriesSchema, K extends str
166
168
  /**
167
169
  * Per-partition `rolling`. See {@link LiveSeries.rolling}.
168
170
  *
169
- * **Partition column drops by default.** `rolling`'s output
170
- * schema only retains columns named in `mapping`. Without
171
- * including the partition column, the unified output of the
172
- * chain loses the partition tag (e.g. `host` becomes
173
- * `undefined`). To keep the partition column visible, include
174
- * it in `mapping` with a passthrough reducer:
171
+ * Two emission modes, chosen by the `trigger` option:
172
+ *
173
+ * **Default (no trigger / `Trigger.event()`):** per-partition
174
+ * rolling each partition has its own `LiveRollingAggregation`
175
+ * emitting per source event. Returns a chainable
176
+ * `LivePartitionedView`.
177
+ *
178
+ * In this mode the partition column **drops by default** —
179
+ * `rolling`'s output schema only retains columns named in
180
+ * `mapping`. Without including the partition column, the unified
181
+ * output of the chain loses the partition tag (e.g. `host` becomes
182
+ * `undefined`). To keep the partition column visible, include it
183
+ * with a passthrough reducer:
175
184
  *
176
185
  * ```ts
177
186
  * partitioned.rolling('5m', { cpu: 'avg', host: 'last' })
178
187
  * // ^^^^^^^^^^^^^^
179
188
  * ```
189
+ *
190
+ * **`Trigger.clock(seq)`:** synchronised partitioned rolling — all
191
+ * partitions share one bucket index and emit together at each
192
+ * boundary crossing. Returns a flat `LiveSource<RowSchema>` whose
193
+ * schema is `[time, <partitionColumn>, ...mappingColumns]`.
194
+ *
195
+ * In this mode the partition column is **auto-injected** from the
196
+ * routing key — do NOT include it in `mapping`. A collision
197
+ * between the partition column name and any reducer-output column
198
+ * is rejected at construction with a clear error.
199
+ *
200
+ * ```ts
201
+ * partitioned.rolling(
202
+ * '5m',
203
+ * { cpu: 'avg' }, // host is auto-injected
204
+ * { trigger: Trigger.clock(Sequence.every('200ms')) },
205
+ * );
206
+ * ```
180
207
  */
181
208
  rolling<const M extends AggregateMap<S>>(window: RollingWindow, mapping: M, options?: LiveRollingOptions & {
182
209
  trigger?: {
183
210
  kind: 'event';
184
211
  };
185
212
  }): LivePartitionedView<S, RollingSchema<S, M>, K>;
213
+ rolling<const M extends AggregateOutputMap<S>>(window: RollingWindow, mapping: M, options?: LiveRollingOptions & {
214
+ trigger?: {
215
+ kind: 'event';
216
+ };
217
+ }): LivePartitionedView<S, RollingOutputMapSchema<S, M>, K>;
186
218
  rolling<const M extends AggregateMap<S>>(window: RollingWindow, mapping: M, options: LiveRollingOptions & {
187
219
  trigger: {
188
220
  kind: 'clock';
189
221
  } & Trigger;
190
222
  }): LiveSource<SeriesSchema>;
223
+ rolling<const M extends AggregateOutputMap<S>>(window: RollingWindow, mapping: M, options: LiveRollingOptions & {
224
+ trigger: {
225
+ kind: 'clock';
226
+ } & Trigger;
227
+ }): LiveSource<SeriesSchema>;
228
+ rolling<const M extends AggregateMap<S>>(window: RollingWindow, mapping: M, options: LiveRollingOptions): LivePartitionedView<S, RollingSchema<S, M>, K> | LiveSource<SeriesSchema>;
229
+ rolling<const M extends AggregateOutputMap<S>>(window: RollingWindow, mapping: M, options: LiveRollingOptions): LivePartitionedView<S, RollingOutputMapSchema<S, M>, K> | LiveSource<SeriesSchema>;
191
230
  /**
192
231
  * Dispose of the partitioned view: unsubscribe from the source,
193
232
  * disconnect every per-partition pipeline subscriber (created
@@ -209,6 +248,16 @@ export declare class LivePartitionedSeries<S extends SeriesSchema, K extends str
209
248
  * subscriptions that would otherwise leak across repeated calls.
210
249
  */
211
250
  _addDisposer(fn: () => void): void;
251
+ /**
252
+ * @internal — used by `LivePartitionedView.rolling`'s clock-trigger
253
+ * branch to wire a sync rolling whose reducer-input schema is the
254
+ * chain output `R` rather than the source schema `S`. The view
255
+ * passes its composed factory; this method delegates to
256
+ * `#wireSyncRolling` with `ownsFactoryOutput: true` because the
257
+ * chain output (a LiveView / LiveRollingAggregation / etc.) has
258
+ * its own upstream subscription that must be torn down on dispose.
259
+ */
260
+ _wireSyncRollingFromView<R extends SeriesSchema>(sync: LivePartitionedSyncRolling<R, K, SeriesSchema>, factory: (partition: LiveSeries<S>) => LiveSource<R>): void;
212
261
  }
213
262
  /**
214
263
  * Chained typed view over a {@link LivePartitionedSeries}. Returned
@@ -300,6 +349,27 @@ export declare class LivePartitionedView<SBase extends SeriesSchema, R extends S
300
349
  * partition column with a passthrough reducer (e.g.
301
350
  * `host: 'last'`) to keep it visible in the unified output.
302
351
  */
303
- rolling<const M extends AggregateMap<R>>(window: RollingWindow, mapping: M, options?: LiveRollingOptions): LivePartitionedView<SBase, RollingSchema<R, M>, K>;
352
+ rolling<const M extends AggregateMap<R>>(window: RollingWindow, mapping: M, options?: LiveRollingOptions & {
353
+ trigger?: {
354
+ kind: 'event';
355
+ };
356
+ }): LivePartitionedView<SBase, RollingSchema<R, M>, K>;
357
+ rolling<const M extends AggregateOutputMap<R>>(window: RollingWindow, mapping: M, options?: LiveRollingOptions & {
358
+ trigger?: {
359
+ kind: 'event';
360
+ };
361
+ }): LivePartitionedView<SBase, RollingOutputMapSchema<R, M>, K>;
362
+ rolling<const M extends AggregateMap<R>>(window: RollingWindow, mapping: M, options: LiveRollingOptions & {
363
+ trigger: {
364
+ kind: 'clock';
365
+ } & Trigger;
366
+ }): LiveSource<SeriesSchema>;
367
+ rolling<const M extends AggregateOutputMap<R>>(window: RollingWindow, mapping: M, options: LiveRollingOptions & {
368
+ trigger: {
369
+ kind: 'clock';
370
+ } & Trigger;
371
+ }): LiveSource<SeriesSchema>;
372
+ rolling<const M extends AggregateMap<R>>(window: RollingWindow, mapping: M, options: LiveRollingOptions): LivePartitionedView<SBase, RollingSchema<R, M>, K> | LiveSource<SeriesSchema>;
373
+ rolling<const M extends AggregateOutputMap<R>>(window: RollingWindow, mapping: M, options: LiveRollingOptions): LivePartitionedView<SBase, RollingOutputMapSchema<R, M>, K> | LiveSource<SeriesSchema>;
304
374
  }
305
375
  //# sourceMappingURL=LivePartitionedSeries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LivePartitionedSeries.d.ts","sourceRoot":"","sources":["../src/LivePartitionedSeries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LivePartitionedSeries.d.ts","sourceRoot":"","sources":["../src/LivePartitionedSeries.ts"],"names":[],"mappings":"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"}