pond-ts 0.13.0 → 0.13.1
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 +55 -1
- package/dist/LivePartitionedSeries.d.ts +1 -1
- package/dist/LiveRollingAggregation.d.ts +2 -1
- package/dist/LiveRollingAggregation.d.ts.map +1 -1
- package/dist/LiveRollingAggregation.js.map +1 -1
- package/dist/triggers.d.ts +30 -2
- package/dist/triggers.d.ts.map +1 -1
- package/dist/triggers.js +29 -0
- package/dist/triggers.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,10 +7,64 @@ 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.13.
|
|
10
|
+
[Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.13.1...HEAD
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [0.13.1] — 2026-05-01
|
|
15
|
+
|
|
16
|
+
Strictly additive over v0.13.0. Adds a sugar factory on `Trigger`
|
|
17
|
+
following Codex feedback after adopting v0.12 triggers in the
|
|
18
|
+
production webapp telemetry app: the explicit form
|
|
19
|
+
(`Trigger.clock(Sequence.every('30s'))`) is "ceremony-heavy for the
|
|
20
|
+
common case."
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- **`Trigger.every(duration, options?)`** — sugar for the common
|
|
25
|
+
`Trigger.clock(Sequence.every(duration, options))` pattern. Removes
|
|
26
|
+
the need to import `Sequence` for trigger-only use sites. Forwards
|
|
27
|
+
`{ anchor }` to `Sequence.every` and inherits the same fixed-step
|
|
28
|
+
validation:
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
// Before
|
|
32
|
+
live.rolling('1m', mapping, {
|
|
33
|
+
trigger: Trigger.clock(Sequence.every('30s')),
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
// After
|
|
37
|
+
live.rolling('1m', mapping, { trigger: Trigger.every('30s') });
|
|
38
|
+
|
|
39
|
+
// Anchored variant (passes through to Sequence.every):
|
|
40
|
+
Trigger.every('30s', { anchor: 5_000 });
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The explicit `Trigger.clock(seq)` form remains for callers who
|
|
44
|
+
already hold a `Sequence` object (e.g. one shared across batch
|
|
45
|
+
`series.aggregate(seq, ...)` and live triggers) — `Trigger.every`
|
|
46
|
+
always builds a fresh `Sequence`.
|
|
47
|
+
|
|
48
|
+
### Docs
|
|
49
|
+
|
|
50
|
+
- Telemetry recipe and live-transforms doc updated to lead with
|
|
51
|
+
the sugar form. `Trigger.clock` documented as the explicit form
|
|
52
|
+
for "I already have a Sequence object" cases.
|
|
53
|
+
- JSDoc on `LiveRollingAggregation.trigger` and the partitioned
|
|
54
|
+
rolling clock-trigger example updated to show the sugar.
|
|
55
|
+
|
|
56
|
+
### Tests
|
|
57
|
+
|
|
58
|
+
- 3 new tests in `test/Triggers.test.ts` covering: sugar produces
|
|
59
|
+
`kind: 'clock'` with correct stepMs/anchor; anchor option
|
|
60
|
+
forwards correctly; behavioural equivalence between
|
|
61
|
+
`Trigger.every('30s')` and `Trigger.clock(Sequence.every('30s'))`
|
|
62
|
+
pinned by emission-time comparison through a real
|
|
63
|
+
`LiveRollingAggregation`.
|
|
64
|
+
- Total core tests: 1063 (was 1060).
|
|
65
|
+
|
|
66
|
+
[0.13.1]: https://github.com/pjm17971/pond-ts/compare/v0.13.0...v0.13.1
|
|
67
|
+
|
|
14
68
|
## [0.13.0] — 2026-05-01
|
|
15
69
|
|
|
16
70
|
The "AggregateOutputMap on live" release. Closes the feature-parity
|
|
@@ -201,7 +201,7 @@ export declare class LivePartitionedSeries<S extends SeriesSchema, K extends str
|
|
|
201
201
|
* partitioned.rolling(
|
|
202
202
|
* '5m',
|
|
203
203
|
* { cpu: 'avg' }, // host is auto-injected
|
|
204
|
-
* { trigger: Trigger.
|
|
204
|
+
* { trigger: Trigger.every('200ms') },
|
|
205
205
|
* );
|
|
206
206
|
* ```
|
|
207
207
|
*/
|
|
@@ -21,7 +21,8 @@ export type LiveRollingOptions = {
|
|
|
21
21
|
* Emission cadence. Defaults to `Trigger.event()` — emits one
|
|
22
22
|
* snapshot per source event push (the historical behavior).
|
|
23
23
|
*
|
|
24
|
-
* Pass `Trigger.
|
|
24
|
+
* Pass `Trigger.every('30s')` (or the equivalent
|
|
25
|
+
* `Trigger.clock(Sequence.every('30s'))`) to switch to
|
|
25
26
|
* sequence-triggered emission: one snapshot fires when a source
|
|
26
27
|
* event crosses an epoch-aligned boundary of the sequence; output
|
|
27
28
|
* timestamps are the boundary instants. If no events arrive during
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveRollingAggregation.d.ts","sourceRoot":"","sources":["../src/LiveRollingAggregation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,QAAQ,EAIR,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAGL,KAAK,OAAO,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,0BAA0B,EAC1B,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC;AAC/E,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;AAE1C,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB
|
|
1
|
+
{"version":3,"file":"LiveRollingAggregation.d.ts","sourceRoot":"","sources":["../src/LiveRollingAggregation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveRollingAggregation.js","sourceRoot":"","sources":["../src/LiveRollingAggregation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,GAE1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,kBAAkB,GAGnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAA4B,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EACL,cAAc,EACd,oBAAoB,GAGrB,MAAM,eAAe,CAAC;AAiBvB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"LiveRollingAggregation.js","sourceRoot":"","sources":["../src/LiveRollingAggregation.ts"],"names":[],"mappings":"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"}
|
package/dist/triggers.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Sequence } from './Sequence.js';
|
|
2
|
+
import type { DurationInput } from './utils/duration.js';
|
|
3
|
+
import type { TimestampInput } from './temporal.js';
|
|
2
4
|
/**
|
|
3
5
|
* A `Trigger` describes when an accumulator should emit. Pond's live
|
|
4
6
|
* layer factors emission cadence as a first-class concept — orthogonal
|
|
@@ -12,7 +14,8 @@ import { Sequence } from './Sequence.js';
|
|
|
12
14
|
* import { Trigger, Sequence } from 'pond-ts';
|
|
13
15
|
*
|
|
14
16
|
* const event = Trigger.event(); // per-event (default)
|
|
15
|
-
* const
|
|
17
|
+
* const tick = Trigger.every('30s'); // sugar: fixed cadence
|
|
18
|
+
* const clock = Trigger.clock(Sequence.every('30s')); // explicit Sequence form
|
|
16
19
|
* ```
|
|
17
20
|
*
|
|
18
21
|
* Pass to an accumulator's `trigger` option to switch its emission
|
|
@@ -20,7 +23,7 @@ import { Sequence } from './Sequence.js';
|
|
|
20
23
|
*
|
|
21
24
|
* ```ts
|
|
22
25
|
* live.rolling('1m', { latency: 'p95' }, {
|
|
23
|
-
* trigger: Trigger.
|
|
26
|
+
* trigger: Trigger.every('30s'),
|
|
24
27
|
* });
|
|
25
28
|
* ```
|
|
26
29
|
*
|
|
@@ -76,6 +79,31 @@ export declare const Trigger: Readonly<{
|
|
|
76
79
|
* (`Sequence.every('30s')`, `Sequence.hourly()`, etc.).
|
|
77
80
|
*/
|
|
78
81
|
clock(sequence: Sequence): ClockTrigger;
|
|
82
|
+
/**
|
|
83
|
+
* Sugar for the common case `Trigger.clock(Sequence.every(duration, options))`.
|
|
84
|
+
* Constructs a fixed-cadence sequence trigger without requiring callers
|
|
85
|
+
* to import `Sequence` for trigger-only use sites.
|
|
86
|
+
*
|
|
87
|
+
* ```ts
|
|
88
|
+
* live.rolling('1m', { latency: 'p95' }, {
|
|
89
|
+
* trigger: Trigger.every('30s'),
|
|
90
|
+
* });
|
|
91
|
+
*
|
|
92
|
+
* // Anchored — same as Trigger.clock(Sequence.every('30s', { anchor: 5_000 })):
|
|
93
|
+
* Trigger.every('30s', { anchor: 5_000 });
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* Reach for the explicit {@link Trigger.clock} form when you already
|
|
97
|
+
* hold a `Sequence` object (e.g. one shared across batch
|
|
98
|
+
* `series.aggregate(seq, ...)` and live triggers) — `Trigger.every`
|
|
99
|
+
* always builds a fresh `Sequence`.
|
|
100
|
+
*
|
|
101
|
+
* @throws TypeError if `duration` is not a valid fixed-step duration
|
|
102
|
+
* string (rejected at `Sequence.every` construction).
|
|
103
|
+
*/
|
|
104
|
+
every(duration: DurationInput, options?: {
|
|
105
|
+
anchor?: TimestampInput;
|
|
106
|
+
}): ClockTrigger;
|
|
79
107
|
/**
|
|
80
108
|
* Construct a per-event trigger. This is the default behaviour of
|
|
81
109
|
* accumulators (`live.rolling(...)` etc.) when no `trigger` option
|
package/dist/triggers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,YAAY,CAAC;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAKvD;;;;GAIG;AACH,eAAO,MAAM,OAAO;IAClB;;;;;;;OAOG;oBACa,QAAQ,GAAG,YAAY;IAUvC;;;;;;;;;;;;;;;;;;;;;OAqBG;oBAES,aAAa,YACd;QAAE,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,GACnC,YAAY;IAOf;;;;OAIG;aACM,YAAY;EAGrB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CAIR"}
|
package/dist/triggers.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Sequence } from './Sequence.js';
|
|
1
2
|
/** Sentinel default trigger — frozen, shared. */
|
|
2
3
|
const EVENT_TRIGGER = Object.freeze({ kind: 'event' });
|
|
3
4
|
/**
|
|
@@ -21,6 +22,34 @@ export const Trigger = Object.freeze({
|
|
|
21
22
|
}
|
|
22
23
|
return Object.freeze({ kind: 'clock', sequence });
|
|
23
24
|
},
|
|
25
|
+
/**
|
|
26
|
+
* Sugar for the common case `Trigger.clock(Sequence.every(duration, options))`.
|
|
27
|
+
* Constructs a fixed-cadence sequence trigger without requiring callers
|
|
28
|
+
* to import `Sequence` for trigger-only use sites.
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* live.rolling('1m', { latency: 'p95' }, {
|
|
32
|
+
* trigger: Trigger.every('30s'),
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // Anchored — same as Trigger.clock(Sequence.every('30s', { anchor: 5_000 })):
|
|
36
|
+
* Trigger.every('30s', { anchor: 5_000 });
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* Reach for the explicit {@link Trigger.clock} form when you already
|
|
40
|
+
* hold a `Sequence` object (e.g. one shared across batch
|
|
41
|
+
* `series.aggregate(seq, ...)` and live triggers) — `Trigger.every`
|
|
42
|
+
* always builds a fresh `Sequence`.
|
|
43
|
+
*
|
|
44
|
+
* @throws TypeError if `duration` is not a valid fixed-step duration
|
|
45
|
+
* string (rejected at `Sequence.every` construction).
|
|
46
|
+
*/
|
|
47
|
+
every(duration, options = {}) {
|
|
48
|
+
return Object.freeze({
|
|
49
|
+
kind: 'clock',
|
|
50
|
+
sequence: Sequence.every(duration, options),
|
|
51
|
+
});
|
|
52
|
+
},
|
|
24
53
|
/**
|
|
25
54
|
* Construct a per-event trigger. This is the default behaviour of
|
|
26
55
|
* accumulators (`live.rolling(...)` etc.) when no `trigger` option
|
package/dist/triggers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../src/triggers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAiEzC,iDAAiD;AACjD,MAAM,aAAa,GAAiB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC;;;;;;;OAOG;IACH,KAAK,CAAC,QAAkB;QACtB,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,SAAS,CACjB,0DAA0D;gBACxD,uDAAuD,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CACH,QAAuB,EACvB,UAAuC,EAAE;QAEzC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;CACF,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAqB,EAAE,EAAU;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAqB,EACrB,SAAiB;IAEjB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3C,OAAO,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AACvC,CAAC"}
|