agent-relay 11.2.0 → 11.3.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.
Files changed (70) hide show
  1. package/dist/cli/agent-relay-mcp.d.ts +1 -0
  2. package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
  3. package/dist/cli/agent-relay-mcp.js +10 -3
  4. package/dist/cli/agent-relay-mcp.js.map +1 -1
  5. package/dist/cli/bootstrap.d.ts +14 -0
  6. package/dist/cli/bootstrap.d.ts.map +1 -1
  7. package/dist/cli/bootstrap.js +83 -7
  8. package/dist/cli/bootstrap.js.map +1 -1
  9. package/dist/cli/commands/cloud.d.ts.map +1 -1
  10. package/dist/cli/commands/cloud.js +10 -3
  11. package/dist/cli/commands/cloud.js.map +1 -1
  12. package/dist/cli/commands/local-agent.d.ts.map +1 -1
  13. package/dist/cli/commands/local-agent.js +13 -1
  14. package/dist/cli/commands/local-agent.js.map +1 -1
  15. package/dist/cli/commands/setup.d.ts.map +1 -1
  16. package/dist/cli/commands/setup.js +9 -0
  17. package/dist/cli/commands/setup.js.map +1 -1
  18. package/dist/cli/lib/attach-drive.d.ts +37 -18
  19. package/dist/cli/lib/attach-drive.d.ts.map +1 -1
  20. package/dist/cli/lib/attach-drive.js +178 -75
  21. package/dist/cli/lib/attach-drive.js.map +1 -1
  22. package/dist/cli/lib/attach-passthrough.d.ts +5 -0
  23. package/dist/cli/lib/attach-passthrough.d.ts.map +1 -1
  24. package/dist/cli/lib/attach-passthrough.js +108 -31
  25. package/dist/cli/lib/attach-passthrough.js.map +1 -1
  26. package/dist/cli/lib/attach-view.d.ts +2 -0
  27. package/dist/cli/lib/attach-view.d.ts.map +1 -1
  28. package/dist/cli/lib/attach-view.js +10 -0
  29. package/dist/cli/lib/attach-view.js.map +1 -1
  30. package/dist/cli/lib/attach.d.ts +127 -11
  31. package/dist/cli/lib/attach.d.ts.map +1 -1
  32. package/dist/cli/lib/attach.js +471 -31
  33. package/dist/cli/lib/attach.js.map +1 -1
  34. package/dist/cli/lib/broker-lifecycle.d.ts.map +1 -1
  35. package/dist/cli/lib/broker-lifecycle.js +26 -1
  36. package/dist/cli/lib/broker-lifecycle.js.map +1 -1
  37. package/dist/cli/mcp/action-schema.d.ts +2 -2
  38. package/dist/cli/mcp/action-schema.d.ts.map +1 -1
  39. package/dist/cli/mcp/action-schema.js +1 -1
  40. package/dist/cli/mcp/action-schema.js.map +1 -1
  41. package/dist/cli/mcp/messaging-tools.js +5 -5
  42. package/dist/cli/mcp/messaging-tools.js.map +1 -1
  43. package/dist/cli/mcp/tool-results.d.ts +1 -1
  44. package/dist/cli/mcp/tool-results.d.ts.map +1 -1
  45. package/dist/cli/mcp/tool-results.js +1 -1
  46. package/dist/cli/mcp/tool-results.js.map +1 -1
  47. package/dist/cli/telemetry/client.d.ts +16 -0
  48. package/dist/cli/telemetry/client.d.ts.map +1 -1
  49. package/dist/cli/telemetry/client.js +122 -5
  50. package/dist/cli/telemetry/client.js.map +1 -1
  51. package/dist/cli/telemetry/config.d.ts +14 -1
  52. package/dist/cli/telemetry/config.d.ts.map +1 -1
  53. package/dist/cli/telemetry/config.js +10 -0
  54. package/dist/cli/telemetry/config.js.map +1 -1
  55. package/dist/cli/telemetry/events.d.ts +35 -0
  56. package/dist/cli/telemetry/events.d.ts.map +1 -1
  57. package/dist/cli/telemetry/index.d.ts +1 -1
  58. package/dist/cli/telemetry/index.d.ts.map +1 -1
  59. package/dist/cli/telemetry/index.js +1 -1
  60. package/dist/cli/telemetry/index.js.map +1 -1
  61. package/dist/cli/telemetry/posthog-config.d.ts +21 -15
  62. package/dist/cli/telemetry/posthog-config.d.ts.map +1 -1
  63. package/dist/cli/telemetry/posthog-config.js +32 -21
  64. package/dist/cli/telemetry/posthog-config.js.map +1 -1
  65. package/dist/cli/telemetry/posthog-key.d.ts +18 -0
  66. package/dist/cli/telemetry/posthog-key.d.ts.map +1 -0
  67. package/dist/cli/telemetry/posthog-key.js +18 -0
  68. package/dist/cli/telemetry/posthog-key.js.map +1 -0
  69. package/dist/index.cjs +3427 -32330
  70. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"tool-results.js","sourceRoot":"","sources":["../../../src/cli/mcp/tool-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6EAA6E;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAOrD,2FAA2F;AAC3F,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,iBAAiB,GACrB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAClE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjE,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,oBAA6C,EAAE,OAAO,EAAE;IACnG,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAE,KAA+B,CAAC,OAAO,CAAC,CACvG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAA+B,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AAC1G,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,2BAA2B;IACzC,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,iBAAiB,EAAE;YACjB,KAAK,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE;SACzD;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tool-results.js","sourceRoot":"","sources":["../../../src/cli/mcp/tool-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6EAA6E;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAO5C,2FAA2F;AAC3F,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,iBAAiB,GACrB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAClE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjE,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,oBAA6C,EAAE,OAAO,EAAE;IACnG,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAE,KAA+B,CAAC,OAAO,CAAC,CACvG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAA+B,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AAC1G,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,2BAA2B;IACzC,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,iBAAiB,EAAE;YACjB,KAAK,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE;SACzD;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -1,8 +1,13 @@
1
1
  /**
2
2
  * PostHog telemetry client singleton.
3
3
  */
4
+ import { type CloudIdentity } from '@agent-relay/cloud/identity';
4
5
  import { getDistinctId } from './config.js';
5
6
  import type { CommonProperties, TelemetryEventName, TelemetryEventMap } from './events.js';
7
+ /** PostHog group type for cloud organizations. Keep in sync with the gateway. */
8
+ export declare const ORGANIZATION_GROUP_TYPE = "organization";
9
+ /** Env var carrying the hashed machine id to child processes. */
10
+ export declare const MACHINE_ID_ENV = "AGENT_RELAY_MACHINE_ID";
6
11
  export interface InitTelemetryOptions {
7
12
  /** Whether to show the first-run telemetry notice. Default: true. */
8
13
  showNotice?: boolean;
@@ -22,6 +27,13 @@ export interface InitTelemetryOptions {
22
27
  surface?: string;
23
28
  /** Parent harness driving Agent Relay, if already detected by the caller. */
24
29
  orchestratorHarness?: string;
30
+ /**
31
+ * Signed-in cloud identity. Defaults to `resolveCloudIdentity()`, which reads
32
+ * the identity env vars a parent process published, then falls back to the
33
+ * on-disk identity written at `agent-relay cloud login`. Pass `null` to force
34
+ * anonymous attribution.
35
+ */
36
+ identity?: CloudIdentity | null;
25
37
  }
26
38
  export declare function initTelemetry(options?: InitTelemetryOptions): void;
27
39
  export declare function track<E extends TelemetryEventName>(event: E, properties?: TelemetryEventMap[E] & Partial<CommonProperties>): void;
@@ -33,5 +45,9 @@ export declare function getStatus(): {
33
45
  disabledByEnv: boolean;
34
46
  distinctId: string;
35
47
  notifiedAt: string | undefined;
48
+ userId?: string;
49
+ email?: string;
50
+ organizationId?: string;
51
+ organizationSlug?: string;
36
52
  };
37
53
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAEL,aAAa,EAKd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA6G3F,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,IAAI,CAuCtE;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,kBAAkB,EAChD,KAAK,EAAE,CAAC,EACR,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAC5D,IAAI,CAWN;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,wBAAgB,SAAS,IAAI;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAQA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,aAAa,EAOd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAK3F,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AAEtD,iEAAiE;AACjE,eAAO,MAAM,cAAc,2BAA2B,CAAC;AAmNvD,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,IAAI,CAoDtE;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,kBAAkB,EAChD,KAAK,EAAE,CAAC,EACR,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAC5D,IAAI,CAYN;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAc9C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,wBAAgB,SAAS,IAAI;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAcA"}
@@ -6,12 +6,19 @@ import os from 'node:os';
6
6
  import fs from 'node:fs';
7
7
  import path from 'node:path';
8
8
  import { fileURLToPath } from 'node:url';
9
- import { isTelemetryEnabled, getDistinctId, wasNotified, markNotified, isDisabledByEnv, loadPrefs, } from './config.js';
9
+ import { cloudIdentityFingerprint, resolveCloudIdentity, } from '@agent-relay/cloud/identity';
10
+ import { isTelemetryEnabled, getDistinctId, getIdentifiedFingerprint, markIdentified, wasNotified, markNotified, isDisabledByEnv, loadPrefs, } from './config.js';
11
+ import { createDistinctId } from './machine-id.js';
10
12
  import { getPostHogConfig } from './posthog-config.js';
11
13
  import { detectOrchestratorHarness, UNKNOWN_ORCHESTRATOR_HARNESS } from './orchestrator-harness.js';
14
+ /** PostHog group type for cloud organizations. Keep in sync with the gateway. */
15
+ export const ORGANIZATION_GROUP_TYPE = 'organization';
16
+ /** Env var carrying the hashed machine id to child processes. */
17
+ export const MACHINE_ID_ENV = 'AGENT_RELAY_MACHINE_ID';
12
18
  let client = null;
13
19
  let commonProps = null;
14
20
  let distinctId = null;
21
+ let groups = null;
15
22
  let initialized = false;
16
23
  let firstRunDetected = false;
17
24
  function findPackageJson(startDir) {
@@ -46,7 +53,7 @@ function getFallbackVersion() {
46
53
  }
47
54
  return 'unknown';
48
55
  }
49
- function buildCommonProperties(versions) {
56
+ function buildCommonProperties(versions, identity) {
50
57
  // The primary version depends on who's emitting: prefer CLI > broker > SDK
51
58
  // > fallback. This keeps `agent_relay_version` meaningful for existing
52
59
  // dashboards while the typed `cli_version`/`sdk_version`/`broker_version`
@@ -78,8 +85,103 @@ function buildCommonProperties(versions) {
78
85
  os_version: os.release(),
79
86
  node_version: process.version.slice(1),
80
87
  arch: process.arch,
88
+ ...identityProperties(identity),
81
89
  };
82
90
  }
91
+ /**
92
+ * Identity dimensions attached to every event. The email is deliberately absent
93
+ * — it belongs on the PostHog *person*, set once by {@link announceIdentity}.
94
+ *
95
+ * `machine_id` is emitted whether or not anyone is signed in: the distinct id
96
+ * becomes the user id after login, so the machine dimension only survives as its
97
+ * own property. That is what makes machines-per-account and accounts-per-machine
98
+ * answerable.
99
+ */
100
+ function identityProperties(identity) {
101
+ const machineId = safeMachineId();
102
+ const base = machineId ? { machine_id: machineId } : {};
103
+ if (!identity)
104
+ return { ...base, is_authenticated: false };
105
+ return {
106
+ ...base,
107
+ is_authenticated: true,
108
+ user_id: identity.userId,
109
+ ...(identity.organizationId ? { organization_id: identity.organizationId } : {}),
110
+ ...(identity.organizationSlug ? { organization_slug: identity.organizationSlug } : {}),
111
+ ...(identity.workspaceId ? { cloud_workspace_id: identity.workspaceId } : {}),
112
+ };
113
+ }
114
+ /**
115
+ * The hashed machine id, preferring a value a parent process already published
116
+ * so every process in one CLI invocation reports the same machine.
117
+ */
118
+ function safeMachineId() {
119
+ try {
120
+ return process.env[MACHINE_ID_ENV]?.trim() || createDistinctId();
121
+ }
122
+ catch {
123
+ return undefined;
124
+ }
125
+ }
126
+ /**
127
+ * Announce the signed-in user (and their org) to PostHog.
128
+ *
129
+ * Two things happen the first time we see a given identity, and only then:
130
+ *
131
+ * - `alias` folds the machine's anonymous distinct id into the user id, so the
132
+ * events emitted before login aren't stranded on a separate person. Without
133
+ * it, "how many users tried the CLI then signed up" is unanswerable.
134
+ * - `identify` / `groupIdentify` set person and group properties. Email lives
135
+ * here — as a person property — not on individual events.
136
+ *
137
+ * Repeated on org switch or email change (the fingerprint covers both), skipped
138
+ * otherwise so we don't emit two extra events on every CLI invocation.
139
+ */
140
+ function announceIdentity(posthog, identity, machineDistinctId) {
141
+ const fingerprint = cloudIdentityFingerprint(identity);
142
+ if (!fingerprint || fingerprint === getIdentifiedFingerprint())
143
+ return;
144
+ try {
145
+ if (machineDistinctId && machineDistinctId !== identity.userId) {
146
+ posthog.alias({ distinctId: identity.userId, alias: machineDistinctId });
147
+ }
148
+ posthog.identify({
149
+ distinctId: identity.userId,
150
+ properties: {
151
+ ...(identity.email ? { email: identity.email } : {}),
152
+ ...(identity.name ? { name: identity.name } : {}),
153
+ ...(identity.organizationId ? { organization_id: identity.organizationId } : {}),
154
+ ...(identity.organizationSlug ? { organization_slug: identity.organizationSlug } : {}),
155
+ ...(identity.organizationName ? { organization_name: identity.organizationName } : {}),
156
+ ...(identity.organizationRole ? { organization_role: identity.organizationRole } : {}),
157
+ cloud_api_url: identity.apiUrl,
158
+ },
159
+ });
160
+ if (identity.organizationId) {
161
+ posthog.groupIdentify({
162
+ groupType: ORGANIZATION_GROUP_TYPE,
163
+ groupKey: identity.organizationId,
164
+ properties: {
165
+ ...(identity.organizationName ? { name: identity.organizationName } : {}),
166
+ ...(identity.organizationSlug ? { slug: identity.organizationSlug } : {}),
167
+ },
168
+ });
169
+ }
170
+ markIdentified(fingerprint);
171
+ }
172
+ catch {
173
+ // Telemetry must never break the CLI.
174
+ }
175
+ }
176
+ /** Identity resolution touches the filesystem — never let it break telemetry. */
177
+ function safeResolveCloudIdentity() {
178
+ try {
179
+ return resolveCloudIdentity();
180
+ }
181
+ catch {
182
+ return null;
183
+ }
184
+ }
83
185
  function showFirstRunNotice() {
84
186
  if (wasNotified())
85
187
  return;
@@ -115,6 +217,7 @@ export function initTelemetry(options = {}) {
115
217
  flushInterval: 10000,
116
218
  disableGeoip: false, // CLI runs on user's machine, so IP is correct for geo
117
219
  });
220
+ const identity = options.identity === undefined ? safeResolveCloudIdentity() : options.identity;
118
221
  commonProps = buildCommonProperties({
119
222
  cliVersion: options.cliVersion,
120
223
  sdkVersion: options.sdkVersion,
@@ -122,8 +225,14 @@ export function initTelemetry(options = {}) {
122
225
  app: options.app,
123
226
  surface: options.surface,
124
227
  orchestratorHarness: options.orchestratorHarness,
125
- });
126
- distinctId = getDistinctId();
228
+ }, identity);
229
+ const machineDistinctId = getDistinctId();
230
+ // A signed-in user is the person; the machine hash is only a fallback.
231
+ distinctId = identity?.userId ?? machineDistinctId;
232
+ groups = identity?.organizationId ? { [ORGANIZATION_GROUP_TYPE]: identity.organizationId } : null;
233
+ if (identity) {
234
+ announceIdentity(client, identity, machineDistinctId);
235
+ }
127
236
  if (firstRunDetected) {
128
237
  track('cli_install', {
129
238
  version: commonProps.cli_version ?? commonProps.agent_relay_version,
@@ -142,6 +251,7 @@ export function track(event, properties) {
142
251
  ...commonProps,
143
252
  ...properties,
144
253
  },
254
+ ...(groups ? { groups } : {}),
145
255
  });
146
256
  }
147
257
  export async function shutdown() {
@@ -157,6 +267,7 @@ export async function shutdown() {
157
267
  client = null;
158
268
  commonProps = null;
159
269
  distinctId = null;
270
+ groups = null;
160
271
  initialized = false;
161
272
  }
162
273
  }
@@ -166,11 +277,17 @@ export function isEnabled() {
166
277
  export { getDistinctId };
167
278
  export function getStatus() {
168
279
  const prefs = loadPrefs();
280
+ const identity = safeResolveCloudIdentity();
169
281
  return {
170
282
  enabled: isTelemetryEnabled(),
171
283
  disabledByEnv: isDisabledByEnv(),
172
- distinctId: prefs.distinctId,
284
+ // Report the id events will actually carry, not just the machine hash.
285
+ distinctId: identity?.userId ?? prefs.distinctId,
173
286
  notifiedAt: prefs.notifiedAt,
287
+ ...(identity ? { userId: identity.userId } : {}),
288
+ ...(identity?.email ? { email: identity.email } : {}),
289
+ ...(identity?.organizationId ? { organizationId: identity.organizationId } : {}),
290
+ ...(identity?.organizationSlug ? { organizationSlug: identity.organizationSlug } : {}),
174
291
  };
175
292
  }
176
293
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/cli/telemetry/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/cli/telemetry/client.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,18 @@ export interface TelemetryPrefs {
6
6
  enabled: boolean;
7
7
  /** ISO timestamp when user was shown the first-run notice */
8
8
  notifiedAt?: string;
9
- /** Stable hashed machine identifier used as the PostHog distinctId. */
9
+ /**
10
+ * Stable hashed machine identifier. Used as the PostHog distinctId for
11
+ * anonymous runs, and as the alias merged into the cloud user id once the
12
+ * operator logs in.
13
+ */
10
14
  distinctId: string;
15
+ /**
16
+ * Fingerprint of the cloud identity we last sent `$identify` /
17
+ * `$groupidentify` for. Lets us re-issue them when the user switches org (or
18
+ * their email changes) while skipping them on every other run.
19
+ */
20
+ identifiedFingerprint?: string;
11
21
  }
12
22
  export declare function getPrefsPath(): string;
13
23
  export declare function loadPrefs(): TelemetryPrefs;
@@ -26,4 +36,7 @@ export declare function disableTelemetry(): void;
26
36
  export declare function markNotified(): void;
27
37
  export declare function wasNotified(): boolean;
28
38
  export declare function getDistinctId(): string;
39
+ /** Fingerprint of the last cloud identity we announced to PostHog, if any. */
40
+ export declare function getIdentifiedFingerprint(): string | undefined;
41
+ export declare function markIdentified(fingerprint: string): void;
29
42
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,wBAAgB,SAAS,IAAI,cAAc,CA4B1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAWrD;AAMD,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAK5C;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAInC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAID,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,wBAAgB,SAAS,IAAI,cAAc,CA6B1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAWrD;AAMD,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAK5C;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAInC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,SAAS,CAE7D;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAIxD"}
@@ -20,6 +20,7 @@ export function loadPrefs() {
20
20
  enabled: prefs.enabled ?? true,
21
21
  notifiedAt: prefs.notifiedAt,
22
22
  distinctId,
23
+ ...(prefs.identifiedFingerprint ? { identifiedFingerprint: prefs.identifiedFingerprint } : {}),
23
24
  };
24
25
  if (prefs.distinctId !== distinctId || prefs.anonymousId !== undefined) {
25
26
  savePrefs(normalized);
@@ -87,4 +88,13 @@ export function wasNotified() {
87
88
  export function getDistinctId() {
88
89
  return loadPrefs().distinctId;
89
90
  }
91
+ /** Fingerprint of the last cloud identity we announced to PostHog, if any. */
92
+ export function getIdentifiedFingerprint() {
93
+ return loadPrefs().identifiedFingerprint;
94
+ }
95
+ export function markIdentified(fingerprint) {
96
+ const prefs = loadPrefs();
97
+ prefs.identifiedFingerprint = fingerprint;
98
+ savePrefs(prefs);
99
+ }
90
100
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/telemetry/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAanD,MAAM,UAAU,YAAY;IAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;IACvG,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC;YAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,IAAI,gBAAgB,EAAE,CAAC;YAC/E,MAAM,UAAU,GAAmB;gBACjC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU;aACX,CAAC;YAEF,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACvE,SAAS,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,gBAAgB,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,oDAAoD;QACpD,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,OAAO,KAAK,KAAK,GAAG,IAAI,KAAK,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC1G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,EAAE,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,SAAS,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,KAAK,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,SAAS,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,SAAS,EAAE,CAAC,UAAU,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/telemetry/config.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,41 @@ export interface CommonProperties {
80
80
  node_version?: string;
81
81
  /** CPU architecture (e.g., arm64, x64) */
82
82
  arch: string;
83
+ /**
84
+ * Hashed machine identifier, on **every** event regardless of whether anyone
85
+ * is signed in.
86
+ *
87
+ * This is deliberately separate from the PostHog distinct id. Once a user logs
88
+ * in, the distinct id becomes their cloud user id — so without a standalone
89
+ * property the machine dimension would vanish exactly when it gets
90
+ * interesting. Keeping both lets us ask:
91
+ * - how many machines does one account run on (`machine_id` per `user_id`)
92
+ * - how many accounts share one machine (`user_id` per `machine_id`)
93
+ * - how many machines share one workspace (see relaycast's
94
+ * `actor_machine_id` alongside `workspace_id`)
95
+ *
96
+ * Derived as a SHA-256 prefix of the local machine id, so it carries no
97
+ * hostname and is stable across the CLI, broker, and MCP processes.
98
+ */
99
+ machine_id?: string;
100
+ /**
101
+ * Cloud user id of the signed-in operator, when `agent-relay cloud login` has
102
+ * run on this machine. Absent for anonymous (not-logged-in) usage, where the
103
+ * hashed machine id remains the only identity.
104
+ *
105
+ * Never put the user's email in event properties — it is set once as a PostHog
106
+ * *person* property by `$identify` (see `client.ts`), which is where PII
107
+ * belongs and where PostHog surfaces it in the UI.
108
+ */
109
+ user_id?: string;
110
+ /** Agent Relay Cloud workspace id the operator is currently active in. */
111
+ cloud_workspace_id?: string;
112
+ /** Cloud organization id of the signed-in operator, when known. */
113
+ organization_id?: string;
114
+ /** Human-readable org slug, for breakdowns that shouldn't show opaque ids. */
115
+ organization_slug?: string;
116
+ /** Whether this event came from a signed-in cloud user. */
117
+ is_authenticated?: boolean;
83
118
  }
84
119
  /**
85
120
  * broker_start - Emitted when the broker starts.
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/events.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * CLI telemetry internals - usage analytics (opt-out via env or CLI)
3
3
  */
4
- export { initTelemetry, track, shutdown, isEnabled, getDistinctId, getStatus, type InitTelemetryOptions, } from './client.js';
4
+ export { MACHINE_ID_ENV, ORGANIZATION_GROUP_TYPE, initTelemetry, track, shutdown, isEnabled, getDistinctId, getStatus, type InitTelemetryOptions, } from './client.js';
5
5
  export { isTelemetryEnabled, enableTelemetry, disableTelemetry, wasNotified, markNotified, loadPrefs, savePrefs, getPrefsPath, isDisabledByEnv, type TelemetryPrefs, } from './config.js';
6
6
  export type { CommonProperties, ActionSource, TelemetryApp, TelemetrySurface, ReleaseReason, WorkflowFileType, BrokerStartEvent, BrokerStopEvent, BrokerStartFailedEvent, AgentSpawnEvent, AgentReleaseEvent, AgentCrashEvent, BrokerPanicEvent, MessageSendEvent, CliCommandRunEvent, CliCommandCompleteEvent, CliInstallEvent, CliUpdateEvent, AgentRelayToolCallCategory, AgentRelayToolCallType, AgentRelayToolCallEvent, WorkflowRunEvent, CloudAuthEvent, CloudWorkflowRunEvent, ProviderAuthEvent, SetupInitEvent, SwarmRunEvent, BridgeSpawnEvent, TelemetryEventName, TelemetryEventMap, } from './events.js';
7
7
  export { loadMachineId, createDistinctId, getMachineIdPath } from './machine-id.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,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,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,sBAAsB,EACtB,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,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,gCAAgC,EACrC,KAAK,WAAW,GACjB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,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,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,sBAAsB,EACtB,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,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,gCAAgC,EACrC,KAAK,WAAW,GACjB,MAAM,2BAA2B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * CLI telemetry internals - usage analytics (opt-out via env or CLI)
3
3
  */
4
- export { initTelemetry, track, shutdown, isEnabled, getDistinctId, getStatus, } from './client.js';
4
+ export { MACHINE_ID_ENV, ORGANIZATION_GROUP_TYPE, initTelemetry, track, shutdown, isEnabled, getDistinctId, getStatus, } from './client.js';
5
5
  export { isTelemetryEnabled, enableTelemetry, disableTelemetry, wasNotified, markNotified, loadPrefs, savePrefs, getPrefsPath, isDisabledByEnv, } from './config.js';
6
6
  export { loadMachineId, createDistinctId, getMachineIdPath } from './machine-id.js';
7
7
  export { ORCHESTRATOR_HARNESS_ENV, UNKNOWN_ORCHESTRATOR_HARNESS, detectOrchestratorHarness, inferHarnessFromCommand, sanitizeOrchestratorHarness, } from './orchestrator-harness.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,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;AAmCrB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,GAG5B,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,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;AAmCrB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,GAG5B,MAAM,2BAA2B,CAAC"}
@@ -1,22 +1,28 @@
1
1
  /**
2
2
  * PostHog configuration.
3
3
  *
4
- * Environment variables (read at runtime):
5
- * AGENT_RELAY_POSTHOG_KEY - PostHog write key. Set by published-artifact
6
- * builds via GitHub Actions secret. When unset,
7
- * telemetry runs as a no-op so forks, local dev,
8
- * and CI test runs don't pollute the production
9
- * project.
10
- * POSTHOG_API_KEY - Per-process override (mainly for local
11
- * debugging or staging). Wins over
12
- * `AGENT_RELAY_POSTHOG_KEY` when set.
13
- * POSTHOG_HOST - Override host URL. Defaults to the hosted
14
- * Agent Relay ingestion proxy.
15
- *
16
4
  * Key selection order:
17
- * 1. POSTHOG_API_KEY (process override, any environment)
18
- * 2. AGENT_RELAY_POSTHOG_KEY (release-time injection)
19
- * 3. None returns `null` and `initTelemetry()` becomes a no-op.
5
+ * 1. `POSTHOG_API_KEY` — per-process override (local debugging,
6
+ * staging swaps). Wins everywhere.
7
+ * 2. `AGENT_RELAY_POSTHOG_KEY` runtime env, and the name the bun standalone
8
+ * build substitutes via `--define`.
9
+ * 3. `BUILD_TIME_POSTHOG_KEY` — baked into the published npm tarball by
10
+ * `scripts/inject-posthog-key.mjs`.
11
+ * 4. None → returns `null` and `initTelemetry()` becomes a no-op, which is
12
+ * what forks, local dev, and CI runs get.
13
+ *
14
+ * `POSTHOG_HOST` overrides the ingestion host; it defaults to the hosted Agent
15
+ * Relay proxy.
16
+ *
17
+ * ## The env reads must stay literal
18
+ *
19
+ * These MUST remain static `process.env.NAME` member expressions. The bun
20
+ * `--define` used for the standalone binary performs a *syntactic* substitution
21
+ * of exactly `process.env.AGENT_RELAY_POSTHOG_KEY`; a computed lookup such as
22
+ * `process.env[name]` is a different expression and is silently left alone. An
23
+ * earlier `readKey(name: string)` helper did exactly that, so every standalone
24
+ * binary shipped with telemetry permanently disabled even though the define was
25
+ * present in the release workflow. Do not refactor these back behind a variable.
20
26
  */
21
27
  export declare function getPostHogConfig(): {
22
28
  apiKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"posthog-config.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/posthog-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,wBAAgB,gBAAgB,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiB1E"}
1
+ {"version":3,"file":"posthog-config.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/posthog-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAYH,wBAAgB,gBAAgB,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAuB1E"}
@@ -1,26 +1,32 @@
1
1
  /**
2
2
  * PostHog configuration.
3
3
  *
4
- * Environment variables (read at runtime):
5
- * AGENT_RELAY_POSTHOG_KEY - PostHog write key. Set by published-artifact
6
- * builds via GitHub Actions secret. When unset,
7
- * telemetry runs as a no-op so forks, local dev,
8
- * and CI test runs don't pollute the production
9
- * project.
10
- * POSTHOG_API_KEY - Per-process override (mainly for local
11
- * debugging or staging). Wins over
12
- * `AGENT_RELAY_POSTHOG_KEY` when set.
13
- * POSTHOG_HOST - Override host URL. Defaults to the hosted
14
- * Agent Relay ingestion proxy.
15
- *
16
4
  * Key selection order:
17
- * 1. POSTHOG_API_KEY (process override, any environment)
18
- * 2. AGENT_RELAY_POSTHOG_KEY (release-time injection)
19
- * 3. None returns `null` and `initTelemetry()` becomes a no-op.
5
+ * 1. `POSTHOG_API_KEY` — per-process override (local debugging,
6
+ * staging swaps). Wins everywhere.
7
+ * 2. `AGENT_RELAY_POSTHOG_KEY` runtime env, and the name the bun standalone
8
+ * build substitutes via `--define`.
9
+ * 3. `BUILD_TIME_POSTHOG_KEY` — baked into the published npm tarball by
10
+ * `scripts/inject-posthog-key.mjs`.
11
+ * 4. None → returns `null` and `initTelemetry()` becomes a no-op, which is
12
+ * what forks, local dev, and CI runs get.
13
+ *
14
+ * `POSTHOG_HOST` overrides the ingestion host; it defaults to the hosted Agent
15
+ * Relay proxy.
16
+ *
17
+ * ## The env reads must stay literal
18
+ *
19
+ * These MUST remain static `process.env.NAME` member expressions. The bun
20
+ * `--define` used for the standalone binary performs a *syntactic* substitution
21
+ * of exactly `process.env.AGENT_RELAY_POSTHOG_KEY`; a computed lookup such as
22
+ * `process.env[name]` is a different expression and is silently left alone. An
23
+ * earlier `readKey(name: string)` helper did exactly that, so every standalone
24
+ * binary shipped with telemetry permanently disabled even though the define was
25
+ * present in the release workflow. Do not refactor these back behind a variable.
20
26
  */
27
+ import { BUILD_TIME_POSTHOG_KEY } from './posthog-key.js';
21
28
  const HOST = 'https://i.agentrelay.com';
22
- function readKey(name) {
23
- const raw = process.env[name];
29
+ function nonEmpty(raw) {
24
30
  if (!raw)
25
31
  return null;
26
32
  const trimmed = raw.trim();
@@ -29,13 +35,18 @@ function readKey(name) {
29
35
  export function getPostHogConfig() {
30
36
  const host = process.env.POSTHOG_HOST || HOST;
31
37
  // Process-level override wins for local debugging / staging swaps.
32
- const override = readKey('POSTHOG_API_KEY');
38
+ const override = nonEmpty(process.env.POSTHOG_API_KEY);
33
39
  if (override) {
34
40
  return { apiKey: override, host };
35
41
  }
36
- // Release-time injection. CI for forks / dev / tests leaves this unset,
37
- // which intentionally turns telemetry into a no-op.
38
- const baked = readKey('AGENT_RELAY_POSTHOG_KEY');
42
+ // Runtime env, and the bun standalone's `--define` target. Literal access
43
+ // see the module comment.
44
+ const injected = nonEmpty(process.env.AGENT_RELAY_POSTHOG_KEY);
45
+ if (injected) {
46
+ return { apiKey: injected, host };
47
+ }
48
+ // Baked into the published npm artifact at release time.
49
+ const baked = nonEmpty(BUILD_TIME_POSTHOG_KEY);
39
50
  if (baked) {
40
51
  return { apiKey: baked, host };
41
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"posthog-config.js","sourceRoot":"","sources":["../../../src/cli/telemetry/posthog-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,IAAI,GAAG,0BAA0B,CAAC;AAExC,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC;IAE9C,mEAAmE;IACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,wEAAwE;IACxE,oDAAoD;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACjD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"posthog-config.js","sourceRoot":"","sources":["../../../src/cli/telemetry/posthog-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,IAAI,GAAG,0BAA0B,CAAC;AAExC,SAAS,QAAQ,CAAC,GAAuB;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC;IAE9C,mEAAmE;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,4EAA4E;IAC5E,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,yDAAyD;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAC/C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Build-time PostHog write key.
3
+ *
4
+ * The published npm package is plain `tsc` output — there is no bundler step
5
+ * that could inline an env var, and `npm publish --ignore-scripts` rules out a
6
+ * prepublish hook. So the release pipeline rewrites the *compiled* form of this
7
+ * module (`scripts/inject-posthog-key.mjs`) after `npm run build`, and the value
8
+ * ships inside the tarball.
9
+ *
10
+ * The key is a PostHog project ingest key: write-only and public by design, the
11
+ * same category as a Sentry DSN. The Rust broker already ships one via
12
+ * `option_env!`; this is the TypeScript equivalent.
13
+ *
14
+ * Empty here is the correct default — forks, local dev, and CI builds that never
15
+ * run the injection step ship with telemetry disabled.
16
+ */
17
+ export declare const BUILD_TIME_POSTHOG_KEY = "";
18
+ //# sourceMappingURL=posthog-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posthog-key.d.ts","sourceRoot":"","sources":["../../../src/cli/telemetry/posthog-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC"}