foliko 1.1.92 → 2.0.0
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/.claude/settings.local.json +2 -1
- package/CLAUDE.md +56 -30
- package/REFACTORING_PLAN.md +645 -0
- package/docs/architecture.md +131 -0
- package/docs/migration.md +57 -0
- package/docs/public-api.md +138 -0
- package/docs/usage.md +385 -0
- package/examples/ambient-example.js +20 -137
- package/examples/basic.js +21 -48
- package/examples/bootstrap.js +16 -74
- package/examples/mcp-example.js +6 -29
- package/examples/skill-example.js +6 -19
- package/examples/workflow.js +8 -56
- package/package.json +8 -4
- package/plugins/README.md +49 -0
- package/plugins/{ambient-agent → ambient}/EventWatcher.js +1 -1
- package/plugins/{ambient-agent → ambient}/ExplorerLoop.js +3 -3
- package/plugins/{ambient-agent → ambient}/GoalManager.js +2 -2
- package/plugins/ambient/README.md +14 -0
- package/plugins/{ambient-agent → ambient}/Reflector.js +1 -1
- package/plugins/{ambient-agent → ambient}/StateStore.js +1 -1
- package/plugins/{ambient-agent → ambient}/index.js +2 -2
- package/plugins/{ai-plugin.js → core/ai/index.js} +14 -30
- package/plugins/{audit-plugin.js → core/audit/index.js} +3 -30
- package/plugins/{coordinator-plugin.js → core/coordinator/index.js} +3 -35
- package/plugins/core/default/bootstrap.js +202 -0
- package/plugins/core/default/config.js +220 -0
- package/plugins/core/default/index.js +58 -0
- package/plugins/core/mcp/index.js +1 -0
- package/plugins/{python-plugin-loader.js → core/python-loader/index.js} +7 -187
- package/plugins/{rules-plugin.js → core/rules/index.js} +121 -64
- package/plugins/{scheduler-plugin.js → core/scheduler/index.js} +12 -114
- package/plugins/{session-plugin.js → core/session/index.js} +9 -73
- package/{src/capabilities/skill-manager.js → plugins/core/skill-manager/index.js} +64 -18
- package/plugins/{storage-plugin.js → core/storage/index.js} +5 -29
- package/plugins/{subagent-plugin.js → core/sub-agent/index.js} +10 -171
- package/plugins/{think-plugin.js → core/think/index.js} +24 -91
- package/{src/capabilities/workflow-engine.js → plugins/core/workflow/index.js} +87 -85
- package/plugins/default-plugins.js +6 -720
- package/plugins/{data-splitter-plugin.js → executors/data-splitter/index.js} +9 -83
- package/plugins/{extension-executor-plugin.js → executors/extension/index.js} +13 -97
- package/plugins/{python-executor-plugin.js → executors/python/index.js} +6 -31
- package/plugins/{shell-executor-plugin.js → executors/shell/index.js} +2 -5
- package/plugins/install/README.md +9 -0
- package/plugins/{install-plugin.js → install/index.js} +3 -3
- package/plugins/{file-system-plugin.js → io/file-system/index.js} +34 -236
- package/plugins/{web-plugin.js → io/web/index.js} +11 -113
- package/plugins/memory/README.md +13 -0
- package/plugins/{memory-plugin.js → memory/index.js} +4 -18
- package/plugins/messaging/email/README.md +19 -0
- package/plugins/{email → messaging/email}/index.js +2 -2
- package/plugins/{feishu-plugin.js → messaging/feishu/index.js} +3 -3
- package/plugins/{qq-plugin.js → messaging/qq/index.js} +5 -16
- package/plugins/{telegram-plugin.js → messaging/telegram/index.js} +3 -3
- package/plugins/{weixin-plugin.js → messaging/weixin/index.js} +15 -15
- package/plugins/{plugin-manager-plugin.js → plugin-manager/index.js} +36 -180
- package/plugins/{tools-plugin.js → tools/index.js} +68 -116
- package/plugins/trading/README.md +15 -0
- package/plugins/{gate-trading.js → trading/index.js} +8 -8
- package/{examples → sandbox}/test-concurrent-chat.js +2 -2
- package/{examples → sandbox}/test-long-chat.js +2 -2
- package/{examples → sandbox}/test-session-chat.js +2 -2
- package/{examples → sandbox}/test-web-plugin.js +1 -1
- package/{examples → sandbox}/test-weixin-feishu.js +2 -2
- package/src/agent/base.js +56 -0
- package/src/{core/agent-chat.js → agent/chat.js} +11 -11
- package/src/{core/coordinator-manager.js → agent/coordinator.js} +3 -3
- package/src/agent/index.js +111 -0
- package/src/agent/main.js +337 -0
- package/src/agent/prompt.js +78 -0
- package/src/agent/sub.js +198 -0
- package/src/agent/worker.js +104 -0
- package/{cli/bin/foliko.js → src/cli/bin.js} +1 -1
- package/{cli/src → src/cli}/commands/chat.js +25 -21
- package/{cli/src → src/cli}/index.js +1 -0
- package/{cli/src → src/cli}/ui/chat-ui-old.js +40 -178
- package/{cli/src → src/cli}/ui/chat-ui.js +3 -3
- package/{cli/src → src/cli}/ui/components/footer-bar.js +1 -1
- package/src/{core → common}/constants.js +3 -0
- package/src/common/errors.js +402 -0
- package/src/{utils → common}/logger.js +33 -0
- package/src/{utils/chat-queue.js → common/queue.js} +2 -2
- package/src/config/plugin-config.js +50 -0
- package/src/context/agent.js +32 -0
- package/src/context/compaction-prompts.js +170 -0
- package/src/context/compaction-utils.js +191 -0
- package/src/context/compressor.js +413 -0
- package/src/context/index.js +9 -0
- package/src/{core/context-manager.js → context/manager.js} +1 -1
- package/src/context/request.js +50 -0
- package/src/context/session.js +33 -0
- package/src/context/storage.js +30 -0
- package/src/executors/mcp-client.js +153 -0
- package/src/executors/mcp-desc.js +236 -0
- package/src/executors/mcp-executor.js +91 -956
- package/src/{core → framework}/command-registry.js +1 -1
- package/src/framework/framework.js +300 -0
- package/src/framework/index.js +18 -0
- package/src/framework/lifecycle.js +203 -0
- package/src/framework/loader.js +78 -0
- package/src/framework/registry.js +86 -0
- package/src/{core/ui-extension-context.js → framework/ui-extension.js} +1 -1
- package/src/index.js +130 -15
- package/src/llm/index.js +26 -0
- package/src/llm/provider.js +212 -0
- package/src/llm/registry.js +11 -0
- package/src/{core/token-counter.js → llm/tokens.js} +4 -37
- package/src/{core/plugin-base.js → plugin/base.js} +10 -136
- package/src/plugin/index.js +14 -0
- package/src/plugin/loader.js +101 -0
- package/src/plugin/manager.js +261 -0
- package/src/{core → session}/branch-summary-auto.js +2 -2
- package/src/{core/chat-session.js → session/chat.js} +2 -2
- package/src/session/index.js +7 -0
- package/src/{core/session-manager.js → session/session.js} +2 -2
- package/src/session/ttl.js +92 -0
- package/src/{core/jsonl-storage.js → storage/jsonl.js} +1 -1
- package/src/tool/executor.js +85 -0
- package/src/tool/index.js +15 -0
- package/src/tool/registry.js +143 -0
- package/src/{core/tool-router.js → tool/router.js} +17 -124
- package/src/tool/schema.js +108 -0
- package/src/utils/data-splitter.js +1 -1
- package/src/utils/download.js +1 -1
- package/src/utils/index.js +6 -6
- package/src/utils/message-validator.js +1 -1
- package/tests/core/context-storage.test.js +46 -0
- package/tests/core/llm.test.js +54 -0
- package/tests/core/plugin.test.js +42 -0
- package/tests/core/tool.test.js +60 -0
- package/tests/setup.js +10 -0
- package/tests/smoke.test.js +58 -0
- package/vitest.config.js +9 -0
- package/cli/src/daemon.js +0 -149
- package/docs/CONTEXT_DESIGN.md +0 -1596
- package/docs/ai-sdk-optimization.md +0 -655
- package/docs/features.md +0 -120
- package/docs/qq-bot.md +0 -976
- package/docs/quick-reference.md +0 -160
- package/docs/user-manual.md +0 -1391
- package/images/geometric_shapes.jpg +0 -0
- package/images/sunset_mountain_lake.jpg +0 -0
- package/skills/poster-guide/SKILL.md +0 -792
- package/src/capabilities/index.js +0 -11
- package/src/core/agent.js +0 -808
- package/src/core/context-compressor.js +0 -959
- package/src/core/enhanced-context-compressor.js +0 -210
- package/src/core/framework.js +0 -1422
- package/src/core/index.js +0 -30
- package/src/core/plugin-manager.js +0 -961
- package/src/core/provider-registry.js +0 -159
- package/src/core/provider.js +0 -156
- package/src/core/request-context.js +0 -98
- package/src/core/subagent.js +0 -442
- package/src/core/system-prompt-builder.js +0 -120
- package/src/core/tool-executor.js +0 -202
- package/src/core/tool-registry.js +0 -517
- package/src/core/worker-agent.js +0 -192
- package/src/executors/executor-base.js +0 -58
- package/src/utils/error-boundary.js +0 -363
- package/src/utils/error.js +0 -374
- package/system.md +0 -1645
- package/website_v2/README.md +0 -57
- package/website_v2/SPEC.md +0 -1
- package/website_v2/docs/api.html +0 -128
- package/website_v2/docs/configuration.html +0 -147
- package/website_v2/docs/plugin-development.html +0 -129
- package/website_v2/docs/project-structure.html +0 -89
- package/website_v2/docs/skill-development.html +0 -85
- package/website_v2/index.html +0 -489
- package/website_v2/scripts/main.js +0 -93
- package/website_v2/styles/animations.css +0 -8
- package/website_v2/styles/docs.css +0 -83
- package/website_v2/styles/main.css +0 -417
- package/xhs_auth.json +0 -268
- package//346/265/267/346/212/245/346/217/222/344/273/266.md +0 -621
- /package/plugins/{ambient-agent → ambient}/constants.js +0 -0
- /package/plugins/{email → messaging/email}/constants.js +0 -0
- /package/plugins/{email → messaging/email}/handlers.js +0 -0
- /package/plugins/{email → messaging/email}/monitor.js +0 -0
- /package/plugins/{email → messaging/email}/parser.js +0 -0
- /package/plugins/{email → messaging/email}/reply.js +0 -0
- /package/plugins/{email → messaging/email}/utils.js +0 -0
- /package/{examples → sandbox}/test-chat.js +0 -0
- /package/{examples → sandbox}/test-mcp.js +0 -0
- /package/{examples → sandbox}/test-reload.js +0 -0
- /package/{examples → sandbox}/test-telegram.js +0 -0
- /package/{examples → sandbox}/test-tg-bot.js +0 -0
- /package/{examples → sandbox}/test-tg-simple.js +0 -0
- /package/{examples → sandbox}/test-tg.js +0 -0
- /package/{examples → sandbox}/test-think.js +0 -0
- /package/src/{core/sub-agent-config.js → agent/sub-config.js} +0 -0
- /package/{cli/src → src/cli}/commands/daemon.js +0 -0
- /package/{cli/src → src/cli}/commands/list.js +0 -0
- /package/{cli/src → src/cli}/commands/plugin.js +0 -0
- /package/{cli/src → src/cli}/ui/components/agent-mention-provider.js +0 -0
- /package/{cli/src → src/cli}/ui/components/chained-autocomplete-provider.js +0 -0
- /package/{cli/src → src/cli}/ui/components/message-bubble.js +0 -0
- /package/{cli/src → src/cli}/ui/components/status-bar.js +0 -0
- /package/{cli/src → src/cli}/utils/ansi.js +0 -0
- /package/{cli/src → src/cli}/utils/config.js +0 -0
- /package/{cli/src → src/cli}/utils/markdown.js +0 -0
- /package/{cli/src → src/cli}/utils/plugin-config.js +0 -0
- /package/{cli/src → src/cli}/utils/render-diff.js +0 -0
- /package/src/{utils/circuit-breaker.js → common/circuit.js} +0 -0
- /package/src/{utils/edit-diff.js → common/diff.js} +0 -0
- /package/src/{utils/event-emitter.js → common/events.js} +0 -0
- /package/src/{utils → common}/id.js +0 -0
- /package/src/{utils → common}/retry.js +0 -0
- /package/src/{core/notification-manager.js → notification/manager.js} +0 -0
- /package/src/{core/session-entry.js → session/entry.js} +0 -0
- /package/src/{core/storage-manager.js → storage/manager.js} +0 -0
|
@@ -234,7 +234,8 @@
|
|
|
234
234
|
"Bash(npx designmd-mcp *)",
|
|
235
235
|
"Bash(node -e \"const { spawn } = require\\('child_process'\\); const p = spawn\\('npx', ['designmd-mcp'], { stdio: 'pipe' }\\); let out = ''; p.stdout.on\\('data', \\(d\\) => { out += d.toString\\(\\); if\\(out.length > 1000\\) { console.log\\('OUTPUT_TOO_LONG:' + out.length\\); process.exit\\(0\\); } }\\); p.stderr.on\\('data', \\(d\\) => console.log\\('STDERR:' + d.toString\\(\\)\\)\\); setTimeout\\(\\(\\) => { console.log\\('FINAL_OUTPUT_LENGTH:' + out.length\\); process.exit\\(0\\); }, 3000\\);\")",
|
|
236
236
|
"Bash(where npx *)",
|
|
237
|
-
"Bash(node *)"
|
|
237
|
+
"Bash(node *)",
|
|
238
|
+
"Bash(cmd //c \"D:\\\\\\\\tmp\\\\\\\\run-diag3.bat\")"
|
|
238
239
|
]
|
|
239
240
|
}
|
|
240
241
|
}
|
package/CLAUDE.md
CHANGED
|
@@ -74,29 +74,47 @@ npm test
|
|
|
74
74
|
|
|
75
75
|
### Core Classes
|
|
76
76
|
|
|
77
|
-
- **Framework** (`src/
|
|
78
|
-
- **Agent** (`src/
|
|
79
|
-
- **Plugin** (`src/
|
|
80
|
-
- **PluginManager** (`src/
|
|
81
|
-
- **ToolRegistry** (`src/
|
|
82
|
-
- **AgentChatHandler** (`src/
|
|
83
|
-
- **
|
|
84
|
-
- **
|
|
85
|
-
- **ContextManager** (`src/
|
|
77
|
+
- **Framework** (`src/framework/framework.js`) - Container managing plugins, tools, events, and agent creation
|
|
78
|
+
- **Agent** (`src/agent/main.js`) - Handles conversation, tool calls, subAgent delegation, and message queuing
|
|
79
|
+
- **Plugin** (`src/plugin/base.js`) - Base class with `install()`, `start()`, `reload()`, `uninstall()` lifecycle
|
|
80
|
+
- **PluginManager** (`src/plugin/manager.js`) - Manages plugin loading, priority ordering, and hot reload
|
|
81
|
+
- **ToolRegistry** (`src/tool/registry.js`) - Registers and executes tools with Zod schemas
|
|
82
|
+
- **AgentChatHandler** (`src/agent/chat.js`) - Handles AI provider communication and tool call loops
|
|
83
|
+
- **SessionManager** (`src/session/session.js`) - Per-Session 上下文,管理消息、变量、元数据
|
|
84
|
+
- **ContextCompressor** (`src/context/compressor.js`) - 上下文压缩管理
|
|
85
|
+
- **ContextManager** (`src/context/manager.js`) - 上下文生命周期管理
|
|
86
86
|
|
|
87
87
|
### Directory Structure
|
|
88
88
|
|
|
89
89
|
```
|
|
90
90
|
src/
|
|
91
|
-
├──
|
|
92
|
-
├──
|
|
93
|
-
├──
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
91
|
+
├── agent/ # Agent, sub-agent, chat handler, coordinator
|
|
92
|
+
├── cli/ # CLI entry point
|
|
93
|
+
├── common/ # Logger, events, constants, utilities
|
|
94
|
+
├── config/ # Environment & plugin configuration loader
|
|
95
|
+
├── context/ # Context manager, compressor, session/request context
|
|
96
|
+
├── core/ # Legacy re-exports (compat layer, empty soon)
|
|
97
|
+
├── framework/ # Framework core, lifecycle, command registry
|
|
98
|
+
├── llm/ # Token counter, provider registry, streaming
|
|
99
|
+
├── mcp/ # MCP tool integration
|
|
100
|
+
├── notification/ # Notification manager
|
|
101
|
+
├── plugin/ # Plugin base class, manager, loader
|
|
102
|
+
├── session/ # Session manager, chat session, branch summaries
|
|
103
|
+
├── skills/ # Skill system
|
|
104
|
+
├── storage/ # KV storage, JSONL persistence
|
|
105
|
+
├── tool/ # Tool registry, executor, router, schema
|
|
106
|
+
└── utils/ # Legacy utilities (compat, empty soon)
|
|
107
|
+
|
|
108
|
+
plugins/
|
|
109
|
+
├── ambient-agent/ # Autonomous agent loop
|
|
110
|
+
├── core/ # ai, storage, python-loader, sub-agent
|
|
111
|
+
├── executors/ # shell, python, extension
|
|
112
|
+
├── io/ # file-system
|
|
113
|
+
├── install/ # Plugin installer
|
|
114
|
+
├── memory/ # Memory/context system
|
|
115
|
+
├── messaging/ # telegram, qq, weixin, feishu
|
|
116
|
+
├── trading/ # Gate trading
|
|
117
|
+
└── default-plugins.js # Bootstrap defaults
|
|
100
118
|
```
|
|
101
119
|
|
|
102
120
|
### Plugin System
|
|
@@ -130,15 +148,23 @@ Provider selection via `config.provider` and AI settings in `.foliko/ai.json`.
|
|
|
130
148
|
|
|
131
149
|
### Built-in Plugins
|
|
132
150
|
|
|
133
|
-
- **ai
|
|
134
|
-
- **
|
|
135
|
-
- **
|
|
136
|
-
- **python-
|
|
137
|
-
- **
|
|
138
|
-
- **
|
|
139
|
-
- **
|
|
140
|
-
- **
|
|
141
|
-
- **
|
|
142
|
-
- **
|
|
143
|
-
- **
|
|
144
|
-
- **
|
|
151
|
+
- **core/ai** - AI conversation via Vercel AI SDK
|
|
152
|
+
- **core/storage** - Key-value persistence
|
|
153
|
+
- **core/sub-agent** - Child agent isolation
|
|
154
|
+
- **core/python-loader** - Dynamic Python plugin loading
|
|
155
|
+
- **executors/shell** - Shell command execution
|
|
156
|
+
- **executors/python** - Python code/script execution
|
|
157
|
+
- **executors/extension** - External extension support
|
|
158
|
+
- **io/file-system** - File system operations
|
|
159
|
+
- **session** - Multi-session management (in default-plugins)
|
|
160
|
+
- **scheduler** - Cron-based task scheduling (in default-plugins)
|
|
161
|
+
- **memory** - Memory/context storage
|
|
162
|
+
- **install** - Plugin installer
|
|
163
|
+
- **messaging/telegram** - Telegram bot integration
|
|
164
|
+
- **messaging/qq** - QQ bot integration
|
|
165
|
+
- **messaging/weixin** - WeChat bot integration
|
|
166
|
+
- **messaging/feishu** - Feishu/Lark bot integration
|
|
167
|
+
- **trading** - Gate.io trading integration
|
|
168
|
+
- **ambient-agent** - Proactive autonomous agent loop
|
|
169
|
+
- **audit** - Operation logging (in default-plugins)
|
|
170
|
+
- **rules** - Permission/content rules (in default-plugins)
|