lastlight 0.10.2 → 0.10.4

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
@@ -11,7 +11,7 @@
11
11
 
12
12
  An AI agent that maintains GitHub repositories: triaging issues, reviewing PRs, monitoring repo health, and building features through an Architect → Executor → Reviewer development cycle.
13
13
 
14
- Built on [agentic-pi](https://github.com/cliftonc/agentic-pi) (workflow phases) and [`@earendil-works/pi-ai`](https://www.npmjs.com/package/@earendil-works/pi-ai) (in-process chat) with a lightweight TypeScript harness for webhook ingestion, cron scheduling, and process management. Provider-agnostic — point `LASTLIGHT_MODEL` at any `provider/model` pi-ai supports (defaults to `anthropic/claude-sonnet-4-6`).
14
+ Built on [agentic-pi](https://github.com/nearform/agentic-pi) (workflow phases) and [`@earendil-works/pi-ai`](https://www.npmjs.com/package/@earendil-works/pi-ai) (in-process chat) with a lightweight TypeScript harness for webhook ingestion, cron scheduling, and process management. Provider-agnostic — point `LASTLIGHT_MODEL` at any `provider/model` pi-ai supports (defaults to `anthropic/claude-sonnet-4-6`).
15
15
 
16
16
  ## Production Setup (Clean Server)
17
17
 
@@ -26,8 +26,11 @@ The setup wizard walks you through:
26
26
  1. **GitHub App** — enter your App ID, Installation ID, and PEM key path
27
27
  2. **Domain & TLS** — optional Caddy config for automatic HTTPS
28
28
  3. **Managed repositories** — the `owner/repo` list the bot operates on
29
- 4. **Provider API key** — `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, and/or `OPENROUTER_API_KEY`,
30
- whichever your `LASTLIGHT_MODEL` points at
29
+ 4. **Model provider + API key** — pick from any of pi-ai's 15+ supported
30
+ providers (Anthropic, OpenAI, Google Gemini, Mistral, Groq, Cerebras, xAI,
31
+ Hugging Face, Moonshot, NVIDIA, Fireworks, Together, DeepSeek, Z.AI,
32
+ Kimi for Coding, MiniMax, OpenRouter), then enter the model id and the
33
+ matching API key. See `src/providers.ts` for the full registry.
31
34
  5. **Webhook secret** — auto-generated if you don't have one
32
35
  6. **Slack** — optional bot token and app token for Slack integration
33
36
  7. **Admin dashboard** — optional password protection
@@ -54,13 +57,16 @@ For a Docker-free production install (systemd unit, gondolin sandbox), see [Nati
54
57
  - Node.js 20+
55
58
  - Docker Desktop (or compatible) — only needed for `LASTLIGHT_SANDBOX=docker`; gondolin runs without it on macOS/Linux
56
59
  - A GitHub App (see [Create a GitHub App](#1-create-a-github-app) below)
57
- - An API key for whichever provider your chosen `LASTLIGHT_MODEL` uses
58
- (`OPENAI_API_KEY` for openai/…, `ANTHROPIC_API_KEY` for anthropic/…, `OPENROUTER_API_KEY` for openrouter/…)
60
+ - An API key for whichever provider your chosen `LASTLIGHT_MODEL` uses.
61
+ The wizard surfaces pi-ai's 15+ providers — see `src/providers.ts` for the
62
+ full registry (e.g. `ANTHROPIC_API_KEY` for anthropic/…, `OPENAI_API_KEY`
63
+ for openai/…, `GROQ_API_KEY` for groq/…, `GEMINI_API_KEY` for google/…,
64
+ `OPENROUTER_API_KEY` for the openrouter/… aggregator).
59
65
 
60
66
  ### Setup
61
67
 
62
68
  ```bash
63
- git clone https://github.com/cliftonc/lastlight.git
69
+ git clone https://github.com/nearform/lastlight.git
64
70
  cd lastlight
65
71
  npm install
66
72
  ```
@@ -82,11 +88,15 @@ GITHUB_APP_INSTALLATION_ID=789012
82
88
  # Webhook secret (required for webhook mode)
83
89
  WEBHOOK_SECRET=your-secret-here
84
90
 
85
- # Model + provider — pick one matching your key
91
+ # Model + provider — the wizard surfaces pi-ai's 15+ providers. The
92
+ # registry lives in src/providers.ts; pick any `provider/model` it lists.
86
93
  LASTLIGHT_MODEL=anthropic/claude-sonnet-4-6
87
94
  ANTHROPIC_API_KEY=sk-ant-...
88
95
  # OPENAI_API_KEY=sk-...
89
96
  # OPENROUTER_API_KEY=sk-or-...
97
+ # GROQ_API_KEY=gsk_... GEMINI_API_KEY=AIza... HF_TOKEN=hf_...
98
+ # XAI_API_KEY=...
99
+ # ZAI_API_KEY=... MISTRAL_API_KEY=... FIREWORKS_API_KEY=...
90
100
 
91
101
  # Sandbox backend (default: gondolin; alternatives: docker, none)
92
102
  # LASTLIGHT_SANDBOX=gondolin
@@ -151,7 +161,7 @@ The default for a single-issue/PR shorthand is the **cheap** action (triage or r
151
161
 
152
162
  ### Authentication
153
163
 
154
- pi-ai picks credentials from `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, and/or `OPENROUTER_API_KEY` on the harness env. The harness forwards them into each sandbox container (or VM) so workflow runs can reach the API.
164
+ pi-ai picks credentials from the provider env vars the harness forwards (the full listed set lives in `src/providers.ts` — Anthropic / OpenAI / OpenRouter / Google / Mistral / Groq / Cerebras / xAI / HuggingFace / Moonshot / NVIDIA / Fireworks / Together / DeepSeek / Z.AI / Kimi / MiniMax). The harness forwards them into each sandbox container (or VM) so workflow runs can reach the API.
155
165
 
156
166
  ---
157
167
 
@@ -277,7 +287,7 @@ For a Linux production host with KVM available (`/dev/kvm`), the native deploy r
277
287
  See [deploy/native/README.md](deploy/native/README.md) for the full runbook. The short version:
278
288
 
279
289
  ```bash
280
- git clone https://github.com/cliftonc/lastlight.git /opt/lastlight
290
+ git clone https://github.com/nearform/lastlight.git /opt/lastlight
281
291
  cd /opt/lastlight
282
292
  # (optional) install -m 0600 -o root /path/to/app.pem /etc/lastlight/app.pem
283
293
  sudo bash deploy/native/install.sh # scaffolds /etc/lastlight/lastlight.env
@@ -326,9 +336,24 @@ Legacy `OPENCODE_*` names are still read as fallbacks for the corresponding `LAS
326
336
  | `GITHUB_APP_PRIVATE_KEY_PATH` | Yes | Path to `.pem` file |
327
337
  | `GITHUB_APP_INSTALLATION_ID` | Yes | Installation ID |
328
338
  | `WEBHOOK_SECRET` | Yes | GitHub webhook signature secret |
329
- | `OPENAI_API_KEY` | One of | API key when using `openai/…` models |
330
- | `ANTHROPIC_API_KEY` | One of | API key when using `anthropic/…` models |
331
- | `OPENROUTER_API_KEY` | One of | API key when using `openrouter/…` models |
339
+ | `OPENAI_API_KEY` | One of | API key for an `openai/…` model |
340
+ | `ANTHROPIC_API_KEY` | One of | API key for an `anthropic/…` model |
341
+ | `OPENROUTER_API_KEY` | One of | API key for the `openrouter/…` aggregator |
342
+ | `GEMINI_API_KEY` | One of | API key for a `google/…` model |
343
+ | `MISTRAL_API_KEY` | One of | API key for `mistral/…` |
344
+ | `GROQ_API_KEY` | One of | API key for `groq/…` |
345
+ | `CEREBRAS_API_KEY` | One of | API key for `cerebras/…` |
346
+ | `XAI_API_KEY` | One of | API key for `xai/…` (Grok) |
347
+ | `HF_TOKEN` | One of | API key for `huggingface/…` |
348
+ | `MOONSHOT_API_KEY` | One of | API key for `moonshotai/…` (Kimi) |
349
+ | `NVIDIA_API_KEY` | One of | API key for `nvidia/…` |
350
+ | `FIREWORKS_API_KEY` | One of | API key for `fireworks/…` |
351
+ | `TOGETHER_API_KEY` | One of | API key for `together/…` |
352
+ | `DEEPSEEK_API_KEY` | One of | API key for `deepseek/…` |
353
+ | `ZAI_API_KEY` | One of | API key for `zai/…` (GLM) |
354
+ | `KIMI_API_KEY` | One of | API key for `kimi-coding/…` |
355
+ | `MINIMAX_API_KEY` | One of | API key for `minimax/…` |
356
+ | _… or any other `provider/model` whose key is forwarded by `src/providers.ts`_ | | The wizard surfaces the registered set; see `src/providers.ts` for the full list. |
332
357
  | `LASTLIGHT_OVERLAY_DIR` | No | Trusted deployment overlay directory (the docker-compose stack mounts `instance/` here as `/app/instance`). Startup loads `config/default.yaml`, optional `$LASTLIGHT_OVERLAY_DIR/config.yaml`, then env overrides; overlay assets under `workflows/`, `workflows/prompts/`, `skills/`, and `agent-context/` replace built-ins. Secrets live in `$LASTLIGHT_OVERLAY_DIR/secrets/`. Restart required after changes. See [Deployment overlay](#deployment-overlay). |
333
358
  | `LASTLIGHT_MODEL` | No | Default model (default: `anthropic/claude-sonnet-4-6`). Legacy: `OPENCODE_MODEL`. |
334
359
  | `LASTLIGHT_MODELS` | No | Per-task model overrides as JSON, e.g. `{"chat":"openai/gpt-5.1-mini","architect":"openai/gpt-5.5"}`. Legacy: `OPENCODE_MODELS`. |
@@ -35,7 +35,10 @@ WEBHOOK_SECRET=change-me-to-a-random-string
35
35
  # MODEL + LLM PROVIDER (required — pick one provider key)
36
36
  # =================================================================
37
37
  # Default model for sandbox + chat. Any provider/model agentic-pi supports:
38
- # anthropic/…, openai/…, or openrouter/<vendor>/<model>.
38
+ # anthropic/…, openai/…, openrouter/<vendor>/<model>, or any pi-ai provider
39
+ # (google/…, mistral/…, groq/…, cerebras/…, xai/…, huggingface/…, moonshotai/…,
40
+ # nvidia/…, fireworks/…, together/…, deepseek/…, zai/…, kimi-coding/…,
41
+ # minimax/…). See src/providers.ts for the registered set.
39
42
  LASTLIGHT_MODEL=anthropic/claude-sonnet-4-6
40
43
 
41
44
  # Set whichever key matches LASTLIGHT_MODEL (set more than one if per-task
@@ -43,6 +46,11 @@ LASTLIGHT_MODEL=anthropic/claude-sonnet-4-6
43
46
  # ANTHROPIC_API_KEY=sk-ant-...
44
47
  # OPENAI_API_KEY=sk-proj-...
45
48
  # OPENROUTER_API_KEY=sk-or-...
49
+ # GEMINI_API_KEY=AIza... MISTRAL_API_KEY=... GROQ_API_KEY=gsk_...
50
+ # CEREBRAS_API_KEY=... XAI_API_KEY=... HF_TOKEN=hf_...
51
+ # MOONSHOT_API_KEY=... NVIDIA_API_KEY=... FIREWORKS_API_KEY=...
52
+ # TOGETHER_API_KEY=... DEEPSEEK_API_KEY=... ZAI_API_KEY=...
53
+ # KIMI_API_KEY=... MINIMAX_API_KEY=...
46
54
 
47
55
  # =================================================================
48
56
  # DOMAIN (for Caddy TLS)
@@ -19,7 +19,7 @@ On the prod host as root:
19
19
 
20
20
  ```bash
21
21
  # 1. Clone the repo to the canonical path.
22
- git clone https://github.com/cliftonc/lastlight.git /opt/lastlight
22
+ git clone https://github.com/nearform/lastlight.git /opt/lastlight
23
23
  cd /opt/lastlight
24
24
 
25
25
  # 2. (Optional) Drop the GitHub App PEM in place before the install runs,
@@ -1,6 +1,6 @@
1
1
  [Unit]
2
2
  Description=Last Light — GitHub repository maintenance agent
3
- Documentation=https://github.com/cliftonc/lastlight
3
+ Documentation=https://github.com/nearform/lastlight
4
4
  After=network-online.target
5
5
  Wants=network-online.target
6
6
 
@@ -21,7 +21,7 @@ import { promisify } from "node:util";
21
21
  import { readFileSync } from "node:fs";
22
22
  import { resolve } from "node:path";
23
23
  const exec = promisify(execFile);
24
- const CORE_REMOTE = "https://github.com/cliftonc/lastlight";
24
+ const CORE_REMOTE = "https://github.com/nearform/lastlight";
25
25
  /** Overlay checkout path inside the container (LASTLIGHT_OVERLAY_DIR mount). */
26
26
  function overlayDir() {
27
27
  return process.env.LASTLIGHT_OVERLAY_DIR || "/app/instance";
@@ -1,6 +1,6 @@
1
1
  import { type OverlayAsset } from "../config/overlay-assets.js";
2
2
  /** SSH clone URL for the public core repo. */
3
- export declare const CORE_REPO = "git@github.com:cliftonc/lastlight.git";
3
+ export declare const CORE_REPO = "git@github.com:nearform/lastlight.git";
4
4
  /** Default clone URL for the private deployment overlay (see CLAUDE.md). */
5
5
  export declare const OVERLAY_REPO_DEFAULT = "git@github-instance:cliftonc/lastlight-instance.git";
6
6
  /** Compose override the overlay ships; symlinked into the project root. */
@@ -28,7 +28,7 @@ import { enumerateOverlayAssets } from "../config/overlay-assets.js";
28
28
  const exec = promisify(execFile);
29
29
  // ── constants ────────────────────────────────────────────────────────────────
30
30
  /** SSH clone URL for the public core repo. */
31
- export const CORE_REPO = "git@github.com:cliftonc/lastlight.git";
31
+ export const CORE_REPO = "git@github.com:nearform/lastlight.git";
32
32
  /** Default clone URL for the private deployment overlay (see CLAUDE.md). */
33
33
  export const OVERLAY_REPO_DEFAULT = "git@github-instance:cliftonc/lastlight-instance.git";
34
34
  /** Compose override the overlay ships; symlinked into the project root. */
@@ -22,12 +22,19 @@ export interface SetupConfig {
22
22
  DOMAIN: string;
23
23
  /** Model id consumed by agentic-pi / pi-ai, e.g. "anthropic/claude-sonnet-4-6" or "openai/gpt-5.5". */
24
24
  LASTLIGHT_MODEL: string;
25
- /** Set when the chosen model uses an OpenAI-prefixed provider. */
26
- OPENAI_API_KEY?: string;
27
- /** Set when the chosen model uses an Anthropic-prefixed provider. */
28
- ANTHROPIC_API_KEY?: string;
29
- /** Set when the chosen model uses an OpenRouter-prefixed provider. */
30
- OPENROUTER_API_KEY?: string;
25
+ /**
26
+ * The chosen provider's API key, set by the wizard. The runtime reads the
27
+ * matching env var (named per `ProviderSpec.envKey`), so we keep the raw
28
+ * value + the env var name and let `buildEnvContent()` serialise the right
29
+ * line. Older versions hard-coded `OPENAI_API_KEY` / `ANTHROPIC_API_KEY` /
30
+ * `OPENROUTER_API_KEY` — those are now passed through verbatim when the
31
+ * user picks one of those providers, so existing .env files keep working.
32
+ */
33
+ providerApiKey: {
34
+ envKey: string;
35
+ value: string;
36
+ } | undefined;
37
+ /** Back-compat shims preserving the legacy fields for older callers/tests. */
31
38
  ADMIN_PASSWORD?: string;
32
39
  SLACK_BOT_TOKEN?: string;
33
40
  SLACK_APP_TOKEN?: string;
@@ -41,14 +48,6 @@ export interface SetupConfig {
41
48
  }
42
49
  export declare function isPositiveInt(s: string): boolean;
43
50
  export declare function isPemFile(filePath: string): boolean;
44
- export declare function isAnthropicKey(s: string): boolean;
45
- export declare function isOpenaiKey(s: string): boolean;
46
- export declare function isOpenrouterKey(s: string): boolean;
47
- /**
48
- * Default model — kept aligned with `config.ts`'s `DEFAULT_MODEL`.
49
- * Update both in lockstep when the canonical default changes.
50
- */
51
- export declare const DEFAULT_LASTLIGHT_MODEL = "anthropic/claude-sonnet-4-6";
52
51
  export declare function isSlackBotToken(s: string): boolean;
53
52
  export declare function isSlackAppToken(s: string): boolean;
54
53
  export declare function buildEnvContent(config: SetupConfig): string;
package/dist/cli/setup.js CHANGED
@@ -13,6 +13,7 @@ import * as p from "@clack/prompts";
13
13
  import chalk from "chalk";
14
14
  import { OVERLAY_GITIGNORE, detectGh, bootstrapOverlayRepo } from "../config/overlay-bootstrap.js";
15
15
  import { serverUpdate } from "./cli-server.js";
16
+ import { PROVIDERS, providerByPrefix } from "../providers.js";
16
17
  // ── Brand colors ───────────────────────────────────────────────────────────
17
18
  const gold = chalk.hex("#F0B429");
18
19
  const teal = chalk.hex("#1A7A8A");
@@ -53,20 +54,6 @@ export function isPemFile(filePath) {
53
54
  return false;
54
55
  }
55
56
  }
56
- export function isAnthropicKey(s) {
57
- return s.startsWith("sk-ant-");
58
- }
59
- export function isOpenaiKey(s) {
60
- return s.startsWith("sk-") && !s.startsWith("sk-ant-") && !s.startsWith("sk-or-");
61
- }
62
- export function isOpenrouterKey(s) {
63
- return s.startsWith("sk-or-");
64
- }
65
- /**
66
- * Default model — kept aligned with `config.ts`'s `DEFAULT_MODEL`.
67
- * Update both in lockstep when the canonical default changes.
68
- */
69
- export const DEFAULT_LASTLIGHT_MODEL = "anthropic/claude-sonnet-4-6";
70
57
  export function isSlackBotToken(s) {
71
58
  return s.startsWith("xoxb-");
72
59
  }
@@ -96,15 +83,9 @@ export function buildEnvContent(config) {
96
83
  else {
97
84
  lines.push("# ── GitHub: none (chat-only mode) ────────────────────────", "# Interact via `lastlight chat` and the dashboard.", "");
98
85
  }
99
- lines.push("# ── Domain (used by Caddy for TLS) ─────────────────────────────────────", `DOMAIN=${config.DOMAIN}`, "", "# ── Model + provider API key ────────────────────────────────", `LASTLIGHT_MODEL=${config.LASTLIGHT_MODEL}`, "# Set whichever matches your LASTLIGHT_MODEL (anthropic/…, openai/…, or openrouter/…).");
100
- if (config.OPENAI_API_KEY) {
101
- lines.push(`OPENAI_API_KEY=${config.OPENAI_API_KEY}`);
102
- }
103
- if (config.ANTHROPIC_API_KEY) {
104
- lines.push(`ANTHROPIC_API_KEY=${config.ANTHROPIC_API_KEY}`);
105
- }
106
- if (config.OPENROUTER_API_KEY) {
107
- lines.push(`OPENROUTER_API_KEY=${config.OPENROUTER_API_KEY}`);
86
+ lines.push("# ── Domain (used by Caddy for TLS) ─────────────────────────────────────", `DOMAIN=${config.DOMAIN}`, "", "# ── Model + provider API key ────────────────────────────────", `LASTLIGHT_MODEL=${config.LASTLIGHT_MODEL}`, "# Set the env var that matches your LASTLIGHT_MODEL's provider.", "# See src/providers.ts for the full registry (anthropic, openai,", "# openrouter, google, mistral, groq, cerebras, xai, huggingface,", "# moonshotai, nvidia, fireworks, together, deepseek, zai,", "# kimi-coding, minimax).");
87
+ if (config.providerApiKey) {
88
+ lines.push(`${config.providerApiKey.envKey}=${config.providerApiKey.value}`);
108
89
  }
109
90
  lines.push("", "# ── Admin Dashboard ────────────────────────────────────────", `ADMIN_SECRET=${config.ADMIN_SECRET}`);
110
91
  if (config.ADMIN_PASSWORD) {
@@ -224,9 +205,9 @@ function preflight() {
224
205
  }
225
206
  else {
226
207
  const s = p.spinner();
227
- s.start("Cloning cliftonc/lastlight ...");
208
+ s.start("Cloning nearform/lastlight ...");
228
209
  try {
229
- execSync("git clone https://github.com/cliftonc/lastlight.git lastlight", {
210
+ execSync("git clone https://github.com/nearform/lastlight.git lastlight", {
230
211
  stdio: "pipe",
231
212
  });
232
213
  s.stop("Repository cloned.");
@@ -234,7 +215,7 @@ function preflight() {
234
215
  catch {
235
216
  s.stop("Clone failed.");
236
217
  p.log.error("Failed to clone. Please clone manually:");
237
- p.log.info(" git clone https://github.com/cliftonc/lastlight.git");
218
+ p.log.info(" git clone https://github.com/nearform/lastlight.git");
238
219
  process.exit(1);
239
220
  }
240
221
  process.chdir("lastlight");
@@ -402,85 +383,98 @@ async function collectManagedRepos() {
402
383
  }
403
384
  return repos;
404
385
  }
386
+ /**
387
+ * Result of the step-4 model+key collector. The wizard picks a provider from
388
+ * the shared registry (`src/providers.ts`), then asks for the model id and
389
+ * the provider's API key. The key is returned tagged with the env var name
390
+ * the runtime expects, so `buildEnvContent()` can serialise the right line.
391
+ */
405
392
  async function collectModelAndKey() {
406
393
  p.log.step(gold("Model provider"));
407
- p.log.info(dim("agentic-pi (pi-ai) is provider-agnostic. Pick the model you want the agent to use; ") +
408
- dim("the wizard will ask for the matching API key."));
409
- // Curated short list — extend as new defaults emerge. The custom escape
410
- // hatch below lets the user enter any provider/model string pi-ai accepts.
411
- const catalog = [
412
- DEFAULT_LASTLIGHT_MODEL,
413
- "anthropic/claude-sonnet-4-6-20251015",
414
- "openai/gpt-5.5",
415
- "openrouter/google/gemini-2.5-pro",
416
- "openrouter/anthropic/claude-sonnet-4.5",
417
- ];
418
- // Deduplicate while preserving order (DEFAULT_LASTLIGHT_MODEL first).
419
- const seen = new Set();
420
- const ordered = [];
421
- for (const m of catalog) {
422
- if (!seen.has(m)) {
423
- seen.add(m);
424
- ordered.push(m);
425
- }
426
- }
427
- const choice = required(await p.select({
428
- message: `LASTLIGHT_MODEL ${dim("(short list — pick 'other' for a custom value)")}`,
429
- initialValue: DEFAULT_LASTLIGHT_MODEL,
394
+ p.log.info(dim("agentic-pi (pi-ai) is provider-agnostic and supports 15+ providers — ") +
395
+ dim("Anthropic, OpenAI, Google, Mistral, Groq, Cerebras, xAI, Hugging Face, ") +
396
+ dim("Moonshot, NVIDIA, Fireworks, Together, DeepSeek, Z.AI, OpenRouter, …"));
397
+ // Provider picker — the registry is the single source of truth. Order is
398
+ // intentional: Anthropic (default) → OpenAI → Google → the rest grouped by
399
+ // family. The "custom" escape hatch lets the user enter any `provider/model`
400
+ // string pi-ai accepts even if we haven't surfaced a register entry.
401
+ const defaultPrefix = "anthropic";
402
+ const providerChoice = required(await p.select({
403
+ message: `Provider ${dim("(model spec prefix)")}`,
404
+ initialValue: defaultPrefix,
430
405
  options: [
431
- ...ordered.map((m) => ({
432
- value: m,
433
- label: m === DEFAULT_LASTLIGHT_MODEL ? `${m} ${dim("(default)")}` : m,
406
+ // Render every registered provider; the option value is the prefix.
407
+ ...PROVIDERS.map((spec) => ({
408
+ value: spec.prefix,
409
+ label: spec.prefix === defaultPrefix
410
+ ? `${spec.displayName} ${dim("(default)")}`
411
+ : spec.displayName,
412
+ hint: spec.prefix,
434
413
  })),
435
- { value: "__custom__", label: dim("Enter a different provider/model...") },
414
+ { value: "__custom__", label: dim("Enter a custom provider/model...") },
436
415
  ],
437
416
  }));
438
- let model = choice;
439
- if (choice === "__custom__") {
440
- model = required(await p.text({
417
+ let spec;
418
+ let modelId;
419
+ if (providerChoice === "__custom__") {
420
+ const raw = required(await p.text({
441
421
  message: "provider/model",
442
422
  placeholder: "openai/gpt-5.3-codex or anthropic/claude-…",
443
- validate: (v) => v && /^[a-z][\w-]*\/[A-Za-z][\w.-]+$/.test(v)
444
- ? undefined
445
- : "Format must be provider/model (e.g. openai/gpt-5.3-codex).",
446
- }));
447
- }
448
- const provider = model.split("/")[0].toLowerCase();
449
- if (provider === "anthropic") {
450
- const key = required(await p.text({
451
- message: "ANTHROPIC_API_KEY",
452
- placeholder: "sk-ant-...",
453
- validate: (v) => v && isAnthropicKey(v) ? undefined : "Must start with sk-ant-",
454
- }));
455
- return { model, anthropicKey: key };
456
- }
457
- if (provider === "openai") {
458
- const key = required(await p.text({
459
- message: "OPENAI_API_KEY",
460
- placeholder: "sk-...",
461
- validate: (v) => v && isOpenaiKey(v) ? undefined : "Must start with sk- (and not sk-ant- or sk-or-)",
423
+ validate: (v) => {
424
+ if (!v || !/^[a-z][\w-]*\//.test(v)) {
425
+ return "Format must be provider/model (e.g. openai/gpt-5.3-codex).";
426
+ }
427
+ const prefix = v.split("/")[0].toLowerCase();
428
+ if (!providerByPrefix(prefix)) {
429
+ return (`Unknown provider prefix "${prefix}". Registered providers: ` +
430
+ PROVIDERS.map((s) => s.prefix).join(", "));
431
+ }
432
+ return undefined;
433
+ },
462
434
  }));
463
- return { model, openaiKey: key };
435
+ const slashIdx = raw.indexOf("/");
436
+ const prefix = raw.slice(0, slashIdx).toLowerCase();
437
+ spec = providerByPrefix(prefix);
438
+ modelId = raw.slice(slashIdx + 1);
464
439
  }
465
- if (provider === "openrouter") {
466
- const key = required(await p.text({
467
- message: "OPENROUTER_API_KEY",
468
- placeholder: "sk-or-v1-...",
469
- validate: (v) => v && isOpenrouterKey(v) ? undefined : "Must start with sk-or-",
440
+ else {
441
+ spec = providerByPrefix(providerChoice);
442
+ // Default to the canonical primary model for this provider (the user can
443
+ // override in the next prompt).
444
+ modelId = spec.sampleModel;
445
+ const customModelId = required(await p.text({
446
+ message: `Model id for ${spec.displayName} ${dim("(provider prefix is added automatically)")}`,
447
+ placeholder: spec.sampleModel,
448
+ defaultValue: spec.sampleModel,
449
+ validate: (v) => {
450
+ if (!v || !v.trim())
451
+ return undefined; // accept the default on Enter
452
+ // The user enters the model id without the provider prefix; keep
453
+ // OpenRouter's nested `vendor/model` tail legal.
454
+ return /^[A-Za-z0-9][\w/.-]*$/.test(v) ? undefined : "Use the model id (e.g. claude-sonnet-4-6 or anthropic/claude-sonnet-4.5 for OpenRouter).";
455
+ },
470
456
  }));
471
- return { model, openrouterKey: key };
457
+ modelId = (customModelId || spec.sampleModel).trim();
472
458
  }
473
- // Unknown provider — prompt for any key and route by shape.
474
- p.log.warn(`Provider "${provider}" isn't auto-detected. Enter the API key your model needs.`);
459
+ const model = `${spec.prefix}/${modelId}`;
460
+ // Provider-specific API key. We surface the right env var name + a
461
+ // known-prefix hint; validation is loose (the upstream will reject a wrong
462
+ // key with a clear error, so we don't gate the install on shape alone).
463
+ const keyPlaceholder = spec.keyPrefix ? `${spec.keyPrefix}…` : "paste your key";
475
464
  const key = required(await p.text({
476
- message: "API key",
477
- validate: (v) => (v && v.length > 0 ? undefined : "Enter a non-empty key."),
465
+ message: spec.envKey,
466
+ placeholder: keyPlaceholder,
467
+ validate: (v) => {
468
+ if (!v || !v.trim())
469
+ return "Enter a non-empty API key.";
470
+ if (spec.keyPrefix && !v.startsWith(spec.keyPrefix)) {
471
+ return `Keys for ${spec.displayName} usually start with "${spec.keyPrefix}". Paste yours to override.`;
472
+ }
473
+ return undefined;
474
+ },
478
475
  }));
479
- if (isAnthropicKey(key))
480
- return { model, anthropicKey: key };
481
- if (isOpenrouterKey(key))
482
- return { model, openrouterKey: key };
483
- return { model, openaiKey: key };
476
+ p.log.success(`Model: ${teal(model)} — key: ${dim(spec.envKey)}`);
477
+ return { model, providerApiKey: { envKey: spec.envKey, value: key.trim() } };
484
478
  }
485
479
  async function collectAdminPassword() {
486
480
  p.log.step(gold("Admin Dashboard"));
@@ -651,7 +645,7 @@ export async function runSetup() {
651
645
  const { domain, useCaddy } = await collectDomain();
652
646
  // Managed repos are meaningful for App + PAT; chat-only has no repos to manage.
653
647
  const managedRepos = mode === "chat" ? [] : await collectManagedRepos();
654
- const { model, openaiKey, anthropicKey, openrouterKey } = await collectModelAndKey();
648
+ const { model, providerApiKey } = await collectModelAndKey();
655
649
  const adminPassword = await collectAdminPassword();
656
650
  const { botToken, appToken, deliveryChannel, allowedUsers } = await collectSlack();
657
651
  const config = {
@@ -663,9 +657,7 @@ export async function runSetup() {
663
657
  ADMIN_SECRET: adminSecret,
664
658
  DOMAIN: domain,
665
659
  LASTLIGHT_MODEL: model,
666
- OPENAI_API_KEY: openaiKey,
667
- ANTHROPIC_API_KEY: anthropicKey,
668
- OPENROUTER_API_KEY: openrouterKey,
660
+ providerApiKey,
669
661
  ADMIN_PASSWORD: adminPassword,
670
662
  SLACK_BOT_TOKEN: botToken,
671
663
  SLACK_APP_TOKEN: appToken,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,10 @@ export const OVERLAY_ENV_EXAMPLE = [
74
74
  "",
75
75
  "# ── Model + provider API key ─────────────────────────────",
76
76
  "LASTLIGHT_MODEL=anthropic/claude-sonnet-4-6",
77
- "# Set whichever matches your LASTLIGHT_MODEL (anthropic/…, openai/…, or openrouter/…).",
77
+ "# Set the env var that matches your LASTLIGHT_MODEL's provider.",
78
+ "# The wizard-able registry (src/providers.ts): anthropic, openai, openrouter,",
79
+ "# google (GEMINI_API_KEY), mistral, groq, cerebras, xai, huggingface (HF_TOKEN),",
80
+ "# moonshotai, nvidia, fireworks, together, deepseek, zai, kimi-coding, minimax.",
78
81
  "# ANTHROPIC_API_KEY=",
79
82
  "# OPENAI_API_KEY=",
80
83
  "# OPENROUTER_API_KEY=",
@@ -94,7 +97,7 @@ export const OVERLAY_ENV_EXAMPLE = [
94
97
  export const OVERLAY_README = [
95
98
  "# lastlight-instance",
96
99
  "",
97
- "Private deployment overlay for [Last Light](https://github.com/cliftonc/lastlight).",
100
+ "Private deployment overlay for [Last Light](https://github.com/nearform/lastlight).",
98
101
  "Keeps deployment-specific config and secrets out of the public repo.",
99
102
  "",
100
103
  "Cloned into `instance/` next to the lastlight checkout's `docker-compose.yml`,",