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 CHANGED
@@ -1,38 +1,10 @@
1
1
  # iTermBot
2
2
 
3
- ## Introduction
3
+ ## 介绍
4
4
 
5
- `apps/itermbot` is the application repo in this workspace. It runs an iTerm-focused agent on top of the BotBotGo runtime, model, memory, and tool packages.
5
+ `itermbot` 是一个运行在 iTerm2 环境中的终端智能体应用,基于 `@botbotgo/agent` 及相关框架包构建。
6
6
 
7
- ## Exposed Interfaces
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
- Other entry modes:
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, loadTaskManagerConfig, } from "./config.js";
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":";AACA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,mBAAmB,EAEnB,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,iCAAiC,GAClC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iCAAiC,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,aAAa,EAEb,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,GAItB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,IAAI,qBAAqB,GAAmD,EAAE,CAAC;AAC/E,IAAI,wBAAwB,GAAwB,IAAI,CAAC;AAIzD,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACxB,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;IAClD,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI;CAC7E,CAAU,CAAC,CAAC;AAEb,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;QAC9C,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,GAAG,IAAI,GAAG,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,OAAO,CAAC,IAAI,GAAG,GAAG;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAa;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAK,GAAG,gBAAgB;IAC7D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,cAAc,CAAC,aAA4B;IAClD,MAAM,IAAI,GAAG,eAAe,CAAC;IAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACnG,OAAO,GAAG,IAAI,WAAW,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAgB;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,EAAE,MAAM,KAAK,UAAU;YAAE,SAAS;QACjF,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAA8C,EAAE,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAY;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,OAAO,MAAM,EAAE,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACpE,IAAI,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,GAA6C,CAAC;IAC3D,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,GAAG,GAAG,IAA6B,CAAC;QAC1C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAqB,EACrB,KAAa;IAEb,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;QACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;QACvC,SAAS,EAAE,OAAO,CAAC,eAAe,IAAI,SAAS;KAChD,CAAC;IACF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,2BAA2B,CACjD,OAAyG,EACzG,KAAK,EACL,GAAG,EAAE,GAAE,CAAC,EACR,IAAI,CACL,CAAC;QACF,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAyE,CAAC;QAClH,OAAO;YACL,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC;YAClC,YAAY,EAAE,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SAC5F,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,IAAI,EAAE,2CAA2C,OAAO,EAAE;SAC3D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACrD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,WAAW,KAAK,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACvE,IAAI,OAAO;QAAE,OAAO;IACpB,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC3E,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,YAAoB,EACpB,SAAiB,EACjB,OAA4D,EAC5D,SAAoB,EACpB,kBAAsE,EACtE,aAA4B,EAC5B,QAAiB,EACjB,eAAwB;IAExB,mBAAmB,EAAE,CAAC;IACtB,MAAM,gBAAgB,CAAC;QACrB,UAAU,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChF,MAAM,iBAAiB,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;QACnC,cAAc,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QACvE,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE;KAC1C,CAAC,CAAC;IACH,kBAAkB,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;QACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;QACvC,SAAS,EAAE,OAAO,CAAC,eAAe,IAAI,SAAS;KAChD,CAAC,CAAC;IACH,IAAI,wBAAwB;QAAE,wBAAwB,EAAE,CAAC;IACzD,wBAAwB,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAE/E,MAAM,cAAc,GAAwB,WAAW,CAAC;IACxD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAkB,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG;QACrB,IAAI,EAAE,eAAwB;QAC9B,MAAM,EAAE,sCAAsC;QAC9C,UAAU,EAAE,yBAAyB;QACrC,OAAO,EAAE;YACP,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,IAAI;SACrB;KACF,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO;QAC7C,CAAC,CAAC;YACE,GAAG,aAAa,CAAC,OAAO;YACxB,OAAO,EAAE;gBACP,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBACxC,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3E;SACF;QACH,CAAC,CAAC,cAAc,CAAC;IAEnB,OAAO,MAAM,cAAc,CAAC;QAC1B,YAAY;QACZ,SAAS;QACT,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,kBAAkB,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChH,GAAG,CAAC,kBAAkB,CAAC,kBAAkB,IAAI,IAAI;YAC/C,CAAC,CAAC,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,kBAAkB,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,gBAAgB;YAClB,CAAC,CAAC;gBACE,oBAAoB,EAAE;oBACpB,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAA6D;wBAC9F,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC;4BACxC,OAAO;4BACP,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;4BACrB,MAAM,EAAE,IAAI;4BACZ,cAAc,EAAE,GAAG;yBACpB,CAAC,CAAC;wBACH,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,CAAC;iBACF;gBACD,wBAAwB,EAAE;oBACxB,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAqB;IACjD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,GAAS,EAAE;QACrB,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC7C,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,EAAE,CAAC;gBACN,OAAO;YACT,CAAC;YACD,gBAAgB,IAAI,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC9B,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC;gBACH,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;wBAClF,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;wBACjE,OAAO,MAAM,CAAC,IAAI,CAAC;oBACrB,CAAC,CAAC,CAAC;oBACH,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;wBAC1B,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;wBACpC,GAAG,EAAE,CAAC;wBACN,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC/B,GAAG,EAAE,CAAC;oBACN,OAAO;gBACT,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,kCAAkC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;gBACzG,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBAC1B,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBACpC,GAAG,EAAE,CAAC;oBACN,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM,QAAQ,GAAG,6BAA6B,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE;oBAC9E,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,QAAQ,EAAE,eAAe;iBAC1B,CAAC,CAAC;gBACH,IAAI,QAAQ;oBAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClF,CAAC;YACD,GAAG,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,GAAG,EAAE,CAAC;AACR,CAAC;AAED,SAAS,QAAQ;IACf,IAAI,wBAAwB,EAAE,CAAC;QAC7B,wBAAwB,EAAE,CAAC;QAC3B,wBAAwB,GAAG,IAAI,CAAC;IAClC,CAAC;IACD,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9D,IAAI,OAAO,GAAwD;IACjE,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,EAAE;CACnB,CAAC;AACF,IAAI,kBAAkB,GAAuB,UAAU,CAAC;AACxD,IAAI,SAAS,GAAc,MAAM,CAAC;AAClC,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,IAAI,eAAe,GAAG,MAAM,CAAC;AAC7B,IAAI,iBAAiB,GAAkB,EAAE,CAAC;AAC1C,IAAI,kBAAkB,GAAuD,EAAE,CAAC;AAChF,IAAI,qBAAqB,GAAsB,EAAE,CAAC;AAClD,IAAI,WAAW,GAAkC,IAAI,CAAC;AAEtD,KAAK,UAAU,iBAAiB,CAAC,QAAiC;IAIhE,MAAM,aAAa,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,MAAM,cAAc,CACpC,QAAQ,EACR,iBAAiB,EACjB,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,EAClC,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CACnC,CAAC;IACF,UAAU,GAAG,SAAS,CAAC,UAAU,KAAK,IAAI,CAAC;IAC3C,SAAS,GAAG,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC;IACtC,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,IAAI,UAAU,CAAC;IAChE,iCAAiC,CAAC,SAAS,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;IAE7F,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,MAAM,cAAc,CACxC,QAAQ,EACR,qBAAqB,EACrB,GAAG,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAC1C,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,CACvC,CAAC;IACF,QAAQ,GAAG,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,eAAe,GAAG,aAAa,CAAC,eAAe,IAAI,MAAM,CAAC;IAC1D,iBAAiB,GAAG,aAAa,CAAC;IAClC,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACzG,qBAAqB,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClH,WAAW,GAAG,qBAAqB,CAAC,OAAO,KAAK,KAAK;QACnD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,sBAAsB,CAAC;YACzB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,SAAS,EAAE,qBAAqB,CAAC,SAAS;YAC1C,QAAQ,EAAE,qBAAqB,CAAC,QAAQ;SACzC,CAAC,CAAC;IAEP,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC/F,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,QAAQ,EACR,kBAAkB,EAClB,GAAG,EAAE,CAAC,qBAAqB,CAAC;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;QACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;QACvC,SAAS,EAAE,OAAO,CAAC,eAAe,IAAI,SAAS;KAChD,CAAC,EACF,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,CACxC,CAAC;IACF,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;IAEtC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9G,IAAI,OAAsB,CAAC;IAC3B,MAAM,cAAc,CAClB,QAAQ,EACR,oBAAoB,EACpB,KAAK,IAAI,EAAE;QACT,OAAO,GAAG,MAAM,YAAY,CAC1B,YAAY,EACZ,SAAS,EACT,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,eAAe,CAChB,CAAC;IACJ,CAAC,EACD,GAAG,EAAE,CAAC,SAAS,SAAS,cAAc,SAAS,EAAE,CAClD,CAAC;IACF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAqB;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;IACvF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,gBAAgB,IAAI,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC;IAC9B,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACnF,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjE,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACpC,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,kCAAkC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1G,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACpC,QAAQ,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,6BAA6B,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE;QAC9E,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IACH,IAAI,QAAQ;QAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,4BAA4B,EAAE,CAAC;IAC/B,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAuB,+BAA+B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClF,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,cAAc,CAClB,QAAQ,EACR,kBAAkB,EAClB,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAChC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CACjB,CAAC;IAEF,mBAAmB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,kBAAkB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IACjG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,QAAQ,EAAE,CAAC;IACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
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.17",
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.js",
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": "file:../../framework/common",
30
- "@botbotgo/memory": "file:../../framework/memory",
31
- "@botbotgo/model": "file:../../framework/model",
32
- "@botbotgo/agent": "file:../../framework/agent",
33
- "@botbotgo/toolkit": "file:../../framework/toolkit",
34
- "@botbotgo/toolkit-builtin": "file:../../framework/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",
@@ -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 { fileURLToPath, pathToFileURL } from "node:url";
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 fallbackRewriteCurrentPackage(scriptUrl) {
10
- const scriptDir = dirname(fileURLToPath(scriptUrl));
11
- const packageDir = resolve(scriptDir, "..");
12
- const packageJsonPath = resolve(packageDir, "package.json");
13
- const pkg = JSON.parse(readFileSync(packageJsonPath, "utf8"));
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, version] of Object.entries(deps)) {
20
- if (!name.startsWith("@botbotgo/")) continue;
21
- if (typeof version !== "string" || !version.startsWith("file:")) continue;
22
- const target = resolve(packageDir, version.slice("file:".length));
23
- if (existsSync(target)) continue;
24
- deps[name] = "latest";
25
- changed = true;
26
- console.log(`[resolve-deps:fallback] ${section}.${name}: ${version} -> latest`);
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
- writeFileSync(packageJsonPath, `${JSON.stringify(pkg, null, 2)}\n`);
32
- }
75
+ if (changed) writeJson(pkgPath, pkg);
76
+ return changed;
33
77
  }
34
78
 
35
- async function run() {
36
- const scriptDir = dirname(fileURLToPath(import.meta.url));
37
- const workspaceRunner = resolve(scriptDir, "../../../scripts/resolve-deps-runner.mjs");
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
- console.log(`[resolve-deps] workspace helper not found at ${workspaceRunner}; using local fallback`);
46
- fallbackRewriteCurrentPackage(import.meta.url);
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
- await run();
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 scriptDir = dirname(fileURLToPath(import.meta.url));
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(packageName, packageDir) {
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
- ? resolve(appDir, spec.slice("file:".length))
107
- : resolveWorkspacePackageDir(packageName);
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.equal(config.backend?.type, "module_export");
35
- assert.equal(config.backend?.module, "./dist/iterm/target-panel-backend.js");
36
- assert.equal(config.backend?.exportName, "ITermTargetPanelBackend");
37
- assert.equal(config.backend?.options?.waitMs, 1000);
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.equal(config.mode, "prompt");
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.equal(config.enabled, true);
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
@@ -1,13 +0,0 @@
1
- apiVersion: botbotgo.world/v1
2
- kind: SkillConfig
3
- metadata:
4
- name: itermbot-skills
5
- spec:
6
- skills:
7
- local:
8
- source: local_path
9
- path: ../skills
10
- runtime:
11
- mode: prompt
12
- injectMetadata: true
13
- embeddingThreshold: 0.2
@@ -1,8 +0,0 @@
1
- apiVersion: botbotgo.world/v1
2
- kind: TaskManagerConfig
3
- metadata:
4
- name: itermbot-task-manager
5
- spec:
6
- enabled: true
7
- stateFile: .agent/tasks.json
8
- maxTasks: 200
@@ -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();