@lumi.ai/runner 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +138 -0
  3. package/dist/cli.js +3432 -0
  4. package/package.json +64 -0
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@lumi.ai/runner",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "Lumi Crew runner daemon — claims jobs from your Ships and executes them as headless Claude sessions on your own machine.",
6
+ "//name": "The ONLY package in this monorepo published to the public registry, so it is the one that does not follow the internal @lumi/crew-* convention: `@lumi` is not a scope we own, `@lumi.ai` is (the npm org). The workspace DIRECTORY stays packages/crew/runner — renaming the package is not renaming the folder.",
7
+ "bin": {
8
+ "lumi-runner": "dist/cli.js"
9
+ },
10
+ "main": "./dist/cli.js",
11
+ "//files": "Explicit file list, NOT the `dist` directory: build.mjs also emits dist/cli.js.map, which embeds the full original TypeScript of every bundled module (the runner's own source AND all of @lumi/crew-shared) via sourcesContent. That is 379 kB of private source on a public registry. The map stays on disk for local debugging; it just never ships.",
12
+ "files": [
13
+ "dist/cli.js",
14
+ "README.md",
15
+ "LICENSE"
16
+ ],
17
+ "license": "MIT",
18
+ "author": "CodeBridger",
19
+ "homepage": "https://lumi-crew.web.app",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/codebridger/lumi.git",
23
+ "directory": "packages/crew/runner"
24
+ },
25
+ "bugs": {
26
+ "url": "https://github.com/codebridger/lumi/issues"
27
+ },
28
+ "keywords": [
29
+ "lumi",
30
+ "lumi-crew",
31
+ "claude",
32
+ "agent",
33
+ "daemon",
34
+ "runner",
35
+ "cli"
36
+ ],
37
+ "engines": {
38
+ "node": ">=20"
39
+ },
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "scripts": {
44
+ "build": "tsc -p tsconfig.json --noEmit && node build.mjs",
45
+ "build:watch": "tsc -p tsconfig.json --noEmit --watch",
46
+ "//prepublishOnly": "dist/ is gitignored, so a publish from a fresh checkout that skipped the build would ship a tarball whose `bin` points at a file that is not in it — installable, and broken on every invocation. This makes that impossible. It runs on `npm publish` only, never on `npm ci`.",
47
+ "prepublishOnly": "npm run build",
48
+ "//test:unit": "No tsconfig.test.json here: the build's own `tsc --noEmit` already type-checks the colocated tests, and esbuild's single entry (src/cli/index.ts) keeps them out of the published bundle.",
49
+ "test:unit": "vitest run"
50
+ },
51
+ "//deps": "Runtime deps are installed by `npm i -g` and therefore must all exist on the public registry. @lumi/crew-shared is workspace-private, so it is a DEV dependency that build.mjs inlines into the bundle — see the externals rule there. It stays visible in the published manifest (npm does not strip devDependencies), which is inert: `npm i -g` never installs them.",
52
+ "dependencies": {
53
+ "@clack/prompts": "^1.7.0",
54
+ "commander": "^15.0.0",
55
+ "firebase": "^11.1.0",
56
+ "picocolors": "^1.1.1"
57
+ },
58
+ "devDependencies": {
59
+ "@lumi/crew-shared": "*",
60
+ "@types/node": "^22.10.0",
61
+ "esbuild": "^0.28.1",
62
+ "typescript": "^5.6.3"
63
+ }
64
+ }