lastlight 0.4.0 → 0.6.1
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/.claude-plugin/marketplace.json +14 -0
- package/README.md +56 -6
- package/agent-context/rules.md +0 -38
- package/agent-context/soul.md +0 -11
- package/deploy/entrypoint.sh +21 -6
- package/deploy/sandbox-entrypoint.sh +1 -1
- package/dist/cli.js +24 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +13 -2
- package/dist/config.js +29 -9
- package/dist/config.js.map +1 -1
- package/dist/connectors/messaging/base.js +22 -9
- package/dist/connectors/messaging/base.js.map +1 -1
- package/dist/connectors/slack/connector.d.ts +62 -9
- package/dist/connectors/slack/connector.js +216 -63
- package/dist/connectors/slack/connector.js.map +1 -1
- package/dist/connectors/slack/connector.test.d.ts +1 -0
- package/dist/connectors/slack/connector.test.js +135 -0
- package/dist/connectors/slack/connector.test.js.map +1 -0
- package/dist/connectors/types.d.ts +7 -0
- package/dist/engine/agent-executor.d.ts +29 -144
- package/dist/engine/agent-executor.js +280 -962
- package/dist/engine/agent-executor.js.map +1 -1
- package/dist/engine/agent-executor.seam.test.d.ts +1 -0
- package/dist/engine/agent-executor.seam.test.js +57 -0
- package/dist/engine/agent-executor.seam.test.js.map +1 -0
- package/dist/engine/dispatcher.d.ts +13 -0
- package/dist/engine/dispatcher.js +26 -7
- package/dist/engine/dispatcher.js.map +1 -1
- package/dist/engine/dispatcher.test.js.map +1 -1
- package/dist/engine/executors/backends.d.ts +41 -0
- package/dist/engine/executors/backends.js +541 -0
- package/dist/engine/executors/backends.js.map +1 -0
- package/dist/engine/executors/shared.d.ts +189 -0
- package/dist/engine/executors/shared.js +612 -0
- package/dist/engine/executors/shared.js.map +1 -0
- package/dist/engine/message-batcher.d.ts +32 -0
- package/dist/engine/message-batcher.js +109 -0
- package/dist/engine/message-batcher.js.map +1 -0
- package/dist/engine/message-batcher.test.d.ts +1 -0
- package/dist/engine/message-batcher.test.js +109 -0
- package/dist/engine/message-batcher.test.js.map +1 -0
- package/dist/engine/profiles.d.ts +9 -0
- package/dist/engine/profiles.js.map +1 -1
- package/dist/evals-api.d.ts +24 -0
- package/dist/evals-api.js +22 -0
- package/dist/evals-api.js.map +1 -0
- package/dist/index.js +41 -4
- package/dist/index.js.map +1 -1
- package/dist/sandbox/command-exec.integration.test.d.ts +1 -0
- package/dist/sandbox/command-exec.integration.test.js +183 -0
- package/dist/sandbox/command-exec.integration.test.js.map +1 -0
- package/dist/sandbox/docker.d.ts +32 -0
- package/dist/sandbox/docker.js +109 -4
- package/dist/sandbox/docker.js.map +1 -1
- package/dist/sandbox/index.d.ts +1 -1
- package/dist/sandbox/index.js +1 -1
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/smol.d.ts +162 -0
- package/dist/sandbox/smol.integration.test.d.ts +1 -0
- package/dist/sandbox/smol.integration.test.js +130 -0
- package/dist/sandbox/smol.integration.test.js.map +1 -0
- package/dist/sandbox/smol.js +485 -0
- package/dist/sandbox/smol.js.map +1 -0
- package/dist/skills-install.d.ts +12 -0
- package/dist/skills-install.js +179 -0
- package/dist/skills-install.js.map +1 -0
- package/dist/workflows/loader.test.js +83 -0
- package/dist/workflows/loader.test.js.map +1 -1
- package/dist/workflows/phase-executor.d.ts +28 -3
- package/dist/workflows/phase-executor.js +170 -45
- package/dist/workflows/phase-executor.js.map +1 -1
- package/dist/workflows/phase-executor.test.js +64 -1
- package/dist/workflows/phase-executor.test.js.map +1 -1
- package/dist/workflows/runner.test.js +32 -27
- package/dist/workflows/runner.test.js.map +1 -1
- package/dist/workflows/schema.d.ts +20 -0
- package/dist/workflows/schema.js +72 -2
- package/dist/workflows/schema.js.map +1 -1
- package/package.json +15 -3
- package/plugins/lastlight/.claude-plugin/plugin.json +12 -0
- package/plugins/lastlight/README.md +44 -0
- package/plugins/lastlight/skills/lastlight-client/SKILL.md +82 -0
- package/plugins/lastlight/skills/lastlight-evals/SKILL.md +97 -0
- package/plugins/lastlight/skills/lastlight-evals/references/instance-schema.md +84 -0
- package/plugins/lastlight/skills/lastlight-evals/references/models-json.md +42 -0
- package/plugins/lastlight/skills/lastlight-overlay/SKILL.md +72 -0
- package/plugins/lastlight/skills/lastlight-overlay/references/forking.md +55 -0
- package/plugins/lastlight/skills/lastlight-overlay/references/overlay-layout.md +52 -0
- package/plugins/lastlight/skills/lastlight-server/SKILL.md +124 -0
- package/plugins/lastlight/skills/lastlight-server/references/env-schema.md +103 -0
- package/plugins/lastlight/skills/lastlight-server/references/operations.md +60 -0
- package/sandbox.Dockerfile +7 -0
- package/skills/browser-qa/scripts/agent-browser.mjs +15 -0
- package/skills/demo/SKILL.md +45 -19
- package/skills/demo/scripts/compose-demo.sh +77 -39
- package/workflows/examples/bash-smoke.yaml +41 -0
- package/workflows/prompts/demo.md +27 -5
- package/workflows/qa-test.yaml +1 -1
- package/workflows/verify.yaml +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/claude-code-marketplace.json",
|
|
3
|
+
"name": "lastlight-skills",
|
|
4
|
+
"description": "Skills for installing, configuring and operating Last Light and Last Light Evals.",
|
|
5
|
+
"owner": { "name": "Clifton Cunningham" },
|
|
6
|
+
"plugins": [
|
|
7
|
+
{
|
|
8
|
+
"name": "lastlight",
|
|
9
|
+
"source": "./plugins/lastlight",
|
|
10
|
+
"description": "Install, configure and operate Last Light (server, client, overlay) and Last Light Evals — driven through the lastlight / lastlight-evals CLIs.",
|
|
11
|
+
"keywords": ["lastlight", "github-agent", "evals", "devops", "setup"]
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
package/README.md
CHANGED
|
@@ -411,6 +411,45 @@ Overlay files are read at startup only; `docker compose restart agent` after cha
|
|
|
411
411
|
|
|
412
412
|
---
|
|
413
413
|
|
|
414
|
+
## Claude Code skills
|
|
415
|
+
|
|
416
|
+
Last Light ships a [Claude Code](https://docs.claude.com/en/docs/claude-code)
|
|
417
|
+
**plugin** that teaches Claude Code how to install, configure and operate Last
|
|
418
|
+
Light for you. Install the skills, then in a Claude Code session just ask — e.g.
|
|
419
|
+
*"set up a Last Light server"*, *"connect my CLI to my server"*, *"fork the build
|
|
420
|
+
workflow into my overlay"*, or *"scaffold a Last Light evals workspace"*.
|
|
421
|
+
|
|
422
|
+
| Skill | Use it when you want to… |
|
|
423
|
+
|-------|--------------------------|
|
|
424
|
+
| `lastlight-server` | Install & configure a Last Light server (agent + docker stack). |
|
|
425
|
+
| `lastlight-client` | Point the `lastlight` CLI at a server and log in. |
|
|
426
|
+
| `lastlight-overlay` | Create a deployment overlay and fork workflows/prompts/skills/persona. |
|
|
427
|
+
| `lastlight-evals` | Scaffold & run a Last Light Evals workspace (datasets, models, comparisons). |
|
|
428
|
+
|
|
429
|
+
Install them with the CLI (version-matched to the installed `lastlight`, works
|
|
430
|
+
offline — uses the `claude` plugin marketplace when present, else copies the
|
|
431
|
+
skills into `~/.claude/skills`):
|
|
432
|
+
|
|
433
|
+
```bash
|
|
434
|
+
lastlight skills install # → ~/.claude/skills (user scope)
|
|
435
|
+
lastlight skills install --scope project # → ./.claude/skills (this repo only)
|
|
436
|
+
lastlight skills list # show bundled skills + where they're installed
|
|
437
|
+
lastlight skills uninstall
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Or register the marketplace directly from a checkout of this repo:
|
|
441
|
+
|
|
442
|
+
```bash
|
|
443
|
+
claude plugin marketplace add ./
|
|
444
|
+
claude plugin install lastlight@lastlight-skills
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
The skills live under `plugins/lastlight/` (manifest in `.claude-plugin/`). These
|
|
448
|
+
are *Claude Code* skills — distinct from Last Light's internal sandbox skills in
|
|
449
|
+
the top-level `skills/` dir.
|
|
450
|
+
|
|
451
|
+
---
|
|
452
|
+
|
|
414
453
|
## Architecture
|
|
415
454
|
|
|
416
455
|
```
|
|
@@ -443,7 +482,7 @@ Overlay files are read at startup only; `docker compose restart agent` after cha
|
|
|
443
482
|
2. **Router** maps event type to skill deterministically (no LLM in the routing loop):
|
|
444
483
|
- `issue.opened` → `issue-triage`
|
|
445
484
|
- `pr.opened` → `pr-review`
|
|
446
|
-
- `comment.created` with `@last-light` from a maintainer → routed by intent classifier (build / explore / triage / review /
|
|
485
|
+
- `comment.created` with `@last-light` from a maintainer → routed by intent classifier (build / explore / question / triage / review / security / verify / qa-test / demo)
|
|
447
486
|
3. **Workflow runner** loads the matching YAML, dispatches each phase to `executeAgent` (`src/engine/agent-executor.ts`, which invokes agentic-pi) or, for chat, `ChatRunner` (`src/engine/chat-runner.ts`, in-process pi-ai)
|
|
448
487
|
4. **Build workflow** runs a multi-phase cycle:
|
|
449
488
|
- Phase 1: **Architect** — read-only analysis, writes plan to `.lastlight/issue-N/architect-plan.md`
|
|
@@ -454,13 +493,14 @@ Overlay files are read at startup only; `docker compose restart agent` after cha
|
|
|
454
493
|
|
|
455
494
|
### Cron
|
|
456
495
|
|
|
457
|
-
When webhooks are enabled, only the weekly health
|
|
496
|
+
When webhooks are enabled, only the weekly reports (health + security) run on cron (issue/PR events arrive in real-time via webhooks). Without webhooks, triage and PR review also run on cron.
|
|
458
497
|
|
|
459
498
|
| Job | Schedule | Condition |
|
|
460
499
|
|-----|----------|-----------|
|
|
461
500
|
| Triage new issues | Every 15 min | Only without webhooks |
|
|
462
501
|
| Check PRs for review | Every 30 min | Only without webhooks |
|
|
463
502
|
| Weekly health report | Mondays 9am | Always |
|
|
503
|
+
| Weekly security scan | Mondays 10am | Always |
|
|
464
504
|
|
|
465
505
|
---
|
|
466
506
|
|
|
@@ -516,10 +556,20 @@ lastlight/
|
|
|
516
556
|
|
|
517
557
|
workflows/ # YAML workflow definitions
|
|
518
558
|
build.yaml # Architect → Executor → Reviewer → PR
|
|
519
|
-
issue-triage.yaml
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
559
|
+
issue-triage.yaml # Label/triage an issue
|
|
560
|
+
issue-comment.yaml # Handle an @mention on an issue
|
|
561
|
+
pr-review.yaml # Structured PR review
|
|
562
|
+
pr-fix.yaml # Apply review feedback to a PR
|
|
563
|
+
pr-comment.yaml # Handle an @mention on a PR
|
|
564
|
+
explore.yaml # Shape an idea into a spec (web search)
|
|
565
|
+
answer.yaml # Research and answer a question
|
|
566
|
+
verify.yaml # Confirm/refute a claim by running code
|
|
567
|
+
qa-test.yaml # Browser/QA test pass
|
|
568
|
+
security-review.yaml # Security scan
|
|
569
|
+
security-feedback.yaml # Apply security review feedback
|
|
570
|
+
repo-health.yaml # Health report
|
|
571
|
+
demo.yaml # Recorded demo run
|
|
572
|
+
cron-*.yaml # Cron-kind triggers (triage, review, health, security)
|
|
523
573
|
prompts/ # Per-phase prompt templates
|
|
524
574
|
|
|
525
575
|
deploy/
|
package/agent-context/rules.md
CHANGED
|
@@ -78,41 +78,3 @@ task targets as in-scope.
|
|
|
78
78
|
1. Check for `CLAUDE.md`, `AGENTS.md`, or `CONTRIBUTING.md` in the repo root
|
|
79
79
|
2. Read them before doing any analysis, testing, or implementation
|
|
80
80
|
3. These files contain project-specific commands, conventions, and architecture notes
|
|
81
|
-
|
|
82
|
-
## Review Guidelines
|
|
83
|
-
|
|
84
|
-
When reviewing pull requests, follow this priority order:
|
|
85
|
-
|
|
86
|
-
### Critical (must fix before merge)
|
|
87
|
-
- Security vulnerabilities (injection, auth bypass, secret exposure)
|
|
88
|
-
- Data loss risks
|
|
89
|
-
- Breaking API changes without migration path
|
|
90
|
-
- Missing error handling on external calls
|
|
91
|
-
|
|
92
|
-
### Important (should fix)
|
|
93
|
-
- Missing or inadequate tests for new functionality
|
|
94
|
-
- Performance regressions (N+1 queries, unbounded loops, large allocations)
|
|
95
|
-
- Incorrect or missing type annotations on public APIs
|
|
96
|
-
- Race conditions or concurrency issues
|
|
97
|
-
|
|
98
|
-
### Suggestions (nice to have)
|
|
99
|
-
- Code clarity improvements, naming, deduplication, documentation
|
|
100
|
-
|
|
101
|
-
### Nits (optional)
|
|
102
|
-
- Style preferences not caught by linters, minor formatting
|
|
103
|
-
|
|
104
|
-
## Issue Triage Rules
|
|
105
|
-
|
|
106
|
-
1. **Bug reports**: Verify reproduction steps exist. Label `bug`. If missing info, add `needs-info` and comment asking for details.
|
|
107
|
-
2. **Feature requests**: Label `enhancement`. Check for duplicates.
|
|
108
|
-
3. **Questions**: Answer if possible, or label `question` and point to docs.
|
|
109
|
-
4. **Stale issues**: Issues with `needs-info` and no response for 14 days get a gentle reminder. 30 days → close with explanation.
|
|
110
|
-
|
|
111
|
-
## Labels
|
|
112
|
-
|
|
113
|
-
Ensure these labels exist on managed repos:
|
|
114
|
-
- `bug`, `enhancement`, `question`, `documentation`
|
|
115
|
-
- `good first issue`, `help wanted`
|
|
116
|
-
- `needs-info`, `needs-review`, `stale`
|
|
117
|
-
- `critical`, `breaking-change`
|
|
118
|
-
- Priority: `p0-critical`, `p1-high`, `p2-medium`, `p3-low`
|
package/agent-context/soul.md
CHANGED
|
@@ -19,14 +19,3 @@ You are **Last Light**, a diligent and methodical open-source maintenance bot. Y
|
|
|
19
19
|
- Use markdown formatting (lists, code blocks) for structure, not decoration.
|
|
20
20
|
- Include code suggestions as fenced blocks with file paths.
|
|
21
21
|
- When reviewing, organize feedback as: critical > important > suggestions > nits.
|
|
22
|
-
|
|
23
|
-
## Working Modes
|
|
24
|
-
|
|
25
|
-
When delegating work, you use role-based agents in a closed development loop:
|
|
26
|
-
|
|
27
|
-
- **Architect**: Read-only analysis. Diagnose, plan, and recommend with `file:line` evidence. Never edits files.
|
|
28
|
-
- **Executor**: Implement and verify. Follows the architect's plan, commits with intent-first messages + Tested/Scope-risk trailers. Keeps going until the task is fully resolved with fresh verification output.
|
|
29
|
-
- **Reviewer**: Independent verification. No shared context with the executor. Reports issues with `file:line` references — does not fix them.
|
|
30
|
-
|
|
31
|
-
**For build requests:** Architect analyzes → Executor implements → Reviewer verifies → fix loop if needed.
|
|
32
|
-
**For complex PR reviews:** Use architect mode for deep analysis (>300 lines or >5 files changed).
|
package/deploy/entrypoint.sh
CHANGED
|
@@ -10,19 +10,34 @@ SECRETS="/app/instance/secrets"
|
|
|
10
10
|
APP_DIR="/app"
|
|
11
11
|
STATE_DIR="${STATE_DIR:-/app/data}"
|
|
12
12
|
|
|
13
|
-
#
|
|
13
|
+
# Materialize secrets into the writable /app layer, owned by `lastlight` (mode
|
|
14
|
+
# 600). We COPY rather than symlink: the source lives on a read-only mount owned
|
|
15
|
+
# by whatever uid created it on the host (often 1000), while the harness runs as
|
|
16
|
+
# `lastlight` (uid-pinned 10001) via gosu below. A symlink would leave the
|
|
17
|
+
# unreadable 600 source in place and the harness would EACCES on it. root (this
|
|
18
|
+
# entrypoint, pre-gosu) bypasses the source perms to read+copy; the chown then
|
|
19
|
+
# hands the copy to lastlight. Same pattern as the PEM→state-volume copy below.
|
|
20
|
+
# rm -f first so a stale symlink from an older image isn't written through.
|
|
14
21
|
for f in .env; do
|
|
15
22
|
if [ -f "$SECRETS/$f" ]; then
|
|
16
|
-
|
|
17
|
-
|
|
23
|
+
rm -f "$APP_DIR/$f"
|
|
24
|
+
cp "$SECRETS/$f" "$APP_DIR/$f"
|
|
25
|
+
chown lastlight:lastlight "$APP_DIR/$f"
|
|
26
|
+
chmod 600 "$APP_DIR/$f"
|
|
27
|
+
echo "Copied $f from secrets volume"
|
|
18
28
|
fi
|
|
19
29
|
done
|
|
20
30
|
|
|
21
|
-
#
|
|
31
|
+
# GitHub App private key(s) — same copy+chown so the in-process Octokit (which
|
|
32
|
+
# also runs as lastlight) can read them.
|
|
22
33
|
for pem in "$SECRETS"/*.pem; do
|
|
23
34
|
if [ -f "$pem" ]; then
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
dest="$APP_DIR/$(basename "$pem")"
|
|
36
|
+
rm -f "$dest"
|
|
37
|
+
cp "$pem" "$dest"
|
|
38
|
+
chown lastlight:lastlight "$dest"
|
|
39
|
+
chmod 600 "$dest"
|
|
40
|
+
echo "Copied $(basename "$pem") from secrets volume"
|
|
26
41
|
fi
|
|
27
42
|
done
|
|
28
43
|
|
|
@@ -30,7 +30,7 @@ chown agent:agent "$AGENT_HOME/.config"
|
|
|
30
30
|
# agent-owned, chown -R it. The recursive pass runs only when something is
|
|
31
31
|
# actually wrong, so a warm, correctly-owned cache stays cheap.
|
|
32
32
|
if [ -d /cache ]; then
|
|
33
|
-
for sub in npm pnpm yarn; do
|
|
33
|
+
for sub in npm pnpm yarn uv; do
|
|
34
34
|
mkdir -p "/cache/$sub"
|
|
35
35
|
if [ -n "$(find "/cache/$sub" -maxdepth 1 ! -user agent -print -quit 2>/dev/null)" ]; then
|
|
36
36
|
chown -R agent:agent "/cache/$sub" 2>/dev/null || true
|
package/dist/cli.js
CHANGED
|
@@ -34,6 +34,8 @@ const BOOLEAN_FLAGS = new Set([
|
|
|
34
34
|
"client", "server",
|
|
35
35
|
// `fork` — overwrite existing overlay assets
|
|
36
36
|
"force",
|
|
37
|
+
// `skills install` — skip the claude marketplace path, copy skill dirs directly
|
|
38
|
+
"no-marketplace",
|
|
37
39
|
]);
|
|
38
40
|
function parseArgs(argv) {
|
|
39
41
|
const positionals = [];
|
|
@@ -201,6 +203,12 @@ ${chalk.bold("Fork")} (host-local — copy built-in assets into the deployment o
|
|
|
201
203
|
lastlight fork agent-context <f> Copy a single agent-context file (e.g. soul.md)
|
|
202
204
|
[--home dir] [--force to overwrite existing]
|
|
203
205
|
|
|
206
|
+
${chalk.bold("Skills")} (host-local — install the Last Light Claude Code skills)
|
|
207
|
+
lastlight skills install Install the skills into a local Claude Code
|
|
208
|
+
[--scope user|project] [--no-marketplace]
|
|
209
|
+
lastlight skills list List bundled skills + where they're installed
|
|
210
|
+
lastlight skills uninstall Remove the installed skills [--scope user|project]
|
|
211
|
+
|
|
204
212
|
${chalk.bold("Other")}
|
|
205
213
|
lastlight setup First-run wizard — asks client (login) or server (stack)
|
|
206
214
|
[--client | --server to skip the prompt]
|
|
@@ -931,6 +939,21 @@ async function cmdFork() {
|
|
|
931
939
|
const { fork } = await import("./fork-cli.js");
|
|
932
940
|
await fork(positionals.slice(1), { home, force: flags.force === true });
|
|
933
941
|
}
|
|
942
|
+
// ── skills (host-local) ──────────────────────────────────────────────────────
|
|
943
|
+
/**
|
|
944
|
+
* `lastlight skills <install|list|uninstall>` — install the Last Light Claude
|
|
945
|
+
* Code skills into a local Claude Code instance. Operates on local files (and
|
|
946
|
+
* shells out to the `claude` CLI when present), not over HTTP. See
|
|
947
|
+
* src/skills-install.ts.
|
|
948
|
+
*/
|
|
949
|
+
async function cmdSkills() {
|
|
950
|
+
const scope = flags.scope === "project" ? "project" : "user";
|
|
951
|
+
const { skills } = await import("./skills-install.js");
|
|
952
|
+
await skills(positionals.slice(1), {
|
|
953
|
+
scope,
|
|
954
|
+
noMarketplace: flags["no-marketplace"] === true,
|
|
955
|
+
});
|
|
956
|
+
}
|
|
934
957
|
// ── dispatch ─────────────────────────────────────────────────────────────────
|
|
935
958
|
async function main() {
|
|
936
959
|
const cmd = positionals[0];
|
|
@@ -961,6 +984,7 @@ async function main() {
|
|
|
961
984
|
}
|
|
962
985
|
case "approvals": return cmdApprovals();
|
|
963
986
|
case "fork": return cmdFork();
|
|
987
|
+
case "skills": return cmdSkills();
|
|
964
988
|
case "server": return cmdServer();
|
|
965
989
|
case "stats": return cmdStats();
|
|
966
990
|
case "chat": return cmdChat();
|
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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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
|
+
/** How the Slack connector receives events. */
|
|
2
|
+
export type SlackMode = "webhook" | "socket";
|
|
1
3
|
export interface SlackConfig {
|
|
2
4
|
botToken: string;
|
|
3
|
-
|
|
5
|
+
/**
|
|
6
|
+
* `webhook` — HTTP Events API (default, reliable at-least-once delivery,
|
|
7
|
+
* needs `signingSecret` + the shared HTTP server). `socket` — Socket Mode
|
|
8
|
+
* (dev fallback, needs `appToken`, at-most-once so it can drop messages).
|
|
9
|
+
*/
|
|
10
|
+
mode: SlackMode;
|
|
11
|
+
/** Socket Mode app-level token (xapp-…). Required only when mode === "socket". */
|
|
12
|
+
appToken?: string;
|
|
13
|
+
/** Events API signing secret. Required only when mode === "webhook". */
|
|
14
|
+
signingSecret?: string;
|
|
4
15
|
allowedUsers: string[];
|
|
5
16
|
deliveryChannel?: string;
|
|
6
17
|
}
|
|
@@ -12,7 +23,7 @@ export interface VariantConfig {
|
|
|
12
23
|
default?: string;
|
|
13
24
|
[taskType: string]: string | undefined;
|
|
14
25
|
}
|
|
15
|
-
export type SandboxBackend = "gondolin" | "docker" | "none";
|
|
26
|
+
export type SandboxBackend = "gondolin" | "docker" | "smol" | "none";
|
|
16
27
|
export type BuildAssetsLocation = "repo" | "server";
|
|
17
28
|
export interface DisabledConfig {
|
|
18
29
|
workflows: string[];
|
package/dist/config.js
CHANGED
|
@@ -190,12 +190,32 @@ export function loadConfig() {
|
|
|
190
190
|
}
|
|
191
191
|
: undefined;
|
|
192
192
|
const slack = process.env.SLACK_BOT_TOKEN
|
|
193
|
-
? {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
193
|
+
? (() => {
|
|
194
|
+
// Mode resolution: an explicit SLACK_MODE always wins. Otherwise
|
|
195
|
+
// auto-detect — prefer webhook (the reliable path) the moment a signing
|
|
196
|
+
// secret is configured, else fall back to socket. This keeps a plain
|
|
197
|
+
// SLACK_APP_TOKEN deployment on Socket Mode until the operator opts into
|
|
198
|
+
// webhooks by adding SLACK_SIGNING_SECRET, so simply shipping this code
|
|
199
|
+
// never breaks an existing Socket-Mode instance.
|
|
200
|
+
const explicit = (process.env.SLACK_MODE || "").trim().toLowerCase();
|
|
201
|
+
const mode = explicit === "socket" ? "socket"
|
|
202
|
+
: explicit === "webhook" ? "webhook"
|
|
203
|
+
: process.env.SLACK_SIGNING_SECRET ? "webhook" : "socket";
|
|
204
|
+
if (mode === "webhook" && !process.env.SLACK_SIGNING_SECRET) {
|
|
205
|
+
throw new Error("SLACK_MODE=webhook requires SLACK_SIGNING_SECRET");
|
|
206
|
+
}
|
|
207
|
+
if (mode === "socket" && !process.env.SLACK_APP_TOKEN) {
|
|
208
|
+
throw new Error("SLACK_MODE=socket requires SLACK_APP_TOKEN (or set SLACK_SIGNING_SECRET to use webhook mode)");
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
botToken: process.env.SLACK_BOT_TOKEN,
|
|
212
|
+
mode,
|
|
213
|
+
appToken: process.env.SLACK_APP_TOKEN || undefined,
|
|
214
|
+
signingSecret: process.env.SLACK_SIGNING_SECRET || undefined,
|
|
215
|
+
allowedUsers: (process.env.SLACK_ALLOWED_USERS || "").split(",").filter(Boolean),
|
|
216
|
+
deliveryChannel: process.env.SLACK_DELIVERY_CHANNEL || process.env.SLACK_HOME_CHANNEL || undefined,
|
|
217
|
+
};
|
|
218
|
+
})()
|
|
199
219
|
: undefined;
|
|
200
220
|
const config = {
|
|
201
221
|
port: parseInt(process.env.WEBHOOK_PORT || process.env.PORT || "8644", 10),
|
|
@@ -355,9 +375,9 @@ function optionalStringArray(raw, path) {
|
|
|
355
375
|
return stringArray(raw, path);
|
|
356
376
|
}
|
|
357
377
|
function sandboxBackend(raw, path) {
|
|
358
|
-
if (raw === "gondolin" || raw === "docker" || raw === "none")
|
|
378
|
+
if (raw === "gondolin" || raw === "docker" || raw === "smol" || raw === "none")
|
|
359
379
|
return raw;
|
|
360
|
-
throw new Error(`${path} must be one of gondolin, docker, none`);
|
|
380
|
+
throw new Error(`${path} must be one of gondolin, docker, smol, none`);
|
|
361
381
|
}
|
|
362
382
|
function buildAssetsLocation(raw, path) {
|
|
363
383
|
// Absent → default to repo mode (current behaviour). An explicit bad value
|
|
@@ -404,7 +424,7 @@ function buildEnvConfigLayer(env) {
|
|
|
404
424
|
layer.variants = variants;
|
|
405
425
|
const sandbox = {};
|
|
406
426
|
const backend = (env.LASTLIGHT_SANDBOX || "").trim().toLowerCase();
|
|
407
|
-
if (backend === "gondolin" || backend === "docker" || backend === "none") {
|
|
427
|
+
if (backend === "gondolin" || backend === "docker" || backend === "smol" || backend === "none") {
|
|
408
428
|
sandbox.backend = backend;
|
|
409
429
|
}
|
|
410
430
|
else if (backend) {
|