bobo-ai-cli 2.1.0 → 3.0.1
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 +52 -9
- package/bundled-skills/CORE_SKILLS.txt +18 -0
- package/dist/agent.js +91 -51
- package/dist/agent.js.map +1 -1
- package/dist/agents/catalog.d.ts +40 -0
- package/dist/agents/catalog.js +172 -0
- package/dist/agents/catalog.js.map +1 -0
- package/dist/agents/index.d.ts +6 -0
- package/dist/agents/index.js +4 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/router.d.ts +43 -0
- package/dist/agents/router.js +87 -0
- package/dist/agents/router.js.map +1 -0
- package/dist/agents/spawn.d.ts +46 -0
- package/dist/agents/spawn.js +91 -0
- package/dist/agents/spawn.js.map +1 -0
- package/dist/autonomous.js +41 -1
- package/dist/autonomous.js.map +1 -1
- package/dist/cli.d.ts +8 -0
- package/dist/cli.js +669 -0
- package/dist/cli.js.map +1 -0
- package/dist/compactor.d.ts +49 -4
- package/dist/compactor.js +164 -17
- package/dist/compactor.js.map +1 -1
- package/dist/completer.js +2 -0
- package/dist/completer.js.map +1 -1
- package/dist/config.js +3 -2
- package/dist/config.js.map +1 -1
- package/dist/cost-tracker.js +36 -2
- package/dist/cost-tracker.js.map +1 -1
- package/dist/dream.d.ts +42 -0
- package/dist/dream.js +324 -0
- package/dist/dream.js.map +1 -0
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.js +7 -2
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +10 -1136
- package/dist/index.js.map +1 -1
- package/dist/insight.js +4 -11
- package/dist/insight.js.map +1 -1
- package/dist/knowledge.d.ts +13 -0
- package/dist/knowledge.js +16 -4
- package/dist/knowledge.js.map +1 -1
- package/dist/mcp-client.js +59 -41
- package/dist/mcp-client.js.map +1 -1
- package/dist/memory.d.ts +4 -0
- package/dist/memory.js +30 -18
- package/dist/memory.js.map +1 -1
- package/dist/project.js +2 -1
- package/dist/project.js.map +1 -1
- package/dist/providers.js +1 -1
- package/dist/providers.js.map +1 -1
- package/dist/repl.d.ts +16 -0
- package/dist/repl.js +704 -0
- package/dist/repl.js.map +1 -0
- package/dist/sessions.js +59 -3
- package/dist/sessions.js.map +1 -1
- package/dist/skill-router.js +2 -2
- package/dist/skill-router.js.map +1 -1
- package/dist/skills/composer.d.ts +18 -0
- package/dist/skills/composer.js +59 -0
- package/dist/skills/composer.js.map +1 -0
- package/dist/skills/index.d.ts +3 -0
- package/dist/skills/index.js +3 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +12 -0
- package/dist/skills/loader.js +150 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/types.d.ts +28 -0
- package/dist/skills/types.js +9 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/skills.d.ts +1 -0
- package/dist/skills.js +10 -8
- package/dist/skills.js.map +1 -1
- package/dist/state/artifacts.d.ts +71 -0
- package/dist/state/artifacts.js +133 -0
- package/dist/state/artifacts.js.map +1 -0
- package/dist/state/index.d.ts +9 -0
- package/dist/state/index.js +7 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/manager.d.ts +89 -0
- package/dist/state/manager.js +132 -0
- package/dist/state/manager.js.map +1 -0
- package/dist/state/project-memory.d.ts +24 -0
- package/dist/state/project-memory.js +83 -0
- package/dist/state/project-memory.js.map +1 -0
- package/dist/state/recovery.d.ts +24 -0
- package/dist/state/recovery.js +95 -0
- package/dist/state/recovery.js.map +1 -0
- package/dist/statusbar.d.ts +1 -0
- package/dist/statusbar.js +12 -1
- package/dist/statusbar.js.map +1 -1
- package/dist/structured/loader.js +4 -2
- package/dist/structured/loader.js.map +1 -1
- package/dist/sub-agent-runner.d.ts +1 -0
- package/dist/sub-agent-runner.js +32 -5
- package/dist/sub-agent-runner.js.map +1 -1
- package/dist/sub-agents.d.ts +19 -1
- package/dist/sub-agents.js +142 -5
- package/dist/sub-agents.js.map +1 -1
- package/dist/tool-governance.d.ts +77 -0
- package/dist/tool-governance.js +366 -0
- package/dist/tool-governance.js.map +1 -0
- package/dist/tools/advanced.js +3 -2
- package/dist/tools/advanced.js.map +1 -1
- package/dist/tools/browser.js +2 -2
- package/dist/tools/browser.js.map +1 -1
- package/dist/tools/claude-code.js +2 -2
- package/dist/tools/claude-code.js.map +1 -1
- package/dist/tools/index.js +36 -12
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/process-manager.js +2 -2
- package/dist/tools/process-manager.js.map +1 -1
- package/dist/ui/hud.d.ts +25 -0
- package/dist/ui/hud.js +67 -0
- package/dist/ui/hud.js.map +1 -0
- package/dist/verification-agent.d.ts +46 -0
- package/dist/verification-agent.js +533 -0
- package/dist/verification-agent.js.map +1 -0
- package/dist/watcher.js +2 -2
- package/dist/watcher.js.map +1 -1
- package/dist/web.js +1 -1
- package/dist/web.js.map +1 -1
- package/dist/workflows/ask.d.ts +13 -0
- package/dist/workflows/ask.js +66 -0
- package/dist/workflows/ask.js.map +1 -0
- package/dist/workflows/index.d.ts +5 -0
- package/dist/workflows/index.js +6 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/interview.d.ts +11 -0
- package/dist/workflows/interview.js +36 -0
- package/dist/workflows/interview.js.map +1 -0
- package/dist/workflows/plan.d.ts +13 -0
- package/dist/workflows/plan.js +34 -0
- package/dist/workflows/plan.js.map +1 -0
- package/dist/workflows/team.d.ts +17 -0
- package/dist/workflows/team.js +86 -0
- package/dist/workflows/team.js.map +1 -0
- package/dist/workflows/verify.d.ts +11 -0
- package/dist/workflows/verify.js +21 -0
- package/dist/workflows/verify.js.map +1 -0
- package/package.json +18 -5
- package/bundled-skills/Skill_Seekers/SKILL.md +0 -1722
- package/bundled-skills/ab-test-setup/SKILL.md +0 -557
- package/bundled-skills/adversarial-verification/SKILL.md +0 -95
- package/bundled-skills/agent-sdk-dev/SKILL.md +0 -238
- package/bundled-skills/agent-tools/SKILL.md +0 -136
- package/bundled-skills/analytics-tracking/SKILL.md +0 -597
- package/bundled-skills/artifacts-builder/SKILL.md +0 -89
- package/bundled-skills/asana/SKILL.md +0 -13
- package/bundled-skills/brand-voice/SKILL.md +0 -481
- package/bundled-skills/browser-use/SKILL.md +0 -419
- package/bundled-skills/cache-optimization-skill/SKILL.md +0 -179
- package/bundled-skills/canvas-design/SKILL.md +0 -147
- package/bundled-skills/citation-validator/SKILL.md +0 -203
- package/bundled-skills/clangd-lsp/SKILL.md +0 -52
- package/bundled-skills/code-simplifier/SKILL.md +0 -13
- package/bundled-skills/commit-commands/SKILL.md +0 -258
- package/bundled-skills/competitor-alternatives/SKILL.md +0 -795
- package/bundled-skills/content-atomizer/SKILL.md +0 -910
- package/bundled-skills/content-research-writer/SKILL.md +0 -605
- package/bundled-skills/context7/SKILL.md +0 -13
- package/bundled-skills/copy-editing/SKILL.md +0 -494
- package/bundled-skills/copywriting/SKILL.md +0 -510
- package/bundled-skills/csharp-lsp/SKILL.md +0 -40
- package/bundled-skills/decision-making-framework/SKILL.md +0 -154
- package/bundled-skills/deep-research/SKILL.md +0 -236
- package/bundled-skills/developer-growth-analysis/SKILL.md +0 -335
- package/bundled-skills/direct-response-copy/SKILL.md +0 -2336
- package/bundled-skills/docker-expert/SKILL.md +0 -229
- package/bundled-skills/document-skills/SKILL.md +0 -13
- package/bundled-skills/documentation-expert/SKILL.md +0 -126
- package/bundled-skills/email-sequence/SKILL.md +0 -1061
- package/bundled-skills/email-sequences/SKILL.md +0 -910
- package/bundled-skills/example-plugin/SKILL.md +0 -72
- package/bundled-skills/explanatory-output-style/SKILL.md +0 -82
- package/bundled-skills/feature-dev/SKILL.md +0 -458
- package/bundled-skills/file-organizer/SKILL.md +0 -466
- package/bundled-skills/firebase.disabled/SKILL.md +0 -13
- package/bundled-skills/form-cro/SKILL.md +0 -488
- package/bundled-skills/free-tool-strategy/SKILL.md +0 -636
- package/bundled-skills/frontend-design/SKILL.md +0 -41
- package/bundled-skills/frontend-design-offical/SKILL.md +0 -55
- package/bundled-skills/gitlab/SKILL.md +0 -13
- package/bundled-skills/gopls-lsp/SKILL.md +0 -32
- package/bundled-skills/got-controller/SKILL.md +0 -218
- package/bundled-skills/greptile/SKILL.md +0 -72
- package/bundled-skills/hookify/SKILL.md +0 -376
- package/bundled-skills/image-editor/SKILL.md +0 -189
- package/bundled-skills/image-enhancer/SKILL.md +0 -109
- package/bundled-skills/jdtls-lsp/SKILL.md +0 -49
- package/bundled-skills/json-canvas/SKILL.md +0 -654
- package/bundled-skills/keyword-research/SKILL.md +0 -559
- package/bundled-skills/kotlin-lsp/SKILL.md +0 -28
- package/bundled-skills/laravel-boost/SKILL.md +0 -13
- package/bundled-skills/launch-strategy/SKILL.md +0 -394
- package/bundled-skills/lead-magnet/SKILL.md +0 -393
- package/bundled-skills/learning-output-style/SKILL.md +0 -106
- package/bundled-skills/linear/SKILL.md +0 -13
- package/bundled-skills/lua-lsp/SKILL.md +0 -47
- package/bundled-skills/marketing-ideas/SKILL.md +0 -720
- package/bundled-skills/marketing-psychology/SKILL.md +0 -534
- package/bundled-skills/mcp-builder/SKILL.md +0 -369
- package/bundled-skills/meeting-insights-analyzer/SKILL.md +0 -347
- package/bundled-skills/memory-evolution-system/SKILL.md +0 -172
- package/bundled-skills/multi-lens-thinking/SKILL.md +0 -407
- package/bundled-skills/nano-banana-pro/SKILL.md +0 -116
- package/bundled-skills/newsletter/SKILL.md +0 -736
- package/bundled-skills/notebooklm/SKILL.md +0 -296
- package/bundled-skills/obsidian-bases/SKILL.md +0 -634
- package/bundled-skills/obsidian-markdown/SKILL.md +0 -651
- package/bundled-skills/onboarding-cro/SKILL.md +0 -494
- package/bundled-skills/page-cro/SKILL.md +0 -379
- package/bundled-skills/paid-ads/SKILL.md +0 -624
- package/bundled-skills/paywall-upgrade-cro/SKILL.md +0 -651
- package/bundled-skills/php-lsp/SKILL.md +0 -36
- package/bundled-skills/playwright/SKILL.md +0 -13
- package/bundled-skills/plugin-dev/SKILL.md +0 -434
- package/bundled-skills/popup-cro/SKILL.md +0 -520
- package/bundled-skills/positioning-angles/SKILL.md +0 -330
- package/bundled-skills/pr-review-toolkit/SKILL.md +0 -359
- package/bundled-skills/pricing-strategy/SKILL.md +0 -777
- package/bundled-skills/proactive-self-improving/SKILL.md +0 -435
- package/bundled-skills/programmatic-seo/SKILL.md +0 -714
- package/bundled-skills/pyright-lsp/SKILL.md +0 -43
- package/bundled-skills/quality-assurance-framework/SKILL.md +0 -168
- package/bundled-skills/question-refiner/SKILL.md +0 -160
- package/bundled-skills/ralph-loop/SKILL.md +0 -205
- package/bundled-skills/refactoring-expert/SKILL.md +0 -103
- package/bundled-skills/referral-program/SKILL.md +0 -668
- package/bundled-skills/research-executor/SKILL.md +0 -164
- package/bundled-skills/review-with-security/SKILL.md +0 -12
- package/bundled-skills/rust-analyzer-lsp/SKILL.md +0 -50
- package/bundled-skills/schema-markup/SKILL.md +0 -647
- package/bundled-skills/security-audit-expert/SKILL.md +0 -124
- package/bundled-skills/security-expert/SKILL.md +0 -140
- package/bundled-skills/security-guidance/SKILL.md +0 -13
- package/bundled-skills/seedance-prompt/SKILL.md +0 -139
- package/bundled-skills/self-evolution/SKILL.md +0 -1160
- package/bundled-skills/seo-audit/SKILL.md +0 -432
- package/bundled-skills/seo-content/SKILL.md +0 -787
- package/bundled-skills/serena/SKILL.md +0 -13
- package/bundled-skills/signup-flow-cro/SKILL.md +0 -409
- package/bundled-skills/skill-manager/SKILL.md +0 -226
- package/bundled-skills/skill-share/SKILL.md +0 -98
- package/bundled-skills/slack/SKILL.md +0 -13
- package/bundled-skills/social-content/SKILL.md +0 -878
- package/bundled-skills/spec-flow-skill/SKILL.md +0 -124
- package/bundled-skills/stripe/SKILL.md +0 -13
- package/bundled-skills/supabase/SKILL.md +0 -13
- package/bundled-skills/swift-lsp/SKILL.md +0 -40
- package/bundled-skills/synthesizer/SKILL.md +0 -236
- package/bundled-skills/template-skill/SKILL.md +0 -16
- package/bundled-skills/theme-factory/SKILL.md +0 -72
- package/bundled-skills/tiktok-research/SKILL.md +0 -208
- package/bundled-skills/typescript-lsp/SKILL.md +0 -36
- package/bundled-skills/ui-ux-pro-max/SKILL.md +0 -247
- package/bundled-skills/visual-prompt-engineer/SKILL.md +0 -102
- package/bundled-skills/webapp-testing/SKILL.md +0 -111
- package/bundled-skills/wide-research/SKILL.md +0 -191
package/README.md
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
|
|
10
10
|
An AI-powered CLI assistant with embedded engineering knowledge, a pluggable skill system, persistent memory, and project-aware context — designed to be your pair-programming partner in the terminal.
|
|
11
11
|
|
|
12
|
+

|
|
13
|
+
|
|
12
14
|
</div>
|
|
13
15
|
|
|
14
16
|
---
|
|
@@ -32,6 +34,16 @@ bobo "explain this codebase"
|
|
|
32
34
|
|
|
33
35
|
## Features
|
|
34
36
|
|
|
37
|
+
### ⚡ Claude Code Architecture (v2.1.0)
|
|
38
|
+
Bobo CLI v2.1.0 implements advanced AI agent patterns inspired by Claude Code:
|
|
39
|
+
|
|
40
|
+
- **🔍 Verification Agent** — 'Try to break it' philosophy with adversarial testing (build/test/lint + boundary probing)
|
|
41
|
+
- **🎭 Role-Based Sub-Agents** — Explore (read-only), Plan (strategy), Worker (execution), Verify (validation)
|
|
42
|
+
- **🗜️ Three-Tier Compression** — Microcompact (tool result clearing) → Auto-compact (87% threshold + circuit breaker) → Full compact (LLM summary)
|
|
43
|
+
- **🛡️ Tool Governance Pipeline** — Input validation → Risk classification → Permission checks → Execution hooks → Telemetry
|
|
44
|
+
- **💾 Cache Boundary Optimization** — STATIC/DYNAMIC prompt separation for provider caching (Anthropic prompt caching compatible)
|
|
45
|
+
- **🌙 KAIROS Dream Mode** — Automated memory consolidation (reads logs → LLM distillation → structured insights)
|
|
46
|
+
|
|
35
47
|
### 🧠 Knowledge System
|
|
36
48
|
9 built-in knowledge files that shape the assistant's behavior and engineering methodology:
|
|
37
49
|
|
|
@@ -106,19 +118,45 @@ Bobo automatically detects and loads `AGENTS.md`, `CLAUDE.md`, and `CONVENTIONS.
|
|
|
106
118
|
## Architecture
|
|
107
119
|
|
|
108
120
|
```
|
|
109
|
-
bobo CLI
|
|
121
|
+
bobo CLI v2.1.0 — Claude Code-inspired Agent Architecture
|
|
110
122
|
│
|
|
111
|
-
├── System Prompt Assembly (
|
|
123
|
+
├── System Prompt Assembly (STATIC/DYNAMIC separation)
|
|
124
|
+
│ STATIC (cacheable):
|
|
112
125
|
│ ① Knowledge (3 always-load + 6 on-demand)
|
|
113
126
|
│ ② Skills (active skill prompts)
|
|
114
|
-
│ ③
|
|
115
|
-
│
|
|
116
|
-
│
|
|
127
|
+
│ ③ BOBO.md project instructions
|
|
128
|
+
│ ━━━━━━━━ DYNAMIC BOUNDARY ━━━━━━━━
|
|
129
|
+
│ DYNAMIC (session-specific):
|
|
130
|
+
│ ④ Memory (persistent user/project/feedback data)
|
|
131
|
+
│ ⑤ Project context (.bobo/ + auto-detected files)
|
|
132
|
+
│ ⑥ Environment (CWD + turn count + decay warnings)
|
|
117
133
|
│
|
|
118
|
-
├── Agent Loop
|
|
134
|
+
├── Agent Loop (with governance)
|
|
119
135
|
│ ├── Streaming responses with tool calls
|
|
120
|
-
│ ├──
|
|
121
|
-
│
|
|
136
|
+
│ ├── Tool Governance Pipeline:
|
|
137
|
+
│ │ Input validation → Risk classification → PreToolUse Hook →
|
|
138
|
+
│ │ Permission check → Execution → PostToolUse Hook → Telemetry
|
|
139
|
+
│ ├── Three-tier compression:
|
|
140
|
+
│ │ 60%: Microcompact (clear old tool results)
|
|
141
|
+
│ │ 87%: Auto-compact (with circuit breaker)
|
|
142
|
+
│ │ 95%: Full compact (LLM summary)
|
|
143
|
+
│ └── Max 20 iterations per turn
|
|
144
|
+
│
|
|
145
|
+
├── Sub-Agent System (role-based)
|
|
146
|
+
│ ├── explore — Read-only exploration
|
|
147
|
+
│ ├── plan — Strategy without execution
|
|
148
|
+
│ ├── worker — Full tools + anti-recursion
|
|
149
|
+
│ └── verify — Adversarial validation
|
|
150
|
+
│
|
|
151
|
+
├── Verification Agent
|
|
152
|
+
│ ├── Build/Test/Lint enforcement
|
|
153
|
+
│ ├── Adversarial probing (boundary tests, API calls)
|
|
154
|
+
│ └── Verdict: PASS / FAIL / PARTIAL
|
|
155
|
+
│
|
|
156
|
+
├── KAIROS Dream Mode
|
|
157
|
+
│ ├── Auto-trigger: 50+ entries or 24h since last dream
|
|
158
|
+
│ ├── LLM distillation: Logs → Insights (confidence-scored)
|
|
159
|
+
│ └── Memory consolidation: Dedupe + category organization
|
|
122
160
|
│
|
|
123
161
|
├── Structured Knowledge (advanced)
|
|
124
162
|
│ ├── knowledge/rules/ — 15+ domain rule files
|
|
@@ -132,6 +170,8 @@ bobo CLI v1.0.0
|
|
|
132
170
|
├── bobo init — Initialize ~/.bobo/
|
|
133
171
|
├── bobo knowledge — View knowledge base
|
|
134
172
|
├── bobo skill — Skill management
|
|
173
|
+
├── bobo spawn <task> — Background sub-agent (with role)
|
|
174
|
+
├── bobo agents — Manage sub-agents
|
|
135
175
|
├── bobo kb — Structured knowledge search
|
|
136
176
|
├── bobo rules — Browse engineering rules
|
|
137
177
|
├── bobo skills — Structured skill browser
|
|
@@ -149,7 +189,10 @@ bobo CLI v1.0.0
|
|
|
149
189
|
| `/skills` | List active skills |
|
|
150
190
|
| `/plan` | Show current task plan |
|
|
151
191
|
| `/compact` | Compress context (nine-section summary) |
|
|
152
|
-
| `/dream` |
|
|
192
|
+
| `/dream` | 🌙 KAIROS memory consolidation (LLM-powered insight extraction) |
|
|
193
|
+
| `/verify [task]` | 🔍 Run verification agent with adversarial testing |
|
|
194
|
+
| `/spawn <task>` | Spawn background sub-agent (with role support) |
|
|
195
|
+
| `/agents` | List all sub-agents and their status |
|
|
153
196
|
| `/clear` | Clear conversation history |
|
|
154
197
|
| `/history` | Show turn count |
|
|
155
198
|
| `/quit` | Exit |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Core skills shipped with bobo-cli
|
|
2
|
+
# Only these are included in the npm package to reduce bloat
|
|
3
|
+
|
|
4
|
+
high-agency
|
|
5
|
+
memory-manager
|
|
6
|
+
context-budget-analyzer
|
|
7
|
+
context-compressor
|
|
8
|
+
context-optimization-suite
|
|
9
|
+
code-review
|
|
10
|
+
code-review-expert
|
|
11
|
+
planning-with-files
|
|
12
|
+
verify
|
|
13
|
+
skill-creator
|
|
14
|
+
github
|
|
15
|
+
backend-expert
|
|
16
|
+
frontend-expert
|
|
17
|
+
testing-expert
|
|
18
|
+
orchestrator
|
package/dist/agent.js
CHANGED
|
@@ -5,7 +5,6 @@ import { join } from 'node:path';
|
|
|
5
5
|
import { loadConfig } from './config.js';
|
|
6
6
|
import { loadKnowledge } from './knowledge.js';
|
|
7
7
|
import { loadMemory } from './memory.js';
|
|
8
|
-
import { loadSkillPrompts } from './skills.js';
|
|
9
8
|
import { routeMessage, loadMatchedSkillPrompts } from './skill-router.js';
|
|
10
9
|
import { loadProjectKnowledge } from './project.js';
|
|
11
10
|
import { isClaudeCodeAvailable } from './tools/claude-code.js';
|
|
@@ -16,6 +15,19 @@ import { getMcpToolDefinitions, executeMcpTool, isMcpTool } from './mcp-client.j
|
|
|
16
15
|
import { printStreaming, printToolCall, printToolResult, printError, printLine } from './ui.js';
|
|
17
16
|
import { recordUsage } from './cost-tracker.js';
|
|
18
17
|
import { Spinner } from './spinner.js';
|
|
18
|
+
import { estimateTokens } from './compactor.js';
|
|
19
|
+
import { executeToolWithGovernance } from './tool-governance.js';
|
|
20
|
+
// ─── OpenAI Client Cache ─────────────────────────────────────
|
|
21
|
+
let cachedClient = null;
|
|
22
|
+
let cachedClientKey = '';
|
|
23
|
+
function getClient(apiKey, baseUrl) {
|
|
24
|
+
const key = `${apiKey}:${baseUrl}`;
|
|
25
|
+
if (cachedClient && cachedClientKey === key)
|
|
26
|
+
return cachedClient;
|
|
27
|
+
cachedClient = new OpenAI({ apiKey, baseURL: baseUrl });
|
|
28
|
+
cachedClientKey = key;
|
|
29
|
+
return cachedClient;
|
|
30
|
+
}
|
|
19
31
|
/**
|
|
20
32
|
* Load BOBO.md from current directory (project instructions, like Claude Code's CLAUDE.md).
|
|
21
33
|
*/
|
|
@@ -29,24 +41,11 @@ function loadBoboMd() {
|
|
|
29
41
|
if (content)
|
|
30
42
|
return content;
|
|
31
43
|
}
|
|
32
|
-
catch { /*
|
|
44
|
+
catch (_) { /* intentionally ignored: BOBO.md is optional */ }
|
|
33
45
|
}
|
|
34
46
|
}
|
|
35
47
|
return null;
|
|
36
48
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Rough token estimation for auto-compact detection.
|
|
39
|
-
*/
|
|
40
|
-
function estimateTokenCount(messages) {
|
|
41
|
-
let total = 0;
|
|
42
|
-
for (const msg of messages) {
|
|
43
|
-
if (typeof msg.content === 'string') {
|
|
44
|
-
const cjk = (msg.content.match(/[\u4e00-\u9fff]/g) || []).length;
|
|
45
|
-
total += Math.ceil(cjk / 2 + (msg.content.length - cjk) / 4);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return total;
|
|
49
|
-
}
|
|
50
49
|
/**
|
|
51
50
|
* Map effort level to system prompt guidance.
|
|
52
51
|
*/
|
|
@@ -67,45 +66,53 @@ export async function runAgent(userMessage, history, options = {}) {
|
|
|
67
66
|
if (!config.apiKey) {
|
|
68
67
|
throw new Error('API key not configured. Run: bobo config set apiKey <your-key>');
|
|
69
68
|
}
|
|
70
|
-
const client =
|
|
71
|
-
apiKey: config.apiKey,
|
|
72
|
-
baseURL: config.baseUrl,
|
|
73
|
-
});
|
|
69
|
+
const client = getClient(config.apiKey, config.baseUrl);
|
|
74
70
|
const callStartTime = Date.now();
|
|
75
71
|
const spinner = new Spinner();
|
|
76
72
|
// Check for auto-compact (when context is getting large)
|
|
77
|
-
const currentTokens =
|
|
73
|
+
const currentTokens = estimateTokens(history);
|
|
78
74
|
if (currentTokens > 80000 && options.onAutoCompact) {
|
|
79
75
|
options.onAutoCompact();
|
|
80
76
|
}
|
|
81
|
-
// Build system prompt with
|
|
82
|
-
const
|
|
83
|
-
//
|
|
77
|
+
// Build system prompt with STATIC/DYNAMIC separation for cache optimization
|
|
78
|
+
const staticParts = []; // Cacheable: identity, rules, base knowledge
|
|
79
|
+
const dynamicParts = []; // Non-cacheable: session state, memory, context
|
|
80
|
+
// === STATIC SECTION (Cacheable) ===
|
|
81
|
+
// Load base knowledge (identity + rules)
|
|
82
|
+
const baseKnowledge = loadKnowledge({
|
|
83
|
+
userMessage,
|
|
84
|
+
loadAll: history.length === 0,
|
|
85
|
+
extraContext: '', // No dynamic context yet
|
|
86
|
+
});
|
|
87
|
+
staticParts.push(baseKnowledge);
|
|
88
|
+
// Layer 0: BOBO.md project instructions (static per project)
|
|
84
89
|
const boboMd = loadBoboMd();
|
|
85
90
|
if (boboMd) {
|
|
86
|
-
|
|
91
|
+
staticParts.push(`# Project Instructions (BOBO.md)\n\n${boboMd}`);
|
|
87
92
|
}
|
|
88
|
-
// Layer 1: Skill routing (
|
|
93
|
+
// Layer 1: Skill routing (varies per message, but definitions are static)
|
|
89
94
|
const skillMatches = routeMessage(userMessage);
|
|
90
95
|
const { prompt: routedSkillPrompts, loaded: loadedSkills } = loadMatchedSkillPrompts(skillMatches);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const combinedSkillPrompts = [routedSkillPrompts, legacySkillPrompts].filter(Boolean).join('\n\n');
|
|
94
|
-
if (combinedSkillPrompts) {
|
|
95
|
-
extraParts.push(combinedSkillPrompts);
|
|
96
|
+
if (routedSkillPrompts) {
|
|
97
|
+
staticParts.push(routedSkillPrompts);
|
|
96
98
|
if (options.matchedSkills) {
|
|
97
99
|
options.matchedSkills.push(...loadedSkills);
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
|
-
//
|
|
102
|
+
// === DYNAMIC BOUNDARY MARKER ===
|
|
103
|
+
const dynamicBoundary = '\n\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n' +
|
|
104
|
+
'⚡ DYNAMIC CONTEXT BOUNDARY — Content below changes frequently\n' +
|
|
105
|
+
'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n';
|
|
106
|
+
// === DYNAMIC SECTION (Non-cacheable) ===
|
|
107
|
+
// Layer 2: Persistent memory (changes with learning)
|
|
101
108
|
const memory = loadMemory();
|
|
102
109
|
if (memory)
|
|
103
|
-
|
|
104
|
-
// Layer 3: Project context
|
|
110
|
+
dynamicParts.push(`# 你的记忆\n\n${memory}`);
|
|
111
|
+
// Layer 3: Project context (can change as project evolves)
|
|
105
112
|
const projectKnowledge = loadProjectKnowledge();
|
|
106
113
|
if (projectKnowledge)
|
|
107
|
-
|
|
108
|
-
// Layer 4: Environment +
|
|
114
|
+
dynamicParts.push(`# 项目上下文\n\n${projectKnowledge}`);
|
|
115
|
+
// Layer 4: Environment + session state
|
|
109
116
|
const turnCount = history.filter(m => m.role === 'user').length;
|
|
110
117
|
let envInfo = `# Environment\n\nWorking directory: ${process.cwd()}\nConversation turns: ${turnCount}\nModel: ${model}\nEffort: ${effort}`;
|
|
111
118
|
if (isClaudeCodeAvailable()) {
|
|
@@ -114,16 +121,17 @@ export async function runAgent(userMessage, history, options = {}) {
|
|
|
114
121
|
if (turnCount >= 10) {
|
|
115
122
|
envInfo += '\n\n⚠️ Context Decay Warning: 对话已超过 10 轮,编辑文件前必须重新读取确认内容。';
|
|
116
123
|
}
|
|
117
|
-
|
|
118
|
-
// Layer 5: Effort level guidance
|
|
124
|
+
dynamicParts.push(envInfo);
|
|
125
|
+
// Layer 5: Effort level guidance (changes with effort setting)
|
|
119
126
|
const effortPrompt = effortToPrompt(effort);
|
|
120
127
|
if (effortPrompt)
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
128
|
+
dynamicParts.push(effortPrompt);
|
|
129
|
+
// Combine static and dynamic sections
|
|
130
|
+
const systemPrompt = [
|
|
131
|
+
...staticParts,
|
|
132
|
+
dynamicBoundary,
|
|
133
|
+
...dynamicParts,
|
|
134
|
+
].join('\n\n---\n\n');
|
|
127
135
|
const messages = [
|
|
128
136
|
{ role: 'system', content: systemPrompt },
|
|
129
137
|
...history,
|
|
@@ -148,7 +156,9 @@ export async function runAgent(userMessage, history, options = {}) {
|
|
|
148
156
|
tools: [...toolDefinitions, ...getMcpToolDefinitions()],
|
|
149
157
|
max_tokens: config.maxTokens,
|
|
150
158
|
stream: true,
|
|
159
|
+
stream_options: { include_usage: true },
|
|
151
160
|
});
|
|
161
|
+
let streamUsage = null;
|
|
152
162
|
for await (const chunk of stream) {
|
|
153
163
|
if (options.signal?.aborted) {
|
|
154
164
|
spinner.stop();
|
|
@@ -182,6 +192,14 @@ export async function runAgent(userMessage, history, options = {}) {
|
|
|
182
192
|
existing.arguments += tc.function.arguments;
|
|
183
193
|
}
|
|
184
194
|
}
|
|
195
|
+
// Capture usage from final streaming chunk
|
|
196
|
+
if (chunk.usage) {
|
|
197
|
+
streamUsage = chunk.usage;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// Record streaming usage after loop ends
|
|
201
|
+
if (streamUsage) {
|
|
202
|
+
recordUsage(streamUsage.prompt_tokens || 0, streamUsage.completion_tokens || 0, toolCalls.size);
|
|
185
203
|
}
|
|
186
204
|
}
|
|
187
205
|
catch (streamErr) {
|
|
@@ -246,7 +264,8 @@ export async function runAgent(userMessage, history, options = {}) {
|
|
|
246
264
|
try {
|
|
247
265
|
args = JSON.parse(tc.arguments);
|
|
248
266
|
}
|
|
249
|
-
catch {
|
|
267
|
+
catch (_) {
|
|
268
|
+
/* intentionally ignored: malformed JSON defaults to empty args */
|
|
250
269
|
args = {};
|
|
251
270
|
}
|
|
252
271
|
// Permission check for destructive tools
|
|
@@ -263,22 +282,43 @@ export async function runAgent(userMessage, history, options = {}) {
|
|
|
263
282
|
printToolCall(tc.name, tc.arguments);
|
|
264
283
|
}
|
|
265
284
|
// Route to MCP, advanced, browser, or built-in tool
|
|
285
|
+
// MCP and browser tools bypass governance (they have own security)
|
|
266
286
|
let result;
|
|
267
287
|
if (isMcpTool(tc.name)) {
|
|
268
288
|
result = await executeMcpTool(tc.name, args);
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
289
|
+
spinner.stop();
|
|
290
|
+
if (!options.quiet)
|
|
291
|
+
printToolResult(result);
|
|
272
292
|
}
|
|
273
293
|
else if (isBrowserTool(tc.name)) {
|
|
274
294
|
result = await executeBrowserTool(tc.name, args);
|
|
295
|
+
spinner.stop();
|
|
296
|
+
if (!options.quiet)
|
|
297
|
+
printToolResult(result);
|
|
275
298
|
}
|
|
276
299
|
else {
|
|
277
|
-
|
|
300
|
+
// Built-in and advanced tools go through governance pipeline
|
|
301
|
+
const govResult = await executeToolWithGovernance(tc.name, args, async (name, params) => {
|
|
302
|
+
if (isAdvancedTool(name)) {
|
|
303
|
+
return await executeAdvancedTool(name, params);
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
return executeTool(name, params);
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
spinner.stop();
|
|
310
|
+
if (govResult.blocked) {
|
|
311
|
+
result = `⛔ Tool blocked: ${govResult.blockReason || govResult.error}`;
|
|
312
|
+
}
|
|
313
|
+
else if (!govResult.success) {
|
|
314
|
+
result = `❌ Tool failed: ${govResult.error}`;
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
result = govResult.output || '';
|
|
318
|
+
}
|
|
319
|
+
if (!options.quiet)
|
|
320
|
+
printToolResult(result);
|
|
278
321
|
}
|
|
279
|
-
spinner.stop();
|
|
280
|
-
if (!options.quiet)
|
|
281
|
-
printToolResult(result);
|
|
282
322
|
messages.push({
|
|
283
323
|
role: 'tool',
|
|
284
324
|
tool_call_id: tc.id,
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Catalog — 8 核心角色定义
|
|
3
|
+
*
|
|
4
|
+
* 基于 oh-my-claudecode 的 19 agent 精简版,保留最核心的 8 个角色。
|
|
5
|
+
* 分 4 lanes: Build, Review, Domain, Coordination
|
|
6
|
+
*/
|
|
7
|
+
export type ModelTier = 'haiku' | 'sonnet' | 'opus';
|
|
8
|
+
export interface AgentDefinition {
|
|
9
|
+
/** Agent 角色名 */
|
|
10
|
+
role: string;
|
|
11
|
+
/** 默认模型层级 */
|
|
12
|
+
model: ModelTier;
|
|
13
|
+
/** 角色描述 */
|
|
14
|
+
description: string;
|
|
15
|
+
/** 适用场景 */
|
|
16
|
+
useCases: string[];
|
|
17
|
+
/** 角色边界(不做什么) */
|
|
18
|
+
boundaries: string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Agent Catalog
|
|
22
|
+
*
|
|
23
|
+
* Build Lane: explore, planner, executor, verifier
|
|
24
|
+
* Review Lane: reviewer
|
|
25
|
+
* Domain Lane: tester, writer
|
|
26
|
+
* Coordination Lane: critic
|
|
27
|
+
*/
|
|
28
|
+
export declare const AGENT_CATALOG: Record<string, AgentDefinition>;
|
|
29
|
+
/**
|
|
30
|
+
* 获取 agent 定义
|
|
31
|
+
*/
|
|
32
|
+
export declare function getAgent(role: string): AgentDefinition | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* 获取所有 agent 角色名
|
|
35
|
+
*/
|
|
36
|
+
export declare function getAllAgentRoles(): string[];
|
|
37
|
+
/**
|
|
38
|
+
* 按 lane 分组
|
|
39
|
+
*/
|
|
40
|
+
export declare function getAgentsByLane(): Record<string, string[]>;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Catalog — 8 核心角色定义
|
|
3
|
+
*
|
|
4
|
+
* 基于 oh-my-claudecode 的 19 agent 精简版,保留最核心的 8 个角色。
|
|
5
|
+
* 分 4 lanes: Build, Review, Domain, Coordination
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Agent Catalog
|
|
9
|
+
*
|
|
10
|
+
* Build Lane: explore, planner, executor, verifier
|
|
11
|
+
* Review Lane: reviewer
|
|
12
|
+
* Domain Lane: tester, writer
|
|
13
|
+
* Coordination Lane: critic
|
|
14
|
+
*/
|
|
15
|
+
export const AGENT_CATALOG = {
|
|
16
|
+
// ===== Build Lane =====
|
|
17
|
+
explore: {
|
|
18
|
+
role: 'explore',
|
|
19
|
+
model: 'haiku',
|
|
20
|
+
description: 'Fast codebase search, file/symbol mapping',
|
|
21
|
+
useCases: [
|
|
22
|
+
'Quick code lookup',
|
|
23
|
+
'Find function/class definitions',
|
|
24
|
+
'Locate files by pattern',
|
|
25
|
+
'Symbol search across codebase',
|
|
26
|
+
],
|
|
27
|
+
boundaries: [
|
|
28
|
+
'Does not implement code',
|
|
29
|
+
'Does not analyze logic',
|
|
30
|
+
'Does not write documentation',
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
planner: {
|
|
34
|
+
role: 'planner',
|
|
35
|
+
model: 'opus',
|
|
36
|
+
description: 'Task sequencing, execution plan creation',
|
|
37
|
+
useCases: [
|
|
38
|
+
'Break down complex tasks',
|
|
39
|
+
'Create execution plans',
|
|
40
|
+
'Identify dependencies',
|
|
41
|
+
'Risk assessment',
|
|
42
|
+
],
|
|
43
|
+
boundaries: [
|
|
44
|
+
'Does not implement code',
|
|
45
|
+
'Does not gather requirements',
|
|
46
|
+
'Does not review plans (use critic)',
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
executor: {
|
|
50
|
+
role: 'executor',
|
|
51
|
+
model: 'sonnet',
|
|
52
|
+
description: 'Code implementation, refactoring, feature work',
|
|
53
|
+
useCases: [
|
|
54
|
+
'Feature implementation',
|
|
55
|
+
'Code refactoring',
|
|
56
|
+
'Bug fixes',
|
|
57
|
+
'Multi-file changes',
|
|
58
|
+
],
|
|
59
|
+
boundaries: [
|
|
60
|
+
'Does not plan (use planner)',
|
|
61
|
+
'Does not verify (use verifier)',
|
|
62
|
+
'Does not review (use reviewer)',
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
verifier: {
|
|
66
|
+
role: 'verifier',
|
|
67
|
+
model: 'sonnet',
|
|
68
|
+
description: 'Completion verification, test adequacy confirmation',
|
|
69
|
+
useCases: [
|
|
70
|
+
'Verify task completion',
|
|
71
|
+
'Check test coverage',
|
|
72
|
+
'Validate implementation',
|
|
73
|
+
'Adversarial testing',
|
|
74
|
+
],
|
|
75
|
+
boundaries: [
|
|
76
|
+
'Does not implement fixes',
|
|
77
|
+
'Does not write tests (use tester)',
|
|
78
|
+
'Does not plan (use planner)',
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
// ===== Review Lane =====
|
|
82
|
+
reviewer: {
|
|
83
|
+
role: 'reviewer',
|
|
84
|
+
model: 'opus',
|
|
85
|
+
description: 'Comprehensive code review, logic defects, maintainability',
|
|
86
|
+
useCases: [
|
|
87
|
+
'Code review',
|
|
88
|
+
'API contract review',
|
|
89
|
+
'Security review',
|
|
90
|
+
'Performance review',
|
|
91
|
+
],
|
|
92
|
+
boundaries: [
|
|
93
|
+
'Does not implement fixes',
|
|
94
|
+
'Does not write tests',
|
|
95
|
+
'Does not plan refactors',
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
// ===== Domain Lane =====
|
|
99
|
+
tester: {
|
|
100
|
+
role: 'tester',
|
|
101
|
+
model: 'sonnet',
|
|
102
|
+
description: 'Test strategy, coverage, flaky-test hardening',
|
|
103
|
+
useCases: [
|
|
104
|
+
'Write unit tests',
|
|
105
|
+
'Write integration tests',
|
|
106
|
+
'Test strategy design',
|
|
107
|
+
'Coverage analysis',
|
|
108
|
+
],
|
|
109
|
+
boundaries: [
|
|
110
|
+
'Does not implement features',
|
|
111
|
+
'Does not review code (use reviewer)',
|
|
112
|
+
'Does not verify (use verifier)',
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
writer: {
|
|
116
|
+
role: 'writer',
|
|
117
|
+
model: 'haiku',
|
|
118
|
+
description: 'Documentation, migration notes, user guidance',
|
|
119
|
+
useCases: [
|
|
120
|
+
'Write README',
|
|
121
|
+
'Write API docs',
|
|
122
|
+
'Write migration guides',
|
|
123
|
+
'Write user guides',
|
|
124
|
+
],
|
|
125
|
+
boundaries: [
|
|
126
|
+
'Does not implement code',
|
|
127
|
+
'Does not review code',
|
|
128
|
+
'Does not plan features',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
// ===== Coordination Lane =====
|
|
132
|
+
critic: {
|
|
133
|
+
role: 'critic',
|
|
134
|
+
model: 'opus',
|
|
135
|
+
description: 'Plan/design critical challenge, gap analysis',
|
|
136
|
+
useCases: [
|
|
137
|
+
'Challenge plans',
|
|
138
|
+
'Find gaps in designs',
|
|
139
|
+
'Multi-angle review',
|
|
140
|
+
'Risk identification',
|
|
141
|
+
],
|
|
142
|
+
boundaries: [
|
|
143
|
+
'Does not create plans (use planner)',
|
|
144
|
+
'Does not implement code',
|
|
145
|
+
'Does not gather requirements',
|
|
146
|
+
],
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* 获取 agent 定义
|
|
151
|
+
*/
|
|
152
|
+
export function getAgent(role) {
|
|
153
|
+
return AGENT_CATALOG[role];
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* 获取所有 agent 角色名
|
|
157
|
+
*/
|
|
158
|
+
export function getAllAgentRoles() {
|
|
159
|
+
return Object.keys(AGENT_CATALOG);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* 按 lane 分组
|
|
163
|
+
*/
|
|
164
|
+
export function getAgentsByLane() {
|
|
165
|
+
return {
|
|
166
|
+
build: ['explore', 'planner', 'executor', 'verifier'],
|
|
167
|
+
review: ['reviewer'],
|
|
168
|
+
domain: ['tester', 'writer'],
|
|
169
|
+
coordination: ['critic'],
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { AGENT_CATALOG, getAgent, getAllAgentRoles, getAgentsByLane } from './catalog.js';
|
|
2
|
+
export type { AgentDefinition, ModelTier } from './catalog.js';
|
|
3
|
+
export { routeTask, routeTaskWithReason, selectModel, routeTeamTasks } from './router.js';
|
|
4
|
+
export type { RoutingDecision, AgentRole } from './router.js';
|
|
5
|
+
export { prepareSpawn, listSpawnableRoles } from './spawn.js';
|
|
6
|
+
export type { SpawnRequest, SpawnResult } from './spawn.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { AGENT_CATALOG, getAgent, getAllAgentRoles, getAgentsByLane } from './catalog.js';
|
|
2
|
+
export { routeTask, routeTaskWithReason, selectModel, routeTeamTasks } from './router.js';
|
|
3
|
+
export { prepareSpawn, listSpawnableRoles } from './spawn.js';
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|