@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
package/README.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # Align CLI
2
2
 
3
- Capture decisions, check alignment, and query your decision graph from the terminal.
3
+ **AI agents are shipping code from decisions they can't see.**
4
+
5
+ [Align](https://align.tech) captures the reasoning behind every engineering choice - across Git, Jira, Linear, Slack, Notion, Confluence, GitHub, and GitLab - links them into a decision graph, and surfaces that context to every agent and engineer on your team.
6
+
7
+ The CLI lets you import your decision history, query it in plain English, and run Align as a local MCP server so your AI assistants have authoritative context inline.
4
8
 
5
9
  ```
6
10
  npm install -g @aligndottech/cli
@@ -11,50 +15,134 @@ Node 20+ required.
11
15
  ## Quick start
12
16
 
13
17
  ```bash
14
- # 1. Log in (opens your browser to generate an API token)
15
- align login
18
+ align setup
19
+ ```
16
20
 
17
- # 2. Populate your graph from local git history
18
- align import git
21
+ Guided onboarding: login check, source selection, token collection, imports, AI provider setup, cross-tool relationship detection, and MCP configuration - all in one command.
19
22
 
20
- # 3. Search decisions
21
- align search "authentication strategy"
23
+ Or step by step:
22
24
 
23
- # 4. Browse recent decisions
24
- align decisions list
25
+ ```bash
26
+ align login # authenticate
27
+ align import git # pull commit history - no token needed
28
+ align ask "how does our auth work" # natural language answer from your graph
29
+ align import linear --token lin_api_... # add more sources for richer context
25
30
  ```
26
31
 
27
- That's it. No admin setup, no connectors required - `align import git` works anywhere you have a git repo.
32
+ ## Asking questions
33
+
34
+ `align ask` retrieves the most relevant decisions from your graph and synthesises a concise natural language answer:
35
+
36
+ ```bash
37
+ align ask "why do we use postgres"
38
+ align ask "how does the auth module work"
39
+ align ask "what was decided about caching"
40
+ align ask "do we use redis"
41
+ ```
42
+
43
+ Question prefixes are normalised automatically - `align ask "why do we use postgres"` and `align ask "use postgres"` search the same way.
44
+
45
+ ### AI provider for align ask
46
+
47
+ `align ask` needs an AI model to synthesise answers. It tries the following in order:
48
+
49
+ 1. Provider configured via `align config ai set` (stored locally)
50
+ 2. `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`, or `MISTRAL_API_KEY` env vars
51
+ 3. Ollama running locally (auto-detected)
52
+ 4. Align's hosted AI (for users on a paid Align plan)
53
+ 5. Formatted decision summaries (always works - no AI required)
54
+
55
+ **Note:** A Claude.ai or ChatGPT subscription is not the same as an API key. You need a separate API account. [Groq](https://console.groq.com/keys) offers a free tier with no credit card required and is the fastest option.
56
+
57
+ Configure a provider interactively:
58
+
59
+ ```bash
60
+ align config ai set # pick a provider and paste your key
61
+ align config ai # show current provider
62
+ align config ai clear # remove stored key
63
+ ```
64
+
65
+ Or run `align setup` - it includes this step automatically.
28
66
 
29
67
  ## Authentication
30
68
 
31
69
  ```bash
32
- align login # opens browser paste token
70
+ align login # opens browser, paste token when prompted
33
71
  align login --token algt_... # non-interactive, good for CI
34
72
  align whoami # verify current session
35
73
  align logout # clear stored credentials
36
74
  ```
37
75
 
38
- Tokens are stored locally in your OS config directory. To create one manually, go to **Settings API Tokens** in the Align web app.
76
+ Tokens are stored locally in your OS config directory. To create one manually, go to **Settings > API Tokens** in the Align web app.
39
77
 
40
78
  ## Importing decisions
41
79
 
42
- Pull your existing work into the decision graph.
80
+ Pull your existing work into the decision graph. The more sources you add, the richer the cross-tool relationship detection.
81
+
82
+ ### Git
43
83
 
44
84
  ```bash
45
- # Git commits (no credentials needed)
46
85
  align import git
47
- align import git --limit 200 --from 2024-01-01 --branch main
48
- align import git --approve # skip confirmation prompt
86
+ ```
87
+
88
+ | Flag | Default | Description |
89
+ |------|---------|-------------|
90
+ | `--limit` | `100` | Max commits to import |
91
+ | `--branch` | current branch | Git branch to scan |
92
+ | `--from` | - | Start date (ISO, e.g. `2025-01-01`) |
93
+ | `--to` | - | End date (ISO) |
94
+ | `--approve` | - | Skip confirmation prompt |
95
+
96
+ ### GitHub / GitLab
97
+
98
+ ```bash
99
+ align import github --token ghp_...
100
+ align import gitlab --token glpat-...
101
+ ```
102
+
103
+ ### Jira
104
+
105
+ ```bash
106
+ align import jira \
107
+ --token <your-jira-api-token> \
108
+ --email your@email.com \
109
+ --domain yourorg.atlassian.net
110
+ ```
111
+
112
+ ### Linear
113
+
114
+ ```bash
115
+ align import linear --token lin_api_...
116
+ ```
117
+
118
+ ### Confluence
49
119
 
50
- # Personal connectors (use your own credentials, no admin required)
51
- align import github --token ghp_...
52
- align import gitlab --token glpat-...
53
- align import linear --token lin_api_...
54
- align import jira --domain yourco.atlassian.net --email you@co.com --token ...
55
- align import confluence --domain yourco.atlassian.net --email you@co.com --token ...
56
- align import slack --token xoxp-...
57
- align import notion --token secret_...
120
+ ```bash
121
+ align import confluence \
122
+ --token <your-confluence-api-token> \
123
+ --email your@email.com \
124
+ --domain yourorg.atlassian.net
125
+ ```
126
+
127
+ ### Slack (experimental)
128
+
129
+ > **Note:** `align import slack` requires a Slack **user** token (`xoxp-...`), not a bot token.
130
+ >
131
+ > To get one: go to [api.slack.com/apps](https://api.slack.com/apps), create an app, add these User Token Scopes under OAuth & Permissions: `channels:read`, `channels:history`, `groups:read`, `groups:history`. Install to your workspace and copy the OAuth User Token.
132
+
133
+ ```bash
134
+ align import slack --token xoxp-<your-slack-user-token>
135
+ ```
136
+
137
+ | Flag | Default | Description |
138
+ |------|---------|-------------|
139
+ | `--limit` | `50` | Max threads to import |
140
+ | `--days-back` | `90` | How many days back to scan |
141
+
142
+ ### Notion
143
+
144
+ ```bash
145
+ align import notion --token <your-notion-integration-token>
58
146
  ```
59
147
 
60
148
  All import commands preview what will be imported and ask for confirmation before sending anything.
@@ -72,14 +160,17 @@ align capture https://yourco.atlassian.net/browse/ENG-123 --platform jira
72
160
  ## Searching and browsing
73
161
 
74
162
  ```bash
75
- align search "why did we choose postgres"
163
+ align ask "any question in plain English" # natural language answer
164
+ align search "authentication strategy" # keyword/semantic search - returns a list
76
165
  align decisions list
77
166
  align decisions list --space backend
78
- align decisions get <id>
79
- align links list # view decision relationships
80
- align drift # decisions that may be out of date
167
+ align decisions show <id>
168
+ align links list # cross-tool decision relationships
169
+ align drift # decisions that may be out of date
81
170
  ```
82
171
 
172
+ `align ask` synthesises an answer. `align search` returns a ranked list - useful when you want to browse.
173
+
83
174
  ## CI alignment check
84
175
 
85
176
  ```bash
@@ -87,9 +178,7 @@ align check # check staged diff against decision graph
87
178
  align check --branch main # check current branch vs main
88
179
  ```
89
180
 
90
- Returns exit code 1 when alignment issues are found, making it easy to fail a pipeline step.
91
-
92
- Example GitHub Actions step:
181
+ Returns exit code 1 when alignment issues are found.
93
182
 
94
183
  ```yaml
95
184
  - name: Check alignment
@@ -98,17 +187,18 @@ Example GitHub Actions step:
98
187
  ALIGN_TOKEN: ${{ secrets.ALIGN_TOKEN }}
99
188
  ```
100
189
 
101
- Pass the token via `ALIGN_TOKEN` env var or `--token` flag.
102
-
103
190
  ## MCP server
104
191
 
105
- Run Align as an MCP server so AI assistants (Claude, Cursor, etc.) can query your decision graph directly.
192
+ Run Align as a local [Model Context Protocol](https://modelcontextprotocol.io) server so AI assistants (Claude, Cursor, Windsurf) can query your decision graph inline.
106
193
 
107
194
  ```bash
108
- align mcp
195
+ align mcp --setup # auto-configure detected editors
196
+ align mcp # start the server directly
109
197
  ```
110
198
 
111
- Add to your MCP client config:
199
+ ### Manual configuration
200
+
201
+ **Claude Desktop** - `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `~/.config/Claude/claude_desktop_config.json` (Linux):
112
202
 
113
203
  ```json
114
204
  {
@@ -122,6 +212,20 @@ Add to your MCP client config:
122
212
  }
123
213
  ```
124
214
 
215
+ **Claude Code** - `~/.claude.json` or your workspace `.mcp.json`:
216
+
217
+ ```json
218
+ {
219
+ "mcpServers": {
220
+ "align": { "command": "align", "args": ["mcp"] }
221
+ }
222
+ }
223
+ ```
224
+
225
+ **Cursor** - `~/.cursor/mcp.json` (same format as Claude Code above).
226
+
227
+ Once configured, your AI assistant can call `align_search`, `align_ask`, `align_capture`, `align_check_drift`, and `align_get_related_decisions` to query and update your decision graph in context.
228
+
125
229
  ## Environments
126
230
 
127
231
  By default the CLI targets `prod` (`api.align.tech`). Use `--env` or set a sticky default:
@@ -134,19 +238,55 @@ align --env local <command> # one-off override
134
238
 
135
239
  ## Environment variables
136
240
 
137
- | Variable | Purpose |
138
- |---|---|
241
+ | Variable | Description |
242
+ |----------|-------------|
139
243
  | `ALIGN_TOKEN` | API token (alternative to `align login`) |
140
244
  | `ALIGN_ENV` | Default environment (`prod`, `preview`, `local`) |
141
245
  | `ALIGN_GATEWAY_URL` | Override gateway URL (self-hosted) |
142
246
  | `ALIGN_TENANT_ID` | Override tenant ID (self-hosted / CI) |
247
+ | `ANTHROPIC_API_KEY` | Anthropic API key for `align ask` synthesis |
248
+ | `OPENAI_API_KEY` | OpenAI API key for `align ask` synthesis |
249
+ | `GEMINI_API_KEY` | Google Gemini API key for `align ask` synthesis |
250
+ | `GROQ_API_KEY` | Groq API key for `align ask` synthesis |
251
+ | `MISTRAL_API_KEY` | Mistral API key for `align ask` synthesis |
252
+ | `OLLAMA_HOST` | Ollama host (default: `http://localhost:11434`) |
143
253
 
144
254
  ## Self-hosted
145
255
 
146
- Point the CLI at your own instance:
147
-
148
256
  ```bash
149
257
  align login --env local --token algt_...
150
258
  # or
151
259
  ALIGN_GATEWAY_URL=https://api.yourco.com align decisions list
152
260
  ```
261
+
262
+ ## Command reference
263
+
264
+ ```
265
+ align setup Guided onboarding: connect tools, configure AI + MCP
266
+ align login Authenticate with Align
267
+ align logout Remove stored credentials
268
+ align whoami Show current authenticated user
269
+ align ask <question> Ask a natural language question - get a synthesised answer
270
+ align search <query> Keyword/semantic search - returns a ranked list
271
+ align capture Capture a decision from a URL
272
+ align check Check alignment against existing decisions
273
+ align import git Import from Git commit history
274
+ align import github Import from GitHub
275
+ align import gitlab Import from GitLab
276
+ align import jira Import from Jira
277
+ align import linear Import from Linear
278
+ align import confluence Import from Confluence
279
+ align import slack Import from Slack (experimental)
280
+ align import notion Import from Notion
281
+ align decisions list List decisions in your graph
282
+ align drift Show decisions that may be out of date
283
+ align links list Show cross-tool decision relationships
284
+ align spaces Manage decision spaces
285
+ align env set <name> Set default environment
286
+ align env get Show current environment
287
+ align config ai Show configured AI provider
288
+ align config ai set Configure an AI provider for align ask
289
+ align config ai clear Remove stored AI provider
290
+ align mcp Start local MCP server
291
+ align mcp --setup Auto-configure editors to use Align as MCP server
292
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiF3D"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0F3D"}
@@ -52,35 +52,45 @@ export function registerCheckCommand(program) {
52
52
  const result = await client.checkAlignment(diff, branch);
53
53
  spinner.stop();
54
54
  if (result.status === 'aligned') {
55
- console.log(chalk.green('\nAligned with decision graph.\n'));
55
+ console.log(chalk.green('\n Aligned with decision graph.\n'));
56
56
  for (const d of result.relevant_decisions.slice(0, 3)) {
57
- console.log(chalk.dim(` - ${d.title} (${d.id})`));
58
- }
59
- if (result.relevant_decisions.length)
57
+ console.log(` ${chalk.green('+')} ${chalk.bold(d.title)}`);
58
+ if (d.summary) {
59
+ const snippet = d.summary.slice(0, 120).replace(/\n/g, ' ');
60
+ console.log(chalk.dim(` "${snippet}${d.summary.length > 120 ? '...' : ''}"`));
61
+ }
62
+ if (d.url)
63
+ console.log(chalk.dim(` ${d.url}`));
60
64
  console.log('');
65
+ }
61
66
  }
62
67
  else if (result.status === 'conflicting') {
63
- console.log(chalk.red('\nConflicts with decision graph:\n'));
64
- for (const c of result.conflicts ?? []) {
65
- const icon = c.severity === 'critical'
68
+ const conflicts = result.conflicts ?? [];
69
+ console.log(chalk.red(`\n ${conflicts.length} conflict${conflicts.length > 1 ? 's' : ''} with your decision graph:\n`));
70
+ for (const c of conflicts) {
71
+ const badge = c.severity === 'critical'
66
72
  ? chalk.bgRed.white(' CRITICAL ')
67
- : chalk.yellow(' WARNING ');
68
- console.log(` ${icon} ${c.title}`);
69
- console.log(chalk.dim(` ${c.reason}`));
70
- if (c.suggested_resolution) {
71
- console.log(chalk.dim(` Suggestion: ${c.suggested_resolution}`));
73
+ : chalk.bgYellow.black(' WARNING ');
74
+ console.log(` ${badge} ${chalk.bold(c.title)}`);
75
+ if (c.summary) {
76
+ const snippet = c.summary.slice(0, 160).replace(/\n/g, ' ');
77
+ console.log(chalk.dim(` "${snippet}${c.summary.length > 160 ? '...' : ''}"`));
78
+ }
79
+ if (c.reason && c.reason !== 'Conflicts with an existing team decision') {
80
+ console.log(` ${chalk.yellow(c.reason)}`);
72
81
  }
82
+ if (c.url)
83
+ console.log(chalk.dim(` ${c.url}`));
73
84
  console.log('');
74
85
  }
75
- const hasCritical = result.conflicts?.some(c => c.severity === 'critical');
76
- // Hook mode only blocks on critical conflicts to avoid false positives
86
+ const hasCritical = conflicts.some(c => c.severity === 'critical');
77
87
  if (opts.hook && !hasCritical)
78
88
  process.exit(0);
79
89
  process.exit(1);
80
90
  }
81
91
  else {
82
92
  if (!opts.hook)
83
- console.log(chalk.dim('\nNo related decisions found.\n'));
93
+ console.log(chalk.dim('\n No related decisions found in your graph.\n'));
84
94
  }
85
95
  }
86
96
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/commands/drift.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsC3D"}
1
+ {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/commands/drift.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwC3D"}
@@ -26,7 +26,7 @@ export function registerDriftCommand(program) {
26
26
  console.log(chalk.green('\nNo drift detected.\n'));
27
27
  return;
28
28
  }
29
- console.log(chalk.bold(`\nDrift Summary (${summary.length} decisions)\n`));
29
+ console.log(chalk.bold(`\nDrift Summary (${summary.length} decision${summary.length === 1 ? '' : 's'})\n`));
30
30
  renderTable([
31
31
  { header: 'SEVERITY', width: 12 },
32
32
  { header: 'TITLE', width: 50 },
@@ -41,6 +41,8 @@ export function registerDriftCommand(program) {
41
41
  new Date(d.checked_at).toLocaleDateString(),
42
42
  ];
43
43
  }));
44
+ console.log(chalk.dim('\n Drift caught early. Teams get this as an automated CI gate with align check.'));
45
+ console.log(chalk.dim(' https://align.tech/pricing\n'));
44
46
  }
45
47
  catch (err) {
46
48
  spinner.fail(chalk.red(err.message));
@@ -1 +1 @@
1
- {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/commands/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,cAAc,GAA0C;IAC5D,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;IAC3B,KAAK,EAAE,KAAK,CAAC,GAAG;IAChB,QAAQ,EAAE,KAAK,CAAC,MAAM;IACtB,KAAK,EAAE,KAAK,CAAC,GAAG;IAChB,IAAI,EAAE,KAAK,CAAC,GAAG;CAChB,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,IAAuB,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC;YAC3E,WAAW,CACT;gBACE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;gBACjC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC9B,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;gBAChC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;aACjC,EACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACd,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;gBAC5D,OAAO;oBACL,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;oBACvB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,aAAa;oBACf,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE;iBAC5C,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/commands/drift.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerImportTeamsCommand(importCmd: Command): void;
3
+ //# sourceMappingURL=teams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/commands/import/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAoCnE"}
@@ -0,0 +1,42 @@
1
+ import * as p from '@clack/prompts';
2
+ import { createConfigStore } from '../../lib/config.js';
3
+ import { createGatewayClient } from '../../lib/gateway-client.js';
4
+ import { resolveEnv } from '../../lib/resolve-env.js';
5
+ import { resolveAppUrl } from '../../lib/env-resolver.js';
6
+ import { fetchTeamsItems } from '../../lib/fetchers/teams.js';
7
+ import { runPersonalImport } from '../../lib/personal-import.js';
8
+ export function registerImportTeamsCommand(importCmd) {
9
+ importCmd
10
+ .command('teams')
11
+ .description('Import channel messages from Microsoft Teams')
12
+ .requiredOption('--token <token>', 'Microsoft Graph API delegated access token')
13
+ .option('--limit <n>', 'Max messages to import', '50')
14
+ .option('--approve', 'Skip confirmation prompt')
15
+ .option('--env <env>', 'Environment')
16
+ .action(async (opts) => {
17
+ p.log.warn('Requires a delegated Graph API token with ChannelMessage.Read.All scope.\n' +
18
+ ' This permission requires admin consent in most Microsoft 365 tenants.\n' +
19
+ ' Ask your admin to grant consent before running this command.');
20
+ const config = createConfigStore();
21
+ const envName = resolveEnv(opts.env);
22
+ const env = config.getEnvironment(envName);
23
+ const client = createGatewayClient(env);
24
+ p.intro('align import teams');
25
+ const spinner = p.spinner();
26
+ spinner.start('Fetching channel messages from Microsoft Teams...');
27
+ try {
28
+ const items = await fetchTeamsItems({
29
+ token: opts.token,
30
+ limit: parseInt(opts.limit, 10),
31
+ });
32
+ spinner.stop(`Found ${items.length} messages`);
33
+ await runPersonalImport(items, client, { label: 'Teams', approve: opts.approve, appUrl: resolveAppUrl(env) });
34
+ }
35
+ catch (err) {
36
+ spinner.stop('');
37
+ p.log.error(err.message);
38
+ process.exit(1);
39
+ }
40
+ });
41
+ }
42
+ //# sourceMappingURL=teams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/commands/import/teams.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAgB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AASjE,MAAM,UAAU,0BAA0B,CAAC,SAAkB;IAC3D,SAAS;SACN,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,cAAc,CAAC,iBAAiB,EAAE,4CAA4C,CAAC;SAC/E,MAAM,CAAC,aAAa,EAAE,wBAAwB,EAAE,IAAI,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,IAAqB,EAAE,EAAE;QACtC,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,4EAA4E;YAC5E,2EAA2E;YAC3E,gEAAgE,CACjE,CAAC;QAEF,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,oBAAoB,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC;gBAClC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;aAChC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;YAC/C,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerImportZoomCommand(importCmd: Command): void;
3
+ //# sourceMappingURL=zoom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../../src/commands/import/zoom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CA8BlE"}
@@ -0,0 +1,39 @@
1
+ import * as p from '@clack/prompts';
2
+ import { createConfigStore } from '../../lib/config.js';
3
+ import { createGatewayClient } from '../../lib/gateway-client.js';
4
+ import { resolveEnv } from '../../lib/resolve-env.js';
5
+ import { resolveAppUrl } from '../../lib/env-resolver.js';
6
+ import { fetchZoomItems } from '../../lib/fetchers/zoom.js';
7
+ import { runPersonalImport } from '../../lib/personal-import.js';
8
+ export function registerImportZoomCommand(importCmd) {
9
+ importCmd
10
+ .command('zoom')
11
+ .description('Import cloud recording transcripts from Zoom')
12
+ .requiredOption('--token <token>', 'Zoom OAuth access token')
13
+ .option('--limit <n>', 'Max recordings to import', '30')
14
+ .option('--approve', 'Skip confirmation prompt')
15
+ .option('--env <env>', 'Environment')
16
+ .action(async (opts) => {
17
+ const config = createConfigStore();
18
+ const envName = resolveEnv(opts.env);
19
+ const env = config.getEnvironment(envName);
20
+ const client = createGatewayClient(env);
21
+ p.intro('align import zoom');
22
+ const spinner = p.spinner();
23
+ spinner.start('Fetching cloud recording transcripts from Zoom...');
24
+ try {
25
+ const items = await fetchZoomItems({
26
+ token: opts.token,
27
+ limit: parseInt(opts.limit, 10),
28
+ });
29
+ spinner.stop(`Found ${items.length} recordings with transcripts`);
30
+ await runPersonalImport(items, client, { label: 'Zoom', approve: opts.approve, appUrl: resolveAppUrl(env) });
31
+ }
32
+ catch (err) {
33
+ spinner.stop('');
34
+ p.log.error(err.message);
35
+ process.exit(1);
36
+ }
37
+ });
38
+ }
39
+ //# sourceMappingURL=zoom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom.js","sourceRoot":"","sources":["../../../src/commands/import/zoom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAgB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AASjE,MAAM,UAAU,yBAAyB,CAAC,SAAkB;IAC1D,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8CAA8C,CAAC;SAC3D,cAAc,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;SAC5D,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,IAAI,CAAC;SACvD,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,IAAoB,EAAE,EAAE;QACrC,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,mBAAmB,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;aAChC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,8BAA8B,CAAC,CAAC;YAClE,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgKzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuJ5D"}
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkKzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyJ5D"}
@@ -13,6 +13,8 @@ import { registerImportLinearCommand } from './import/linear.js';
13
13
  import { registerImportJiraCommand } from './import/jira.js';
14
14
  import { registerImportConfluenceCommand } from './import/confluence.js';
15
15
  import { registerImportSlackCommand } from './import/slack.js';
16
+ import { registerImportTeamsCommand } from './import/teams.js';
17
+ import { registerImportZoomCommand } from './import/zoom.js';
16
18
  import { registerImportNotionCommand } from './import/notion.js';
17
19
  function renderProgress(jobs) {
18
20
  process.stdout.write('\x1b[2K\r');
@@ -280,6 +282,8 @@ export function registerImportCommand(program) {
280
282
  registerImportJiraCommand(importCmd);
281
283
  registerImportConfluenceCommand(importCmd);
282
284
  registerImportSlackCommand(importCmd);
285
+ registerImportTeamsCommand(importCmd);
286
+ registerImportZoomCommand(importCmd);
283
287
  registerImportNotionCommand(importCmd);
284
288
  }
285
289
  //# sourceMappingURL=import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}