@cicctencent/agent-core 0.1.1 → 0.1.4
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 +14 -927
- package/dist/cjs/agent/engine.d.ts.map +1 -0
- package/dist/cjs/agent/engine.js +766 -0
- package/dist/cjs/agent/engine.js.map +1 -0
- package/dist/cjs/agent/history-manager.d.ts.map +1 -0
- package/dist/cjs/agent/history-manager.js +271 -0
- package/dist/cjs/agent/history-manager.js.map +1 -0
- package/dist/cjs/agent/llm-caller.d.ts.map +1 -0
- package/dist/cjs/agent/llm-caller.js +307 -0
- package/dist/cjs/agent/llm-caller.js.map +1 -0
- package/dist/cjs/agent/tool-executor.d.ts.map +1 -0
- package/dist/cjs/agent/tool-executor.js +568 -0
- package/dist/cjs/agent/tool-executor.js.map +1 -0
- package/dist/cjs/agent/types.d.ts.map +1 -0
- package/dist/cjs/agent/types.js +6 -0
- package/dist/cjs/agent/types.js.map +1 -0
- package/dist/cjs/agent/workflow.d.ts.map +1 -0
- package/dist/cjs/agent/workflow.js +262 -0
- package/dist/cjs/agent/workflow.js.map +1 -0
- package/dist/cjs/context/collector.d.ts.map +1 -0
- package/dist/cjs/context/collector.js +94 -0
- package/dist/cjs/context/collector.js.map +1 -0
- package/dist/cjs/context/manager.d.ts.map +1 -0
- package/dist/cjs/context/manager.js +36 -0
- package/dist/cjs/context/manager.js.map +1 -0
- package/dist/cjs/context/types.d.ts.map +1 -0
- package/dist/cjs/context/types.js +6 -0
- package/dist/cjs/context/types.js.map +1 -0
- package/dist/cjs/hooks/types.d.ts.map +1 -0
- package/dist/cjs/hooks/types.js +6 -0
- package/dist/cjs/hooks/types.js.map +1 -0
- package/dist/{index.d.ts → cjs/index.d.ts} +1 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +98 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/llm/anthropic-provider.d.ts.map +1 -0
- package/dist/cjs/llm/anthropic-provider.js +356 -0
- package/dist/cjs/llm/anthropic-provider.js.map +1 -0
- package/dist/cjs/llm/factory.d.ts.map +1 -0
- package/dist/cjs/llm/factory.js +34 -0
- package/dist/cjs/llm/factory.js.map +1 -0
- package/dist/cjs/llm/ollama-provider.d.ts.map +1 -0
- package/dist/cjs/llm/ollama-provider.js +34 -0
- package/dist/cjs/llm/ollama-provider.js.map +1 -0
- package/dist/cjs/llm/openai-provider.d.ts.map +1 -0
- package/dist/cjs/llm/openai-provider.js +186 -0
- package/dist/cjs/llm/openai-provider.js.map +1 -0
- package/dist/cjs/llm/provider.d.ts.map +1 -0
- package/dist/cjs/llm/provider.js +18 -0
- package/dist/cjs/llm/provider.js.map +1 -0
- package/dist/cjs/llm/types.d.ts.map +1 -0
- package/dist/cjs/llm/types.js +6 -0
- package/dist/cjs/llm/types.js.map +1 -0
- package/dist/cjs/mcp/base-client.d.ts.map +1 -0
- package/dist/cjs/mcp/base-client.js +112 -0
- package/dist/cjs/mcp/base-client.js.map +1 -0
- package/dist/cjs/mcp/client.d.ts.map +1 -0
- package/dist/cjs/mcp/client.js +76 -0
- package/dist/cjs/mcp/client.js.map +1 -0
- package/dist/cjs/mcp/factory.d.ts.map +1 -0
- package/dist/cjs/mcp/factory.js +43 -0
- package/dist/cjs/mcp/factory.js.map +1 -0
- package/dist/cjs/mcp/http-client.d.ts.map +1 -0
- package/dist/cjs/mcp/http-client.js +142 -0
- package/dist/cjs/mcp/http-client.js.map +1 -0
- package/dist/cjs/mcp/proxy-agent.d.ts.map +1 -0
- package/dist/cjs/mcp/proxy-agent.js +195 -0
- package/dist/cjs/mcp/proxy-agent.js.map +1 -0
- package/dist/cjs/mcp/stdio-client.d.ts.map +1 -0
- package/dist/cjs/mcp/stdio-client.js +95 -0
- package/dist/cjs/mcp/stdio-client.js.map +1 -0
- package/dist/cjs/mcp/types.d.ts.map +1 -0
- package/dist/cjs/mcp/types.js +6 -0
- package/dist/cjs/mcp/types.js.map +1 -0
- package/dist/cjs/memory/checkpoint.d.ts.map +1 -0
- package/dist/cjs/memory/checkpoint.js +160 -0
- package/dist/cjs/memory/checkpoint.js.map +1 -0
- package/dist/cjs/memory/extractor.d.ts.map +1 -0
- package/dist/cjs/memory/extractor.js +121 -0
- package/dist/cjs/memory/extractor.js.map +1 -0
- package/dist/cjs/memory/persona.d.ts.map +1 -0
- package/dist/cjs/memory/persona.js +79 -0
- package/dist/cjs/memory/persona.js.map +1 -0
- package/dist/cjs/memory/pipeline.d.ts.map +1 -0
- package/dist/cjs/memory/pipeline.js +148 -0
- package/dist/cjs/memory/pipeline.js.map +1 -0
- package/dist/cjs/memory/prompts.d.ts.map +1 -0
- package/dist/cjs/memory/prompts.js +70 -0
- package/dist/cjs/memory/prompts.js.map +1 -0
- package/dist/cjs/memory/recall.d.ts.map +1 -0
- package/dist/cjs/memory/recall.js +164 -0
- package/dist/cjs/memory/recall.js.map +1 -0
- package/dist/cjs/memory/scene.d.ts.map +1 -0
- package/dist/cjs/memory/scene.js +101 -0
- package/dist/cjs/memory/scene.js.map +1 -0
- package/dist/cjs/memory/types.d.ts.map +1 -0
- package/dist/cjs/memory/types.js +6 -0
- package/dist/cjs/memory/types.js.map +1 -0
- package/dist/cjs/middleware/types.d.ts.map +1 -0
- package/dist/cjs/middleware/types.js +6 -0
- package/dist/cjs/middleware/types.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/sandbox/types.d.ts.map +1 -0
- package/dist/cjs/sandbox/types.js +128 -0
- package/dist/cjs/sandbox/types.js.map +1 -0
- package/dist/{security → cjs/security}/guard.d.ts +1 -6
- package/dist/cjs/security/guard.d.ts.map +1 -0
- package/dist/cjs/security/guard.js +291 -0
- package/dist/cjs/security/guard.js.map +1 -0
- package/dist/{security → cjs/security}/types.d.ts +6 -2
- package/dist/cjs/security/types.d.ts.map +1 -0
- package/dist/cjs/security/types.js +6 -0
- package/dist/cjs/security/types.js.map +1 -0
- package/dist/cjs/skill/manager.d.ts.map +1 -0
- package/dist/cjs/skill/manager.js +413 -0
- package/dist/cjs/skill/manager.js.map +1 -0
- package/dist/cjs/skill/router.d.ts.map +1 -0
- package/dist/cjs/skill/router.js +139 -0
- package/dist/cjs/skill/router.js.map +1 -0
- package/dist/cjs/skill/types.d.ts.map +1 -0
- package/dist/cjs/skill/types.js +6 -0
- package/dist/cjs/skill/types.js.map +1 -0
- package/dist/cjs/tool/delegate.d.ts.map +1 -0
- package/dist/cjs/tool/delegate.js +78 -0
- package/dist/cjs/tool/delegate.js.map +1 -0
- package/dist/cjs/tool/registry.d.ts +49 -0
- package/dist/cjs/tool/registry.d.ts.map +1 -0
- package/dist/cjs/tool/registry.js +87 -0
- package/dist/cjs/tool/registry.js.map +1 -0
- package/dist/cjs/tool/types.d.ts.map +1 -0
- package/dist/cjs/tool/types.js +6 -0
- package/dist/cjs/tool/types.js.map +1 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +6 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/token-counter.d.ts.map +1 -0
- package/dist/cjs/utils/token-counter.js +104 -0
- package/dist/cjs/utils/token-counter.js.map +1 -0
- package/dist/esm/agent/engine.d.ts +113 -0
- package/dist/esm/agent/engine.d.ts.map +1 -0
- package/dist/esm/agent/engine.js +762 -0
- package/dist/esm/agent/engine.js.map +1 -0
- package/dist/esm/agent/history-manager.d.ts +78 -0
- package/dist/esm/agent/history-manager.d.ts.map +1 -0
- package/dist/esm/agent/history-manager.js +267 -0
- package/dist/esm/agent/history-manager.js.map +1 -0
- package/dist/esm/agent/llm-caller.d.ts +58 -0
- package/dist/esm/agent/llm-caller.d.ts.map +1 -0
- package/dist/esm/agent/llm-caller.js +303 -0
- package/dist/esm/agent/llm-caller.js.map +1 -0
- package/dist/esm/agent/tool-executor.d.ts +95 -0
- package/dist/esm/agent/tool-executor.d.ts.map +1 -0
- package/dist/esm/agent/tool-executor.js +564 -0
- package/dist/esm/agent/tool-executor.js.map +1 -0
- package/dist/esm/agent/types.d.ts +128 -0
- package/dist/esm/agent/types.d.ts.map +1 -0
- package/dist/esm/agent/types.js +5 -0
- package/dist/esm/agent/types.js.map +1 -0
- package/dist/esm/agent/workflow.d.ts +74 -0
- package/dist/esm/agent/workflow.d.ts.map +1 -0
- package/dist/esm/agent/workflow.js +248 -0
- package/dist/esm/agent/workflow.js.map +1 -0
- package/dist/esm/context/collector.d.ts +12 -0
- package/dist/esm/context/collector.d.ts.map +1 -0
- package/dist/esm/context/collector.js +57 -0
- package/dist/esm/context/collector.js.map +1 -0
- package/dist/esm/context/manager.d.ts +16 -0
- package/dist/esm/context/manager.d.ts.map +1 -0
- package/dist/esm/context/manager.js +32 -0
- package/dist/esm/context/manager.js.map +1 -0
- package/dist/esm/context/types.d.ts +39 -0
- package/dist/esm/context/types.d.ts.map +1 -0
- package/dist/esm/context/types.js +5 -0
- package/dist/esm/context/types.js.map +1 -0
- package/dist/esm/hooks/types.d.ts +47 -0
- package/dist/esm/hooks/types.d.ts.map +1 -0
- package/dist/esm/hooks/types.js +5 -0
- package/dist/esm/hooks/types.js.map +1 -0
- package/{src/index.ts → dist/esm/index.d.ts} +16 -140
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +39 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/llm/anthropic-provider.d.ts +28 -0
- package/dist/esm/llm/anthropic-provider.d.ts.map +1 -0
- package/dist/esm/llm/anthropic-provider.js +352 -0
- package/dist/esm/llm/anthropic-provider.js.map +1 -0
- package/{src/llm/factory.ts → dist/esm/llm/factory.d.ts} +3 -18
- package/dist/esm/llm/factory.d.ts.map +1 -0
- package/dist/esm/llm/factory.js +30 -0
- package/dist/esm/llm/factory.js.map +1 -0
- package/dist/esm/llm/ollama-provider.d.ts +13 -0
- package/dist/esm/llm/ollama-provider.d.ts.map +1 -0
- package/dist/esm/llm/ollama-provider.js +30 -0
- package/dist/esm/llm/ollama-provider.js.map +1 -0
- package/dist/esm/llm/openai-provider.d.ts +18 -0
- package/dist/esm/llm/openai-provider.d.ts.map +1 -0
- package/dist/esm/llm/openai-provider.js +182 -0
- package/dist/esm/llm/openai-provider.js.map +1 -0
- package/{src/llm/provider.ts → dist/esm/llm/provider.d.ts} +1 -9
- package/dist/esm/llm/provider.d.ts.map +1 -0
- package/dist/esm/llm/provider.js +10 -0
- package/dist/esm/llm/provider.js.map +1 -0
- package/dist/esm/llm/types.d.ts +78 -0
- package/dist/esm/llm/types.d.ts.map +1 -0
- package/dist/esm/llm/types.js +5 -0
- package/dist/esm/llm/types.js.map +1 -0
- package/dist/esm/mcp/base-client.d.ts +50 -0
- package/dist/esm/mcp/base-client.d.ts.map +1 -0
- package/dist/esm/mcp/base-client.js +108 -0
- package/dist/esm/mcp/base-client.js.map +1 -0
- package/dist/esm/mcp/client.d.ts +27 -0
- package/dist/esm/mcp/client.d.ts.map +1 -0
- package/dist/esm/mcp/client.js +70 -0
- package/dist/esm/mcp/client.js.map +1 -0
- package/dist/esm/mcp/factory.d.ts +16 -0
- package/dist/esm/mcp/factory.d.ts.map +1 -0
- package/dist/esm/mcp/factory.js +39 -0
- package/dist/esm/mcp/factory.js.map +1 -0
- package/dist/esm/mcp/http-client.d.ts +24 -0
- package/dist/esm/mcp/http-client.d.ts.map +1 -0
- package/dist/esm/mcp/http-client.js +138 -0
- package/dist/esm/mcp/http-client.js.map +1 -0
- package/dist/esm/mcp/proxy-agent.d.ts +49 -0
- package/dist/esm/mcp/proxy-agent.d.ts.map +1 -0
- package/dist/esm/mcp/proxy-agent.js +187 -0
- package/dist/esm/mcp/proxy-agent.js.map +1 -0
- package/dist/esm/mcp/stdio-client.d.ts +16 -0
- package/dist/esm/mcp/stdio-client.d.ts.map +1 -0
- package/dist/esm/mcp/stdio-client.js +91 -0
- package/dist/esm/mcp/stdio-client.js.map +1 -0
- package/dist/esm/mcp/types.d.ts +60 -0
- package/dist/esm/mcp/types.d.ts.map +1 -0
- package/dist/esm/mcp/types.js +5 -0
- package/dist/esm/mcp/types.js.map +1 -0
- package/dist/esm/memory/checkpoint.d.ts +62 -0
- package/dist/esm/memory/checkpoint.d.ts.map +1 -0
- package/dist/esm/memory/checkpoint.js +121 -0
- package/dist/esm/memory/checkpoint.js.map +1 -0
- package/dist/esm/memory/extractor.d.ts +59 -0
- package/dist/esm/memory/extractor.d.ts.map +1 -0
- package/dist/esm/memory/extractor.js +117 -0
- package/dist/esm/memory/extractor.js.map +1 -0
- package/dist/esm/memory/persona.d.ts +38 -0
- package/dist/esm/memory/persona.d.ts.map +1 -0
- package/dist/esm/memory/persona.js +75 -0
- package/dist/esm/memory/persona.js.map +1 -0
- package/dist/esm/memory/pipeline.d.ts +50 -0
- package/dist/esm/memory/pipeline.d.ts.map +1 -0
- package/dist/esm/memory/pipeline.js +144 -0
- package/dist/esm/memory/pipeline.js.map +1 -0
- package/dist/esm/memory/prompts.d.ts +9 -0
- package/dist/esm/memory/prompts.d.ts.map +1 -0
- package/{src/memory/prompts.ts → dist/esm/memory/prompts.js} +6 -13
- package/dist/esm/memory/prompts.js.map +1 -0
- package/dist/esm/memory/recall.d.ts +66 -0
- package/dist/esm/memory/recall.d.ts.map +1 -0
- package/dist/esm/memory/recall.js +159 -0
- package/dist/esm/memory/recall.js.map +1 -0
- package/dist/esm/memory/scene.d.ts +49 -0
- package/dist/esm/memory/scene.d.ts.map +1 -0
- package/dist/esm/memory/scene.js +97 -0
- package/dist/esm/memory/scene.js.map +1 -0
- package/dist/esm/memory/types.d.ts +43 -0
- package/dist/esm/memory/types.d.ts.map +1 -0
- package/dist/esm/memory/types.js +5 -0
- package/dist/esm/memory/types.js.map +1 -0
- package/dist/esm/middleware/types.d.ts +52 -0
- package/dist/esm/middleware/types.d.ts.map +1 -0
- package/dist/esm/middleware/types.js +5 -0
- package/dist/esm/middleware/types.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/sandbox/types.d.ts +59 -0
- package/dist/esm/sandbox/types.d.ts.map +1 -0
- package/dist/esm/sandbox/types.js +125 -0
- package/dist/esm/sandbox/types.js.map +1 -0
- package/dist/esm/security/guard.d.ts +36 -0
- package/dist/esm/security/guard.d.ts.map +1 -0
- package/dist/esm/security/guard.js +287 -0
- package/dist/esm/security/guard.js.map +1 -0
- package/dist/esm/security/types.d.ts +40 -0
- package/dist/esm/security/types.d.ts.map +1 -0
- package/dist/esm/security/types.js +5 -0
- package/dist/esm/security/types.js.map +1 -0
- package/dist/esm/skill/manager.d.ts +95 -0
- package/dist/esm/skill/manager.d.ts.map +1 -0
- package/dist/esm/skill/manager.js +376 -0
- package/dist/esm/skill/manager.js.map +1 -0
- package/dist/esm/skill/router.d.ts +26 -0
- package/dist/esm/skill/router.d.ts.map +1 -0
- package/dist/esm/skill/router.js +135 -0
- package/dist/esm/skill/router.js.map +1 -0
- package/dist/esm/skill/types.d.ts +55 -0
- package/dist/esm/skill/types.d.ts.map +1 -0
- package/dist/esm/skill/types.js +5 -0
- package/dist/esm/skill/types.js.map +1 -0
- package/dist/esm/tool/delegate.d.ts +34 -0
- package/dist/esm/tool/delegate.d.ts.map +1 -0
- package/dist/esm/tool/delegate.js +75 -0
- package/dist/esm/tool/delegate.js.map +1 -0
- package/dist/esm/tool/registry.d.ts +49 -0
- package/dist/esm/tool/registry.d.ts.map +1 -0
- package/dist/esm/tool/registry.js +83 -0
- package/dist/esm/tool/registry.js.map +1 -0
- package/dist/esm/tool/types.d.ts +101 -0
- package/dist/esm/tool/types.d.ts.map +1 -0
- package/dist/esm/tool/types.js +5 -0
- package/dist/esm/tool/types.js.map +1 -0
- package/dist/esm/types.d.ts +150 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +5 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/token-counter.d.ts +22 -0
- package/dist/esm/utils/token-counter.d.ts.map +1 -0
- package/dist/esm/utils/token-counter.js +99 -0
- package/dist/esm/utils/token-counter.js.map +1 -0
- package/package.json +16 -10
- package/dist/agent/engine.d.ts.map +0 -1
- package/dist/agent/history-manager.d.ts.map +0 -1
- package/dist/agent/llm-caller.d.ts.map +0 -1
- package/dist/agent/tool-executor.d.ts.map +0 -1
- package/dist/agent/types.d.ts.map +0 -1
- package/dist/agent/workflow.d.ts.map +0 -1
- package/dist/context/collector.d.ts.map +0 -1
- package/dist/context/manager.d.ts.map +0 -1
- package/dist/context/types.d.ts.map +0 -1
- package/dist/hooks/types.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/llm/anthropic-provider.d.ts.map +0 -1
- package/dist/llm/factory.d.ts.map +0 -1
- package/dist/llm/ollama-provider.d.ts.map +0 -1
- package/dist/llm/openai-provider.d.ts.map +0 -1
- package/dist/llm/provider.d.ts.map +0 -1
- package/dist/llm/types.d.ts.map +0 -1
- package/dist/mcp/base-client.d.ts.map +0 -1
- package/dist/mcp/client.d.ts.map +0 -1
- package/dist/mcp/factory.d.ts.map +0 -1
- package/dist/mcp/http-client.d.ts.map +0 -1
- package/dist/mcp/proxy-agent.d.ts.map +0 -1
- package/dist/mcp/stdio-client.d.ts.map +0 -1
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/memory/checkpoint.d.ts.map +0 -1
- package/dist/memory/extractor.d.ts.map +0 -1
- package/dist/memory/persona.d.ts.map +0 -1
- package/dist/memory/pipeline.d.ts.map +0 -1
- package/dist/memory/prompts.d.ts.map +0 -1
- package/dist/memory/recall.d.ts.map +0 -1
- package/dist/memory/scene.d.ts.map +0 -1
- package/dist/memory/types.d.ts.map +0 -1
- package/dist/middleware/types.d.ts.map +0 -1
- package/dist/sandbox/types.d.ts.map +0 -1
- package/dist/security/guard.d.ts.map +0 -1
- package/dist/security/types.d.ts.map +0 -1
- package/dist/skill/manager.d.ts.map +0 -1
- package/dist/skill/router.d.ts.map +0 -1
- package/dist/skill/types.d.ts.map +0 -1
- package/dist/tool/delegate.d.ts.map +0 -1
- package/dist/tool/registry.d.ts +0 -24
- package/dist/tool/registry.d.ts.map +0 -1
- package/dist/tool/types.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/token-counter.d.ts.map +0 -1
- package/src/agent/engine.ts +0 -875
- package/src/agent/history-manager.ts +0 -323
- package/src/agent/llm-caller.ts +0 -383
- package/src/agent/tool-executor.ts +0 -713
- package/src/agent/types.ts +0 -136
- package/src/agent/workflow.ts +0 -339
- package/src/context/collector.ts +0 -59
- package/src/context/manager.ts +0 -40
- package/src/context/types.ts +0 -51
- package/src/hooks/types.ts +0 -77
- package/src/llm/anthropic-provider.ts +0 -412
- package/src/llm/ollama-provider.ts +0 -39
- package/src/llm/openai-provider.ts +0 -200
- package/src/llm/types.ts +0 -91
- package/src/mcp/base-client.ts +0 -159
- package/src/mcp/client.ts +0 -81
- package/src/mcp/factory.ts +0 -45
- package/src/mcp/http-client.ts +0 -149
- package/src/mcp/proxy-agent.ts +0 -227
- package/src/mcp/stdio-client.ts +0 -104
- package/src/mcp/types.ts +0 -65
- package/src/memory/checkpoint.ts +0 -146
- package/src/memory/extractor.ts +0 -164
- package/src/memory/persona.ts +0 -106
- package/src/memory/pipeline.ts +0 -192
- package/src/memory/recall.ts +0 -217
- package/src/memory/scene.ts +0 -137
- package/src/memory/types.ts +0 -54
- package/src/middleware/types.ts +0 -62
- package/src/sandbox/types.ts +0 -185
- package/src/security/guard.ts +0 -249
- package/src/security/types.ts +0 -46
- package/src/skill/manager.ts +0 -420
- package/src/skill/router.ts +0 -158
- package/src/skill/types.ts +0 -67
- package/src/tool/delegate.ts +0 -105
- package/src/tool/registry.ts +0 -64
- package/src/tool/types.ts +0 -124
- package/src/types.ts +0 -188
- package/src/utils/token-counter.ts +0 -108
- /package/dist/{agent → cjs/agent}/engine.d.ts +0 -0
- /package/dist/{agent → cjs/agent}/history-manager.d.ts +0 -0
- /package/dist/{agent → cjs/agent}/llm-caller.d.ts +0 -0
- /package/dist/{agent → cjs/agent}/tool-executor.d.ts +0 -0
- /package/dist/{agent → cjs/agent}/types.d.ts +0 -0
- /package/dist/{agent → cjs/agent}/workflow.d.ts +0 -0
- /package/dist/{context → cjs/context}/collector.d.ts +0 -0
- /package/dist/{context → cjs/context}/manager.d.ts +0 -0
- /package/dist/{context → cjs/context}/types.d.ts +0 -0
- /package/dist/{hooks → cjs/hooks}/types.d.ts +0 -0
- /package/dist/{llm → cjs/llm}/anthropic-provider.d.ts +0 -0
- /package/dist/{llm → cjs/llm}/factory.d.ts +0 -0
- /package/dist/{llm → cjs/llm}/ollama-provider.d.ts +0 -0
- /package/dist/{llm → cjs/llm}/openai-provider.d.ts +0 -0
- /package/dist/{llm → cjs/llm}/provider.d.ts +0 -0
- /package/dist/{llm → cjs/llm}/types.d.ts +0 -0
- /package/dist/{mcp → cjs/mcp}/base-client.d.ts +0 -0
- /package/dist/{mcp → cjs/mcp}/client.d.ts +0 -0
- /package/dist/{mcp → cjs/mcp}/factory.d.ts +0 -0
- /package/dist/{mcp → cjs/mcp}/http-client.d.ts +0 -0
- /package/dist/{mcp → cjs/mcp}/proxy-agent.d.ts +0 -0
- /package/dist/{mcp → cjs/mcp}/stdio-client.d.ts +0 -0
- /package/dist/{mcp → cjs/mcp}/types.d.ts +0 -0
- /package/dist/{memory → cjs/memory}/checkpoint.d.ts +0 -0
- /package/dist/{memory → cjs/memory}/extractor.d.ts +0 -0
- /package/dist/{memory → cjs/memory}/persona.d.ts +0 -0
- /package/dist/{memory → cjs/memory}/pipeline.d.ts +0 -0
- /package/dist/{memory → cjs/memory}/prompts.d.ts +0 -0
- /package/dist/{memory → cjs/memory}/recall.d.ts +0 -0
- /package/dist/{memory → cjs/memory}/scene.d.ts +0 -0
- /package/dist/{memory → cjs/memory}/types.d.ts +0 -0
- /package/dist/{middleware → cjs/middleware}/types.d.ts +0 -0
- /package/dist/{sandbox → cjs/sandbox}/types.d.ts +0 -0
- /package/dist/{skill → cjs/skill}/manager.d.ts +0 -0
- /package/dist/{skill → cjs/skill}/router.d.ts +0 -0
- /package/dist/{skill → cjs/skill}/types.d.ts +0 -0
- /package/dist/{tool → cjs/tool}/delegate.d.ts +0 -0
- /package/dist/{tool → cjs/tool}/types.d.ts +0 -0
- /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
- /package/dist/{utils → cjs/utils}/token-counter.d.ts +0 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// Proxy Agent — 通用 HTTP/HTTPS/SOCKS 代理解析工具
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DEFAULT_PROXY_SETTINGS = void 0;
|
|
7
|
+
exports.getWindowsSystemProxy = getWindowsSystemProxy;
|
|
8
|
+
exports.clearSystemProxyCache = clearSystemProxyCache;
|
|
9
|
+
exports.getSystemProxyUrl = getSystemProxyUrl;
|
|
10
|
+
exports.resolveProxyAgentForCategory = resolveProxyAgentForCategory;
|
|
11
|
+
exports.resolveProxyUrlForCategory = resolveProxyUrlForCategory;
|
|
12
|
+
const undici_1 = require("undici");
|
|
13
|
+
const socks_proxy_agent_1 = require("socks-proxy-agent");
|
|
14
|
+
const child_process_1 = require("child_process");
|
|
15
|
+
/** 默认代理设置:全部分类走系统代理 */
|
|
16
|
+
exports.DEFAULT_PROXY_SETTINGS = {
|
|
17
|
+
llm: { mode: 'system' },
|
|
18
|
+
mcp: { mode: 'system' },
|
|
19
|
+
fetch: { mode: 'system' },
|
|
20
|
+
};
|
|
21
|
+
// ---- macOS 系统代理检测 ----
|
|
22
|
+
/**
|
|
23
|
+
* 从 macOS 系统偏好设置读取代理配置
|
|
24
|
+
* 通过 scutil --proxy 查询,仅 macOS 平台生效
|
|
25
|
+
*/
|
|
26
|
+
function getMacOSSystemProxy() {
|
|
27
|
+
if (process.platform !== 'darwin')
|
|
28
|
+
return undefined;
|
|
29
|
+
try {
|
|
30
|
+
const output = (0, child_process_1.execSync)('scutil --proxy', { encoding: 'utf-8', timeout: 3000 });
|
|
31
|
+
const parsed = {};
|
|
32
|
+
// scutil 输出格式: " Key : Value"
|
|
33
|
+
for (const line of output.split('\n')) {
|
|
34
|
+
const m = line.trim().match(/^(\w+)\s*:\s*(.+)$/);
|
|
35
|
+
if (m)
|
|
36
|
+
parsed[m[1]] = m[2].trim();
|
|
37
|
+
}
|
|
38
|
+
// 优先 HTTPS 代理,其次 HTTP 代理,最后 SOCKS 代理
|
|
39
|
+
if (parsed['HTTPSEnable'] === '1' && parsed['HTTPSProxy']) {
|
|
40
|
+
const port = parsed['HTTPSPort'] || '443';
|
|
41
|
+
const url = `http://${parsed['HTTPSProxy']}:${port}`;
|
|
42
|
+
console.debug(`[Proxy] macOS system HTTPS proxy detected: ${url}`);
|
|
43
|
+
return url;
|
|
44
|
+
}
|
|
45
|
+
if (parsed['HTTPEnable'] === '1' && parsed['HTTPProxy']) {
|
|
46
|
+
const port = parsed['HTTPPort'] || '80';
|
|
47
|
+
const url = `http://${parsed['HTTPProxy']}:${port}`;
|
|
48
|
+
console.debug(`[Proxy] macOS system HTTP proxy detected: ${url}`);
|
|
49
|
+
return url;
|
|
50
|
+
}
|
|
51
|
+
if (parsed['SOCKSEnable'] === '1' && parsed['SOCKSProxy']) {
|
|
52
|
+
const port = parsed['SOCKSPort'] || '1080';
|
|
53
|
+
const url = `socks5://${parsed['SOCKSProxy']}:${port}`;
|
|
54
|
+
console.debug(`[Proxy] macOS system SOCKS proxy detected: ${url}`);
|
|
55
|
+
return url;
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// ---- Windows 系统代理检测 ----
|
|
64
|
+
let _cachedSystemProxy = null;
|
|
65
|
+
/**
|
|
66
|
+
* 从 Windows 注册表读取系统代理配置
|
|
67
|
+
* 仅 Windows 平台生效,其他平台返回 undefined
|
|
68
|
+
* 结果缓存,避免重复查询注册表
|
|
69
|
+
*/
|
|
70
|
+
function getWindowsSystemProxy() {
|
|
71
|
+
if (_cachedSystemProxy !== null)
|
|
72
|
+
return _cachedSystemProxy || undefined;
|
|
73
|
+
if (process.platform !== 'win32') {
|
|
74
|
+
_cachedSystemProxy = undefined;
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const regPath = 'HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings';
|
|
79
|
+
const output = (0, child_process_1.execSync)(`reg query "${regPath}" /v ProxyEnable`, { encoding: 'utf-8', timeout: 3000, windowsHide: true });
|
|
80
|
+
const enabledMatch = output.match(/ProxyEnable\s+REG_DWORD\s+0x(\d+)/i);
|
|
81
|
+
if (!enabledMatch || enabledMatch[1] === '0') {
|
|
82
|
+
_cachedSystemProxy = undefined;
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
const serverOutput = (0, child_process_1.execSync)(`reg query "${regPath}" /v ProxyServer`, { encoding: 'utf-8', timeout: 3000, windowsHide: true });
|
|
86
|
+
const serverMatch = serverOutput.match(/ProxyServer\s+REG_SZ\s+(.+)/i);
|
|
87
|
+
if (!serverMatch) {
|
|
88
|
+
_cachedSystemProxy = undefined;
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
const proxyServer = serverMatch[1].trim();
|
|
92
|
+
// Windows 代理可能是 ip:port 格式,需要补全协议
|
|
93
|
+
const proxyUrl = proxyServer.includes('://') ? proxyServer : `http://${proxyServer}`;
|
|
94
|
+
_cachedSystemProxy = proxyUrl;
|
|
95
|
+
console.debug(`[Proxy] Windows system proxy detected: ${proxyUrl}`);
|
|
96
|
+
return proxyUrl;
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
_cachedSystemProxy = undefined;
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/** 清除系统代理缓存(设置变更时可调用) */
|
|
104
|
+
function clearSystemProxyCache() {
|
|
105
|
+
_cachedSystemProxy = null;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* 获取系统代理 URL
|
|
109
|
+
* 优先级:环境变量 HTTPS_PROXY / HTTP_PROXY / ALL_PROXY > macOS scutil > Windows 注册表
|
|
110
|
+
*/
|
|
111
|
+
function getSystemProxyUrl() {
|
|
112
|
+
return process.env.HTTPS_PROXY
|
|
113
|
+
|| process.env.https_proxy
|
|
114
|
+
|| process.env.HTTP_PROXY
|
|
115
|
+
|| process.env.http_proxy
|
|
116
|
+
|| process.env.ALL_PROXY
|
|
117
|
+
|| process.env.all_proxy
|
|
118
|
+
|| getMacOSSystemProxy()
|
|
119
|
+
|| getWindowsSystemProxy();
|
|
120
|
+
}
|
|
121
|
+
// ---- Dispatcher 创建 ----
|
|
122
|
+
/**
|
|
123
|
+
* 根据代理 URL 创建对应的 dispatcher
|
|
124
|
+
*
|
|
125
|
+
* 自动识别协议:
|
|
126
|
+
* - `http://proxy:8080` → undici ProxyAgent(HTTP 代理)
|
|
127
|
+
* - `https://proxy:8443` → undici ProxyAgent(HTTPS 代理)
|
|
128
|
+
* - `socks5://proxy:1080`→ SocksProxyAgent(SOCKS5)
|
|
129
|
+
* - `socks4://proxy:1080`→ SocksProxyAgent(SOCKS4)
|
|
130
|
+
*
|
|
131
|
+
* @returns dispatcher 实例,无代理时返回 undefined
|
|
132
|
+
*/
|
|
133
|
+
function createDispatcherFromUrl(proxyUrl, label = 'Proxy') {
|
|
134
|
+
if (proxyUrl.startsWith('socks')) {
|
|
135
|
+
console.debug(`[${label}] using SOCKS proxy: ${proxyUrl}`);
|
|
136
|
+
return new socks_proxy_agent_1.SocksProxyAgent(proxyUrl);
|
|
137
|
+
}
|
|
138
|
+
console.debug(`[${label}] using HTTP proxy: ${proxyUrl}`);
|
|
139
|
+
return new undici_1.ProxyAgent(proxyUrl);
|
|
140
|
+
}
|
|
141
|
+
// ---- 新版分类代理解析 ----
|
|
142
|
+
/**
|
|
143
|
+
* 根据分类代理配置创建 dispatcher
|
|
144
|
+
*
|
|
145
|
+
* - `mode='system'`:自动检测系统代理(环境变量 + Windows 注册表)
|
|
146
|
+
* - `mode='custom'`:使用用户指定的代理 URL
|
|
147
|
+
* - `mode='direct'`:不走代理,返回 undefined
|
|
148
|
+
*
|
|
149
|
+
* @param category 分类代理配置
|
|
150
|
+
* @param label 日志标签(如 'LLM', 'MCP', 'Fetch')
|
|
151
|
+
* @returns dispatcher 实例,无代理时返回 undefined
|
|
152
|
+
*/
|
|
153
|
+
function resolveProxyAgentForCategory(category, label = 'Proxy') {
|
|
154
|
+
if (!category)
|
|
155
|
+
return undefined;
|
|
156
|
+
switch (category.mode) {
|
|
157
|
+
case 'direct':
|
|
158
|
+
console.debug(`[${label}] proxy mode: direct (no proxy)`);
|
|
159
|
+
return undefined;
|
|
160
|
+
case 'custom':
|
|
161
|
+
if (!category.url) {
|
|
162
|
+
console.debug(`[${label}] proxy mode: custom but no URL configured, falling back to direct`);
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
165
|
+
return createDispatcherFromUrl(category.url, label);
|
|
166
|
+
case 'system':
|
|
167
|
+
default: {
|
|
168
|
+
const systemUrl = getSystemProxyUrl();
|
|
169
|
+
if (!systemUrl) {
|
|
170
|
+
console.debug(`[${label}] proxy mode: system, no system proxy detected`);
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
return createDispatcherFromUrl(systemUrl, label);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* 获取分类代理的有效 URL(用于 axios 等不支持 undici Dispatcher 的场景)
|
|
179
|
+
*
|
|
180
|
+
* @returns 代理 URL 字符串,无代理时返回 undefined
|
|
181
|
+
*/
|
|
182
|
+
function resolveProxyUrlForCategory(category) {
|
|
183
|
+
if (!category)
|
|
184
|
+
return undefined;
|
|
185
|
+
switch (category.mode) {
|
|
186
|
+
case 'direct':
|
|
187
|
+
return undefined;
|
|
188
|
+
case 'custom':
|
|
189
|
+
return category.url || undefined;
|
|
190
|
+
case 'system':
|
|
191
|
+
default:
|
|
192
|
+
return getSystemProxyUrl();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=proxy-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-agent.js","sourceRoot":"","sources":["../../../src/mcp/proxy-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio-client.d.ts","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAM;cAEJ,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDjE,SAAS,CAAC,YAAY,IAAI,IAAI;IAQ9B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI;IAgBhH,OAAO,CAAC,WAAW;CAkBpB"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// StdioMCPClient — 通过子进程 stdio 通信的 MCP 客户端
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.StdioMCPClient = void 0;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const base_client_ts_1 = require("./base-client.js");
|
|
9
|
+
class StdioMCPClient extends base_client_ts_1.MCPClientBase {
|
|
10
|
+
process = null;
|
|
11
|
+
buffer = '';
|
|
12
|
+
async doConnect(config) {
|
|
13
|
+
if (!config.command) {
|
|
14
|
+
throw new Error('stdio transport requires a "command" in config');
|
|
15
|
+
}
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
const child = (0, child_process_1.spawn)(config.command, config.args || [], {
|
|
18
|
+
env: { ...process.env, ...(config.env || {}) },
|
|
19
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
20
|
+
});
|
|
21
|
+
this.process = child;
|
|
22
|
+
// 超时检查
|
|
23
|
+
const timer = setTimeout(() => {
|
|
24
|
+
reject(new Error(`stdio MCP server '${config.name}' failed to start within 10s`));
|
|
25
|
+
}, 10000);
|
|
26
|
+
child.on('spawn', () => {
|
|
27
|
+
clearTimeout(timer);
|
|
28
|
+
resolve();
|
|
29
|
+
});
|
|
30
|
+
child.on('error', (err) => {
|
|
31
|
+
clearTimeout(timer);
|
|
32
|
+
reject(new Error(`Failed to start MCP server '${config.name}': ${err.message}`));
|
|
33
|
+
});
|
|
34
|
+
// stdout 接收 JSON-RPC 响应(逐行)
|
|
35
|
+
child.stdout?.on('data', (chunk) => {
|
|
36
|
+
this.buffer += chunk.toString();
|
|
37
|
+
this.flushBuffer();
|
|
38
|
+
});
|
|
39
|
+
// stderr 用于日志
|
|
40
|
+
child.stderr?.on('data', (chunk) => {
|
|
41
|
+
const msg = chunk.toString().trim();
|
|
42
|
+
if (msg)
|
|
43
|
+
console.debug(`[MCP:${config.name}] ${msg}`);
|
|
44
|
+
});
|
|
45
|
+
child.on('exit', (code) => {
|
|
46
|
+
if (this.connected) {
|
|
47
|
+
console.warn(`[MCP:${config.name}] process exited with code ${code}`);
|
|
48
|
+
this.connected = false;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
doDisconnect() {
|
|
54
|
+
if (this.process) {
|
|
55
|
+
this.process.kill('SIGTERM');
|
|
56
|
+
this.process = null;
|
|
57
|
+
}
|
|
58
|
+
this.buffer = '';
|
|
59
|
+
}
|
|
60
|
+
send(request) {
|
|
61
|
+
if (!this.process?.stdin?.writable) {
|
|
62
|
+
throw new Error('MCP stdio process is not writable');
|
|
63
|
+
}
|
|
64
|
+
// 通知 (id=0) 不发 content-length,用 JSON-RPC notification 格式
|
|
65
|
+
if (request.id === 0) {
|
|
66
|
+
const msg = JSON.stringify({ jsonrpc: request.jsonrpc, method: request.method, params: request.params });
|
|
67
|
+
this.process.stdin.write(msg + '\n');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const msg = JSON.stringify(request);
|
|
71
|
+
this.process.stdin.write(msg + '\n');
|
|
72
|
+
}
|
|
73
|
+
// ---- 内部 ----
|
|
74
|
+
flushBuffer() {
|
|
75
|
+
const lines = this.buffer.split('\n');
|
|
76
|
+
this.buffer = lines.pop() || ''; // 最后一行可能不完整
|
|
77
|
+
for (const line of lines) {
|
|
78
|
+
const trimmed = line.trim();
|
|
79
|
+
if (!trimmed)
|
|
80
|
+
continue;
|
|
81
|
+
try {
|
|
82
|
+
const data = JSON.parse(trimmed);
|
|
83
|
+
// 只处理有 id 的响应(非 notification)
|
|
84
|
+
if (data.id !== undefined && data.id !== 0) {
|
|
85
|
+
this.handleResponse(data);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// 非 JSON 行忽略
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.StdioMCPClient = StdioMCPClient;
|
|
95
|
+
//# sourceMappingURL=stdio-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio-client.js","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAI5D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,CAAC;IACxB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qEAAqE;IACrE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,aAAa,CAAC,EAAE,OAAO,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAID,MAAM,WAAW,SAAS;IACxB,gBAAgB;IAChB,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,eAAe;IACf,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvC,aAAa;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvE,qBAAqB;IACrB,aAAa,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAEtF,mBAAmB;IACnB,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,WAAW;IACX,UAAU,IAAI,IAAI,CAAC;IAEnB,WAAW;IACX,WAAW,IAAI,OAAO,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../src/memory/checkpoint.ts"],"names":[],"mappings":"AAWA,YAAY;AACZ,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAYD;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAiB;IAE7B;;OAEG;gBACS,QAAQ,CAAC,EAAE,MAAM;IAK7B,gBAAgB;IAChB,GAAG,IAAI,cAAc;IAIrB;;;;OAIG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAInE;;;;OAIG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAInE;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAOtC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAMtC;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,OAAO;CAWhB;AAKD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAKvE;AAED,0BAA0B;AAC1B,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// MemoryCheckpoint — 记忆管道检查点
|
|
4
|
+
// ============================================================
|
|
5
|
+
// 记录管道调度器的执行状态,避免重复处理:
|
|
6
|
+
// - 上次 L2 聚合时的 L1 条目数
|
|
7
|
+
// - 上次 L3 生成时的 L2 条目数
|
|
8
|
+
// - 最后执行时间
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.MemoryCheckpoint = void 0;
|
|
44
|
+
exports.getMemoryCheckpoint = getMemoryCheckpoint;
|
|
45
|
+
exports.resetMemoryCheckpoint = resetMemoryCheckpoint;
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
const DEFAULT_CHECKPOINT = {
|
|
49
|
+
lastL1Count: 0,
|
|
50
|
+
lastL2Count: 0,
|
|
51
|
+
lastRunAt: '',
|
|
52
|
+
runCount: 0,
|
|
53
|
+
};
|
|
54
|
+
/** 默认检查点文件路径(基于 process.cwd()) */
|
|
55
|
+
const DEFAULT_CHECKPOINT_PATH = 'data/memories/checkpoint.json';
|
|
56
|
+
/**
|
|
57
|
+
* 记忆管道检查点
|
|
58
|
+
*
|
|
59
|
+
* 用于管道调度器判断是否需要触发 L2/L3:
|
|
60
|
+
* - 当 L1 增量(当前 - lastL1Count)达到阈值时触发 L2
|
|
61
|
+
* - 当 L2 增量(当前 - lastL2Count)达到阈值时触发 L3
|
|
62
|
+
*/
|
|
63
|
+
class MemoryCheckpoint {
|
|
64
|
+
filePath;
|
|
65
|
+
data;
|
|
66
|
+
/**
|
|
67
|
+
* @param filePath 检查点文件路径,默认为 {cwd}/data/memories/checkpoint.json
|
|
68
|
+
*/
|
|
69
|
+
constructor(filePath) {
|
|
70
|
+
this.filePath = filePath ?? path.join(process.cwd(), DEFAULT_CHECKPOINT_PATH);
|
|
71
|
+
this.data = this.load();
|
|
72
|
+
}
|
|
73
|
+
/** 获取当前检查点数据 */
|
|
74
|
+
get() {
|
|
75
|
+
return { ...this.data };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* 判断是否应触发 L2 聚合
|
|
79
|
+
* @param currentL1Count 当前 L1 条目总数
|
|
80
|
+
* @param threshold L2 触发阈值
|
|
81
|
+
*/
|
|
82
|
+
shouldTriggerL2(currentL1Count, threshold) {
|
|
83
|
+
return (currentL1Count - this.data.lastL1Count) >= threshold;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 判断是否应触发 L3 画像更新
|
|
87
|
+
* @param currentL2Count 当前 L2 条目总数
|
|
88
|
+
* @param threshold L3 触发阈值
|
|
89
|
+
*/
|
|
90
|
+
shouldTriggerL3(currentL2Count, threshold) {
|
|
91
|
+
return (currentL2Count - this.data.lastL2Count) >= threshold;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 更新检查点(L2 聚合完成后调用)
|
|
95
|
+
*/
|
|
96
|
+
updateL2(currentL1Count) {
|
|
97
|
+
this.data.lastL1Count = currentL1Count;
|
|
98
|
+
this.data.lastRunAt = new Date().toISOString();
|
|
99
|
+
this.data.runCount++;
|
|
100
|
+
this.persist();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 更新检查点(L3 画像完成后调用)
|
|
104
|
+
*/
|
|
105
|
+
updateL3(currentL2Count) {
|
|
106
|
+
this.data.lastL2Count = currentL2Count;
|
|
107
|
+
this.data.lastRunAt = new Date().toISOString();
|
|
108
|
+
this.persist();
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* 重置检查点(用于手动触发全量重建)
|
|
112
|
+
*/
|
|
113
|
+
reset() {
|
|
114
|
+
this.data = { ...DEFAULT_CHECKPOINT };
|
|
115
|
+
this.persist();
|
|
116
|
+
}
|
|
117
|
+
load() {
|
|
118
|
+
try {
|
|
119
|
+
if (fs.existsSync(this.filePath)) {
|
|
120
|
+
const raw = fs.readFileSync(this.filePath, 'utf-8');
|
|
121
|
+
const data = JSON.parse(raw);
|
|
122
|
+
return { ...DEFAULT_CHECKPOINT, ...data };
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
console.warn('[MemoryCheckpoint] Failed to load:', err);
|
|
127
|
+
}
|
|
128
|
+
return { ...DEFAULT_CHECKPOINT };
|
|
129
|
+
}
|
|
130
|
+
persist() {
|
|
131
|
+
try {
|
|
132
|
+
const dir = path.dirname(this.filePath);
|
|
133
|
+
if (!fs.existsSync(dir)) {
|
|
134
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
135
|
+
}
|
|
136
|
+
fs.writeFileSync(this.filePath, JSON.stringify(this.data, null, 2), 'utf-8');
|
|
137
|
+
}
|
|
138
|
+
catch (err) {
|
|
139
|
+
console.warn('[MemoryCheckpoint] Failed to persist:', err);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.MemoryCheckpoint = MemoryCheckpoint;
|
|
144
|
+
/** 全局单例(可配置路径) */
|
|
145
|
+
let checkpointInstance = null;
|
|
146
|
+
/**
|
|
147
|
+
* 获取全局检查点实例
|
|
148
|
+
* @param filePath 可选,首次调用时指定自定义路径
|
|
149
|
+
*/
|
|
150
|
+
function getMemoryCheckpoint(filePath) {
|
|
151
|
+
if (!checkpointInstance) {
|
|
152
|
+
checkpointInstance = new MemoryCheckpoint(filePath);
|
|
153
|
+
}
|
|
154
|
+
return checkpointInstance;
|
|
155
|
+
}
|
|
156
|
+
/** 重置全局实例(用于测试或路径变更场景) */
|
|
157
|
+
function resetMemoryCheckpoint() {
|
|
158
|
+
checkpointInstance = null;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=checkpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../src/memory/checkpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../../src/memory/extractor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,kBAAkB;AAClB,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS;IACT,QAAQ,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC9E,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,WAAW;AACX,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,uBAAuB;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE,gBAAgB;IAOlC;;;;;;OAMG;IACG,OAAO,CACX,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAetB;;OAEG;YACW,OAAO;IAqBrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAuB7B"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// MemoryExtractor — LLM 驱动的原子事实提取器
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MemoryExtractor = void 0;
|
|
7
|
+
const prompts_ts_1 = require("./prompts.js");
|
|
8
|
+
/**
|
|
9
|
+
* LLM 驱动的原子事实提取器
|
|
10
|
+
* 从对话历史中提取持久性、可复用的结构化事实(L1 Atom)
|
|
11
|
+
*/
|
|
12
|
+
class MemoryExtractor {
|
|
13
|
+
llmProvider;
|
|
14
|
+
maxFactsPerSession;
|
|
15
|
+
minIterations;
|
|
16
|
+
timeoutMs;
|
|
17
|
+
constructor(opts) {
|
|
18
|
+
this.llmProvider = opts.llmProvider;
|
|
19
|
+
this.maxFactsPerSession = opts.maxFactsPerSession ?? 5;
|
|
20
|
+
this.minIterations = opts.minIterations ?? 3;
|
|
21
|
+
this.timeoutMs = opts.timeoutMs ?? 30000;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 从对话消息中提取原子事实
|
|
25
|
+
* @param messages 对话消息列表
|
|
26
|
+
* @param sessionId 当前会话 ID
|
|
27
|
+
* @param existingKeys 已有的记忆键(用于去重)
|
|
28
|
+
* @returns 提取到的原子事实数组
|
|
29
|
+
*/
|
|
30
|
+
async extract(messages, sessionId, existingKeys) {
|
|
31
|
+
// 构建对话摘要(避免超长对话)
|
|
32
|
+
const summary = this.buildMessagesSummary(messages);
|
|
33
|
+
const userPrompt = (0, prompts_ts_1.buildExtractionUserPrompt)(summary, existingKeys);
|
|
34
|
+
try {
|
|
35
|
+
const result = await this.callLLM(userPrompt);
|
|
36
|
+
return this.parseFacts(result, sessionId);
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
console.warn(`[MemoryExtractor] Extraction failed: ${err?.message || err}`);
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 调用 LLM 提取事实
|
|
45
|
+
*/
|
|
46
|
+
async callLLM(userPrompt) {
|
|
47
|
+
const messages = [
|
|
48
|
+
{ role: 'system', content: prompts_ts_1.EXTRACTION_SYSTEM_PROMPT },
|
|
49
|
+
{ role: 'user', content: userPrompt },
|
|
50
|
+
];
|
|
51
|
+
const chunks = [];
|
|
52
|
+
const stream = this.llmProvider.chatStream({
|
|
53
|
+
messages,
|
|
54
|
+
abortSignal: AbortSignal.timeout(this.timeoutMs),
|
|
55
|
+
});
|
|
56
|
+
for await (const chunk of stream) {
|
|
57
|
+
if (chunk.delta.content) {
|
|
58
|
+
chunks.push(chunk.delta.content);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return chunks.join('');
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 解析 LLM 输出的 JSON 数组
|
|
65
|
+
*/
|
|
66
|
+
parseFacts(raw, sessionId) {
|
|
67
|
+
// 尝试提取 JSON 数组(LLM 可能输出额外文本)
|
|
68
|
+
const jsonMatch = raw.match(/\[[\s\S]*\]/);
|
|
69
|
+
if (!jsonMatch)
|
|
70
|
+
return [];
|
|
71
|
+
try {
|
|
72
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
73
|
+
if (!Array.isArray(parsed))
|
|
74
|
+
return [];
|
|
75
|
+
return parsed
|
|
76
|
+
.filter((item) => item.key && item.content)
|
|
77
|
+
.slice(0, this.maxFactsPerSession)
|
|
78
|
+
.map((item) => ({
|
|
79
|
+
key: String(item.key).replace(/[^a-z0-9_]/g, '_').toLowerCase(),
|
|
80
|
+
content: String(item.content),
|
|
81
|
+
category: this.normalizeCategory(item.category),
|
|
82
|
+
importance: Math.min(5, Math.max(1, Number(item.importance) || 3)),
|
|
83
|
+
sourceSessionId: sessionId,
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
console.warn('[MemoryExtractor] Failed to parse LLM output as JSON');
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
normalizeCategory(cat) {
|
|
92
|
+
const valid = ['user_preference', 'project_knowledge', 'learned_fact', 'custom'];
|
|
93
|
+
return valid.includes(cat) ? cat : 'custom';
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 构建对话摘要(将消息列表压缩为文本,限制总字符数)
|
|
97
|
+
*/
|
|
98
|
+
buildMessagesSummary(messages) {
|
|
99
|
+
const maxChars = 6000;
|
|
100
|
+
const lines = [];
|
|
101
|
+
let totalLen = 0;
|
|
102
|
+
for (const msg of messages) {
|
|
103
|
+
if (msg.role === 'system')
|
|
104
|
+
continue;
|
|
105
|
+
const role = msg.role === 'user' ? 'USER' : msg.role === 'assistant' ? 'ASSISTANT' : 'TOOL';
|
|
106
|
+
const content = typeof msg.content === 'string'
|
|
107
|
+
? msg.content.slice(0, 500)
|
|
108
|
+
: JSON.stringify(msg.content).slice(0, 500);
|
|
109
|
+
const line = `[${role}] ${content}`;
|
|
110
|
+
if (totalLen + line.length > maxChars) {
|
|
111
|
+
lines.push(`... (${messages.length - lines.length} more messages truncated)`);
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
lines.push(line);
|
|
115
|
+
totalLen += line.length;
|
|
116
|
+
}
|
|
117
|
+
return lines.join('\n');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.MemoryExtractor = MemoryExtractor;
|
|
121
|
+
//# sourceMappingURL=extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../../../src/memory/extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../src/memory/persona.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,WAAW;AACX,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,cAAc;AACd,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE,uBAAuB;IAKzC;;;;;OAKG;IACG,QAAQ,CACZ,MAAM,EAAE,UAAU,EAAE,EACpB,eAAe,GAAE,MAAW,GAC3B,OAAO,CAAC,MAAM,CAAC;IAalB,OAAO,CAAC,eAAe;YAoBT,OAAO;CAoBtB"}
|