@aligndottech/cli 0.1.0 → 0.1.2

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.
Files changed (67) hide show
  1. package/README.md +180 -40
  2. package/dist/commands/check.d.ts.map +1 -1
  3. package/dist/commands/check.js +25 -15
  4. package/dist/commands/check.js.map +1 -1
  5. package/dist/commands/drift.d.ts.map +1 -1
  6. package/dist/commands/drift.js +3 -1
  7. package/dist/commands/drift.js.map +1 -1
  8. package/dist/commands/import/teams.d.ts +3 -0
  9. package/dist/commands/import/teams.d.ts.map +1 -0
  10. package/dist/commands/import/teams.js +42 -0
  11. package/dist/commands/import/teams.js.map +1 -0
  12. package/dist/commands/import/zoom.d.ts +3 -0
  13. package/dist/commands/import/zoom.d.ts.map +1 -0
  14. package/dist/commands/import/zoom.js +39 -0
  15. package/dist/commands/import/zoom.js.map +1 -0
  16. package/dist/commands/import.d.ts.map +1 -1
  17. package/dist/commands/import.js +4 -0
  18. package/dist/commands/import.js.map +1 -1
  19. package/dist/commands/links.d.ts.map +1 -1
  20. package/dist/commands/links.js +4 -0
  21. package/dist/commands/links.js.map +1 -1
  22. package/dist/commands/mcp.d.ts.map +1 -1
  23. package/dist/commands/mcp.js +70 -3
  24. package/dist/commands/mcp.js.map +1 -1
  25. package/dist/commands/setup.d.ts +3 -0
  26. package/dist/commands/setup.d.ts.map +1 -0
  27. package/dist/commands/setup.js +330 -0
  28. package/dist/commands/setup.js.map +1 -0
  29. package/dist/commands/why.d.ts +3 -0
  30. package/dist/commands/why.d.ts.map +1 -0
  31. package/dist/commands/why.js +97 -0
  32. package/dist/commands/why.js.map +1 -0
  33. package/dist/index.js +9 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/lib/fetchers/git.d.ts +5 -0
  36. package/dist/lib/fetchers/git.d.ts.map +1 -0
  37. package/dist/lib/fetchers/git.js +15 -0
  38. package/dist/lib/fetchers/git.js.map +1 -0
  39. package/dist/lib/fetchers/teams.d.ts +6 -0
  40. package/dist/lib/fetchers/teams.d.ts.map +1 -0
  41. package/dist/lib/fetchers/teams.js +62 -0
  42. package/dist/lib/fetchers/teams.js.map +1 -0
  43. package/dist/lib/fetchers/zoom.d.ts +7 -0
  44. package/dist/lib/fetchers/zoom.d.ts.map +1 -0
  45. package/dist/lib/fetchers/zoom.js +60 -0
  46. package/dist/lib/fetchers/zoom.js.map +1 -0
  47. package/dist/lib/gateway-client.d.ts +4 -1
  48. package/dist/lib/gateway-client.d.ts.map +1 -1
  49. package/dist/lib/gateway-client.js +9 -2
  50. package/dist/lib/gateway-client.js.map +1 -1
  51. package/dist/lib/local-llm.d.ts +11 -0
  52. package/dist/lib/local-llm.d.ts.map +1 -0
  53. package/dist/lib/local-llm.js +169 -0
  54. package/dist/lib/local-llm.js.map +1 -0
  55. package/dist/lib/mcp-setup.d.ts +8 -0
  56. package/dist/lib/mcp-setup.d.ts.map +1 -0
  57. package/dist/lib/mcp-setup.js +67 -0
  58. package/dist/lib/mcp-setup.js.map +1 -0
  59. package/dist/lib/personal-import.d.ts +1 -1
  60. package/dist/lib/personal-import.d.ts.map +1 -1
  61. package/dist/lib/personal-import.js +2 -1
  62. package/dist/lib/personal-import.js.map +1 -1
  63. package/dist/lib/why-normalise.d.ts +2 -0
  64. package/dist/lib/why-normalise.d.ts.map +1 -0
  65. package/dist/lib/why-normalise.js +39 -0
  66. package/dist/lib/why-normalise.js.map +1 -0
  67. package/package.json +14 -10
@@ -1 +1 @@
1
- {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4C3D"}
1
+ {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgD3D"}
@@ -49,6 +49,10 @@ export function registerLinksCommand(program) {
49
49
  l.confidence.toFixed(1),
50
50
  ];
51
51
  }));
52
+ if (items.length >= 5) {
53
+ console.log(chalk.dim('\n Teams get this as a shared graph with CI drift detection.'));
54
+ console.log(chalk.dim(' https://align.tech/pricing\n'));
55
+ }
52
56
  }
53
57
  catch (err) {
54
58
  spinner.fail(chalk.red(err.message));
@@ -1 +1 @@
1
- {"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyFzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuFzD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2GzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqGzD"}
@@ -1,9 +1,15 @@
1
1
  import { resolveEnv } from '../lib/resolve-env.js';
2
+ import pkg from '../../package.json' with { type: 'json' };
3
+ const { version } = pkg;
2
4
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
5
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
6
  import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
7
+ import * as p from '@clack/prompts';
8
+ import chalk from 'chalk';
5
9
  import { createConfigStore } from '../lib/config.js';
6
10
  import { createGatewayClient } from '../lib/gateway-client.js';
11
+ import { detectEditors, writeMcpConfig } from '../lib/mcp-setup.js';
12
+ import { normaliseWhyQuery } from '../lib/why-normalise.js';
7
13
  const TOOL_SCHEMAS = [
8
14
  {
9
15
  name: 'align_search',
@@ -17,6 +23,18 @@ const TOOL_SCHEMAS = [
17
23
  required: ['query'],
18
24
  },
19
25
  },
26
+ {
27
+ name: 'align_ask',
28
+ description: 'Ask a natural language question and get answers from the decision graph. Use this when the user asks "why", "how", "what was decided about", or any question about past decisions. Prefer this over align_search for natural language questions.',
29
+ inputSchema: {
30
+ type: 'object',
31
+ properties: {
32
+ question: { type: 'string', description: 'Natural language question about decisions (e.g. "why do we use postgres", "how does auth work", "what was decided about caching")' },
33
+ limit: { type: 'number', description: 'Max answers (default: 8)', default: 8 },
34
+ },
35
+ required: ['question'],
36
+ },
37
+ },
20
38
  {
21
39
  name: 'align_capture',
22
40
  description: 'Capture a new decision. Accepts a URL (Slack/Jira/GitHub/Confluence/etc.) or raw text.',
@@ -90,6 +108,7 @@ export function registerMcpCommand(program) {
90
108
  .command('mcp')
91
109
  .description('Run Align as an MCP server for Claude Code, Cursor, or Windsurf')
92
110
  .option('--env <env>', 'Environment')
111
+ .option('--setup', 'Interactively configure editors (Claude, Cursor) to use Align as an MCP server')
93
112
  .addHelpText('after', `
94
113
  Claude Code config (~/.claude.json or workspace .mcp.json):
95
114
  {
@@ -99,10 +118,15 @@ Claude Code config (~/.claude.json or workspace .mcp.json):
99
118
  }
100
119
  `)
101
120
  .action(async (opts) => {
121
+ if (opts.setup) {
122
+ await runMcpSetup(opts.env);
123
+ return;
124
+ }
102
125
  const config = createConfigStore();
103
- const env = config.getEnvironment(resolveEnv(opts.env));
126
+ const resolvedEnv = resolveEnv(opts.env);
127
+ const env = config.getEnvironment(resolvedEnv);
104
128
  const client = createGatewayClient(env);
105
- const server = new Server({ name: 'align', version: '0.1.0' }, { capabilities: { tools: {} } });
129
+ const server = new Server({ name: 'align', version }, { capabilities: { tools: {} } });
106
130
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOL_SCHEMAS }));
107
131
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
108
132
  const { name, arguments: args } = request.params;
@@ -111,6 +135,9 @@ Claude Code config (~/.claude.json or workspace .mcp.json):
111
135
  case 'align_search':
112
136
  result = await client.searchDecisions(args?.['query'], args?.['limit']);
113
137
  break;
138
+ case 'align_ask':
139
+ result = await client.searchDecisions(normaliseWhyQuery(args?.['question']), args?.['limit'] ?? 8);
140
+ break;
114
141
  case 'align_capture': {
115
142
  const input = args?.['input'];
116
143
  let platform = 'web';
@@ -154,9 +181,49 @@ Claude Code config (~/.claude.json or workspace .mcp.json):
154
181
  return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
155
182
  });
156
183
  // MCP protocol requires clean stdout; log startup to stderr
157
- process.stderr.write(`align mcp server started (env: ${opts.env}, gateway: ${env.gatewayUrl})\n`);
184
+ process.stderr.write(`align mcp server started (env: ${resolvedEnv}, gateway: ${env.gatewayUrl})\n`);
185
+ process.stderr.write('Want your whole team to have this context? https://align.tech/pricing\n');
158
186
  const transport = new StdioServerTransport();
159
187
  await server.connect(transport);
160
188
  });
161
189
  }
190
+ async function runMcpSetup(env) {
191
+ p.intro(chalk.bgBlue.white(' align mcp --setup '));
192
+ const editors = detectEditors();
193
+ if (!editors.length) {
194
+ const envArgs = env && env !== 'prod' ? `, "--env", "${env}"` : '';
195
+ p.log.warn('No editors detected automatically.\n' +
196
+ 'Add this config manually to your editor\'s MCP settings:\n\n' +
197
+ ` { "mcpServers": { "align": { "command": "align", "args": ["mcp"${envArgs}] } } }`);
198
+ p.outro('Done.');
199
+ return;
200
+ }
201
+ p.log.info(`Detected ${editors.length} editor${editors.length > 1 ? 's' : ''}:`);
202
+ for (const e of editors)
203
+ p.log.info(` ${e.name} - ${e.configPath}`);
204
+ console.log('');
205
+ const selected = await p.multiselect({
206
+ message: 'Which editors should use Align as an MCP server?',
207
+ options: editors.map(e => ({ value: e.name, label: e.name })),
208
+ required: true,
209
+ });
210
+ if (p.isCancel(selected)) {
211
+ p.cancel('Cancelled.');
212
+ process.exit(0);
213
+ }
214
+ for (const name of selected) {
215
+ const target = editors.find(e => e.name === name);
216
+ const spinner = p.spinner();
217
+ spinner.start(`Configuring ${name}...`);
218
+ try {
219
+ writeMcpConfig(target, env === 'prod' || !env ? undefined : env);
220
+ spinner.stop(`${name}: align added to MCP servers`);
221
+ }
222
+ catch (err) {
223
+ spinner.stop(`${name}: failed - ${err.message}`);
224
+ }
225
+ }
226
+ const outroText = `${chalk.green('Done.\n\n')}Restart your editor, then ask:\n${chalk.dim(' "What has my team decided about authentication?"\n\n')}${chalk.dim('Want your whole team to have this context? https://align.tech/pricing')}`;
227
+ p.outro(outroText);
228
+ }
162
229
  //# sourceMappingURL=mcp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerSetupCommand(program: Command): void;
3
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0LzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0L3D"}
@@ -0,0 +1,330 @@
1
+ import { resolveEnv } from '../lib/resolve-env.js';
2
+ import * as p from '@clack/prompts';
3
+ import chalk from 'chalk';
4
+ import { createConfigStore } from '../lib/config.js';
5
+ import { createGatewayClient } from '../lib/gateway-client.js';
6
+ import { runPersonalImport } from '../lib/personal-import.js';
7
+ import { detectEditors, writeMcpConfig } from '../lib/mcp-setup.js';
8
+ import { isGitRepo } from '../lib/git.js';
9
+ import { resolveAppUrl } from '../lib/env-resolver.js';
10
+ function buildSources(gitAvailable) {
11
+ const sources = [];
12
+ if (gitAvailable) {
13
+ sources.push({
14
+ id: 'git',
15
+ label: 'Git',
16
+ description: 'Commit history from this repo - no token needed',
17
+ fetch: async () => {
18
+ const { fetchGitItems } = await import('../lib/fetchers/git.js');
19
+ return fetchGitItems({ limit: 100 });
20
+ },
21
+ });
22
+ }
23
+ sources.push({
24
+ id: 'github',
25
+ label: 'GitHub',
26
+ description: 'Your PRs and issues',
27
+ tokenLabel: 'Personal access token (ghp_...)',
28
+ tokenHint: 'github.com/settings/tokens/new - tick "repo" scope',
29
+ fetch: async (t) => {
30
+ const { fetchGitHubItems } = await import('../lib/fetchers/github.js');
31
+ return fetchGitHubItems({ token: t['token'], limit: 100 });
32
+ },
33
+ }, {
34
+ id: 'jira',
35
+ label: 'Jira',
36
+ description: 'Your issues',
37
+ tokenLabel: 'Atlassian API token',
38
+ tokenHint: 'id.atlassian.com/manage-profile/security/api-tokens',
39
+ extraFields: [
40
+ { key: 'email', label: 'Atlassian email' },
41
+ { key: 'domain', label: 'Jira domain (e.g. company.atlassian.net)' },
42
+ ],
43
+ fetch: async (t) => {
44
+ const { fetchJiraItems } = await import('../lib/fetchers/jira.js');
45
+ return fetchJiraItems({ email: t['email'], token: t['token'], domain: t['domain'], limit: 100 });
46
+ },
47
+ }, {
48
+ id: 'confluence',
49
+ label: 'Confluence',
50
+ description: 'Your pages and documentation',
51
+ tokenLabel: 'Atlassian API token (same as Jira)',
52
+ tokenHint: 'id.atlassian.com/manage-profile/security/api-tokens',
53
+ extraFields: [
54
+ { key: 'email', label: 'Atlassian email' },
55
+ { key: 'domain', label: 'Confluence domain (e.g. company.atlassian.net)' },
56
+ ],
57
+ fetch: async (t) => {
58
+ const { fetchConfluenceItems } = await import('../lib/fetchers/confluence.js');
59
+ return fetchConfluenceItems({ email: t['email'], token: t['token'], domain: t['domain'], limit: 50 });
60
+ },
61
+ }, {
62
+ id: 'slack',
63
+ label: 'Slack',
64
+ description: 'Decision threads from your channels [experimental]',
65
+ tokenLabel: 'User OAuth token (xoxp-...)',
66
+ tokenHint: 'api.slack.com/apps - OAuth & Permissions - User Token Scopes: channels:read, channels:history, groups:read, groups:history',
67
+ fetch: async (t) => {
68
+ const { fetchSlackItems } = await import('../lib/fetchers/slack.js');
69
+ return fetchSlackItems({ token: t['token'], limit: 50, daysBack: 90 });
70
+ },
71
+ }, {
72
+ id: 'teams',
73
+ label: 'Microsoft Teams',
74
+ description: 'Channel messages and decisions from your teams',
75
+ tokenLabel: 'Graph API delegated access token',
76
+ tokenHint: 'Get a delegated token with ChannelMessage.Read.All scope - requires admin consent in most orgs',
77
+ fetch: async (t) => {
78
+ const { fetchTeamsItems } = await import('../lib/fetchers/teams.js');
79
+ return fetchTeamsItems({ token: t['token'], limit: 50 });
80
+ },
81
+ }, {
82
+ id: 'zoom',
83
+ label: 'Zoom',
84
+ description: 'Cloud recording transcripts from your meetings',
85
+ tokenLabel: 'Zoom OAuth access token',
86
+ tokenHint: 'marketplace.zoom.us/develop/apps - create OAuth app, authorize, copy access token',
87
+ fetch: async (t) => {
88
+ const { fetchZoomItems } = await import('../lib/fetchers/zoom.js');
89
+ return fetchZoomItems({ token: t['token'], limit: 30 });
90
+ },
91
+ }, {
92
+ id: 'gitlab',
93
+ label: 'GitLab',
94
+ description: 'Your merge requests',
95
+ tokenLabel: 'Personal access token',
96
+ tokenHint: 'gitlab.com/-/user_settings/personal_access_tokens - tick "read_api"',
97
+ extraFields: [
98
+ { key: 'domain', label: 'GitLab domain (leave blank for gitlab.com)' },
99
+ ],
100
+ fetch: async (t) => {
101
+ const { fetchGitLabItems } = await import('../lib/fetchers/gitlab.js');
102
+ return fetchGitLabItems({ token: t['token'], domain: t['domain'] || undefined, limit: 100 });
103
+ },
104
+ }, {
105
+ id: 'linear',
106
+ label: 'Linear',
107
+ description: 'Your issues and project discussions',
108
+ tokenLabel: 'Personal API key (lin_api_...)',
109
+ tokenHint: 'linear.app/settings/api - Personal API keys',
110
+ fetch: async (t) => {
111
+ const { fetchLinearItems } = await import('../lib/fetchers/linear.js');
112
+ return fetchLinearItems({ token: t['token'], limit: 100 });
113
+ },
114
+ }, {
115
+ id: 'notion',
116
+ label: 'Notion',
117
+ description: 'Your pages and databases',
118
+ tokenLabel: 'Integration secret (secret_...)',
119
+ tokenHint: 'notion.so/my-integrations - New integration - show Internal Integration Secret',
120
+ fetch: async (t) => {
121
+ const { fetchNotionItems } = await import('../lib/fetchers/notion.js');
122
+ return fetchNotionItems({ token: t['token'], limit: 50 });
123
+ },
124
+ });
125
+ return sources;
126
+ }
127
+ // ---------------------------------------------------------------------------
128
+ // Token collection helper
129
+ // ---------------------------------------------------------------------------
130
+ async function collectTokens(source) {
131
+ const tokens = {};
132
+ // Extra fields first (email, domain for Jira/Confluence)
133
+ for (const field of source.extraFields ?? []) {
134
+ const val = await p.text({ message: ` ${field.label}:` });
135
+ if (p.isCancel(val))
136
+ return null;
137
+ tokens[field.key] = val;
138
+ }
139
+ // Main token
140
+ if (source.tokenLabel) {
141
+ if (source.tokenHint) {
142
+ p.log.info(chalk.dim(` Get your token: ${source.tokenHint}`));
143
+ }
144
+ const token = await p.password({ message: ` ${source.tokenLabel}:` });
145
+ if (p.isCancel(token))
146
+ return null;
147
+ tokens['token'] = token;
148
+ }
149
+ return tokens;
150
+ }
151
+ // ---------------------------------------------------------------------------
152
+ // Command registration
153
+ // ---------------------------------------------------------------------------
154
+ export function registerSetupCommand(program) {
155
+ program
156
+ .command('setup')
157
+ .description('Guided onboarding: connect your tools and configure MCP in one command')
158
+ .option('--env <env>', 'Environment')
159
+ .option('--approve', 'Skip confirmation prompts (for scripted use)')
160
+ .action(async (opts) => {
161
+ const config = createConfigStore();
162
+ const envName = resolveEnv(opts.env);
163
+ const env = config.getEnvironment(envName);
164
+ const client = createGatewayClient(env);
165
+ p.intro(chalk.bgMagenta.white(' align setup '));
166
+ p.log.info('Building your decision graph from the tools your team already uses.');
167
+ p.log.info('Takes about 10 minutes. Ctrl+C to cancel at any step.');
168
+ console.log('');
169
+ // ---- Step 1: Auth check ----
170
+ const authSpinner = p.spinner();
171
+ authSpinner.start('Checking authentication...');
172
+ try {
173
+ const me = await client.whoami();
174
+ authSpinner.stop(`Logged in as ${me.user.email} (${me.tenant?.name ?? envName})`);
175
+ }
176
+ catch {
177
+ authSpinner.stop('Not authenticated');
178
+ p.log.warn(`Run ${chalk.bold('align login')} first, then re-run ${chalk.bold('align setup')}.`);
179
+ process.exit(1);
180
+ }
181
+ // Snapshot pre-import link count so we can report the delta after imports
182
+ let preImportLinkCount = 0;
183
+ try {
184
+ const existing = await client.listDecisionLinks();
185
+ preImportLinkCount = existing.length;
186
+ }
187
+ catch {
188
+ // Non-fatal - delta will just be the post-import total
189
+ }
190
+ // ---- Step 2: Source selection ----
191
+ console.log('');
192
+ const gitAvailable = await isGitRepo();
193
+ const allSources = buildSources(gitAvailable);
194
+ const sourceOptions = allSources.map(s => ({
195
+ value: s.id,
196
+ label: s.label,
197
+ hint: s.description,
198
+ }));
199
+ const selectedIds = await p.multiselect({
200
+ message: 'Which sources do you want to import? (space to select, enter to confirm)',
201
+ options: sourceOptions,
202
+ required: true,
203
+ initialValues: gitAvailable ? ['git'] : [],
204
+ });
205
+ if (p.isCancel(selectedIds)) {
206
+ p.cancel('Cancelled.');
207
+ process.exit(0);
208
+ }
209
+ const selectedSources = allSources.filter(s => selectedIds.includes(s.id));
210
+ // ---- Step 3: Token collection + import per source ----
211
+ let totalDecisions = 0;
212
+ const sourcesImported = [];
213
+ for (const source of selectedSources) {
214
+ console.log('');
215
+ p.log.step(chalk.bold(source.label));
216
+ // Collect tokens
217
+ let tokens = {};
218
+ if (source.tokenLabel || (source.extraFields?.length ?? 0) > 0) {
219
+ const collected = await collectTokens(source);
220
+ if (!collected) {
221
+ p.cancel('Cancelled.');
222
+ process.exit(0);
223
+ }
224
+ tokens = collected;
225
+ }
226
+ // Fetch items
227
+ const fetchSpinner = p.spinner();
228
+ fetchSpinner.start(`Fetching from ${source.label}...`);
229
+ let items = [];
230
+ try {
231
+ items = await source.fetch(tokens);
232
+ fetchSpinner.stop(`Found ${items.length} items`);
233
+ }
234
+ catch (err) {
235
+ fetchSpinner.stop(`Skipped ${source.label} - ${err.message}`);
236
+ p.log.warn(`You can run ${chalk.bold(`align import ${source.id}`)} later to retry.`);
237
+ continue;
238
+ }
239
+ if (!items.length) {
240
+ p.log.warn(`No items found in ${source.label}.`);
241
+ continue;
242
+ }
243
+ // Import (always --approve inside setup to avoid double-confirmation)
244
+ const ingested = await runPersonalImport(items, client, {
245
+ label: source.label,
246
+ approve: true,
247
+ appUrl: resolveAppUrl(env),
248
+ });
249
+ totalDecisions += ingested;
250
+ if (ingested > 0)
251
+ sourcesImported.push(source.label);
252
+ }
253
+ if (!totalDecisions) {
254
+ p.log.warn('No decisions imported. Run individual align import commands to try specific sources.');
255
+ p.outro('Setup complete (no data imported).');
256
+ return;
257
+ }
258
+ // ---- Step 4: Relationship count (delta from pre-import baseline) ----
259
+ console.log('');
260
+ const linkSpinner = p.spinner();
261
+ linkSpinner.start('Mapping cross-tool relationships...');
262
+ await new Promise(r => setTimeout(r, 4000));
263
+ let linkCount = 0;
264
+ try {
265
+ const links = await client.listDecisionLinks();
266
+ linkCount = Math.max(0, links.length - preImportLinkCount);
267
+ if (linkCount > 0) {
268
+ linkSpinner.stop(`${linkCount} new cross-tool link${linkCount === 1 ? '' : 's'} found`);
269
+ }
270
+ else {
271
+ linkSpinner.stop('Relationship mapping running in background - check align links list shortly');
272
+ }
273
+ }
274
+ catch {
275
+ linkSpinner.stop('Check align links list for cross-tool relationships');
276
+ }
277
+ // ---- Step 5: MCP setup ----
278
+ console.log('');
279
+ const editors = detectEditors();
280
+ if (editors.length > 0) {
281
+ p.log.info(`Detected ${editors.length} editor${editors.length === 1 ? '' : 's'}: ${editors.map(e => e.name).join(', ')}`);
282
+ const setupMcp = await p.confirm({ message: 'Configure MCP so Claude/Cursor can query your graph inline?' });
283
+ if (!p.isCancel(setupMcp) && setupMcp) {
284
+ let selected = editors.map(e => e.name);
285
+ if (editors.length > 1) {
286
+ const sel = await p.multiselect({
287
+ message: 'Which editors to configure?',
288
+ options: editors.map(e => ({ value: e.name, label: e.name })),
289
+ });
290
+ if (!p.isCancel(sel))
291
+ selected = sel;
292
+ }
293
+ for (const name of selected) {
294
+ const target = editors.find(e => e.name === name);
295
+ try {
296
+ writeMcpConfig(target, envName === 'prod' ? undefined : envName);
297
+ p.log.success(`${name}: align added to MCP servers`);
298
+ }
299
+ catch (err) {
300
+ p.log.warn(`${name}: ${err.message}`);
301
+ }
302
+ }
303
+ console.log('');
304
+ p.log.info(chalk.dim('Restart your editor, then ask:'));
305
+ p.log.info(chalk.dim(` "What has my team decided about ${sourcesImported[0] ? `our ${sourcesImported[0].toLowerCase()} workflow` : 'authentication'}?"`));
306
+ }
307
+ }
308
+ else {
309
+ p.log.info(`To use Align inside Claude or Cursor, run: ${chalk.bold('align mcp --setup')}`);
310
+ }
311
+ // ---- Outro ----
312
+ const linkLine = linkCount > 0
313
+ ? ` ${linkCount} cross-tool link${linkCount === 1 ? '' : 's'} found\n`
314
+ : '';
315
+ const sourceLine = sourcesImported.length > 0
316
+ ? ` ${sourcesImported.length} source${sourcesImported.length === 1 ? '' : 's'}: ${sourcesImported.join(', ')}\n`
317
+ : '';
318
+ const outroText = [
319
+ chalk.bold('Setup complete.\n'),
320
+ ` ${totalDecisions} decisions captured`,
321
+ sourceLine ? `\n${sourceLine}` : '',
322
+ linkLine ? `\n${linkLine}` : '',
323
+ `\n Run: ${chalk.bold('align ask "any question about your codebase"')}\n`,
324
+ chalk.dim('\n Want your whole team to have a shared decision graph?'),
325
+ chalk.dim('\n https://align.tech/pricing'),
326
+ ].join('');
327
+ p.outro(outroText);
328
+ });
329
+ }
330
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAA2B,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAgBvD,SAAS,YAAY,CAAC,YAAqB;IACzC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,iDAAiD;YAC9D,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACjE,OAAO,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACvC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,CACV;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,qBAAqB;QAClC,UAAU,EAAE,iCAAiC;QAC7C,SAAS,EAAE,oDAAoD;QAC/D,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACvE,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;KACF,EACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,aAAa;QAC1B,UAAU,EAAE,qBAAqB;QACjC,SAAS,EAAE,qDAAqD;QAChE,WAAW,EAAE;YACX,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE;YAC1C,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,0CAA0C,EAAE;SACrE;QACD,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACnE,OAAO,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACtG,CAAC;KACF,EACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,8BAA8B;QAC3C,UAAU,EAAE,oCAAoC;QAChD,SAAS,EAAE,qDAAqD;QAChE,WAAW,EAAE;YACX,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE;YAC1C,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,gDAAgD,EAAE;SAC3E;QACD,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC/E,OAAO,oBAAoB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3G,CAAC;KACF,EACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,oDAAoD;QACjE,UAAU,EAAE,6BAA6B;QACzC,SAAS,EAAE,4HAA4H;QACvI,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACrE,OAAO,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;KACF,EACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,gDAAgD;QAC7D,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,gGAAgG;QAC3G,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACrE,OAAO,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;KACF,EACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,gDAAgD;QAC7D,UAAU,EAAE,yBAAyB;QACrC,SAAS,EAAE,mFAAmF;QAC9F,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACnE,OAAO,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;KACF,EACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,qBAAqB;QAClC,UAAU,EAAE,uBAAuB;QACnC,SAAS,EAAE,qEAAqE;QAChF,WAAW,EAAE;YACX,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,4CAA4C,EAAE;SACvE;QACD,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACvE,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAChG,CAAC;KACF,EACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,qCAAqC;QAClD,UAAU,EAAE,gCAAgC;QAC5C,SAAS,EAAE,6CAA6C;QACxD,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACvE,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;KACF,EACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,iCAAiC;QAC7C,SAAS,EAAE,gFAAgF;QAC3F,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACvE,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC;KACF,CACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,KAAK,UAAU,aAAa,CAAC,MAAmB;IAC9C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,yDAAyD;IACzD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAa,CAAC;IACpC,CAAC;IAED,aAAa;IACb,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAe,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wEAAwE,CAAC;SACrF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;SACpC,MAAM,CAAC,WAAW,EAAE,8CAA8C,CAAC;SACnE,MAAM,CAAC,KAAK,EAAE,IAA0C,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAExC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QAClF,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,+BAA+B;QAC/B,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC;QACpF,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,0EAA0E;QAC1E,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAClD,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QAED,qCAAqC;QACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,YAAY,GAAG,MAAM,SAAS,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAE9C,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzC,KAAK,EAAE,CAAC,CAAC,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,WAAW;SACpB,CAAC,CAAC,CAAC;QAEJ,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC;YACtC,OAAO,EAAE,0EAA0E;YACnF,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;SAC3C,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAEzE,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,WAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzF,yDAAyD;QACzD,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAErC,iBAAiB;YACjB,IAAI,MAAM,GAA2B,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/D,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAC5D,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;YAED,cAAc;YACd,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,YAAY,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;YACvD,IAAI,KAAK,GAAyB,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnC,YAAY,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,KAAK,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;gBACrF,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YAED,sEAAsE;YACtE,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE;gBACtD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC;aAC3B,CAAC,CAAC;YAEH,cAAc,IAAI,QAAQ,CAAC;YAC3B,IAAI,QAAQ,GAAG,CAAC;gBAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;YACnG,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC,WAAW,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC/C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;YAC3D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,uBAAuB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAC1E,CAAC;QAED,8BAA8B;QAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,UAAU,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE1H,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,6DAA6D,EAAE,CAAC,CAAC;YAE7G,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACtC,IAAI,QAAQ,GAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAElD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC;wBAC9B,OAAO,EAAE,6BAA6B;wBACtC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;qBAC9D,CAAC,CAAC;oBACH,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAAE,QAAQ,GAAG,GAAe,CAAC;gBACnD,CAAC;gBAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAE,CAAC;oBACnD,IAAI,CAAC;wBACH,cAAc,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBACjE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;oBACvD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBACxD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;YAC7J,CAAC;QACH,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,8CAA8C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAChF,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC;YAC5B,CAAC,CAAC,KAAK,SAAS,mBAAmB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU;YACvE,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC;YAC3C,CAAC,CAAC,KAAK,eAAe,CAAC,MAAM,UAAU,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACjH,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,SAAS,GAAG;YAChB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC/B,KAAK,cAAc,qBAAqB;YACxC,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;YACnC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;YAC/B,YAAY,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,IAAI;YAC1E,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC;YACtE,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC;SAC5C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACX,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerAskCommand(program: Command): void;
3
+ //# sourceMappingURL=why.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"why.d.ts","sourceRoot":"","sources":["../../src/commands/why.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0EzD"}