itermbot 1.0.7 → 1.0.9
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/.github/workflows/ci.yml +23 -5
- package/.github/workflows/release.yml +24 -3
- package/README.md +25 -73
- package/cleanup-unused.patch +2 -2
- package/config/app.yaml +1 -3
- package/config/memory.yaml +1 -2
- package/config/model.yaml +3 -4
- package/config/runtime.yaml +7 -0
- package/config/skill.yaml +1 -1
- package/config/tool.yaml +2 -2
- package/dist/chat/builtin-commands.d.ts.map +1 -1
- package/dist/chat/builtin-commands.js +1 -2
- package/dist/chat/builtin-commands.js.map +1 -1
- package/dist/chat/progress.d.ts +1 -1
- package/dist/chat/progress.d.ts.map +1 -1
- package/dist/chat/progress.js +1 -1
- package/dist/chat/progress.js.map +1 -1
- package/dist/chat/tool-result.js +1 -1
- package/dist/chat/tool-result.js.map +1 -1
- package/dist/config.d.ts +6 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +40 -35
- package/dist/config.js.map +1 -1
- package/dist/direct-command-progress.d.ts +9 -0
- package/dist/direct-command-progress.d.ts.map +1 -0
- package/dist/direct-command-progress.js +71 -0
- package/dist/direct-command-progress.js.map +1 -0
- package/dist/index.js +105 -195
- package/dist/index.js.map +1 -1
- package/dist/iterm/direct-command-router.js +1 -2
- package/dist/iterm/direct-command-router.js.map +1 -1
- package/dist/skills.d.ts +2 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +9 -0
- package/dist/skills.js.map +1 -0
- package/dist/startup/colors.d.ts +1 -1
- package/dist/startup/colors.d.ts.map +1 -1
- package/dist/startup/colors.js +98 -72
- package/dist/startup/colors.js.map +1 -1
- package/dist/startup/diagnostics.d.ts.map +1 -1
- package/dist/startup/diagnostics.js +1 -2
- package/dist/startup/diagnostics.js.map +1 -1
- package/dist/startup/os.js +1 -1
- package/dist/startup/os.js.map +1 -1
- package/dist/startup/ui.d.ts +1 -1
- package/dist/startup/ui.d.ts.map +1 -1
- package/dist/startup/ui.js +1 -1
- package/dist/startup/ui.js.map +1 -1
- package/package.json +14 -15
- package/scripts/build-internal-deps.mjs +94 -16
- package/scripts/resolve-deps.js +46 -2
- package/scripts/test-llm.mjs +2 -2
- package/skills/disk-usage-investigate/SKILL.md +8 -0
- package/skills/gpu-ssh-monitor/SKILL.md +5 -5
- package/src/chat/builtin-commands.ts +1 -2
- package/src/chat/progress.ts +1 -1
- package/src/chat/tool-result.ts +1 -1
- package/src/config.ts +62 -47
- package/src/direct-command-progress.ts +85 -0
- package/src/external-modules.d.ts +9 -0
- package/src/index.ts +118 -210
- package/src/iterm/direct-command-router.ts +2 -2
- package/src/skills.ts +9 -0
- package/src/startup/colors.ts +123 -89
- package/src/startup/diagnostics.ts +1 -2
- package/src/startup/os.ts +1 -1
- package/src/startup/ui.ts +1 -1
- package/test/{chat-flow.integration.test.mjs → integration/chat-flow.integration.test.mjs} +12 -12
- package/test/{live-iterm-llm.integration.test.mjs → integration/live-iterm-llm.integration.test.mjs} +10 -10
- package/test/{builtin-commands.test.mjs → unit/builtin-commands.test.mjs} +4 -4
- package/test/{config.test.mjs → unit/config.test.mjs} +10 -18
- package/test/{direct-command-fast-path.test.mjs → unit/direct-command-fast-path.test.mjs} +1 -1
- package/test/{direct-command-router.test.mjs → unit/direct-command-router.test.mjs} +18 -18
- package/test/{response-safety.test.mjs → unit/response-safety.test.mjs} +1 -1
- package/test/{session-hint.test.mjs → unit/session-hint.test.mjs} +1 -1
- package/test/{chat-progress.test.mjs → unit/startup/chat-progress.test.mjs} +1 -1
- package/test/{diagnostics.test.mjs → unit/startup/diagnostics.test.mjs} +1 -1
- package/test/{startup-colors.test.mjs → unit/startup/startup-colors.test.mjs} +1 -1
- package/test/{target-panel-policy.test.mjs → unit/target-panel-policy.test.mjs} +23 -23
- package/test/unit/tool-call-recovery-bootstrap.test.mjs +102 -0
- package/test/unit/tool-call-recovery-core.test.mjs +157 -0
- package/test/unit/tool-call-recovery-scope.test.mjs +172 -0
- package/config/skill-workflows.yaml +0 -42
- package/dist/runtime/deterministic-skill-executor.d.ts +0 -27
- package/dist/runtime/deterministic-skill-executor.d.ts.map +0 -1
- package/dist/runtime/deterministic-skill-executor.js +0 -180
- package/dist/runtime/deterministic-skill-executor.js.map +0 -1
- package/dist/runtime/text-tool-call-recovery.d.ts +0 -23
- package/dist/runtime/text-tool-call-recovery.d.ts.map +0 -1
- package/dist/runtime/text-tool-call-recovery.js +0 -613
- package/dist/runtime/text-tool-call-recovery.js.map +0 -1
- package/macos_disk_usage_agent_plan.md +0 -244
- package/scripts/internal-package-refs.mjs +0 -158
- package/scripts/patch-buildin-cache.sh +0 -22
- package/src/runtime/deterministic-skill-executor.ts +0 -270
- package/src/runtime/text-tool-call-recovery.ts +0 -706
- package/test/deterministic-skill-executor.test.mjs +0 -225
- package/test/tool-call-recovery.test.mjs +0 -788
package/.github/workflows/ci.yml
CHANGED
|
@@ -5,9 +5,6 @@ on:
|
|
|
5
5
|
branches: ['**']
|
|
6
6
|
pull_request:
|
|
7
7
|
branches: ['**']
|
|
8
|
-
repository_dispatch:
|
|
9
|
-
types:
|
|
10
|
-
- easynet-package-updated
|
|
11
8
|
|
|
12
9
|
concurrency:
|
|
13
10
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
@@ -33,9 +30,31 @@ jobs:
|
|
|
33
30
|
run: |
|
|
34
31
|
touch .npmrc
|
|
35
32
|
grep -q '^registry=https://registry.npmjs.org' .npmrc || echo "registry=https://registry.npmjs.org/" >> .npmrc
|
|
36
|
-
grep -q '@
|
|
33
|
+
grep -q '@botbotgo:registry=' .npmrc || echo "@botbotgo:registry=https://registry.npmjs.org/" >> .npmrc
|
|
37
34
|
grep -q '@wallee:registry=' .npmrc || echo "@wallee:registry=https://registry.npmjs.org/" >> .npmrc
|
|
38
35
|
|
|
36
|
+
- name: Checkout workspace deps
|
|
37
|
+
env:
|
|
38
|
+
WORKSPACE_READ_TOKEN: ${{ secrets.AGENT_SKILL_READ_TOKEN || secrets.DOWNSTREAM_TRIGGER_TOKEN || secrets.GITHUB_TOKEN }}
|
|
39
|
+
run: |
|
|
40
|
+
set -euo pipefail
|
|
41
|
+
clone_repo() {
|
|
42
|
+
local repo="$1"
|
|
43
|
+
local dest="$2"
|
|
44
|
+
if git clone --depth 1 --branch master "https://x-access-token:${WORKSPACE_READ_TOKEN}@github.com/${repo}.git" "${dest}"; then
|
|
45
|
+
return 0
|
|
46
|
+
fi
|
|
47
|
+
git clone --depth 1 --branch main "https://x-access-token:${WORKSPACE_READ_TOKEN}@github.com/${repo}.git" "${dest}"
|
|
48
|
+
}
|
|
49
|
+
mkdir -p ../../framework
|
|
50
|
+
rm -rf ../../framework/common ../../framework/memory ../../framework/model ../../framework/runtime ../../framework/kit ../../framework/kit-builtin
|
|
51
|
+
clone_repo "botbotgo/common" ../../framework/common
|
|
52
|
+
clone_repo "botbotgo/memory" ../../framework/memory
|
|
53
|
+
clone_repo "botbotgo/model" ../../framework/model
|
|
54
|
+
clone_repo "botbotgo/runtime" ../../framework/runtime
|
|
55
|
+
clone_repo "botbotgo/kit" ../../framework/kit
|
|
56
|
+
clone_repo "botbotgo/kit-builtin" ../../framework/kit-builtin
|
|
57
|
+
|
|
39
58
|
- name: Rewrite file deps to npm/git refs for CI
|
|
40
59
|
env:
|
|
41
60
|
AGENT_SKILL_READ_TOKEN: ${{ secrets.AGENT_SKILL_READ_TOKEN }}
|
|
@@ -47,7 +66,6 @@ jobs:
|
|
|
47
66
|
NPM_CONFIG_REGISTRY: "https://registry.npmjs.org/"
|
|
48
67
|
run: |
|
|
49
68
|
rm -rf node_modules
|
|
50
|
-
rm -f package-lock.json
|
|
51
69
|
unset NPM_CONFIG_USERCONFIG NODE_AUTH_TOKEN
|
|
52
70
|
for i in 1 2 3; do
|
|
53
71
|
if npm install --legacy-peer-deps --ignore-scripts; then exit 0; fi
|
|
@@ -7,7 +7,7 @@ on:
|
|
|
7
7
|
workflow_dispatch:
|
|
8
8
|
repository_dispatch:
|
|
9
9
|
types:
|
|
10
|
-
-
|
|
10
|
+
- botbotgo-package-updated
|
|
11
11
|
|
|
12
12
|
concurrency:
|
|
13
13
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
@@ -39,9 +39,31 @@ jobs:
|
|
|
39
39
|
run: |
|
|
40
40
|
touch .npmrc
|
|
41
41
|
grep -q '^registry=https://registry.npmjs.org' .npmrc || echo "registry=https://registry.npmjs.org/" >> .npmrc
|
|
42
|
-
grep -q '@
|
|
42
|
+
grep -q '@botbotgo:registry=' .npmrc || echo "@botbotgo:registry=https://registry.npmjs.org/" >> .npmrc
|
|
43
43
|
grep -q '@wallee:registry=' .npmrc || echo "@wallee:registry=https://registry.npmjs.org/" >> .npmrc
|
|
44
44
|
|
|
45
|
+
- name: Checkout workspace deps
|
|
46
|
+
env:
|
|
47
|
+
WORKSPACE_READ_TOKEN: ${{ secrets.AGENT_SKILL_READ_TOKEN || secrets.DOWNSTREAM_TRIGGER_TOKEN || secrets.GITHUB_TOKEN }}
|
|
48
|
+
run: |
|
|
49
|
+
set -euo pipefail
|
|
50
|
+
clone_repo() {
|
|
51
|
+
local repo="$1"
|
|
52
|
+
local dest="$2"
|
|
53
|
+
if git clone --depth 1 --branch master "https://x-access-token:${WORKSPACE_READ_TOKEN}@github.com/${repo}.git" "${dest}"; then
|
|
54
|
+
return 0
|
|
55
|
+
fi
|
|
56
|
+
git clone --depth 1 --branch main "https://x-access-token:${WORKSPACE_READ_TOKEN}@github.com/${repo}.git" "${dest}"
|
|
57
|
+
}
|
|
58
|
+
mkdir -p ../../framework
|
|
59
|
+
rm -rf ../../framework/common ../../framework/memory ../../framework/model ../../framework/runtime ../../framework/kit ../../framework/kit-builtin
|
|
60
|
+
clone_repo "botbotgo/common" ../../framework/common
|
|
61
|
+
clone_repo "botbotgo/memory" ../../framework/memory
|
|
62
|
+
clone_repo "botbotgo/model" ../../framework/model
|
|
63
|
+
clone_repo "botbotgo/runtime" ../../framework/runtime
|
|
64
|
+
clone_repo "botbotgo/kit" ../../framework/kit
|
|
65
|
+
clone_repo "botbotgo/kit-builtin" ../../framework/kit-builtin
|
|
66
|
+
|
|
45
67
|
- name: Rewrite file deps to npm/git refs for CI
|
|
46
68
|
env:
|
|
47
69
|
AGENT_SKILL_READ_TOKEN: ${{ secrets.AGENT_SKILL_READ_TOKEN }}
|
|
@@ -53,7 +75,6 @@ jobs:
|
|
|
53
75
|
NPM_CONFIG_REGISTRY: "https://registry.npmjs.org/"
|
|
54
76
|
run: |
|
|
55
77
|
rm -rf node_modules
|
|
56
|
-
rm -f package-lock.json
|
|
57
78
|
unset NPM_CONFIG_USERCONFIG NODE_AUTH_TOKEN
|
|
58
79
|
for i in 1 2 3; do
|
|
59
80
|
if npm install --legacy-peer-deps --ignore-scripts; then exit 0; fi
|
package/README.md
CHANGED
|
@@ -1,90 +1,42 @@
|
|
|
1
1
|
# iTermBot
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Introduction
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
2. **Deep agent** — DeepAgents `createDeepAgent` with a persistent store backed by agent-memory.
|
|
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.
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
## Exposed Interfaces
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
- **@easynet/agent-model** — LLM and embedding models (falls back to module default config).
|
|
12
|
-
- **@easynet/agent-memory** — Agent memory (recall/inject for ReAct; store adapter for Deep).
|
|
13
|
-
- **@easynet/agent-tool** + **@easynet/agent-tool-buildin** — Tools (FS, HTTP, util, exec, git, analyze, iTerm, etc.).
|
|
9
|
+
This repo is an app, not a reusable library. Its public interface is the executable entry:
|
|
14
10
|
|
|
15
|
-
|
|
11
|
+
| Interface | Type | Purpose |
|
|
12
|
+
| --- | --- | --- |
|
|
13
|
+
| `itermbot` | CLI | Start the app from `dist/index.js`. |
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
- Ollama (or another OpenAI-compatible endpoint) for the LLM. Default config uses `http://localhost:11434/v1` and `qwen3:0.6b`.
|
|
15
|
+
## Configuration
|
|
19
16
|
|
|
20
|
-
|
|
17
|
+
Main config files:
|
|
21
18
|
|
|
22
|
-
|
|
19
|
+
- `config/app.yaml`
|
|
20
|
+
- `config/runtime.yaml`
|
|
21
|
+
- `config/model.yaml`
|
|
22
|
+
- `config/tool.yaml`
|
|
23
|
+
- `config/memory.yaml`
|
|
24
|
+
|
|
25
|
+
`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.
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
23
28
|
|
|
24
29
|
```bash
|
|
25
30
|
cd apps/itermbot
|
|
26
31
|
npm install
|
|
27
32
|
npm run build
|
|
33
|
+
npm start
|
|
28
34
|
```
|
|
29
35
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
## Config
|
|
33
|
-
|
|
34
|
-
| File | Purpose |
|
|
35
|
-
|------|--------|
|
|
36
|
-
| `config/app.yaml` | App-level settings (`agent`, `printSteps`, prompt templates). |
|
|
37
|
-
|
|
38
|
-
Agent profile defaults (model/memory/tool/skills) are resolved by `@easynet/agent-runtime`.
|
|
39
|
-
Top-level app config only overrides runtime defaults.
|
|
40
|
-
|
|
41
|
-
`apps/itermbot/config/tool.yaml` now loads the full built-in tool package and applies local policy overrides for higher-risk tools such as `itermRunCommandInSession`.
|
|
42
|
-
This gives iTermBot direct access to local repository analysis and review primitives including `fs.*`, `git.*`, `analyze.*`, `http.*`, and iTerm tools.
|
|
43
|
-
|
|
44
|
-
`apps/itermbot/skills/source-code-review` adds a dedicated workflow for:
|
|
45
|
-
|
|
46
|
-
- source code analysis
|
|
47
|
-
- repository understanding
|
|
48
|
-
- PR / diff review
|
|
49
|
-
- bug and regression finding
|
|
50
|
-
|
|
51
|
-
## Usage
|
|
52
|
-
|
|
53
|
-
- **Interactive (ReAct agent):**
|
|
54
|
-
```bash
|
|
55
|
-
npm start
|
|
56
|
-
# or
|
|
57
|
-
npm run react
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
- **Interactive (Deep agent):**
|
|
61
|
-
```bash
|
|
62
|
-
npm run deep
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
- **One-shot query:**
|
|
66
|
-
```bash
|
|
67
|
-
node dist/index.js react "What time is it?"
|
|
68
|
-
node dist/index.js deep "Remember I prefer short answers."
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Scripts
|
|
36
|
+
Other entry modes:
|
|
72
37
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
| `npm run deep` | Interactive with Deep agent. |
|
|
79
|
-
| `npm run typecheck` | Type-check only. |
|
|
80
|
-
| `npm run test:llm` | Test LLM config (scripts/test-llm.mjs). |
|
|
81
|
-
|
|
82
|
-
## Architecture
|
|
83
|
-
|
|
84
|
-
- **src/index.ts** — CLI startup and orchestration.
|
|
85
|
-
- **src/context.ts** — Shared `BotContext` builders (LLM/memory/tools/skills).
|
|
86
|
-
- **src/config.ts** — App-level override adapter on top of runtime config.
|
|
87
|
-
- **src/startup/** — startup UI, diagnostics, and panel color bootstrapping.
|
|
88
|
-
- **src/iterm/** — iTerm session routing and target session prompt injection.
|
|
89
|
-
|
|
90
|
-
Both agents use the same LLM, memory backend, and tool set; only the orchestration (ReAct vs Deep) differs.
|
|
38
|
+
```bash
|
|
39
|
+
npm run react
|
|
40
|
+
npm run deep
|
|
41
|
+
npm run test:llm
|
|
42
|
+
```
|
package/cleanup-unused.patch
CHANGED
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
*** Begin Patch
|
|
71
71
|
*** Update File: src/startup/diagnostics.ts
|
|
72
72
|
@@
|
|
73
|
-
-import { loadYamlFile, AgentContextTokens } from "@
|
|
74
|
-
+import { AgentContextTokens } from "@
|
|
73
|
+
-import { loadYamlFile, AgentContextTokens } from "@botbotgo/common";
|
|
74
|
+
+import { AgentContextTokens } from "@botbotgo/common";
|
|
75
75
|
@@
|
|
76
76
|
type AgentRuntimeLike = {
|
|
77
77
|
context: {
|
package/config/app.yaml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
apiVersion:
|
|
1
|
+
apiVersion: botbotgo.world/v1
|
|
2
2
|
kind: AppConfig
|
|
3
3
|
metadata:
|
|
4
4
|
name: itermbot
|
|
@@ -6,8 +6,6 @@ spec:
|
|
|
6
6
|
agent: deep
|
|
7
7
|
|
|
8
8
|
printSteps: true
|
|
9
|
-
maxSteps: 100
|
|
10
|
-
invokeTimeoutMs: 240000
|
|
11
9
|
responseSafetyMode: balanced
|
|
12
10
|
|
|
13
11
|
promptTemplates:
|
package/config/memory.yaml
CHANGED
package/config/model.yaml
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
apiVersion:
|
|
1
|
+
apiVersion: botbotgo.world/v1
|
|
2
2
|
kind: ModelConfig
|
|
3
3
|
metadata:
|
|
4
4
|
name: itermbot-models
|
|
5
5
|
spec:
|
|
6
6
|
llm:
|
|
7
|
-
default:
|
|
7
|
+
default: small
|
|
8
8
|
small:
|
|
9
9
|
provider: openai
|
|
10
10
|
base_url: http://localhost:11434/v1
|
|
11
11
|
model: qwen3:0.6b
|
|
12
12
|
lfm2:
|
|
13
13
|
provider: openai
|
|
14
|
-
base_url: https://ollama-rtx-4070.
|
|
14
|
+
base_url: https://ollama-rtx-4070.botbotgo.world/v1
|
|
15
15
|
model: lfm2:latest
|
|
16
16
|
|
|
17
17
|
embed:
|
|
@@ -30,4 +30,3 @@ spec:
|
|
|
30
30
|
base_url: http://localhost:11434/v1
|
|
31
31
|
model: glm-ocr:q8_0
|
|
32
32
|
apiKey: not-needed
|
|
33
|
-
|
package/config/skill.yaml
CHANGED
package/config/tool.yaml
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
apiVersion:
|
|
1
|
+
apiVersion: botbotgo.world/v1
|
|
2
2
|
kind: ToolConfig
|
|
3
3
|
metadata:
|
|
4
4
|
name: itermbot-local-tool-config
|
|
5
5
|
spec:
|
|
6
6
|
tools:
|
|
7
|
-
file:../../../
|
|
7
|
+
file:../../../framework/kit-builtin:
|
|
8
8
|
itermRunCommandInSession:
|
|
9
9
|
allowedCommandPrefixes:
|
|
10
10
|
- cat
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-commands.d.ts","sourceRoot":"","sources":["../../src/chat/builtin-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builtin-commands.d.ts","sourceRoot":"","sources":["../../src/chat/builtin-commands.ts"],"names":[],"mappings":"AAEA,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE;QACP,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC;KAC3B,CAAC;CACH,CAAC;AAyDF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAK9F"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AgentContextTokens } from "@
|
|
2
|
-
import { normalizeToolList, shortToolName } from "@easynet/agent-common/utils";
|
|
1
|
+
import { AgentContextTokens, normalizeToolList, shortToolName } from "@botbotgo/common";
|
|
3
2
|
function isToolLike(tool) {
|
|
4
3
|
return Boolean(tool
|
|
5
4
|
&& typeof tool === "object"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-commands.js","sourceRoot":"","sources":["../../src/chat/builtin-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"builtin-commands.js","sourceRoot":"","sources":["../../src/chat/builtin-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAsBxF,SAAS,UAAU,CAAC,IAAa;IAC/B,OAAO,OAAO,CACZ,IAAI;WACD,OAAO,IAAI,KAAK,QAAQ;WACxB,OAAQ,IAA2B,CAAC,IAAI,KAAK,QAAQ,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAI,OAAoB,EAAE,KAAc;IACtD,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAI,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAAoB;IACvC,MAAM,GAAG,GAAG,OAAO,CAAU,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,iBAAiB,CAAW,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,0BAA0B,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,oBAAoB,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;YAC9E,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,OAAoB;IACxC,MAAM,QAAQ,GAAG,OAAO,CAA2B,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAC5D,MAAM,KAAK,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACvD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;YACrF,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa,EAAE,OAAoB;IAC7E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnE,IAAI,UAAU,KAAK,YAAY;QAAE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,UAAU,KAAK,aAAa;QAAE,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/chat/progress.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type AgentEventListener } from "@
|
|
1
|
+
import { type AgentEventListener } from "@botbotgo/common";
|
|
2
2
|
export declare function createChatProgressEventListener(writer?: (line: string) => void): AgentEventListener;
|
|
3
3
|
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/chat/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/chat/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAgB7F,wBAAgB,+BAA+B,CAC7C,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAkB,GAC3C,kBAAkB,CAOpB"}
|
package/dist/chat/progress.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createProgressAgentEventListener } from "@
|
|
1
|
+
import { createProgressAgentEventListener } from "@botbotgo/common";
|
|
2
2
|
import { renderStepLine } from "./step-display.js";
|
|
3
3
|
function reasonForAction(action) {
|
|
4
4
|
if (action.startsWith("run command:")) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/chat/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAA2B,MAAM,
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/chat/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAA2B,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,OAAO,2EAA2E,CAAC;IACrF,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxC,OAAO,wFAAwF,CAAC;IAClG,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjG,OAAO,kEAAkE,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,SAAiC,OAAO,CAAC,GAAG;IAE5C,OAAO,gCAAgC,CAAC;QACtC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtD,aAAa,EAAE,UAAU;QACzB,YAAY,EAAE,eAAe;QAC7B,eAAe;KAChB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/chat/tool-result.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-result.js","sourceRoot":"","sources":["../../src/chat/tool-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-result.js","sourceRoot":"","sources":["../../src/chat/tool-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,OAAO,MAAM,EAAE,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAC7D,IAAI,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -7,15 +7,18 @@ export type AgentMode = "react" | "deep";
|
|
|
7
7
|
export type AppConfig = {
|
|
8
8
|
agent?: AgentMode;
|
|
9
9
|
printSteps?: boolean;
|
|
10
|
-
maxSteps?: number;
|
|
11
|
-
invokeTimeoutMs?: number;
|
|
12
10
|
promptTemplates?: PromptTemplates;
|
|
13
11
|
responseSafetyMode?: ResponseSafetyMode;
|
|
14
12
|
};
|
|
13
|
+
export type RuntimeConfig = {
|
|
14
|
+
maxSteps?: number;
|
|
15
|
+
invokeTimeoutMs?: number;
|
|
16
|
+
};
|
|
15
17
|
export type SkillRuntimeConfig = {
|
|
16
18
|
mode?: "prompt" | "subagent";
|
|
17
19
|
injectMetadata?: boolean;
|
|
18
20
|
embeddingThreshold?: number;
|
|
21
|
+
workflows?: SkillWorkflowConfig["workflows"];
|
|
19
22
|
};
|
|
20
23
|
export type SkillWorkflowConfig = {
|
|
21
24
|
workflows?: Record<string, {
|
|
@@ -25,6 +28,6 @@ export type SkillWorkflowConfig = {
|
|
|
25
28
|
}>;
|
|
26
29
|
};
|
|
27
30
|
export declare function loadAppConfig(configPath: string): Promise<AppConfig>;
|
|
31
|
+
export declare function loadRuntimeConfig(configPath: string): Promise<RuntimeConfig>;
|
|
28
32
|
export declare function loadSkillRuntimeConfig(configPath: string): Promise<SkillRuntimeConfig>;
|
|
29
|
-
export declare function loadSkillWorkflowConfig(configPath: string): Promise<SkillWorkflowConfig>;
|
|
30
33
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC/D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC/D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAqC1E;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA6BlF;AAED,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2D5F"}
|
package/dist/config.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { resolveKindResourceFile, asObject } from "@
|
|
1
|
+
import { resolveKindResourceFile, asObject } from "@botbotgo/common/config";
|
|
2
2
|
export async function loadAppConfig(configPath) {
|
|
3
3
|
try {
|
|
4
4
|
const resource = await resolveKindResourceFile(configPath, {
|
|
5
5
|
baseDir: process.cwd(),
|
|
6
|
-
expectedApiVersion: "
|
|
6
|
+
expectedApiVersion: "botbotgo.world/v1",
|
|
7
7
|
expectedKind: "AppConfig",
|
|
8
8
|
});
|
|
9
9
|
const spec = asObject(resource.spec);
|
|
@@ -16,6 +16,25 @@ export async function loadAppConfig(configPath) {
|
|
|
16
16
|
? modeRaw
|
|
17
17
|
: undefined;
|
|
18
18
|
const printSteps = typeof spec?.printSteps === "boolean" ? spec.printSteps : undefined;
|
|
19
|
+
return {
|
|
20
|
+
agent,
|
|
21
|
+
printSteps,
|
|
22
|
+
promptTemplates: spec?.promptTemplates,
|
|
23
|
+
responseSafetyMode,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return {};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export async function loadRuntimeConfig(configPath) {
|
|
31
|
+
try {
|
|
32
|
+
const resource = await resolveKindResourceFile(configPath, {
|
|
33
|
+
baseDir: process.cwd(),
|
|
34
|
+
expectedApiVersion: "botbotgo.world/v1",
|
|
35
|
+
expectedKind: "AgentConfig",
|
|
36
|
+
});
|
|
37
|
+
const spec = asObject(resource.spec);
|
|
19
38
|
const maxSteps = typeof spec?.maxSteps === "number" && Number.isFinite(spec.maxSteps)
|
|
20
39
|
? Math.max(1, Math.floor(spec.maxSteps))
|
|
21
40
|
: undefined;
|
|
@@ -23,12 +42,8 @@ export async function loadAppConfig(configPath) {
|
|
|
23
42
|
? Math.max(5000, Math.floor(spec.invokeTimeoutMs))
|
|
24
43
|
: undefined;
|
|
25
44
|
return {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
maxSteps,
|
|
29
|
-
invokeTimeoutMs,
|
|
30
|
-
promptTemplates: spec?.promptTemplates,
|
|
31
|
-
responseSafetyMode,
|
|
45
|
+
...(maxSteps != null ? { maxSteps } : {}),
|
|
46
|
+
...(invokeTimeoutMs != null ? { invokeTimeoutMs } : {}),
|
|
32
47
|
};
|
|
33
48
|
}
|
|
34
49
|
catch {
|
|
@@ -39,7 +54,7 @@ export async function loadSkillRuntimeConfig(configPath) {
|
|
|
39
54
|
try {
|
|
40
55
|
const resource = await resolveKindResourceFile(configPath, {
|
|
41
56
|
baseDir: process.cwd(),
|
|
42
|
-
expectedApiVersion: "
|
|
57
|
+
expectedApiVersion: "botbotgo.world/v1",
|
|
43
58
|
expectedKind: "SkillConfig",
|
|
44
59
|
});
|
|
45
60
|
const spec = asObject(resource.spec);
|
|
@@ -51,40 +66,30 @@ export async function loadSkillRuntimeConfig(configPath) {
|
|
|
51
66
|
const embeddingThreshold = typeof spec?.embedding_threshold === "number" && Number.isFinite(spec.embedding_threshold)
|
|
52
67
|
? spec.embedding_threshold
|
|
53
68
|
: undefined;
|
|
69
|
+
const workflows = asObject(spec?.workflows);
|
|
70
|
+
const normalizedWorkflows = workflows
|
|
71
|
+
? Object.fromEntries(Object.entries(workflows).map(([name, workflow]) => {
|
|
72
|
+
const commands = Array.isArray(workflow.commands)
|
|
73
|
+
? workflow.commands.map((item) => String(item).trim()).filter(Boolean)
|
|
74
|
+
: undefined;
|
|
75
|
+
const summaryPrompt = typeof workflow.summaryPrompt === "string" && workflow.summaryPrompt.trim()
|
|
76
|
+
? workflow.summaryPrompt.trim()
|
|
77
|
+
: undefined;
|
|
78
|
+
const executor = typeof workflow.executor === "string" && workflow.executor.trim()
|
|
79
|
+
? workflow.executor.trim()
|
|
80
|
+
: undefined;
|
|
81
|
+
return [name, { executor, commands, summaryPrompt }];
|
|
82
|
+
}))
|
|
83
|
+
: undefined;
|
|
54
84
|
return {
|
|
55
85
|
...(mode ? { mode } : {}),
|
|
56
86
|
...(injectMetadata != null ? { injectMetadata } : {}),
|
|
57
87
|
...(embeddingThreshold != null ? { embeddingThreshold } : {}),
|
|
88
|
+
...(normalizedWorkflows ? { workflows: normalizedWorkflows } : {}),
|
|
58
89
|
};
|
|
59
90
|
}
|
|
60
91
|
catch {
|
|
61
92
|
return {};
|
|
62
93
|
}
|
|
63
94
|
}
|
|
64
|
-
export async function loadSkillWorkflowConfig(configPath) {
|
|
65
|
-
try {
|
|
66
|
-
const resource = await resolveKindResourceFile(configPath, {
|
|
67
|
-
baseDir: process.cwd(),
|
|
68
|
-
expectedApiVersion: "easynet.world/v1",
|
|
69
|
-
expectedKind: "SkillWorkflowConfig",
|
|
70
|
-
});
|
|
71
|
-
const spec = asObject(resource.spec);
|
|
72
|
-
const workflowsRoot = asObject(spec?.workflows);
|
|
73
|
-
const workflows = Object.fromEntries(Object.entries(workflowsRoot ?? {}).map(([skillName, raw]) => {
|
|
74
|
-
const obj = asObject(raw);
|
|
75
|
-
const commands = Array.isArray(obj?.commands)
|
|
76
|
-
? obj.commands.map((item) => String(item).trim()).filter(Boolean)
|
|
77
|
-
: undefined;
|
|
78
|
-
return [skillName, {
|
|
79
|
-
executor: typeof obj?.executor === "string" ? obj.executor.trim() : undefined,
|
|
80
|
-
...(commands ? { commands } : {}),
|
|
81
|
-
summaryPrompt: typeof obj?.summaryPrompt === "string" ? obj.summaryPrompt.trim() : undefined,
|
|
82
|
-
}];
|
|
83
|
-
}));
|
|
84
|
-
return { workflows };
|
|
85
|
-
}
|
|
86
|
-
catch {
|
|
87
|
-
return {};
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
95
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { applyStartupPanelColors } from "./startup/colors.js";
|
|
2
|
+
import { tryHandleDirectTargetPanelCommand } from "./iterm/direct-command-router.js";
|
|
3
|
+
type AgentRuntime = Parameters<typeof tryHandleDirectTargetPanelCommand>[1];
|
|
4
|
+
export declare function tryHandleDirectCommandWithProgress(input: string, runtime: AgentRuntime, options: {
|
|
5
|
+
startup: Awaited<ReturnType<typeof applyStartupPanelColors>>;
|
|
6
|
+
printSteps: boolean;
|
|
7
|
+
}): Promise<string | null>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=direct-command-progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-command-progress.d.ts","sourceRoot":"","sources":["../src/direct-command-progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAkC,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AAGrH,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,iCAAiC,CAAC,CAAC,CAAC,CAAC,CAAC;AAM5E,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE;IACP,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;IAC7D,UAAU,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkExB"}
|