@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 +10 -2
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +11 -7
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/telemetry.d.ts +8 -0
- package/dist/commands/telemetry.d.ts.map +1 -0
- package/dist/commands/telemetry.js +43 -0
- package/dist/commands/telemetry.js.map +1 -0
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +15 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +28 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/distribution.d.ts +3 -0
- package/dist/lib/distribution.d.ts.map +1 -0
- package/dist/lib/distribution.js +4 -0
- package/dist/lib/distribution.js.map +1 -0
- package/dist/lib/local-db.d.ts.map +1 -1
- package/dist/lib/local-db.js +12 -10
- package/dist/lib/local-db.js.map +1 -1
- package/dist/lib/local-embeddings.d.ts +21 -0
- package/dist/lib/local-embeddings.d.ts.map +1 -1
- package/dist/lib/local-embeddings.js +34 -3
- package/dist/lib/local-embeddings.js.map +1 -1
- package/dist/lib/telemetry-consent.d.ts +23 -0
- package/dist/lib/telemetry-consent.d.ts.map +1 -0
- package/dist/lib/telemetry-consent.js +27 -0
- package/dist/lib/telemetry-consent.js.map +1 -0
- package/dist/lib/usage-telemetry.d.ts +32 -13
- package/dist/lib/usage-telemetry.d.ts.map +1 -1
- package/dist/lib/usage-telemetry.js +116 -51
- package/dist/lib/usage-telemetry.js.map +1 -1
- package/package.json +3 -10
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
|
-
|
|
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
|
-
|
|
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;
|
|
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"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -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
|
-
//
|
|
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,
|
|
48
|
-
//
|
|
49
|
-
//
|
|
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":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,+EAA+E;AAC/E,gFAAgF;AAChF,oEAAoE;AACpE,SAAS,WAAW,CAAC,GAAY;IAC/B,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAC7C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;AAE9C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,uEAAuE,CAAC;KACpF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,+EAA+E;AAC/E,gFAAgF;AAChF,oEAAoE;AACpE,SAAS,WAAW,CAAC,GAAY;IAC/B,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAC7C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;AAE9C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,uEAAuE,CAAC;KACpF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,8FAA8F;AAC9F,4FAA4F;AAC5F,+FAA+F;AAC/F,gGAAgG;AAChG,OAAO;AACP,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;IAC/D,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACtF,4FAA4F;IAC5F,uFAAuF;IACvF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAmB,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM;QAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7F,yFAAyF;IACzF,8FAA8F;IAC9F,0FAA0F;IAC1F,kFAAkF;IAClF,MAAM,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC;AAEH,wBAAwB;AACxB,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAElC,oBAAoB;AACpB,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,sCAAsC;AACtC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAE/B,2BAA2B;AAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,+BAA+B;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAEnC,uBAAuB;AACvB,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE5B,yDAAyD;AACzD,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,yEAAyE;AACzE,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,GAAG,EAAE,CAAC;IACvC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -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
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -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
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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;
|
|
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"}
|
package/dist/lib/local-db.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
198
|
+
db.exec(`PRAGMA user_version = ${SCHEMA_VERSION}`);
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
export function createLocalDb(dbPath) {
|
|
202
|
-
//
|
|
203
|
-
//
|
|
204
|
-
//
|
|
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
|
|
209
|
-
db.
|
|
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 {
|
package/dist/lib/local-db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-db.js","sourceRoot":"","sources":["../../src/lib/local-db.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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":"
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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":"
|
|
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
|
|
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
|
|
7
|
-
* an event about a call already being made is not a new phone-home.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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
|
-
*
|
|
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`
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
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,
|
|
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
|
|
6
|
-
* an event about a call already being made is not a new phone-home.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
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
|
-
*
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
|
76
|
-
//
|
|
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`
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
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":"
|
|
1
|
+
{"version":3,"file":"usage-telemetry.js","sourceRoot":"","sources":["../../src/lib/usage-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAiD,MAAM,aAAa,CAAC;AACtG,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAE1D,SAAS,iBAAiB;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,IAA8C;IACxF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,MAAM,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC9C,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC;IACX,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,oFAAoF;QACpF,iGAAiG;IACnG,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAsB,EACtB,YAA0C;IAE1C,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iDAAiD,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAClC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;QAC9E,CAAC;QACD,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;QAChF,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,8CAA8C,EAAE,CAAC;IACpF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAsB,EAAE,OAAe;IAC9E,IAAI,iBAAiB,EAAE;QAAE,OAAO;IAChC,4FAA4F;IAC5F,8FAA8F;IAC9F,4BAA4B;IAC5B,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAChE,6FAA6F;IAC7F,6FAA6F;IAC7F,2FAA2F;IAC3F,gDAAgD;IAChD,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAClC,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO;IAE5C,MAAM,eAAe,CAAC,GAAG,GAAG,CAAC,UAAU,mBAAmB,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,GAAG,CAAC,SAAS,EAAE;YACxC,aAAa,EAAE,GAAG,CAAC,QAAQ;SAC5B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,EAAE,OAAO,EAAE;SACxB,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,2BAA2B,CAAC,OAAe;IACxD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,mBAAmB,EAAE,KAAK,SAAS;QAAE,OAAO;IAEvD,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACxC,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,wBAAwB,CAAC;IAE5E,MAAM,eAAe,CAAC,GAAG,MAAM,sBAAsB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;KACvF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,GAAmD;IAC3E,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,8FAA8F;IAC9F,+FAA+F;IAC/F,2DAA2D;IAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IAC3C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAA2B,EAC3B,OAAe;IAEf,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO;IAC5F,MAAM,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/G,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aligndottech/cli",
|
|
3
|
-
"version": "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": ">=
|
|
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
|
}
|