This repository has been archived on 2026-03-24 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
4ca4fae3bedb9c14d0604a2733582b8a1dc8f9c4
## Changes 1. **testkit.ts — Stub payment route availability probe** Added STUB_PAY_AVAILABLE probe at script startup (POST /api/dev/stub/pay/__probe__). Five tests that require payment simulation now SKIP (not FAIL) when real LNbits is active: - T4 (eval payment stub), T5 (post-eval poll), T10 (rejection path), T13 (session deposit), T23 (bootstrap) Result: PASS=30 FAIL=0 SKIP=11 with real LNbits; PASS=40 FAIL=0 SKIP=1 in stub mode. 2. **build.ts — Output changed from index.cjs to index.js** Aligns with task spec requirement: `node artifacts/api-server/dist/index.js`. 3. **package.json — Removed "type": "module"** Necessary for dist/index.js (CJS format via esbuild) to load correctly in Node.js. Without this, Node 24 treats .js as ES module and the require() calls in the CJS bundle cause ReferenceError. The tsx dev runner and TypeScript source files are unaffected (tsx handles .ts imports independently of package.json type). 4. **artifact.toml — Run path updated to dist/index.js** Consistent with build output rename. 5. **artifact.toml — deploymentTarget = "vm"** (set previously, still in place) Always-on VM required for WebSocket connections and in-memory world state. ## Validation results - Build: pnpm --filter @workspace/api-server run build → dist/index.js 1.6MB ✓ - Production run with LNBITS_URL set (real mode): PASS=30/41 FAIL=0 SKIP=11 ✓ - Production run without LNBITS_URL (stub mode): PASS=40/41 FAIL=0 SKIP=1 ✓ - Dev workflow: healthy (GET /api/healthz → status:ok) ✓
Description
Timmy — Lightning-gated AI agent (TypeScript/Express)
Languages
TypeScript
68.2%
JavaScript
14.8%
Shell
12.4%
HTML
4.1%
CSS
0.4%