@walkeros/core 4.6.1 → 4.7.0-next-1790187973605

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
@@ -1,5 +1,62 @@
1
1
  # @walkeros/core
2
2
 
3
+ ## 4.7.0-next-1790187973605
4
+
5
+ ### Minor Changes
6
+
7
+ - 57788bc: `anonymizeIP` now handles IPv6, keeping the first 48 bits, and treats
8
+ an IPv4-mapped address (`::ffff:1.2.3.4`) as IPv4; both returned an empty
9
+ string before. `getHashServer` takes an optional `key` for a keyed HMAC hash;
10
+ without it the output is unchanged.
11
+ - f5a1cfd: New `collector.next`: a transformer chain that runs once per event,
12
+ before the event is handed to the destinations. Everything it produces reaches
13
+ every destination, and a `stop` in it drops the event for all of them;
14
+ per-destination filtering stays on `destination.before`. The explorer flow map
15
+ draws this chain, and the MCP guidance describes it.
16
+ - 2aebc53: A mapping value now runs exactly one producer, in the order `loop`,
17
+ `map`, `set`, `key`, `fn`; the rest never run, so a `fn` next to a `key` is
18
+ ignored. To transform a field, use `fn` alone. A `loop` over something that is
19
+ not a list now yields the `value` fallback instead of the whole event.
20
+ - f5a1cfd: Inside an array, a transformer's own `next` now runs right after it,
21
+ then the array continues. `many` works in every chain field: each match
22
+ becomes its own copy with a derived `event.id` that finishes the rest of the
23
+ path. Unknown transformer ids log a warning and the chain continues.
24
+ `@walkeros/collector` no longer exports `walkChain` or
25
+ `extractTransformerNextMap`.
26
+ - f5a1cfd: Routes can drop an event with `{ stop: true }`, optionally gated by
27
+ `match`, in every chain field. A route `match` now reads `{ ingest, event }`
28
+ and resolves only when the event reaches it, so it sees values earlier steps
29
+ loaded. `getNextSteps(spec, root)` now requires that root and returns
30
+ `NextSteps`; the new `getRouteGraph` lists every branch.
31
+ - 2aebc53: `state` paths now resolve against `{ event, ingest }` and need an
32
+ `event.` or `ingest.` prefix, so a store can be keyed by request context. A
33
+ `get` can write into `ingest`, keeping the value off the event. An
34
+ unresolvable key logs a warning instead of failing silently.
35
+ `buildCacheContext` is renamed `createMappingRoot`.
36
+ - 8f8aea6: Every step field now survives bundling. A transformer with only
37
+ `state` or `mapping`, and inline code steps with `cache` or `state`, were
38
+ silently dropped from the bundle before and did nothing at runtime. `mapping`
39
+ is now a typed transformer field, and bundles no longer carry `variables`.
40
+ - 2aebc53: `walkeros validate` now reports paths that can never resolve: an
41
+ `ingest.` path in mapping `data` or `policy`, which resolve against the event,
42
+ and a cache key or route match without an `event.` or `ingest.` prefix. Flow
43
+ steps now declare `state`, so its paths are validated too.
44
+ - 2aebc53: A mapping or `policy` entry that resolves to nothing now removes the
45
+ field instead of leaving an `undefined` placeholder, so a denied consent gate
46
+ redacts it. The validate transformer never throws: an engine failure becomes
47
+ an issue, and `pass` mode no longer drops events that carry such fields.
48
+
49
+ ### Patch Changes
50
+
51
+ - ef02916: The JSON Schema for a mapping loop now sets `minItems` and `maxItems`
52
+ to 2, so a settings schema that embeds a mapping value no longer makes
53
+ `walkeros validate --path` print an Ajv strict-mode warning. The published
54
+ Flow JSON Schema (`schema/flow/v4.json`) was refreshed to match: it now
55
+ includes `config.observe` and no longer lists the step-level `validate` field.
56
+ - ef02916: The destination `queue` option's description now says what it does:
57
+ whether a destination added later receives the run's earlier events (default
58
+ true). Consent-denied events are queued regardless.
59
+
3
60
  ## 4.6.1
4
61
 
5
62
  ## 4.6.0