mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-06-04 10:14:47 +08:00
6e0d742a7f
Wraps the scripted setup flow in a branded, friendly UI. Each step runs
under a clack spinner with elapsed time; child stdout/stderr is captured
quietly and dumped only on failure. Interactive children (token paste,
Anthropic OAuth) bypass the spinner and inherit the TTY.
- intro: NanoClaw wordmark + brand-cyan accent chip, truecolor with
kleur fallback and NO_COLOR / non-TTY awareness
- pair-telegram: emits PAIR_TELEGRAM_CODE / _ATTEMPT status blocks only;
auto.ts renders clack notes + "received X — doesn't match" checkpoints
- streaming status-block parser handles mid-step events without waiting
for the child to exit
- terminal-block detection now finds any block with a STATUS field
(handles MOUNTS emitting CONFIGURE_MOUNTS, etc.) and treats 'skipped'
as a success variant with an optional friendlier label
Also fixes a latent bash bug where `$VAR…` (unbraced followed by a
multi-byte Unicode character) pulled ellipsis bytes into the variable
name lookup and tripped `set -u`. Braced `${VAR}` in add-telegram.sh
and register-claude-token.sh.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
53 lines
1.4 KiB
JSON
53 lines
1.4 KiB
JSON
{
|
|
"name": "nanoclaw",
|
|
"version": "1.2.52",
|
|
"description": "Personal Claude assistant. Lightweight, secure, customizable.",
|
|
"type": "module",
|
|
"packageManager": "pnpm@10.33.0",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"start": "node dist/index.js",
|
|
"dev": "tsx src/index.ts",
|
|
"typecheck": "tsc --noEmit",
|
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
"format:fix": "prettier --write \"src/**/*.ts\"",
|
|
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
"prepare": "husky",
|
|
"setup": "tsx setup/index.ts",
|
|
"setup:auto": "tsx setup/auto.ts",
|
|
"chat": "tsx scripts/chat.ts",
|
|
"auth": "tsx src/whatsapp-auth.ts",
|
|
"lint": "eslint src/",
|
|
"lint:fix": "eslint src/ --fix",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"dependencies": {
|
|
"@chat-adapter/telegram": "4.26.0",
|
|
"@clack/prompts": "^1.2.0",
|
|
"@onecli-sh/sdk": "^0.3.1",
|
|
"better-sqlite3": "11.10.0",
|
|
"chat": "^4.24.0",
|
|
"cron-parser": "5.5.0",
|
|
"kleur": "^4.1.5"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.35.0",
|
|
"@types/better-sqlite3": "^7.6.12",
|
|
"@types/node": "^22.10.0",
|
|
"eslint": "^9.35.0",
|
|
"eslint-plugin-no-catch-all": "^1.1.0",
|
|
"globals": "^15.12.0",
|
|
"husky": "^9.1.7",
|
|
"prettier": "^3.8.1",
|
|
"tsx": "^4.19.0",
|
|
"typescript": "^5.7.0",
|
|
"typescript-eslint": "^8.35.0",
|
|
"vitest": "^4.0.18"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
}
|
|
}
|