@walkeros/server-destination-segment 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 ADDED
@@ -0,0 +1,140 @@
1
+ # @walkeros/server-destination-segment
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
+ - 724f97e: Migrate every step example in every walkerOS package to the
104
+ standardized `[callable, ...args][]` shape introduced in `@walkeros/core`.
105
+ Every step example's `out` is now an array of effect tuples whose first
106
+ element is the callable's public SDK name (`'gtag'`, `'analytics.track'`,
107
+ `'fbq'`, `'dataLayer.push'`, `'sendServer'`, `'fetch'`, `'trackClient.track'`,
108
+ `'amplitude.track'`, `'fs.writeFile'`, `'producer.send'`, `'client.xadd'`,
109
+ `'client.send'`, `'dataset.table.insert'`, etc.). Source examples use `'elb'`
110
+ as the callable; transformer examples use the reserved `'return'` keyword;
111
+ store examples use store-operation callables (`'get'`, `'set'`). Tests capture
112
+ real calls on each component's spy and assert against `example.out` directly —
113
+ the hardcoded `PACKAGE_CALLS` registry in the app is no longer consulted
114
+ (emptied; plan #3 removes it structurally).
115
+
116
+ ### Patch Changes
117
+
118
+ - Updated dependencies [74940cc]
119
+ - Updated dependencies [525f5d9]
120
+ - @walkeros/core@3.4.0
121
+ - @walkeros/server-core@3.4.0
122
+
123
+ ## 3.3.1
124
+
125
+ ### Patch Changes
126
+
127
+ - @walkeros/server-core@3.3.1
128
+ - @walkeros/core@3.3.1
129
+
130
+ ## 3.3.0
131
+
132
+ ### Patch Changes
133
+
134
+ - Updated dependencies [2849acb]
135
+ - Updated dependencies [08c365a]
136
+ - Updated dependencies [08c365a]
137
+ - Updated dependencies [08c365a]
138
+ - Updated dependencies [08c365a]
139
+ - @walkeros/core@3.3.0
140
+ - @walkeros/server-core@3.3.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-segment
2
8
 
3
- Server-side Segment CDP destination for
4
- [walkerOS](https://github.com/elbwalker/walkerOS). Forwards events to Segment
5
- via the official `@segment/analytics-node` SDK with full Segment Spec support
6
- (Track, Identify, Group, Page, Screen).
9
+ Server-side event delivery to Segment via the official analytics-node SDK,
10
+ implementing the full Segment Spec surface with automatic identity
11
+ deduplication.
12
+
13
+ [Documentation](https://www.walkeros.io/docs/destinations/server/segment) &bull;
14
+ [NPM Package](https://www.npmjs.com/package/@walkeros/server-destination-segment)
15
+ &bull;
16
+ [Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/segment)
7
17
 
8
18
  ## Installation
9
19
 
@@ -11,18 +21,18 @@ via the official `@segment/analytics-node` SDK with full Segment Spec support
11
21
  npm install @walkeros/server-destination-segment
12
22
  ```
13
23
 
14
- ## Quick Start
24
+ ## Quick start
15
25
 
16
26
  ```json
17
27
  {
18
- "destinations": {
19
- "segment": {
20
- "package": "@walkeros/server-destination-segment",
21
- "config": {
22
- "settings": {
23
- "writeKey": "YOUR_SEGMENT_WRITE_KEY",
24
- "userId": "user.id",
25
- "anonymousId": "user.session"
28
+ "version": 4,
29
+ "flows": {
30
+ "default": {
31
+ "config": { "platform": "server" },
32
+ "destinations": {
33
+ "segment": {
34
+ "package": "@walkeros/server-destination-segment",
35
+ "config": {}
26
36
  }
27
37
  }
28
38
  }
@@ -30,40 +40,18 @@ npm install @walkeros/server-destination-segment
30
40
  }
31
41
  ```
32
42
 
33
- ## Settings
34
-
35
- | Setting | Type | Required | Default | Description |
36
- | --------------- | ------------ | -------- | -------------------------- | -------------------------------------------------------------- |
37
- | `writeKey` | string | Yes | -- | Segment source write key |
38
- | `userId` | string | No | `'user.id'` | Mapping path to resolve userId from events |
39
- | `anonymousId` | string | No | `'user.session'` | Mapping path to resolve anonymousId from events |
40
- | `identify` | MappingValue | No | -- | Destination-level identity mapping |
41
- | `group` | MappingValue | No | -- | Destination-level group mapping |
42
- | `host` | string | No | `'https://api.segment.io'` | API endpoint (use `https://events.eu1.segmentapis.com` for EU) |
43
- | `flushAt` | number | No | `15` | Events to enqueue before flushing |
44
- | `flushInterval` | number | No | `10000` | Max ms before auto-flush |
45
- | `maxRetries` | number | No | `3` | Retry attempts for failed batches |
46
- | `consent` | Record | No | -- | walkerOS consent key to Segment category mapping |
47
- | `integrations` | Record | No | -- | Downstream destination filtering |
48
-
49
- ## Mapping Settings
50
-
51
- Per-event mapping settings control which Segment methods are called:
43
+ ## Documentation
52
44
 
53
- | Setting | Effect | Use with `silent: true` |
54
- | ---------- | ---------------------------- | ----------------------- |
55
- | `identify` | Calls `analytics.identify()` | Yes, for login events |
56
- | `group` | Calls `analytics.group()` | Yes, for company events |
57
- | `page` | Calls `analytics.page()` | Yes, for page views |
58
- | `screen` | Calls `analytics.screen()` | Yes, for mobile screens |
45
+ Full configuration, mapping, and examples live in the docs:
46
+ **https://www.walkeros.io/docs/destinations/server/segment**
59
47
 
60
- ## Identity
48
+ ## Contribute
61
49
 
62
- Server-side Segment requires identity on every call. The destination resolves
63
- `userId` and `anonymousId` from each event via the configured mapping paths and
64
- attaches them to every SDK call.
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).
65
54
 
66
- ## Shutdown
55
+ ## License
67
56
 
68
- The destination implements `destroy()` calling `analytics.closeAndFlush()` to
69
- ensure buffered events are sent before process exit.
57
+ MIT
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/server-destination-segment",
4
- "version": "4.1.0-next-1778668930820",
4
+ "version": "4.1.0",
5
5
  "type": "destination",
6
6
  "platform": [
7
7
  "server"
@@ -178,7 +178,7 @@
178
178
  "consent": {
179
179
  "functional": true
180
180
  },
181
- "id": "17e7287c65acd468",
181
+ "id": "3a441d3863608c88",
182
182
  "trigger": "load",
183
183
  "entity": "product",
184
184
  "action": "view",
@@ -240,7 +240,7 @@
240
240
  "consent": {
241
241
  "functional": true
242
242
  },
243
- "id": "689536941fef551d",
243
+ "id": "40991f5becdf7cb1",
244
244
  "trigger": "test",
245
245
  "entity": "company",
246
246
  "action": "update",
@@ -318,7 +318,7 @@
318
318
  "analytics": true,
319
319
  "marketing": true
320
320
  },
321
- "id": "9583b720e6b46319",
321
+ "id": "b1c9fcca42d954e6",
322
322
  "trigger": "load",
323
323
  "entity": "product",
324
324
  "action": "view",
@@ -388,7 +388,7 @@
388
388
  "consent": {
389
389
  "functional": true
390
390
  },
391
- "id": "28d4d155a7be644c",
391
+ "id": "35d60c84e2340131",
392
392
  "trigger": "load",
393
393
  "entity": "product",
394
394
  "action": "view",
@@ -453,7 +453,7 @@
453
453
  "consent": {
454
454
  "functional": true
455
455
  },
456
- "id": "583a944da98a685a",
456
+ "id": "59bd2376843c5d77",
457
457
  "trigger": "load",
458
458
  "entity": "page",
459
459
  "action": "view",
@@ -578,7 +578,7 @@
578
578
  "consent": {
579
579
  "functional": true
580
580
  },
581
- "id": "efe4e1e1a9537696",
581
+ "id": "575c0455b6fde864",
582
582
  "trigger": "load",
583
583
  "entity": "order",
584
584
  "action": "complete",
@@ -642,7 +642,7 @@
642
642
  "consent": {
643
643
  "functional": true
644
644
  },
645
- "id": "94e9b1ff38e7d283",
645
+ "id": "75c8c0e421409ca8",
646
646
  "trigger": "load",
647
647
  "entity": "page",
648
648
  "action": "view",
@@ -722,7 +722,7 @@
722
722
  "consent": {
723
723
  "functional": true
724
724
  },
725
- "id": "4a181a8b8679318d",
725
+ "id": "3441528784dcab51",
726
726
  "trigger": "test",
727
727
  "entity": "screen",
728
728
  "action": "view",
@@ -803,7 +803,7 @@
803
803
  "consent": {
804
804
  "functional": true
805
805
  },
806
- "id": "4e4dbddc7bca92fd",
806
+ "id": "1f9b1f07c157902d",
807
807
  "trigger": "test",
808
808
  "entity": "user",
809
809
  "action": "login",
@@ -888,7 +888,7 @@
888
888
  "consent": {
889
889
  "functional": true
890
890
  },
891
- "id": "77d820705e40c603",
891
+ "id": "1b43baeba8a9ca66",
892
892
  "trigger": "test",
893
893
  "entity": "debug",
894
894
  "action": "noise",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/server-destination-segment",
3
3
  "description": "Segment CDP server destination for walkerOS (@segment/analytics-node, full Segment Spec)",
4
- "version": "4.1.0-next-1778668930820",
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
  "@segment/analytics-node": "^3.0.0",
38
- "@walkeros/core": "4.1.0-next-1778668930820",
39
- "@walkeros/server-core": "4.1.0-next-1778668930820"
39
+ "@walkeros/core": "4.1.0",
40
+ "@walkeros/server-core": "4.1.0"
40
41
  },
41
42
  "devDependencies": {
42
- "@walkeros/collector": "4.1.0-next-1778668930820"
43
+ "@walkeros/collector": "4.1.0"
43
44
  },
44
45
  "repository": {
45
46
  "url": "git+https://github.com/elbwalker/walkerOS.git",