@axonflow/sdk 6.2.0 → 7.0.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.
@@ -0,0 +1,115 @@
1
+ /**
2
+ * 7-day delivered-heartbeat gate for AxonFlow TypeScript SDK telemetry.
3
+ *
4
+ * Implements the cross-SDK contract:
5
+ *
6
+ * AxonFlow emits at most one anonymous heartbeat per environment every
7
+ * 7 days during SDK activity.
8
+ *
9
+ * The gate is consulted at client construction and at every public HTTP
10
+ * request site (via `_preRequestHook`). Each gate run:
11
+ *
12
+ * 1. Re-evaluates `AXONFLOW_TELEMETRY=off` cheaply (lock-free) so a
13
+ * mid-process opt-out toggle takes effect immediately.
14
+ * 2. Checks an in-memory 1-hour cache to bound stat() syscall frequency
15
+ * on hot request paths.
16
+ * 3. Reads the stamp file mtime as the source of truth for last
17
+ * successful delivery across process restarts.
18
+ * 4. Sends the ping and writes the stamp ONLY on success — stamp-on-
19
+ * DELIVERY semantics. Failed POSTs leave the stamp unchanged so the
20
+ * next call after the 1-hour cache expires retries.
21
+ * 5. Coalesces concurrent callers via an in-flight Promise so a stampede
22
+ * across the boundary fires exactly one POST.
23
+ *
24
+ * Cross-platform stamp file location (no external deps):
25
+ *
26
+ * macOS: ~/Library/Caches/axonflow/typescript-telemetry-last-sent
27
+ * Linux: $XDG_CACHE_HOME/axonflow/... or ~/.cache/axonflow/...
28
+ * Windows: %LOCALAPPDATA%/axonflow/...
29
+ *
30
+ * If the cache dir cannot be resolved (e.g. AWS Lambda where HOME is
31
+ * unset and LOCALAPPDATA is absent), the stamp path is null and the SDK
32
+ * falls back to "one ping per process" — same as today's pre-heartbeat
33
+ * behavior. No regression for that runtime.
34
+ */
35
+ /** 7 days in milliseconds. */
36
+ export declare const HEARTBEAT_INTERVAL_MS: number;
37
+ /** 1 hour in milliseconds — bounds how often we stat() the stamp file. */
38
+ export declare const HEARTBEAT_GUARD_INTERVAL_MS: number;
39
+ /**
40
+ * Resolve the OS-native stamp file path, or `null` if no user cache
41
+ * directory is available (Lambda etc.). Hand-rolled rather than via the
42
+ * `env-paths` package to keep the SDK dependency-free.
43
+ */
44
+ export declare function resolveStampPath(): string | null;
45
+ /** Sentinel: pass to HeartbeatState to opt into the auto-resolved default. */
46
+ export declare const USE_DEFAULT_CACHE_DIR: unique symbol;
47
+ /**
48
+ * Mutable state for the delivered-heartbeat gate.
49
+ *
50
+ * Shared as a module-level singleton across all clients in the process so
51
+ * multiple AxonFlow instances coalesce onto a single ping. Single-threaded
52
+ * Node.js runtime means no mutex is needed; an in-flight Promise is enough
53
+ * to coalesce concurrent callers.
54
+ *
55
+ * `stampPath` semantics:
56
+ * - string — use this exact location (typically used in tests).
57
+ * - null — no persistence at all (Lambda / restricted env path).
58
+ * - default — auto-resolve via resolveStampPath().
59
+ */
60
+ export declare class HeartbeatState {
61
+ lastCheckedMs: number | null;
62
+ inFlight: Promise<void> | null;
63
+ readonly stampPath: string | null;
64
+ constructor(stampPath?: string | null | typeof USE_DEFAULT_CACHE_DIR);
65
+ /**
66
+ * Returns the stamp file's mtime as wall-clock ms-since-epoch, or null
67
+ * if absent / unreadable / no path. Tolerant of every failure mode — a
68
+ * corrupted or missing stamp is treated as "never sent" so we re-attempt.
69
+ */
70
+ readStampMtimeMs(): number | null;
71
+ /**
72
+ * Atomically write a fresh timestamp to the stamp file via tmp+rename so
73
+ * concurrent writers never observe torn state. Contents are advisory —
74
+ * the SDK uses mtime as the source of truth, never the contents.
75
+ * Errors are silently ignored — a failed write means the next process
76
+ * retries on schedule.
77
+ */
78
+ writeStampAtomic(): Promise<void>;
79
+ }
80
+ export declare function getHeartbeatStateForTest(): HeartbeatState;
81
+ export declare function replaceHeartbeatStateForTest(stampPath: string | null | typeof USE_DEFAULT_CACHE_DIR): HeartbeatState;
82
+ /**
83
+ * Test helper: restore a previously-saved singleton.
84
+ *
85
+ * Pair with `replaceHeartbeatStateForTest`:
86
+ *
87
+ * const previous = replaceHeartbeatStateForTest(tempStamp);
88
+ * try { ... } finally { restoreHeartbeatStateForTest(previous); }
89
+ */
90
+ export declare function restoreHeartbeatStateForTest(state: HeartbeatState): void;
91
+ /**
92
+ * Returns the in-flight heartbeat Promise, or `null` if no ping is in
93
+ * progress. Use this from short-lived processes (CLI scripts, Lambda
94
+ * boot) to await delivery before exit:
95
+ *
96
+ * const client = new AxonFlow(config);
97
+ * // ... do work ...
98
+ * await flushHeartbeat(); // ensures the boot ping landed
99
+ *
100
+ * Long-running services don't need to call this — the Node event loop
101
+ * keeps the process alive while the Promise is pending.
102
+ */
103
+ export declare function flushHeartbeat(): Promise<void> | null;
104
+ /**
105
+ * Central gate for telemetry pings. Called from the AxonFlow constructor
106
+ * and from `_preRequestHook` on every public HTTP entry point.
107
+ *
108
+ * The `pingFn` callback returns a Promise<boolean> indicating delivery
109
+ * success. The stamp is written ONLY when this resolves to true,
110
+ * implementing the "stamp-on-delivery" contract.
111
+ *
112
+ * Never throws — heartbeat failures must not surface to the caller.
113
+ */
114
+ export declare function maybeSendHeartbeat(isTelemetryEnabled: boolean, pingFn: () => Promise<boolean>): Promise<void>;
115
+ //# sourceMappingURL=heartbeat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAKH,8BAA8B;AAC9B,eAAO,MAAM,qBAAqB,QAA0B,CAAC;AAE7D,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAoBhD;AAED,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,eAAkD,CAAC;AAErF;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAc;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IACpC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC7C,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE7B,SAAS,GAAE,MAAM,GAAG,IAAI,GAAG,OAAO,qBAA6C;IAI3F;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IASjC;;;;;;OAMG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBxC;AAMD,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,qBAAqB,GACtD,cAAc,CAIhB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAExE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAErD;AAYD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,kBAAkB,EAAE,OAAO,EAC3B,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAwCf"}
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ /**
3
+ * 7-day delivered-heartbeat gate for AxonFlow TypeScript SDK telemetry.
4
+ *
5
+ * Implements the cross-SDK contract:
6
+ *
7
+ * AxonFlow emits at most one anonymous heartbeat per environment every
8
+ * 7 days during SDK activity.
9
+ *
10
+ * The gate is consulted at client construction and at every public HTTP
11
+ * request site (via `_preRequestHook`). Each gate run:
12
+ *
13
+ * 1. Re-evaluates `AXONFLOW_TELEMETRY=off` cheaply (lock-free) so a
14
+ * mid-process opt-out toggle takes effect immediately.
15
+ * 2. Checks an in-memory 1-hour cache to bound stat() syscall frequency
16
+ * on hot request paths.
17
+ * 3. Reads the stamp file mtime as the source of truth for last
18
+ * successful delivery across process restarts.
19
+ * 4. Sends the ping and writes the stamp ONLY on success — stamp-on-
20
+ * DELIVERY semantics. Failed POSTs leave the stamp unchanged so the
21
+ * next call after the 1-hour cache expires retries.
22
+ * 5. Coalesces concurrent callers via an in-flight Promise so a stampede
23
+ * across the boundary fires exactly one POST.
24
+ *
25
+ * Cross-platform stamp file location (no external deps):
26
+ *
27
+ * macOS: ~/Library/Caches/axonflow/typescript-telemetry-last-sent
28
+ * Linux: $XDG_CACHE_HOME/axonflow/... or ~/.cache/axonflow/...
29
+ * Windows: %LOCALAPPDATA%/axonflow/...
30
+ *
31
+ * If the cache dir cannot be resolved (e.g. AWS Lambda where HOME is
32
+ * unset and LOCALAPPDATA is absent), the stamp path is null and the SDK
33
+ * falls back to "one ping per process" — same as today's pre-heartbeat
34
+ * behavior. No regression for that runtime.
35
+ */
36
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
37
+ if (k2 === undefined) k2 = k;
38
+ var desc = Object.getOwnPropertyDescriptor(m, k);
39
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
40
+ desc = { enumerable: true, get: function() { return m[k]; } };
41
+ }
42
+ Object.defineProperty(o, k2, desc);
43
+ }) : (function(o, m, k, k2) {
44
+ if (k2 === undefined) k2 = k;
45
+ o[k2] = m[k];
46
+ }));
47
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
48
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
49
+ }) : function(o, v) {
50
+ o["default"] = v;
51
+ });
52
+ var __importStar = (this && this.__importStar) || (function () {
53
+ var ownKeys = function(o) {
54
+ ownKeys = Object.getOwnPropertyNames || function (o) {
55
+ var ar = [];
56
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
57
+ return ar;
58
+ };
59
+ return ownKeys(o);
60
+ };
61
+ return function (mod) {
62
+ if (mod && mod.__esModule) return mod;
63
+ var result = {};
64
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
65
+ __setModuleDefault(result, mod);
66
+ return result;
67
+ };
68
+ })();
69
+ Object.defineProperty(exports, "__esModule", { value: true });
70
+ exports.HeartbeatState = exports.USE_DEFAULT_CACHE_DIR = exports.HEARTBEAT_GUARD_INTERVAL_MS = exports.HEARTBEAT_INTERVAL_MS = void 0;
71
+ exports.resolveStampPath = resolveStampPath;
72
+ exports.getHeartbeatStateForTest = getHeartbeatStateForTest;
73
+ exports.replaceHeartbeatStateForTest = replaceHeartbeatStateForTest;
74
+ exports.restoreHeartbeatStateForTest = restoreHeartbeatStateForTest;
75
+ exports.flushHeartbeat = flushHeartbeat;
76
+ exports.maybeSendHeartbeat = maybeSendHeartbeat;
77
+ const fs_1 = require("fs");
78
+ const path = __importStar(require("path"));
79
+ /** 7 days in milliseconds. */
80
+ exports.HEARTBEAT_INTERVAL_MS = 7 * 24 * 60 * 60 * 1000;
81
+ /** 1 hour in milliseconds — bounds how often we stat() the stamp file. */
82
+ exports.HEARTBEAT_GUARD_INTERVAL_MS = 60 * 60 * 1000;
83
+ /**
84
+ * Resolve the OS-native stamp file path, or `null` if no user cache
85
+ * directory is available (Lambda etc.). Hand-rolled rather than via the
86
+ * `env-paths` package to keep the SDK dependency-free.
87
+ */
88
+ function resolveStampPath() {
89
+ const platform = process.platform;
90
+ if (platform === 'darwin') {
91
+ const home = process.env.HOME;
92
+ if (!home)
93
+ return null;
94
+ return path.join(home, 'Library', 'Caches', 'axonflow', 'typescript-telemetry-last-sent');
95
+ }
96
+ if (platform === 'win32') {
97
+ const local = process.env.LOCALAPPDATA;
98
+ if (!local)
99
+ return null;
100
+ return path.join(local, 'axonflow', 'typescript-telemetry-last-sent');
101
+ }
102
+ // Linux / *BSD / others — XDG.
103
+ const xdg = process.env.XDG_CACHE_HOME;
104
+ if (xdg) {
105
+ return path.join(xdg, 'axonflow', 'typescript-telemetry-last-sent');
106
+ }
107
+ const home = process.env.HOME;
108
+ if (!home)
109
+ return null;
110
+ return path.join(home, '.cache', 'axonflow', 'typescript-telemetry-last-sent');
111
+ }
112
+ /** Sentinel: pass to HeartbeatState to opt into the auto-resolved default. */
113
+ exports.USE_DEFAULT_CACHE_DIR = Symbol('axonflow.heartbeat.useDefaultCacheDir');
114
+ /**
115
+ * Mutable state for the delivered-heartbeat gate.
116
+ *
117
+ * Shared as a module-level singleton across all clients in the process so
118
+ * multiple AxonFlow instances coalesce onto a single ping. Single-threaded
119
+ * Node.js runtime means no mutex is needed; an in-flight Promise is enough
120
+ * to coalesce concurrent callers.
121
+ *
122
+ * `stampPath` semantics:
123
+ * - string — use this exact location (typically used in tests).
124
+ * - null — no persistence at all (Lambda / restricted env path).
125
+ * - default — auto-resolve via resolveStampPath().
126
+ */
127
+ class HeartbeatState {
128
+ constructor(stampPath = exports.USE_DEFAULT_CACHE_DIR) {
129
+ this.lastCheckedMs = null;
130
+ this.inFlight = null;
131
+ this.stampPath = stampPath === exports.USE_DEFAULT_CACHE_DIR ? resolveStampPath() : stampPath;
132
+ }
133
+ /**
134
+ * Returns the stamp file's mtime as wall-clock ms-since-epoch, or null
135
+ * if absent / unreadable / no path. Tolerant of every failure mode — a
136
+ * corrupted or missing stamp is treated as "never sent" so we re-attempt.
137
+ */
138
+ readStampMtimeMs() {
139
+ if (!this.stampPath)
140
+ return null;
141
+ try {
142
+ return (0, fs_1.statSync)(this.stampPath).mtimeMs;
143
+ }
144
+ catch {
145
+ return null;
146
+ }
147
+ }
148
+ /**
149
+ * Atomically write a fresh timestamp to the stamp file via tmp+rename so
150
+ * concurrent writers never observe torn state. Contents are advisory —
151
+ * the SDK uses mtime as the source of truth, never the contents.
152
+ * Errors are silently ignored — a failed write means the next process
153
+ * retries on schedule.
154
+ */
155
+ async writeStampAtomic() {
156
+ if (!this.stampPath)
157
+ return;
158
+ const dir = path.dirname(this.stampPath);
159
+ try {
160
+ await fs_1.promises.mkdir(dir, { recursive: true });
161
+ }
162
+ catch {
163
+ return;
164
+ }
165
+ const tmpName = path.join(dir, `telemetry-last-sent-${process.pid}-${Date.now()}.tmp`);
166
+ try {
167
+ await fs_1.promises.writeFile(tmpName, `last_sent=${new Date().toISOString()}\n`, { flag: 'w' });
168
+ await fs_1.promises.rename(tmpName, this.stampPath);
169
+ }
170
+ catch {
171
+ // tmp+rename failure is non-fatal; clean up the orphaned tmp file
172
+ // if it was created.
173
+ try {
174
+ await fs_1.promises.unlink(tmpName);
175
+ }
176
+ catch {
177
+ /* nothing to clean up */
178
+ }
179
+ }
180
+ }
181
+ }
182
+ exports.HeartbeatState = HeartbeatState;
183
+ // Module-level singleton. Tests that need isolation override via
184
+ // `replaceHeartbeatStateForTest` and restore the previous state.
185
+ let _state = new HeartbeatState();
186
+ function getHeartbeatStateForTest() {
187
+ return _state;
188
+ }
189
+ function replaceHeartbeatStateForTest(stampPath) {
190
+ const previous = _state;
191
+ _state = new HeartbeatState(stampPath);
192
+ return previous;
193
+ }
194
+ /**
195
+ * Test helper: restore a previously-saved singleton.
196
+ *
197
+ * Pair with `replaceHeartbeatStateForTest`:
198
+ *
199
+ * const previous = replaceHeartbeatStateForTest(tempStamp);
200
+ * try { ... } finally { restoreHeartbeatStateForTest(previous); }
201
+ */
202
+ function restoreHeartbeatStateForTest(state) {
203
+ _state = state;
204
+ }
205
+ /**
206
+ * Returns the in-flight heartbeat Promise, or `null` if no ping is in
207
+ * progress. Use this from short-lived processes (CLI scripts, Lambda
208
+ * boot) to await delivery before exit:
209
+ *
210
+ * const client = new AxonFlow(config);
211
+ * // ... do work ...
212
+ * await flushHeartbeat(); // ensures the boot ping landed
213
+ *
214
+ * Long-running services don't need to call this — the Node event loop
215
+ * keeps the process alive while the Promise is pending.
216
+ */
217
+ function flushHeartbeat() {
218
+ return _state.inFlight;
219
+ }
220
+ /**
221
+ * Cheap opt-out check, re-evaluated on every gate run so a mid-process
222
+ * `process.env.AXONFLOW_TELEMETRY = 'off'` toggle takes effect immediately
223
+ * without restart.
224
+ */
225
+ function isOptedOut() {
226
+ if (typeof process === 'undefined' || !process.env)
227
+ return false;
228
+ return process.env.AXONFLOW_TELEMETRY?.trim().toLowerCase() === 'off';
229
+ }
230
+ /**
231
+ * Central gate for telemetry pings. Called from the AxonFlow constructor
232
+ * and from `_preRequestHook` on every public HTTP entry point.
233
+ *
234
+ * The `pingFn` callback returns a Promise<boolean> indicating delivery
235
+ * success. The stamp is written ONLY when this resolves to true,
236
+ * implementing the "stamp-on-delivery" contract.
237
+ *
238
+ * Never throws — heartbeat failures must not surface to the caller.
239
+ */
240
+ async function maybeSendHeartbeat(isTelemetryEnabled, pingFn) {
241
+ // 1. Cheap opt-out check (lock-free, re-evaluated every call).
242
+ if (isOptedOut())
243
+ return;
244
+ if (!isTelemetryEnabled)
245
+ return;
246
+ const h = _state;
247
+ // 2. In-flight Promise gate — coalesces concurrent callers in the
248
+ // single-threaded JS runtime. Awaiting it does not delay the caller
249
+ // because we don't await the returned Promise from public hot paths.
250
+ if (h.inFlight)
251
+ return;
252
+ const nowMs = Date.now();
253
+ // 3. In-memory 1-hour cache.
254
+ if (h.lastCheckedMs !== null && nowMs - h.lastCheckedMs < exports.HEARTBEAT_GUARD_INTERVAL_MS) {
255
+ return;
256
+ }
257
+ h.lastCheckedMs = nowMs;
258
+ // 4. Stamp file mtime gate.
259
+ const mtimeMs = h.readStampMtimeMs();
260
+ if (mtimeMs !== null && nowMs - mtimeMs < exports.HEARTBEAT_INTERVAL_MS) {
261
+ return;
262
+ }
263
+ // 5. Send + stamp-on-success. Stored as Promise on `inFlight` so any
264
+ // concurrent callers can fast-path out via the check above.
265
+ h.inFlight = (async () => {
266
+ try {
267
+ const ok = await pingFn();
268
+ if (ok) {
269
+ await h.writeStampAtomic();
270
+ }
271
+ }
272
+ catch {
273
+ // pingFn must never throw in practice, but defend anyway.
274
+ }
275
+ finally {
276
+ h.inFlight = null;
277
+ }
278
+ })();
279
+ }
280
+ //# sourceMappingURL=heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -37,10 +37,29 @@ export type EndpointType = 'localhost' | 'private_network' | 'remote' | 'unknown
37
37
  */
38
38
  export declare function classifyEndpoint(url: string | null | undefined): EndpointType;
39
39
  /**
40
- * Send an anonymous telemetry ping on client initialization.
40
+ * Send an anonymous telemetry ping and return whether it landed.
41
41
  *
42
- * This is fire-and-forget: the returned promise is intentionally not awaited,
43
- * errors are silently swallowed, and a 3-second timeout prevents blocking.
42
+ * Returns `true` only when the POST received a 2xx response. Network
43
+ * failures, timeouts, and non-2xx responses all return `false`. Used by
44
+ * the heartbeat orchestrator (see `heartbeat.ts`) where the boolean
45
+ * drives stamp-on-DELIVERY semantics: only successful POSTs advance the
46
+ * stamp file.
47
+ *
48
+ * The caller is responsible for the gating decision — this function does
49
+ * NOT consult `AXONFLOW_TELEMETRY`, the stamp file, or any rate-limit
50
+ * state.
51
+ */
52
+ export declare function sendTelemetryPingNow(options: {
53
+ mode: string;
54
+ endpoint: string;
55
+ debug?: boolean;
56
+ }): Promise<boolean>;
57
+ /**
58
+ * Send an anonymous telemetry ping on client initialization (compat shim).
59
+ *
60
+ * Kept for the existing test surface. Production code goes through
61
+ * `maybeSendHeartbeat` in heartbeat.ts instead. This shim performs the
62
+ * gating + fire-and-forget POST without consulting the 7-day stamp file.
44
63
  */
45
64
  export declare function sendTelemetryPing(options: {
46
65
  mode: string;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAqHA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,aAAa,EAAE,YAAY,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,iBAAiB,GACjB,QAAQ,GACR,SAAS,GACT,gBAAgB,CAAC;AAErB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAuF7E;AAmCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,IAAI,CAuFP"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAuGA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,aAAa,EAAE,YAAY,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,iBAAiB,GACjB,QAAQ,GACR,SAAS,GACT,gBAAgB,CAAC;AAErB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAuF7E;AAmCD;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsDnB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,IAAI,CAuFP"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.classifyEndpoint = classifyEndpoint;
4
+ exports.sendTelemetryPingNow = sendTelemetryPingNow;
4
5
  exports.sendTelemetryPing = sendTelemetryPing;
5
6
  const version_1 = require("./version");
6
7
  /**
@@ -51,28 +52,16 @@ function generateInstanceId() {
51
52
  * Check whether telemetry is opted-out via environment variables.
52
53
  *
53
54
  * `AXONFLOW_TELEMETRY=off` is the canonical AxonFlow-specific opt-out.
54
- * `DO_NOT_TRACK=1` is **deprecated** as an AxonFlow opt-out and will be
55
- * removed after 2026-05-05 in the next major release — when it's the only
56
- * thing disabling telemetry, a one-line warning is emitted so operators can
57
- * migrate to `AXONFLOW_TELEMETRY=off`. If both are set, the caller has
58
- * already migrated and no warning fires.
59
55
  *
60
- * Consistent with the Go, Python, and Java SDKs the warning fires on
61
- * every opt-out check, not once per process, so any downstream log sink
62
- * sees every invocation (cron jobs, per-request child processes).
56
+ * `DO_NOT_TRACK` is intentionally NOT honored. It is commonly inherited from
57
+ * host tools and developer environments (CLIs like Codex and Claude Code
58
+ * inject it unconditionally), which makes it an unreliable expression of
59
+ * user intent for AxonFlow telemetry.
63
60
  */
64
61
  function isOptedOut() {
65
62
  if (typeof process === 'undefined' || !process.env) {
66
63
  return false;
67
64
  }
68
- if (process.env.DO_NOT_TRACK?.trim() === '1') {
69
- // Only warn when DO_NOT_TRACK is the active control. If AXONFLOW_TELEMETRY=off
70
- // is also set, the caller has already migrated.
71
- if (process.env.AXONFLOW_TELEMETRY?.trim().toLowerCase() !== 'off') {
72
- console.warn('[AxonFlow] DO_NOT_TRACK=1 is deprecated as an AxonFlow telemetry opt-out and will be removed after 2026-05-05 in the next major release. Set AXONFLOW_TELEMETRY=off to opt out going forward. See https://docs.getaxonflow.com/docs/telemetry for details.');
73
- }
74
- return true;
75
- }
76
65
  if (process.env.AXONFLOW_TELEMETRY?.trim().toLowerCase() === 'off') {
77
66
  return true;
78
67
  }
@@ -244,10 +233,75 @@ function expandIPv6(addr) {
244
233
  return full.map(h => h.padStart(4, '0')).join(':');
245
234
  }
246
235
  /**
247
- * Send an anonymous telemetry ping on client initialization.
236
+ * Send an anonymous telemetry ping and return whether it landed.
237
+ *
238
+ * Returns `true` only when the POST received a 2xx response. Network
239
+ * failures, timeouts, and non-2xx responses all return `false`. Used by
240
+ * the heartbeat orchestrator (see `heartbeat.ts`) where the boolean
241
+ * drives stamp-on-DELIVERY semantics: only successful POSTs advance the
242
+ * stamp file.
243
+ *
244
+ * The caller is responsible for the gating decision — this function does
245
+ * NOT consult `AXONFLOW_TELEMETRY`, the stamp file, or any rate-limit
246
+ * state.
247
+ */
248
+ async function sendTelemetryPingNow(options) {
249
+ const checkpointUrl = resolveCheckpointUrl();
250
+ const payload = {
251
+ sdk: 'typescript',
252
+ sdk_version: version_1.VERSION,
253
+ platform_version: null,
254
+ os: typeof process !== 'undefined' ? process.platform : 'unknown',
255
+ arch: typeof process !== 'undefined' ? process.arch : 'unknown',
256
+ runtime_version: typeof process !== 'undefined' ? process.version.replace(/^v/, '') : 'unknown',
257
+ deployment_mode: options.mode,
258
+ endpoint_type: classifyEndpoint(options.endpoint),
259
+ features: [],
260
+ instance_id: generateInstanceId(),
261
+ };
262
+ try {
263
+ const deadline = Date.now() + TELEMETRY_TIMEOUT_MS;
264
+ try {
265
+ const healthBudget = Math.min(HEALTH_BUDGET_CAP_MS, Math.max(0, deadline - Date.now()));
266
+ if (options.endpoint && healthBudget > MIN_BUDGET_MS) {
267
+ payload.platform_version = await detectPlatformVersion(options.endpoint, healthBudget);
268
+ }
269
+ }
270
+ catch {
271
+ /* platform_version remains null on failure */
272
+ }
273
+ if (options.debug) {
274
+ console.log('[AxonFlow] Sending telemetry ping', JSON.stringify(payload, null, 2));
275
+ }
276
+ const postBudget = Math.max(0, deadline - Date.now());
277
+ if (postBudget < MIN_BUDGET_MS) {
278
+ return false;
279
+ }
280
+ const controller = new AbortController();
281
+ const timeoutId = setTimeout(() => controller.abort(), postBudget);
282
+ try {
283
+ const response = await fetch(checkpointUrl, {
284
+ method: 'POST',
285
+ headers: { 'Content-Type': 'application/json' },
286
+ body: JSON.stringify(payload),
287
+ signal: controller.signal,
288
+ });
289
+ return response.ok;
290
+ }
291
+ finally {
292
+ clearTimeout(timeoutId);
293
+ }
294
+ }
295
+ catch {
296
+ return false;
297
+ }
298
+ }
299
+ /**
300
+ * Send an anonymous telemetry ping on client initialization (compat shim).
248
301
  *
249
- * This is fire-and-forget: the returned promise is intentionally not awaited,
250
- * errors are silently swallowed, and a 3-second timeout prevents blocking.
302
+ * Kept for the existing test surface. Production code goes through
303
+ * `maybeSendHeartbeat` in heartbeat.ts instead. This shim performs the
304
+ * gating + fire-and-forget POST without consulting the 7-day stamp file.
251
305
  */
252
306
  function sendTelemetryPing(options) {
253
307
  // Check env-level opt-out first
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":";;AAiKA,4CAuFC;AAyCD,8CA6FC;AA9XD,uCAAoC;AAEpC;;GAEG;AACH,MAAM,sBAAsB,GAAG,4CAA4C,CAAC;AAE5E;;GAEG;AACH,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;;;;GAKG;AACH,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;;;;GAKG;AACH,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,+BAA+B;QAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC7E,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,+CAA+C;IAC/C,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;QACjE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1C,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,UAAU;IACjB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QAC7C,+EAA+E;QAC/E,gDAAgD;QAChD,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACnE,OAAO,CAAC,IAAI,CACV,4PAA4P,CAC7P,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;QACzF,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAC7C,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAC1B,YAAgC,EAChC,gBAA0B;IAE1B,0CAA0C;IAC1C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,6DAA6D;IAC7D,OAAO,YAAY,KAAK,SAAS,CAAC;AACpC,CAAC;AA2BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,gBAAgB,CAAC,GAA8B;IAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;QACrC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,sEAAsE;IACtE,0DAA0D;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,IACE,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,SAAS;QAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC3B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,sCAAsC;IACtC,IACE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC1B,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,WAAW,CAAC,CAAC,cAAc;QACjD,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,iBAAiB,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,iBAAiB,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,iBAAiB,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,iBAAiB,CAAC,CAAC,aAAa;QACnE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,EAAE;IACF,wEAAwE;IACxE,oEAAoE;IACpE,kEAAkE;IAClE,mCAAmC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,iDAAiD;QACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,QAAQ,KAAK,yCAAyC,EAAE,CAAC;YAC3D,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,oEAAoE;QACpE,sCAAsC;QACtC,IAAI,QAAQ,KAAK,yCAAyC,EAAE,CAAC;YAC3D,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,uEAAuE;QACvE,mDAAmD;QACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,uEAAuE;QACvE,sBAAsB;QACtB,IAAI,WAAW,IAAI,MAAM,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;YACnD,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iDAAiD;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,qEAAqE;IACrE,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAMjC;IACC,gCAAgC;IAChC,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,gDAAgD;IAChD,+FAA+F;IAC/F,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CACX,uHAAuH,CACxH,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAE7C,MAAM,OAAO,GAAqB;QAChC,GAAG,EAAE,YAAY;QACjB,WAAW,EAAE,iBAAO;QACpB,gBAAgB,EAAE,IAAI;QACtB,EAAE,EAAE,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACjE,IAAI,EAAE,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC/D,eAAe,EAAE,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/F,eAAe,EAAE,OAAO,CAAC,IAAI;QAC7B,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjD,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,kBAAkB,EAAE;KAClC,CAAC;IAEF,2DAA2D;IAC3D,EAAE;IACF,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,oEAAoE;IACpE,gEAAgE;IAChE,IAAI,CAAC;QACH,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;YAEnD,IAAI,CAAC;gBACH,uEAAuE;gBACvE,gEAAgE;gBAChE,0DAA0D;gBAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACxF,IAAI,OAAO,CAAC,QAAQ,IAAI,YAAY,GAAG,aAAa,EAAE,CAAC;oBACrD,OAAO,CAAC,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC;YAED,kEAAkE;YAClE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtD,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;YAEnE,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,aAAa,EAAE;oBACzB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,8DAA8D;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,qBAAqB,CAAC,QAAgB,EAAE,SAAiB;IACtE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,SAAS,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -75,8 +75,8 @@ export interface AxonFlowConfig {
75
75
  * When undefined, defaults to ON for production mode and OFF for sandbox mode.
76
76
  * Set explicitly to `true` or `false` to override the default.
77
77
  *
78
- * Telemetry can also be disabled globally via the DO_NOT_TRACK=1 or
79
- * AXONFLOW_TELEMETRY=off environment variables.
78
+ * Telemetry can also be disabled globally via the
79
+ * `AXONFLOW_TELEMETRY=off` environment variable.
80
80
  */
81
81
  telemetry?: boolean;
82
82
  }
@@ -7,5 +7,5 @@
7
7
  * During tests, Jest runs source directly and the test suite verifies
8
8
  * this value matches package.json.
9
9
  */
10
- export declare const VERSION = "6.2.0";
10
+ export declare const VERSION = "7.0.0";
11
11
  //# sourceMappingURL=version.d.ts.map
@@ -11,5 +11,5 @@ exports.VERSION = void 0;
11
11
  * this value matches package.json.
12
12
  */
13
13
  // AUTO-GENERATED — do not edit. Run `npm run stamp-version` to update.
14
- exports.VERSION = '6.2.0';
14
+ exports.VERSION = '7.0.0';
15
15
  //# sourceMappingURL=version.js.map