relayburn 2.2.0 → 2.4.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
@@ -4,6 +4,16 @@ All notable changes to `relayburn`.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [2.4.0] - 2026-05-08
8
+
9
+ ### Removed
10
+
11
+ - Removed the `burn run` launcher wrapper from the CLI surface. Launchers
12
+ should write attribution with `writePendingStamp()` and ingest through
13
+ `burn ingest` / SDK `ingest()`.
14
+ - Removed the fallback to the old TypeScript `@relayburn/cli`; `relayburn`
15
+ now resolves only the Rust prebuilt platform packages.
16
+
7
17
  ## [2.0.0] - 2026-05-07
8
18
 
9
19
  ### Changed
package/README.md CHANGED
@@ -9,9 +9,7 @@ npm i -g relayburn
9
9
  This package is a thin install wrapper. It declares the per-platform
10
10
  `@relayburn/cli-<platform>` packages as `optionalDependencies`; npm's
11
11
  `os` / `cpu` filters install only the one matching your machine, and the
12
- `burn` shim resolves and execs the prebuilt Rust binary it ships. If a
13
- native package is not available, the shim falls back to the generic
14
- TypeScript `@relayburn/cli` package.
12
+ `burn` shim resolves and execs the prebuilt Rust binary it ships.
15
13
 
16
14
  ```sh
17
15
  burn --help
@@ -20,8 +18,9 @@ burn hotspots --since 7d
20
18
  ```
21
19
 
22
20
  Prebuilt platforms: `darwin-arm64`, `darwin-x64`, `linux-arm64-gnu`
23
- (glibc), `linux-x64-gnu` (glibc). Other hosts use the TypeScript CLI
24
- fallback. Windows native binary support is tracked in
21
+ (glibc), `linux-x64-gnu` (glibc). Other hosts can install the Rust CLI
22
+ from crates.io with `cargo install relayburn-cli`. Windows native binary
23
+ support is tracked in
25
24
  [#359](https://github.com/AgentWorkforce/burn/issues/359).
26
25
 
27
26
  See the project [README](https://github.com/AgentWorkforce/burn#readme)
package/bin/burn.js CHANGED
@@ -2,10 +2,9 @@
2
2
  // Platform-resolving spawner for the `burn` Rust binary. Mirrors the
3
3
  // `@relayburn/sdk` napi-rs dispatcher pattern (see
4
4
  // `packages/sdk-node/src/binding.cjs`): the umbrella `relayburn` package
5
- // declares the per-platform packages plus the generic `@relayburn/cli`
6
- // fallback as `optionalDependencies`, npm installs the matching native
7
- // package when available, and this script `require.resolve`s the native
8
- // `burn` binary first, then falls back to the TS CLI when needed.
5
+ // declares the per-platform packages as `optionalDependencies`, npm installs
6
+ // the matching native package when available, and this script resolves the
7
+ // native `burn` binary for the current platform.
9
8
  //
10
9
  // The actual binaries live in `packages/relayburn/npm/<platform>/bin/burn`
11
10
  // and are dropped there by the cli-build CI matrix at publish time. They
@@ -22,7 +21,7 @@ const require = createRequire(import.meta.url);
22
21
  // Map (process.platform, process.arch) → platform-package short string.
23
22
  // Linux glibc-vs-musl detection follows the same `process.report` probe
24
23
  // the napi-rs loader uses; we only ship glibc artifacts today, so a musl
25
- // host falls through to the generic CLI fallback below.
24
+ // host falls through to the unsupported-platform error below.
26
25
  function detectShort() {
27
26
  const { platform, arch } = process;
28
27
 
@@ -56,22 +55,19 @@ function binSuffix() {
56
55
  }
57
56
 
58
57
  const short = detectShort();
59
- const fallbackSpecifier = '@relayburn/cli/dist/cli.js';
60
58
  const passthroughArgs = process.argv.slice(2);
61
59
 
62
60
  function formatError(err) {
63
61
  return err && err.message ? err.message : String(err);
64
62
  }
65
63
 
66
- function writeResolveFailure(prebuiltError, fallbackError) {
64
+ function writeResolveFailure(prebuiltError) {
67
65
  if (!short) {
68
66
  process.stderr.write(
69
67
  `relayburn: unsupported prebuilt platform ${process.platform}-${process.arch}.\n` +
70
68
  `Supported prebuilt packages: darwin-arm64, darwin-x64, linux-arm64-gnu (glibc), linux-x64-gnu (glibc).\n` +
71
69
  `Track native Windows support at https://github.com/AgentWorkforce/burn/issues/359.\n` +
72
- `Tried generic TypeScript CLI fallback \`${fallbackSpecifier}\`, but it was not installed.\n` +
73
- `Reinstall \`relayburn\` with optional dependencies enabled or install \`@relayburn/cli\`.\n` +
74
- `\nFallback resolution error: ${formatError(fallbackError)}\n`,
70
+ `Install from crates.io with \`cargo install relayburn-cli\` or use a supported npm platform package.\n`,
75
71
  );
76
72
  return;
77
73
  }
@@ -83,15 +79,12 @@ function writeResolveFailure(prebuiltError, fallbackError) {
83
79
  `at \`bin/burn${binSuffix()}\`. This usually means \`npm install\` skipped the optional\n` +
84
80
  `dependency (e.g. \`--no-optional\`, a lockfile pinned without it, or an unsupported\n` +
85
81
  `platform filter).\n` +
86
- `Tried generic TypeScript CLI fallback \`${fallbackSpecifier}\`, but it also failed.\n` +
87
82
  `Reinstall \`relayburn\` without \`--no-optional\` and try again.\n` +
88
- `\nPrebuilt resolution error: ${formatError(prebuiltError)}\n` +
89
- `Fallback resolution error: ${formatError(fallbackError)}\n`,
83
+ `\nPrebuilt resolution error: ${formatError(prebuiltError)}\n`,
90
84
  );
91
85
  }
92
86
 
93
87
  let command = null;
94
- let childArgs = passthroughArgs;
95
88
  let prebuiltError = null;
96
89
 
97
90
  if (short) {
@@ -105,16 +98,11 @@ if (short) {
105
98
  }
106
99
 
107
100
  if (!command) {
108
- try {
109
- command = process.execPath;
110
- childArgs = [require.resolve(fallbackSpecifier), ...passthroughArgs];
111
- } catch (fallbackError) {
112
- writeResolveFailure(prebuiltError, fallbackError);
113
- process.exit(1);
114
- }
101
+ writeResolveFailure(prebuiltError);
102
+ process.exit(1);
115
103
  }
116
104
 
117
- const child = spawnSync(command, childArgs, {
105
+ const child = spawnSync(command, passthroughArgs, {
118
106
  stdio: 'inherit',
119
107
  windowsHide: false,
120
108
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "relayburn",
3
- "version": "2.2.0",
4
- "description": "Token usage & cost attribution for agent CLIs (installs the `burn` command). Resolves a prebuilt Rust binary from the `@relayburn/cli-<platform>` packages with a TypeScript CLI fallback.",
3
+ "version": "2.4.0",
4
+ "description": "Token usage & cost attribution for agent CLIs (installs the `burn` command). Resolves a prebuilt Rust binary from the `@relayburn/cli-<platform>` packages.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "burn": "./bin/burn.js"
@@ -19,10 +19,10 @@
19
19
  "node": ">=22"
20
20
  },
21
21
  "optionalDependencies": {
22
- "@relayburn/cli-darwin-arm64": "2.2.0",
23
- "@relayburn/cli-darwin-x64": "2.2.0",
24
- "@relayburn/cli-linux-arm64-gnu": "2.2.0",
25
- "@relayburn/cli-linux-x64-gnu": "2.2.0"
22
+ "@relayburn/cli-darwin-arm64": "2.4.0",
23
+ "@relayburn/cli-darwin-x64": "2.4.0",
24
+ "@relayburn/cli-linux-arm64-gnu": "2.4.0",
25
+ "@relayburn/cli-linux-x64-gnu": "2.4.0"
26
26
  },
27
27
  "repository": {
28
28
  "type": "git",