@aligndottech/cli 0.3.0 → 0.4.1
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 +22 -5
- package/dist/commands/check.js +2 -2
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/mcp.d.ts +3 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +52 -54
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +14 -3
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/why.js +1 -1
- package/dist/commands/why.js.map +1 -1
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +15 -1
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/local-db.d.ts.map +1 -1
- package/dist/lib/local-db.js +8 -0
- package/dist/lib/local-db.js.map +1 -1
- package/dist/lib/local-embeddings.d.ts.map +1 -1
- package/dist/lib/local-embeddings.js +21 -2
- package/dist/lib/local-embeddings.js.map +1 -1
- package/dist/lib/local-gateway-client.d.ts +5 -40
- package/dist/lib/local-gateway-client.d.ts.map +1 -1
- package/dist/lib/local-gateway-client.js +33 -15
- package/dist/lib/local-gateway-client.js.map +1 -1
- package/dist/lib/local-llm.d.ts +18 -1
- package/dist/lib/local-llm.d.ts.map +1 -1
- package/dist/lib/local-llm.js +66 -32
- package/dist/lib/local-llm.js.map +1 -1
- package/dist/lib/local-relationship-classifier.d.ts.map +1 -1
- package/dist/lib/local-relationship-classifier.js +3 -55
- package/dist/lib/local-relationship-classifier.js.map +1 -1
- package/dist/lib/login-flow.d.ts.map +1 -1
- package/dist/lib/login-flow.js +12 -2
- package/dist/lib/login-flow.js.map +1 -1
- package/dist/lib/resolve-env.d.ts +3 -1
- package/dist/lib/resolve-env.d.ts.map +1 -1
- package/dist/lib/resolve-env.js +17 -2
- package/dist/lib/resolve-env.js.map +1 -1
- package/package.json +20 -2
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
// via embeddings) using an LLM with the user's OWN key. Embedding similarity says
|
|
3
3
|
// two decisions are related; only an LLM reading both can say HOW (the taxonomy).
|
|
4
4
|
// Returns null when no key is configured, so callers degrade to an untyped edge.
|
|
5
|
+
// Uses the shared provider-agnostic resolver in local-llm.ts (any provider).
|
|
6
|
+
import { callChat } from './local-llm.js';
|
|
5
7
|
export const RELATIONSHIP_TYPES = [
|
|
6
8
|
'supersedes',
|
|
7
9
|
'conflicts_with',
|
|
@@ -20,7 +22,7 @@ function buildUserPrompt(a, b) {
|
|
|
20
22
|
return `Decision A: ${a.title}. ${a.summary}\n\nDecision B: ${b.title}. ${b.summary}`;
|
|
21
23
|
}
|
|
22
24
|
export async function classifyRelationship(subject, candidate) {
|
|
23
|
-
const raw = await
|
|
25
|
+
const raw = await callChat(SYSTEM_PROMPT, buildUserPrompt(subject, candidate));
|
|
24
26
|
if (!raw)
|
|
25
27
|
return null;
|
|
26
28
|
return parseRelationship(raw);
|
|
@@ -43,58 +45,4 @@ function parseRelationship(text) {
|
|
|
43
45
|
return null;
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
|
-
// Minimal provider call: Anthropic (Haiku) preferred, then OpenAI-compatible.
|
|
47
|
-
// Reuses the env-key convention of local-llm.ts; returns null on any failure.
|
|
48
|
-
async function callLlm(system, user) {
|
|
49
|
-
const anthropicKey = process.env['ANTHROPIC_API_KEY'];
|
|
50
|
-
if (anthropicKey)
|
|
51
|
-
return callAnthropic(system, user, anthropicKey);
|
|
52
|
-
const openaiKey = process.env['OPENAI_API_KEY'];
|
|
53
|
-
if (openaiKey)
|
|
54
|
-
return callOpenAi(system, user, openaiKey);
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
async function callAnthropic(system, user, key) {
|
|
58
|
-
try {
|
|
59
|
-
const res = await fetch('https://api.anthropic.com/v1/messages', {
|
|
60
|
-
method: 'POST',
|
|
61
|
-
headers: { 'Content-Type': 'application/json', 'x-api-key': key, 'anthropic-version': '2023-06-01' },
|
|
62
|
-
body: JSON.stringify({
|
|
63
|
-
model: process.env['ALIGN_ANTHROPIC_MODEL'] ?? 'claude-haiku-4-5-20251001',
|
|
64
|
-
max_tokens: 256,
|
|
65
|
-
system,
|
|
66
|
-
messages: [{ role: 'user', content: user }],
|
|
67
|
-
}),
|
|
68
|
-
signal: AbortSignal.timeout(15000),
|
|
69
|
-
});
|
|
70
|
-
if (!res.ok)
|
|
71
|
-
return null;
|
|
72
|
-
const data = await res.json();
|
|
73
|
-
return data.content?.[0]?.text?.trim() ?? null;
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
async function callOpenAi(system, user, key) {
|
|
80
|
-
try {
|
|
81
|
-
const res = await fetch('https://api.openai.com/v1/chat/completions', {
|
|
82
|
-
method: 'POST',
|
|
83
|
-
headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${key}` },
|
|
84
|
-
body: JSON.stringify({
|
|
85
|
-
model: process.env['ALIGN_OPENAI_MODEL'] ?? 'gpt-4o-mini',
|
|
86
|
-
max_tokens: 256,
|
|
87
|
-
messages: [{ role: 'system', content: system }, { role: 'user', content: user }],
|
|
88
|
-
}),
|
|
89
|
-
signal: AbortSignal.timeout(15000),
|
|
90
|
-
});
|
|
91
|
-
if (!res.ok)
|
|
92
|
-
return null;
|
|
93
|
-
const data = await res.json();
|
|
94
|
-
return data.choices?.[0]?.message?.content?.trim() ?? null;
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
return null;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
48
|
//# sourceMappingURL=local-relationship-classifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-relationship-classifier.js","sourceRoot":"","sources":["../../src/lib/local-relationship-classifier.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;
|
|
1
|
+
{"version":3,"file":"local-relationship-classifier.js","sourceRoot":"","sources":["../../src/lib/local-relationship-classifier.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,6EAA6E;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,YAAY;CACJ,CAAC;AAeX,MAAM,aAAa,GACjB,yFAAyF;IACzF,oDAAoD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD;IACzI,0HAA0H;IAC1H,yHAAyH,CAAC;AAE5H,SAAS,eAAe,CAAC,CAAe,EAAE,CAAe;IACvD,OAAO,eAAe,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAqB,EACrB,SAAuB;IAEvB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAA+D,CAAC;QAC/F,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAwB,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5G,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACvG,MAAM,MAAM,GAA2B,EAAE,IAAI,EAAE,GAAG,CAAC,IAAwB,EAAE,UAAU,EAAE,CAAC;QAC1F,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3F,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-flow.d.ts","sourceRoot":"","sources":["../../src/lib/login-flow.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjF,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAMxD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"login-flow.d.ts","sourceRoot":"","sources":["../../src/lib/login-flow.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEjF,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAMxD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,CA8DlB"}
|
package/dist/lib/login-flow.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as p from '@clack/prompts';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import open from 'open';
|
|
4
|
-
import { createGatewayClient } from './gateway-client.js';
|
|
4
|
+
import { createGatewayClient, GatewayError } from './gateway-client.js';
|
|
5
5
|
import { CLI_CALLBACK_PORTS, waitForCallback } from './cli-oauth.js';
|
|
6
6
|
// Browser-based CLI login. Starts a local callback server, opens the branded
|
|
7
7
|
// login page, exchanges the returned token, verifies it, and persists the
|
|
@@ -54,7 +54,17 @@ export async function loginInteractive(env, envName, config) {
|
|
|
54
54
|
verifySpinner.stop(`Logged in as ${me.user.email} (${me.tenant.name}) [${envName}]`);
|
|
55
55
|
return true;
|
|
56
56
|
}
|
|
57
|
-
catch {
|
|
57
|
+
catch (err) {
|
|
58
|
+
// A 401/403 means the gateway REJECTED the token - persisting it would leave the
|
|
59
|
+
// user "logged in" but failing on every later command. Only fail OPEN (save +
|
|
60
|
+
// warn) for a genuinely unreachable gateway (network error / status 0), where we
|
|
61
|
+
// can't verify now but the token is probably fine.
|
|
62
|
+
const status = err instanceof GatewayError ? err.statusCode : 0;
|
|
63
|
+
if (status === 401 || status === 403) {
|
|
64
|
+
verifySpinner.stop('Login failed: the gateway rejected that token.');
|
|
65
|
+
p.log.error('That token was not accepted. Run `align login` again.');
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
58
68
|
verifySpinner.stop('Token saved (gateway unreachable for verification)');
|
|
59
69
|
config.setAuthToken(envName, token);
|
|
60
70
|
p.log.warn('Check the gateway is reachable with: align dev status');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-flow.js","sourceRoot":"","sources":["../../src/lib/login-flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"login-flow.js","sourceRoot":"","sources":["../../src/lib/login-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-env.d.ts","sourceRoot":"","sources":["../../src/lib/resolve-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAI9D,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve-env.d.ts","sourceRoot":"","sources":["../../src/lib/resolve-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAI9D,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAwBpG"}
|
package/dist/lib/resolve-env.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createConfigStore } from './config.js';
|
|
2
2
|
const VALID_ENVS = ['local', 'preview', 'prod'];
|
|
3
|
-
export function resolveEnv(flagValue) {
|
|
3
|
+
export function resolveEnv(flagValue, opts = {}) {
|
|
4
4
|
if (flagValue && VALID_ENVS.includes(flagValue)) {
|
|
5
5
|
return flagValue;
|
|
6
6
|
}
|
|
@@ -8,6 +8,21 @@ export function resolveEnv(flagValue) {
|
|
|
8
8
|
if (fromEnvVar && VALID_ENVS.includes(fromEnvVar)) {
|
|
9
9
|
return fromEnvVar;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
const config = createConfigStore();
|
|
12
|
+
const defaultEnv = config.getDefaultEnv();
|
|
13
|
+
// A user who ran `align setup --local` has local-embedded configured but the
|
|
14
|
+
// default env stays a cloud env (deliberate, so cloud-only commands are not
|
|
15
|
+
// hijacked). For the read/query commands that local DOES serve (ask/search/
|
|
16
|
+
// check), prefer the local graph when the cloud default is unauthenticated -
|
|
17
|
+
// otherwise a no-account local user's first `align ask` silently 401s the cloud.
|
|
18
|
+
// A logged-in user (cloud token present) is never redirected.
|
|
19
|
+
if (opts.preferLocalEmbedded && defaultEnv !== 'local') {
|
|
20
|
+
const local = config.getEnvironment('local');
|
|
21
|
+
const cloud = config.getEnvironment(defaultEnv);
|
|
22
|
+
if (local.mode === 'local-embedded' && !cloud.authToken && cloud.mode !== 'demo') {
|
|
23
|
+
return 'local';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return defaultEnv;
|
|
12
27
|
}
|
|
13
28
|
//# sourceMappingURL=resolve-env.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-env.js","sourceRoot":"","sources":["../../src/lib/resolve-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAE9D,MAAM,UAAU,GAAc,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAE3D,MAAM,UAAU,UAAU,CAAC,SAAkB;
|
|
1
|
+
{"version":3,"file":"resolve-env.js","sourceRoot":"","sources":["../../src/lib/resolve-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAE9D,MAAM,UAAU,GAAc,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAE3D,MAAM,UAAU,UAAU,CAAC,SAAkB,EAAE,OAA0C,EAAE;IACzF,IAAI,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAoB,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAoB,CAAC;IAC9B,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAqB,CAAC,EAAE,CAAC;QAC7D,OAAO,UAAqB,CAAC;IAC/B,CAAC;IACD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IAC1C,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,iFAAiF;IACjF,8DAA8D;IAC9D,IAAI,IAAI,CAAC,mBAAmB,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjF,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aligndottech/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Align CLI - capture decisions, check alignment, and manage connectors",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"align",
|
|
8
|
+
"decisions",
|
|
9
|
+
"decision-graph",
|
|
10
|
+
"mcp",
|
|
11
|
+
"ai-agents",
|
|
12
|
+
"claude-code",
|
|
13
|
+
"cursor",
|
|
14
|
+
"cli"
|
|
15
|
+
],
|
|
16
|
+
"author": "Align (https://align.tech)",
|
|
6
17
|
"license": "MIT",
|
|
18
|
+
"homepage": "https://github.com/aligndottech/align-cli#readme",
|
|
19
|
+
"bugs": {
|
|
20
|
+
"url": "https://github.com/aligndottech/align-cli/issues"
|
|
21
|
+
},
|
|
7
22
|
"bin": {
|
|
8
23
|
"align": "./dist/index.js"
|
|
9
24
|
},
|
|
10
25
|
"scripts": {
|
|
11
26
|
"build": "tsc -p tsconfig.json",
|
|
27
|
+
"prepublishOnly": "npm run build",
|
|
12
28
|
"dev": "tsx src/index.ts",
|
|
13
29
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
14
30
|
"lint": "eslint .",
|
|
@@ -20,7 +36,6 @@
|
|
|
20
36
|
"@aligndottech/connector-core": "^0.2.0",
|
|
21
37
|
"@clack/prompts": "^0.9.1",
|
|
22
38
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
23
|
-
"@xenova/transformers": "^2.17.2",
|
|
24
39
|
"better-sqlite3": "^12.10.0",
|
|
25
40
|
"chalk": "^5.3.0",
|
|
26
41
|
"commander": "^12.1.0",
|
|
@@ -45,6 +60,9 @@
|
|
|
45
60
|
"typescript": "^5.6.0",
|
|
46
61
|
"vitest": "^3.2.4"
|
|
47
62
|
},
|
|
63
|
+
"optionalDependencies": {
|
|
64
|
+
"@xenova/transformers": "^2.17.2"
|
|
65
|
+
},
|
|
48
66
|
"engines": {
|
|
49
67
|
"node": ">=20"
|
|
50
68
|
},
|