@walkeros/cli 4.7.0-next-1790245733116 → 4.7.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @walkeros/cli
2
2
 
3
- ## 4.7.0-next-1790245733116
3
+ ## 4.7.0
4
4
 
5
5
  ### Minor Changes
6
6
 
@@ -9,58 +9,146 @@
9
9
  `config.bundle.env`; they must be literal strings and supply `$env` in web
10
10
  bundles. Step packages, overrides and their dependencies must now come from
11
11
  the npm registry: git, file and URL specs are rejected.
12
- - 06b498a: `@walkeros/cli` no longer depends on `express`, `cors` or `p-limit`.
13
- Nothing in the CLI imported them, so an install is smaller and pulls fewer
14
- transitive packages into your project. Commands and options are unchanged.
15
- - ef02916: The `findExample` and `compareOutput` exports and the
16
- `ExampleLookupResult` type were removed from `@walkeros/cli`.
17
- - f5a1cfd: `walkeros validate` now reports unknown route targets as
18
- `UNKNOWN_ROUTE_TARGET` errors and warns about entries after an unconditional
19
- `stop` and about arrays that only pick the first match.
20
- `walkeros push --simulate collector.default` runs enrichment plus
21
- `collector.next`, `--mock collector.next.<id>` mocks one of its steps, and
22
- simulating a transformer now continues through its `next`.
23
- - ef02916: `walkeros validate` now reports a file path that does not exist or
24
- does not contain valid JSON as an input error with exit code 3, instead of
25
- validating the path string and failing the schema with exit code 1. Cross-step
26
- example checks now include an object `out`, such as a source example that
27
- produces a single walkerOS event, so incompatible connections are reported as
28
- errors.
29
- - 06b498a: `walkeros run` is removed, with no alias. Build a flow with
30
- `walkeros bundle`, then start the prebuilt artifact with
31
- `runneros start dist/flow.mjs`. The new `@walkeros/runner` package ships the
32
- `runneros` binary without esbuild, pacote, jsdom or nft, and the
33
- `walkeros/flow` image now runs it.
12
+ - 64b06de: A bundle's default release is now a content id of config, packages
13
+ and CLI version, so repeat builds hit the build cache. Env and secret values
14
+ are not part of it, only their names. `--release` now beats a flow's
15
+ `collector.release`. Rebuilt local `path` packages and CLI upgrades invalidate
16
+ the build caches, and `cache clear --builds` also clears compiled code.
17
+ - 64b06de: Packages with several exports, such as the GCP and AWS sources and
18
+ destinations, now publish a settings schema per export. `walkeros validate`
19
+ and MCP `package_get` use the schema of the export a step imports. Pub/Sub,
20
+ BigQuery, SNS and SQS steps pinned to this release or later are checked
21
+ instead of skipped; older pins still report a skip.
22
+ - 74821ed: The canonical `flow-complete.json` example is rewritten as one tested
23
+ ecommerce setup with web, server and warehouse flows and a 15-chapter guide.
24
+ The new `flowCompleteManifest` export from `@walkeros/cli/examples` names
25
+ every feature by a stable id with a JSON Pointer into the file, so docs and
26
+ tools can reference it.
27
+ - 06b498a: `walkeros run` is removed. Build with `walkeros bundle`, then start
28
+ the artifact with `runneros start dist/flow.mjs` from the new
29
+ `@walkeros/runner` package, which the `walkeros/flow` image now runs. The CLI
30
+ no longer depends on `express`, `cors` or `p-limit`. New `@walkeros/core/node`
31
+ entry with the Node-only logger, redaction and temp-path helpers.
32
+ - 74821ed: `walkeros push --simulate` prints each step's mapping and vendor
33
+ calls (`simulations` in `--json`) and reports init or push failures. New
34
+ flags: `--ingest`, `--consent` (MCP `state.consent`), `--command` for command
35
+ examples, `--simulate collector.default` and `--mock collector.next.<id>`. A
36
+ destination that sent nothing says why in `skipped`. `toPrintable` is
37
+ exported.
38
+ - 74821ed: Simulate records every vendor call through one recorder, `observeEnv`
39
+ from `@walkeros/core`, and runs offline: BigQuery, Data Manager and the
40
+ Sheets, GCS and S3 stores reach the network through `env`. Client and `Env`
41
+ types of BigQuery, Firehose, PostHog, SQS and Pub/Sub are structural.
42
+ `@walkeros/cli` exports `resolveExportName` and `selectDevExamples` and drops
43
+ `findExample` and `compareOutput`.
44
+ - 74821ed: Simulate starts only the simulated step, and a simulated transformer
45
+ continues through its `next`. Source simulations list the commands a source
46
+ issues as `elb` calls; `--page-url` sets the web page. Express flows need no
47
+ port. Packages with several exports use per-export examples and mocks, and a
48
+ destination without a mock env is refused instead of calling the vendor.
49
+ - 4b4937f: Files that passed `walkeros validate` may now fail: it checks every
50
+ flow and every step's package settings unless you narrow it, and resolves each
51
+ flow as the bundler does, so an unresolvable `$flow` is an error. `--path`
52
+ checks the entry in every flow. Settings findings warn for one minor.
53
+ Named-export steps are skipped; `--offline` skips fetching.
54
+ - 74821ed: `walkeros validate` reports a missing or non-JSON input as exit 3,
55
+ like `--path`, `--flow` or `--offline` with a non-flow `-t`. Unknown keys on
56
+ destinations and stores warn (`UNKNOWN_KEY`), as does
57
+ `@walkeros/store-memory`. `--path` ignores `uri` and email formats. The Flow
58
+ JSON Schema adds `config.observe` and drops step-level `validate`; the
59
+ Usercentrics schema lists `apiVersion` and `v3EventName`.
60
+ - 74821ed: `walkeros validate` prints a `Scope:` line and returns
61
+ `details.scope` instead of `details.validatedFlow`, `details.skipped` for
62
+ checks that did not run and `details.deferred` for values known only at
63
+ runtime. Skips never read as passed. Every finding has a stable `code`.
64
+ `--strict` fails on warnings or skips (exit 2), and `validate()` and
65
+ `flow_validate` with `strict` return `valid: false`; `flow_validate` also
66
+ accepts `offline`.
67
+ - 74821ed: An unknown `$var` or `$store` now fails `walkeros validate`, as it
68
+ fails the bundle. References resolve per flow, and `description` text is never
69
+ read as a reference. A dangling contract `extend`, an unknown `$contract` on a
70
+ validate step, or a contract cycle is an error. Contracts bind only on
71
+ validate steps. Malformed references and unknown or shadowed routes warn.
72
+ - 4f89234: Web builds now assign the collector to the global named in
73
+ `config.settings.windowCollector`, default `walkerOS`. Before,
74
+ `walkeros bundle` ignored the setting. It accepts a name or a `$var`/`$env`
75
+ reference; the resolved name must be a valid, non-reserved JavaScript
76
+ identifier, or the build and `walkeros validate` report an error.
34
77
 
35
78
  ### Patch Changes
36
79
 
37
- - ef02916: `walkeros validate --path` no longer fails with
38
- `unknown format "uri" ignored` for packages whose settings use URL or email
39
- fields. Settings are still checked for structure, types and patterns; string
40
- formats such as `uri` are not checked.
41
- - 8f8aea6: Every step field now survives bundling. A transformer with only
42
- `state` or `mapping`, and inline code steps with `cache` or `state`, were
43
- silently dropped from the bundle before and did nothing at runtime. `mapping`
44
- is now a typed transformer field, and bundles no longer carry `variables`.
45
- - Updated dependencies [57788bc]
80
+ - 786a860: AWS destinations now deliver in bundled flows without extra setup.
81
+ Firehose batches by default, ends records with a newline (`newline: false`
82
+ turns it off), sends mapped `data` and accepts `config.credentials`. Rejected
83
+ records now count as failed. SNS works with `topicArn` alone and no longer
84
+ creates topics at start. `walkeros setup` resolves `$secret` values; partial
85
+ batch failures log their causes.
86
+ - 74821ed: Server builds served from the build cache now copy the root `include`
87
+ folders; web builds ignore `include` and log it. An unused package in
88
+ `bundle.packages` warns instead of failing the build. Cache entries are
89
+ written atomically, so an interrupt no longer leaves a broken entry, and
90
+ `walkeros cache clear` removes leftovers. Temp dirs are
91
+ `<tmp>/walkeros/<kind>/<id>`.
92
+ - 5a210e1: `walkeros flows create` and `walkeros flows update` now read
93
+ `--content` from a file path or URL as well as an inline JSON string. Large
94
+ flows no longer need to fit on the command line: pass `--content ./flow.json`.
95
+ - 74821ed: A flow's own log lines now go through the CLI logger: its debug lines
96
+ need `--verbose`, and they go to stderr with `--json`. Version numbers are no
97
+ longer masked as tokens, so `walkeros deploy` shows the image tag and
98
+ `bundle --stats` shows package versions. Paths under the system temp directory
99
+ print as `$TMPDIR/...`.
100
+ - b1e5aa5: Manifest builds now survive short network blips: the manifest
101
+ download, skeleton downloads and uploads retry up to three times on network
102
+ errors, timeouts, 5xx and 429, while other statuses such as an expired link
103
+ fail at once. Each retry is logged, and errors name the cause, for example
104
+ `fetch failed (ECONNRESET)` or `HTTP 503`.
105
+ - 74821ed: Simulate and push output, CLI and flow logs, and the MCP
106
+ `flow_simulate` and `flow_push` results mask the values of secrets a flow
107
+ references, also inside JSON strings, numbers and URLs. `scrubSecrets` takes
108
+ `known`, the CLI logger `knownSecrets`, and `scrubJson` replaces
109
+ `maskKnownNumbers`. MCP `flow_push` and `flow_simulate` read their config
110
+ once; a config that cannot be read stops the run.
111
+ - 050d776: Simulated click and impression examples of the browser source carry
112
+ `source` and `globals` again. A page scope from another realm, such as an
113
+ iframe or a simulated page, is now recognized. Simulate also exposes `Node`,
114
+ `Element`, `HTMLElement`, `Document` and `ShadowRoot`, so `instanceof` checks
115
+ behave as in a browser.
116
+ - 74821ed: `state` paths resolve against `{ event, ingest }` and need an
117
+ `event.` or `ingest.` prefix; a `get` can write into `ingest`, and an
118
+ unresolvable key warns. Every step field now survives bundling: transformers
119
+ with only `state` or `mapping`, and code steps with `cache` or `state`, were
120
+ silently dropped before. `buildCacheContext` is renamed `createMappingRoot`.
121
+ - e860006: `state` gains `mapping` to shape what a lookup returns or a write
122
+ stores, merged into the target. An undeclared `state.store`, or a `file: true`
123
+ store, is now a validation error in `walkeros validate` and deploy preflight;
124
+ at runtime the entry logs an error or is skipped with a warning. The s3 and
125
+ gcs stores report their `file` mode.
126
+ - Updated dependencies [786a860]
127
+ - Updated dependencies [74821ed]
46
128
  - Updated dependencies [06b498a]
47
- - Updated dependencies [2aebc53]
48
- - Updated dependencies [f5a1cfd]
49
- - Updated dependencies [ef02916]
129
+ - Updated dependencies [7e5e3de]
130
+ - Updated dependencies [b9668bf]
131
+ - Updated dependencies [74821ed]
132
+ - Updated dependencies [64b06de]
133
+ - Updated dependencies [4b4937f]
134
+ - Updated dependencies [74821ed]
135
+ - Updated dependencies [74821ed]
136
+ - Updated dependencies [74821ed]
50
137
  - Updated dependencies [06b498a]
51
- - Updated dependencies [ef02916]
52
- - Updated dependencies [2aebc53]
53
- - Updated dependencies [f5a1cfd]
54
- - Updated dependencies [f5a1cfd]
55
- - Updated dependencies [2aebc53]
56
- - Updated dependencies [8f8aea6]
57
- - Updated dependencies [2aebc53]
58
- - Updated dependencies [2aebc53]
59
- - @walkeros/core@4.7.0-next-1790245733116
60
- - @walkeros/server-core@4.7.0-next-1790245733116
61
- - @walkeros/collector@4.7.0-next-1790245733116
62
- - @walkeros/transformer-validate@4.7.0-next-1790245733116
63
- - @walkeros/server-destination-api@4.7.0-next-1790245733116
138
+ - Updated dependencies [74821ed]
139
+ - Updated dependencies [74821ed]
140
+ - Updated dependencies [74821ed]
141
+ - Updated dependencies [74821ed]
142
+ - Updated dependencies [74821ed]
143
+ - Updated dependencies [e860006]
144
+ - Updated dependencies [74821ed]
145
+ - Updated dependencies [74821ed]
146
+ - Updated dependencies [4f89234]
147
+ - @walkeros/collector@4.7.0
148
+ - @walkeros/core@4.7.0
149
+ - @walkeros/server-core@4.7.0
150
+ - @walkeros/transformer-validate@4.7.0
151
+ - @walkeros/server-destination-api@4.7.0
64
152
 
65
153
  ## 4.6.1
66
154
 
package/README.md CHANGED
@@ -22,14 +22,20 @@ npm install -g @walkeros/cli
22
22
  ## Quick start
23
23
 
24
24
  ```bash
25
- # Bundle a flow configuration
26
- walkeros bundle flow.json
27
-
28
25
  # Test with simulated events (no real API calls)
29
26
  walkeros push flow.json --event '{"name":"product view"}' --simulate destination.demo
30
27
 
31
- # Run a collection server locally
32
- walkeros run dist/flow.mjs --port 3000
28
+ # Bundle a flow configuration into dist/
29
+ walkeros bundle flow.json -o dist/
30
+ ```
31
+
32
+ The CLI builds flows; it does not run them. Start a built server flow with
33
+ `runneros` from
34
+ [`@walkeros/runner`](https://www.npmjs.com/package/@walkeros/runner) (also the
35
+ `walkeros/flow` Docker image):
36
+
37
+ ```bash
38
+ npx --package=@walkeros/runner runneros start dist/flow.mjs --port 3000
33
39
  ```
34
40
 
35
41
  ## Documentation