executeTool 전용으로만 쓰이던 헬퍼(SAFE_COMMANDS, buildUrlOpenCommand, buildBrowserLaunchCommand, hasUriScheme, quoteShellArg, BLOCKED_PATTERNS, lastFilenameUsed, normalizeScheduleJobAction, summarizeCronJob, normalizeDeliveryChannel, ToolResult 타입)도 함께 이동 — 전부 executeTool 밖에서 전혀 참조되지 않는 것을 grep으로 확인 후 판단. 죽은 코드였던 isLinux(정의만 있고 미사용)도 이 김에 삭제. 밖에서도 쓰이는 10개(isPathInsideDir/cronScheduler/resolvePromptPath/ webSearch/webFetch/imageSearch/IMAGE_TYPES/codeAiLocalSessions/ handleTaskControlAction/broadcastWS)는 createExecuteTool(deps) 팩토리로 주입, 호출부 시그니처는 그대로 유지. server.ts: 10584 → 9167줄. 빌드/재시작 후 실제 채팅으로 shell/coder_write_file/ web_search 3개 도구 실행 왕복 검증(생성 파일 확인 후 정리 완료), 기존 라우트 8개 재확인. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
77 lines
1.8 KiB
JSON
77 lines
1.8 KiB
JSON
{
|
|
"name": "smallclaw",
|
|
"version": "4.3.10",
|
|
"description": "Local AI agent framework powered by Ollama - OpenClaw alternative",
|
|
"main": "dist/index.js",
|
|
"bin": {
|
|
"smallclaw": "./dist/cli/index.js"
|
|
},
|
|
"scripts": {
|
|
"prepare": "npm run build",
|
|
"build": "tsc",
|
|
"dev": "tsx src/cli/index.ts",
|
|
"start": "node dist/cli/index.js",
|
|
"gateway": "tsx src/gateway/server-v2.ts",
|
|
"test": "tsx tests/test-v2.ts",
|
|
"test:desktop": "tsx tests/desktop-tools.ts"
|
|
},
|
|
"files": [
|
|
"dist/",
|
|
"web-ui/",
|
|
"workspace/SOUL.md",
|
|
"workspace/SELF.md",
|
|
"workspace/IDENTITY.md",
|
|
"workspace/USER.md",
|
|
"workspace/MEMORY.md",
|
|
"workspace/AGENTS.md",
|
|
"workspace/TOOLS.md",
|
|
"workspace/BOOT.md"
|
|
],
|
|
"keywords": [
|
|
"ai",
|
|
"agent",
|
|
"ollama",
|
|
"automation",
|
|
"openclaw"
|
|
],
|
|
"author": "",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@xterm/addon-fit": "^0.10.0",
|
|
"@xterm/addon-web-links": "^0.11.0",
|
|
"@xterm/xterm": "^5.5.0",
|
|
"avr8js": "^0.21.0",
|
|
"better-sqlite3": "^12.9.0",
|
|
"chromadb": "^3.5.0",
|
|
"commander": "^14.0.3",
|
|
"cors": "^2.8.6",
|
|
"croner": "^10.0.1",
|
|
"dotenv": "^17.4.2",
|
|
"esptool-js": "^0.4.1",
|
|
"express": "^5.2.1",
|
|
"imapflow": "^1.3.3",
|
|
"mailparser": "^3.9.8",
|
|
"monaco-editor": "^0.52.0",
|
|
"node-pty": "^1.1.0",
|
|
"nodemailer": "^8.0.7",
|
|
"ollama": "^0.6.3",
|
|
"onvif": "^0.8.1",
|
|
"playwright": "^1.59.1",
|
|
"pptxgenjs": "^4.0.1",
|
|
"rp2040js": "^1.3.3",
|
|
"tesseract.js": "^7.0.0",
|
|
"ws": "^8.20.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^5.0.6",
|
|
"@types/mailparser": "^3.4.6",
|
|
"@types/node": "^25.6.0",
|
|
"@types/nodemailer": "^8.0.0",
|
|
"@types/ws": "^8.18.1",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.3.0"
|
|
}
|
|
}
|