relayburn 2.3.0 → 2.5.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 +10 -0
- package/README.md +4 -5
- package/bin/burn.js +10 -22
- package/package.json +6 -6
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.
|
|
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
|
|
24
|
-
|
|
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
|
|
6
|
-
//
|
|
7
|
-
//
|
|
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
|
|
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
|
|
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
|
-
`
|
|
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
|
-
|
|
109
|
-
|
|
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,
|
|
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.
|
|
4
|
-
"description": "Token usage & cost attribution for agent CLIs (installs the `burn` command). Resolves a prebuilt Rust binary from the `@relayburn/cli-<platform>` packages
|
|
3
|
+
"version": "2.5.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.
|
|
23
|
-
"@relayburn/cli-darwin-x64": "2.
|
|
24
|
-
"@relayburn/cli-linux-arm64-gnu": "2.
|
|
25
|
-
"@relayburn/cli-linux-x64-gnu": "2.
|
|
22
|
+
"@relayburn/cli-darwin-arm64": "2.5.0",
|
|
23
|
+
"@relayburn/cli-darwin-x64": "2.5.0",
|
|
24
|
+
"@relayburn/cli-linux-arm64-gnu": "2.5.0",
|
|
25
|
+
"@relayburn/cli-linux-x64-gnu": "2.5.0"
|
|
26
26
|
},
|
|
27
27
|
"repository": {
|
|
28
28
|
"type": "git",
|