@walkeros/server-destination-redis 4.1.0-next-1778668930820 → 4.1.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 +126 -0
- package/README.md +33 -43
- package/dist/walkerOS.json +9 -8
- package/package.json +6 -5
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# @walkeros/server-destination-redis
|
|
2
|
+
|
|
3
|
+
## 4.1.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [e155ff8]
|
|
8
|
+
- Updated dependencies [e800974]
|
|
9
|
+
- Updated dependencies [e155ff8]
|
|
10
|
+
- Updated dependencies [1a8f2d7]
|
|
11
|
+
- Updated dependencies [1a8f2d7]
|
|
12
|
+
- Updated dependencies [b276173]
|
|
13
|
+
- Updated dependencies [dd9f5ad]
|
|
14
|
+
- Updated dependencies [c60ef35]
|
|
15
|
+
- Updated dependencies [adeebea]
|
|
16
|
+
- Updated dependencies [13aaeaa]
|
|
17
|
+
- Updated dependencies [e800974]
|
|
18
|
+
- Updated dependencies [adeebea]
|
|
19
|
+
- Updated dependencies [e800974]
|
|
20
|
+
- Updated dependencies [e800974]
|
|
21
|
+
- Updated dependencies [058f7ed]
|
|
22
|
+
- Updated dependencies [28a8ac2]
|
|
23
|
+
- Updated dependencies [fd6076e]
|
|
24
|
+
- @walkeros/core@4.1.0
|
|
25
|
+
- @walkeros/server-core@4.1.0
|
|
26
|
+
|
|
27
|
+
## 4.0.2
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- Updated dependencies [a6a0ea7]
|
|
32
|
+
- @walkeros/core@4.0.2
|
|
33
|
+
- @walkeros/server-core@4.0.2
|
|
34
|
+
|
|
35
|
+
## 4.0.1
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [381dfe7]
|
|
40
|
+
- Updated dependencies [1524275]
|
|
41
|
+
- Updated dependencies [03d7055]
|
|
42
|
+
- @walkeros/core@4.0.1
|
|
43
|
+
- @walkeros/server-core@4.0.1
|
|
44
|
+
|
|
45
|
+
## 4.0.0
|
|
46
|
+
|
|
47
|
+
### Major Changes
|
|
48
|
+
|
|
49
|
+
- 93ea9c4: Event model v4: breaking changes to the `Event`, `Source`, and
|
|
50
|
+
`Entity` shapes.
|
|
51
|
+
- `event.id` is now a W3C span_id (16 lowercase hex chars), generated by the
|
|
52
|
+
collector. Reference: W3C Trace Context (W3C Recommendation, January 2020).
|
|
53
|
+
- `event.version`, `event.group`, `event.count` are removed.
|
|
54
|
+
- `source.type` is now the source kind (e.g. `browser`, `gtag`, `mcp`, `cli`).
|
|
55
|
+
New `source.platform` holds the runtime (`web` | `server` | `app` | ...).
|
|
56
|
+
- `source.id` and `source.previous_id` are removed.
|
|
57
|
+
- Browser source now sets `source.url` and `source.referrer`.
|
|
58
|
+
- MCP source sets `source.tool` per emission. CLI source sets
|
|
59
|
+
`source.command`.
|
|
60
|
+
- `Entity.nested` and `Entity.context` are now optional. Root `event.nested`
|
|
61
|
+
and `event.context` remain required.
|
|
62
|
+
- Each source self-registers via TypeScript module augmentation of `SourceMap`
|
|
63
|
+
in `@walkeros/core`.
|
|
64
|
+
- App-side coordination (`/workspaces/developer/app`) is a follow-up plan, not
|
|
65
|
+
part of this release. Telemetry from v4 CLI/MCP will not validate against
|
|
66
|
+
the existing app schema until that follow-up ships.
|
|
67
|
+
- `Mapping.Rule.skip` is renamed to `Mapping.Rule.silent`. Customer flow.json
|
|
68
|
+
configs using `skip: true` in mapping rules must rename to `silent: true`.
|
|
69
|
+
Hard cut: no legacy alias, the field is gone.
|
|
70
|
+
|
|
71
|
+
### Patch Changes
|
|
72
|
+
|
|
73
|
+
- Updated dependencies [93ea9c4]
|
|
74
|
+
- Updated dependencies [465775c]
|
|
75
|
+
- Updated dependencies [942a7fe]
|
|
76
|
+
- Updated dependencies [cfc7469]
|
|
77
|
+
- Updated dependencies [8e06b1f]
|
|
78
|
+
- Updated dependencies [3d50dd6]
|
|
79
|
+
- Updated dependencies [1ef33d9]
|
|
80
|
+
- @walkeros/core@4.0.0
|
|
81
|
+
- @walkeros/server-core@4.0.0
|
|
82
|
+
|
|
83
|
+
## 3.4.2
|
|
84
|
+
|
|
85
|
+
### Patch Changes
|
|
86
|
+
|
|
87
|
+
- @walkeros/core@3.4.2
|
|
88
|
+
- @walkeros/server-core@3.4.2
|
|
89
|
+
|
|
90
|
+
## 3.4.1
|
|
91
|
+
|
|
92
|
+
### Patch Changes
|
|
93
|
+
|
|
94
|
+
- Updated dependencies [12adf24]
|
|
95
|
+
- Updated dependencies [75aa26b]
|
|
96
|
+
- @walkeros/core@3.4.1
|
|
97
|
+
- @walkeros/server-core@3.4.1
|
|
98
|
+
|
|
99
|
+
## 3.4.0
|
|
100
|
+
|
|
101
|
+
### Minor Changes
|
|
102
|
+
|
|
103
|
+
- 74940cc: Add server-side Redis Streams destination via ioredis. Supports XADD
|
|
104
|
+
append with auto-generated entry IDs, JSON and flat serialization modes,
|
|
105
|
+
approximate and exact MAXLEN trimming, per-rule stream key overrides,
|
|
106
|
+
env-injected client pattern for testing, and graceful shutdown via
|
|
107
|
+
client.quit().
|
|
108
|
+
- 724f97e: Migrate every step example in every walkerOS package to the
|
|
109
|
+
standardized `[callable, ...args][]` shape introduced in `@walkeros/core`.
|
|
110
|
+
Every step example's `out` is now an array of effect tuples whose first
|
|
111
|
+
element is the callable's public SDK name (`'gtag'`, `'analytics.track'`,
|
|
112
|
+
`'fbq'`, `'dataLayer.push'`, `'sendServer'`, `'fetch'`, `'trackClient.track'`,
|
|
113
|
+
`'amplitude.track'`, `'fs.writeFile'`, `'producer.send'`, `'client.xadd'`,
|
|
114
|
+
`'client.send'`, `'dataset.table.insert'`, etc.). Source examples use `'elb'`
|
|
115
|
+
as the callable; transformer examples use the reserved `'return'` keyword;
|
|
116
|
+
store examples use store-operation callables (`'get'`, `'set'`). Tests capture
|
|
117
|
+
real calls on each component's spy and assert against `example.out` directly —
|
|
118
|
+
the hardcoded `PACKAGE_CALLS` registry in the app is no longer consulted
|
|
119
|
+
(emptied; plan #3 removes it structurally).
|
|
120
|
+
|
|
121
|
+
### Patch Changes
|
|
122
|
+
|
|
123
|
+
- Updated dependencies [74940cc]
|
|
124
|
+
- Updated dependencies [525f5d9]
|
|
125
|
+
- @walkeros/core@3.4.0
|
|
126
|
+
- @walkeros/server-core@3.4.0
|
package/README.md
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
<p align="left">
|
|
2
|
+
<a href="https://www.walkeros.io">
|
|
3
|
+
<img alt="walkerOS" title="walkerOS" src="https://www.walkeros.io/img/walkerOS_logo.svg" width="256px"/>
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
1
7
|
# @walkeros/server-destination-redis
|
|
2
8
|
|
|
3
|
-
Server-side Redis Streams
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
9
|
+
Server-side event streaming to Redis Streams via the ioredis client, with
|
|
10
|
+
configurable XADD streams, optional MAXLEN trimming, JSON or flat serialization,
|
|
11
|
+
and graceful shutdown.
|
|
12
|
+
|
|
13
|
+
[Documentation](https://www.walkeros.io/docs/destinations/server/redis) •
|
|
14
|
+
[NPM Package](https://www.npmjs.com/package/@walkeros/server-destination-redis)
|
|
15
|
+
•
|
|
16
|
+
[Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/redis)
|
|
7
17
|
|
|
8
18
|
## Installation
|
|
9
19
|
|
|
@@ -11,19 +21,18 @@ serialization, and graceful shutdown.
|
|
|
11
21
|
npm install @walkeros/server-destination-redis
|
|
12
22
|
```
|
|
13
23
|
|
|
14
|
-
## Quick
|
|
24
|
+
## Quick start
|
|
15
25
|
|
|
16
26
|
```json
|
|
17
27
|
{
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"config": {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
28
|
+
"version": 4,
|
|
29
|
+
"flows": {
|
|
30
|
+
"default": {
|
|
31
|
+
"config": { "platform": "server" },
|
|
32
|
+
"destinations": {
|
|
33
|
+
"redis": {
|
|
34
|
+
"package": "@walkeros/server-destination-redis",
|
|
35
|
+
"config": {}
|
|
27
36
|
}
|
|
28
37
|
}
|
|
29
38
|
}
|
|
@@ -31,37 +40,18 @@ npm install @walkeros/server-destination-redis
|
|
|
31
40
|
}
|
|
32
41
|
```
|
|
33
42
|
|
|
34
|
-
##
|
|
35
|
-
|
|
36
|
-
| Setting | Type | Required | Default | Description |
|
|
37
|
-
| --------------------- | -------------------- | -------- | -------- | --------------------------------------------------------------- |
|
|
38
|
-
| `redis.streamKey` | `string` | Yes | -- | Redis stream key name |
|
|
39
|
-
| `redis.url` | `string` | No | -- | Redis connection URL (`redis://` or `rediss://`) |
|
|
40
|
-
| `redis.options` | `RedisClientOptions` | No | -- | ioredis connection options (host, port, password, db, tls, ...) |
|
|
41
|
-
| `redis.maxLen` | `number` | No | -- | Max stream length (approximate MAXLEN trimming) |
|
|
42
|
-
| `redis.exactTrimming` | `boolean` | No | `false` | Use exact MAXLEN instead of approximate |
|
|
43
|
-
| `redis.serialization` | `'json' \| 'flat'` | No | `'json'` | Event serialization mode |
|
|
44
|
-
|
|
45
|
-
## Per-rule mapping overrides
|
|
46
|
-
|
|
47
|
-
| Setting | Type | Description |
|
|
48
|
-
| ---------------------------- | -------- | --------------------------------- |
|
|
49
|
-
| `mapping.settings.streamKey` | `string` | Override stream key for this rule |
|
|
50
|
-
|
|
51
|
-
## Serialization Modes
|
|
43
|
+
## Documentation
|
|
52
44
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- **`flat`**: Stores top-level event fields as separate stream entry fields.
|
|
56
|
-
Nested objects are JSON-encoded. Useful for XREAD filtering on specific
|
|
57
|
-
fields.
|
|
45
|
+
Full configuration, mapping, and examples live in the docs:
|
|
46
|
+
**https://www.walkeros.io/docs/destinations/server/redis**
|
|
58
47
|
|
|
59
|
-
##
|
|
48
|
+
## Contribute
|
|
60
49
|
|
|
61
|
-
|
|
62
|
-
|
|
50
|
+
Feel free to contribute by submitting an
|
|
51
|
+
[issue](https://github.com/elbwalker/walkerOS/issues), starting a
|
|
52
|
+
[discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
|
|
53
|
+
[contact](https://calendly.com/elb-alexander/30min).
|
|
63
54
|
|
|
64
|
-
##
|
|
55
|
+
## License
|
|
65
56
|
|
|
66
|
-
|
|
67
|
-
ElastiCache, MemoryDB, Azure Cache, Memorystore, self-hosted.
|
|
57
|
+
MIT
|
package/dist/walkerOS.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$meta": {
|
|
3
3
|
"package": "@walkeros/server-destination-redis",
|
|
4
|
-
"version": "4.1.0
|
|
4
|
+
"version": "4.1.0",
|
|
5
5
|
"type": "destination",
|
|
6
6
|
"platform": [
|
|
7
7
|
"server"
|
|
@@ -68,7 +68,8 @@
|
|
|
68
68
|
"streamKey"
|
|
69
69
|
],
|
|
70
70
|
"additionalProperties": false,
|
|
71
|
-
"description": "Redis Streams configuration (like { streamKey: 'walkeros:events', url: 'redis://localhost:6379' })"
|
|
71
|
+
"description": "Redis Streams configuration (like { streamKey: 'walkeros:events', url: 'redis://localhost:6379' })",
|
|
72
|
+
"title": "redis"
|
|
72
73
|
}
|
|
73
74
|
},
|
|
74
75
|
"required": [
|
|
@@ -133,7 +134,7 @@
|
|
|
133
134
|
"consent": {
|
|
134
135
|
"functional": true
|
|
135
136
|
},
|
|
136
|
-
"id": "
|
|
137
|
+
"id": "39fdee40a56ed624",
|
|
137
138
|
"trigger": "test",
|
|
138
139
|
"entity": "debug",
|
|
139
140
|
"action": "noise",
|
|
@@ -190,7 +191,7 @@
|
|
|
190
191
|
"consent": {
|
|
191
192
|
"functional": true
|
|
192
193
|
},
|
|
193
|
-
"id": "
|
|
194
|
+
"id": "7b93e874208055d9",
|
|
194
195
|
"trigger": "load",
|
|
195
196
|
"entity": "page",
|
|
196
197
|
"action": "view",
|
|
@@ -291,7 +292,7 @@
|
|
|
291
292
|
"consent": {
|
|
292
293
|
"functional": true
|
|
293
294
|
},
|
|
294
|
-
"id": "
|
|
295
|
+
"id": "b6016290e8a7f453",
|
|
295
296
|
"trigger": "load",
|
|
296
297
|
"entity": "order",
|
|
297
298
|
"action": "complete",
|
|
@@ -391,7 +392,7 @@
|
|
|
391
392
|
"consent": {
|
|
392
393
|
"functional": true
|
|
393
394
|
},
|
|
394
|
-
"id": "
|
|
395
|
+
"id": "5afab07586f71f4b",
|
|
395
396
|
"trigger": "load",
|
|
396
397
|
"entity": "order",
|
|
397
398
|
"action": "complete",
|
|
@@ -460,7 +461,7 @@
|
|
|
460
461
|
"consent": {
|
|
461
462
|
"functional": true
|
|
462
463
|
},
|
|
463
|
-
"id": "
|
|
464
|
+
"id": "25cf9a71c03c697c",
|
|
464
465
|
"trigger": "load",
|
|
465
466
|
"entity": "page",
|
|
466
467
|
"action": "view",
|
|
@@ -522,7 +523,7 @@
|
|
|
522
523
|
"consent": {
|
|
523
524
|
"functional": true
|
|
524
525
|
},
|
|
525
|
-
"id": "
|
|
526
|
+
"id": "84679e21c3d39d89",
|
|
526
527
|
"trigger": "load",
|
|
527
528
|
"entity": "product",
|
|
528
529
|
"action": "view",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walkeros/server-destination-redis",
|
|
3
3
|
"description": "Redis Streams server destination for walkerOS (ioredis, XADD, pipeline batching)",
|
|
4
|
-
"version": "4.1.0
|
|
4
|
+
"version": "4.1.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
25
|
-
"dist/**"
|
|
25
|
+
"dist/**",
|
|
26
|
+
"CHANGELOG.md"
|
|
26
27
|
],
|
|
27
28
|
"scripts": {
|
|
28
29
|
"build": "tsup --silent",
|
|
@@ -35,11 +36,11 @@
|
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
38
|
"ioredis": "^5.10.0",
|
|
38
|
-
"@walkeros/core": "4.1.0
|
|
39
|
-
"@walkeros/server-core": "4.1.0
|
|
39
|
+
"@walkeros/core": "4.1.0",
|
|
40
|
+
"@walkeros/server-core": "4.1.0"
|
|
40
41
|
},
|
|
41
42
|
"devDependencies": {
|
|
42
|
-
"@walkeros/collector": "4.1.0
|
|
43
|
+
"@walkeros/collector": "4.1.0"
|
|
43
44
|
},
|
|
44
45
|
"repository": {
|
|
45
46
|
"url": "git+https://github.com/elbwalker/walkerOS.git",
|