lastlight 0.1.8 → 0.1.15

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/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { mkdirSync, writeFileSync } from "fs";
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
2
2
  import { resolve } from "path";
3
3
  import { randomUUID } from "crypto";
4
4
  import { loadConfig, generateMcpConfig, resolveModel } from "./config.js";
@@ -15,11 +15,45 @@ import { authMiddleware } from "./admin/auth.js";
15
15
  import { GitHubClient } from "./engine/github.js";
16
16
  import { runSimpleWorkflow } from "./workflows/simple.js";
17
17
  import { resumeOrphanedWorkflows } from "./workflows/resume.js";
18
+ /**
19
+ * Pre-flight validation — checks that config is sane before starting any
20
+ * services. Exits with code 78 (EX_CONFIG) on configuration errors so
21
+ * Docker's restart policy doesn't loop forever on a misconfigured container.
22
+ */
23
+ function validateConfig(config) {
24
+ const fatal = (msg) => {
25
+ console.error(`\n[startup] FATAL: ${msg}`);
26
+ console.error("[startup] Fix your .env and restart.\n");
27
+ process.exit(78); // EX_CONFIG — sysexits.h convention
28
+ };
29
+ if (config.githubApp) {
30
+ const { appId, privateKeyPath, installationId } = config.githubApp;
31
+ if (!appId || !installationId) {
32
+ fatal("GITHUB_APP_ID and GITHUB_APP_INSTALLATION_ID are required when the GitHub App is configured.");
33
+ }
34
+ if (!existsSync(resolve(privateKeyPath))) {
35
+ fatal(`GITHUB_APP_PRIVATE_KEY_PATH points to "${privateKeyPath}" which does not exist.`);
36
+ }
37
+ try {
38
+ const content = readFileSync(resolve(privateKeyPath), "utf8");
39
+ if (!content.startsWith("-----BEGIN")) {
40
+ fatal(`GITHUB_APP_PRIVATE_KEY_PATH ("${privateKeyPath}") does not look like a PEM file.`);
41
+ }
42
+ }
43
+ catch (err) {
44
+ fatal(`Cannot read GITHUB_APP_PRIVATE_KEY_PATH ("${privateKeyPath}"): ${err.message}`);
45
+ }
46
+ }
47
+ if (!config.webhookSecret && config.githubApp) {
48
+ console.warn("[startup] WEBHOOK_SECRET is not set — webhook signature verification is disabled.");
49
+ }
50
+ }
18
51
  async function main() {
19
52
  console.log("Last Light v2.0 — Agent SDK Harness");
20
53
  console.log("====================================");
21
- // Load config
54
+ // Load and validate config before starting anything
22
55
  const config = loadConfig();
56
+ validateConfig(config);
23
57
  console.log(`[config] Port: ${config.port}, Model: ${config.model}`);
24
58
  const modelOverrides = Object.entries(config.models).filter(([k]) => k !== "default");
25
59
  if (modelOverrides.length > 0) {
@@ -37,9 +71,9 @@ async function main() {
37
71
  const mcpConfigPath = resolve(config.mcpConfigPath);
38
72
  writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2));
39
73
  console.log(`[config] MCP config written to: ${mcpConfigPath}`);
40
- // Configure git with GitHub App credentials — agents can git clone/push natively
41
- // Non-fatal: if this fails (e.g., DNS not ready yet), the app still starts.
42
- // Git auth is refreshed before each agent execution anyway.
74
+ // Configure git with GitHub App credentials — agents can git clone/push natively.
75
+ // Non-fatal: the token is refreshed before each agent execution anyway, so a
76
+ // transient failure here (DNS, rate limit) doesn't block startup.
43
77
  if (config.githubApp) {
44
78
  try {
45
79
  await configureGitAuth({
@@ -49,7 +83,7 @@ async function main() {
49
83
  });
50
84
  }
51
85
  catch (err) {
52
- console.warn(`[git-auth] Initial git auth failed (will retry per-execution): ${err.message}`);
86
+ console.warn(`[git-auth] Initial token mint failed (will retry per-execution): ${err.message}`);
53
87
  }
54
88
  }
55
89
  // Initialize state database
@@ -772,6 +806,13 @@ async function main() {
772
806
  }
773
807
  main().catch((err) => {
774
808
  console.error("[main] Fatal error:", err);
775
- process.exit(1);
809
+ // Exit 78 (EX_CONFIG) to signal Docker restart policy that looping won't help.
810
+ // Common causes: bad PEM, wrong App ID, missing env vars.
811
+ const msg = err?.message || "";
812
+ const isConfig = msg.includes("could not be decoded") ||
813
+ msg.includes("not found") ||
814
+ msg.includes("ENOENT") ||
815
+ msg.includes("required");
816
+ process.exit(isConfig ? 78 : 1);
776
817
  });
777
818
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/setup.d.ts CHANGED
@@ -3,8 +3,7 @@
3
3
  * Last Light setup wizard — `npx lastlight setup`
4
4
  *
5
5
  * Guides a user from a bare server to a fully configured Last Light instance.
6
- * Uses only Node.js built-ins: readline/promises, crypto, fs, child_process.
7
- * Zero new dependencies.
6
+ * Uses @clack/prompts for the interactive UI and chalk for styling.
8
7
  */
9
8
  export interface SetupConfig {
10
9
  GITHUB_APP_ID: string;
@@ -21,19 +20,10 @@ export interface SetupConfig {
21
20
  useCaddy: boolean;
22
21
  pemSourcePath: string;
23
22
  }
24
- /** Returns true if the string is a positive integer (no decimals, no leading spaces). */
25
23
  export declare function isPositiveInt(s: string): boolean;
26
- /**
27
- * Returns true if the file at `filePath` exists and starts with a PEM header.
28
- * Accepts both RSA PRIVATE KEY and PKCS8 PRIVATE KEY formats.
29
- */
30
24
  export declare function isPemFile(filePath: string): boolean;
31
- /** Returns true if the key has the `sk-ant-` prefix. */
32
25
  export declare function isAnthropicKey(s: string): boolean;
33
- /** Returns true if the token has the `xoxb-` prefix. */
34
26
  export declare function isSlackBotToken(s: string): boolean;
35
- /** Returns true if the token has the `xapp-` prefix. */
36
27
  export declare function isSlackAppToken(s: string): boolean;
37
- /** Builds the full .env file content from the collected config. */
38
28
  export declare function buildEnvContent(config: SetupConfig): string;
39
29
  export declare function runSetup(): Promise<void>;
package/dist/setup.js CHANGED
@@ -3,23 +3,44 @@
3
3
  * Last Light setup wizard — `npx lastlight setup`
4
4
  *
5
5
  * Guides a user from a bare server to a fully configured Last Light instance.
6
- * Uses only Node.js built-ins: readline/promises, crypto, fs, child_process.
7
- * Zero new dependencies.
6
+ * Uses @clack/prompts for the interactive UI and chalk for styling.
8
7
  */
9
- import { createInterface } from "node:readline/promises";
10
8
  import { randomBytes } from "node:crypto";
11
- import { existsSync, readFileSync, writeFileSync, mkdirSync, chmodSync, copyFileSync, } from "node:fs";
9
+ import { existsSync, readFileSync, readdirSync, writeFileSync, mkdirSync, chmodSync, copyFileSync, } from "node:fs";
12
10
  import { resolve, join } from "node:path";
13
11
  import { execSync } from "node:child_process";
12
+ import * as p from "@clack/prompts";
13
+ import chalk from "chalk";
14
+ // ── Brand colors ───────────────────────────────────────────────────────────
15
+ const gold = chalk.hex("#F0B429");
16
+ const teal = chalk.hex("#1A7A8A");
17
+ const orange = chalk.hex("#E8752A");
18
+ const dim = chalk.dim;
19
+ const bright = chalk.white.bold;
14
20
  // ── Validation helpers (exported for unit tests) ────────────────────────────
15
- /** Returns true if the string is a positive integer (no decimals, no leading spaces). */
16
21
  export function isPositiveInt(s) {
17
22
  return /^\d+$/.test(s) && parseInt(s, 10) > 0;
18
23
  }
19
24
  /**
20
- * Returns true if the file at `filePath` exists and starts with a PEM header.
21
- * Accepts both RSA PRIVATE KEY and PKCS8 PRIVATE KEY formats.
25
+ * Try to resolve a PEM path. Checks: as given, relative to cwd, relative
26
+ * to parent dir (for when the wizard chdir'd into a clone), and with ~ expanded.
27
+ * Returns the resolved absolute path or null if not found.
22
28
  */
29
+ function resolvePem(input) {
30
+ let expanded = input;
31
+ if (expanded.startsWith("~/")) {
32
+ expanded = join(process.env.HOME || "", expanded.slice(2));
33
+ }
34
+ const candidates = [
35
+ resolve(expanded),
36
+ resolve("..", expanded),
37
+ ];
38
+ for (const candidate of candidates) {
39
+ if (isPemFile(candidate))
40
+ return candidate;
41
+ }
42
+ return null;
43
+ }
23
44
  export function isPemFile(filePath) {
24
45
  try {
25
46
  const content = readFileSync(filePath, "utf8");
@@ -30,20 +51,16 @@ export function isPemFile(filePath) {
30
51
  return false;
31
52
  }
32
53
  }
33
- /** Returns true if the key has the `sk-ant-` prefix. */
34
54
  export function isAnthropicKey(s) {
35
55
  return s.startsWith("sk-ant-");
36
56
  }
37
- /** Returns true if the token has the `xoxb-` prefix. */
38
57
  export function isSlackBotToken(s) {
39
58
  return s.startsWith("xoxb-");
40
59
  }
41
- /** Returns true if the token has the `xapp-` prefix. */
42
60
  export function isSlackAppToken(s) {
43
61
  return s.startsWith("xapp-");
44
62
  }
45
63
  // ── .env serialization (exported for unit tests) ────────────────────────────
46
- /** Builds the full .env file content from the collected config. */
47
64
  export function buildEnvContent(config) {
48
65
  const lines = [
49
66
  "# ── Last Light — Environment Variables ─────────────────────",
@@ -86,189 +103,312 @@ export function buildEnvContent(config) {
86
103
  lines.push("");
87
104
  return lines.join("\n");
88
105
  }
89
- async function prompt(rl, question, validator, errorMsg) {
90
- while (true) {
91
- const answer = (await rl.question(question)).trim();
92
- if (!validator || validator(answer))
93
- return answer;
94
- console.error(` ${errorMsg ?? "Invalid input. Please try again."}`);
106
+ // ── Clack helper bail on cancel ───────────────────────────────────────────
107
+ function required(value) {
108
+ if (p.isCancel(value)) {
109
+ p.cancel("Setup cancelled.");
110
+ process.exit(0);
95
111
  }
112
+ return value;
96
113
  }
97
- async function promptYesNo(rl, question, defaultYes = false) {
98
- const hint = defaultYes ? "[Y/n]" : "[y/N]";
99
- while (true) {
100
- const answer = (await rl.question(`${question} ${hint}: `)).trim().toLowerCase();
101
- if (answer === "")
102
- return defaultYes;
103
- if (answer === "y" || answer === "yes")
104
- return true;
105
- if (answer === "n" || answer === "no")
106
- return false;
107
- console.error(" Please enter y or n.");
108
- }
114
+ // ── Banner ──────────────────────────────────────────────────────────────────
115
+ function printBanner() {
116
+ // Inner width = 46 chars between the box-drawing borders
117
+ const W = 46;
118
+ const pad = (text, styled) => {
119
+ const left = Math.floor((W - text.length) / 2);
120
+ const right = W - text.length - left;
121
+ return gold(" │") + " ".repeat(left) + styled + " ".repeat(right) + gold("│");
122
+ };
123
+ const empty = gold(" │") + " ".repeat(W) + gold("│");
124
+ const rule = "─".repeat(W);
125
+ console.log();
126
+ console.log(gold(` ╭${rule}╮`));
127
+ console.log(empty);
128
+ console.log(pad("✦ L A S T L I G H T ✦", bright("✦ L A S T L I G H T ✦")));
129
+ console.log(empty);
130
+ console.log(pad("GitHub Repository Maintenance Agent", dim("GitHub Repository Maintenance Agent")));
131
+ console.log(empty);
132
+ console.log(gold(` ╰${rule}╯`));
133
+ console.log();
109
134
  }
110
- // ── Setup steps ─────────────────────────────────────────────────────────────
135
+ // ── Preflight ───────────────────────────────────────────────────────────────
111
136
  function preflight() {
112
- // Check for docker-compose.yml; clone if not present, then cd into it
113
137
  if (!existsSync("docker-compose.yml")) {
114
- // Maybe we're one level up and a `lastlight/` clone already exists
115
138
  if (existsSync("lastlight/docker-compose.yml")) {
116
- console.log("\nFound existing lastlight/ directory — continuing setup there.\n");
139
+ p.log.info("Found existing lastlight/ directory — continuing setup there.");
117
140
  process.chdir("lastlight");
118
141
  }
119
142
  else {
120
- console.log("\nNo docker-compose.yml found in current directory.");
121
- console.log("Cloning cliftonc/lastlight into ./lastlight ...\n");
143
+ const s = p.spinner();
144
+ s.start("Cloning cliftonc/lastlight ...");
122
145
  try {
123
146
  execSync("git clone https://github.com/cliftonc/lastlight.git lastlight", {
124
- stdio: "inherit",
147
+ stdio: "pipe",
125
148
  });
149
+ s.stop("Repository cloned.");
126
150
  }
127
151
  catch {
128
- console.error("Failed to clone repository. Please clone it manually:");
129
- console.error(" git clone https://github.com/cliftonc/lastlight.git");
152
+ s.stop("Clone failed.");
153
+ p.log.error("Failed to clone. Please clone manually:");
154
+ p.log.info(" git clone https://github.com/cliftonc/lastlight.git");
130
155
  process.exit(1);
131
156
  }
132
157
  process.chdir("lastlight");
133
- console.log(`\nContinuing setup in ${process.cwd()}\n`);
158
+ p.log.info(`Working directory: ${dim(process.cwd())}`);
134
159
  }
135
160
  }
136
- // Check Docker is available
137
161
  try {
138
162
  execSync("docker info", { stdio: "ignore" });
139
163
  }
140
164
  catch {
141
- console.error("\nDocker is not running or not installed.");
142
- console.error("Please start Docker and re-run: npx lastlight setup\n");
165
+ p.log.error("Docker is not running or not installed.");
166
+ p.log.info("Please start Docker and re-run: " + teal("npx lastlight setup"));
143
167
  process.exit(1);
144
168
  }
145
- // Check .env doesn't already exist
146
169
  if (existsSync(".env")) {
147
- console.error("\n.env already exists. To reconfigure, edit it directly.");
148
- console.error("If you want to start over, remove it first: rm .env\n");
170
+ p.log.error(".env already exists. To reconfigure, remove it first: " + dim("rm .env"));
149
171
  process.exit(1);
150
172
  }
151
173
  }
152
- async function collectGitHubApp(rl) {
153
- console.log("\n── Step 1: GitHub App ─────────────────────────────────────");
154
- console.log("Create a GitHub App at https://github.com/settings/apps/new if you haven't already.\n");
155
- const appId = await prompt(rl, "GitHub App ID (numeric): ", isPositiveInt, "Must be a positive integer (e.g. 123456).");
156
- const installationId = await prompt(rl, "GitHub App Installation ID (numeric): ", isPositiveInt, "Must be a positive integer (e.g. 789012).");
157
- const pemPath = await prompt(rl, "Path to GitHub App private key (.pem): ", (p) => isPemFile(resolve(p)), "File not found or does not look like a PEM private key.");
174
+ // ── Setup steps ─────────────────────────────────────────────────────────────
175
+ async function collectGitHubApp() {
176
+ p.log.step(gold("GitHub App"));
177
+ p.log.info(dim("Create one at ") +
178
+ teal("https://github.com/settings/apps/new") +
179
+ dim(" if you haven't already."));
180
+ const appId = required(await p.text({
181
+ message: "GitHub App ID",
182
+ placeholder: "123456",
183
+ validate: (v) => v && isPositiveInt(v) ? undefined : "Must be a positive integer.",
184
+ }));
185
+ const installationId = required(await p.text({
186
+ message: "Installation ID",
187
+ placeholder: "789012",
188
+ validate: (v) => v && isPositiveInt(v) ? undefined : "Must be a positive integer.",
189
+ }));
190
+ // Search cwd and parent for .pem files to offer as choices
191
+ const pemCandidates = [];
192
+ for (const dir of [process.cwd(), resolve("..")]) {
193
+ try {
194
+ for (const f of readdirSync(dir)) {
195
+ if (f.endsWith(".pem")) {
196
+ const full = join(dir, f);
197
+ if (isPemFile(full))
198
+ pemCandidates.push(full);
199
+ }
200
+ }
201
+ }
202
+ catch { /* unreadable dir */ }
203
+ }
204
+ let pemResolved;
205
+ if (pemCandidates.length > 0) {
206
+ const choice = required(await p.select({
207
+ message: "Private key (.pem)",
208
+ options: [
209
+ ...pemCandidates.map((f) => ({ value: f, label: f.replace(process.env.HOME || "", "~") })),
210
+ { value: "__other__", label: dim("Enter a different path...") },
211
+ ],
212
+ }));
213
+ if (choice === "__other__") {
214
+ const manual = required(await p.text({
215
+ message: "Path to private key (.pem)",
216
+ validate: (v) => {
217
+ if (!v)
218
+ return "Enter a file path.";
219
+ return resolvePem(v) ? undefined : "File not found or not a valid PEM.";
220
+ },
221
+ }));
222
+ pemResolved = resolvePem(manual);
223
+ }
224
+ else {
225
+ pemResolved = choice;
226
+ }
227
+ }
228
+ else {
229
+ const manual = required(await p.text({
230
+ message: "Path to private key (.pem)",
231
+ placeholder: "~/downloads/your-app.private-key.pem",
232
+ validate: (v) => {
233
+ if (!v)
234
+ return "Enter a file path.";
235
+ return resolvePem(v) ? undefined : "File not found or not a valid PEM.";
236
+ },
237
+ }));
238
+ pemResolved = resolvePem(manual);
239
+ }
158
240
  return {
159
- appId,
160
- installationId,
161
- pemSourcePath: resolve(pemPath),
241
+ appId: appId,
242
+ installationId: installationId,
243
+ pemSourcePath: pemResolved,
162
244
  };
163
245
  }
164
- function generateSecrets() {
165
- console.log("\n── Step 2: Secrets ────────────────────────────────────────");
166
- const webhookSecret = randomBytes(32).toString("hex");
167
- const adminSecret = randomBytes(32).toString("hex");
168
- console.log("\nAuto-generated WEBHOOK_SECRET (paste this into your GitHub App webhook settings):");
169
- console.log(` ${webhookSecret}\n`);
170
- return { webhookSecret, adminSecret };
171
- }
172
- async function collectDomain(rl) {
173
- console.log("── Step 3: Domain + TLS ───────────────────────────────────");
174
- const domain = await prompt(rl, "Your domain (e.g. lastlight.example.com): ", (d) => d.length > 0 && d.includes("."), "Please enter a valid domain name.");
175
- const useCaddy = await promptYesNo(rl, "Use Caddy for automatic TLS (recommended)?", true);
176
- console.log(`\nWebhook URL: https://${domain}/webhook`);
177
- return { domain, useCaddy };
246
+ async function collectDomain() {
247
+ p.log.step(gold("Domain & TLS"));
248
+ const domain = required(await p.text({
249
+ message: "Your domain",
250
+ placeholder: "lastlight.example.com",
251
+ validate: (v) => v && v.length > 0 && v.includes(".")
252
+ ? undefined
253
+ : "Enter a valid domain name.",
254
+ }));
255
+ const useCaddy = required(await p.confirm({
256
+ message: "Use Caddy for automatic TLS?",
257
+ initialValue: true,
258
+ }));
259
+ p.log.info(`Webhook URL: ${teal(`https://${domain}/webhook`)}`);
260
+ return { domain: domain, useCaddy: useCaddy };
178
261
  }
179
- async function collectAnthropicKey(rl) {
180
- console.log("\n── Step 4: Anthropic API Key ──────────────────────────────");
181
- return prompt(rl, "ANTHROPIC_API_KEY (sk-ant-...): ", isAnthropicKey, "Must start with sk-ant-");
262
+ async function collectAnthropicKey() {
263
+ p.log.step(gold("Anthropic API Key"));
264
+ const key = required(await p.text({
265
+ message: "ANTHROPIC_API_KEY",
266
+ placeholder: "sk-ant-...",
267
+ validate: (v) => v && isAnthropicKey(v) ? undefined : "Must start with sk-ant-",
268
+ }));
269
+ return key;
182
270
  }
183
- async function collectAdminPassword(rl) {
184
- console.log("\n── Step 5: Admin Dashboard Password ──────────────────────");
185
- const wantPassword = await promptYesNo(rl, "Set an admin dashboard password?", false);
271
+ async function collectAdminPassword() {
272
+ p.log.step(gold("Admin Dashboard"));
273
+ const wantPassword = required(await p.confirm({
274
+ message: "Set an admin dashboard password?",
275
+ initialValue: false,
276
+ }));
186
277
  if (!wantPassword)
187
278
  return undefined;
188
- return prompt(rl, "Admin password: ", (p) => p.length >= 8, "Password must be at least 8 characters.");
279
+ const password = required(await p.password({
280
+ message: "Admin password",
281
+ validate: (v) => v && v.length >= 8 ? undefined : "Must be at least 8 characters.",
282
+ }));
283
+ return password;
189
284
  }
190
- async function collectSlack(rl) {
191
- console.log("\n── Step 6: Slack (optional) ───────────────────────────────");
192
- const wantSlack = await promptYesNo(rl, "Enable Slack integration?", false);
285
+ async function collectSlack() {
286
+ p.log.step(gold("Slack") + dim(" (optional)"));
287
+ const wantSlack = required(await p.confirm({
288
+ message: "Enable Slack integration?",
289
+ initialValue: false,
290
+ }));
193
291
  if (!wantSlack)
194
292
  return {};
195
- const botToken = await prompt(rl, "SLACK_BOT_TOKEN (xoxb-...): ", isSlackBotToken, "Must start with xoxb-");
196
- const appToken = await prompt(rl, "SLACK_APP_TOKEN (xapp-...): ", isSlackAppToken, "Must start with xapp-");
197
- const deliveryChannelRaw = (await rl.question("SLACK_DELIVERY_CHANNEL (optional, press Enter to skip): ")).trim();
198
- const deliveryChannel = deliveryChannelRaw || undefined;
199
- const allowedUsersRaw = (await rl.question("SLACK_ALLOWED_USERS (optional comma-separated user IDs, press Enter to skip): ")).trim();
200
- const allowedUsers = allowedUsersRaw || undefined;
201
- return { botToken, appToken, deliveryChannel, allowedUsers };
293
+ const botToken = required(await p.text({
294
+ message: "SLACK_BOT_TOKEN",
295
+ placeholder: "xoxb-...",
296
+ validate: (v) => v && isSlackBotToken(v) ? undefined : "Must start with xoxb-",
297
+ }));
298
+ const appToken = required(await p.text({
299
+ message: "SLACK_APP_TOKEN",
300
+ placeholder: "xapp-...",
301
+ validate: (v) => v && isSlackAppToken(v) ? undefined : "Must start with xapp-",
302
+ }));
303
+ const deliveryChannel = required(await p.text({
304
+ message: "Delivery channel ID",
305
+ placeholder: "C0123456789 (press Enter to skip)",
306
+ defaultValue: "",
307
+ }));
308
+ const allowedUsers = required(await p.text({
309
+ message: "Allowed user IDs",
310
+ placeholder: "U0123,U0456 (press Enter to skip)",
311
+ defaultValue: "",
312
+ }));
313
+ return {
314
+ botToken,
315
+ appToken,
316
+ deliveryChannel: deliveryChannel || undefined,
317
+ allowedUsers: allowedUsers || undefined,
318
+ };
202
319
  }
203
320
  function writeConfig(config) {
204
- console.log("\n── Step 7: Writing config ─────────────────────────────────");
205
- // Create secrets/ directory
321
+ p.log.step(gold("Writing config"));
206
322
  try {
207
323
  mkdirSync("secrets", { recursive: true });
208
324
  }
209
325
  catch (err) {
210
326
  const e = err;
211
327
  if (e.code === "EACCES") {
212
- console.error("Permission denied creating secrets/ directory.");
328
+ p.log.error("Permission denied creating secrets/ directory.");
213
329
  process.exit(1);
214
330
  }
215
331
  throw err;
216
332
  }
217
- // Copy PEM to secrets/app.pem
218
333
  copyFileSync(config.pemSourcePath, join("secrets", "app.pem"));
219
334
  chmodSync(join("secrets", "app.pem"), 0o600);
220
- // Write .env atomically (build in memory then write once)
221
335
  const envContent = buildEnvContent(config);
222
336
  writeFileSync(".env", envContent, { encoding: "utf8" });
223
337
  chmodSync(".env", 0o600);
224
- console.log(" .env written (mode 600)");
225
- console.log(" secrets/app.pem copied (mode 600)");
338
+ p.log.success(dim("secrets/app.pem") + " copied " + dim("(mode 600)") + "\n" +
339
+ " " + dim(".env") + " written " + dim("(mode 600)"));
340
+ }
341
+ /** Detect whether to use `docker compose` (v2) or `docker-compose` (v1/colima). */
342
+ function composeCmd() {
343
+ try {
344
+ execSync("docker compose version", { stdio: "ignore" });
345
+ return "docker compose";
346
+ }
347
+ catch {
348
+ try {
349
+ execSync("docker-compose version", { stdio: "ignore" });
350
+ return "docker-compose";
351
+ }
352
+ catch {
353
+ return "docker compose"; // fall through — will error with a clear message
354
+ }
355
+ }
226
356
  }
227
- async function dockerBuildAndLaunch(rl) {
228
- console.log("\n── Step 8: Docker ─────────────────────────────────────────");
229
- const wantLaunch = await promptYesNo(rl, "Build and launch Last Light with Docker now?", true);
357
+ async function dockerBuildAndLaunch() {
358
+ p.log.step(gold("Docker"));
359
+ const dc = composeCmd();
360
+ p.log.info(dim(`Using: ${dc}`));
361
+ const wantLaunch = required(await p.confirm({
362
+ message: "Build and launch Last Light now?",
363
+ initialValue: true,
364
+ }));
230
365
  if (!wantLaunch) {
231
- console.log("\nWhen ready, run:");
232
- console.log(" docker compose --profile build-only build sandbox");
233
- console.log(" docker compose up -d");
366
+ p.log.info("When ready, run:\n" +
367
+ dim(` ${dc} --profile build-only build sandbox\n`) +
368
+ dim(` ${dc} up -d`));
234
369
  return;
235
370
  }
236
- console.log("\nBuilding sandbox image...");
371
+ const s = p.spinner();
372
+ s.start("Building sandbox image...");
237
373
  try {
238
- execSync("docker compose --profile build-only build sandbox", {
239
- stdio: "inherit",
374
+ execSync(`${dc} --profile build-only build sandbox`, {
375
+ stdio: "pipe",
240
376
  });
377
+ s.stop("Sandbox image built.");
241
378
  }
242
379
  catch {
243
- console.error("Build failed. Check the output above and ensure Docker Compose v2 is installed.");
380
+ s.stop("Sandbox build failed.");
381
+ p.log.error("Check Docker Compose v2 is installed.");
244
382
  process.exit(1);
245
383
  }
246
- console.log("\nStarting services...");
384
+ s.start("Starting services...");
247
385
  try {
248
- execSync("docker compose up -d", { stdio: "inherit" });
386
+ execSync(`${dc} up -d`, { stdio: "pipe" });
387
+ s.stop("Services started.");
249
388
  }
250
389
  catch {
251
- console.error("docker compose up failed. Check the output above.");
390
+ s.stop("Failed to start services.");
391
+ p.log.error("Check docker compose logs for details.");
252
392
  process.exit(1);
253
393
  }
254
- // Check status
255
- try {
256
- execSync("docker compose ps", { stdio: "inherit" });
257
- }
258
- catch {
259
- // Non-fatal — status check is informational
260
- }
261
394
  }
262
395
  function printSummary(domain, webhookSecret) {
263
- console.log("\n── Step 9: Done! ──────────────────────────────────────────");
264
- console.log(`\nWebhook URL: https://${domain}/webhook`);
265
- console.log(`Dashboard URL: https://${domain}/admin`);
266
- console.log(`\nREMINDER: Paste this WEBHOOK_SECRET into your GitHub App settings:`);
267
- console.log(` ${webhookSecret}`);
268
- console.log(`\nNext steps:`);
269
- console.log(` - Read agent-context/rules.md to customise bot behaviour`);
270
- console.log(` - Verify webhook delivery in GitHub App settings`);
271
- console.log(` - Check logs: docker compose logs -f\n`);
396
+ console.log();
397
+ console.log(gold(" ┌──────────────────────────────────────────────┐"));
398
+ console.log(gold(" │") + bright(" Setup complete! ") + gold("│"));
399
+ console.log(gold(" └──────────────────────────────────────────────┘"));
400
+ console.log();
401
+ console.log(" " + dim("Webhook URL ") + teal(`https://${domain}/webhook`));
402
+ console.log(" " + dim("Dashboard ") + teal(`https://${domain}/admin`));
403
+ console.log();
404
+ console.log(" " + orange("Paste this WEBHOOK_SECRET into your GitHub App settings:"));
405
+ console.log(" " + bright(webhookSecret));
406
+ console.log();
407
+ console.log(" " + dim("Next steps:"));
408
+ console.log(" " + dim(" • Edit agent-context/rules.md to customise bot behaviour"));
409
+ console.log(" " + dim(" • Verify webhook delivery in GitHub App settings"));
410
+ console.log(" " + dim(" • Check logs: ") + teal("docker compose logs -f") + dim(" (or docker-compose)"));
411
+ console.log();
272
412
  }
273
413
  // ── Main entry point ─────────────────────────────────────────────────────────
274
414
  export async function runSetup() {
@@ -276,49 +416,35 @@ export async function runSetup() {
276
416
  console.error("Error: setup must be run interactively (stdin must be a TTY).");
277
417
  process.exit(1);
278
418
  }
279
- console.log("\nLast Light Setup Wizard");
280
- console.log("=======================");
281
- console.log("This wizard will configure Last Light on your server.\n");
282
- // Step 0 — Pre-flight
419
+ printBanner();
420
+ p.intro(dim("This wizard will configure Last Light on your server."));
283
421
  preflight();
284
- const rl = createInterface({ input: process.stdin, output: process.stdout });
285
- try {
286
- // Step 1 — GitHub App
287
- const { appId, installationId, pemSourcePath } = await collectGitHubApp(rl);
288
- // Step 2 Secrets
289
- const { webhookSecret, adminSecret } = generateSecrets();
290
- // Step 3 Domain + TLS
291
- const { domain, useCaddy } = await collectDomain(rl);
292
- // Step 4 — Anthropic key
293
- const anthropicKey = await collectAnthropicKey(rl);
294
- // Step 5 — Admin password
295
- const adminPassword = await collectAdminPassword(rl);
296
- // Step 6 — Slack
297
- const { botToken, appToken, deliveryChannel, allowedUsers } = await collectSlack(rl);
298
- // Step 7 — Write config
299
- const config = {
300
- GITHUB_APP_ID: appId,
301
- GITHUB_APP_INSTALLATION_ID: installationId,
302
- WEBHOOK_SECRET: webhookSecret,
303
- ADMIN_SECRET: adminSecret,
304
- DOMAIN: domain,
305
- ANTHROPIC_API_KEY: anthropicKey,
306
- ADMIN_PASSWORD: adminPassword,
307
- SLACK_BOT_TOKEN: botToken,
308
- SLACK_APP_TOKEN: appToken,
309
- SLACK_DELIVERY_CHANNEL: deliveryChannel,
310
- SLACK_ALLOWED_USERS: allowedUsers,
311
- useCaddy,
312
- pemSourcePath,
313
- };
314
- writeConfig(config);
315
- // Step 8 — Docker
316
- await dockerBuildAndLaunch(rl);
317
- // Step 9 — Summary
318
- printSummary(domain, webhookSecret);
319
- }
320
- finally {
321
- rl.close();
322
- }
422
+ const { appId, installationId, pemSourcePath } = await collectGitHubApp();
423
+ const webhookSecret = randomBytes(32).toString("hex");
424
+ const adminSecret = randomBytes(32).toString("hex");
425
+ p.log.success("Secrets auto-generated " + dim("(WEBHOOK_SECRET + ADMIN_SECRET)"));
426
+ const { domain, useCaddy } = await collectDomain();
427
+ const anthropicKey = await collectAnthropicKey();
428
+ const adminPassword = await collectAdminPassword();
429
+ const { botToken, appToken, deliveryChannel, allowedUsers } = await collectSlack();
430
+ const config = {
431
+ GITHUB_APP_ID: appId,
432
+ GITHUB_APP_INSTALLATION_ID: installationId,
433
+ WEBHOOK_SECRET: webhookSecret,
434
+ ADMIN_SECRET: adminSecret,
435
+ DOMAIN: domain,
436
+ ANTHROPIC_API_KEY: anthropicKey,
437
+ ADMIN_PASSWORD: adminPassword,
438
+ SLACK_BOT_TOKEN: botToken,
439
+ SLACK_APP_TOKEN: appToken,
440
+ SLACK_DELIVERY_CHANNEL: deliveryChannel,
441
+ SLACK_ALLOWED_USERS: allowedUsers,
442
+ useCaddy,
443
+ pemSourcePath,
444
+ };
445
+ writeConfig(config);
446
+ await dockerBuildAndLaunch();
447
+ p.outro(gold("Last Light is ready."));
448
+ printSummary(domain, webhookSecret);
323
449
  }
324
450
  //# sourceMappingURL=setup.js.map
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,SAAS,EACT,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,8EAA8E;AAE9E,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAClC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAClC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AACtB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AAoBhC,+EAA+E;AAE/E,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,QAAQ,CAAC;QACjB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;KACxB,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO,CACL,OAAO,CAAC,UAAU,CAAC,iCAAiC,CAAC;YACrD,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAClD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,MAAM,KAAK,GAAa;QACtB,+DAA+D;QAC/D,qCAAqC;QACrC,EAAE;QACF,6DAA6D;QAC7D,iBAAiB,MAAM,CAAC,aAAa,EAAE;QACvC,+CAA+C;QAC/C,8BAA8B,MAAM,CAAC,0BAA0B,EAAE;QACjE,EAAE;QACF,4DAA4D;QAC5D,kBAAkB,MAAM,CAAC,cAAc,EAAE;QACzC,EAAE;QACF,2EAA2E;QAC3E,UAAU,MAAM,CAAC,MAAM,EAAE;QACzB,EAAE;QACF,6DAA6D;QAC7D,qBAAqB,MAAM,CAAC,iBAAiB,EAAE;QAC/C,EAAE;QACF,+DAA+D;QAC/D,gBAAgB,MAAM,CAAC,YAAY,EAAE;KACtC,CAAC;IAEF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAE/E,SAAS,QAAQ,CAAI,KAAiB;IACpC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAE/E,SAAS,WAAW;IAClB,yDAAyD;IACzD,MAAM,CAAC,GAAG,EAAE,CAAC;IACb,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE3B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,qCAAqC,EAAE,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,+EAA+E;AAE/E,SAAS,SAAS;IAChB,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACtC,IAAI,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC;YAC/C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,QAAQ,CAAC,+DAA+D,EAAE;oBACxE,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACxB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACvD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACvD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,wDAAwD,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,KAAK,UAAU,gBAAgB;IAK7B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,GAAG,CAAC,gBAAgB,CAAC;QACrB,IAAI,CAAC,sCAAsC,CAAC;QAC5C,GAAG,CAAC,0BAA0B,CAAC,CAChC,CAAC;IAEF,MAAM,KAAK,GAAG,QAAQ,CACpB,MAAM,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,6BAA6B;KACpE,CAAC,CACH,CAAC;IAEF,MAAM,cAAc,GAAG,QAAQ,CAC7B,MAAM,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,6BAA6B;KACpE,CAAC,CACH,CAAC;IAEF,2DAA2D;IAC3D,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC1B,IAAI,SAAS,CAAC,IAAI,CAAC;wBAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,WAAmB,CAAC;IACxB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CACrB,MAAM,CAAC,CAAC,MAAM,CAAC;YACb,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE;gBACP,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1F,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,2BAA2B,CAAC,EAAE;aAChE;SACF,CAAC,CACO,CAAC;QAEZ,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,QAAQ,CACrB,MAAM,CAAC,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,4BAA4B;gBACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,IAAI,CAAC,CAAC;wBAAE,OAAO,oBAAoB,CAAC;oBACpC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC;gBAC1E,CAAC;aACF,CAAC,CACH,CAAC;YACF,WAAW,GAAG,UAAU,CAAC,MAAgB,CAAE,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,QAAQ,CACrB,MAAM,CAAC,CAAC,IAAI,CAAC;YACX,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,IAAI,CAAC,CAAC;oBAAE,OAAO,oBAAoB,CAAC;gBACpC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC;YAC1E,CAAC;SACF,CAAC,CACH,CAAC;QACF,WAAW,GAAG,UAAU,CAAC,MAAgB,CAAE,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAe;QACtB,cAAc,EAAE,cAAwB;QACxC,aAAa,EAAE,WAAW;KAC3B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,QAAQ,CACrB,MAAM,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,uBAAuB;QACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAClC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,4BAA4B;KACnC,CAAC,CACH,CAAC;IAEF,MAAM,QAAQ,GAAG,QAAQ,CACvB,MAAM,CAAC,CAAC,OAAO,CAAC;QACd,OAAO,EAAE,8BAA8B;QACvC,YAAY,EAAE,IAAI;KACnB,CAAC,CACH,CAAC;IAEF,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;IAEhE,OAAO,EAAE,MAAM,EAAE,MAAgB,EAAE,QAAQ,EAAE,QAAmB,EAAE,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEtC,MAAM,GAAG,GAAG,QAAQ,CAClB,MAAM,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB;KACjE,CAAC,CACH,CAAC;IAEF,OAAO,GAAa,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,QAAQ,CAC3B,MAAM,CAAC,CAAC,OAAO,CAAC;QACd,OAAO,EAAE,kCAAkC;QAC3C,YAAY,EAAE,KAAK;KACpB,CAAC,CACH,CAAC;IACF,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,QAAQ,GAAG,QAAQ,CACvB,MAAM,CAAC,CAAC,QAAQ,CAAC;QACf,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC;KACpE,CAAC,CACH,CAAC;IAEF,OAAO,QAAkB,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,YAAY;IAMzB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,QAAQ,CACxB,MAAM,CAAC,CAAC,OAAO,CAAC;QACd,OAAO,EAAE,2BAA2B;QACpC,YAAY,EAAE,KAAK;KACpB,CAAC,CACH,CAAC;IACF,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAE1B,MAAM,QAAQ,GAAG,QAAQ,CACvB,MAAM,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;KAChE,CAAC,CACO,CAAC;IAEZ,MAAM,QAAQ,GAAG,QAAQ,CACvB,MAAM,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;KAChE,CAAC,CACO,CAAC;IAEZ,MAAM,eAAe,GAAG,QAAQ,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,mCAAmC;QAChD,YAAY,EAAE,EAAE;KACjB,CAAC,CACO,CAAC;IAEZ,MAAM,YAAY,GAAG,QAAQ,CAC3B,MAAM,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,mCAAmC;QAChD,YAAY,EAAE,EAAE;KACjB,CAAC,CACO,CAAC;IAEZ,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,eAAe,EAAE,eAAe,IAAI,SAAS;QAC7C,YAAY,EAAE,YAAY,IAAI,SAAS;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEnC,IAAI,CAAC;QACH,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAA4B,CAAC;QACvC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEzB,CAAC,CAAC,GAAG,CAAC,OAAO,CACX,GAAG,CAAC,iBAAiB,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI;QAC9D,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,QAAQ,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,QAAQ,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,gBAAgB,CAAC,CAAC,iDAAiD;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IAEhC,MAAM,UAAU,GAAG,QAAQ,CACzB,MAAM,CAAC,CAAC,OAAO,CAAC;QACd,OAAO,EAAE,kCAAkC;QAC3C,YAAY,EAAE,IAAI;KACnB,CAAC,CACH,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB;YAC7B,GAAG,CAAC,KAAK,EAAE,uCAAuC,CAAC;YACnD,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAEtB,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,QAAQ,CAAC,GAAG,EAAE,qCAAqC,EAAE;YACnD,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAChC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACpC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,aAAqB;IACzD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,iDAAiD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,WAAW,MAAM,UAAU,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,WAAW,MAAM,QAAQ,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,0DAA0D,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC3G,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,WAAW,EAAE,CAAC;IAEd,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAC;IAEtE,SAAS,EAAE,CAAC;IAEZ,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC1E,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAyB,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAElF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;IACnD,MAAM,YAAY,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACnD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAEnF,MAAM,MAAM,GAAgB;QAC1B,aAAa,EAAE,KAAK;QACpB,0BAA0B,EAAE,cAAc;QAC1C,cAAc,EAAE,aAAa;QAC7B,YAAY,EAAE,WAAW;QACzB,MAAM,EAAE,MAAM;QACd,iBAAiB,EAAE,YAAY;QAC/B,cAAc,EAAE,aAAa;QAC7B,eAAe,EAAE,QAAQ;QACzB,eAAe,EAAE,QAAQ;QACzB,sBAAsB,EAAE,eAAe;QACvC,mBAAmB,EAAE,YAAY;QACjC,QAAQ;QACR,aAAa;KACd,CAAC;IAEF,WAAW,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,oBAAoB,EAAE,CAAC;IAE7B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACtC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lastlight",
3
- "version": "0.1.8",
3
+ "version": "0.1.15",
4
4
  "description": "GitHub repository maintenance agent — Agent SDK harness",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -51,10 +51,12 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@anthropic-ai/claude-agent-sdk": "^0.1.0",
54
+ "@clack/prompts": "^1.2.0",
54
55
  "@hono/node-server": "^1.0.0",
55
56
  "@slack/bolt": "^4.6.0",
56
57
  "arctic": "^3.7.0",
57
58
  "better-sqlite3": "^11.0.0",
59
+ "chalk": "^5.6.2",
58
60
  "croner": "^9.0.0",
59
61
  "hono": "^4.0.0",
60
62
  "octokit": "^5.0.5",