itermbot 1.0.17 → 1.0.19
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/README.md +22 -33
- package/config/app.yaml +24 -0
- package/dist/index.js +1 -36
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
- package/scripts/resolve-deps.js +72 -30
- package/scripts/{build-internal-deps.mjs → run-iterm-build-internal-deps.mjs} +9 -34
- package/src/index.ts +0 -38
- package/test/unit/config.test.mjs +11 -11
- package/config/skill.yaml +0 -13
- package/config/task-manager.yaml +0 -8
- package/scripts/test-llm.mjs +0 -33
package/README.md
CHANGED
|
@@ -1,38 +1,10 @@
|
|
|
1
1
|
# iTermBot
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 介绍
|
|
4
4
|
|
|
5
|
-
`
|
|
5
|
+
`itermbot` 是一个运行在 iTerm2 环境中的终端智能体应用,基于 `@botbotgo/agent` 及相关框架包构建。
|
|
6
6
|
|
|
7
|
-
##
|
|
8
|
-
|
|
9
|
-
This repo is an app, not a reusable library. Its public interface is the executable entry:
|
|
10
|
-
|
|
11
|
-
| Interface | Type | Purpose |
|
|
12
|
-
| --- | --- | --- |
|
|
13
|
-
| `itermbot` | CLI | Start the app from `dist/index.js`. |
|
|
14
|
-
|
|
15
|
-
## Configuration
|
|
16
|
-
|
|
17
|
-
Main config files:
|
|
18
|
-
|
|
19
|
-
- `config/app.yaml`
|
|
20
|
-
- `config/agent.yaml`
|
|
21
|
-
- `config/model.yaml`
|
|
22
|
-
- `config/toolkit.yaml`
|
|
23
|
-
- `config/memory.yaml`
|
|
24
|
-
- `config/task-manager.yaml`
|
|
25
|
-
|
|
26
|
-
`config/app.yaml` holds app-level behavior such as prompt templates and local startup settings. The model, memory, tool, and runtime files are delegated to the corresponding framework repos.
|
|
27
|
-
`config/task-manager.yaml` defines the application task manager behavior and persistence file.
|
|
28
|
-
|
|
29
|
-
Task manager commands in CLI:
|
|
30
|
-
|
|
31
|
-
- `task list`
|
|
32
|
-
- `task add <description>`
|
|
33
|
-
- `task run [task-id]`
|
|
34
|
-
|
|
35
|
-
## Usage
|
|
7
|
+
## 如何使用
|
|
36
8
|
|
|
37
9
|
```bash
|
|
38
10
|
cd apps/itermbot
|
|
@@ -41,10 +13,27 @@ npm run build
|
|
|
41
13
|
npm start
|
|
42
14
|
```
|
|
43
15
|
|
|
44
|
-
|
|
16
|
+
其他模式:
|
|
45
17
|
|
|
46
18
|
```bash
|
|
47
19
|
npm run react
|
|
48
20
|
npm run deep
|
|
49
|
-
npm run test:llm
|
|
50
21
|
```
|
|
22
|
+
|
|
23
|
+
## 如何设置
|
|
24
|
+
|
|
25
|
+
- Node.js >= 22
|
|
26
|
+
- 需在 iTerm2 内运行(依赖 `TERM_PROGRAM=iTerm.app` 或 `ITERM_SESSION_ID`)
|
|
27
|
+
- 主要配置文件:
|
|
28
|
+
- `config/app.yaml`
|
|
29
|
+
- `config/agent.yaml`
|
|
30
|
+
- `config/model.yaml`
|
|
31
|
+
- `config/memory.yaml`
|
|
32
|
+
- `config/toolkit.yaml`
|
|
33
|
+
- `config/task-manager.yaml`
|
|
34
|
+
|
|
35
|
+
## 暴露 API
|
|
36
|
+
|
|
37
|
+
- 可执行命令:`itermbot`
|
|
38
|
+
- CLI 入口:`node dist/index.js [react|deep] [prompt]`
|
|
39
|
+
- npm 脚本接口:`npm run start`、`npm run react`、`npm run deep`、`npm run test:llm`
|
package/config/app.yaml
CHANGED
|
@@ -1,14 +1,35 @@
|
|
|
1
|
+
# mandatory: apiVersion
|
|
2
|
+
# description: API version of this config resource.
|
|
3
|
+
# default: None (must be explicitly set)
|
|
1
4
|
apiVersion: botbotgo.world/v1
|
|
5
|
+
# mandatory: kind
|
|
6
|
+
# description: Resource kind; app config must be AppConfig.
|
|
7
|
+
# default: None (must be explicitly set)
|
|
2
8
|
kind: AppConfig
|
|
3
9
|
metadata:
|
|
10
|
+
# mandatory: metadata.name
|
|
11
|
+
# description: App config name.
|
|
12
|
+
# default: None (must be explicitly set)
|
|
4
13
|
name: itermbot
|
|
5
14
|
spec:
|
|
15
|
+
# optional: spec.agent
|
|
16
|
+
# description: Default agent mode identifier (for example, deep/react).
|
|
17
|
+
# default: Determined by app entrypoint default policy
|
|
6
18
|
agent: deep
|
|
7
19
|
|
|
20
|
+
# optional: spec.printSteps
|
|
21
|
+
# description: Whether to print intermediate step logs.
|
|
22
|
+
# default: false
|
|
8
23
|
printSteps: true
|
|
24
|
+
# optional: spec.responseSafetyMode
|
|
25
|
+
# description: Response safety policy level.
|
|
26
|
+
# default: balanced
|
|
9
27
|
responseSafetyMode: balanced
|
|
10
28
|
|
|
11
29
|
promptTemplates:
|
|
30
|
+
# optional: spec.promptTemplates.systemPrompt
|
|
31
|
+
# description: Main system prompt template.
|
|
32
|
+
# default: None
|
|
12
33
|
systemPrompt: |
|
|
13
34
|
## Role
|
|
14
35
|
You are a senior systems engineer and terminal operations specialist.
|
|
@@ -58,6 +79,9 @@ spec:
|
|
|
58
79
|
- If an inspection request omits path or scope, first run one non-destructive check against the current target-panel working directory and state that assumption explicitly.
|
|
59
80
|
- Do not suggest destructive commands (for example rm -rf, sudo rm, mkfs, dd, or disk erase) unless the user explicitly asks to execute them.
|
|
60
81
|
- Prefer non-destructive and reversible recommendations before irreversible actions.
|
|
82
|
+
# optional: spec.promptTemplates.directCommandTranslationPrompt
|
|
83
|
+
# description: Prompt template for translating user requests into one read-only command.
|
|
84
|
+
# default: None
|
|
61
85
|
directCommandTranslationPrompt: |
|
|
62
86
|
Role: you are a terminal command translator for direct execution.
|
|
63
87
|
Translate one user request into one executable read-only terminal command.
|
package/dist/index.js
CHANGED
|
@@ -24,11 +24,9 @@ import { detectStartupTargetOs } from "./startup/os.js";
|
|
|
24
24
|
import { createChatProgressEventListener } from "./chat/progress.js";
|
|
25
25
|
import { enforceResponseSafetyWithMode } from "./chat/response-safety.js";
|
|
26
26
|
import { tryHandleBuiltinReadCommand } from "./chat/builtin-commands.js";
|
|
27
|
-
import { ApplicationTaskManager } from "./chat/task-manager.js";
|
|
28
27
|
import { tryHandleDirectCommandWithProgress } from "./direct-command-progress.js";
|
|
29
28
|
import { clearStartupNoise, formatLogPath, getAppVersion, printStartupBanner, printStartupSummary, runStartupStep, StartupProgressRenderer, } from "./startup/ui.js";
|
|
30
|
-
import { loadAppConfig, loadRuntimeConfig, loadSkillRuntimeConfig,
|
|
31
|
-
import { ensureSkillConfig } from "./skills.js";
|
|
29
|
+
import { loadAppConfig, loadRuntimeConfig, loadSkillRuntimeConfig, } from "./config.js";
|
|
32
30
|
let startupColorSnapshots = [];
|
|
33
31
|
let unpatchTargetPanelPolicy = null;
|
|
34
32
|
marked.use(markedTerminal({
|
|
@@ -168,7 +166,6 @@ async function buildRuntime(systemPrompt, namespace, startup, agentMode, skillRu
|
|
|
168
166
|
if (unpatchTargetPanelPolicy)
|
|
169
167
|
unpatchTargetPanelPolicy();
|
|
170
168
|
unpatchTargetPanelPolicy = enforceTargetPanelExecutionPolicy(tools);
|
|
171
|
-
await ensureSkillConfig(resolveConfigPath("config/skill.yaml", process.cwd()));
|
|
172
169
|
const runtimeFactory = createAgent;
|
|
173
170
|
const itermCommandTool = findItermCommandTool(tools);
|
|
174
171
|
const defaultBackend = {
|
|
@@ -248,17 +245,6 @@ async function runInteractive(runtime) {
|
|
|
248
245
|
const turn = conversationTurn;
|
|
249
246
|
printUserMessage(turn, trimmed);
|
|
250
247
|
try {
|
|
251
|
-
if (taskManager) {
|
|
252
|
-
const taskResponse = await taskManager.handleCommand(trimmed, async (description) => {
|
|
253
|
-
const result = await runPromptWithRecovery(runtime, description);
|
|
254
|
-
return result.text;
|
|
255
|
-
});
|
|
256
|
-
if (taskResponse !== null) {
|
|
257
|
-
printBotMessage(taskResponse, turn);
|
|
258
|
-
ask();
|
|
259
|
-
return;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
248
|
const builtin = tryHandleBuiltinReadCommand(trimmed, runtime);
|
|
263
249
|
if (builtin !== null) {
|
|
264
250
|
printBotMessage(builtin, turn);
|
|
@@ -318,8 +304,6 @@ let maxSteps = 16;
|
|
|
318
304
|
let invokeTimeoutMs = 90_000;
|
|
319
305
|
let runtimeConfigData = {};
|
|
320
306
|
let skillRuntimeConfig = {};
|
|
321
|
-
let taskManagerConfigData = {};
|
|
322
|
-
let taskManager = null;
|
|
323
307
|
async function initializeStartup(progress) {
|
|
324
308
|
const appConfigPath = resolveConfigPath("config/app.yaml", process.cwd());
|
|
325
309
|
const appConfig = await runStartupStep(progress, "init app config", () => loadAppConfig(appConfigPath), () => formatLogPath(appConfigPath));
|
|
@@ -333,14 +317,6 @@ async function initializeStartup(progress) {
|
|
|
333
317
|
invokeTimeoutMs = runtimeConfig.invokeTimeoutMs ?? 90_000;
|
|
334
318
|
runtimeConfigData = runtimeConfig;
|
|
335
319
|
skillRuntimeConfig = await loadSkillRuntimeConfig(resolveConfigPath("config/skill.yaml", process.cwd()));
|
|
336
|
-
taskManagerConfigData = await loadTaskManagerConfig(resolveConfigPath("config/task-manager.yaml", process.cwd()));
|
|
337
|
-
taskManager = taskManagerConfigData.enabled === false
|
|
338
|
-
? null
|
|
339
|
-
: new ApplicationTaskManager({
|
|
340
|
-
rootDir: process.cwd(),
|
|
341
|
-
stateFile: taskManagerConfigData.stateFile,
|
|
342
|
-
maxTasks: taskManagerConfigData.maxTasks,
|
|
343
|
-
});
|
|
344
320
|
startup = await runStartupStep(progress, "init iTerm panels", () => applyStartupPanelColors());
|
|
345
321
|
startupColorSnapshots = startup.colorSnapshots;
|
|
346
322
|
const osInfo = await runStartupStep(progress, "detect target os", () => detectStartupTargetOs({
|
|
@@ -368,17 +344,6 @@ async function runCli(runtime) {
|
|
|
368
344
|
conversationTurn += 1;
|
|
369
345
|
const turn = conversationTurn;
|
|
370
346
|
printUserMessage(turn, question);
|
|
371
|
-
if (taskManager) {
|
|
372
|
-
const taskResponse = await taskManager.handleCommand(question, async (description) => {
|
|
373
|
-
const result = await runPromptWithRecovery(runtime, description);
|
|
374
|
-
return result.text;
|
|
375
|
-
});
|
|
376
|
-
if (taskResponse !== null) {
|
|
377
|
-
printBotMessage(taskResponse, turn);
|
|
378
|
-
shutdown();
|
|
379
|
-
return;
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
347
|
const builtin = tryHandleBuiltinReadCommand(question, runtime);
|
|
383
348
|
if (builtin !== null) {
|
|
384
349
|
printBotMessage(builtin, turn);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "itermbot",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
4
4
|
"description": "iTermBot: ReAct agent (LangChain) + DeepAgent (DeepAgents) using BotBotGo packages",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"iTermbot": "dist/index.js"
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
|
-
"preinstall": "node scripts/resolve-deps.
|
|
14
|
-
"prebuild": "node scripts/build-internal-deps.mjs",
|
|
13
|
+
"preinstall": "node -e \"const fs=require('fs'); const {execSync}=require('child_process'); if (fs.existsSync('../../scripts/run-resolve-deps.sh')) { execSync('bash ../../scripts/run-resolve-deps.sh .', { stdio: 'inherit' }); } else { console.log('Skipping workspace resolve-deps helper'); }\"",
|
|
14
|
+
"prebuild": "node ./scripts/run-iterm-build-internal-deps.mjs .",
|
|
15
15
|
"build": "tsc -p config/tsconfig.json",
|
|
16
16
|
"dev": "tsc -p config/tsconfig.json --watch",
|
|
17
17
|
"start": "node dist/index.js",
|
|
@@ -22,16 +22,16 @@
|
|
|
22
22
|
"test": "npm run typecheck && npm run build && npm run test:policy",
|
|
23
23
|
"test:policy": "npm run build && node --test --test-concurrency=1 test/unit/*.test.mjs test/unit/**/*.test.mjs test/integration/*.test.mjs",
|
|
24
24
|
"test:live": "npm run build && node --test --test-concurrency=1 test/integration/live-iterm-llm.integration.test.mjs",
|
|
25
|
-
"test:llm": "node scripts/test-llm.mjs",
|
|
25
|
+
"test:llm": "node ../../scripts/run-iterm-test-llm.mjs .",
|
|
26
26
|
"release": "semantic-release"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@botbotgo/common": "
|
|
30
|
-
"@botbotgo/memory": "
|
|
31
|
-
"@botbotgo/model": "
|
|
32
|
-
"@botbotgo/agent": "
|
|
33
|
-
"@botbotgo/toolkit": "
|
|
34
|
-
"@botbotgo/toolkit-builtin": "
|
|
29
|
+
"@botbotgo/common": "1.0.15",
|
|
30
|
+
"@botbotgo/memory": "1.0.64",
|
|
31
|
+
"@botbotgo/model": "1.0.9",
|
|
32
|
+
"@botbotgo/agent": "1.1.20",
|
|
33
|
+
"@botbotgo/toolkit": "1.0.122",
|
|
34
|
+
"@botbotgo/toolkit-builtin": "0.0.114",
|
|
35
35
|
"@langchain/core": "1.1.31",
|
|
36
36
|
"@langchain/langgraph": "1.2.0",
|
|
37
37
|
"@langchain/langgraph-checkpoint": "1.0.0",
|
package/scripts/resolve-deps.js
CHANGED
|
@@ -1,49 +1,91 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
4
|
-
import { dirname, resolve } from "node:path";
|
|
5
|
-
import {
|
|
3
|
+
import { existsSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
|
|
4
|
+
import { dirname, join, resolve } from "node:path";
|
|
5
|
+
import { execSync } from "node:child_process";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
6
7
|
|
|
7
8
|
const DEP_SECTIONS = ["dependencies", "devDependencies", "optionalDependencies"];
|
|
9
|
+
const SCOPES = ["@botbotgo/", "@wallee/"];
|
|
10
|
+
const SKIP_DIRS = new Set(["node_modules", ".git", "dist", "coverage"]);
|
|
8
11
|
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
function readJson(path) { return JSON.parse(readFileSync(path, "utf8")); }
|
|
13
|
+
function writeJson(path, value) { writeFileSync(path, `${JSON.stringify(value, null, 2)}\n`); }
|
|
14
|
+
function isInternalPackage(name) { return SCOPES.some((scope) => name.startsWith(scope)); }
|
|
15
|
+
|
|
16
|
+
function tryResolveLocalVersion(pkgDir, spec) {
|
|
17
|
+
if (!spec.startsWith("file:")) return null;
|
|
18
|
+
const pkgPath = resolve(pkgDir, spec.slice(5), "package.json");
|
|
19
|
+
if (!existsSync(pkgPath)) return null;
|
|
20
|
+
const parsed = readJson(pkgPath);
|
|
21
|
+
return typeof parsed.version === "string" && parsed.version.length > 0 ? parsed.version : null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function fetchPublishedVersion(name) {
|
|
25
|
+
try {
|
|
26
|
+
const raw = execSync(`npm view ${name} version --json`, { encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }).trim();
|
|
27
|
+
const parsed = JSON.parse(raw);
|
|
28
|
+
return typeof parsed === "string" && parsed.length > 0 ? parsed : null;
|
|
29
|
+
} catch {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function collectPackageJsonPaths(rootDir) {
|
|
35
|
+
const out = [];
|
|
36
|
+
function walk(currentDir) {
|
|
37
|
+
for (const entry of readdirSync(currentDir)) {
|
|
38
|
+
if (SKIP_DIRS.has(entry)) continue;
|
|
39
|
+
const abs = join(currentDir, entry);
|
|
40
|
+
const st = statSync(abs);
|
|
41
|
+
if (st.isDirectory()) {
|
|
42
|
+
walk(abs);
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (entry === "package.json") out.push(abs);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
walk(rootDir);
|
|
49
|
+
return out.sort();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function rewritePackageJson(pkgPath) {
|
|
53
|
+
const pkg = readJson(pkgPath);
|
|
54
|
+
const pkgDir = dirname(pkgPath);
|
|
14
55
|
let changed = false;
|
|
15
56
|
|
|
16
57
|
for (const section of DEP_SECTIONS) {
|
|
17
58
|
const deps = pkg[section];
|
|
18
59
|
if (!deps || typeof deps !== "object") continue;
|
|
19
|
-
for (const [name,
|
|
20
|
-
if (!name.startsWith("
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
60
|
+
for (const [name, current] of Object.entries(deps)) {
|
|
61
|
+
if (typeof current !== "string" || !isInternalPackage(name) || !current.startsWith("file:")) continue;
|
|
62
|
+
const next = tryResolveLocalVersion(pkgDir, current) ?? fetchPublishedVersion(name);
|
|
63
|
+
if (!next) {
|
|
64
|
+
console.warn(`[resolve-deps] warn: could not resolve ${name} for ${pkgPath}`);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (next !== current) {
|
|
68
|
+
deps[name] = next;
|
|
69
|
+
changed = true;
|
|
70
|
+
console.log(`[resolve-deps] ${pkg.name ?? pkgPath} ${section}.${name}: ${current} -> ${next}`);
|
|
71
|
+
}
|
|
27
72
|
}
|
|
28
73
|
}
|
|
29
74
|
|
|
30
|
-
if (changed)
|
|
31
|
-
|
|
32
|
-
}
|
|
75
|
+
if (changed) writeJson(pkgPath, pkg);
|
|
76
|
+
return changed;
|
|
33
77
|
}
|
|
34
78
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (existsSync(workspaceRunner)) {
|
|
40
|
-
const { runResolveDeps } = await import(pathToFileURL(workspaceRunner).href);
|
|
41
|
-
await runResolveDeps(import.meta.url, "../../../scripts/internal-package-refs.mjs");
|
|
79
|
+
function main() {
|
|
80
|
+
if (!process.env.CI) {
|
|
81
|
+
console.log("[resolve-deps] skipping because CI is not set");
|
|
42
82
|
return;
|
|
43
83
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
84
|
+
const repoRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
85
|
+
const packageJsonPaths = collectPackageJsonPaths(repoRoot);
|
|
86
|
+
let changed = false;
|
|
87
|
+
for (const pkgPath of packageJsonPaths) changed = rewritePackageJson(pkgPath) || changed;
|
|
88
|
+
if (!changed) console.log("[resolve-deps] no file-based internal deps to rewrite");
|
|
47
89
|
}
|
|
48
90
|
|
|
49
|
-
|
|
91
|
+
main();
|
|
@@ -3,16 +3,10 @@
|
|
|
3
3
|
import { execSync } from "node:child_process";
|
|
4
4
|
import { existsSync, lstatSync, mkdirSync, readFileSync, rmSync, symlinkSync } from "node:fs";
|
|
5
5
|
import { dirname, resolve } from "node:path";
|
|
6
|
-
import { fileURLToPath } from "node:url";
|
|
7
6
|
|
|
8
|
-
const
|
|
9
|
-
const appDir = resolve(scriptDir, "..");
|
|
7
|
+
const appDir = process.argv[2] ? resolve(process.argv[2]) : process.cwd();
|
|
10
8
|
const packageJson = JSON.parse(readFileSync(resolve(appDir, "package.json"), "utf8"));
|
|
11
|
-
const dependencySections = [
|
|
12
|
-
packageJson.dependencies ?? {},
|
|
13
|
-
packageJson.devDependencies ?? {},
|
|
14
|
-
packageJson.optionalDependencies ?? {},
|
|
15
|
-
];
|
|
9
|
+
const dependencySections = [packageJson.dependencies ?? {}, packageJson.devDependencies ?? {}, packageJson.optionalDependencies ?? {}];
|
|
16
10
|
|
|
17
11
|
const WORKSPACE_PACKAGE_DIRS = {
|
|
18
12
|
"@botbotgo/common": "framework/common",
|
|
@@ -45,9 +39,7 @@ function resolveWorkspacePackageDir(packageName) {
|
|
|
45
39
|
|
|
46
40
|
function syncWorkspacePackage(packageName, packageDir) {
|
|
47
41
|
const [, scope, shortName] = packageName.match(/^@([^/]+)\/(.+)$/) ?? [];
|
|
48
|
-
if (!scope || !shortName) {
|
|
49
|
-
throw new Error(`Unsupported scoped package name: ${packageName}`);
|
|
50
|
-
}
|
|
42
|
+
if (!scope || !shortName) throw new Error(`Unsupported scoped package name: ${packageName}`);
|
|
51
43
|
const scopeDir = resolve(appDir, "node_modules", `@${scope}`);
|
|
52
44
|
const targetDir = resolve(scopeDir, shortName);
|
|
53
45
|
mkdirSync(scopeDir, { recursive: true });
|
|
@@ -81,7 +73,7 @@ function syncPeerDependenciesFromApp(packageDir) {
|
|
|
81
73
|
}
|
|
82
74
|
}
|
|
83
75
|
|
|
84
|
-
function ensureInstalledDependencies(
|
|
76
|
+
function ensureInstalledDependencies(packageDir) {
|
|
85
77
|
if (hasInstalledDependencies(packageDir)) return;
|
|
86
78
|
console.log(`[build-internal-deps] npm install --prefix ${packageDir}`);
|
|
87
79
|
execSync(`npm install --prefix ${JSON.stringify(packageDir)} --legacy-peer-deps --ignore-scripts`, {
|
|
@@ -91,33 +83,16 @@ function ensureInstalledDependencies(packageName, packageDir) {
|
|
|
91
83
|
syncPeerDependenciesFromApp(packageDir);
|
|
92
84
|
}
|
|
93
85
|
|
|
94
|
-
const packageNames = [
|
|
95
|
-
"@botbotgo/common",
|
|
96
|
-
"@botbotgo/model",
|
|
97
|
-
"@botbotgo/memory",
|
|
98
|
-
"@botbotgo/toolkit",
|
|
99
|
-
"@botbotgo/agent",
|
|
100
|
-
"@botbotgo/toolkit-builtin",
|
|
101
|
-
];
|
|
86
|
+
const packageNames = ["@botbotgo/common", "@botbotgo/model", "@botbotgo/memory", "@botbotgo/toolkit", "@botbotgo/agent", "@botbotgo/toolkit-builtin"];
|
|
102
87
|
|
|
103
88
|
for (const packageName of packageNames) {
|
|
104
89
|
const spec = getDependencySpec(packageName);
|
|
105
|
-
const packageDir = spec?.startsWith("file:")
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if (!packageDir || !existsSync(resolve(packageDir, "package.json"))) {
|
|
109
|
-
if (spec?.startsWith("file:")) {
|
|
110
|
-
console.warn(`[build-internal-deps] skipping missing workspace package for ${packageName}: ${packageDir}`);
|
|
111
|
-
}
|
|
112
|
-
continue;
|
|
113
|
-
}
|
|
114
|
-
ensureInstalledDependencies(packageName, packageDir);
|
|
90
|
+
const packageDir = spec?.startsWith("file:") ? resolve(appDir, spec.slice("file:".length)) : resolveWorkspacePackageDir(packageName);
|
|
91
|
+
if (!packageDir || !existsSync(resolve(packageDir, "package.json"))) continue;
|
|
92
|
+
ensureInstalledDependencies(packageDir);
|
|
115
93
|
console.log(`[build-internal-deps] npm run build --prefix ${packageDir}`);
|
|
116
94
|
try {
|
|
117
|
-
execSync(`npm run build --prefix ${JSON.stringify(packageDir)}`, {
|
|
118
|
-
cwd: appDir,
|
|
119
|
-
stdio: "inherit",
|
|
120
|
-
});
|
|
95
|
+
execSync(`npm run build --prefix ${JSON.stringify(packageDir)}`, { cwd: appDir, stdio: "inherit" });
|
|
121
96
|
} catch (error) {
|
|
122
97
|
if (!hasBuiltOutput(packageDir)) throw error;
|
|
123
98
|
console.warn(`[build-internal-deps] build failed for ${packageName}, using existing dist at ${packageDir}`);
|
package/src/index.ts
CHANGED
|
@@ -30,7 +30,6 @@ import { detectStartupTargetOs } from "./startup/os.js";
|
|
|
30
30
|
import { createChatProgressEventListener } from "./chat/progress.js";
|
|
31
31
|
import { enforceResponseSafetyWithMode } from "./chat/response-safety.js";
|
|
32
32
|
import { tryHandleBuiltinReadCommand } from "./chat/builtin-commands.js";
|
|
33
|
-
import { ApplicationTaskManager } from "./chat/task-manager.js";
|
|
34
33
|
import { tryHandleDirectCommandWithProgress } from "./direct-command-progress.js";
|
|
35
34
|
import {
|
|
36
35
|
clearStartupNoise,
|
|
@@ -46,12 +45,9 @@ import {
|
|
|
46
45
|
type RuntimeConfig,
|
|
47
46
|
loadRuntimeConfig,
|
|
48
47
|
loadSkillRuntimeConfig,
|
|
49
|
-
loadTaskManagerConfig,
|
|
50
48
|
type AgentMode,
|
|
51
49
|
type ResponseSafetyMode,
|
|
52
|
-
type TaskManagerConfig,
|
|
53
50
|
} from "./config.js";
|
|
54
|
-
import { ensureSkillConfig } from "./skills.js";
|
|
55
51
|
|
|
56
52
|
let startupColorSnapshots: Parameters<typeof restoreSessionColorsSync>[0] = [];
|
|
57
53
|
let unpatchTargetPanelPolicy: (() => void) | null = null;
|
|
@@ -216,7 +212,6 @@ async function buildRuntime(
|
|
|
216
212
|
});
|
|
217
213
|
if (unpatchTargetPanelPolicy) unpatchTargetPanelPolicy();
|
|
218
214
|
unpatchTargetPanelPolicy = enforceTargetPanelExecutionPolicy(tools);
|
|
219
|
-
await ensureSkillConfig(resolveConfigPath("config/skill.yaml", process.cwd()));
|
|
220
215
|
|
|
221
216
|
const runtimeFactory: AgentRuntimeFactory = createAgent;
|
|
222
217
|
const itermCommandTool = findItermCommandTool(tools as unknown[]);
|
|
@@ -300,18 +295,6 @@ async function runInteractive(runtime: AgentRuntime): Promise<void> {
|
|
|
300
295
|
const turn = conversationTurn;
|
|
301
296
|
printUserMessage(turn, trimmed);
|
|
302
297
|
try {
|
|
303
|
-
if (taskManager) {
|
|
304
|
-
const taskResponse = await taskManager.handleCommand(trimmed, async (description) => {
|
|
305
|
-
const result = await runPromptWithRecovery(runtime, description);
|
|
306
|
-
return result.text;
|
|
307
|
-
});
|
|
308
|
-
if (taskResponse !== null) {
|
|
309
|
-
printBotMessage(taskResponse, turn);
|
|
310
|
-
ask();
|
|
311
|
-
return;
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
|
|
315
298
|
const builtin = tryHandleBuiltinReadCommand(trimmed, runtime);
|
|
316
299
|
if (builtin !== null) {
|
|
317
300
|
printBotMessage(builtin, turn);
|
|
@@ -376,8 +359,6 @@ let maxSteps = 16;
|
|
|
376
359
|
let invokeTimeoutMs = 90_000;
|
|
377
360
|
let runtimeConfigData: RuntimeConfig = {};
|
|
378
361
|
let skillRuntimeConfig: Awaited<ReturnType<typeof loadSkillRuntimeConfig>> = {};
|
|
379
|
-
let taskManagerConfigData: TaskManagerConfig = {};
|
|
380
|
-
let taskManager: ApplicationTaskManager | null = null;
|
|
381
362
|
|
|
382
363
|
async function initializeStartup(progress: StartupProgressRenderer): Promise<{
|
|
383
364
|
appConfig: Awaited<ReturnType<typeof loadAppConfig>>;
|
|
@@ -406,14 +387,6 @@ async function initializeStartup(progress: StartupProgressRenderer): Promise<{
|
|
|
406
387
|
invokeTimeoutMs = runtimeConfig.invokeTimeoutMs ?? 90_000;
|
|
407
388
|
runtimeConfigData = runtimeConfig;
|
|
408
389
|
skillRuntimeConfig = await loadSkillRuntimeConfig(resolveConfigPath("config/skill.yaml", process.cwd()));
|
|
409
|
-
taskManagerConfigData = await loadTaskManagerConfig(resolveConfigPath("config/task-manager.yaml", process.cwd()));
|
|
410
|
-
taskManager = taskManagerConfigData.enabled === false
|
|
411
|
-
? null
|
|
412
|
-
: new ApplicationTaskManager({
|
|
413
|
-
rootDir: process.cwd(),
|
|
414
|
-
stateFile: taskManagerConfigData.stateFile,
|
|
415
|
-
maxTasks: taskManagerConfigData.maxTasks,
|
|
416
|
-
});
|
|
417
390
|
|
|
418
391
|
startup = await runStartupStep(progress, "init iTerm panels", () => applyStartupPanelColors());
|
|
419
392
|
startupColorSnapshots = startup.colorSnapshots;
|
|
@@ -465,17 +438,6 @@ async function runCli(runtime: AgentRuntime): Promise<void> {
|
|
|
465
438
|
conversationTurn += 1;
|
|
466
439
|
const turn = conversationTurn;
|
|
467
440
|
printUserMessage(turn, question);
|
|
468
|
-
if (taskManager) {
|
|
469
|
-
const taskResponse = await taskManager.handleCommand(question, async (description) => {
|
|
470
|
-
const result = await runPromptWithRecovery(runtime, description);
|
|
471
|
-
return result.text;
|
|
472
|
-
});
|
|
473
|
-
if (taskResponse !== null) {
|
|
474
|
-
printBotMessage(taskResponse, turn);
|
|
475
|
-
shutdown();
|
|
476
|
-
return;
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
441
|
const builtin = tryHandleBuiltinReadCommand(question, runtime);
|
|
480
442
|
if (builtin !== null) {
|
|
481
443
|
printBotMessage(builtin, turn);
|
|
@@ -31,27 +31,27 @@ test("loadRuntimeConfig reads runtime settings", async () => {
|
|
|
31
31
|
|
|
32
32
|
assert.equal(config.maxSteps, 100);
|
|
33
33
|
assert.equal(config.invokeTimeoutMs, 240000);
|
|
34
|
-
assert.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
assert.deepEqual(config.backend, {
|
|
35
|
+
type: "module_export",
|
|
36
|
+
module: "./dist/iterm/target-panel-backend.js",
|
|
37
|
+
exportName: "ITermTargetPanelBackend",
|
|
38
|
+
options: {
|
|
39
|
+
waitMs: 1000,
|
|
40
|
+
maxOutputLines: 8000,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
38
43
|
});
|
|
39
44
|
|
|
40
45
|
test("loadSkillRuntimeConfig reads skill runtime settings", async () => {
|
|
41
46
|
const configPath = resolve(process.cwd(), "config/skill.yaml");
|
|
42
47
|
const config = await loadSkillRuntimeConfig(configPath);
|
|
43
48
|
|
|
44
|
-
assert.
|
|
45
|
-
assert.equal(config.injectMetadata, true);
|
|
46
|
-
assert.equal(config.embeddingThreshold, 0.2);
|
|
47
|
-
assert.equal(config.workflows, undefined);
|
|
49
|
+
assert.deepEqual(config, {});
|
|
48
50
|
});
|
|
49
51
|
|
|
50
52
|
test("loadTaskManagerConfig reads app-level task manager settings", async () => {
|
|
51
53
|
const configPath = resolve(process.cwd(), "config/task-manager.yaml");
|
|
52
54
|
const config = await loadTaskManagerConfig(configPath);
|
|
53
55
|
|
|
54
|
-
assert.
|
|
55
|
-
assert.equal(config.stateFile, ".agent/tasks.json");
|
|
56
|
-
assert.equal(config.maxTasks, 200);
|
|
56
|
+
assert.deepEqual(config, {});
|
|
57
57
|
});
|
package/config/skill.yaml
DELETED
package/config/task-manager.yaml
DELETED
package/scripts/test-llm.mjs
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Quick LLM config test. Run from app root: npm run test:llm
|
|
3
|
-
*/
|
|
4
|
-
import { AgentContextTokens, getDefaultAgentContext } from "@botbotgo/common/context";
|
|
5
|
-
import { createAgentModel } from "@botbotgo/model";
|
|
6
|
-
import { loadAppConfig, getModelsConfigPath } from "../dist/config.js";
|
|
7
|
-
|
|
8
|
-
async function main() {
|
|
9
|
-
try {
|
|
10
|
-
const appConfig = await loadAppConfig("config/app.yaml");
|
|
11
|
-
const agentNames = Object.keys(appConfig?.app?.agent ?? {});
|
|
12
|
-
const agentName = appConfig?.app?.defaultAgent ?? agentNames[0];
|
|
13
|
-
const modelPath = getModelsConfigPath(appConfig, agentName);
|
|
14
|
-
console.log(`[test-llm] Loading LLM from ${modelPath} ...`);
|
|
15
|
-
await createAgentModel({
|
|
16
|
-
configPath: modelPath,
|
|
17
|
-
});
|
|
18
|
-
const llm = getDefaultAgentContext().get(AgentContextTokens.ChatModel);
|
|
19
|
-
|
|
20
|
-
console.log("[test-llm] Invoking LLM ...");
|
|
21
|
-
const res = await llm.invoke(
|
|
22
|
-
"In one sentence, introduce yourself and say you are being used to test iTermBot's LLM config."
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
console.log("[test-llm] Raw response:");
|
|
26
|
-
console.log(JSON.stringify(res, null, 2));
|
|
27
|
-
} catch (err) {
|
|
28
|
-
console.error("[test-llm] Error:", err);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
main();
|