@aligndottech/cli 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,12 +12,20 @@ can tell what still stands, what conflicts, or why. Align pulls them into one gr
12
12
  check before they build.
13
13
 
14
14
  ```bash
15
- npm install -g @aligndottech/cli
15
+ curl -fsSL https://raw.githubusercontent.com/aligndottech/align-cli/main/install.sh | sh
16
16
  align setup --local
17
17
  align ask "why do we use postgres"
18
18
  ```
19
19
 
20
- Node 20+. MIT. No account needed. Beta, pre-1.0.
20
+ A standalone binary. No Node, no npm, nothing else to install, and local-only mode works
21
+ fully - on-device embeddings included, running on a WASM backend bundled inside the binary.
22
+ Linux, macOS and Windows, x64 and arm64, glibc and musl. Verified against the release's own
23
+ checksums, and you can read [install.sh](install.sh) before you pipe it anywhere.
24
+
25
+ Prefer npm, or already have Node? `npm install -g @aligndottech/cli` (Node 22.16+).
26
+ Binaries for every platform are on the [releases page](https://github.com/aligndottech/align-cli/releases/latest).
27
+
28
+ MIT. No account needed. Beta, pre-1.0.
21
29
 
22
30
  Run it inside a git repository. `--local` seeds the graph from your commit history, so you have
23
31
  something to ask about straight away, and your decisions stay in a SQLite file on your machine.
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AA4QnE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE1E;AAyJD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8C3D"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AA6QnE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE1E;AA8JD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8C3D"}
@@ -14,6 +14,7 @@ import { loginInteractive } from '../lib/login-flow.js';
14
14
  import { resolveAppUrl } from '../lib/env-resolver.js';
15
15
  import { collectTokensViaOAuth, oauthFlowLabel } from '../lib/personal-oauth.js';
16
16
  import { isAuthExpiry } from '../lib/errors.js';
17
+ import { maybeRequestTelemetryConsent } from '../lib/telemetry-consent.js';
17
18
  const TIER_ORDER = { personal: 0, site: 1, workspace: 2 };
18
19
  // How many connectors import concurrently after auth. Each import is itself
19
20
  // batch-parallel (runPersonalImport), so this bounds total gateway load.
@@ -251,6 +252,11 @@ function writeAgentAlignment(envName) {
251
252
  // privacy/offline escape hatch; the default solo experience is a personal
252
253
  // cloud tenant (see the cloud path below).
253
254
  async function runLocalSetup() {
255
+ // Without a TTY neither prompt below can work: a piped stdin hangs forever and a closed
256
+ // stdin crashes clack's raw-mode init (uv_tty_init EINVAL) AFTER local setup has already
257
+ // succeeded (align-cli#118). Computed once, up front, and reused by both prompts in this
258
+ // function so a scripted `setup --local` never blocks on either of them.
259
+ const interactive = process.stdin.isTTY && process.stdout.isTTY;
254
260
  const { dbPath } = await initLocalMode({ quiet: false });
255
261
  p.log.success('Local graph ready - no account needed, your data stays on this machine.');
256
262
  // Deterministic auto-alignment files target the local graph (advisory check runs --env local).
@@ -258,6 +264,10 @@ async function runLocalSetup() {
258
264
  const config = createConfigStore();
259
265
  const localEnv = config.getEnvironment('local');
260
266
  const localClient = createGatewayClient(localEnv);
267
+ // ALI-618: one-time, never asked again once answered. Local mode has no account, so consent
268
+ // is the only thing that can ever turn this on - see usage-telemetry.ts's local-embedded
269
+ // branch, which reads this same stored decision.
270
+ await maybeRequestTelemetryConsent(config, Boolean(interactive));
261
271
  if (await isGitRepo()) {
262
272
  console.log('');
263
273
  p.log.info(chalk.dim('First import downloads a local embedding model (~23MB, from huggingface.co), one time.'));
@@ -300,13 +310,7 @@ async function runLocalSetup() {
300
310
  .filter((s) => s.id !== 'git' && s.tokenLabel)
301
311
  .sort((a, b) => TIER_ORDER[a.tier ?? 'personal'] - TIER_ORDER[b.tier ?? 'personal']);
302
312
  console.log('');
303
- // Without a TTY this prompt cannot work: a piped stdin hangs on it forever
304
- // and a closed stdin crashes clack's raw-mode init (uv_tty_init EINVAL) -
305
- // AFTER local setup has already succeeded, so the exit code reports failure
306
- // for work that worked. Both streams must be TTYs: with stdout redirected
307
- // (`setup --local > log`) the prompt renders invisibly and waits on input
308
- // the user cannot see. Scripted runs skip the optional prompt instead.
309
- const interactive = process.stdin.isTTY && process.stdout.isTTY;
313
+ // `interactive` computed once, at the top of this function - see the comment there.
310
314
  const selected = interactive
311
315
  ? await p.multiselect({
312
316
  message: 'Connect more sources with a read-only token? (skip to finish)',
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * ALI-618: `align telemetry on|off|status`. `on`/`off` set the LOCAL consent decision - the
4
+ * cloud opt-out default is controlled by ALIGN_TELEMETRY, not by this command, and `status`
5
+ * says which model applies (see usage-telemetry.ts's getTelemetryStatus).
6
+ */
7
+ export declare function registerTelemetryCommand(program: Command): void;
8
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/commands/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC/D"}
@@ -0,0 +1,43 @@
1
+ import chalk from 'chalk';
2
+ import { createConfigStore } from '../lib/config.js';
3
+ import { getTelemetryStatus } from '../lib/usage-telemetry.js';
4
+ /**
5
+ * ALI-618: `align telemetry on|off|status`. `on`/`off` set the LOCAL consent decision - the
6
+ * cloud opt-out default is controlled by ALIGN_TELEMETRY, not by this command, and `status`
7
+ * says which model applies (see usage-telemetry.ts's getTelemetryStatus).
8
+ */
9
+ export function registerTelemetryCommand(program) {
10
+ const telemetry = program
11
+ .command('telemetry')
12
+ .description('Manage anonymous usage telemetry consent for local-only mode');
13
+ telemetry
14
+ .command('on')
15
+ .description('Opt in to anonymous usage pings in local-only mode')
16
+ .action(() => {
17
+ createConfigStore().setTelemetryConsent('granted');
18
+ console.log(chalk.green('Telemetry on.'));
19
+ console.log(chalk.dim('Anonymous command names will be sent in local-only mode. No code, no decisions, ever.'));
20
+ });
21
+ telemetry
22
+ .command('off')
23
+ .description('Opt out of anonymous usage pings in local-only mode')
24
+ .action(() => {
25
+ createConfigStore().setTelemetryConsent('declined');
26
+ console.log(chalk.green('Telemetry off.'));
27
+ });
28
+ telemetry
29
+ .command('status')
30
+ .description('Show the effective telemetry state and why')
31
+ .action(async () => {
32
+ const config = createConfigStore();
33
+ const { resolveEnv } = await import('../lib/resolve-env.js');
34
+ // preferLocalEmbedded: true, or a never-logged-in local-only user (defaultEnv stays
35
+ // 'prod' by design, ALI-87) sees "cloud mode, opt-out default" here regardless of their
36
+ // actual local consent - the exact honesty gap this command exists to close. A
37
+ // fresh-context review caught this.
38
+ const env = config.getEnvironment(resolveEnv(undefined, { preferLocalEmbedded: true }));
39
+ const status = getTelemetryStatus(env, config.getTelemetryConsent());
40
+ console.log(status.reason);
41
+ });
42
+ }
43
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/commands/telemetry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,8DAA8D,CAAC,CAAC;IAE/E,SAAS;SACN,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,GAAG,EAAE;QACX,iBAAiB,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,GAAG,EAAE;QACX,iBAAiB,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC7D,oFAAoF;QACpF,wFAAwF;QACxF,+EAA+E;QAC/E,oCAAoC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ import { registerDriftCommand } from './commands/drift.js';
19
19
  import { registerStatusCommand } from './commands/status.js';
20
20
  import { registerContextCommand } from './commands/context.js';
21
21
  import { registerEnvCommand } from './commands/env.js';
22
+ import { registerTelemetryCommand } from './commands/telemetry.js';
22
23
  import { registerAskCommand } from './commands/why.js';
23
24
  import { registerSetupCommand } from './commands/setup.js';
24
25
  import { registerExportCommand } from './commands/export.js';
@@ -44,9 +45,11 @@ program
44
45
  .name('align')
45
46
  .description('Align CLI - capture decisions, check alignment, and manage connectors')
46
47
  .version(version);
47
- // ALI-403: one usage event per invocation, cloud mode only, so CLI activation and weekly
48
- // retention are countable. No-ops in --local mode and under ALIGN_TELEMETRY=0. Runs after the
49
- // command's own work, so a slow or blackholed gateway cannot delay the output the user came for.
48
+ // ALI-403/ALI-618: one usage event per invocation, so CLI activation and weekly retention are
49
+ // countable in both cloud mode (opt-out) and local-embedded mode (opt-in, ALI-618 - a no-op
50
+ // until `align telemetry on` is run). No-op under ALIGN_TELEMETRY=0 in either mode. Runs after
51
+ // the command's own work, so a slow or blackholed gateway cannot delay the output the user came
52
+ // for.
50
53
  program.hook('postAction', async (_thisCommand, actionCommand) => {
51
54
  const { envFlagOf, recordInvocationUsage } = await import('./lib/usage-telemetry.js');
52
55
  // Full path ("local ask"), not the leaf name ("ask"), so recordCommandUsage can exclude the
@@ -62,6 +65,7 @@ program.hook('postAction', async (_thisCommand, actionCommand) => {
62
65
  });
63
66
  // Environment targeting
64
67
  registerEnvCommand(program);
68
+ registerTelemetryCommand(program);
65
69
  // Auth + onboarding
66
70
  registerLoginCommands(program);
67
71
  registerSetupCommand(program);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,18 @@ export interface EnvironmentConfig {
7
7
  mode: 'demo' | 'auth' | 'local-embedded';
8
8
  localDbPath?: string;
9
9
  }
10
+ /**
11
+ * ALI-618: local-embedded mode never makes an HTTP call for its own operations (it reads a
12
+ * local embedded DB - see gateway-client.ts's `createLocalGatewayClient` branch), so the
13
+ * `local` env's `gatewayUrl` above (`http://localhost:8080`) is a leftover from the unrelated
14
+ * self-hosted `demo` mode and nothing real listens there. The anonymous usage ping
15
+ * (usage-telemetry.ts) has to reach somewhere real regardless of which env resolved to
16
+ * local-embedded, so it targets this - Align's actual hosted API, same single source of truth
17
+ * as `DEFAULTS.prod.gatewayUrl` rather than a second literal of the same URL.
18
+ */
19
+ export declare const ALIGN_HOSTED_GATEWAY_URL: string;
20
+ /** ALI-618: local-only users have no account, so consent is stored on the machine, not the server. */
21
+ export type TelemetryConsent = 'granted' | 'declined';
10
22
  export declare function createConfigStore(): {
11
23
  getEnvironment(env: EnvName): EnvironmentConfig;
12
24
  setAuthToken(env: EnvName, token: string): void;
@@ -23,5 +35,8 @@ export declare function createConfigStore(): {
23
35
  setLocalMode(dbPath: string): void;
24
36
  clearLocalMode(): void;
25
37
  clear(env: EnvName): void;
38
+ getInstallId(): string;
39
+ getTelemetryConsent(): TelemetryConsent | undefined;
40
+ setTelemetryConsent(value: TelemetryConsent): void;
26
41
  };
27
42
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAQD,wBAAgB,iBAAiB;wBAST,OAAO,GAAG,iBAAiB;sBAc7B,OAAO,SAAS,MAAM;qBAIvB,OAAO,YAAY,MAAM;qBAIzB,MAAM;uBAIJ,OAAO;qBACT,OAAO;2BACD,OAAO,gBAAgB,MAAM,GAAG,MAAM,GAAG,IAAI;2BAI7C,OAAO,gBAAgB,MAAM,SAAS,MAAM;6BAI1C,OAAO,gBAAgB,MAAM,GAAG,MAAM,GAAG,IAAI;6BAI7C,OAAO,gBAAgB,MAAM,WAAW,MAAM;8BAI7C,OAAO,gBAAgB,MAAM,GAAG,MAAM,GAAG,IAAI;8BAI7C,OAAO,gBAAgB,MAAM,YAAY,MAAM;yBAIpD,MAAM;;eAWhB,OAAO;EAMrB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAQD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,QAA2B,CAAC;AAEjE,sGAAsG;AACtG,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtD,wBAAgB,iBAAiB;wBAeT,OAAO,GAAG,iBAAiB;sBAc7B,OAAO,SAAS,MAAM;qBAIvB,OAAO,YAAY,MAAM;qBAIzB,MAAM;uBAIJ,OAAO;qBACT,OAAO;2BACD,OAAO,gBAAgB,MAAM,GAAG,MAAM,GAAG,IAAI;2BAI7C,OAAO,gBAAgB,MAAM,SAAS,MAAM;6BAI1C,OAAO,gBAAgB,MAAM,GAAG,MAAM,GAAG,IAAI;6BAI7C,OAAO,gBAAgB,MAAM,WAAW,MAAM;8BAI7C,OAAO,gBAAgB,MAAM,GAAG,MAAM,GAAG,IAAI;8BAI7C,OAAO,gBAAgB,MAAM,YAAY,MAAM;yBAIpD,MAAM;;eAWhB,OAAO;oBAQF,MAAM;2BAOC,gBAAgB,GAAG,SAAS;+BAGxB,gBAAgB;EAI9C"}
@@ -1,9 +1,20 @@
1
1
  import Conf from 'conf';
2
+ import { randomUUID } from 'node:crypto';
2
3
  const DEFAULTS = {
3
4
  local: { gatewayUrl: 'http://localhost:8080', authToken: null, tenantId: null, mode: 'demo' },
4
5
  preview: { gatewayUrl: 'https://api.preview.align.tech', authToken: null, tenantId: null, mode: 'auth' },
5
6
  prod: { gatewayUrl: 'https://api.align.tech', authToken: null, tenantId: null, mode: 'auth' },
6
7
  };
8
+ /**
9
+ * ALI-618: local-embedded mode never makes an HTTP call for its own operations (it reads a
10
+ * local embedded DB - see gateway-client.ts's `createLocalGatewayClient` branch), so the
11
+ * `local` env's `gatewayUrl` above (`http://localhost:8080`) is a leftover from the unrelated
12
+ * self-hosted `demo` mode and nothing real listens there. The anonymous usage ping
13
+ * (usage-telemetry.ts) has to reach somewhere real regardless of which env resolved to
14
+ * local-embedded, so it targets this - Align's actual hosted API, same single source of truth
15
+ * as `DEFAULTS.prod.gatewayUrl` rather than a second literal of the same URL.
16
+ */
17
+ export const ALIGN_HOSTED_GATEWAY_URL = DEFAULTS.prod.gatewayUrl;
7
18
  export function createConfigStore() {
8
19
  const store = new Conf({
9
20
  projectName: 'align-cli',
@@ -79,6 +90,23 @@ export function createConfigStore() {
79
90
  const { [env]: _, ...rest } = envs;
80
91
  store.set('environments', rest);
81
92
  },
93
+ // ALI-618: global to the machine's install, not per-environment - unlike authToken/tenantId,
94
+ // an anonymous local-mode user has no account for either to belong to. Generated once and
95
+ // persisted, never derived from anything identifying (no hostname, no MAC address).
96
+ getInstallId() {
97
+ const existing = store.get('installId');
98
+ if (existing)
99
+ return existing;
100
+ const id = randomUUID();
101
+ store.set('installId', id);
102
+ return id;
103
+ },
104
+ getTelemetryConsent() {
105
+ return store.get('telemetryConsent');
106
+ },
107
+ setTelemetryConsent(value) {
108
+ store.set('telemetryConsent', value);
109
+ },
82
110
  };
83
111
  }
84
112
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type Distribution = 'npm' | 'binary';
2
+ export declare function alignDistribution(): Distribution;
3
+ //# sourceMappingURL=distribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/lib/distribution.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE5C,wBAAgB,iBAAiB,IAAI,YAAY,CAEhD"}
@@ -0,0 +1,4 @@
1
+ export function alignDistribution() {
2
+ return typeof __ALIGN_DIST__ !== 'undefined' && __ALIGN_DIST__ === 'binary' ? 'binary' : 'npm';
3
+ }
4
+ //# sourceMappingURL=distribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/lib/distribution.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,cAAc,KAAK,WAAW,IAAI,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AACjG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-db.d.ts","sourceRoot":"","sources":["../../src/lib/local-db.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AA2BD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAetE;AA2HD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM;IAaxC;;;;;;;;;;;OAWG;wBACiB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;qBAe1F,WAAW,EAAE;wBAMV,MAAM,GAAG,WAAW,GAAG,IAAI;6BAMtB,MAAM,aAAa,YAAY,GAAG,IAAI;6BAMtC,MAAM,GAAG,YAAY,GAAG,IAAI;wBAQjC,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,CAAC;IAU1E;;;;;;;;;OASG;qBACc;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;uBAQjF;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,EAAE;gBAQ7D,OAAO;eAQR,IAAI;aAIN,IAAI;EAIhB;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"local-db.d.ts","sourceRoot":"","sources":["../../src/lib/local-db.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AA2BD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAetE;AA2HD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM;IAexC;;;;;;;;;;;OAWG;wBACiB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;qBAe1F,WAAW,EAAE;wBAMV,MAAM,GAAG,WAAW,GAAG,IAAI;6BAMtB,MAAM,aAAa,YAAY,GAAG,IAAI;6BAMtC,MAAM,GAAG,YAAY,GAAG,IAAI;wBAQjC,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,CAAC;IAU1E;;;;;;;;;OASG;qBACc;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;uBAQjF;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,EAAE;gBAQ7D,OAAO;eAQR,IAAI;aAIN,IAAI;EAIhB;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import Database from 'better-sqlite3';
1
+ import { DatabaseSync } from 'node:sqlite';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { mkdirSync } from 'node:fs';
4
4
  import { dirname } from 'node:path';
@@ -95,7 +95,7 @@ export function identifyingSourceUrl(raw) {
95
95
  * moment anything writes one.
96
96
  */
97
97
  function migrate(db) {
98
- const version = db.pragma('user_version', { simple: true });
98
+ const version = db.prepare('PRAGMA user_version').get().user_version;
99
99
  if (version < 1) {
100
100
  db.exec(`UPDATE decision_links SET relation = 'relates' WHERE relation = 'conflicts_with'`);
101
101
  }
@@ -182,31 +182,33 @@ function migrate(db) {
182
182
  // Stamped INSIDE the transaction. Outside it, a process killed between COMMIT and the
183
183
  // pragma replays the version-1 relabel on the next open, which turns an adjudicated
184
184
  // conflicts_with edge into relates - the exact silent loss the docstring above warns of.
185
- db.pragma(`user_version = ${SCHEMA_VERSION}`);
185
+ db.exec(`PRAGMA user_version = ${SCHEMA_VERSION}`);
186
186
  db.exec('COMMIT');
187
187
  }
188
188
  catch (err) {
189
189
  // Guarded: SQLITE_FULL, IOERR, BUSY, NOMEM and INTERRUPT auto-roll-back, and an
190
190
  // unconditional ROLLBACK then throws "no transaction is active" and buries the real
191
191
  // cause - so a user whose disk filled mid-migration would be told the wrong thing.
192
- if (db.inTransaction)
192
+ if (db.isTransaction)
193
193
  db.exec('ROLLBACK');
194
194
  throw err;
195
195
  }
196
196
  }
197
197
  if (version < SCHEMA_VERSION) {
198
- db.pragma(`user_version = ${SCHEMA_VERSION}`);
198
+ db.exec(`PRAGMA user_version = ${SCHEMA_VERSION}`);
199
199
  }
200
200
  }
201
201
  export function createLocalDb(dbPath) {
202
- // better-sqlite3 creates the DB file but not its parent directory, so on a clean
203
- // machine (~/.config/align-cli absent) `align setup --local` crashed with "unable
204
- // to open database file". Create the directory first. ':memory:' has no parent.
202
+ // SQLite creates the DB file but not its parent directory, so on a clean machine
203
+ // (~/.config/align-cli absent) `align setup --local` crashed with "unable to open
204
+ // database file". Create the directory first. ':memory:' has no parent.
205
+ //
206
+ // Still true after the move off better-sqlite3: node:sqlite does not mkdir either.
205
207
  if (dbPath !== ':memory:') {
206
208
  mkdirSync(dirname(dbPath), { recursive: true });
207
209
  }
208
- const db = new Database(dbPath);
209
- db.pragma('journal_mode = WAL');
210
+ const db = new DatabaseSync(dbPath);
211
+ db.exec('PRAGMA journal_mode = WAL');
210
212
  db.exec(SCHEMA);
211
213
  migrate(db);
212
214
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"local-db.js","sourceRoot":"","sources":["../../src/lib/local-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-db.js","sourceRoot":"","sources":["../../src/lib/local-db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBd,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAkB;IACrD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,4EAA4E;QAC5E,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1F,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sFAAsF;QACtF,sFAAsF;IACxF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,OAAO,CAAC,EAAgB;IAC/B,MAAM,OAAO,GAAI,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAA+B,CAAC,YAAY,CAAC;IACnG,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,EAAE,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,4FAA4F;QAC5F,2FAA2F;QAC3F,4FAA4F;QAC5F,4FAA4F;QAC5F,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3B,IAAI,CAAC;YACH,uFAAuF;YACvF,0FAA0F;YAC1F,0FAA0F;YAC1F,wFAAwF;YACxF,EAAE;YACF,oFAAoF;YACpF,oFAAoF;YACpF,0FAA0F;YAC1F,0FAA0F;YAC1F,oCAAoC;YACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;OAaP,CAAC,CAAC;YACH,0FAA0F;YAC1F,oFAAoF;YACpF,EAAE,CAAC,IAAI,CAAC;;;;;;;OAOP,CAAC,CAAC;YACH,wFAAwF;YACxF,2FAA2F;YAC3F,wFAAwF;YACxF,EAAE,CAAC,IAAI,CAAC;;;;;OAKP,CAAC,CAAC;YACH,kFAAkF;YAClF,6EAA6E;YAC7E,EAAE,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;YAC/F,EAAE,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAC5E,EAAE,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YAChE,yFAAyF;YACzF,uFAAuF;YACvF,+EAA+E;YAC/E,EAAE;YACF,uFAAuF;YACvF,qFAAqF;YACrF,+EAA+E;YAC/E,EAAE,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;YAC3G,2FAA2F;YAC3F,qFAAqF;YACrF,EAAE;YACF,uFAAuF;YACvF,wFAAwF;YACxF,sFAAsF;YACtF,+EAA+E;YAC/E,EAAE,CAAC,IAAI,CAAC;;;;;;;;OAQP,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;YAC5H,sFAAsF;YACtF,oFAAoF;YACpF,yFAAyF;YACzF,EAAE,CAAC,IAAI,CAAC,yBAAyB,cAAc,EAAE,CAAC,CAAC;YACnD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gFAAgF;YAChF,oFAAoF;YACpF,mFAAmF;YACnF,IAAI,EAAE,CAAC,aAAa;gBAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IACD,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;QAC7B,EAAE,CAAC,IAAI,CAAC,yBAAyB,cAAc,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,iFAAiF;IACjF,kFAAkF;IAClF,wEAAwE;IACxE,EAAE;IACF,mFAAmF;IACnF,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACrC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO;QACL;;;;;;;;;;;WAWG;QACH,cAAc,CAAC,GAAmF;YAChG,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB;;sBAEc,CACf,CAAC,GAAG,CACH,UAAU,EAAE,EACZ,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,OAAO,EACX,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EACnC,GAAG,CAAC,QAAQ,CACK,CAAC;YACpB,OAAO,QAAQ,CAAC,EAAE,CAAC;QACrB,CAAC;QAED,aAAa;YACX,OAAO,EAAE,CAAC,OAAO,CACf,+HAA+H,CAChI,CAAC,GAAG,EAA8B,CAAC;QACtC,CAAC;QAED,eAAe,CAAC,EAAU;YACxB,OAAQ,EAAE,CAAC,OAAO,CAChB,mHAAmH,CACpH,CAAC,GAAG,CAAC,EAAE,CAAmC,IAAI,IAAI,CAAC;QACtD,CAAC;QAED,YAAY,CAAC,UAAkB,EAAE,SAAuB;YACtD,EAAE,CAAC,OAAO,CACR,mFAAmF,CACpF,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,YAAY,CAAC,UAAkB;YAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB,iEAAiE,CAClE,CAAC,GAAG,CAAC,UAAU,CAAqC,CAAC;YACtD,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACxG,CAAC;QAED,gBAAgB;YACd,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,wDAAwD,CACzD,CAAC,GAAG,EAA2D,CAAC;YACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,UAAU,EAAE,CAAC,CAAC,WAAW;gBACzB,SAAS,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;aACpG,CAAC,CAAC,CAAC;QACN,CAAC;QAED;;;;;;;;;WASG;QACH,UAAU,CAAC,IAAkF;YAC3F,EAAE,CAAC,OAAO,CACR;;2EAEmE,CACpE,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACpF,CAAC;QAED,SAAS,CAAC,MAAmD;YAC3D,IAAI,GAAG,GAAG,6GAA6G,CAAC;YACxH,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;gBAAC,GAAG,IAAI,mBAAmB,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;YACnF,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;gBAAC,GAAG,IAAI,uCAAuC,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAAC,CAAC;YAC9H,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAyB,CAAC;QAChE,CAAC;QAED,QAAQ;YACN,MAAM,SAAS,GAAI,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAAoB,CAAC,CAAC,CAAC;YAC/F,MAAM,UAAU,GAAI,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,EAAoB,CAAC,CAAC,CAAC;YAC1G,sFAAsF;YACtF,2EAA2E;YAC3E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QACnC,CAAC;QAED,OAAO;YACL,EAAE,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;QACjG,CAAC;QAED,KAAK;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,24 @@
1
+ type EmbeddingPipeline = (text: string, options: Record<string, unknown>) => Promise<Array<{
2
+ data: Float32Array;
3
+ }>>;
4
+ /**
5
+ * A backend that produces the pipeline, injected at the entry point.
6
+ *
7
+ * The standalone binary cannot use the default loader below: `@huggingface/transformers`
8
+ * resolves `onnxruntime-node`, and a compiled binary does not resolve bare specifiers for
9
+ * files outside itself - measured, and true whatever the on-disk layout (ALI-744). So the
10
+ * binary registers a WASM backend instead, from `src/index.bun.ts`.
11
+ *
12
+ * Injected rather than branched on `alignDistribution()` here, because the WASM module has
13
+ * to statically import two ORT assets so `bun build --compile` embeds them - and a static
14
+ * import of a `.wasm` is neither typecheckable by tsc nor loadable by Node. Keeping it
15
+ * behind a registration hook means npm's build never compiles or ships that file at all.
16
+ */
17
+ export type EmbeddingBackend = () => Promise<EmbeddingPipeline>;
18
+ export declare function setEmbeddingBackend(backend: EmbeddingBackend): void;
19
+ /** Test seam. Not for production paths - the binary registers exactly once, at startup. */
20
+ export declare function resetEmbeddingBackend(): void;
1
21
  export declare function getEmbedding(text: string): Promise<Float32Array>;
2
22
  export declare function cosineSimilarity(a: Float32Array, b: Float32Array): number;
23
+ export {};
3
24
  //# sourceMappingURL=local-embeddings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-embeddings.d.ts","sourceRoot":"","sources":["../../src/lib/local-embeddings.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA6CtE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAmBzE"}
1
+ {"version":3,"file":"local-embeddings.d.ts","sourceRoot":"","sources":["../../src/lib/local-embeddings.ts"],"names":[],"mappings":"AAEA,KAAK,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC,CAAC;AAGpH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAGhE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAGnE;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiEtE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAmBzE"}
@@ -1,5 +1,28 @@
1
+ import { alignDistribution } from './distribution.js';
1
2
  let _pipe = null;
3
+ let _backend = null;
4
+ export function setEmbeddingBackend(backend) {
5
+ _backend = backend;
6
+ _pipe = null; // a backend swapped after first use must not keep serving the old pipeline
7
+ }
8
+ /** Test seam. Not for production paths - the binary registers exactly once, at startup. */
9
+ export function resetEmbeddingBackend() {
10
+ _backend = null;
11
+ _pipe = null;
12
+ }
2
13
  export async function getEmbedding(text) {
14
+ if (!_pipe && _backend) {
15
+ try {
16
+ _pipe = await _backend();
17
+ }
18
+ catch (err) {
19
+ // Wrapped, because an unwrapped failure here reaches the user as a raw ORT or fetch
20
+ // error. The overwhelmingly likely cause is the one-time model download, so say that.
21
+ throw new Error('Could not start the on-device embedding model (~23MB, Xenova/all-MiniLM-L6-v2, ' +
22
+ 'downloaded once from huggingface.co and then cached). Check your internet ' +
23
+ `connection or proxy and try again. (${err.message})`);
24
+ }
25
+ }
3
26
  if (!_pipe) {
4
27
  let mod;
5
28
  try {
@@ -17,9 +40,17 @@ export async function getEmbedding(text) {
17
40
  mod = (await import(HF_TRANSFORMERS));
18
41
  }
19
42
  catch (err) {
20
- throw new Error('Local mode needs the on-device embedding model (@huggingface/transformers), which is not installed on this platform. ' +
21
- 'Use cloud mode (`align login`), or reinstall on a supported platform (macOS, glibc Linux, or Windows x64/arm64). ' +
22
- `(${err.message})`);
43
+ // Two different situations produce the same failure here, and the npm advice is
44
+ // unfollowable for someone who downloaded a binary: there is no package for them
45
+ // to reinstall (ALI-740). The binary carries no node_modules at all, because
46
+ // onnxruntime-node is a native addon PLUS sibling shared libraries it dlopens
47
+ // itself, which `bun build --compile` cannot embed.
48
+ const base = 'Local mode needs the on-device embedding model (@huggingface/transformers), ';
49
+ const cause = `(${err.message})`;
50
+ const advice = alignDistribution() === 'binary'
51
+ ? 'and the standalone binary did not register its bundled WASM backend. That is a build defect rather than a limit of your machine - please report it. Cloud mode (`align login`) works meanwhile.'
52
+ : 'which is not installed on this platform. Use cloud mode (`align login`), or reinstall on a supported platform (macOS, glibc Linux, or Windows x64/arm64).';
53
+ throw new Error(`${base}${advice} ${cause}`);
23
54
  }
24
55
  try {
25
56
  // First call downloads ~23MB from the Hugging Face Hub (huggingface.co), then caches.
@@ -1 +1 @@
1
- {"version":3,"file":"local-embeddings.js","sourceRoot":"","sources":["../../src/lib/local-embeddings.ts"],"names":[],"mappings":"AACA,IAAI,KAAK,GAA6B,IAAI,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,GAAoG,CAAC;QACzG,IAAI,CAAC;YACH,+EAA+E;YAC/E,yEAAyE;YACzE,gFAAgF;YAChF,EAAE;YACF,0EAA0E;YAC1E,4EAA4E;YAC5E,2EAA2E;YAC3E,4EAA4E;YAC5E,yEAAyE;YACzE,uBAAuB;YACvB,MAAM,eAAe,GAAG,2BAA2B,CAAC;YACpD,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,CAA0B,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,uHAAuH;gBACvH,mHAAmH;gBACnH,IAAK,GAAa,CAAC,OAAO,GAAG,CAC9B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,sFAAsF;YACtF,8EAA8E;YAC9E,8EAA8E;YAC9E,8EAA8E;YAC9E,+EAA+E;YAC/E,sFAAsF;YACtF,oFAAoF;YACpF,iFAAiF;YACjF,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,oBAAoB,EAAE,yBAAyB,EAAE;gBAC3E,KAAK,EAAE,IAAI;aACZ,CAAC,CAAiC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,kGAAkG;gBAClG,yDAAyD;gBACzD,IAAK,GAAa,CAAC,OAAO,GAAG,CAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAe,EAAE,CAAe;IAC/D,0FAA0F;IAC1F,2FAA2F;IAC3F,4FAA4F;IAC5F,uDAAuD;IACvD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,8BAA8B,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,MAAM,mCAAmC;YACxF,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACvB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACzB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"local-embeddings.js","sourceRoot":"","sources":["../../src/lib/local-embeddings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Narrow interface rather than the whole config store, so this module (and its tests) does not
3
+ * carry every unrelated accessor `createConfigStore()` exposes.
4
+ */
5
+ export interface TelemetryConsentStore {
6
+ getTelemetryConsent(): 'granted' | 'declined' | undefined;
7
+ setTelemetryConsent(value: 'granted' | 'declined'): void;
8
+ }
9
+ /**
10
+ * ALI-618 D3: the one-time local-mode consent prompt, shown from `runLocalSetup()`.
11
+ *
12
+ * Never asks twice - a decision already on disk (granted OR declined) is left alone. Never
13
+ * prompts without a TTY on both streams: a piped `setup --local` run hangs on a prompt it
14
+ * cannot answer, and a closed stdin crashes clack's raw-mode init AFTER the real setup work has
15
+ * already succeeded (the align-cli#118 lesson, `setup-local-non-tty.test.ts`). A non-interactive
16
+ * run leaves consent UNSET rather than implicitly declined - a scripted first run may be a CI
17
+ * smoke test, not a real user's choice, and it can still be asked on a later interactive run.
18
+ *
19
+ * Default is No: anything other than an explicit yes - the default answer, or Ctrl-C - leaves
20
+ * telemetry off (D3).
21
+ */
22
+ export declare function maybeRequestTelemetryConsent(config: TelemetryConsentStore, interactive: boolean): Promise<void>;
23
+ //# sourceMappingURL=telemetry-consent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-consent.d.ts","sourceRoot":"","sources":["../../src/lib/telemetry-consent.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,IAAI,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1D,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC;CAC1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,qBAAqB,EAC7B,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -0,0 +1,27 @@
1
+ import * as p from '@clack/prompts';
2
+ /**
3
+ * ALI-618 D3: the one-time local-mode consent prompt, shown from `runLocalSetup()`.
4
+ *
5
+ * Never asks twice - a decision already on disk (granted OR declined) is left alone. Never
6
+ * prompts without a TTY on both streams: a piped `setup --local` run hangs on a prompt it
7
+ * cannot answer, and a closed stdin crashes clack's raw-mode init AFTER the real setup work has
8
+ * already succeeded (the align-cli#118 lesson, `setup-local-non-tty.test.ts`). A non-interactive
9
+ * run leaves consent UNSET rather than implicitly declined - a scripted first run may be a CI
10
+ * smoke test, not a real user's choice, and it can still be asked on a later interactive run.
11
+ *
12
+ * Default is No: anything other than an explicit yes - the default answer, or Ctrl-C - leaves
13
+ * telemetry off (D3).
14
+ */
15
+ export async function maybeRequestTelemetryConsent(config, interactive) {
16
+ if (config.getTelemetryConsent() !== undefined)
17
+ return;
18
+ if (!interactive)
19
+ return;
20
+ const answer = await p.confirm({
21
+ message: 'Help improve Align? Send an anonymous count of which commands you run - no code, no ' +
22
+ 'decisions, no file names, ever. You can change this any time with `align telemetry off`.',
23
+ initialValue: false,
24
+ });
25
+ config.setTelemetryConsent(!p.isCancel(answer) && answer ? 'granted' : 'declined');
26
+ }
27
+ //# sourceMappingURL=telemetry-consent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-consent.js","sourceRoot":"","sources":["../../src/lib/telemetry-consent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAWpC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAA6B,EAC7B,WAAoB;IAEpB,IAAI,MAAM,CAAC,mBAAmB,EAAE,KAAK,SAAS;QAAE,OAAO;IACvD,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QAC7B,OAAO,EACL,sFAAsF;YACtF,0FAA0F;QAC5F,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACrF,CAAC"}
@@ -1,16 +1,31 @@
1
- import type { EnvironmentConfig } from './config.js';
1
+ import { type EnvironmentConfig, type TelemetryConsent } from './config.js';
2
2
  /**
3
3
  * ALI-403: emit one `cli.command` event per invocation so cloud CLI activation and weekly
4
4
  * retention are countable.
5
5
  *
6
- * Cloud mode only. A cloud user is already on an authenticated connection to our gateway, so
7
- * an event about a call already being made is not a new phone-home. `--local` users never
8
- * contact us and have no tenant, so counting them needs an explicit consent flow and its own
9
- * storage (`telemetry_events.tenant_id` is `NOT NULL REFERENCES tenants(id)`).
6
+ * Cloud mode is opt-out: a cloud user is already on an authenticated connection to our
7
+ * gateway, so an event about a call already being made is not a new phone-home. Local-embedded
8
+ * mode (ALI-618) is opt-in instead: `--local` users have no account and no tenant, so there is
9
+ * nothing to authenticate an event against, and nothing is sent until the user explicitly
10
+ * consents (see `config.ts`'s `getTelemetryConsent`, set by the one-time prompt in
11
+ * `commands/setup.ts`). Both modes send only a command name, never arguments or content.
10
12
  *
11
- * Set `ALIGN_TELEMETRY=0` (or `false` / `no` / `off`) to opt out entirely.
13
+ * `ALIGN_TELEMETRY=0` (or `false` / `no` / `off`) is the single global off switch and wins in
14
+ * both modes, over a granted local consent included (ALI-618 D3b - one consent model, not two).
12
15
  */
13
16
  export declare const TELEMETRY_TIMEOUT_MS = 2000;
17
+ export interface TelemetryStatus {
18
+ enabled: boolean;
19
+ reason: string;
20
+ }
21
+ /**
22
+ * ALI-618 D3b: what `align telemetry status` prints. Takes the consent decision as a plain
23
+ * argument rather than reading `config.ts` itself, so the two consent MODELS stay visibly
24
+ * distinct in one function a reader can hold in their head - cloud's opt-out default and
25
+ * local's stored opt-in decision - with `ALIGN_TELEMETRY=0` as the one thing that overrides
26
+ * both, checked first.
27
+ */
28
+ export declare function getTelemetryStatus(env: EnvironmentConfig, localConsent: TelemetryConsent | undefined): TelemetryStatus;
14
29
  export declare function recordCommandUsage(env: EnvironmentConfig, command: string): Promise<void>;
15
30
  /**
16
31
  * The `--env` the user actually typed, including one Commander handed to a parent.
@@ -32,13 +47,17 @@ export declare function envFlagOf(cmd: {
32
47
  * the one thing PR #77 said local mode does not do. Only the three-member `local` command
33
48
  * group was excluded, and no local user types `align local ask`.
34
49
  *
35
- * `preferLocalEmbedded` is deliberately NOT passed: it is a routing preference for the
36
- * read commands, and asking for it here would be a second opinion on where the command
37
- * went. The flag and ALIGN_ENV are what the user chose explicitly, and those are what a
38
- * consent decision may rest on. Note that preference and this gate are today mutually
39
- * exclusive by arithmetic rather than by design - the redirect fires only when the cloud env
40
- * has no token, which is the same condition recordCommandUsage returns on - so if that token
41
- * check is ever relaxed to count tokenless users, pass the preference here as well.
50
+ * `preferLocalEmbedded` IS now passed (ALI-618) - this paragraph used to say it was
51
+ * deliberately withheld, on the reasoning that the flag/ALIGN_ENV the user explicitly chose is
52
+ * what a CLOUD consent decision may rest on. That reasoning never covered local telemetry: the
53
+ * redirect only ever fires when the cloud env has no token, which is exactly the case
54
+ * recordCommandUsage's cloud branch already drops on its own (`if (!env.authToken || ...)
55
+ * return`) - so passing it here cannot cause an extra cloud send, only let a genuinely
56
+ * never-logged-in user's BARE command reach the local-embedded branch at all. Without it, that
57
+ * exact audience - "never met Tom" - resolved to the tokenless cloud default on every bare
58
+ * command and recordCommandUsage silently dropped it: neither cloud nor local ever counted
59
+ * them, which defeated the whole point of adding local telemetry. A fresh-context review
60
+ * caught this too. Fixed in `usage-telemetry-invocation-local-only.test.ts`.
42
61
  *
43
62
  * `setup` is suppressed once local-embedded is configured. The interactive "Local only" choice
44
63
  * sets no flag, and the default env stays cloud on purpose, so the only evidence the session was
@@ -1 +1 @@
1
- {"version":3,"file":"usage-telemetry.d.ts","sourceRoot":"","sources":["../../src/lib/usage-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAiB1C,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD/F;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE;IAAE,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CASjG;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAMf"}
1
+ {"version":3,"file":"usage-telemetry.d.ts","sourceRoot":"","sources":["../../src/lib/usage-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGtG;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AA6C1C,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,iBAAiB,EACtB,YAAY,EAAE,gBAAgB,GAAG,SAAS,GACzC,eAAe,CAcjB;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B/F;AAgCD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE;IAAE,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CASjG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAMf"}
@@ -1,13 +1,18 @@
1
+ import { ALIGN_HOSTED_GATEWAY_URL } from './config.js';
2
+ import pkg from '../../package.json' with { type: 'json' };
1
3
  /**
2
4
  * ALI-403: emit one `cli.command` event per invocation so cloud CLI activation and weekly
3
5
  * retention are countable.
4
6
  *
5
- * Cloud mode only. A cloud user is already on an authenticated connection to our gateway, so
6
- * an event about a call already being made is not a new phone-home. `--local` users never
7
- * contact us and have no tenant, so counting them needs an explicit consent flow and its own
8
- * storage (`telemetry_events.tenant_id` is `NOT NULL REFERENCES tenants(id)`).
7
+ * Cloud mode is opt-out: a cloud user is already on an authenticated connection to our
8
+ * gateway, so an event about a call already being made is not a new phone-home. Local-embedded
9
+ * mode (ALI-618) is opt-in instead: `--local` users have no account and no tenant, so there is
10
+ * nothing to authenticate an event against, and nothing is sent until the user explicitly
11
+ * consents (see `config.ts`'s `getTelemetryConsent`, set by the one-time prompt in
12
+ * `commands/setup.ts`). Both modes send only a command name, never arguments or content.
9
13
  *
10
- * Set `ALIGN_TELEMETRY=0` (or `false` / `no` / `off`) to opt out entirely.
14
+ * `ALIGN_TELEMETRY=0` (or `false` / `no` / `off`) is the single global off switch and wins in
15
+ * both modes, over a granted local consent included (ALI-618 D3b - one consent model, not two).
11
16
  */
12
17
  export const TELEMETRY_TIMEOUT_MS = 2_000;
13
18
  /**
@@ -24,24 +29,14 @@ function telemetryOptedOut() {
24
29
  return false;
25
30
  return !OPT_IN_VALUES.has(raw.trim().toLowerCase());
26
31
  }
27
- export async function recordCommandUsage(env, command) {
28
- if (telemetryOptedOut())
29
- return;
30
- // `align local ...` is the explicitly-offline path. Its caller may still hold a cloud token
31
- // (the hook may resolve an env other than the one the command used), so the token check below
32
- // is not enough on its own.
33
- if (command === 'local' || command.startsWith('local '))
34
- return;
35
- // The mode is the consent boundary (PR #77: cloud is opt-out, local is no-phone-home). It has
36
- // to gate on its own because a token can be in scope without cloud consent: ALIGN_TOKEN
37
- // exported into the shell, or a logged-in default env resolved by the caller.
38
- if (env.mode === 'local-embedded')
39
- return;
40
- if (!env.authToken || !env.tenantId)
41
- return;
42
- // A blackholing proxy hangs rather than rejecting, so a bare await would freeze the CLI after
43
- // its real work is done. The timer both aborts the request and wins the race, so we stop
44
- // waiting even if the transport ignores the signal.
32
+ /**
33
+ * POST with a hard timeout, and never throw - telemetry must never fail or delay a command. A
34
+ * blackholing proxy hangs rather than rejecting, so a bare `fetch` would freeze the CLI after
35
+ * its real work is done. The timer both aborts the request and wins the race, so we stop
36
+ * waiting even if the transport ignores the signal. Shared by the cloud and local-embedded send
37
+ * paths below, which were two copies of this exact race before extraction (fresh-context review).
38
+ */
39
+ async function postWithTimeout(url, init) {
45
40
  const controller = new AbortController();
46
41
  let giveUp = () => { };
47
42
  const abandoned = new Promise((resolve) => {
@@ -52,33 +47,99 @@ export async function recordCommandUsage(env, command) {
52
47
  giveUp();
53
48
  }, TELEMETRY_TIMEOUT_MS);
54
49
  try {
55
- await Promise.race([
56
- fetch(`${env.gatewayUrl}/telemetry/ingest`, {
57
- method: 'POST',
58
- signal: controller.signal,
59
- headers: {
60
- 'Content-Type': 'application/json',
61
- Authorization: `Bearer ${env.authToken}`,
62
- 'x-tenant-id': env.tenantId,
63
- },
64
- body: JSON.stringify({
65
- eventName: 'cli.command',
66
- category: 'engagement',
67
- platform: 'cli',
68
- properties: { command },
69
- }),
70
- }),
71
- abandoned,
72
- ]);
50
+ await Promise.race([fetch(url, { ...init, signal: controller.signal }), abandoned]);
73
51
  }
74
52
  catch {
75
- // Telemetry must never fail a command. Swallowing here is driven by a test, not defensive
76
- // habit - see "resolves when the gateway rejects" in usage-telemetry.test.ts.
53
+ // Telemetry must never fail a command - see "resolves when the gateway rejects" and
54
+ // "gives up rather than hanging" in usage-telemetry.test.ts / usage-telemetry-anonymous.test.ts.
77
55
  }
78
56
  finally {
79
57
  clearTimeout(timer);
80
58
  }
81
59
  }
60
+ /**
61
+ * ALI-618 D3b: what `align telemetry status` prints. Takes the consent decision as a plain
62
+ * argument rather than reading `config.ts` itself, so the two consent MODELS stay visibly
63
+ * distinct in one function a reader can hold in their head - cloud's opt-out default and
64
+ * local's stored opt-in decision - with `ALIGN_TELEMETRY=0` as the one thing that overrides
65
+ * both, checked first.
66
+ */
67
+ export function getTelemetryStatus(env, localConsent) {
68
+ if (telemetryOptedOut()) {
69
+ return { enabled: false, reason: 'off: ALIGN_TELEMETRY is set to an opt-out value' };
70
+ }
71
+ if (env.mode === 'local-embedded') {
72
+ if (localConsent === 'granted') {
73
+ return { enabled: true, reason: 'on: local mode, you opted in when asked' };
74
+ }
75
+ if (localConsent === 'declined') {
76
+ return { enabled: false, reason: 'off: local mode, you declined when asked' };
77
+ }
78
+ return { enabled: false, reason: 'off: local mode, you have not been asked yet' };
79
+ }
80
+ return { enabled: true, reason: 'on: cloud mode, opt-out default' };
81
+ }
82
+ export async function recordCommandUsage(env, command) {
83
+ if (telemetryOptedOut())
84
+ return;
85
+ // `align local ...` is the explicitly-offline path. Its caller may still hold a cloud token
86
+ // (the hook may resolve an env other than the one the command used), so the token check below
87
+ // is not enough on its own.
88
+ if (command === 'local' || command.startsWith('local '))
89
+ return;
90
+ // The mode is the consent boundary (PR #77: cloud is opt-out; ALI-618: local is opt-in via a
91
+ // stored consent decision, never a phone-home by default). It has to gate on its own because
92
+ // a token can be in scope without cloud consent: ALIGN_TOKEN exported into the shell, or a
93
+ // logged-in default env resolved by the caller.
94
+ if (env.mode === 'local-embedded') {
95
+ await recordAnonymousCommandUsage(command);
96
+ return;
97
+ }
98
+ if (!env.authToken || !env.tenantId)
99
+ return;
100
+ await postWithTimeout(`${env.gatewayUrl}/telemetry/ingest`, {
101
+ method: 'POST',
102
+ headers: {
103
+ 'Content-Type': 'application/json',
104
+ Authorization: `Bearer ${env.authToken}`,
105
+ 'x-tenant-id': env.tenantId,
106
+ },
107
+ body: JSON.stringify({
108
+ eventName: 'cli.command',
109
+ category: 'engagement',
110
+ platform: 'cli',
111
+ properties: { command },
112
+ }),
113
+ });
114
+ }
115
+ /**
116
+ * ALI-618: the local-embedded sibling of the cloud send above. No Authorization, no tenant -
117
+ * there is neither. Gated on a machine-local consent decision instead of a token, and the
118
+ * payload carries exactly three fields (install id, command name, CLI version) so there is
119
+ * nothing here for the gateway's strict schema to reject and nothing beyond what the consent
120
+ * prompt promises. See usage-telemetry-anonymous.test.ts.
121
+ *
122
+ * Targets `ALIGN_HOSTED_GATEWAY_URL`, never a `gatewayUrl` off the env - local-embedded mode
123
+ * makes no HTTP call for its own work (an embedded local DB client, see gateway-client.ts), so
124
+ * the `local` env's `gatewayUrl` is a vestigial `demo`-mode default nothing real listens on.
125
+ * A fresh-context review caught this: the original version sent every local ping to
126
+ * `http://localhost:8080`, silently discarded, for every user who had not separately stood up
127
+ * a local dev gateway.
128
+ */
129
+ async function recordAnonymousCommandUsage(command) {
130
+ const { createConfigStore } = await import('./config.js');
131
+ const config = createConfigStore();
132
+ if (config.getTelemetryConsent() !== 'granted')
133
+ return;
134
+ const installId = config.getInstallId();
135
+ const topLevelCommand = command.split(' ')[0] ?? command;
136
+ const target = process.env['ALIGN_GATEWAY_URL'] || ALIGN_HOSTED_GATEWAY_URL;
137
+ await postWithTimeout(`${target}/telemetry/anonymous`, {
138
+ method: 'POST',
139
+ headers: { 'Content-Type': 'application/json' },
140
+ body: JSON.stringify({ installId, command: topLevelCommand, cliVersion: pkg.version }),
141
+ });
142
+ }
82
143
  /**
83
144
  * The `--env` the user actually typed, including one Commander handed to a parent.
84
145
  *
@@ -108,13 +169,17 @@ export function envFlagOf(cmd) {
108
169
  * the one thing PR #77 said local mode does not do. Only the three-member `local` command
109
170
  * group was excluded, and no local user types `align local ask`.
110
171
  *
111
- * `preferLocalEmbedded` is deliberately NOT passed: it is a routing preference for the
112
- * read commands, and asking for it here would be a second opinion on where the command
113
- * went. The flag and ALIGN_ENV are what the user chose explicitly, and those are what a
114
- * consent decision may rest on. Note that preference and this gate are today mutually
115
- * exclusive by arithmetic rather than by design - the redirect fires only when the cloud env
116
- * has no token, which is the same condition recordCommandUsage returns on - so if that token
117
- * check is ever relaxed to count tokenless users, pass the preference here as well.
172
+ * `preferLocalEmbedded` IS now passed (ALI-618) - this paragraph used to say it was
173
+ * deliberately withheld, on the reasoning that the flag/ALIGN_ENV the user explicitly chose is
174
+ * what a CLOUD consent decision may rest on. That reasoning never covered local telemetry: the
175
+ * redirect only ever fires when the cloud env has no token, which is exactly the case
176
+ * recordCommandUsage's cloud branch already drops on its own (`if (!env.authToken || ...)
177
+ * return`) - so passing it here cannot cause an extra cloud send, only let a genuinely
178
+ * never-logged-in user's BARE command reach the local-embedded branch at all. Without it, that
179
+ * exact audience - "never met Tom" - resolved to the tokenless cloud default on every bare
180
+ * command and recordCommandUsage silently dropped it: neither cloud nor local ever counted
181
+ * them, which defeated the whole point of adding local telemetry. A fresh-context review
182
+ * caught this too. Fixed in `usage-telemetry-invocation-local-only.test.ts`.
118
183
  *
119
184
  * `setup` is suppressed once local-embedded is configured. The interactive "Local only" choice
120
185
  * sets no flag, and the default env stays cloud on purpose, so the only evidence the session was
@@ -128,6 +193,6 @@ export async function recordInvocationUsage(envFlag, command) {
128
193
  const config = createConfigStore();
129
194
  if (command === 'setup' && config.getEnvironment('local').mode === 'local-embedded')
130
195
  return;
131
- await recordCommandUsage(config.getEnvironment(resolveEnv(envFlag)), command);
196
+ await recordCommandUsage(config.getEnvironment(resolveEnv(envFlag, { preferLocalEmbedded: true })), command);
132
197
  }
133
198
  //# sourceMappingURL=usage-telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage-telemetry.js","sourceRoot":"","sources":["../../src/lib/usage-telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-telemetry.js","sourceRoot":"","sources":["../../src/lib/usage-telemetry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aligndottech/cli",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "mcpName": "io.github.aligndottech/cli",
5
5
  "type": "module",
6
6
  "description": "Align CLI - capture decisions, check alignment, and manage connectors",
@@ -27,7 +27,7 @@
27
27
  "build": "tsc -p tsconfig.json",
28
28
  "prepublishOnly": "npm run build",
29
29
  "dev": "tsx src/index.ts",
30
- "typecheck": "tsc -p tsconfig.json --noEmit",
30
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.bun.json",
31
31
  "lint": "eslint .",
32
32
  "test": "vitest run",
33
33
  "test:watch": "vitest",
@@ -37,7 +37,6 @@
37
37
  "@aligndottech/connector-core": "^0.4.0",
38
38
  "@clack/prompts": "^0.9.1",
39
39
  "@modelcontextprotocol/sdk": "^1.29.0",
40
- "better-sqlite3": "^12.10.0",
41
40
  "chalk": "^5.3.0",
42
41
  "commander": "^12.1.0",
43
42
  "conf": "^13.0.1",
@@ -49,7 +48,6 @@
49
48
  },
50
49
  "devDependencies": {
51
50
  "@eslint/js": "^9.0.0",
52
- "@types/better-sqlite3": "^7.6.13",
53
51
  "@types/eventsource": "^1.1.15",
54
52
  "@types/js-yaml": "^4.0.9",
55
53
  "@types/node": "^22.0.0",
@@ -67,7 +65,7 @@
67
65
  "@huggingface/transformers": "^4.2.0"
68
66
  },
69
67
  "engines": {
70
- "node": ">=20"
68
+ "node": ">=22.16"
71
69
  },
72
70
  "publishConfig": {
73
71
  "access": "public"
@@ -79,10 +77,5 @@
79
77
  "repository": {
80
78
  "type": "git",
81
79
  "url": "https://github.com/aligndottech/align-cli"
82
- },
83
- "pnpm": {
84
- "onlyBuiltDependencies": [
85
- "better-sqlite3"
86
- ]
87
80
  }
88
81
  }