agent-relay 4.0.29 → 4.0.31
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/README.md +88 -48
- package/bin/agent-relay-broker-darwin-arm64 +0 -0
- package/bin/agent-relay-broker-darwin-x64 +0 -0
- package/bin/agent-relay-broker-linux-arm64 +0 -0
- package/bin/agent-relay-broker-linux-x64 +0 -0
- package/dist/index.cjs +99 -54
- package/dist/src/cli/bootstrap.d.ts +2 -1
- package/dist/src/cli/bootstrap.d.ts.map +1 -1
- package/dist/src/cli/bootstrap.js +223 -17
- package/dist/src/cli/bootstrap.js.map +1 -1
- package/dist/src/cli/commands/agent-management.d.ts.map +1 -1
- package/dist/src/cli/commands/agent-management.js +1 -3
- package/dist/src/cli/commands/agent-management.js.map +1 -1
- package/dist/src/cli/commands/auth.d.ts.map +1 -1
- package/dist/src/cli/commands/auth.js +32 -3
- package/dist/src/cli/commands/auth.js.map +1 -1
- package/dist/src/cli/commands/cloud.d.ts.map +1 -1
- package/dist/src/cli/commands/cloud.js +242 -144
- package/dist/src/cli/commands/cloud.js.map +1 -1
- package/dist/src/cli/commands/core.d.ts.map +1 -1
- package/dist/src/cli/commands/core.js +11 -6
- package/dist/src/cli/commands/core.js.map +1 -1
- package/dist/src/cli/commands/messaging.d.ts.map +1 -1
- package/dist/src/cli/commands/messaging.js +1 -3
- package/dist/src/cli/commands/messaging.js.map +1 -1
- package/dist/src/cli/commands/monitoring.d.ts.map +1 -1
- package/dist/src/cli/commands/monitoring.js +5 -4
- package/dist/src/cli/commands/monitoring.js.map +1 -1
- package/dist/src/cli/commands/on.d.ts.map +1 -1
- package/dist/src/cli/commands/on.js +1 -3
- package/dist/src/cli/commands/on.js.map +1 -1
- package/dist/src/cli/commands/setup.d.ts.map +1 -1
- package/dist/src/cli/commands/setup.js +62 -7
- package/dist/src/cli/commands/setup.js.map +1 -1
- package/dist/src/cli/commands/swarm.d.ts.map +1 -1
- package/dist/src/cli/commands/swarm.js +34 -4
- package/dist/src/cli/commands/swarm.js.map +1 -1
- package/dist/src/cli/index.js +9 -1
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/lib/exit.d.ts +49 -0
- package/dist/src/cli/lib/exit.d.ts.map +1 -0
- package/dist/src/cli/lib/exit.js +73 -0
- package/dist/src/cli/lib/exit.js.map +1 -0
- package/dist/src/cli/lib/telemetry-helpers.d.ts +20 -0
- package/dist/src/cli/lib/telemetry-helpers.d.ts.map +1 -0
- package/dist/src/cli/lib/telemetry-helpers.js +31 -0
- package/dist/src/cli/lib/telemetry-helpers.js.map +1 -0
- package/node_modules/@agent-relay/cloud/package.json +2 -2
- package/node_modules/@agent-relay/config/package.json +1 -1
- package/node_modules/@agent-relay/hooks/package.json +4 -4
- package/node_modules/@agent-relay/sdk/dist/workflows/file-db.d.ts +62 -12
- package/node_modules/@agent-relay/sdk/dist/workflows/file-db.d.ts.map +1 -1
- package/node_modules/@agent-relay/sdk/dist/workflows/file-db.js +137 -47
- package/node_modules/@agent-relay/sdk/dist/workflows/file-db.js.map +1 -1
- package/node_modules/@agent-relay/sdk/package.json +22 -2
- package/node_modules/@agent-relay/telemetry/dist/client.d.ts +14 -2
- package/node_modules/@agent-relay/telemetry/dist/client.d.ts.map +1 -1
- package/node_modules/@agent-relay/telemetry/dist/client.js +22 -4
- package/node_modules/@agent-relay/telemetry/dist/client.js.map +1 -1
- package/node_modules/@agent-relay/telemetry/dist/events.d.ts +217 -10
- package/node_modules/@agent-relay/telemetry/dist/events.d.ts.map +1 -1
- package/node_modules/@agent-relay/telemetry/dist/events.js +11 -0
- package/node_modules/@agent-relay/telemetry/dist/events.js.map +1 -1
- package/node_modules/@agent-relay/telemetry/dist/index.d.ts +2 -2
- package/node_modules/@agent-relay/telemetry/dist/index.d.ts.map +1 -1
- package/node_modules/@agent-relay/telemetry/dist/index.js.map +1 -1
- package/node_modules/@agent-relay/telemetry/package.json +2 -2
- package/node_modules/@agent-relay/trajectory/package.json +2 -2
- package/node_modules/@agent-relay/user-directory/package.json +2 -2
- package/node_modules/@agent-relay/utils/package.json +2 -2
- package/node_modules/@relaycast/sdk/dist/version.d.ts +1 -1
- package/node_modules/@relaycast/sdk/dist/version.js +1 -1
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/package.json +1 -1
- package/node_modules/@relaycast/sdk/package.json +2 -2
- package/node_modules/axios/CHANGELOG.md +166 -0
- package/node_modules/axios/README.md +210 -204
- package/node_modules/axios/dist/axios.js +92 -63
- package/node_modules/axios/dist/axios.js.map +1 -1
- package/node_modules/axios/dist/axios.min.js +2 -2
- package/node_modules/axios/dist/axios.min.js.map +1 -1
- package/node_modules/axios/dist/browser/axios.cjs +140 -101
- package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
- package/node_modules/axios/dist/esm/axios.js +140 -101
- package/node_modules/axios/dist/esm/axios.js.map +1 -1
- package/node_modules/axios/dist/esm/axios.min.js +2 -2
- package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/node_modules/axios/dist/node/axios.cjs +199 -75
- package/node_modules/axios/dist/node/axios.cjs.map +1 -1
- package/node_modules/axios/index.d.cts +14 -28
- package/node_modules/axios/index.d.ts +132 -226
- package/node_modules/axios/lib/adapters/fetch.js +21 -6
- package/node_modules/axios/lib/adapters/http.js +88 -6
- package/node_modules/axios/lib/core/AxiosError.js +34 -33
- package/node_modules/axios/lib/core/AxiosHeaders.js +24 -25
- package/node_modules/axios/lib/core/buildFullPath.js +1 -1
- package/node_modules/axios/lib/core/mergeConfig.js +5 -3
- package/node_modules/axios/lib/defaults/index.js +13 -8
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +1 -2
- package/node_modules/axios/lib/helpers/formDataToJSON.js +3 -1
- package/node_modules/axios/lib/helpers/formDataToStream.js +2 -1
- package/node_modules/axios/lib/helpers/progressEventReducer.js +5 -5
- package/node_modules/axios/lib/helpers/resolveConfig.js +11 -3
- package/node_modules/axios/lib/helpers/shouldBypassProxy.js +48 -1
- package/node_modules/axios/lib/helpers/toFormData.js +10 -2
- package/node_modules/axios/lib/utils.js +10 -10
- package/node_modules/axios/package.json +4 -4
- package/node_modules/hasown/CHANGELOG.md +11 -0
- package/node_modules/hasown/eslint.config.mjs +6 -0
- package/node_modules/hasown/index.d.ts +1 -0
- package/node_modules/hasown/package.json +14 -14
- package/package.json +9 -9
- package/packages/cloud/package.json +2 -2
- package/packages/config/package.json +1 -1
- package/packages/hooks/package.json +4 -4
- package/packages/sdk/dist/workflows/file-db.d.ts +62 -12
- package/packages/sdk/dist/workflows/file-db.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/file-db.js +137 -47
- package/packages/sdk/dist/workflows/file-db.js.map +1 -1
- package/packages/sdk/package.json +22 -2
- package/packages/telemetry/dist/client.d.ts +14 -2
- package/packages/telemetry/dist/client.d.ts.map +1 -1
- package/packages/telemetry/dist/client.js +22 -4
- package/packages/telemetry/dist/client.js.map +1 -1
- package/packages/telemetry/dist/events.d.ts +217 -10
- package/packages/telemetry/dist/events.d.ts.map +1 -1
- package/packages/telemetry/dist/events.js +11 -0
- package/packages/telemetry/dist/events.js.map +1 -1
- package/packages/telemetry/dist/index.d.ts +2 -2
- package/packages/telemetry/dist/index.d.ts.map +1 -1
- package/packages/telemetry/dist/index.js.map +1 -1
- package/packages/telemetry/package.json +2 -2
- package/packages/trajectory/package.json +2 -2
- package/packages/user-directory/package.json +2 -2
- package/packages/utils/package.json +2 -2
- package/node_modules/@clack/prompts/node_modules/is-unicode-supported/index.d.ts +0 -12
- package/node_modules/@clack/prompts/node_modules/is-unicode-supported/index.js +0 -17
- package/node_modules/@clack/prompts/node_modules/is-unicode-supported/license +0 -9
- package/node_modules/@clack/prompts/node_modules/is-unicode-supported/package.json +0 -43
- package/node_modules/@clack/prompts/node_modules/is-unicode-supported/readme.md +0 -35
- package/node_modules/color-convert/CHANGELOG.md +0 -54
- package/node_modules/hasown/.eslintrc +0 -5
|
@@ -5,23 +5,69 @@
|
|
|
5
5
|
* - snake_case for events and properties
|
|
6
6
|
* - Present tense verbs (spawn, not spawned)
|
|
7
7
|
* - object_action pattern
|
|
8
|
+
*
|
|
9
|
+
* Privacy rules for authors:
|
|
10
|
+
* - Never capture argument values (file paths, run IDs, task text, tokens, URLs).
|
|
11
|
+
* - Flag NAMES are fine; flag VALUES are not.
|
|
12
|
+
* - When an event can fail, prefer `error_class` over `error_message` so we
|
|
13
|
+
* don't leak user content or paths. `error_class` is typically the Error
|
|
14
|
+
* constructor name (`errorClassName(err)`), but it may also be a stable
|
|
15
|
+
* synthetic category tag at non-throw failure sites — for example,
|
|
16
|
+
* `'WorkflowNotCompleted'` when a workflow returns `status !== 'completed'`
|
|
17
|
+
* without throwing. Stick to PascalCase tags so real Error names and
|
|
18
|
+
* synthetic categories share one namespace.
|
|
8
19
|
*/
|
|
9
20
|
/** Source of spawn/release action */
|
|
10
21
|
export type ActionSource = 'human_cli' | 'human_dashboard' | 'agent' | 'protocol';
|
|
11
|
-
/**
|
|
12
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Reason for agent release.
|
|
24
|
+
*
|
|
25
|
+
* This is a loose `string` on purpose — the broker emits both product-level
|
|
26
|
+
* reasons (`'explicit' | 'crash' | 'timeout' | 'shutdown'`) and broker-local
|
|
27
|
+
* categories that describe *how* the release arrived (`'ws_command'`,
|
|
28
|
+
* `'relaycast_release'`, etc.). Keeping the type open lets the schema stay
|
|
29
|
+
* honest about what actually shows up in PostHog without forcing every new
|
|
30
|
+
* broker category to be a breaking TS change.
|
|
31
|
+
*
|
|
32
|
+
* Known values (non-exhaustive):
|
|
33
|
+
* - Canonical: `'explicit'`, `'crash'`, `'timeout'`, `'shutdown'`
|
|
34
|
+
* - Broker-local: `'ws_command'`, `'relaycast_release'`
|
|
35
|
+
*/
|
|
36
|
+
export type ReleaseReason = string;
|
|
13
37
|
/**
|
|
14
38
|
* Common properties attached to every event.
|
|
39
|
+
*
|
|
40
|
+
* Version identification:
|
|
41
|
+
* - `cli_version` — version of the `agent-relay` CLI, when the event was
|
|
42
|
+
* emitted from the CLI process
|
|
43
|
+
* - `sdk_version` — version of `@agent-relay/sdk` resolved/bundled with the
|
|
44
|
+
* emitter. Populated when the CLI or broker can discover it.
|
|
45
|
+
* - `broker_version` — version of the Rust broker binary. Populated when
|
|
46
|
+
* emitted from the broker, or when the CLI is propagating broker info.
|
|
47
|
+
* - `agent_relay_version` — kept for backward compatibility with existing
|
|
48
|
+
* PostHog dashboards. Mirrors whichever component actually emitted the
|
|
49
|
+
* event: `cli_version` on CLI-originated events, `broker_version` on
|
|
50
|
+
* broker-originated events.
|
|
15
51
|
*/
|
|
16
52
|
export interface CommonProperties {
|
|
17
|
-
/**
|
|
53
|
+
/** Back-compat alias — same value as the emitter's primary version. */
|
|
18
54
|
agent_relay_version: string;
|
|
55
|
+
/** `agent-relay` CLI version, if known to the emitter. */
|
|
56
|
+
cli_version?: string;
|
|
57
|
+
/** `@agent-relay/sdk` version, if resolvable. */
|
|
58
|
+
sdk_version?: string;
|
|
59
|
+
/** `agent-relay-broker` Rust binary version, if known. */
|
|
60
|
+
broker_version?: string;
|
|
19
61
|
/** Operating system (e.g., darwin, linux, win32) */
|
|
20
62
|
os: string;
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
63
|
+
/**
|
|
64
|
+
* OS release version (e.g. `uname -r` output on unix).
|
|
65
|
+
* Optional — the broker omits this when detection fails on unusual
|
|
66
|
+
* platforms, and callers should treat its absence as "unknown".
|
|
67
|
+
*/
|
|
68
|
+
os_version?: string;
|
|
69
|
+
/** Node.js version (without 'v' prefix). Absent on broker-originated events. */
|
|
70
|
+
node_version?: string;
|
|
25
71
|
/** CPU architecture (e.g., arm64, x64) */
|
|
26
72
|
arch: string;
|
|
27
73
|
}
|
|
@@ -40,6 +86,17 @@ export interface BrokerStopEvent {
|
|
|
40
86
|
/** Total agents spawned during this session */
|
|
41
87
|
agent_spawn_count: number;
|
|
42
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* broker_start_failed - Emitted when the CLI fails to start or connect to a broker.
|
|
91
|
+
* Captures the stage so we can tell config problems from port conflicts from
|
|
92
|
+
* binary-not-found, without leaking paths or args.
|
|
93
|
+
*/
|
|
94
|
+
export interface BrokerStartFailedEvent {
|
|
95
|
+
/** Coarse phase where we gave up — e.g., 'resolve_binary', 'spawn', 'connect', 'handshake' */
|
|
96
|
+
stage: string;
|
|
97
|
+
/** Error constructor name (e.g., 'ENOENT', 'ECONNREFUSED', 'Error') */
|
|
98
|
+
error_class: string;
|
|
99
|
+
}
|
|
43
100
|
/**
|
|
44
101
|
* agent_spawn - Emitted when an agent is created.
|
|
45
102
|
*/
|
|
@@ -87,20 +144,170 @@ export interface MessageSendEvent {
|
|
|
87
144
|
has_thread: boolean;
|
|
88
145
|
}
|
|
89
146
|
/**
|
|
90
|
-
* cli_command_run - Emitted
|
|
147
|
+
* cli_command_run - Emitted before a CLI command's action runs.
|
|
148
|
+
* Now fires for every command (not just interactive), via a global Commander hook.
|
|
91
149
|
*/
|
|
92
150
|
export interface CliCommandRunEvent {
|
|
93
|
-
/**
|
|
151
|
+
/** Full command path — e.g., 'up', 'cloud login', 'workflows list' */
|
|
94
152
|
command_name: string;
|
|
153
|
+
/** Names (not values) of flags/options the user explicitly passed on the CLI */
|
|
154
|
+
flags_used?: string[];
|
|
155
|
+
/** True when stdin is a TTY — helps tell interactive vs scripted runs apart */
|
|
156
|
+
is_tty?: boolean;
|
|
157
|
+
/** Whether this process appears to be running inside CI */
|
|
158
|
+
is_ci?: boolean;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* cli_command_complete - Emitted after a CLI command finishes (success or failure).
|
|
162
|
+
* Pairs with cli_command_run by command_name + same session.
|
|
163
|
+
*/
|
|
164
|
+
export interface CliCommandCompleteEvent {
|
|
165
|
+
/** Full command path — e.g., 'up', 'cloud login' */
|
|
166
|
+
command_name: string;
|
|
167
|
+
/** True if the command ran to completion without throwing / without exit(non-zero) */
|
|
168
|
+
success: boolean;
|
|
169
|
+
/** Wall-clock duration in milliseconds */
|
|
170
|
+
duration_ms: number;
|
|
171
|
+
/** Exit code if the command or top-level handler requested one */
|
|
172
|
+
exit_code?: number;
|
|
173
|
+
/** Error constructor name when success=false (e.g., 'Error', 'CommanderError') */
|
|
174
|
+
error_class?: string;
|
|
175
|
+
}
|
|
176
|
+
export type WorkflowFileType = 'yaml' | 'ts' | 'py' | 'unknown';
|
|
177
|
+
/**
|
|
178
|
+
* workflow_run - Emitted when `agent-relay run <file>` finishes (success or failure).
|
|
179
|
+
* Covers the primary product surface — workflow execution from a local file.
|
|
180
|
+
*/
|
|
181
|
+
export interface WorkflowRunEvent {
|
|
182
|
+
/** Detected workflow file type */
|
|
183
|
+
file_type: WorkflowFileType;
|
|
184
|
+
/** True if --dry-run was passed */
|
|
185
|
+
is_dry_run: boolean;
|
|
186
|
+
/** True if --resume was passed */
|
|
187
|
+
is_resume: boolean;
|
|
188
|
+
/** True if --start-from was passed */
|
|
189
|
+
is_start_from: boolean;
|
|
190
|
+
/** True for .ts/.tsx/.py scripts (as opposed to YAML) */
|
|
191
|
+
is_script: boolean;
|
|
192
|
+
/** True if the command completed successfully */
|
|
193
|
+
success: boolean;
|
|
194
|
+
/** Wall-clock duration in milliseconds */
|
|
195
|
+
duration_ms: number;
|
|
196
|
+
/** Error constructor name on failure */
|
|
197
|
+
error_class?: string;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* cloud_auth - Emitted for cloud account auth flows (login/logout/whoami/connect).
|
|
201
|
+
* `action` distinguishes the flow; `provider` is only present for `connect`.
|
|
202
|
+
*/
|
|
203
|
+
export interface CloudAuthEvent {
|
|
204
|
+
/** Which cloud-auth flow ran */
|
|
205
|
+
action: 'login' | 'logout' | 'whoami' | 'connect';
|
|
206
|
+
/** True if the flow completed without throwing */
|
|
207
|
+
success: boolean;
|
|
208
|
+
/** Wall-clock duration in milliseconds */
|
|
209
|
+
duration_ms: number;
|
|
210
|
+
/** Provider id for `connect` flows (e.g., 'anthropic', 'openai') */
|
|
211
|
+
provider?: string;
|
|
212
|
+
/** Error constructor name on failure */
|
|
213
|
+
error_class?: string;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* cloud_workflow_run - Emitted when `agent-relay cloud run` submits a workflow.
|
|
217
|
+
*/
|
|
218
|
+
export interface CloudWorkflowRunEvent {
|
|
219
|
+
/** Whether --file-type was explicitly set by the user */
|
|
220
|
+
has_explicit_file_type: boolean;
|
|
221
|
+
/** Whether --sync-code was enabled (user or default) */
|
|
222
|
+
sync_code: boolean;
|
|
223
|
+
/** True if --json output mode was requested */
|
|
224
|
+
json_output: boolean;
|
|
225
|
+
/** True if the run was submitted successfully */
|
|
226
|
+
success: boolean;
|
|
227
|
+
/** Wall-clock duration in milliseconds */
|
|
228
|
+
duration_ms: number;
|
|
229
|
+
/** Error constructor name on failure */
|
|
230
|
+
error_class?: string;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* provider_auth - Emitted for `agent-relay auth <provider>` (SSH-based provider login).
|
|
234
|
+
*/
|
|
235
|
+
export interface ProviderAuthEvent {
|
|
236
|
+
/** Normalized provider id (e.g., 'anthropic', 'openai', 'google') */
|
|
237
|
+
provider: string;
|
|
238
|
+
/** True if auth completed without throwing */
|
|
239
|
+
success: boolean;
|
|
240
|
+
/** Wall-clock duration in milliseconds */
|
|
241
|
+
duration_ms: number;
|
|
242
|
+
/** Whether the --use-auth-broker flag was set */
|
|
243
|
+
use_auth_broker: boolean;
|
|
244
|
+
/** Whether a one-time --token was provided */
|
|
245
|
+
used_token: boolean;
|
|
246
|
+
/** Error constructor name on failure */
|
|
247
|
+
error_class?: string;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* setup_init - Emitted when the first-run init wizard runs.
|
|
251
|
+
*/
|
|
252
|
+
export interface SetupInitEvent {
|
|
253
|
+
/** True if running inside a cloud workspace (WORKSPACE_ID set) */
|
|
254
|
+
is_cloud: boolean;
|
|
255
|
+
/** True if a broker was already running when init started */
|
|
256
|
+
broker_was_running: boolean;
|
|
257
|
+
/** True if the user accepted the prompt to start the broker */
|
|
258
|
+
user_started_broker: boolean;
|
|
259
|
+
/** True if --yes was passed (non-interactive) */
|
|
260
|
+
yes_flag: boolean;
|
|
261
|
+
/** True if --skip-broker was passed */
|
|
262
|
+
skip_broker: boolean;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* swarm_run - Emitted when an ad-hoc swarm run finishes.
|
|
266
|
+
*/
|
|
267
|
+
export interface SwarmRunEvent {
|
|
268
|
+
/** Swarm pattern (e.g., 'fan-out', 'competitive', 'pipeline') */
|
|
269
|
+
pattern: string;
|
|
270
|
+
/** Number of teams/stages requested */
|
|
271
|
+
teams: number;
|
|
272
|
+
/** CLI tool used for workers */
|
|
273
|
+
cli: string;
|
|
274
|
+
/** True if --list was passed */
|
|
275
|
+
is_list: boolean;
|
|
276
|
+
/** True if --dry-run was passed */
|
|
277
|
+
is_dry_run: boolean;
|
|
278
|
+
/** Exit code from the broker process */
|
|
279
|
+
exit_code: number;
|
|
280
|
+
/** Wall-clock duration in milliseconds */
|
|
281
|
+
duration_ms: number;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* bridge_spawn - Emitted when the multi-project bridge is launched.
|
|
285
|
+
*/
|
|
286
|
+
export interface BridgeSpawnEvent {
|
|
287
|
+
/** Number of projects being bridged */
|
|
288
|
+
project_count: number;
|
|
289
|
+
/** CLI tool override if provided (else 'default') */
|
|
290
|
+
cli: string;
|
|
291
|
+
/** True if an architect agent was requested */
|
|
292
|
+
has_architect: boolean;
|
|
95
293
|
}
|
|
96
|
-
export type TelemetryEventName = 'broker_start' | 'broker_stop' | 'agent_spawn' | 'agent_release' | 'agent_crash' | 'message_send' | 'cli_command_run';
|
|
294
|
+
export type TelemetryEventName = 'broker_start' | 'broker_stop' | 'broker_start_failed' | 'agent_spawn' | 'agent_release' | 'agent_crash' | 'message_send' | 'cli_command_run' | 'cli_command_complete' | 'workflow_run' | 'cloud_auth' | 'cloud_workflow_run' | 'provider_auth' | 'setup_init' | 'swarm_run' | 'bridge_spawn';
|
|
97
295
|
export interface TelemetryEventMap {
|
|
98
296
|
broker_start: BrokerStartEvent;
|
|
99
297
|
broker_stop: BrokerStopEvent;
|
|
298
|
+
broker_start_failed: BrokerStartFailedEvent;
|
|
100
299
|
agent_spawn: AgentSpawnEvent;
|
|
101
300
|
agent_release: AgentReleaseEvent;
|
|
102
301
|
agent_crash: AgentCrashEvent;
|
|
103
302
|
message_send: MessageSendEvent;
|
|
104
303
|
cli_command_run: CliCommandRunEvent;
|
|
304
|
+
cli_command_complete: CliCommandCompleteEvent;
|
|
305
|
+
workflow_run: WorkflowRunEvent;
|
|
306
|
+
cloud_auth: CloudAuthEvent;
|
|
307
|
+
cloud_workflow_run: CloudWorkflowRunEvent;
|
|
308
|
+
provider_auth: ProviderAuthEvent;
|
|
309
|
+
setup_init: SetupInitEvent;
|
|
310
|
+
swarm_run: SwarmRunEvent;
|
|
311
|
+
bridge_spawn: BridgeSpawnEvent;
|
|
105
312
|
}
|
|
106
313
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,17 @@
|
|
|
5
5
|
* - snake_case for events and properties
|
|
6
6
|
* - Present tense verbs (spawn, not spawned)
|
|
7
7
|
* - object_action pattern
|
|
8
|
+
*
|
|
9
|
+
* Privacy rules for authors:
|
|
10
|
+
* - Never capture argument values (file paths, run IDs, task text, tokens, URLs).
|
|
11
|
+
* - Flag NAMES are fine; flag VALUES are not.
|
|
12
|
+
* - When an event can fail, prefer `error_class` over `error_message` so we
|
|
13
|
+
* don't leak user content or paths. `error_class` is typically the Error
|
|
14
|
+
* constructor name (`errorClassName(err)`), but it may also be a stable
|
|
15
|
+
* synthetic category tag at non-throw failure sites — for example,
|
|
16
|
+
* `'WorkflowNotCompleted'` when a workflow returns `status !== 'completed'`
|
|
17
|
+
* without throwing. Stick to PascalCase tags so real Error names and
|
|
18
|
+
* synthetic categories share one namespace.
|
|
8
19
|
*/
|
|
9
20
|
export {};
|
|
10
21
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @agent-relay/telemetry - Anonymous usage analytics (opt-out via env or CLI)
|
|
3
3
|
*/
|
|
4
|
-
export { initTelemetry, track, shutdown, isEnabled, getAnonymousId, getStatus, } from './client.js';
|
|
4
|
+
export { initTelemetry, track, shutdown, isEnabled, getAnonymousId, getStatus, type InitTelemetryOptions, } from './client.js';
|
|
5
5
|
export { isTelemetryEnabled, enableTelemetry, disableTelemetry, wasNotified, markNotified, loadPrefs, savePrefs, getPrefsPath, isDisabledByEnv, type TelemetryPrefs, } from './config.js';
|
|
6
|
-
export type { CommonProperties, ActionSource, ReleaseReason, BrokerStartEvent, BrokerStopEvent, AgentSpawnEvent, AgentReleaseEvent, AgentCrashEvent, MessageSendEvent, CliCommandRunEvent, TelemetryEventName, TelemetryEventMap, } from './events.js';
|
|
6
|
+
export type { CommonProperties, ActionSource, ReleaseReason, WorkflowFileType, BrokerStartEvent, BrokerStopEvent, BrokerStartFailedEvent, AgentSpawnEvent, AgentReleaseEvent, AgentCrashEvent, MessageSendEvent, CliCommandRunEvent, CliCommandCompleteEvent, WorkflowRunEvent, CloudAuthEvent, CloudWorkflowRunEvent, ProviderAuthEvent, SetupInitEvent, SwarmRunEvent, BridgeSpawnEvent, TelemetryEventName, TelemetryEventMap, } from './events.js';
|
|
7
7
|
export { loadMachineId, createAnonymousId, getMachineIdPath, } from './machine-id.js';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,EACT,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EACf,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,GAEV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,GAEhB,MAAM,aAAa,CAAC;AA2BrB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/telemetry",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.31",
|
|
4
4
|
"description": "Anonymous telemetry for Agent Relay usage analytics",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"test:watch": "vitest"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"posthog-node": "^
|
|
26
|
+
"posthog-node": "^5.29.2"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/trajectory",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.31",
|
|
4
4
|
"description": "Trajectory integration utilities (trail/PDERO) for Relay",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test:watch": "vitest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agent-relay/config": "4.0.
|
|
25
|
+
"@agent-relay/config": "4.0.31"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/user-directory",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.31",
|
|
4
4
|
"description": "User directory service for agent-relay (per-user credential storage)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test:watch": "vitest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agent-relay/utils": "4.0.
|
|
25
|
+
"@agent-relay/utils": "4.0.31"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/utils",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.31",
|
|
4
4
|
"description": "Shared utilities for agent-relay: logging, name generation, command resolution, update checking",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"vitest": "^3.2.4"
|
|
112
112
|
},
|
|
113
113
|
"dependencies": {
|
|
114
|
-
"@agent-relay/config": "4.0.
|
|
114
|
+
"@agent-relay/config": "4.0.31",
|
|
115
115
|
"compare-versions": "^6.1.1"
|
|
116
116
|
},
|
|
117
117
|
"publishConfig": {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION: "1.1.
|
|
1
|
+
export declare const SDK_VERSION: "1.1.3";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SDK_VERSION = "1.1.
|
|
1
|
+
export const SDK_VERSION = "1.1.3";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@relaycast/sdk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"lint": "eslint src/"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@relaycast/types": "1.1.
|
|
25
|
+
"@relaycast/types": "1.1.3",
|
|
26
26
|
"zod": "^4.3.6"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
@@ -1,5 +1,171 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.15.0 — April 7, 2026
|
|
4
|
+
|
|
5
|
+
This release delivers two critical security patches targeting header injection and SSRF via proxy bypass, adds official runtime support for Deno and Bun, and includes significant CI security hardening.
|
|
6
|
+
|
|
7
|
+
## 🔒 Security Fixes
|
|
8
|
+
|
|
9
|
+
* **Header Injection (CRLF):** Rejects any header value containing `\r` or `\n` characters to block CRLF injection chains that could be used to exfiltrate cloud metadata (IMDS). Behavior change: headers with CR/LF now throw `"Invalid character in header content"`. (__#10660__)
|
|
10
|
+
|
|
11
|
+
* **SSRF via `no_proxy` Bypass:** Introduces a `shouldBypassProxy` helper that normalises hostnames (strips trailing dots, handles bracketed IPv6) before evaluating `no_proxy`/`NO_PROXY` rules, closing a gap that could cause loopback or internal hosts to be inadvertently proxied. (__#10661__)
|
|
12
|
+
|
|
13
|
+
## 🚀 New Features
|
|
14
|
+
|
|
15
|
+
* **Deno & Bun Runtime Support:** Added full smoke test suites for Deno and Bun, with CI workflows that run both runtimes before any release is cut. (__#10652__)
|
|
16
|
+
|
|
17
|
+
## 🐛 Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **Node.js v22 Compatibility:** Replaced deprecated `url.parse()` calls with the WHATWG `URL`/`URLSearchParams` API across examples, sandbox, and tests, eliminating `DEP0169` deprecation warnings on Node.js v22+. (__#10625__)
|
|
20
|
+
|
|
21
|
+
## 🔧 Maintenance & Chores
|
|
22
|
+
|
|
23
|
+
* **CI Security Hardening:** Added [zizmor](https://github.com/zizmorcore/zizmor) GitHub Actions security scanner; switched npm publish to OIDC Trusted Publishing (removing the long-lived `NODE_AUTH_TOKEN`); pinned all action references to full commit SHAs; narrowed workflow permissions to least privilege; gated the publish step behind a dedicated `npm-publish` environment; and blocked the sponsor-block workflow from running on forks. (__#10618__, __#10619__, __#10627__, __#10637__, __#10641__, __#10666__)
|
|
24
|
+
|
|
25
|
+
* **Docs:** Clarified HTTP/2 support and the unsupported `httpVersion` option; added documentation for header case preservation; improved the `beforeRedirect` example to prevent accidental credential leakage. (__#10644__, __#10654__, __#10624__)
|
|
26
|
+
|
|
27
|
+
* **Dependencies:** Bumped `picomatch`, `handlebars`, `serialize-javascript`, `vite` (×3), `denoland/setup-deno`, and 4 additional dev dependencies to latest versions. (__#10564__, __#10565__, __#10567__, __#10568__, __#10572__, __#10574__, __#10663__, __#10664__, __#10665__, __#10669__, __#10670__)
|
|
28
|
+
|
|
29
|
+
## 🌟 New Contributors
|
|
30
|
+
|
|
31
|
+
We are thrilled to welcome our new contributors. Thank you for helping improve axios:
|
|
32
|
+
|
|
33
|
+
* **@Kilros0817** (__#10625__)
|
|
34
|
+
* **@shaanmajid** (__#10616__, __#10617__, __#10618__, __#10619__, __#10637__, __#10641__, __#10666__)
|
|
35
|
+
* **@ashstrc** (__#10624__, __#10644__)
|
|
36
|
+
* **@Abhi3975** (__#10589__)
|
|
37
|
+
* **@raashish1601** (__#10573__)
|
|
38
|
+
|
|
39
|
+
[Full Changelog](https://github.com/axios/axios/compare/v1.14.0...v1.15.0)
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## v1.14.0 — March 27, 2026
|
|
44
|
+
|
|
45
|
+
This release fixes a security vulnerability in the `formidable` dependency, resolves a CommonJS compatibility regression, hardens proxy and HTTP/2 handling, and modernises the build and test toolchain.
|
|
46
|
+
|
|
47
|
+
## 🔒 Security Fixes
|
|
48
|
+
|
|
49
|
+
* **Formidable Vulnerability:** Upgraded `formidable` from v2 to v3 to address a reported arbitrary-file vulnerability. Updated test server and assertions to align with the v3 API. (__#7533__)
|
|
50
|
+
|
|
51
|
+
## 🐛 Bug Fixes
|
|
52
|
+
|
|
53
|
+
* **CommonJS Compatibility:** Restored `require('axios')` in Node.js by correcting the `main` field in `package.json` to point to the built CJS bundle. (__#7532__)
|
|
54
|
+
|
|
55
|
+
* **Fetch Adapter:** Cancel the `ReadableStream` body after the request stream capability probe to prevent resource leaks. (__#7515__)
|
|
56
|
+
|
|
57
|
+
* **Proxy:** Upgraded `proxy-from-env` to v2 and switched to the named `getProxyForUrl` export, fixing proxy detection from environment variables and resolving CJS bundling errors. (__#7499__)
|
|
58
|
+
|
|
59
|
+
* **HTTP/2:** Close detached HTTP/2 sessions on timeout to free resources when no new requests arrive. (__#7457__)
|
|
60
|
+
|
|
61
|
+
* **Headers:** Trim trailing CRLF characters from normalised header values. (__#7456__)
|
|
62
|
+
|
|
63
|
+
## 🔧 Maintenance & Chores
|
|
64
|
+
|
|
65
|
+
* **Toolchain Modernisation:** Migrated test suite to Vitest, updated ESLint to v10, upgraded Rollup and `@rollup/plugin-babel`, migrated to Husky 9, upgraded TypeScript to latest, and modernised the Express test harness. (__#7484__, __#7489__, __#7498__, __#7505__, __#7506__, __#7507__, __#7508__, __#7509__, __#7510__, __#7516__, __#7522__)
|
|
66
|
+
|
|
67
|
+
* **Dependencies:** Bumped `multer` to v2, `minimatch`, `tar`, `pacote`, `@babel/preset-env`, and additional dev dependencies. (__#7453__, __#7480__, __#7491__, __#7504__, __#7517__, __#7531__)
|
|
68
|
+
|
|
69
|
+
## 🌟 New Contributors
|
|
70
|
+
|
|
71
|
+
We are thrilled to welcome our new contributors. Thank you for helping improve axios:
|
|
72
|
+
|
|
73
|
+
* **@penkzhou** (__#7515__)
|
|
74
|
+
* **@aviu16** (__#7456__)
|
|
75
|
+
* **@fedotov** (__#7457__)
|
|
76
|
+
|
|
77
|
+
[Full Changelog](https://github.com/axios/axios/compare/v1.13.6...v1.14.0)
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## v1.13.6 — February 27, 2026
|
|
82
|
+
|
|
83
|
+
This release adds React Native Blob support, fixes several enumeration and export regressions, and patches FormData detection for WeChat Mini Program environments.
|
|
84
|
+
|
|
85
|
+
## 🚀 New Features
|
|
86
|
+
|
|
87
|
+
* **React Native Blob Support:** Axios now correctly handles native Blob objects in React Native environments. (__#5764__)
|
|
88
|
+
|
|
89
|
+
## 🐛 Bug Fixes
|
|
90
|
+
|
|
91
|
+
* **AxiosError:** Fixed `AxiosError.from` not copying the `status` field from the source error. (__#7403__)
|
|
92
|
+
|
|
93
|
+
* **AxiosError:** Made the `message` property enumerable so it appears in `JSON.stringify` output and `Object.keys`. (__#7392__)
|
|
94
|
+
|
|
95
|
+
* **FormData Detection:** Corrected safe FormData detection for WeChat Mini Program environments. (__#7324__)
|
|
96
|
+
|
|
97
|
+
* **React Native / Browserify Export:** Fixed broken module export that caused import failures in React Native and Browserify. (__#7386__)
|
|
98
|
+
|
|
99
|
+
## 🔧 Maintenance & Chores
|
|
100
|
+
|
|
101
|
+
* **Dependencies:** Migrated `@rollup/plugin-babel` from v5 to v6 and bumped the development dependencies group. (__#7424__, __#7432__)
|
|
102
|
+
|
|
103
|
+
## 🌟 New Contributors
|
|
104
|
+
|
|
105
|
+
We are thrilled to welcome our new contributors. Thank you for helping improve axios:
|
|
106
|
+
|
|
107
|
+
* **@moh3n9595** (__#5764__)
|
|
108
|
+
* **@skrtheboss** (__#7403__)
|
|
109
|
+
* **@ybbus** (__#7392__)
|
|
110
|
+
* **@Shiwaangee** (__#7324__)
|
|
111
|
+
* **@Gudahtt** (__#7386__)
|
|
112
|
+
|
|
113
|
+
[Full Changelog](https://github.com/axios/axios/compare/v1.13.5...v1.13.6)
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## v1.13.5 — February 8, 2026
|
|
118
|
+
|
|
119
|
+
This release patches a prototype pollution denial-of-service vulnerability, fixes a missing `status` field regression in `AxiosError`, adds interceptor ordering control, and introduces URL validation for `isAbsoluteURL`.
|
|
120
|
+
|
|
121
|
+
## 🔒 Security Fixes
|
|
122
|
+
|
|
123
|
+
* **Prototype Pollution (DoS):** Hardened `mergeConfig` to ignore `__proto__`, `constructor`, and `prototype` keys, preventing denial-of-service via prototype pollution when merging user-supplied config. (__#7369__)
|
|
124
|
+
|
|
125
|
+
## 🚀 New Features
|
|
126
|
+
|
|
127
|
+
* **`isAbsoluteURL` Validation:** Added input validation to `isAbsoluteURL` to handle malformed or unexpected input gracefully. (__#7326__)
|
|
128
|
+
|
|
129
|
+
## 🐛 Bug Fixes
|
|
130
|
+
|
|
131
|
+
* **AxiosError `status`:** Restored the `status` field on `AxiosError` instances, which was missing in v1.13.3 and later. (__#7368__)
|
|
132
|
+
|
|
133
|
+
* **Interceptor Ordering:** Added a `useLegacyInterceptorOrder` option to restore pre-v1.13 interceptor execution order for applications relying on the previous behaviour. ([569f028](https://github.com/axios/axios/commit/569f028a5878faaec8d7d138ba686aac407bda4c))
|
|
134
|
+
|
|
135
|
+
## 🔧 Maintenance & Chores
|
|
136
|
+
|
|
137
|
+
* **CI:** Fixed run conditions and updated workflow YAMLs. (__#7372__, __#7373__)
|
|
138
|
+
|
|
139
|
+
* **Dependencies:** Bumped `karma-sourcemap-loader` and minor package versions. (__#7356__, __#7360__)
|
|
140
|
+
|
|
141
|
+
## 🌟 New Contributors
|
|
142
|
+
|
|
143
|
+
We are thrilled to welcome our new contributors. Thank you for helping improve axios:
|
|
144
|
+
|
|
145
|
+
* **@asmitha-16** (__#7326__)
|
|
146
|
+
|
|
147
|
+
[Full Changelog](https://github.com/axios/axios/compare/v1.13.4...v1.13.5)
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## v1.13.4 — January 27, 2026
|
|
152
|
+
|
|
153
|
+
Patch release fixing regressions introduced in v1.13.3, including TypeScript export compatibility and CI/build stability.
|
|
154
|
+
|
|
155
|
+
## 🐛 Bug Fixes
|
|
156
|
+
|
|
157
|
+
* **v1.13.3 Regressions:** Fixed multiple issues introduced by the v1.13.3 release, including broken merge configs. (__#7352__)
|
|
158
|
+
|
|
159
|
+
* **TypeScript Exports:** Corrected TypeScript export declarations to restore proper type resolution. (__#4884__)
|
|
160
|
+
|
|
161
|
+
## 🔧 Maintenance & Chores
|
|
162
|
+
|
|
163
|
+
* **CI & Build:** Refactored CI pipeline and build configuration for stability. (__#7340__)
|
|
164
|
+
|
|
165
|
+
[Full Changelog](https://github.com/axios/axios/compare/v1.13.3...v1.13.4)
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
3
169
|
## [1.13.3](https://github.com/axios/axios/compare/v1.13.2...v1.13.3) (2026-01-20)
|
|
4
170
|
|
|
5
171
|
### Bug Fixes
|