@aligndottech/cli 0.37.1 → 0.38.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 +16 -10
- package/dist/cli.d.ts +28 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +98 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/check.d.ts +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +44 -2
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/connect-agents.d.ts +1 -0
- package/dist/commands/connect-agents.d.ts.map +1 -1
- package/dist/commands/connect-agents.js +10 -6
- package/dist/commands/connect-agents.js.map +1 -1
- package/dist/commands/connect.d.ts +31 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +92 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +52 -10
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/decisions/index.d.ts.map +1 -1
- package/dist/commands/decisions/index.js +5 -0
- package/dist/commands/decisions/index.js.map +1 -1
- package/dist/commands/default-action.d.ts +3 -1
- package/dist/commands/default-action.d.ts.map +1 -1
- package/dist/commands/default-action.js +29 -27
- package/dist/commands/default-action.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +3 -0
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import/sessions.d.ts +10 -2
- package/dist/commands/import/sessions.d.ts.map +1 -1
- package/dist/commands/import/sessions.js +98 -3
- package/dist/commands/import/sessions.js.map +1 -1
- package/dist/commands/import.d.ts +7 -0
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +42 -2
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/invite.d.ts +25 -0
- package/dist/commands/invite.d.ts.map +1 -0
- package/dist/commands/invite.js +68 -0
- package/dist/commands/invite.js.map +1 -0
- package/dist/commands/links.d.ts.map +1 -1
- package/dist/commands/links.js +5 -0
- package/dist/commands/links.js.map +1 -1
- package/dist/commands/mcp.d.ts +64 -35
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +85 -40
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/ratify.d.ts.map +1 -1
- package/dist/commands/ratify.js +21 -0
- package/dist/commands/ratify.js.map +1 -1
- package/dist/commands/registry.d.ts +30 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/registry.js +70 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/commands/setup.d.ts +45 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +197 -88
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +10 -22
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/telemetry.d.ts +7 -3
- package/dist/commands/telemetry.d.ts.map +1 -1
- package/dist/commands/telemetry.js +12 -7
- package/dist/commands/telemetry.js.map +1 -1
- package/dist/commands/why.d.ts.map +1 -1
- package/dist/commands/why.js +52 -10
- package/dist/commands/why.js.map +1 -1
- package/dist/index.js +4 -90
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-rules.d.ts +1 -0
- package/dist/lib/agent-rules.d.ts.map +1 -1
- package/dist/lib/agent-rules.js +60 -0
- package/dist/lib/agent-rules.js.map +1 -1
- package/dist/lib/commands-doc.d.ts +15 -0
- package/dist/lib/commands-doc.d.ts.map +1 -0
- package/dist/lib/commands-doc.js +85 -0
- package/dist/lib/commands-doc.js.map +1 -0
- package/dist/lib/config.d.ts +7 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/connect-prompt.d.ts +1 -1
- package/dist/lib/connect-prompt.js +2 -2
- package/dist/lib/connect-prompt.js.map +1 -1
- package/dist/lib/decision-links.d.ts +39 -0
- package/dist/lib/decision-links.d.ts.map +1 -1
- package/dist/lib/decision-links.js +51 -0
- package/dist/lib/decision-links.js.map +1 -1
- package/dist/lib/first-decision.d.ts +22 -0
- package/dist/lib/first-decision.d.ts.map +1 -0
- package/dist/lib/first-decision.js +22 -0
- package/dist/lib/first-decision.js.map +1 -0
- package/dist/lib/gateway-client.d.ts +13 -0
- package/dist/lib/gateway-client.d.ts.map +1 -1
- package/dist/lib/gateway-client.js +14 -0
- package/dist/lib/gateway-client.js.map +1 -1
- package/dist/lib/git.d.ts +28 -0
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +42 -0
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/hook-context.d.ts +7 -0
- package/dist/lib/hook-context.d.ts.map +1 -0
- package/dist/lib/hook-context.js +37 -0
- package/dist/lib/hook-context.js.map +1 -0
- package/dist/lib/hook-payload.d.ts +7 -0
- package/dist/lib/hook-payload.d.ts.map +1 -1
- package/dist/lib/hook-payload.js +56 -8
- package/dist/lib/hook-payload.js.map +1 -1
- package/dist/lib/invite-prompt.d.ts +46 -0
- package/dist/lib/invite-prompt.d.ts.map +1 -0
- package/dist/lib/invite-prompt.js +63 -0
- package/dist/lib/invite-prompt.js.map +1 -0
- package/dist/lib/mcp-instructions.shared.d.ts +40 -0
- package/dist/lib/mcp-instructions.shared.d.ts.map +1 -0
- package/dist/lib/mcp-instructions.shared.js +56 -0
- package/dist/lib/mcp-instructions.shared.js.map +1 -0
- package/dist/lib/mcp-setup.d.ts +32 -2
- package/dist/lib/mcp-setup.d.ts.map +1 -1
- package/dist/lib/mcp-setup.js +92 -6
- package/dist/lib/mcp-setup.js.map +1 -1
- package/dist/lib/next-step.d.ts +92 -0
- package/dist/lib/next-step.d.ts.map +1 -0
- package/dist/lib/next-step.js +97 -0
- package/dist/lib/next-step.js.map +1 -0
- package/dist/lib/personal-email-domains.d.ts +8 -0
- package/dist/lib/personal-email-domains.d.ts.map +1 -0
- package/dist/lib/personal-email-domains.js +39 -0
- package/dist/lib/personal-email-domains.js.map +1 -0
- package/dist/lib/personal-import.d.ts +2 -0
- package/dist/lib/personal-import.d.ts.map +1 -1
- package/dist/lib/personal-import.js +4 -1
- package/dist/lib/personal-import.js.map +1 -1
- package/dist/lib/read-value-rollup.d.ts +18 -0
- package/dist/lib/read-value-rollup.d.ts.map +1 -0
- package/dist/lib/read-value-rollup.js +33 -0
- package/dist/lib/read-value-rollup.js.map +1 -0
- package/dist/lib/sessions/import-summary.d.ts +39 -0
- package/dist/lib/sessions/import-summary.d.ts.map +1 -0
- package/dist/lib/sessions/import-summary.js +41 -0
- package/dist/lib/sessions/import-summary.js.map +1 -0
- package/dist/lib/sessions/memory-files.d.ts +85 -0
- package/dist/lib/sessions/memory-files.d.ts.map +1 -0
- package/dist/lib/sessions/memory-files.js +235 -0
- package/dist/lib/sessions/memory-files.js.map +1 -0
- package/dist/lib/sessions/source-url.d.ts +11 -0
- package/dist/lib/sessions/source-url.d.ts.map +1 -1
- package/dist/lib/sessions/source-url.js +15 -0
- package/dist/lib/sessions/source-url.js.map +1 -1
- package/dist/lib/setup-funnel.d.ts +41 -0
- package/dist/lib/setup-funnel.d.ts.map +1 -0
- package/dist/lib/setup-funnel.js +28 -0
- package/dist/lib/setup-funnel.js.map +1 -0
- package/dist/lib/telemetry-consent.d.ts +17 -8
- package/dist/lib/telemetry-consent.d.ts.map +1 -1
- package/dist/lib/telemetry-consent.js +21 -6
- package/dist/lib/telemetry-consent.js.map +1 -1
- package/dist/lib/telemetry-env.d.ts +19 -0
- package/dist/lib/telemetry-env.d.ts.map +1 -0
- package/dist/lib/telemetry-env.js +13 -0
- package/dist/lib/telemetry-env.js.map +1 -0
- package/dist/lib/usage-telemetry.d.ts +108 -13
- package/dist/lib/usage-telemetry.d.ts.map +1 -1
- package/dist/lib/usage-telemetry.js +227 -55
- package/dist/lib/usage-telemetry.js.map +1 -1
- package/dist/lib/user-hooks.d.ts +15 -0
- package/dist/lib/user-hooks.d.ts.map +1 -0
- package/dist/lib/user-hooks.js +144 -0
- package/dist/lib/user-hooks.js.map +1 -0
- package/dist/lib/value-rollup.d.ts +10 -3
- package/dist/lib/value-rollup.d.ts.map +1 -1
- package/dist/lib/value-rollup.js +11 -4
- package/dist/lib/value-rollup.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -31,10 +31,15 @@ MIT. No account needed. Beta, pre-1.0.
|
|
|
31
31
|
|
|
32
32
|
Run it inside a git repository. `--local` seeds the graph from your commit history, so you have
|
|
33
33
|
something to ask about straight away, and your decisions stay in a SQLite file on your machine.
|
|
34
|
-
|
|
34
|
+
Your decisions and code never go to Align. It sends two anonymous counts by default (install,
|
|
35
|
+
setup completed); usage only with your consent; `align telemetry off` or `DO_NOT_TRACK=1` stops
|
|
36
|
+
all of it. [What touches the network](docs/local-mode.md), and [every field](docs/telemetry.md).
|
|
35
37
|
|
|
36
38
|
Want sync across machines and cross-tool relationship detection? Drop the flag. `align setup`
|
|
37
|
-
logs you in
|
|
39
|
+
logs you in - a work email lands you in your company's graph (first person in is the admin,
|
|
40
|
+
the next colleague on that domain joins it automatically); a personal email gets you a graph
|
|
41
|
+
of your own, joinable to a company graph later by invite. It also connects your tools via
|
|
42
|
+
read-only OAuth and wires up your editors.
|
|
38
43
|
|
|
39
44
|
## How it works
|
|
40
45
|
|
|
@@ -75,19 +80,19 @@ other three. Full per-host matrix: [docs/agent-hooks.md](docs/agent-hooks.md).
|
|
|
75
80
|
## Everyday commands
|
|
76
81
|
|
|
77
82
|
```bash
|
|
83
|
+
align # set up, or see your graph and what to do next
|
|
78
84
|
align ask "how does our auth work" # natural language answer with sources
|
|
79
|
-
align search "authentication" # ranked list, no AI needed
|
|
80
85
|
align ask src/auth/session.ts # a file path finds decisions about that file
|
|
81
|
-
align import git
|
|
82
|
-
align
|
|
83
|
-
align import jira --token ... # add more sources
|
|
84
|
-
align capture <url> # capture one decision from a PR, ticket or thread
|
|
86
|
+
align connect # pick a source to import: git, docs, jira, github, ...
|
|
87
|
+
align connect jira --token ... # one source, straight in
|
|
85
88
|
align check # check your staged diff against the graph
|
|
86
|
-
align
|
|
87
|
-
align ratify <id> # stand behind an agent-made decision, as a human
|
|
88
|
-
align push <id> # send one ratified local decision to the shared graph
|
|
89
|
+
align mcp --setup # wire your agent to the graph
|
|
89
90
|
```
|
|
90
91
|
|
|
92
|
+
That is the whole of `align --help`. Every other command (`search`, `decisions`, `export`,
|
|
93
|
+
`ratify`, `push`, `context`, `local`, ...) still works and is listed in
|
|
94
|
+
[docs/commands.md](docs/commands.md).
|
|
95
|
+
|
|
91
96
|
`align ask` needs an AI provider to write prose. Without one it returns the matching decisions
|
|
92
97
|
as a ranked list, which needs no key. Bring your own: Anthropic, OpenAI, Gemini, Groq, Mistral,
|
|
93
98
|
Grok, any OpenAI-compatible endpoint, or a local Ollama.
|
|
@@ -100,6 +105,7 @@ Grok, any OpenAI-compatible endpoint, or a local Ollama.
|
|
|
100
105
|
| [Importing](docs/importing.md) | Every source, tokens, flags |
|
|
101
106
|
| [Alignment check](docs/check.md) | Modes, exit codes, CI, the GitHub Action |
|
|
102
107
|
| [Cloud or local-only](docs/local-mode.md) | What runs where, what touches the network |
|
|
108
|
+
| [Telemetry](docs/telemetry.md) | Every event and field, and how to stop it |
|
|
103
109
|
| [MCP server](docs/mcp.md) | Editor config, the tools your assistant gets |
|
|
104
110
|
| [Configuration](docs/configuration.md) | AI providers, env vars, auth, self-hosting |
|
|
105
111
|
| [Agent hooks](docs/agent-hooks.md) | Per-host capability matrix |
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/** Where every hidden command is documented; `align --help` points here instead of listing them. */
|
|
3
|
+
export declare const COMMANDS_DOC_URL = "https://github.com/aligndottech/align-cli/blob/main/docs/commands.md";
|
|
4
|
+
/**
|
|
5
|
+
* The five-entry root help (ALI-951). Rendered from the registry, never from Commander's
|
|
6
|
+
* command list, so a command is visible only by choosing so in COMMAND_REGISTRY. Subcommand
|
|
7
|
+
* help (`align connect --help`) keeps Commander's default, which lists that command's own
|
|
8
|
+
* subcommands and flags.
|
|
9
|
+
*/
|
|
10
|
+
export declare function renderRootHelp(program: Command): string;
|
|
11
|
+
export interface BuildProgramOptions {
|
|
12
|
+
/** Register the ALIGN_INTERNAL=1 commands too. Default: the env var decides. */
|
|
13
|
+
internal?: boolean;
|
|
14
|
+
/** Tests: make Commander throw instead of calling process.exit, and capture its output.
|
|
15
|
+
* Applied BEFORE registration so every subcommand inherits it. */
|
|
16
|
+
exitOverride?: boolean;
|
|
17
|
+
output?: {
|
|
18
|
+
writeOut?: (s: string) => void;
|
|
19
|
+
writeErr?: (s: string) => void;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The whole command tree, built from the registry and nothing else (ALI-951). index.ts
|
|
24
|
+
* calls this once and parses; tests and the doc generator call it to read the tree without
|
|
25
|
+
* running anything.
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildProgram(options?: BuildProgramOptions): Command;
|
|
28
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAO1C,oGAAoG;AACpG,eAAO,MAAM,gBAAgB,yEAAyE,CAAC;AAEvG;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAqBvD;AAED,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;uEACmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CAC7E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CA4DvE"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Command, Help } from 'commander';
|
|
2
|
+
import pkg from '../package.json' with { type: 'json' };
|
|
3
|
+
import { COMMAND_REGISTRY, ROOT_SUMMARY, visibleEntries } from './commands/registry.js';
|
|
4
|
+
import { runDefaultAction } from './commands/default-action.js';
|
|
5
|
+
const { version } = pkg;
|
|
6
|
+
/** Where every hidden command is documented; `align --help` points here instead of listing them. */
|
|
7
|
+
export const COMMANDS_DOC_URL = 'https://github.com/aligndottech/align-cli/blob/main/docs/commands.md';
|
|
8
|
+
/**
|
|
9
|
+
* The five-entry root help (ALI-951). Rendered from the registry, never from Commander's
|
|
10
|
+
* command list, so a command is visible only by choosing so in COMMAND_REGISTRY. Subcommand
|
|
11
|
+
* help (`align connect --help`) keeps Commander's default, which lists that command's own
|
|
12
|
+
* subcommands and flags.
|
|
13
|
+
*/
|
|
14
|
+
export function renderRootHelp(program) {
|
|
15
|
+
const rows = [['align', ROOT_SUMMARY]];
|
|
16
|
+
for (const entry of visibleEntries()) {
|
|
17
|
+
for (const name of entry.names) {
|
|
18
|
+
const cmd = program.commands.find((c) => c.name() === name);
|
|
19
|
+
const args = cmd?.registeredArguments.map((a) => (a.required ? `<${a.name()}>` : `[${a.name()}]`)).join(' ') ?? '';
|
|
20
|
+
rows.push([args ? `${name} ${args}` : name, entry.summary]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const width = Math.max(...rows.map(([term]) => term.length));
|
|
24
|
+
const lines = rows.map(([term, summary]) => ` ${term.padEnd(width)} ${summary}`);
|
|
25
|
+
return [
|
|
26
|
+
'Usage: align [command]',
|
|
27
|
+
'',
|
|
28
|
+
...lines,
|
|
29
|
+
'',
|
|
30
|
+
`Every other command: ${COMMANDS_DOC_URL}`,
|
|
31
|
+
' -V, --version print the version',
|
|
32
|
+
' -h, --help show this help',
|
|
33
|
+
'',
|
|
34
|
+
].join('\n');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The whole command tree, built from the registry and nothing else (ALI-951). index.ts
|
|
38
|
+
* calls this once and parses; tests and the doc generator call it to read the tree without
|
|
39
|
+
* running anything.
|
|
40
|
+
*/
|
|
41
|
+
export function buildProgram(options = {}) {
|
|
42
|
+
const program = new Command();
|
|
43
|
+
if (options.exitOverride)
|
|
44
|
+
program.exitOverride();
|
|
45
|
+
if (options.output)
|
|
46
|
+
program.configureOutput(options.output);
|
|
47
|
+
program
|
|
48
|
+
.name('align')
|
|
49
|
+
.description('Align CLI - capture decisions, check alignment, and manage connectors')
|
|
50
|
+
.version(version);
|
|
51
|
+
// ALI-954: the install beacon - once per install id, on the very first run, BEFORE the
|
|
52
|
+
// command's action and therefore before any prompt it shows. preAction on the root fires for
|
|
53
|
+
// the root's own action (bare `align`) and for every subcommand. Fire-and-forget: the
|
|
54
|
+
// request is started here and Node keeps the process alive until it completes or the 2s
|
|
55
|
+
// timeout aborts it, so the wizard never waits on a blackholed network. Skips itself under
|
|
56
|
+
// DO_NOT_TRACK / ALIGN_TELEMETRY, after `align telemetry off`, when a cloud token is already
|
|
57
|
+
// in hand, and when the first command IS `align telemetry ...` (see recordInstallBeacon).
|
|
58
|
+
program.hook('preAction', async (_thisCommand, actionCommand) => {
|
|
59
|
+
const { invocationCommandPath, recordInstallBeacon } = await import('./lib/usage-telemetry.js');
|
|
60
|
+
void recordInstallBeacon(invocationCommandPath(actionCommand));
|
|
61
|
+
});
|
|
62
|
+
// ALI-403/ALI-618/ALI-954: one usage event per invocation, so CLI activation and weekly
|
|
63
|
+
// retention are countable in both cloud mode (opt-out) and local-embedded mode (with the
|
|
64
|
+
// stored consent - a no-op until the setup prompt or `align telemetry on` grants it). No-op
|
|
65
|
+
// under ALIGN_TELEMETRY=0 / DO_NOT_TRACK=1 in either mode. Runs after the command's own work,
|
|
66
|
+
// so a slow or blackholed gateway cannot delay the output the user came for.
|
|
67
|
+
program.hook('postAction', async (_thisCommand, actionCommand) => {
|
|
68
|
+
const { envFlagOf, invocationCommandPath, recordInvocationUsage } = await import('./lib/usage-telemetry.js');
|
|
69
|
+
// Full path ("local ask"), not the leaf name ("ask"), so recordCommandUsage can exclude the
|
|
70
|
+
// offline `local` group - a cloud-logged-in user running it still has a token in hand. The
|
|
71
|
+
// root action (bare `align`, ALI-773) has no parent and reports as 'align' (ALI-949) - the
|
|
72
|
+
// walk used to yield '' for it, so the primary first-run path was never counted.
|
|
73
|
+
// The command's OWN --env, not the default env: `align setup --local` leaves the default
|
|
74
|
+
// pointing at cloud on purpose, so reading the default reported local sessions as cloud ones.
|
|
75
|
+
// envFlagOf reads through to the parent, because `--env` is declared on both the `connect`
|
|
76
|
+
// group and its subcommands and Commander awards it to the parent (align-cli#79).
|
|
77
|
+
await recordInvocationUsage(envFlagOf(actionCommand), invocationCommandPath(actionCommand));
|
|
78
|
+
});
|
|
79
|
+
const internal = options.internal ?? process.env.ALIGN_INTERNAL === '1';
|
|
80
|
+
for (const entry of COMMAND_REGISTRY) {
|
|
81
|
+
if (entry.internal && !internal)
|
|
82
|
+
continue;
|
|
83
|
+
entry.register(program);
|
|
84
|
+
}
|
|
85
|
+
// `align` with no arguments (ALI-773). Without this Commander prints a twenty-command help
|
|
86
|
+
// wall, which is what a new user's first instinct gets them. Registered AFTER every command
|
|
87
|
+
// so it only fires when none of them matched; `align --help` and `align -V` are handled by
|
|
88
|
+
// Commander before this runs.
|
|
89
|
+
program.action(runDefaultAction);
|
|
90
|
+
// After registration, so subcommands (created above) keep the default help - configureHelp
|
|
91
|
+
// is copied into subcommands at creation time, not looked up through the parent.
|
|
92
|
+
const defaultHelp = new Help();
|
|
93
|
+
program.configureHelp({
|
|
94
|
+
formatHelp: (cmd, helper) => (cmd === program ? renderRootHelp(program) : defaultHelp.formatHelp(cmd, helper)),
|
|
95
|
+
});
|
|
96
|
+
return program;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/check.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ type RelatedDecision = {
|
|
|
30
30
|
};
|
|
31
31
|
export declare function buildRelatedOutput(decisions: RelatedDecision[], opts: AdvisoryRenderOpts): unknown | null;
|
|
32
32
|
export declare function buildUnknownOutput(opts: AdvisoryRenderOpts): unknown | null;
|
|
33
|
-
export type AdvisoryFormat = 'claude' | 'gemini' | 'pi' | 'opencode' | 'text';
|
|
33
|
+
export type AdvisoryFormat = 'claude' | 'codex' | 'cursor' | 'copilot' | 'gemini' | 'pi' | 'opencode' | 'text';
|
|
34
34
|
export interface AdvisoryRenderOpts {
|
|
35
35
|
pre: boolean;
|
|
36
36
|
format: AdvisoryFormat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AASjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AASjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAgChE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAS9D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+O3D;AA+ID,KAAK,gBAAgB,GAAG,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAkH1E,KAAK,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAKvE,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,GAAG,IAAI,CAQzG;AAID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,GAAG,IAAI,CAM3E;AAiED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/G,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B;AA6BD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,gBAAgB,EAAE,EAC7B,IAAI,EAAE,kBAAkB,GACvB,OAAO,GAAG,IAAI,CAQhB"}
|
package/dist/commands/check.js
CHANGED
|
@@ -2,12 +2,13 @@ import { Option } from 'commander';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import ora from 'ora';
|
|
4
4
|
import { spawn } from 'node:child_process';
|
|
5
|
-
import { readFileSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
5
|
+
import { existsSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
6
6
|
import { createConfigStore } from '../lib/config.js';
|
|
7
7
|
import { resolveEnv } from '../lib/resolve-env.js';
|
|
8
8
|
import { createGatewayClient } from '../lib/gateway-client.js';
|
|
9
9
|
import { getBaseDiff, getCurrentBranch, getHeadDiff, getStagedDiff, isGitRepo } from '../lib/git.js';
|
|
10
10
|
import { readHookPayload } from '../lib/hook-payload.js';
|
|
11
|
+
import { markHookContext } from '../lib/hook-context.js';
|
|
11
12
|
import { markSurfaced, recentlySurfaced } from '../lib/advisory-dedup.js';
|
|
12
13
|
import { adjudicationExistsFor, adjudicationPayloadPath, blockableVerdictFor, contentHashOf, inFlightAdjudications, markAdjudicationPending, MAX_CONCURRENT_ADJUDICATIONS, recordVerdict, } from '../lib/advisory-verdict.js';
|
|
13
14
|
import { CHECK_DEPTHS } from '../lib/check-depth.js';
|
|
@@ -58,18 +59,29 @@ export function registerCheckCommand(program) {
|
|
|
58
59
|
.option('--all', 'Check full HEAD diff, not just staged changes')
|
|
59
60
|
.option('--hook', 'Pre-commit mode: silent on no context, only fail on critical conflicts')
|
|
60
61
|
.option('--advisory', 'Agent hook mode: always exit 0, emit related (unadjudicated) decisions in the host agent\'s hook output shape. Detects pre vs post from the hook payload on stdin')
|
|
61
|
-
.option('--format <format>', 'Advisory output shape for the host agent: claude (default), gemini, pi, opencode, or text', 'claude')
|
|
62
|
+
.option('--format <format>', 'Advisory output shape for the host agent: claude (default), codex, cursor, copilot, gemini, pi, opencode, or text', 'claude')
|
|
62
63
|
.option('--block-on-critical', 'Advisory hook: adjudicate each proposed change in the background, and deny a RETRY of a change already judged a critical conflict (same tool, file and text - anything else proceeds). Opt-in on purpose - in local mode adjudication calls your own AI provider, once per edit (ALI-570)')
|
|
63
64
|
.addOption(
|
|
64
65
|
// The deferred adjudicator's entry point. Hidden: it is spawned by the advisory hook
|
|
65
66
|
// with a payload file, never typed by a person.
|
|
66
67
|
new Option('--adjudicate-deferred <file>', 'internal: run a deferred adjudication from a payload file').hideHelp())
|
|
67
68
|
.option('--ci', 'CI mode: JSON output to stdout for GitHub Actions')
|
|
69
|
+
.option('--json', 'Same output and exit codes as --ci: one JSON document on stdout')
|
|
68
70
|
.option('--title <text>', 'The decision being proposed, in words (e.g. the PR title). Without it the gateway adjudicates on the first 200 characters of the diff, which is a file header and a few + lines')
|
|
69
71
|
.option('--base <ref>', 'Diff against the merge base with <ref> (e.g. origin/main). Required in CI: a clean checkout has no staged or unstaged changes, so without it there is nothing to check and the command passes without looking')
|
|
70
72
|
.option('--depth <depth>', `How deep an answer to request: ${CHECK_DEPTHS.join(', ')} - related is retrieval only, full (the gateway default) adjudicates behind its similarity cost gate, exhaustive adjudicates whatever was retrieved (for strict CI gates whose fail-on treats unknown as failure, ALI-708). Ignored in --advisory mode, which is retrieval-only by design`)
|
|
71
73
|
.option('--resolve <resolution>', 'Record resolution for a conflict: <decision_id>:<type> where type is honored|overridden|context_changed')
|
|
72
74
|
.action(async (opts) => {
|
|
75
|
+
// ALI-951: `--json` is the machine contract `--ci` already is - same document, same exit
|
|
76
|
+
// codes (1 conflict, 2 unknown). One flag in the rest of this function, not two.
|
|
77
|
+
if (opts.json)
|
|
78
|
+
opts.ci = true;
|
|
79
|
+
// ALI-835: `--hook` and `--advisory` are the two ways this command runs as an agent hook.
|
|
80
|
+
// Marked once, here, before any work: the funnel emitter reads it and refuses to send,
|
|
81
|
+
// because a hook firing on every edit is not a person reaching a milestone. Marked for
|
|
82
|
+
// both flags rather than only --advisory, since --hook is the pre-commit hook path.
|
|
83
|
+
if (opts.hook || opts.advisory)
|
|
84
|
+
markHookContext();
|
|
73
85
|
// A typo'd depth must not silently become the gateway default: for a strict CI
|
|
74
86
|
// caller that quiet fall-through would reintroduce the exact unadjudicated skip
|
|
75
87
|
// --depth exhaustive exists to remove (ALI-708). Above the advisory early-return, so
|
|
@@ -298,6 +310,19 @@ async function runAdvisory(env, opts = {}) {
|
|
|
298
310
|
try {
|
|
299
311
|
const payload = await readHookPayload();
|
|
300
312
|
const pre = payload?.hook_event_name === 'PreToolUse';
|
|
313
|
+
// A USER-level hook does not run in the project (Cursor documents that user-level hook
|
|
314
|
+
// scripts run from ~/.cursor/), and everything below - the post-edit git diff, the
|
|
315
|
+
// dedup store, the verdict store - keys on process.cwd(). Move to the workspace the
|
|
316
|
+
// host named before touching any of them. Fail-open: a cwd that does not exist is left
|
|
317
|
+
// alone and the check proceeds wherever it was started (ALI-952).
|
|
318
|
+
if (payload?.cwd && existsSync(payload.cwd)) {
|
|
319
|
+
try {
|
|
320
|
+
process.chdir(payload.cwd);
|
|
321
|
+
}
|
|
322
|
+
catch {
|
|
323
|
+
// Stay put.
|
|
324
|
+
}
|
|
325
|
+
}
|
|
301
326
|
let text;
|
|
302
327
|
let context;
|
|
303
328
|
if (pre) {
|
|
@@ -586,6 +611,14 @@ function conflictContext(conflicts, closing) {
|
|
|
586
611
|
//
|
|
587
612
|
// claude Pre: hookSpecificOutput.additionalContext, or permissionDecision:'deny'
|
|
588
613
|
// Post: hookSpecificOutput.additionalContext
|
|
614
|
+
// codex Claude Code's shape verbatim (Codex hooks reference documents the same
|
|
615
|
+
// hookSpecificOutput block, additionalContext included).
|
|
616
|
+
// cursor preToolUse reads {permission, user_message, agent_message} and nothing else,
|
|
617
|
+
// so a non-blocking pre-check emits NOTHING; postToolUse carries
|
|
618
|
+
// {additional_context}. The Gemini split (ALI-952).
|
|
619
|
+
// copilot preToolUse reads {permissionDecision, permissionDecisionReason}; postToolUse
|
|
620
|
+
// carries {additionalContext}. Same split. A non-zero exit DENIES there, which
|
|
621
|
+
// is one more reason this command exits 0 without exception.
|
|
589
622
|
// gemini BeforeTool: decision:'deny' + reason. It has NO additionalContext channel,
|
|
590
623
|
// so a non-blocking pre-check emits NOTHING and lets AfterTool carry it.
|
|
591
624
|
// AfterTool: hookSpecificOutput.additionalContext
|
|
@@ -620,8 +653,17 @@ function renderForHost(summary, opts, blocking) {
|
|
|
620
653
|
case 'pi':
|
|
621
654
|
case 'opencode':
|
|
622
655
|
return blocking ? { block: true, reason: summary } : { context: summary };
|
|
656
|
+
case 'cursor':
|
|
657
|
+
if (opts.pre)
|
|
658
|
+
return blocking ? { permission: 'deny', user_message: summary, agent_message: summary } : null;
|
|
659
|
+
return { additional_context: summary };
|
|
660
|
+
case 'copilot':
|
|
661
|
+
if (opts.pre)
|
|
662
|
+
return blocking ? { permissionDecision: 'deny', permissionDecisionReason: summary } : null;
|
|
663
|
+
return { additionalContext: summary };
|
|
623
664
|
case 'text':
|
|
624
665
|
return summary;
|
|
666
|
+
case 'codex':
|
|
625
667
|
default:
|
|
626
668
|
if (blocking) {
|
|
627
669
|
return { hookSpecificOutput: { hookEventName, permissionDecision: 'deny', permissionDecisionReason: summary } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAErG,OAAO,EAAwC,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAmB,MAAM,uBAAuB,CAAC;AAEtE,wFAAwF;AACxF,sFAAsF;AACtF,6FAA6F;AAC7F,kFAAkF;AAClF,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,qFAAqF;AACrF,sFAAsF;AACtF,0DAA0D;AAC1D,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAQ,YAAkC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAuC;IAEvC,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxD,OAAO;QACL,GAAG,CAAC,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;SACpC,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC;SAChE,MAAM,CAAC,QAAQ,EAAE,wEAAwE,CAAC;SAC1F,MAAM,CAAC,YAAY,EAAE,mKAAmK,CAAC;SACzL,MAAM,CAAC,mBAAmB,EAAE,2FAA2F,EAAE,QAAQ,CAAC;SAClI,MAAM,CAAC,qBAAqB,EAAE,2RAA2R,CAAC;SAC1T,SAAS;IACR,qFAAqF;IACrF,gDAAgD;IAChD,IAAI,MAAM,CAAC,8BAA8B,EAAE,2DAA2D,CAAC,CAAC,QAAQ,EAAE,CACnH;SACA,MAAM,CAAC,MAAM,EAAE,mDAAmD,CAAC;SACnE,MAAM,CAAC,gBAAgB,EAAE,iLAAiL,CAAC;SAC3M,MAAM,CAAC,cAAc,EAAE,+MAA+M,CAAC;SACvO,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,2RAA2R,CAAC;SAC/W,MAAM,CAAC,wBAAwB,EAAE,yGAAyG,CAAC;SAC3I,MAAM,CAAC,KAAK,EAAE,IAAoO,EAAE,EAAE;QACrP,+EAA+E;QAC/E,gFAAgF;QAChF,qFAAqF;QACrF,gFAAgF;QAChF,+EAA+E;QAC/E,gFAAgF;QAChF,oEAAoE;QACpE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,oBAAoB,IAAI,CAAC,KAAK,sBAAsB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9F,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAA+B,CAAC;QAEnD,qFAAqF;QACrF,kFAAkF;QAClF,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,2EAA2E;QAC3E,0DAA0D;QAC1D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QAGD,IAAI,CAAC,MAAM,SAAS,EAAE,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,yBAAyB,CAAC;YAC1C,8EAA8E;YAC9E,6EAA6E;YAC7E,+EAA+E;YAC/E,+CAA+C;YAC/C,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,0FAA0F;QAC1F,0FAA0F;QAC1F,gEAAgE;QAChE,MAAM,OAAO,GAAY,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7E,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAEnE,IAAI,IAAY,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,mFAAmF;YACnF,oFAAoF;YACpF,kFAAkF;YAClF,sDAAsD;YACtD,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,2BAA2B,IAAI,CAAC,IAAI,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC;gBACnF,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;gBACtG,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG;gBAAE,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,iFAAiF;QACjF,kDAAkD;QAClD,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAElF,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa;oBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACjE,wEAAwE;gBACxE,2EAA2E;gBAC3E,kFAAkF;gBAClF,oDAAoD;gBACpD,OAAO,CAAC,IAAI,CACV,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kGAAkG;gBAClG,6EAA6E;gBAC7E,8FAA8F;gBAC9F,+FAA+F;gBAC/F,8FAA8F;gBAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,CAAG,IAAI,CAAC,CAAC;gBACpG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;gBAC/D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5D,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBACd,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnF,CAAC;oBACD,IAAI,CAAC,CAAC,GAAG;wBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,MAAM,YAAY,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC,CAAC;gBACzH,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,KAAK,UAAU;wBACrC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;wBACjC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBACd,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC1F,CAAC;oBACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,0CAA0C,EAAE,CAAC;wBACxE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACtD,CAAC;oBACD,IAAI,CAAC,CAAC,GAAG;wBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC3C,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;oBACjF,MAAM,cAAc,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnF,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,eAAe,CAAC;4BAC3B,WAAW,EAAE,UAAU;4BACvB,eAAe,EAAE,cAA8D;4BAC/E,OAAO,EAAE,yBAAyB,MAAM,EAAE;yBAC3C,CAAC,CAAC;wBACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,UAAU,KAAK,cAAc,KAAK,CAAC,CAAC,CAAC;oBAC9F,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;oBACzE,CAAC;gBACH,CAAC;gBACD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvC,sEAAsE;gBACtE,yEAAyE;gBACzE,sEAAsE;gBACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAC;gBAC5F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;gBAChD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7D,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBACd,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnF,CAAC;oBACD,IAAI,CAAC,CAAC,GAAG;wBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;gBACD,yEAAyE;gBACzE,0EAA0E;gBAC1E,qEAAqE;gBACrE,gDAAgD;gBAChD,IAAI,IAAI,CAAC,IAAI;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACzC,qFAAqF;gBACrF,gFAAgF;gBAChF,oFAAoF;gBACpF,qFAAqF;gBACrF,mFAAmF;gBACnF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,OAAO,MAAM,CAAC,kBAAkB,CAAC,MAAM,6EAA6E,CACrH,CACF,CAAC;oBACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,kBAAkB;wBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,yDAAyD;YACzD,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,gFAAgF;AAChF,qFAAqF;AACrF,oFAAoF;AACpF,sCAAsC;AACtC,4EAA4E;AAC5E,qFAAqF;AACrF,mEAAmE;AACnE,6EAA6E;AAC7E,2FAA2F;AAC3F,KAAK,UAAU,WAAW,CAAC,GAAY,EAAE,OAA+D,EAAE;IACxG,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,OAAO,EAAE,eAAe,KAAK,YAAY,CAAC;QAEtD,IAAI,IAAY,CAAC;QACjB,IAAI,OAAe,CAAC;QACpB,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,GAAG,OAAO,EAAE,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,GAAG,MAAM,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,OAAO,GAAY,UAAU,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;QACvC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK,EAAE,CAAC;QACnF,4EAA4E;QAC5E,MAAM,IAAI,GAAG,CAAC,MAAsB,EAAQ,EAAE;YAC5C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnF,CAAC;QACH,CAAC,CAAC;QAEF,gFAAgF;QAChF,wFAAwF;QACxF,mFAAmF;QACnF,uFAAuF;QACvF,uFAAuF;QACvF,sFAAsF;QACtF,kBAAkB;QAClB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,IAAI,IAAI,CAAC,eAAe,IAAI,WAAW,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YACzE,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxC,6EAA6E;gBAC7E,mEAAmE;gBACnE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACpE,iFAAiF;gBACjF,mFAAmF;gBACnF,mFAAmF;gBACnF,+DAA+D;gBAC/D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,iFAAiF;oBACjF,oEAAoE;oBACpE,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC/E,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,sFAAsF;QACtF,0FAA0F;QAC1F,uFAAuF;QACvF,mFAAmF;QACnF,IAAI,KAAK,GAA6B,IAAI,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAChC,iFAAiF;gBACjF,gFAAgF;gBAChF,mFAAmF;gBACnF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC1D,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC;aACtF,CAAC,CAAC;YACH,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,oDAAoD;YACpD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnC,uFAAuF;QACvF,qFAAqF;QACrF,qFAAqF;QACrF,yFAAyF;QACzF,0DAA0D;QAC1D,EAAE;QACF,wFAAwF;QACxF,yFAAyF;QACzF,uFAAuF;QACvF,sFAAsF;QACtF,2DAA2D;QAC3D,IAAI,GAAG,IAAI,IAAI,CAAC,eAAe,IAAI,WAAW,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;YACpG,IAAI,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,4BAA4B,EAAE,CAAC;gBACvE,yBAAyB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAID;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAUxC;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,OAA4B,EAAE,OAAgB;IAC/E,IAAI,CAAC;QACH,qFAAqF;QACrF,uFAAuF;QACvF,8DAA8D;QAC9D,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACnE,mFAAmF;QACnF,qFAAqF;QACrF,iCAAiC;QACjC,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EACtF,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpC,CAAC;QACF,mFAAmF;QACnF,mFAAmF;QACnF,yFAAyF;QACzF,gFAAgF;QAChF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CAAC,WAAmB,EAAE,GAAY;IACtE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9C,wFAAwF;QACxF,uEAAuE;QACvE,IAAI,CAAC;YACH,UAAU,CAAC,WAAW,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;QACvD,uFAAuF;QACvF,oFAAoF;QACpF,6DAA6D;QAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,WAAW;YAAE,OAAO;QAC1F,MAAM,OAAO,GAAY,UAAU,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,wFAAwF;QACxF,8EAA8E;QAC9E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACjE,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAC/F;SACF,CAAC,CAAC;QACH,yFAAyF;QACzF,sFAAsF;QACtF,kFAAkF;QAClF,+CAA+C;QAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE;YAClC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACnC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW;YACX,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,sFAAsF;QACtF,wCAAwC;IAC1C,CAAC;YAAS,CAAC;QACT,wFAAwF;QACxF,yFAAyF;QACzF,+CAA+C;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAID,yFAAyF;AACzF,6FAA6F;AAC7F,iGAAiG;AACjG,MAAM,UAAU,kBAAkB,CAAC,SAA4B,EAAE,IAAwB;IACvF,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG;QACd,yBAAyB,SAAS,CAAC,MAAM,kBAAkB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,kBAAkB;QAC3H,GAAG,KAAK;QACR,qIAAqI;KACtI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,qFAAqF;AACrF,4FAA4F;AAC5F,MAAM,UAAU,kBAAkB,CAAC,IAAwB;IACzD,MAAM,OAAO,GAAG;QACd,+FAA+F;QAC/F,yFAAyF;KAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAmBD,SAAS,gBAAgB,CAAC,OAA2B;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,UAAU,CAAC;IAClC,OAAO;QACL,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;QAClC,QAAQ,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE;QAChC,SAAS,EAAE,OAAO,KAAK,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACxE,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,EAAkB;IACxC,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,sFAAsF;AACtF,kFAAkF;AAClF,SAAS,kBAAkB,CAAC,KAAqB;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7F,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC;IAClE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,2EAA2E;AAC3E,SAAS,eAAe,CAAC,SAA6B,EAAE,OAAe;IACrE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,0CAA0C,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,OAAO;QACL,uDAAuD,SAAS,CAAC,MAAM,kBAAkB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;QAC3H,GAAG,KAAK;QACR,OAAO;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAYD,yFAAyF;AACzF,0FAA0F;AAC1F,yDAAyD;AACzD,EAAE;AACF,oFAAoF;AACpF,8EAA8E;AAC9E,EAAE;AACF,oFAAoF;AACpF,uDAAuD;AACvD,uFAAuF;AACvF,mFAAmF;AACnF,4DAA4D;AAC5D,sFAAsF;AACtF,8EAA8E;AAC9E,wBAAwB;AACxB,EAAE;AACF,kFAAkF;AAClF,uFAAuF;AACvF,yDAAyD;AACzD,MAAM,UAAU,mBAAmB,CACjC,SAA6B,EAC7B,IAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG;QACtB,CAAC,CAAC,qFAAqF;QACvF,CAAC,CAAC,4EAA4E,CAAC;IACjF,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IAEtG,OAAO,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,6FAA6F;AAC7F,gFAAgF;AAChF,SAAS,aAAa,CAAC,OAAe,EAAE,IAAwB,EAAE,QAAiB;IACjF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAC9D,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,GAAG;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7E,OAAO,EAAE,kBAAkB,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;QAEhE,kFAAkF;QAClF,qFAAqF;QACrF,kFAAkF;QAClF,iFAAiF;QACjF,KAAK,IAAI,CAAC;QACV,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAE5E,KAAK,MAAM;YACT,OAAO,OAAO,CAAC;QAEjB;YACE,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,EAAE,kBAAkB,EAAE,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,CAAC;YAClH,CAAC;YACD,OAAO,EAAE,kBAAkB,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;IACjF,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-agents.d.ts","sourceRoot":"","sources":["../../src/commands/connect-agents.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"connect-agents.d.ts","sourceRoot":"","sources":["../../src/commands/connect-agents.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqEnE"}
|
|
@@ -44,14 +44,18 @@ export async function connectDetectedAgents(envName) {
|
|
|
44
44
|
'agents (Cursor, VS Code, Windsurf, Zed, Codex, Gemini CLI, ...) work too - add this to ' +
|
|
45
45
|
`their config (or re-run ${chalk.bold(`align mcp --setup${envSuffix}`)} once installed):\n\n` +
|
|
46
46
|
` { "mcpServers": { "align": { "command": "align", "args": ["mcp"${envArgs}] } } }`);
|
|
47
|
-
return { detected: 0, connected: 0 };
|
|
47
|
+
return { detected: 0, connected: 0, wired: [] };
|
|
48
48
|
}
|
|
49
49
|
const touched = [];
|
|
50
|
+
// ALI-950: the outro names the agent to open, so say WHICH were wired, not only how many.
|
|
51
|
+
const wired = [];
|
|
50
52
|
for (const target of editors) {
|
|
51
53
|
try {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
// The MCP entry, plus the user-level pre-edit hook on the hosts that have one
|
|
55
|
+
// (ALI-952: Codex, Cursor, Copilot CLI) - the writer reports every file it wrote.
|
|
56
|
+
touched.push(...writeMcpConfig(target, envArg));
|
|
57
|
+
wired.push(target.name);
|
|
58
|
+
p.log.success(`${target.name}: align MCP connected${target.hooks ? ', pre-edit check hooked' : ''}`);
|
|
55
59
|
}
|
|
56
60
|
catch (err) {
|
|
57
61
|
// One unwritable config must not abort onboarding, or a stale Zed install stops a user
|
|
@@ -62,7 +66,7 @@ export async function connectDetectedAgents(envName) {
|
|
|
62
66
|
// Naming the FILES, not just the agents. "Cursor: connected" does not tell anyone what was
|
|
63
67
|
// edited, and this is the only disclosure they get in place of being asked.
|
|
64
68
|
if (touched.length > 0) {
|
|
65
|
-
p.log.info(chalk.dim(`Added an "align" entry to ${touched.length === 1 ? 'this file' : 'these files'}:\n${touched.map((f) => ` ${f}`).join('\n')}\nNothing else in ${touched.length === 1 ? 'it' : 'them'} was changed. Undo any time: ${chalk.bold('align mcp --remove')}`));
|
|
69
|
+
p.log.info(chalk.dim(`Added an "align" entry to ${touched.length === 1 ? 'this file' : 'these files'} (an MCP server, and a pre-edit check hook where the agent has one):\n${touched.map((f) => ` ${f}`).join('\n')}\nNothing else in ${touched.length === 1 ? 'it' : 'them'} was changed. Undo any time: ${chalk.bold('align mcp --remove')}`));
|
|
66
70
|
}
|
|
67
71
|
// ALI-795: mcp_wired is a funnel stage, emitted from this single choke point so
|
|
68
72
|
// setup, `align local start` and `align mcp --setup` all count without three call
|
|
@@ -74,6 +78,6 @@ export async function connectDetectedAgents(envName) {
|
|
|
74
78
|
// after this - telemetry must not add its 2s worst case to the wiring step.
|
|
75
79
|
void recordFunnelStage(createConfigStore().getEnvironment(envName), 'mcp_wired', 'mcp');
|
|
76
80
|
}
|
|
77
|
-
return { detected: editors.length, connected: touched.length };
|
|
81
|
+
return { detected: editors.length, connected: touched.length, wired };
|
|
78
82
|
}
|
|
79
83
|
//# sourceMappingURL=connect-agents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-agents.js","sourceRoot":"","sources":["../../src/commands/connect-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAgB;IAEhB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,0FAA0F;IAC1F,iCAAiC;IACjC,MAAM,MAAM,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,4FAA4F;IAC5F,2FAA2F;IAC3F,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,oFAAoF;QACpF,sFAAsF;QACtF,wFAAwF;QACxF,qFAAqF;QACrF,qFAAqF;QACrF,mFAAmF;QACnF,0BAA0B;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,oFAAoF;YACpF,yFAAyF;YACzF,yFAAyF;YACzF,2BAA2B,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,EAAE,CAAC,uBAAuB;YAC7F,oEAAoE,OAAO,SAAS,CACrF,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"connect-agents.js","sourceRoot":"","sources":["../../src/commands/connect-agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type EnvName } from '../lib/config.js';
|
|
2
|
+
/**
|
|
3
|
+
* ALI-951: `align import <source>` became `align connect <source>`. The old name stays as
|
|
4
|
+
* an alias for two minor releases, printing one line per invocation, and import-alias.test.ts
|
|
5
|
+
* fails the build the release it is due to go - so the sunset is enforced, not remembered.
|
|
6
|
+
* (oclif's deprecation shape: hide, alias, warn, then remove.)
|
|
7
|
+
*/
|
|
8
|
+
export declare const IMPORT_ALIAS_SUNSET: {
|
|
9
|
+
readonly deprecatedIn: "0.38.0";
|
|
10
|
+
readonly deprecatedOn: "2026-09-09";
|
|
11
|
+
readonly removeIn: "0.40.0";
|
|
12
|
+
};
|
|
13
|
+
/** True when the group was reached through the `import` alias rather than as `connect`. */
|
|
14
|
+
export declare function invokedAsImport(rawArgs: readonly string[]): boolean;
|
|
15
|
+
/** The one stderr line: what to type instead, and when the old spelling stops working. */
|
|
16
|
+
export declare function importAliasLine(subcommand: string | undefined): string;
|
|
17
|
+
export interface ConnectOptions {
|
|
18
|
+
source?: string;
|
|
19
|
+
token?: string;
|
|
20
|
+
yes?: boolean;
|
|
21
|
+
json?: boolean;
|
|
22
|
+
env?: EnvName;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* `align connect` with no source: the picker `align setup` uses, against the local graph.
|
|
26
|
+
* Returns false when the resolved env is a cloud one, so the caller can run the cloud
|
|
27
|
+
* connector scan that bare `import` always did there - cloud sources connect by OAuth
|
|
28
|
+
* through `align setup`, and a token pasted here would only ever belong to the local graph.
|
|
29
|
+
*/
|
|
30
|
+
export declare function runConnect(opts: ConnectOptions): Promise<boolean>;
|
|
31
|
+
//# sourceMappingURL=connect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAOnE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGnE;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGtE;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAyDvE"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import * as p from '@clack/prompts';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { createConfigStore } from '../lib/config.js';
|
|
4
|
+
import { createGatewayClient } from '../lib/gateway-client.js';
|
|
5
|
+
import { resolveImportEnv } from '../lib/resolve-env.js';
|
|
6
|
+
import { initLocalMode } from '../lib/local-mode.js';
|
|
7
|
+
import { createCaptureCollector } from '../lib/capture-report.js';
|
|
8
|
+
import { connectLocalSources } from './setup.js';
|
|
9
|
+
/**
|
|
10
|
+
* ALI-951: `align import <source>` became `align connect <source>`. The old name stays as
|
|
11
|
+
* an alias for two minor releases, printing one line per invocation, and import-alias.test.ts
|
|
12
|
+
* fails the build the release it is due to go - so the sunset is enforced, not remembered.
|
|
13
|
+
* (oclif's deprecation shape: hide, alias, warn, then remove.)
|
|
14
|
+
*/
|
|
15
|
+
export const IMPORT_ALIAS_SUNSET = {
|
|
16
|
+
deprecatedIn: '0.38.0',
|
|
17
|
+
deprecatedOn: '2026-09-09',
|
|
18
|
+
removeIn: '0.40.0',
|
|
19
|
+
};
|
|
20
|
+
/** True when the group was reached through the `import` alias rather than as `connect`. */
|
|
21
|
+
export function invokedAsImport(rawArgs) {
|
|
22
|
+
const verb = rawArgs.find((a) => a === 'import' || a === 'connect');
|
|
23
|
+
return verb === 'import';
|
|
24
|
+
}
|
|
25
|
+
/** The one stderr line: what to type instead, and when the old spelling stops working. */
|
|
26
|
+
export function importAliasLine(subcommand) {
|
|
27
|
+
const tail = subcommand ? ` ${subcommand}` : '';
|
|
28
|
+
return `align import${tail} is deprecated: use align connect${tail}. The old name is removed in ${IMPORT_ALIAS_SUNSET.removeIn}.`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* `align connect` with no source: the picker `align setup` uses, against the local graph.
|
|
32
|
+
* Returns false when the resolved env is a cloud one, so the caller can run the cloud
|
|
33
|
+
* connector scan that bare `import` always did there - cloud sources connect by OAuth
|
|
34
|
+
* through `align setup`, and a token pasted here would only ever belong to the local graph.
|
|
35
|
+
*/
|
|
36
|
+
export async function runConnect(opts) {
|
|
37
|
+
const envName = resolveImportEnv(opts.env);
|
|
38
|
+
if (envName !== 'local')
|
|
39
|
+
return false;
|
|
40
|
+
const interactive = Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
41
|
+
if (!interactive && !opts.source) {
|
|
42
|
+
// clig.dev: a non-interactive run with no way to answer the prompt fails, naming the flag.
|
|
43
|
+
console.error(chalk.red('align connect: no terminal to pick a source from. Pass --source <id> (with --token <token> --yes to run with no prompts).'));
|
|
44
|
+
process.exit(2);
|
|
45
|
+
}
|
|
46
|
+
// Copilot review, #283: without --source, an interactive run still opens the multiselect
|
|
47
|
+
// picker - and --token/--json are documented as working WITH --source, but nothing enforced
|
|
48
|
+
// that. A single --token seeds every source the multiselect picks (connectLocalSources
|
|
49
|
+
// applies one seedTokens value to every preselected id), and --json's "one JSON document"
|
|
50
|
+
// contract assumes exactly one source. Both need --source to mean what they say.
|
|
51
|
+
if ((opts.token || opts.json) && !opts.source) {
|
|
52
|
+
const flag = opts.token ? '--token' : '--json';
|
|
53
|
+
console.error(chalk.red(`align connect: ${flag} requires --source <id> - without it, ${opts.token ? '--token would seed every source you pick' : '--json would print one summary per picked source'}.`));
|
|
54
|
+
process.exit(2);
|
|
55
|
+
}
|
|
56
|
+
const config = createConfigStore();
|
|
57
|
+
const { dbPath } = await initLocalMode();
|
|
58
|
+
const localEnv = config.getEnvironment('local');
|
|
59
|
+
const localClient = createGatewayClient(localEnv);
|
|
60
|
+
const capture = createCaptureCollector();
|
|
61
|
+
try {
|
|
62
|
+
const results = await connectLocalSources({
|
|
63
|
+
interactive,
|
|
64
|
+
config,
|
|
65
|
+
localEnv,
|
|
66
|
+
localClient,
|
|
67
|
+
capture,
|
|
68
|
+
approve: opts.yes === true,
|
|
69
|
+
preselected: opts.source ? [opts.source] : undefined,
|
|
70
|
+
seedTokens: opts.token ? { token: opts.token } : undefined,
|
|
71
|
+
json: opts.json,
|
|
72
|
+
});
|
|
73
|
+
if (opts.json) {
|
|
74
|
+
console.log(JSON.stringify({ env: 'local', graph: dbPath, sources: results }));
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
const captureText = capture.render();
|
|
78
|
+
if (captureText) {
|
|
79
|
+
console.log('');
|
|
80
|
+
console.log(captureText);
|
|
81
|
+
}
|
|
82
|
+
if (results.length === 0 && !opts.source) {
|
|
83
|
+
p.log.info(chalk.dim('Nothing connected. Run align connect again to pick a source, or align connect --source <id>.'));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
console.error(chalk.red(`align connect: ${e.message}`));
|
|
88
|
+
process.exit(2);
|
|
89
|
+
}
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=connect.js.map
|