@aligndottech/cli 0.47.1 → 0.48.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/dist/commands/agents.d.ts +20 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +60 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/registry.js +3 -0
- package/dist/commands/registry.js.map +1 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/use.js +1 -1
- package/dist/commands/use.js.map +1 -1
- package/dist/lib/launch/adapters/claude-code.d.ts +8 -0
- package/dist/lib/launch/adapters/claude-code.d.ts.map +1 -1
- package/dist/lib/launch/adapters/claude-code.js.map +1 -1
- package/dist/lib/launch/adapters/codex.d.ts +17 -0
- package/dist/lib/launch/adapters/codex.d.ts.map +1 -0
- package/dist/lib/launch/adapters/codex.js +44 -0
- package/dist/lib/launch/adapters/codex.js.map +1 -0
- package/dist/lib/launch/adapters/copilot.d.ts +17 -0
- package/dist/lib/launch/adapters/copilot.d.ts.map +1 -0
- package/dist/lib/launch/adapters/copilot.js +29 -0
- package/dist/lib/launch/adapters/copilot.js.map +1 -0
- package/dist/lib/launch/adapters/gemini-cli.d.ts +25 -0
- package/dist/lib/launch/adapters/gemini-cli.d.ts.map +1 -0
- package/dist/lib/launch/adapters/gemini-cli.js +73 -0
- package/dist/lib/launch/adapters/gemini-cli.js.map +1 -0
- package/dist/lib/launch/agents.d.ts +12 -2
- package/dist/lib/launch/agents.d.ts.map +1 -1
- package/dist/lib/launch/agents.js +17 -1
- package/dist/lib/launch/agents.js.map +1 -1
- package/dist/lib/launch/codex-state.d.ts +31 -0
- package/dist/lib/launch/codex-state.d.ts.map +1 -0
- package/dist/lib/launch/codex-state.js +92 -0
- package/dist/lib/launch/codex-state.js.map +1 -0
- package/dist/lib/launch/copilot-state.d.ts +19 -0
- package/dist/lib/launch/copilot-state.d.ts.map +1 -0
- package/dist/lib/launch/copilot-state.js +51 -0
- package/dist/lib/launch/copilot-state.js.map +1 -0
- package/dist/lib/launch/gemini-state.d.ts +32 -0
- package/dist/lib/launch/gemini-state.d.ts.map +1 -0
- package/dist/lib/launch/gemini-state.js +59 -0
- package/dist/lib/launch/gemini-state.js.map +1 -0
- package/dist/lib/launch/gemini-trust.d.ts +26 -0
- package/dist/lib/launch/gemini-trust.d.ts.map +1 -0
- package/dist/lib/launch/gemini-trust.js +103 -0
- package/dist/lib/launch/gemini-trust.js.map +1 -0
- package/dist/lib/launch/install.d.ts +33 -0
- package/dist/lib/launch/install.d.ts.map +1 -0
- package/dist/lib/launch/install.js +48 -0
- package/dist/lib/launch/install.js.map +1 -0
- package/dist/lib/launch/launch-files.d.ts +15 -0
- package/dist/lib/launch/launch-files.d.ts.map +1 -1
- package/dist/lib/launch/launch-files.js +64 -4
- package/dist/lib/launch/launch-files.js.map +1 -1
- package/dist/lib/launch/launch.d.ts +27 -6
- package/dist/lib/launch/launch.d.ts.map +1 -1
- package/dist/lib/launch/launch.js +64 -28
- package/dist/lib/launch/launch.js.map +1 -1
- package/dist/lib/launch/pick-agent.d.ts +12 -5
- package/dist/lib/launch/pick-agent.d.ts.map +1 -1
- package/dist/lib/launch/pick-agent.js +46 -19
- package/dist/lib/launch/pick-agent.js.map +1 -1
- package/dist/lib/launch/picker-options.d.ts +30 -0
- package/dist/lib/launch/picker-options.d.ts.map +1 -0
- package/dist/lib/launch/picker-options.js +42 -0
- package/dist/lib/launch/picker-options.js.map +1 -0
- package/dist/lib/launch/prompts.d.ts +11 -0
- package/dist/lib/launch/prompts.d.ts.map +1 -0
- package/dist/lib/launch/prompts.js +27 -0
- package/dist/lib/launch/prompts.js.map +1 -0
- package/dist/lib/launch/registry/agents/claude-code.js +1 -1
- package/dist/lib/launch/registry/agents/claude-code.js.map +1 -1
- package/dist/lib/launch/registry/agents/codex.d.ts.map +1 -1
- package/dist/lib/launch/registry/agents/codex.js +4 -2
- package/dist/lib/launch/registry/agents/codex.js.map +1 -1
- package/dist/lib/launch/registry/agents/copilot.d.ts +3 -0
- package/dist/lib/launch/registry/agents/copilot.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/copilot.js +11 -0
- package/dist/lib/launch/registry/agents/copilot.js.map +1 -0
- package/dist/lib/launch/registry/agents/cursor.js +1 -1
- package/dist/lib/launch/registry/agents/cursor.js.map +1 -1
- package/dist/lib/launch/registry/agents/gemini-cli.d.ts.map +1 -1
- package/dist/lib/launch/registry/agents/gemini-cli.js +4 -2
- package/dist/lib/launch/registry/agents/gemini-cli.js.map +1 -1
- package/dist/lib/launch/registry/agents/opencode.js +1 -1
- package/dist/lib/launch/registry/agents/opencode.js.map +1 -1
- package/dist/lib/launch/registry/agents/pi.js +1 -1
- package/dist/lib/launch/registry/agents/pi.js.map +1 -1
- package/dist/lib/launch/registry/index.d.ts +1 -1
- package/dist/lib/launch/registry/index.d.ts.map +1 -1
- package/dist/lib/launch/registry/index.js +3 -2
- package/dist/lib/launch/registry/index.js.map +1 -1
- package/dist/lib/launch/registry/types.d.ts +13 -2
- package/dist/lib/launch/registry/types.d.ts.map +1 -1
- package/dist/lib/launch/run-agent.d.ts +4 -0
- package/dist/lib/launch/run-agent.d.ts.map +1 -1
- package/dist/lib/launch/run-agent.js +1 -1
- package/dist/lib/launch/run-agent.js.map +1 -1
- package/dist/lib/launch/strict-entry.d.ts +49 -0
- package/dist/lib/launch/strict-entry.d.ts.map +1 -0
- package/dist/lib/launch/strict-entry.js +106 -0
- package/dist/lib/launch/strict-entry.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The strict "Align is already here" test for the wave A agents (Codex, Gemini CLI, Copilot).
|
|
3
|
+
* Project and workspace files are untrusted input, so an entry stands in for the injected
|
|
4
|
+
* `align-local` only when it is EXACTLY align's own local server: the command, the args, and
|
|
5
|
+
* no other key that could change what runs (env, cwd, url, envFile, a timeout, a filter...).
|
|
6
|
+
*
|
|
7
|
+
* Deliberately separate from project-state.ts's isLocalAlignServer (Claude Code, pi, Cursor),
|
|
8
|
+
* which matches any command line that mentions align and mcp.
|
|
9
|
+
*/
|
|
10
|
+
export type StrictHost = 'mcpServers' | 'codex' | 'copilot';
|
|
11
|
+
export interface CanonicalOptions {
|
|
12
|
+
/** Whether a bare `align mcp` reads the local graph on this machine. */
|
|
13
|
+
localIsDefault: boolean;
|
|
14
|
+
platform: string;
|
|
15
|
+
host: StrictHost;
|
|
16
|
+
}
|
|
17
|
+
type Json = Record<string, unknown>;
|
|
18
|
+
export declare function isCanonicalLocalEntry(entry: unknown, o: CanonicalOptions): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* JSON with `//` and block comments removed, the way Gemini reads its settings and
|
|
21
|
+
* trustedFolders.json (strip-json-comments). Comment markers inside strings are kept. Comments
|
|
22
|
+
* become spaces, so line and column numbers in a parse error still point at the right place.
|
|
23
|
+
*/
|
|
24
|
+
export declare function stripJsonComments(text: string): string;
|
|
25
|
+
/** JSON or JSONC as an object; null when it is not one. */
|
|
26
|
+
export declare function parseJsonc(text: string | null): Json | null;
|
|
27
|
+
/** What the agent's loaded config layers already hold for Align, decided by the strict test above. */
|
|
28
|
+
export interface AlignLocalState {
|
|
29
|
+
/** A layer the agent loads already runs align's own local server (align-local or align). */
|
|
30
|
+
present: boolean;
|
|
31
|
+
/** Files whose `align-local` this launch replaces whole with align's own. */
|
|
32
|
+
overridden: string[];
|
|
33
|
+
/** A file whose `align-local` cannot be replaced whole: no graph this session. */
|
|
34
|
+
conflict?: string;
|
|
35
|
+
}
|
|
36
|
+
/** One config layer the agent loads, and its servers object (absent when the file has none). */
|
|
37
|
+
export interface Layer {
|
|
38
|
+
file: string;
|
|
39
|
+
servers: unknown;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Fold the loaded layers, in the agent's merge order, into an AlignLocalState.
|
|
43
|
+
* `replaceable(entry)`: whether this launch's injection overwrites EVERY key of a non-canonical
|
|
44
|
+
* align-local (Gemini: always, its system tier replaces the entry whole; Codex: only when it
|
|
45
|
+
* carries nothing beyond command/args/enabled; Copilot: never known, so never).
|
|
46
|
+
*/
|
|
47
|
+
export declare function foldLayers(layers: Layer[], o: CanonicalOptions, replaceable: (entry: unknown) => boolean): AlignLocalState;
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=strict-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict-entry.d.ts","sourceRoot":"","sources":["../../../src/lib/launch/strict-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAepC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAelF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0BtD;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAQ3D;AAED,sGAAsG;AACtG,MAAM,WAAW,eAAe;IAC9B,4FAA4F;IAC5F,OAAO,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gGAAgG;AAChG,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,eAAe,CAY1H"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
const isObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
2
|
+
const sameArgs = (a, b) => Array.isArray(a) && a.length === b.length && a.every((x, i) => x === b[i]);
|
|
3
|
+
/** The keys each host's canonical entry may carry, beyond command and args, and what they must hold. */
|
|
4
|
+
const EXTRA = {
|
|
5
|
+
mcpServers: {},
|
|
6
|
+
// `enabled = false` leaves the server configured and not started: not doing our job.
|
|
7
|
+
codex: { enabled: (v) => v === true },
|
|
8
|
+
// Copilot needs `type`, and a `tools` allowlist: without '*' the tools are not callable.
|
|
9
|
+
copilot: { type: (v) => v === 'local' || v === 'stdio', tools: (v) => sameArgs(v, ['*']) },
|
|
10
|
+
};
|
|
11
|
+
const REQUIRED = { mcpServers: [], codex: [], copilot: ['type', 'tools'] };
|
|
12
|
+
export function isCanonicalLocalEntry(entry, o) {
|
|
13
|
+
if (!isObject(entry))
|
|
14
|
+
return false;
|
|
15
|
+
const extra = EXTRA[o.host];
|
|
16
|
+
for (const key of Object.keys(entry)) {
|
|
17
|
+
if (key === 'command' || key === 'args')
|
|
18
|
+
continue;
|
|
19
|
+
// Own keys of the allowlist only: an entry's `constructor`, `toString` or an own `__proto__`
|
|
20
|
+
// (JSON.parse and smol-toml both return one) must not reach Object.prototype's members.
|
|
21
|
+
if (!Object.hasOwn(extra, key) || !extra[key](entry[key]))
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
if (!REQUIRED[o.host].every((k) => Object.hasOwn(entry, k)))
|
|
25
|
+
return false;
|
|
26
|
+
// On win32 an npm global install is align.cmd, which only cmd can spawn (mcp-setup.ts, ALI-1135).
|
|
27
|
+
const [command, prefix] = o.platform === 'win32' ? ['cmd', ['/c', 'align']] : ['align', []];
|
|
28
|
+
if (entry['command'] !== command)
|
|
29
|
+
return false;
|
|
30
|
+
const accepted = o.localIsDefault ? [['mcp'], ['mcp', '--env', 'local']] : [['mcp', '--env', 'local']];
|
|
31
|
+
return accepted.some((a) => sameArgs(entry['args'], [...prefix, ...a]));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* JSON with `//` and block comments removed, the way Gemini reads its settings and
|
|
35
|
+
* trustedFolders.json (strip-json-comments). Comment markers inside strings are kept. Comments
|
|
36
|
+
* become spaces, so line and column numbers in a parse error still point at the right place.
|
|
37
|
+
*/
|
|
38
|
+
export function stripJsonComments(text) {
|
|
39
|
+
let out = '';
|
|
40
|
+
let i = 0;
|
|
41
|
+
while (i < text.length) {
|
|
42
|
+
const c = text[i];
|
|
43
|
+
if (c === '"') {
|
|
44
|
+
let j = i + 1;
|
|
45
|
+
while (j < text.length && text[j] !== '"')
|
|
46
|
+
j += text[j] === '\\' ? 2 : 1;
|
|
47
|
+
out += text.slice(i, j + 1);
|
|
48
|
+
i = j + 1;
|
|
49
|
+
}
|
|
50
|
+
else if (c === '/' && text[i + 1] === '/') {
|
|
51
|
+
const end = text.indexOf('\n', i);
|
|
52
|
+
const stop = end < 0 ? text.length : end;
|
|
53
|
+
out += ' '.repeat(stop - i);
|
|
54
|
+
i = stop;
|
|
55
|
+
}
|
|
56
|
+
else if (c === '/' && text[i + 1] === '*') {
|
|
57
|
+
const end = text.indexOf('*/', i + 2);
|
|
58
|
+
const stop = end < 0 ? text.length : end + 2;
|
|
59
|
+
out += text.slice(i, stop).replace(/[^\n]/g, ' ');
|
|
60
|
+
i = stop;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
out += c;
|
|
64
|
+
i += 1;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return out;
|
|
68
|
+
}
|
|
69
|
+
/** JSON or JSONC as an object; null when it is not one. */
|
|
70
|
+
export function parseJsonc(text) {
|
|
71
|
+
if (text === null)
|
|
72
|
+
return null;
|
|
73
|
+
try {
|
|
74
|
+
const parsed = JSON.parse(stripJsonComments(text));
|
|
75
|
+
return isObject(parsed) ? parsed : null;
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Fold the loaded layers, in the agent's merge order, into an AlignLocalState.
|
|
83
|
+
* `replaceable(entry)`: whether this launch's injection overwrites EVERY key of a non-canonical
|
|
84
|
+
* align-local (Gemini: always, its system tier replaces the entry whole; Codex: only when it
|
|
85
|
+
* carries nothing beyond command/args/enabled; Copilot: never known, so never).
|
|
86
|
+
*/
|
|
87
|
+
export function foldLayers(layers, o, replaceable) {
|
|
88
|
+
const state = { present: false, overridden: [] };
|
|
89
|
+
for (const { file, servers } of layers) {
|
|
90
|
+
if (!isObject(servers))
|
|
91
|
+
continue;
|
|
92
|
+
if (isCanonicalLocalEntry(servers['align'], o))
|
|
93
|
+
state.present = true;
|
|
94
|
+
if (!('align-local' in servers))
|
|
95
|
+
continue;
|
|
96
|
+
const ours = servers['align-local'];
|
|
97
|
+
if (isCanonicalLocalEntry(ours, o))
|
|
98
|
+
state.present = true;
|
|
99
|
+
else if (replaceable(ours))
|
|
100
|
+
state.overridden.push(file);
|
|
101
|
+
else
|
|
102
|
+
state.conflict ??= file;
|
|
103
|
+
}
|
|
104
|
+
return state;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=strict-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict-entry.js","sourceRoot":"","sources":["../../../src/lib/launch/strict-entry.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.
|
|
3
|
+
"version": "0.48.0",
|
|
4
4
|
"mcpName": "io.github.aligndottech/cli",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Align CLI - capture decisions, check alignment, and manage connectors",
|
|
@@ -46,7 +46,8 @@
|
|
|
46
46
|
"eventsource": "^3.0.2",
|
|
47
47
|
"execa": "^9.5.2",
|
|
48
48
|
"open": "^10.1.0",
|
|
49
|
-
"ora": "^8.1.1"
|
|
49
|
+
"ora": "^8.1.1",
|
|
50
|
+
"smol-toml": "1.9.0"
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|
|
52
53
|
"@eslint/js": "^9.0.0",
|