@aligndottech/cli 0.42.0 → 0.43.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 CHANGED
@@ -106,9 +106,10 @@ That is the whole of `align --help`. Every other command (`search`, `decisions`,
106
106
  [docs/commands.md](docs/commands.md).
107
107
 
108
108
  `align ask` needs an AI provider to write prose. Without one it returns the matching decisions
109
- as a ranked list, which needs no key. Bring your own: Anthropic, OpenAI, Gemini, Groq, Mistral,
110
- Grok, any OpenAI-compatible endpoint, or a local Ollama.
111
- [Setting one up](docs/configuration.md#ai-provider).
109
+ as a ranked list, which needs no key. `align setup` offers a free Groq key (no card, ever) as
110
+ the guided default, with Gemini as a backup for when Groq's daily limit is hit - or bring your
111
+ own: Anthropic, OpenAI, Gemini, Groq, Mistral, Grok, any OpenAI-compatible endpoint, or a local
112
+ Ollama. [Setting one up](docs/configuration.md#ai-provider).
112
113
 
113
114
  ## Docs
114
115
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAQ1C,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,CA8EvE"}
package/dist/cli.js CHANGED
@@ -2,6 +2,7 @@ import { Command, Help } from 'commander';
2
2
  import pkg from '../package.json' with { type: 'json' };
3
3
  import { COMMAND_REGISTRY, ROOT_SUMMARY, visibleEntries } from './commands/registry.js';
4
4
  import { runDefaultAction } from './commands/default-action.js';
5
+ import { createConfigStore, hydrateProviderKeyEnv } from './lib/config.js';
5
6
  const { version } = pkg;
6
7
  /** Where every hidden command is documented; `align --help` points here instead of listing them. */
7
8
  export const COMMANDS_DOC_URL = 'https://github.com/aligndottech/align-cli/blob/main/docs/commands.md';
@@ -59,6 +60,25 @@ export function buildProgram(options = {}) {
59
60
  const { invocationCommandPath, recordInstallBeacon } = await import('./lib/usage-telemetry.js');
60
61
  void recordInstallBeacon(invocationCommandPath(actionCommand));
61
62
  });
63
+ // ALI-1284: a provider key `align setup`'s guided free-tier path collected on a
64
+ // previous run, read back into process.env before the command's own action runs so
65
+ // `align ask`/local relationship typing see it exactly as if the user had exported it
66
+ // themselves. `preAction` only, never module scope in index.ts: it fires for every real
67
+ // command but never for `--version`/`--help`, which Commander short-circuits without
68
+ // calling any hook - so a fresh-machine `align --version` still creates no config.json
69
+ // (startup-migration.test.ts pins exactly that for the module-scope migrations above
70
+ // it, and constructing a Conf store is not the pure operation those keep themselves to -
71
+ // see createConfigStore's own comment on migrateConfigDirectory for why that split
72
+ // exists). Non-fatal: an unreadable config must never stop the command the user asked for.
73
+ program.hook('preAction', () => {
74
+ try {
75
+ hydrateProviderKeyEnv(createConfigStore());
76
+ }
77
+ catch (e) {
78
+ if (process.env['ALIGN_DEBUG'])
79
+ console.error('align: provider key hydration failed (non-fatal):', e);
80
+ }
81
+ });
62
82
  // ALI-403/ALI-618/ALI-954: one usage event per invocation, so CLI activation and weekly
63
83
  // retention are countable in both cloud mode (opt-out) and local-embedded mode (with the
64
84
  // stored consent - a no-op until the setup prompt or `align telemetry on` grants it). No-op
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -314,6 +314,6 @@ export declare const TOOL_SCHEMAS: ({
314
314
  required: string[];
315
315
  };
316
316
  })[];
317
- export declare function validateCreatedBeforeFlag(value: string, env: EnvironmentConfig): void;
317
+ export declare function validateCreatedBeforeFlag(value: string, _env: EnvironmentConfig): void;
318
318
  export declare function registerMcpCommand(program: Command): void;
319
319
  //# sourceMappingURL=mcp.d.ts.map
@@ -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;AAQzC,OAAO,EAAqB,KAAK,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAgC/D,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AA+CF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAS9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,YAAY,CAkC1E;AAOD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAE1D;AAMD,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,MAAM,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC9C,GAAG,EAAE,iBAAiB,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAiHlB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAU9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC9C,GAAG,EAAE,iBAAiB,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAS7I;AAmBD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+JxB,CAAC;AAyCF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAkBrF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoEzD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,OAAO,EAAqB,KAAK,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAyC/D,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AA+CF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAS9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,YAAY,CAkC1E;AAOD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAE1D;AAMD,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,MAAM,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC9C,GAAG,EAAE,iBAAiB,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAwIlB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAU9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC9C,GAAG,EAAE,iBAAiB,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAS7I;AAmBD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+JxB,CAAC;AAkDF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAWtF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoEzD"}
@@ -14,6 +14,7 @@ import { recordFunnelStage } from '../lib/usage-telemetry.js';
14
14
  import { inviteNudgeLine } from '../lib/invite-prompt.js';
15
15
  import { renderMcpInstructions } from '../lib/mcp-instructions.shared.js';
16
16
  import { withDecisionRelationContract } from '../lib/decision-relations.js';
17
+ import { createAsOfGuard, filterAlignmentAsOf, filterConflictsAsOf, filterDecisionTimelineAsOf, filterImpactAsOf, filterTopicTimelineAsOf, notInGraphAsOf, } from '../lib/as-of.js';
17
18
  import { DECISION_RATIONALE_TOOL, DECISION_TIMELINE_TOOL, shapeDecisionRationale, shapeTopicTimeline, STORY_GATE, TOPIC_TIMELINE_TOOL, } from '../lib/mcp-timeline-tools.js';
18
19
  // Server-level instructions (ALI-120): surfaced to the agent so it reaches for Align
19
20
  // proactively - without the user prompting - the moment this MCP server is connected.
@@ -156,6 +157,13 @@ export async function dispatchTool(name, args, client, env, createdBefore) {
156
157
  throw new Error(`${name} requires ${names}. Call it again with ${missing.length > 1 ? 'those arguments' : 'that argument'} ` +
157
158
  'set to a non-empty value.');
158
159
  }
160
+ // ALI-1411: every READ tool honours the as-of cutoff, not just the three built on
161
+ // searchDecisions. Only smart-search and the decision-links cursor bound it server-side;
162
+ // the rest are filtered by lib/as-of.ts, which says what that cannot cover. With no cutoff
163
+ // the guard is never built, so every arm below calls and returns exactly what it did before.
164
+ const asOf = createdBefore
165
+ ? createAsOfGuard(createdBefore, (id) => client.getDecision(id))
166
+ : undefined;
159
167
  switch (name) {
160
168
  // ONE arm for both names (ALI-952). align_search is the alias of align_ask: they were two
161
169
  // entries for the same gateway call with two dispatch arms that had already drifted
@@ -196,14 +204,27 @@ export async function dispatchTool(name, args, client, env, createdBefore) {
196
204
  }
197
205
  return client.captureDecision(input, platform);
198
206
  }
199
- case 'align_check_alignment':
200
- return client.checkAlignment(args?.['diff'], args?.['context']);
207
+ case 'align_check_alignment': {
208
+ const result = await client.checkAlignment(args?.['diff'], args?.['context']);
209
+ return asOf ? filterAlignmentAsOf(result, asOf) : result;
210
+ }
201
211
  case 'align_check_drift':
212
+ // Drift against a decision that did not exist yet is not an as-of answer.
213
+ if (asOf)
214
+ await asOf.assertDecision(args?.['decision_id']);
202
215
  return client.checkDrift(args?.['decision_id'], args?.['content'], args?.['source_type']);
203
- case 'align_get_impact':
204
- return client.getImpact(args?.['decision_id']);
216
+ case 'align_get_impact': {
217
+ if (asOf)
218
+ await asOf.assertDecision(args?.['decision_id']);
219
+ const result = await client.getImpact(args?.['decision_id']);
220
+ return asOf ? filterImpactAsOf(result, asOf) : result;
221
+ }
205
222
  case 'align_get_conflicts':
206
- return client.getConflicts();
223
+ // The cutoff bounds the link query server-side (the endpoint's timestamp cursor); the
224
+ // filter then bounds both endpoints and recounts. No cutoff keeps the no-argument call.
225
+ return asOf
226
+ ? filterConflictsAsOf(await client.getConflicts({ createdBefore: asOf.cutoff }), asOf)
227
+ : client.getConflicts();
207
228
  // Same shape, same agent, same contract - a row reaching an agent through this tool must not
208
229
  // say "no conflict exists" where the other two say nothing.
209
230
  case 'align_get_related_decisions':
@@ -218,8 +239,10 @@ export async function dispatchTool(name, args, client, env, createdBefore) {
218
239
  * `limit` is passed through undefined when the agent omitted it: the default lives in the
219
240
  * client, so there is one writer of it.
220
241
  */
221
- case TOPIC_TIMELINE_TOOL:
222
- return shapeTopicTimeline(await client.getTopicTimeline(args?.['topic'], args?.['limit']), args?.['topic']);
242
+ case TOPIC_TIMELINE_TOOL: {
243
+ const raw = await client.getTopicTimeline(args?.['topic'], args?.['limit']);
244
+ return shapeTopicTimeline(asOf ? filterTopicTimelineAsOf(raw, asOf) : raw, args?.['topic']);
245
+ }
223
246
  /**
224
247
  * Reuses getDecision - the hosted connector's getDecisionRationale is the same
225
248
  * `GET /snapshots/:id`, so a second client method would be two writers of one call. It
@@ -234,10 +257,17 @@ export async function dispatchTool(name, args, client, env, createdBefore) {
234
257
  // and silently dropped the rationale. The raw id goes to the client (local mode does a
235
258
  // database lookup with it); encoding is the HTTP boundary's job.
236
259
  const row = await client.getDecision(args?.['decision_id']);
260
+ // The row carries its own created_at, so the as-of check needs no second lookup.
261
+ if (asOf && !asOf.isBefore(row?.created_at))
262
+ throw notInGraphAsOf(args?.['decision_id'], asOf.cutoff);
237
263
  return shapeDecisionRationale(row, args?.['decision_id']);
238
264
  }
239
- case DECISION_TIMELINE_TOOL:
240
- return client.getDecisionTimeline(args?.['decision_id']);
265
+ case DECISION_TIMELINE_TOOL: {
266
+ if (asOf)
267
+ await asOf.assertDecision(args?.['decision_id']);
268
+ const result = await client.getDecisionTimeline(args?.['decision_id']);
269
+ return asOf ? filterDecisionTimelineAsOf(result, asOf) : result;
270
+ }
241
271
  default:
242
272
  throw new Error(`Unknown tool: ${name}`);
243
273
  }
@@ -454,19 +484,26 @@ export const TOOL_SCHEMAS = [
454
484
  },
455
485
  ];
456
486
  /**
457
- * ALI-1082: --created-before is a harness/audit-only bound (AlignBench's align arm passes
458
- * it so it cannot see decisions the graph captured after a corpus item's frozen `asOf`).
459
- * Fail closed at startup rather than silently accepting a value that does nothing:
487
+ * ALI-1082/ALI-1087: --created-before is a harness/audit-only bound (AlignBench's align arm
488
+ * passes it so it cannot see decisions the graph captured after a corpus item's frozen
489
+ * `asOf`), and every deployment mode - cloud, self-host, and true local-embedded - carries
490
+ * the same as-of correctness guarantee. Fail closed at startup rather than silently
491
+ * accepting a value that does nothing:
460
492
  *
461
- * - Local-embedded mode has no server-side query to attach the bound to (the local graph
462
- * answers from SQLite directly, not through the gateway route that enforces it), so a
463
- * flag that appeared to work there would be lying.
464
493
  * - Anything that is not an offset-bearing ISO-8601 instant is rejected the same way the
465
494
  * gateway's own `created_before` filter rejects it (services/gateway/src/routes/
466
495
  * decisions/smartSearchFilters.ts) - a bare calendar date (the shape the benchmark
467
496
  * corpus's `asOf` field itself carries) is refused rather than coerced, because the
468
- * caller must decide the instant in UTC, not have Postgres resolve a date-only literal
469
- * against the session TimeZone.
497
+ * caller must decide the instant in UTC, not have Postgres (or, locally, a string
498
+ * comparison against SQLite's `created_at`) resolve a date-only literal against the
499
+ * session TimeZone.
500
+ *
501
+ * ALI-1087 removed the local-embedded rejection that used to sit here: "there is no cutoff
502
+ * concept locally" described the implementation of the day, not a reason. The local graph
503
+ * stores every decision and edge with a real `created_at`, so `createLocalGatewayClient`
504
+ * now honours the bound the same way the cloud query does (see its `searchDecisions` and
505
+ * `relationFieldsFor`) - a local-only user, the most privacy-sensitive path in the product,
506
+ * no longer gets the weakest correctness guarantee.
470
507
  */
471
508
  const OFFSET_ISO_PATTERN = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
472
509
  // Copilot (#302, mcp.ts:514): the pattern above checks SHAPE, not that the digits form a
@@ -488,12 +525,9 @@ function isRealCalendarInstant(value, match) {
488
525
  asUtc.getUTCMinutes() === minute &&
489
526
  asUtc.getUTCSeconds() === second);
490
527
  }
491
- export function validateCreatedBeforeFlag(value, env) {
492
- if (env.mode === 'local-embedded') {
493
- throw new Error(`--created-before is not supported in local-embedded mode: the local graph has no ` +
494
- `server-side query to enforce the bound against, so accepting it would silently do ` +
495
- `nothing. Got: ${value}`);
496
- }
528
+ // `_env` stays in the signature for call-site compatibility (the one call site below, and
529
+ // every test, passes it) even though the format check no longer branches on the mode.
530
+ export function validateCreatedBeforeFlag(value, _env) {
497
531
  const match = OFFSET_ISO_PATTERN.exec(value);
498
532
  // The offset's own range (e.g. +99:99) and an out-of-range hour/minute/second (25:00,
499
533
  // 00:61) are already rejected by Date.parse below - only the calendar-day case needs
@@ -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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"}
@@ -1 +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;AAMzC,OAAO,EAAE,iBAAiB,EAAE,KAAK,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAS/D,OAAO,EAAE,sBAAsB,EAAmB,MAAM,0BAA0B,CAAC;AAyXnF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE1E;AAkPD;;;;;;;GAOG;AACH,kGAAkG;AAClG,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7E,WAAW,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACpD,OAAO,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kGAAkG;IAClG,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,iGAAiG;IACjG,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iGAAiG;AACjG,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAK5C;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAuNzG;AA+ED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAS3D;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChF,OAAO,CAAC,IAAI,CAAC,CA0Df"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,EAAE,iBAAiB,EAAE,KAAK,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAS/D,OAAO,EAAE,sBAAsB,EAAmB,MAAM,0BAA0B,CAAC;AA0XnF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE1E;AAkaD;;;;;;;GAOG;AACH,kGAAkG;AAClG,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7E,WAAW,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACpD,OAAO,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kGAAkG;IAClG,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,iGAAiG;IACjG,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iGAAiG;AACjG,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAK5C;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAuNzG;AAqFD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAS3D;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChF,OAAO,CAAC,IAAI,CAAC,CAmEf"}
@@ -32,6 +32,7 @@ import { setupSummaryLine, unresolvedGaps } from '../lib/connect-prompt.js';
32
32
  import { createSetupFunnel } from '../lib/setup-funnel.js';
33
33
  import { agentAskLine, agentConnectedLine, orderAgents, projectAgentsFromWritten } from '../lib/next-step.js';
34
34
  import { firstDecision } from '../lib/first-decision.js';
35
+ import { hasConfiguredProvider } from '../lib/local-llm.js';
35
36
  const TIER_ORDER = { personal: 0, site: 1, workspace: 2 };
36
37
  // How many connectors import concurrently after auth. Each import is itself
37
38
  // batch-parallel (runPersonalImport), so this bounds total gateway load.
@@ -357,6 +358,184 @@ function writeAgentAlignment(envName) {
357
358
  return [];
358
359
  }
359
360
  }
361
+ // ---------------------------------------------------------------------------
362
+ // Guided free-tier AI provider key (ALI-1284)
363
+ // ---------------------------------------------------------------------------
364
+ /**
365
+ * ALI-1283 made BYOK mandatory for every tenant, including free/solo, retiring the
366
+ * Align-managed LLM fallback. Before this, `align ask` without a provider key just
367
+ * returned a ranked list with no guidance toward getting one - "bring any key" with
368
+ * nothing pointing at where to get one fast. That is a cliff against this project's own
369
+ * target (a useful first answer within an hour), so the guided default is Groq (no card,
370
+ * ever; fastest free-tier inference) with Gemini Flash-Lite offered as a second key for
371
+ * when Groq's daily request cap is hit. Both DECIDED 2026-09-24 - see the ALI-1284 ticket
372
+ * for the free-tier limits that were checked before picking Groq+Gemini over Cerebras
373
+ * (now needs a card for its trial) and OpenRouter's `:free` tier (tighter, weaker models).
374
+ *
375
+ * Skipped entirely, in order:
376
+ * - under --approve: a scripted run has no terminal to paste a key into.
377
+ * - when a DIFFERENT provider is already configured via env: nothing to fix, with or
378
+ * without --reset - this wizard only ever owns Groq and Gemini, so it must never
379
+ * re-open itself over someone's genuinely separate ANTHROPIC_API_KEY (Copilot review,
380
+ * PR #322: hasConfiguredProvider(['groq', 'gemini']) is what makes this true under
381
+ * --reset too, since the plain no-argument form would also count a --reset'd Groq/
382
+ * Gemini key hydrateProviderKeyEnv already wrote into process.env before this ran).
383
+ * - when a key from a PREVIOUS run of this offer is already stored, UNLESS --reset: do not
384
+ * re-ask every time, but give `--reset` the same "clear and redo" meaning here it already
385
+ * has for OAuth connectors - without this there was no way to act on the Gemini-backup
386
+ * documentation once Groq was stored: hydration restores the stored Groq key on every
387
+ * later invocation regardless of what the user unsets in their shell, so
388
+ * `align setup --reset` is the real (and now the documented) remedy. Declining either
389
+ * re-offered key under --reset CLEARS it (clearProviderKey), not just skips re-asking -
390
+ * otherwise a stale stored Gemini key could never actually be removed.
391
+ *
392
+ * Declining costs nothing - `align ask` still returns a ranked list - so every question
393
+ * here defaults to a plain confirm the user can say no to without losing anything.
394
+ */
395
+ /**
396
+ * The non-interactive half of --reset for the Groq/Gemini pair: drop whichever of them is
397
+ * stored, so hydrateProviderKeyEnv has nothing left to re-apply on the next invocation.
398
+ * Called unconditionally and EARLY in runSetup (Copilot review, PR #323) - not from inside
399
+ * offerFreeProviderKey, which is reached too late and too conditionally to guarantee this:
400
+ * runLocalConnectorPhase only calls that function when `interactive` (always false under
401
+ * --approve, by construction - no TTY), so `align setup --local --reset --approve` never
402
+ * reached it at all; a cloud --approve run that is not yet logged in exits even earlier.
403
+ * Calling this before mode selection means neither path matters.
404
+ */
405
+ function clearStoredProviderKeys(config) {
406
+ // Clears the STORED (on-disk) value only, and never touches process.env (Copilot review,
407
+ // PR #323, "previously missed" - deeper than an earlier fix here). The earlier version
408
+ // deleted the env var when it equalled the stored value, reasoning that equality meant
409
+ // hydration had put it there. It does not: hydrateProviderKeyEnv never overwrites a real
410
+ // shell-exported value, so a shell that happens to export the SAME string the stored
411
+ // value holds (set up once, then also added to a shell profile, say) is indistinguishable
412
+ // from "hydration injected it" by equality alone - there is no way to tell the two apart
413
+ // from process.env state. Clearing the stored value is what actually matters: it is what
414
+ // future invocations hydrate from, so this is enough to make the backup take over on the
415
+ // NEXT run. The cost is that THIS run may still see the old value in its own process.env
416
+ // for its own remaining work - a stale-for-one-run concession, not a destroyed credential.
417
+ config.clearProviderKey('groq');
418
+ config.clearProviderKey('gemini');
419
+ }
420
+ async function offerFreeProviderKey(config, opts) {
421
+ // --approve never prompts, full stop. The non-prompting --reset clear it still needs
422
+ // (Copilot review, PR #323) runs unconditionally in runSetup, BEFORE mode selection -
423
+ // not here, because this function is reached late and conditionally: runLocalConnectorPhase
424
+ // only calls it when `interactive` (false under --approve by construction, so --local
425
+ // --reset --approve never reached it at all), and an unauthenticated cloud --approve run
426
+ // exits earlier still. clearStoredProviderKeys running up front means neither path matters.
427
+ if (opts.approve)
428
+ return;
429
+ if (!opts.reset) {
430
+ if (hasConfiguredProvider())
431
+ return;
432
+ if (config.getProviderKey('groq') || config.getProviderKey('gemini'))
433
+ return;
434
+ }
435
+ else if (hasConfiguredProvider(['groq', 'gemini'])) {
436
+ // --reset only concerns the Groq/Gemini pair THIS wizard manages, so skip only the
437
+ // stored-key guard, not the real-env one (Copilot review, PR #322): --reset must not
438
+ // re-open the wizard for someone who genuinely configured a DIFFERENT provider
439
+ // (ANTHROPIC_API_KEY, say) - that still means "nothing to fix" regardless of the flag.
440
+ // hydrateProviderKeyEnv (cli.ts's preAction) already wrote any stored Groq/Gemini key
441
+ // into process.env before this command's action started, so the plain
442
+ // hasConfiguredProvider() the non-reset branch uses would read a --reset'd stored
443
+ // value as "already configured" and never reach the re-offer at all - hence the
444
+ // exclusion rather than reusing that call directly.
445
+ return;
446
+ }
447
+ console.log('');
448
+ const wantGroq = await p.confirm({
449
+ message: `${chalk.bold('align ask')} needs an AI provider key to write prose answers ` +
450
+ `(without one it still returns a ranked list of matching decisions). ` +
451
+ `Set up a free Groq key now? No card, ever - and it's the fastest free tier.`,
452
+ initialValue: true,
453
+ });
454
+ // Cancel (Ctrl-C) and an explicit "no" are NOT the same thing (Copilot review, PR #322):
455
+ // cancelling means "stop asking me", and must never have the side effect of deleting a
456
+ // saved credential - unaffected by round-4's fix moving the --reset clear to the top of
457
+ // runSetup, which runs unconditionally before this prompt is ever reached. Round 4
458
+ // (Copilot review): a bare `return` here let the wizard fall through to the normal
459
+ // outro and report `setup_completed`, silently swallowing the cancel - inconsistent with
460
+ // every other top-level prompt in this file (`p.cancel(...)` + `process.exit(0)`, lines
461
+ // ~1208/1260). Matched here too, so Ctrl-C at this LAST step aborts the wizard rather than
462
+ // reporting success for a run the user explicitly cut short.
463
+ if (p.isCancel(wantGroq)) {
464
+ p.cancel('Cancelled.');
465
+ process.exit(0);
466
+ }
467
+ if (!wantGroq) {
468
+ // --reset declining Groq is the one way to make a previously stored Gemini key (or no
469
+ // key at all) actually take over: hydration re-applies whatever is stored on every
470
+ // invocation regardless of what the shell does, so "decline" has to mean "forget it",
471
+ // not merely "don't re-ask".
472
+ if (opts.reset && config.getProviderKey('groq')) {
473
+ // Clears only the STORED value, deliberately never process.env - see
474
+ // clearStoredProviderKeys's comment: equality with the stored value does not prove
475
+ // the current env value came from hydration rather than the user's own shell.
476
+ config.clearProviderKey('groq');
477
+ p.log.info('Cleared the saved Groq key.');
478
+ }
479
+ return;
480
+ }
481
+ p.log.info(`Get one free: ${chalk.bold('https://console.groq.com/keys')}`);
482
+ const groqKey = await guardedPrompt('Groq API key', () => p.password({ message: ' Groq API key:' }));
483
+ // Cancel here needs the same abort as the confirm above it (Copilot review, PR #323,
484
+ // "previously missed" - the confirm fix alone left this prompt's own Ctrl-C still
485
+ // falling through to the outro). `null` (guardedPrompt already warned about a crashed
486
+ // prompt) and an empty paste are not cancellation and keep the softer skip-and-continue.
487
+ if (p.isCancel(groqKey)) {
488
+ p.cancel('Cancelled.');
489
+ process.exit(0);
490
+ }
491
+ if (groqKey === null || !groqKey) {
492
+ // Under --reset, a plain re-run would hydrate the still-stored key and skip this offer
493
+ // entirely (Copilot review, PR #323, "previously missed") - pointing back at plain
494
+ // `align setup` here repeats the exact documentation bug this PR exists to fix.
495
+ const retryHint = opts.reset ? 'align setup --reset' : 'align setup';
496
+ p.log.warn(`No key entered - skipping. Set ${chalk.bold('GROQ_API_KEY')} yourself any time, or run ${chalk.bold(retryHint)} again.`);
497
+ return;
498
+ }
499
+ config.setProviderKey('groq', groqKey);
500
+ process.env['GROQ_API_KEY'] = groqKey; // usable immediately, this run
501
+ p.log.success(`Saved - ${chalk.bold('align ask')} will use it on this machine from now on.`);
502
+ const wantGemini = await p.confirm({
503
+ message: `Also add a Gemini key as backup for when Groq's daily limit is hit? (also free, no card)`,
504
+ initialValue: true,
505
+ });
506
+ // Same cancel/decline split as Groq above, including round 4's fix: terminate rather
507
+ // than fall through to the outro.
508
+ if (p.isCancel(wantGemini)) {
509
+ p.cancel('Cancelled.');
510
+ process.exit(0);
511
+ }
512
+ if (!wantGemini) {
513
+ // Symmetric with the Groq decline above: without this, clearProviderKey('gemini') had
514
+ // no caller anywhere, and `--reset` could remove a stored Groq key but never a stored
515
+ // Gemini one - so "clears saved AI provider keys" (the option's own help text) was not
516
+ // actually true for Gemini.
517
+ if (opts.reset && config.getProviderKey('gemini')) {
518
+ // Same reasoning as the Groq decline above: clears only the stored value.
519
+ config.clearProviderKey('gemini');
520
+ p.log.info('Cleared the saved Gemini key.');
521
+ }
522
+ return;
523
+ }
524
+ p.log.info(`Get one free: ${chalk.bold('https://aistudio.google.com/apikey')}`);
525
+ const geminiKey = await guardedPrompt('Gemini API key', () => p.password({ message: ' Gemini API key:' }));
526
+ // Same split as the Groq password prompt above.
527
+ if (p.isCancel(geminiKey)) {
528
+ p.cancel('Cancelled.');
529
+ process.exit(0);
530
+ }
531
+ if (geminiKey === null || !geminiKey) {
532
+ p.log.warn('No key entered - skipping the backup.');
533
+ return;
534
+ }
535
+ config.setProviderKey('gemini', geminiKey);
536
+ process.env['GEMINI_API_KEY'] = geminiKey;
537
+ p.log.success('Saved as backup.');
538
+ }
360
539
  /** Thrown inside the docs block to leave it without starting a read; never surfaces. */
361
540
  class SkipDocs extends Error {
362
541
  }
@@ -824,6 +1003,12 @@ async function runLocalConnectorPhase(ctx) {
824
1003
  const gaps = unresolvedGaps(refsDb.getAllRefs(), isConnected);
825
1004
  refsDb.close();
826
1005
  const gapLine = setupSummaryLine(gaps);
1006
+ // ALI-1284: the same guided free-tier key as the cloud path - local mode needs one too,
1007
+ // `align ask` resolves providers identically either way. Gated on `interactive` like
1008
+ // every other prompt in this phase, rather than only on `opts.approve`, since local mode
1009
+ // (unlike cloud) is routinely run non-interactively with no terminal to paste a key into.
1010
+ if (interactive)
1011
+ await offerFreeProviderKey(config, opts);
827
1012
  // ALI-950: the last line is the next step, and it happens in the agent - named, with a
828
1013
  // question about a decision the wizard just found, and no CLI verb. This used to end on
829
1014
  // `align ask "why <a thing you decided>"`, a prompt verb on the one screen whose job is to
@@ -852,7 +1037,7 @@ export function registerSetupCommand(program) {
852
1037
  .option('--env <env>', 'Environment')
853
1038
  .option('--approve', 'Skip confirmation prompts (for scripted use)')
854
1039
  .option('--local', 'Set up local-only mode (no account, no cloud)')
855
- .option('--reset', 'Clear cached OAuth tokens and re-authenticate all connectors')
1040
+ .option('--reset', 'Clear cached OAuth tokens and saved AI provider keys, and redo their setup')
856
1041
  .action(runSetup);
857
1042
  }
858
1043
  /**
@@ -869,6 +1054,15 @@ export async function runSetup(opts = {}) {
869
1054
  const envName = resolveEnv(opts.env);
870
1055
  const env = config.getEnvironment(envName);
871
1056
  const client = createGatewayClient(env);
1057
+ // --reset --approve: clear unconditionally, before mode selection and before any
1058
+ // auth/TTY-gated exit can skip it (Copilot review, PR #323). Gated on BOTH flags,
1059
+ // deliberately: a plain interactive `--reset` (no --approve) must NOT wipe the stored
1060
+ // key here, or offerFreeProviderKey's re-offer below would find nothing to re-offer and
1061
+ // the user would never get the chance to choose - only the non-prompting --approve case
1062
+ // needs this early, unconditional clear. See clearStoredProviderKeys's own comment for
1063
+ // why this cannot live inside offerFreeProviderKey instead.
1064
+ if (opts.approve && opts.reset)
1065
+ clearStoredProviderKeys(config);
872
1066
  // The one place a full brand moment belongs: first run, before any questions.
873
1067
  printBanner({ version });
874
1068
  p.intro(commandIntro('align setup'));
@@ -917,7 +1111,7 @@ export async function runSetup(opts = {}) {
917
1111
  mode = choice;
918
1112
  }
919
1113
  if (mode === 'local') {
920
- await runLocalSetup({ approve: opts.approve, funnel });
1114
+ await runLocalSetup({ approve: opts.approve, reset: opts.reset, funnel });
921
1115
  return;
922
1116
  }
923
1117
  await runCloudSetup({ opts, config, env, client, envName, funnel });
@@ -933,7 +1127,7 @@ export async function runSetup(opts = {}) {
933
1127
  * provisional state (component 1's "nothing about the cloud path changes once chosen").
934
1128
  */
935
1129
  async function runFreshSetup(ctx) {
936
- const phase = await runLocalValuePhase({ approve: ctx.opts.approve, funnel: ctx.funnel });
1130
+ const phase = await runLocalValuePhase({ approve: ctx.opts.approve, reset: ctx.opts.reset, funnel: ctx.funnel });
937
1131
  // The value phase's capture report is printed by runLocalConnectorPhase, so choosing
938
1132
  // cloud below drops it - deliberately: runCloudSetup re-imports git and docs into the
939
1133
  // cloud tenant and prints its own report, which is the one that describes that graph.
@@ -1007,7 +1201,7 @@ async function runCloudSetup(ctx) {
1007
1201
  // Declined cloud login: offer the local escape hatch instead of failing.
1008
1202
  const wantLocal = await p.confirm({ message: 'Set up local-only mode instead? (no account, stays on this machine)' });
1009
1203
  if (!p.isCancel(wantLocal) && wantLocal) {
1010
- await runLocalSetup({ approve: opts.approve, funnel });
1204
+ await runLocalSetup({ approve: opts.approve, reset: opts.reset, funnel });
1011
1205
  return;
1012
1206
  }
1013
1207
  p.log.warn(`Run ${chalk.bold('align login')} when ready, then ${chalk.bold('align setup')}.`);
@@ -1302,6 +1496,8 @@ async function runCloudSetup(ctx) {
1302
1496
  console.log(captureText);
1303
1497
  console.log('');
1304
1498
  }
1499
+ // ---- Step 7b: guided free-tier AI provider key (ALI-1284) ----
1500
+ await offerFreeProviderKey(config, opts);
1305
1501
  // ---- Outro ----
1306
1502
  const decisionsLine = totalDecisions > 0
1307
1503
  ? ` ${totalDecisions} decisions in your graph`