@walkeros/server-destination-file 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 +127 -0
- package/README.md +29 -73
- package/dist/walkerOS.json +6 -6
- package/package.json +6 -5
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# @walkeros/server-destination-file
|
|
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 `@walkeros/server-destination-file`: local filesystem sink for
|
|
104
|
+
walkerOS server flows. Appends events to a file as JSONL (default), TSV, or
|
|
105
|
+
CSV with per-event filename resolution via the standard `Mapping.Value` DSL
|
|
106
|
+
(tenant sharding via `key`, daily rotation via `$code:` in `fn`). Opens one
|
|
107
|
+
`WriteStream` per resolved filename and keeps it open until `destroy()`. No
|
|
108
|
+
third-party SDK — uses `node:fs` built-ins.
|
|
109
|
+
- 724f97e: Migrate every step example in every walkerOS package to the
|
|
110
|
+
standardized `[callable, ...args][]` shape introduced in `@walkeros/core`.
|
|
111
|
+
Every step example's `out` is now an array of effect tuples whose first
|
|
112
|
+
element is the callable's public SDK name (`'gtag'`, `'analytics.track'`,
|
|
113
|
+
`'fbq'`, `'dataLayer.push'`, `'sendServer'`, `'fetch'`, `'trackClient.track'`,
|
|
114
|
+
`'amplitude.track'`, `'fs.writeFile'`, `'producer.send'`, `'client.xadd'`,
|
|
115
|
+
`'client.send'`, `'dataset.table.insert'`, etc.). Source examples use `'elb'`
|
|
116
|
+
as the callable; transformer examples use the reserved `'return'` keyword;
|
|
117
|
+
store examples use store-operation callables (`'get'`, `'set'`). Tests capture
|
|
118
|
+
real calls on each component's spy and assert against `example.out` directly —
|
|
119
|
+
the hardcoded `PACKAGE_CALLS` registry in the app is no longer consulted
|
|
120
|
+
(emptied; plan #3 removes it structurally).
|
|
121
|
+
|
|
122
|
+
### Patch Changes
|
|
123
|
+
|
|
124
|
+
- Updated dependencies [74940cc]
|
|
125
|
+
- Updated dependencies [525f5d9]
|
|
126
|
+
- @walkeros/core@3.4.0
|
|
127
|
+
- @walkeros/server-core@3.4.0
|
package/README.md
CHANGED
|
@@ -1,96 +1,52 @@
|
|
|
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-file
|
|
2
8
|
|
|
3
|
-
Local file sink for walkerOS server flows. Appends events
|
|
4
|
-
|
|
5
|
-
|
|
9
|
+
Local file sink for walkerOS server flows. Appends events as JSONL, TSV, or CSV
|
|
10
|
+
for debug logging, audit trails, and cold archive.
|
|
11
|
+
|
|
12
|
+
[Documentation](https://www.walkeros.io/docs/destinations/server/file) •
|
|
13
|
+
[NPM Package](https://www.npmjs.com/package/@walkeros/server-destination-file)
|
|
14
|
+
•
|
|
15
|
+
[Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/file)
|
|
6
16
|
|
|
7
|
-
##
|
|
17
|
+
## Installation
|
|
8
18
|
|
|
9
19
|
```bash
|
|
10
20
|
npm install @walkeros/server-destination-file
|
|
11
21
|
```
|
|
12
22
|
|
|
13
|
-
##
|
|
14
|
-
|
|
15
|
-
Add to your `flow.json`:
|
|
23
|
+
## Quick start
|
|
16
24
|
|
|
17
25
|
```json
|
|
18
26
|
{
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"config": {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
27
|
+
"version": 4,
|
|
28
|
+
"flows": {
|
|
29
|
+
"default": {
|
|
30
|
+
"config": { "platform": "server" },
|
|
31
|
+
"destinations": {
|
|
32
|
+
"file": { "package": "@walkeros/server-destination-file", "config": {} }
|
|
26
33
|
}
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
36
|
}
|
|
30
37
|
```
|
|
31
38
|
|
|
32
|
-
|
|
33
|
-
created on flow startup.
|
|
34
|
-
|
|
35
|
-
## Settings
|
|
36
|
-
|
|
37
|
-
| Field | Type | Default | Notes |
|
|
38
|
-
| ---------- | --------------------------- | -------------------- | ----------------------------------------------------------- |
|
|
39
|
-
| `filename` | `string \| Mapping.Value` | required | Static path or per-event resolution via the mapping DSL. |
|
|
40
|
-
| `format` | `'jsonl' \| 'tsv' \| 'csv'` | `jsonl` | Serialisation format. |
|
|
41
|
-
| `fields` | `string[]` | required for tsv/csv | Event paths used as columns. Object cells JSON-stringified. |
|
|
42
|
-
|
|
43
|
-
## Filename templating
|
|
44
|
-
|
|
45
|
-
`filename` accepts the standard walkerOS `Mapping.Value` shape.
|
|
46
|
-
|
|
47
|
-
### Tenant sharding
|
|
48
|
-
|
|
49
|
-
```json
|
|
50
|
-
{ "filename": { "key": "data.tenant" } }
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Daily rotation
|
|
54
|
-
|
|
55
|
-
```json
|
|
56
|
-
{
|
|
57
|
-
"filename": {
|
|
58
|
-
"fn": "$code:`events-${new Date(value.timestamp).toISOString().slice(0,10)}.jsonl`"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Inside the `$code:` function, `value` is the event being processed.
|
|
64
|
-
|
|
65
|
-
## Formats
|
|
66
|
-
|
|
67
|
-
### JSONL (default)
|
|
39
|
+
## Documentation
|
|
68
40
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
### TSV / CSV
|
|
73
|
-
|
|
74
|
-
Specify `fields: string[]` listing the event paths to extract as columns. Object
|
|
75
|
-
values are JSON-stringified into a single cell. RFC 4180 quoting for CSV.
|
|
76
|
-
|
|
77
|
-
```json
|
|
78
|
-
{
|
|
79
|
-
"filename": "events.csv",
|
|
80
|
-
"format": "csv",
|
|
81
|
-
"fields": ["timestamp", "name", "data"]
|
|
82
|
-
}
|
|
83
|
-
```
|
|
41
|
+
Full configuration, mapping, and examples live in the docs:
|
|
42
|
+
**https://www.walkeros.io/docs/destinations/server/file**
|
|
84
43
|
|
|
85
|
-
##
|
|
44
|
+
## Contribute
|
|
86
45
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
rotated inode. Use the date-token pattern instead.
|
|
92
|
-
- No batching. Each event is `stream.write`'d individually.
|
|
93
|
-
- Write errors log a warning and drop the event — they never fail the flow.
|
|
46
|
+
Feel free to contribute by submitting an
|
|
47
|
+
[issue](https://github.com/elbwalker/walkerOS/issues), starting a
|
|
48
|
+
[discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
|
|
49
|
+
[contact](https://calendly.com/elb-alexander/30min).
|
|
94
50
|
|
|
95
51
|
## License
|
|
96
52
|
|
package/dist/walkerOS.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$meta": {
|
|
3
3
|
"package": "@walkeros/server-destination-file",
|
|
4
|
-
"version": "4.1.0
|
|
4
|
+
"version": "4.1.0",
|
|
5
5
|
"type": "destination",
|
|
6
6
|
"platform": [
|
|
7
7
|
"server"
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"consent": {
|
|
131
131
|
"functional": true
|
|
132
132
|
},
|
|
133
|
-
"id": "
|
|
133
|
+
"id": "217cce8c82b95bef",
|
|
134
134
|
"trigger": "load",
|
|
135
135
|
"entity": "page",
|
|
136
136
|
"action": "view",
|
|
@@ -234,7 +234,7 @@
|
|
|
234
234
|
"consent": {
|
|
235
235
|
"functional": true
|
|
236
236
|
},
|
|
237
|
-
"id": "
|
|
237
|
+
"id": "8361a587caab9902",
|
|
238
238
|
"trigger": "load",
|
|
239
239
|
"entity": "order",
|
|
240
240
|
"action": "complete",
|
|
@@ -302,7 +302,7 @@
|
|
|
302
302
|
"consent": {
|
|
303
303
|
"functional": true
|
|
304
304
|
},
|
|
305
|
-
"id": "
|
|
305
|
+
"id": "4b91564b58cde278",
|
|
306
306
|
"trigger": "load",
|
|
307
307
|
"entity": "page",
|
|
308
308
|
"action": "view",
|
|
@@ -360,7 +360,7 @@
|
|
|
360
360
|
"consent": {
|
|
361
361
|
"functional": true
|
|
362
362
|
},
|
|
363
|
-
"id": "
|
|
363
|
+
"id": "f191d58dced5d14b",
|
|
364
364
|
"trigger": "test",
|
|
365
365
|
"entity": "custom",
|
|
366
366
|
"action": "event",
|
|
@@ -419,7 +419,7 @@
|
|
|
419
419
|
"consent": {
|
|
420
420
|
"functional": true
|
|
421
421
|
},
|
|
422
|
-
"id": "
|
|
422
|
+
"id": "f994461dabb3c9ad",
|
|
423
423
|
"trigger": "load",
|
|
424
424
|
"entity": "page",
|
|
425
425
|
"action": "view",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walkeros/server-destination-file",
|
|
3
3
|
"description": "Local file sink for walkerOS server flows (JSONL, TSV, CSV)",
|
|
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",
|
|
@@ -34,11 +35,11 @@
|
|
|
34
35
|
"update": "npx npm-check-updates -u && npm update"
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
|
-
"@walkeros/core": "4.1.0
|
|
38
|
-
"@walkeros/server-core": "4.1.0
|
|
38
|
+
"@walkeros/core": "4.1.0",
|
|
39
|
+
"@walkeros/server-core": "4.1.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
|
-
"@walkeros/collector": "4.1.0
|
|
42
|
+
"@walkeros/collector": "4.1.0"
|
|
42
43
|
},
|
|
43
44
|
"repository": {
|
|
44
45
|
"url": "git+https://github.com/elbwalker/walkerOS.git",
|