beddel 0.2.2 → 0.3.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/CHANGELOG.md +50 -0
- package/README.md +117 -14
- package/dist/agents/chat/chat.handler.d.ts +12 -0
- package/dist/agents/chat/chat.handler.d.ts.map +1 -0
- package/dist/agents/chat/chat.handler.js +145 -0
- package/dist/agents/chat/chat.handler.js.map +1 -0
- package/dist/agents/chat/chat.schema.d.ts +38 -0
- package/dist/agents/chat/chat.schema.d.ts.map +1 -0
- package/dist/agents/chat/chat.schema.js +31 -0
- package/dist/agents/chat/chat.schema.js.map +1 -0
- package/dist/agents/chat/chat.types.d.ts +42 -0
- package/dist/agents/chat/chat.types.d.ts.map +1 -0
- package/dist/agents/chat/chat.types.js +6 -0
- package/dist/agents/chat/chat.types.js.map +1 -0
- package/dist/agents/chat/chat.yaml +148 -0
- package/dist/agents/chat/index.d.ts +16 -0
- package/dist/agents/chat/index.d.ts.map +1 -0
- package/dist/agents/chat/index.js +21 -0
- package/dist/agents/chat/index.js.map +1 -0
- package/dist/agents/chromadb/chromadb.handler.d.ts +12 -0
- package/dist/agents/chromadb/chromadb.handler.d.ts.map +1 -0
- package/dist/agents/chromadb/chromadb.handler.js +139 -0
- package/dist/agents/chromadb/chromadb.handler.js.map +1 -0
- package/dist/agents/chromadb/chromadb.schema.d.ts +36 -0
- package/dist/agents/chromadb/chromadb.schema.d.ts.map +1 -0
- package/dist/agents/chromadb/chromadb.schema.js +33 -0
- package/dist/agents/chromadb/chromadb.schema.js.map +1 -0
- package/dist/agents/chromadb/chromadb.types.d.ts +49 -0
- package/dist/agents/chromadb/chromadb.types.d.ts.map +1 -0
- package/dist/agents/chromadb/chromadb.types.js +6 -0
- package/dist/agents/chromadb/chromadb.types.js.map +1 -0
- package/dist/agents/chromadb/chromadb.yaml +128 -0
- package/dist/agents/chromadb/index.d.ts +15 -0
- package/dist/agents/chromadb/index.d.ts.map +1 -0
- package/dist/agents/chromadb/index.js +20 -0
- package/dist/agents/chromadb/index.js.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts +8 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js +61 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts +22 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js +20 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts +32 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.js +6 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.js.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.yaml +84 -0
- package/dist/agents/gemini-vectorize/index.d.ts +15 -0
- package/dist/agents/gemini-vectorize/index.d.ts.map +1 -0
- package/dist/agents/gemini-vectorize/index.js +20 -0
- package/dist/agents/gemini-vectorize/index.js.map +1 -0
- package/dist/agents/gitmcp/gitmcp.handler.d.ts +12 -0
- package/dist/agents/gitmcp/gitmcp.handler.d.ts.map +1 -0
- package/dist/agents/gitmcp/gitmcp.handler.js +95 -0
- package/dist/agents/gitmcp/gitmcp.handler.js.map +1 -0
- package/dist/agents/gitmcp/gitmcp.schema.d.ts +17 -0
- package/dist/agents/gitmcp/gitmcp.schema.d.ts.map +1 -0
- package/dist/agents/gitmcp/gitmcp.schema.js +18 -0
- package/dist/agents/gitmcp/gitmcp.schema.js.map +1 -0
- package/dist/agents/gitmcp/gitmcp.types.d.ts +31 -0
- package/dist/agents/gitmcp/gitmcp.types.d.ts.map +1 -0
- package/dist/agents/gitmcp/gitmcp.types.js +6 -0
- package/dist/agents/gitmcp/gitmcp.types.js.map +1 -0
- package/dist/agents/gitmcp/gitmcp.yaml +71 -0
- package/dist/agents/gitmcp/index.d.ts +16 -0
- package/dist/agents/gitmcp/index.d.ts.map +1 -0
- package/dist/agents/gitmcp/index.js +21 -0
- package/dist/agents/gitmcp/index.js.map +1 -0
- package/dist/agents/image/image.handler.d.ts +8 -0
- package/dist/agents/image/image.handler.d.ts.map +1 -0
- package/dist/agents/image/image.handler.js +69 -0
- package/dist/agents/image/image.handler.js.map +1 -0
- package/dist/agents/image/image.schema.d.ts +29 -0
- package/dist/agents/image/image.schema.d.ts.map +1 -0
- package/dist/agents/image/image.schema.js +26 -0
- package/dist/agents/image/image.schema.js.map +1 -0
- package/dist/agents/image/image.types.d.ts +43 -0
- package/dist/agents/image/image.types.d.ts.map +1 -0
- package/dist/agents/image/image.types.js +6 -0
- package/dist/agents/image/image.types.js.map +1 -0
- package/{src/agents/image-agent.yaml → dist/agents/image/image.yaml} +21 -21
- package/dist/agents/image/index.d.ts +14 -0
- package/dist/agents/image/index.d.ts.map +1 -0
- package/dist/agents/image/index.js +19 -0
- package/dist/agents/image/index.js.map +1 -0
- package/dist/agents/index.d.ts +104 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +82 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/joker/index.d.ts +14 -0
- package/dist/agents/joker/index.d.ts.map +1 -0
- package/dist/agents/joker/index.js +19 -0
- package/dist/agents/joker/index.js.map +1 -0
- package/dist/agents/joker/joker.handler.d.ts +8 -0
- package/dist/agents/joker/joker.handler.d.ts.map +1 -0
- package/dist/agents/joker/joker.handler.js +44 -0
- package/dist/agents/joker/joker.handler.js.map +1 -0
- package/dist/agents/joker/joker.schema.d.ts +12 -0
- package/dist/agents/joker/joker.schema.d.ts.map +1 -0
- package/dist/agents/joker/joker.schema.js +13 -0
- package/dist/agents/joker/joker.schema.js.map +1 -0
- package/dist/agents/joker/joker.types.d.ts +36 -0
- package/dist/agents/joker/joker.types.d.ts.map +1 -0
- package/dist/agents/joker/joker.types.js +6 -0
- package/dist/agents/joker/joker.types.js.map +1 -0
- package/{src/agents/joker-agent.yaml → dist/agents/joker/joker.yaml} +4 -4
- package/dist/agents/llm/index.d.ts +15 -0
- package/dist/agents/llm/index.d.ts.map +1 -0
- package/dist/agents/llm/index.js +20 -0
- package/dist/agents/llm/index.js.map +1 -0
- package/dist/agents/llm/llm.handler.d.ts +8 -0
- package/dist/agents/llm/llm.handler.d.ts.map +1 -0
- package/dist/agents/llm/llm.handler.js +64 -0
- package/dist/agents/llm/llm.handler.js.map +1 -0
- package/dist/agents/llm/llm.schema.d.ts +26 -0
- package/dist/agents/llm/llm.schema.d.ts.map +1 -0
- package/dist/agents/llm/llm.schema.js +23 -0
- package/dist/agents/llm/llm.schema.js.map +1 -0
- package/dist/agents/llm/llm.types.d.ts +34 -0
- package/dist/agents/llm/llm.types.d.ts.map +1 -0
- package/dist/agents/llm/llm.types.js +7 -0
- package/dist/agents/llm/llm.types.js.map +1 -0
- package/dist/agents/llm/llm.yaml +87 -0
- package/dist/agents/mcp-tool/index.d.ts +14 -0
- package/dist/agents/mcp-tool/index.d.ts.map +1 -0
- package/dist/agents/mcp-tool/index.js +19 -0
- package/dist/agents/mcp-tool/index.js.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.handler.d.ts +12 -0
- package/dist/agents/mcp-tool/mcp-tool.handler.d.ts.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.handler.js +116 -0
- package/dist/agents/mcp-tool/mcp-tool.handler.js.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.schema.d.ts +19 -0
- package/dist/agents/mcp-tool/mcp-tool.schema.d.ts.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.schema.js +20 -0
- package/dist/agents/mcp-tool/mcp-tool.schema.js.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.types.d.ts +31 -0
- package/dist/agents/mcp-tool/mcp-tool.types.d.ts.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.types.js +6 -0
- package/dist/agents/mcp-tool/mcp-tool.types.js.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.yaml +71 -0
- package/dist/agents/rag/index.d.ts +15 -0
- package/dist/agents/rag/index.d.ts.map +1 -0
- package/dist/agents/rag/index.js +20 -0
- package/dist/agents/rag/index.js.map +1 -0
- package/dist/agents/rag/rag.handler.d.ts +9 -0
- package/dist/agents/rag/rag.handler.d.ts.map +1 -0
- package/dist/agents/rag/rag.handler.js +78 -0
- package/dist/agents/rag/rag.handler.js.map +1 -0
- package/dist/agents/rag/rag.schema.d.ts +27 -0
- package/dist/agents/rag/rag.schema.d.ts.map +1 -0
- package/dist/agents/rag/rag.schema.js +24 -0
- package/dist/agents/rag/rag.schema.js.map +1 -0
- package/dist/agents/rag/rag.types.d.ts +42 -0
- package/dist/agents/rag/rag.types.d.ts.map +1 -0
- package/dist/agents/rag/rag.types.js +7 -0
- package/dist/agents/rag/rag.types.js.map +1 -0
- package/dist/agents/rag/rag.yaml +89 -0
- package/dist/agents/{agentRegistry.d.ts → registry/agentRegistry.d.ts} +30 -1
- package/dist/agents/registry/agentRegistry.d.ts.map +1 -0
- package/dist/agents/{agentRegistry.js → registry/agentRegistry.js} +187 -5
- package/dist/agents/registry/agentRegistry.js.map +1 -0
- package/dist/agents/registry/index.d.ts +6 -0
- package/dist/agents/registry/index.d.ts.map +1 -0
- package/dist/agents/registry/index.js +10 -0
- package/dist/agents/registry/index.js.map +1 -0
- package/dist/agents/translator/index.d.ts +14 -0
- package/dist/agents/translator/index.d.ts.map +1 -0
- package/dist/agents/translator/index.js +19 -0
- package/dist/agents/translator/index.js.map +1 -0
- package/dist/agents/translator/translator.handler.d.ts +8 -0
- package/dist/agents/translator/translator.handler.d.ts.map +1 -0
- package/dist/agents/translator/translator.handler.js +81 -0
- package/dist/agents/translator/translator.handler.js.map +1 -0
- package/dist/agents/translator/translator.schema.d.ts +27 -0
- package/dist/agents/translator/translator.schema.d.ts.map +1 -0
- package/dist/agents/translator/translator.schema.js +28 -0
- package/dist/agents/translator/translator.schema.js.map +1 -0
- package/dist/agents/translator/translator.types.d.ts +41 -0
- package/dist/agents/translator/translator.types.d.ts.map +1 -0
- package/dist/agents/translator/translator.types.js +6 -0
- package/dist/agents/translator/translator.types.js.map +1 -0
- package/{src/agents/translator-agent.yaml → dist/agents/translator/translator.yaml} +27 -27
- package/dist/client/index.d.ts +89 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +93 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/types.d.ts +17 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +7 -0
- package/dist/client/types.js.map +1 -0
- package/dist/firebase/tenantManager.d.ts +34 -2
- package/dist/firebase/tenantManager.d.ts.map +1 -1
- package/dist/firebase/tenantManager.js +67 -1
- package/dist/firebase/tenantManager.js.map +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -7
- package/dist/index.js.map +1 -1
- package/dist/runtime/declarativeAgentRuntime.d.ts +17 -52
- package/dist/runtime/declarativeAgentRuntime.d.ts.map +1 -1
- package/dist/runtime/declarativeAgentRuntime.js +259 -361
- package/dist/runtime/declarativeAgentRuntime.js.map +1 -1
- package/dist/runtime/index.d.ts +14 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +38 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/llmProviderFactory.d.ts +47 -0
- package/dist/runtime/llmProviderFactory.d.ts.map +1 -0
- package/dist/runtime/llmProviderFactory.js +119 -0
- package/dist/runtime/llmProviderFactory.js.map +1 -0
- package/dist/runtime/workflowExecutor.d.ts +31 -0
- package/dist/runtime/workflowExecutor.d.ts.map +1 -0
- package/dist/runtime/workflowExecutor.js +80 -0
- package/dist/runtime/workflowExecutor.js.map +1 -0
- package/dist/server/api/graphql.js +3 -3
- package/dist/server/api/graphql.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/shared/index.d.ts +7 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +23 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/types/agent.types.d.ts +63 -0
- package/dist/shared/types/agent.types.d.ts.map +1 -0
- package/dist/shared/types/agent.types.js +18 -0
- package/dist/shared/types/agent.types.js.map +1 -0
- package/dist/shared/types/execution.types.d.ts +42 -0
- package/dist/shared/types/execution.types.d.ts.map +1 -0
- package/dist/shared/types/execution.types.js +7 -0
- package/dist/shared/types/execution.types.js.map +1 -0
- package/dist/shared/types/index.d.ts +7 -0
- package/dist/shared/types/index.d.ts.map +1 -0
- package/dist/shared/types/index.js +23 -0
- package/dist/shared/types/index.js.map +1 -0
- package/dist/shared/types/schema.types.d.ts +52 -0
- package/dist/shared/types/schema.types.d.ts.map +1 -0
- package/dist/shared/types/schema.types.js +7 -0
- package/dist/shared/types/schema.types.js.map +1 -0
- package/dist/shared/utils/index.d.ts +5 -0
- package/dist/shared/utils/index.d.ts.map +1 -0
- package/dist/shared/utils/index.js +21 -0
- package/dist/shared/utils/index.js.map +1 -0
- package/dist/shared/utils/validation.d.ts +42 -0
- package/dist/shared/utils/validation.d.ts.map +1 -0
- package/dist/shared/utils/validation.js +93 -0
- package/dist/shared/utils/validation.js.map +1 -0
- package/dist/tenant/TenantManager.d.ts +152 -0
- package/dist/tenant/TenantManager.d.ts.map +1 -0
- package/dist/tenant/TenantManager.js +392 -0
- package/dist/tenant/TenantManager.js.map +1 -0
- package/dist/tenant/index.d.ts +47 -0
- package/dist/tenant/index.d.ts.map +1 -0
- package/dist/tenant/index.js +74 -0
- package/dist/tenant/index.js.map +1 -0
- package/dist/tenant/interfaces.d.ts +170 -0
- package/dist/tenant/interfaces.d.ts.map +1 -0
- package/dist/tenant/interfaces.js +67 -0
- package/dist/tenant/interfaces.js.map +1 -0
- package/dist/tenant/providerFactory.d.ts +43 -0
- package/dist/tenant/providerFactory.d.ts.map +1 -0
- package/dist/tenant/providerFactory.js +70 -0
- package/dist/tenant/providerFactory.js.map +1 -0
- package/dist/tenant/providerRegistry.d.ts +47 -0
- package/dist/tenant/providerRegistry.d.ts.map +1 -0
- package/dist/tenant/providerRegistry.js +79 -0
- package/dist/tenant/providerRegistry.js.map +1 -0
- package/dist/tenant/providers/FirebaseTenantProvider.d.ts +41 -0
- package/dist/tenant/providers/FirebaseTenantProvider.d.ts.map +1 -0
- package/dist/tenant/providers/FirebaseTenantProvider.js +290 -0
- package/dist/tenant/providers/FirebaseTenantProvider.js.map +1 -0
- package/dist/tenant/providers/InMemoryTenantProvider.d.ts +18 -0
- package/dist/tenant/providers/InMemoryTenantProvider.d.ts.map +1 -0
- package/dist/tenant/providers/InMemoryTenantProvider.js +137 -0
- package/dist/tenant/providers/InMemoryTenantProvider.js.map +1 -0
- package/package.json +46 -10
- package/src/agents/chat/chat.handler.ts +211 -0
- package/src/agents/chat/chat.schema.ts +33 -0
- package/src/agents/chat/chat.types.ts +46 -0
- package/src/agents/chat/chat.yaml +148 -0
- package/src/agents/chat/index.ts +21 -0
- package/src/agents/chromadb/chromadb.handler.ts +130 -0
- package/src/agents/chromadb/chromadb.schema.ts +35 -0
- package/src/agents/chromadb/chromadb.types.ts +52 -0
- package/src/agents/chromadb/chromadb.yaml +128 -0
- package/src/agents/chromadb/index.ts +20 -0
- package/src/agents/gemini-vectorize/gemini-vectorize.handler.ts +75 -0
- package/src/agents/gemini-vectorize/gemini-vectorize.schema.ts +22 -0
- package/src/agents/gemini-vectorize/gemini-vectorize.types.ts +34 -0
- package/src/agents/gemini-vectorize/gemini-vectorize.yaml +84 -0
- package/src/agents/gemini-vectorize/index.ts +20 -0
- package/src/agents/gitmcp/gitmcp.handler.ts +122 -0
- package/src/agents/gitmcp/gitmcp.schema.ts +20 -0
- package/src/agents/gitmcp/gitmcp.types.ts +33 -0
- package/src/agents/gitmcp/gitmcp.yaml +71 -0
- package/src/agents/gitmcp/index.ts +21 -0
- package/src/agents/image/image.handler.ts +86 -0
- package/src/agents/image/image.schema.ts +28 -0
- package/src/agents/image/image.types.ts +46 -0
- package/src/agents/image/image.yaml +86 -0
- package/src/agents/image/index.ts +19 -0
- package/src/agents/index.ts +63 -0
- package/src/agents/joker/index.ts +19 -0
- package/src/agents/joker/joker.handler.ts +55 -0
- package/src/agents/joker/joker.schema.ts +15 -0
- package/src/agents/joker/joker.types.ts +38 -0
- package/src/agents/joker/joker.yaml +47 -0
- package/src/agents/llm/index.ts +20 -0
- package/src/agents/llm/llm.handler.ts +82 -0
- package/src/agents/llm/llm.schema.ts +25 -0
- package/src/agents/llm/llm.types.ts +37 -0
- package/src/agents/llm/llm.yaml +87 -0
- package/src/agents/mcp-tool/index.ts +19 -0
- package/src/agents/mcp-tool/mcp-tool.handler.ts +112 -0
- package/src/agents/mcp-tool/mcp-tool.schema.ts +22 -0
- package/src/agents/mcp-tool/mcp-tool.types.ts +33 -0
- package/src/agents/mcp-tool/mcp-tool.yaml +71 -0
- package/src/agents/rag/index.ts +20 -0
- package/src/agents/rag/rag.handler.ts +95 -0
- package/src/agents/rag/rag.schema.ts +26 -0
- package/src/agents/rag/rag.types.ts +45 -0
- package/src/agents/rag/rag.yaml +89 -0
- package/src/agents/{agentRegistry.ts → registry/agentRegistry.ts} +195 -6
- package/src/agents/registry/index.ts +6 -0
- package/src/agents/translator/index.ts +19 -0
- package/src/agents/translator/translator.handler.ts +97 -0
- package/src/agents/translator/translator.schema.ts +30 -0
- package/src/agents/translator/translator.types.ts +43 -0
- package/src/agents/translator/translator.yaml +80 -0
- package/src/client/index.ts +53 -0
- package/src/client/types.ts +38 -0
- package/src/index.ts +56 -5
- package/src/runtime/declarativeAgentRuntime.ts +378 -495
- package/src/runtime/index.ts +36 -0
- package/src/runtime/llmProviderFactory.ts +145 -0
- package/src/runtime/workflowExecutor.ts +107 -0
- package/src/server/api/graphql.ts +1 -1
- package/src/server/index.ts +2 -2
- package/src/shared/index.ts +7 -0
- package/src/shared/types/agent.types.ts +100 -0
- package/src/shared/types/execution.types.ts +45 -0
- package/src/shared/types/index.ts +7 -0
- package/src/shared/types/schema.types.ts +55 -0
- package/src/shared/utils/index.ts +5 -0
- package/src/shared/utils/validation.ts +100 -0
- package/src/tenant/TenantManager.ts +488 -0
- package/src/tenant/index.ts +101 -0
- package/src/tenant/interfaces.ts +231 -0
- package/src/tenant/providerFactory.ts +75 -0
- package/src/tenant/providerRegistry.ts +86 -0
- package/src/tenant/providers/InMemoryTenantProvider.ts +168 -0
- package/dist/agents/agentRegistry.d.ts.map +0 -1
- package/dist/agents/agentRegistry.js.map +0 -1
- package/src/firebase/tenantManager.ts +0 -443
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,55 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.0] - 2025-12-22
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **New LLM Agent**: Direct LLM interaction without document context
|
|
7
|
+
- `llm.execute` method for simple chat with conversation history
|
|
8
|
+
- `llm` workflow step type for declarative workflows
|
|
9
|
+
- Full TypeScript types: `LlmHandlerParams`, `LlmHandlerResult`, `LlmMetadata`
|
|
10
|
+
- Zod schemas: `LlmInputSchema`, `LlmOutputSchema`
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- **Refactored Agent Architecture**: Fixed responsibility leak between chat and rag agents
|
|
14
|
+
- RAG agent now ALWAYS requires document context (removed `mode` parameter)
|
|
15
|
+
- Chat agent uses LLM agent for `mode='simple'` (previously used RAG with mode)
|
|
16
|
+
- Clear separation: LLM = direct chat, RAG = document-augmented generation
|
|
17
|
+
- **Updated Documentation**:
|
|
18
|
+
- Added GraphQL API Integration section with complete examples
|
|
19
|
+
- Updated agent architecture diagram
|
|
20
|
+
- Added LLM agent to built-in agents catalog
|
|
21
|
+
- Updated workflow step types table
|
|
22
|
+
|
|
23
|
+
### Removed
|
|
24
|
+
- `RagMode` type from RAG agent (was semantically incorrect)
|
|
25
|
+
- `buildSimpleChatPrompt` function from RAG handler (moved to LLM agent)
|
|
26
|
+
- `mode` parameter from RAG agent (RAG always requires documents)
|
|
27
|
+
|
|
28
|
+
### Migration Guide
|
|
29
|
+
If you were using `rag.execute` with `mode: 'simple'`:
|
|
30
|
+
```typescript
|
|
31
|
+
// Before (v0.2.x)
|
|
32
|
+
await executeRagHandler({ query, history, mode: 'simple' }, props, context);
|
|
33
|
+
|
|
34
|
+
// After (v0.3.0)
|
|
35
|
+
await executeLlmHandler({ query, history }, props, context);
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## [0.2.3] - 2025-12-20
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
- **Client-Safe Type Exports**: Exposed shared types for frontend consumption
|
|
42
|
+
- `AgentMetadata`, `AgentResponse`, `ExecutionStep` from shared agent types
|
|
43
|
+
- `WorkflowStepType`, `AgentCategory` for workflow typing
|
|
44
|
+
- `ChatHandlerParams`, `ChatHandlerResult`, `ChatMetadata` for chat agent
|
|
45
|
+
- `ConversationMessage` from RAG types
|
|
46
|
+
- `chatMetadata` constant for chat agent metadata
|
|
47
|
+
|
|
48
|
+
### Purpose
|
|
49
|
+
- Enable frontend applications to import types directly from `beddel` package
|
|
50
|
+
- Support type-safe chat UI development without duplicating type definitions
|
|
51
|
+
- All exported types are client-safe (no server-only dependencies)
|
|
52
|
+
|
|
3
53
|
## [0.2.2] - 2025-12-19
|
|
4
54
|
|
|
5
55
|
### Changed
|
package/README.md
CHANGED
|
@@ -132,10 +132,29 @@ your-app/
|
|
|
132
132
|
│ └── translator-custom/
|
|
133
133
|
│ └── translator-custom.yaml # Override built-in
|
|
134
134
|
│
|
|
135
|
-
└── packages/beddel/src/agents/ # Built-in agents (
|
|
136
|
-
├── joker
|
|
137
|
-
├──
|
|
138
|
-
|
|
135
|
+
└── packages/beddel/src/agents/ # Built-in agents (sharded structure)
|
|
136
|
+
├── joker/
|
|
137
|
+
│ ├── joker.yaml # Agent definition
|
|
138
|
+
│ ├── joker.handler.ts # Server-only handler
|
|
139
|
+
│ ├── joker.schema.ts # Zod validation
|
|
140
|
+
│ ├── joker.types.ts # TypeScript types
|
|
141
|
+
│ └── index.ts # Public exports
|
|
142
|
+
├── translator/
|
|
143
|
+
│ └── ...
|
|
144
|
+
├── image/
|
|
145
|
+
│ └── ...
|
|
146
|
+
├── mcp-tool/
|
|
147
|
+
│ └── ...
|
|
148
|
+
├── gemini-vectorize/
|
|
149
|
+
│ └── ...
|
|
150
|
+
├── chromadb/
|
|
151
|
+
│ └── ...
|
|
152
|
+
├── gitmcp/
|
|
153
|
+
│ └── ...
|
|
154
|
+
├── rag/
|
|
155
|
+
│ └── ...
|
|
156
|
+
└── chat/
|
|
157
|
+
└── ...
|
|
139
158
|
```
|
|
140
159
|
|
|
141
160
|
### Agent Loading Flow
|
|
@@ -409,7 +428,7 @@ const result = await agentRegistry.executeAgent(
|
|
|
409
428
|
| **Security** | `SecurityScanner`, `ThreatDetectionEngine` | Static scanning, scoring |
|
|
410
429
|
| **Compliance** | `GDPRCompliance`, `LGPDCompliance` | Audit, anonymization |
|
|
411
430
|
| **Performance** | `PerformanceMonitor`, `AutoScaler` | Metrics, scaling |
|
|
412
|
-
| **Multi-tenancy** | `
|
|
431
|
+
| **Multi-tenancy** | `TenantManager`, `ITenantProvider` | Provider-agnostic tenant isolation |
|
|
413
432
|
|
|
414
433
|
### Secure YAML Parsing
|
|
415
434
|
|
|
@@ -495,6 +514,65 @@ Supported types: `string`, `number`, `boolean`, `object`, `array`
|
|
|
495
514
|
|
|
496
515
|
---
|
|
497
516
|
|
|
517
|
+
## Multi-Tenant Architecture
|
|
518
|
+
|
|
519
|
+
Beddel provides a provider-agnostic multi-tenant system with a dynamic registry for external providers.
|
|
520
|
+
|
|
521
|
+
### Built-in Providers
|
|
522
|
+
|
|
523
|
+
| Provider | Type | Use Case |
|
|
524
|
+
|----------|------|----------|
|
|
525
|
+
| `InMemoryTenantProvider` | `memory` | Testing, development |
|
|
526
|
+
|
|
527
|
+
### External Providers
|
|
528
|
+
|
|
529
|
+
Provider implementations that handle credentials (Firebase, Supabase, etc.) should be implemented in the consuming application. Use `ProviderRegistry` to register custom providers:
|
|
530
|
+
|
|
531
|
+
```typescript
|
|
532
|
+
import { ProviderRegistry } from "beddel";
|
|
533
|
+
import { FirebaseTenantProvider } from "./providers/FirebaseTenantProvider";
|
|
534
|
+
|
|
535
|
+
// Register during application bootstrap
|
|
536
|
+
ProviderRegistry.register('firebase', () => new FirebaseTenantProvider());
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
### Quick Start
|
|
540
|
+
|
|
541
|
+
```typescript
|
|
542
|
+
import { TenantManager } from "beddel";
|
|
543
|
+
|
|
544
|
+
const manager = TenantManager.getInstance();
|
|
545
|
+
|
|
546
|
+
// Initialize tenant
|
|
547
|
+
const result = await manager.initializeTenant({
|
|
548
|
+
tenantId: "tenant-123",
|
|
549
|
+
securityProfile: "tenant-isolated",
|
|
550
|
+
dataRetentionDays: 365,
|
|
551
|
+
lgpdEnabled: true,
|
|
552
|
+
gdprEnabled: true,
|
|
553
|
+
provider: "memory", // or registered external provider like "firebase"
|
|
554
|
+
providerConfig: {}
|
|
555
|
+
});
|
|
556
|
+
|
|
557
|
+
// Execute in tenant context
|
|
558
|
+
await manager.executeInTenant("tenant-123", "operation", data, async () => {
|
|
559
|
+
const app = manager.getTenantApp("tenant-123");
|
|
560
|
+
const db = app.getDatabase();
|
|
561
|
+
await db.collection("users").add({ name: "Alice" });
|
|
562
|
+
});
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
### Core Interfaces
|
|
566
|
+
|
|
567
|
+
- `ITenantProvider` — Abstract provider for tenant management
|
|
568
|
+
- `ITenantApp` — Isolated tenant instance
|
|
569
|
+
- `ITenantDatabase` — Database operations
|
|
570
|
+
- `ITenantCollection` — Collection operations
|
|
571
|
+
- `ITenantDocument` — Document CRUD
|
|
572
|
+
- `ProviderRegistry` — Dynamic provider registration
|
|
573
|
+
|
|
574
|
+
---
|
|
575
|
+
|
|
498
576
|
## Security
|
|
499
577
|
|
|
500
578
|
### Multi-Layer Security Model
|
|
@@ -520,20 +598,45 @@ const result = await runtime.execute({
|
|
|
520
598
|
|
|
521
599
|
```
|
|
522
600
|
src/
|
|
523
|
-
├── agents/ # Agent registry and
|
|
524
|
-
│ ├──
|
|
525
|
-
│ ├──
|
|
526
|
-
│
|
|
527
|
-
│
|
|
528
|
-
├──
|
|
601
|
+
├── agents/ # Agent registry and sharded agent modules
|
|
602
|
+
│ ├── registry/ # Agent registry
|
|
603
|
+
│ │ ├── agentRegistry.ts
|
|
604
|
+
│ │ └── index.ts
|
|
605
|
+
│ ├── joker/ # Joker agent
|
|
606
|
+
│ │ ├── joker.yaml
|
|
607
|
+
│ │ ├── joker.handler.ts
|
|
608
|
+
│ │ ├── joker.schema.ts
|
|
609
|
+
│ │ ├── joker.types.ts
|
|
610
|
+
│ │ └── index.ts
|
|
611
|
+
│ ├── translator/ # Translator agent
|
|
612
|
+
│ ├── image/ # Image generator agent
|
|
613
|
+
│ ├── mcp-tool/ # MCP tool agent
|
|
614
|
+
│ ├── gemini-vectorize/ # Embeddings agent
|
|
615
|
+
│ ├── chromadb/ # Vector storage agent
|
|
616
|
+
│ ├── gitmcp/ # GitHub docs agent
|
|
617
|
+
│ ├── rag/ # RAG agent
|
|
618
|
+
│ ├── chat/ # Chat orchestrator agent
|
|
619
|
+
│ └── index.ts # Public exports
|
|
529
620
|
├── runtime/ # Execution environments
|
|
530
|
-
│ ├── isolatedRuntime.ts
|
|
531
621
|
│ ├── declarativeAgentRuntime.ts
|
|
532
|
-
│
|
|
622
|
+
│ ├── workflowExecutor.ts # Workflow step execution
|
|
623
|
+
│ ├── schemaCompiler.ts
|
|
624
|
+
│ └── index.ts
|
|
625
|
+
├── shared/ # Client-safe types and utilities
|
|
626
|
+
│ ├── types/
|
|
627
|
+
│ └── utils/
|
|
628
|
+
├── client/ # Client-safe exports
|
|
629
|
+
├── parser/ # Secure YAML parsing
|
|
533
630
|
├── security/ # Scanning and threat detection
|
|
534
631
|
├── compliance/ # GDPR/LGPD utilities
|
|
535
632
|
├── performance/ # Monitoring and autoscaling
|
|
536
|
-
├──
|
|
633
|
+
├── tenant/ # Provider-agnostic multi-tenant management
|
|
634
|
+
│ ├── TenantManager.ts # Singleton tenant orchestrator
|
|
635
|
+
│ ├── interfaces.ts # ITenantProvider, ITenantApp, etc.
|
|
636
|
+
│ ├── providerFactory.ts # Provider instantiation
|
|
637
|
+
│ ├── providerRegistry.ts # Dynamic provider registration
|
|
638
|
+
│ └── providers/ # Built-in provider implementations
|
|
639
|
+
│ └── InMemoryTenantProvider.ts
|
|
537
640
|
└── index.ts # Public exports
|
|
538
641
|
```
|
|
539
642
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import 'server-only';
|
|
2
|
+
/**
|
|
3
|
+
* Chat Agent Handler - Server-only execution logic
|
|
4
|
+
* Orchestrates RAG pipeline or simple LLM chat based on mode
|
|
5
|
+
*/
|
|
6
|
+
import type { ExecutionContext } from '../../types/executionContext';
|
|
7
|
+
import type { ChatHandlerParams, ChatHandlerResult } from './chat.types';
|
|
8
|
+
/**
|
|
9
|
+
* Execute chat orchestration
|
|
10
|
+
*/
|
|
11
|
+
export declare function executeChatHandler(params: ChatHandlerParams, props: Record<string, string>, context: ExecutionContext): Promise<ChatHandlerResult>;
|
|
12
|
+
//# sourceMappingURL=chat.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.handler.d.ts","sourceRoot":"","sources":["../../../src/agents/chat/chat.handler.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAY,MAAM,cAAc,CAAC;AAuKnF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CA2B5B"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeChatHandler = executeChatHandler;
|
|
4
|
+
require("server-only");
|
|
5
|
+
const gemini_vectorize_handler_1 = require("../gemini-vectorize/gemini-vectorize.handler");
|
|
6
|
+
const chromadb_handler_1 = require("../chromadb/chromadb.handler");
|
|
7
|
+
const rag_handler_1 = require("../rag/rag.handler");
|
|
8
|
+
const llm_handler_1 = require("../llm/llm.handler");
|
|
9
|
+
const KNOWLEDGE_COLLECTION = 'beddel_knowledge';
|
|
10
|
+
/**
|
|
11
|
+
* Execute simple chat mode - direct LLM with conversation history (no documents)
|
|
12
|
+
*/
|
|
13
|
+
async function executeSimpleChat(query, messages, props, context, executionSteps) {
|
|
14
|
+
const startTime = Date.now();
|
|
15
|
+
context.log(`[Chat:Simple] Processing query: "${query.substring(0, 50)}..."`);
|
|
16
|
+
const chatStep = {
|
|
17
|
+
agent: 'llm',
|
|
18
|
+
action: 'chat',
|
|
19
|
+
status: 'running',
|
|
20
|
+
startTime: Date.now(),
|
|
21
|
+
phase: 'generation',
|
|
22
|
+
};
|
|
23
|
+
executionSteps.push(chatStep);
|
|
24
|
+
const result = await (0, llm_handler_1.executeLlmHandler)({ query, history: messages }, props, context);
|
|
25
|
+
chatStep.status = result.error ? 'error' : 'success';
|
|
26
|
+
chatStep.endTime = Date.now();
|
|
27
|
+
chatStep.duration = chatStep.endTime - chatStep.startTime;
|
|
28
|
+
if (result.error)
|
|
29
|
+
chatStep.error = result.error;
|
|
30
|
+
return {
|
|
31
|
+
response: result.response,
|
|
32
|
+
timestamp: result.timestamp,
|
|
33
|
+
execution_steps: executionSteps,
|
|
34
|
+
total_duration: Date.now() - startTime,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Execute RAG chat mode - full pipeline with knowledge base
|
|
39
|
+
*/
|
|
40
|
+
async function executeRagChat(query, messages, props, context, executionSteps) {
|
|
41
|
+
const startTime = Date.now();
|
|
42
|
+
context.log(`[Chat:RAG] Processing query: "${query.substring(0, 50)}..."`);
|
|
43
|
+
// Step 1: Vectorize user query
|
|
44
|
+
const vectorizeStep = {
|
|
45
|
+
agent: 'gemini-vectorize',
|
|
46
|
+
action: 'embedSingle',
|
|
47
|
+
status: 'running',
|
|
48
|
+
startTime: Date.now(),
|
|
49
|
+
phase: 'vectorization',
|
|
50
|
+
};
|
|
51
|
+
executionSteps.push(vectorizeStep);
|
|
52
|
+
const vectorResult = await (0, gemini_vectorize_handler_1.executeVectorizeHandler)({ action: 'embedSingle', text: query }, props, context);
|
|
53
|
+
vectorizeStep.status = vectorResult.success ? 'success' : 'error';
|
|
54
|
+
vectorizeStep.endTime = Date.now();
|
|
55
|
+
vectorizeStep.duration = vectorizeStep.endTime - vectorizeStep.startTime;
|
|
56
|
+
if (!vectorResult.success || !vectorResult.vector) {
|
|
57
|
+
throw new Error(`Vectorization failed: ${vectorResult.error}`);
|
|
58
|
+
}
|
|
59
|
+
// Step 2: Check if knowledge base has data
|
|
60
|
+
const checkStep = {
|
|
61
|
+
agent: 'chromadb',
|
|
62
|
+
action: 'hasData',
|
|
63
|
+
status: 'running',
|
|
64
|
+
startTime: Date.now(),
|
|
65
|
+
phase: 'retrieval',
|
|
66
|
+
};
|
|
67
|
+
executionSteps.push(checkStep);
|
|
68
|
+
const hasDataResult = await (0, chromadb_handler_1.executeChromaDBHandler)({ action: 'hasData', collection_name: KNOWLEDGE_COLLECTION, min_count: 5 }, props, context);
|
|
69
|
+
checkStep.status = hasDataResult.success ? 'success' : 'error';
|
|
70
|
+
checkStep.endTime = Date.now();
|
|
71
|
+
checkStep.duration = checkStep.endTime - checkStep.startTime;
|
|
72
|
+
// Step 3: Search knowledge base
|
|
73
|
+
const searchStep = {
|
|
74
|
+
agent: 'chromadb',
|
|
75
|
+
action: 'search',
|
|
76
|
+
status: 'running',
|
|
77
|
+
startTime: Date.now(),
|
|
78
|
+
phase: 'retrieval',
|
|
79
|
+
};
|
|
80
|
+
executionSteps.push(searchStep);
|
|
81
|
+
const searchResult = await (0, chromadb_handler_1.executeChromaDBHandler)({
|
|
82
|
+
action: 'search',
|
|
83
|
+
collection_name: KNOWLEDGE_COLLECTION,
|
|
84
|
+
query_vector: vectorResult.vector,
|
|
85
|
+
limit: 5,
|
|
86
|
+
}, props, context);
|
|
87
|
+
searchStep.status = searchResult.success ? 'success' : 'error';
|
|
88
|
+
searchStep.endTime = Date.now();
|
|
89
|
+
searchStep.duration = searchStep.endTime - searchStep.startTime;
|
|
90
|
+
// Step 4: Generate answer using RAG
|
|
91
|
+
const ragStep = {
|
|
92
|
+
agent: 'rag',
|
|
93
|
+
action: 'generate',
|
|
94
|
+
status: 'running',
|
|
95
|
+
startTime: Date.now(),
|
|
96
|
+
phase: 'generation',
|
|
97
|
+
};
|
|
98
|
+
executionSteps.push(ragStep);
|
|
99
|
+
const hasDocuments = searchResult.documents && searchResult.documents.trim().length > 0;
|
|
100
|
+
const documents = hasDocuments
|
|
101
|
+
? searchResult.documents
|
|
102
|
+
: 'No specific documentation available. Answer based on general knowledge.';
|
|
103
|
+
const ragResult = await (0, rag_handler_1.executeRagHandler)({ query, documents, history: messages }, props, context);
|
|
104
|
+
ragStep.status = ragResult.error ? 'error' : 'success';
|
|
105
|
+
ragStep.endTime = Date.now();
|
|
106
|
+
ragStep.duration = ragStep.endTime - ragStep.startTime;
|
|
107
|
+
if (ragResult.error)
|
|
108
|
+
ragStep.error = ragResult.error;
|
|
109
|
+
return {
|
|
110
|
+
response: ragResult.response,
|
|
111
|
+
timestamp: ragResult.timestamp,
|
|
112
|
+
execution_steps: executionSteps,
|
|
113
|
+
total_duration: Date.now() - startTime,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Execute chat orchestration
|
|
118
|
+
*/
|
|
119
|
+
async function executeChatHandler(params, props, context) {
|
|
120
|
+
const executionSteps = [];
|
|
121
|
+
const messages = params.messages || [];
|
|
122
|
+
const lastUserMessage = [...messages].reverse().find((m) => m.role === 'user');
|
|
123
|
+
const query = params.query || lastUserMessage?.content || '';
|
|
124
|
+
const mode = params.mode || 'rag';
|
|
125
|
+
if (!query) {
|
|
126
|
+
throw new Error('No query found in messages or query parameter');
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
return mode === 'simple'
|
|
130
|
+
? await executeSimpleChat(query, messages, props, context, executionSteps)
|
|
131
|
+
: await executeRagChat(query, messages, props, context, executionSteps);
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
135
|
+
context.log(`[Chat] Error: ${message}`);
|
|
136
|
+
context.setError(message);
|
|
137
|
+
return {
|
|
138
|
+
response: `Error processing your request: ${message}`,
|
|
139
|
+
timestamp: new Date().toISOString(),
|
|
140
|
+
execution_steps: executionSteps,
|
|
141
|
+
total_duration: 0,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=chat.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.handler.js","sourceRoot":"","sources":["../../../src/agents/chat/chat.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Agent Schema - Zod validation schemas
|
|
3
|
+
* Safe for both client and server
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
export declare const ChatInputSchema: z.ZodObject<{
|
|
7
|
+
messages: z.ZodArray<z.ZodObject<{
|
|
8
|
+
role: z.ZodEnum<{
|
|
9
|
+
user: "user";
|
|
10
|
+
assistant: "assistant";
|
|
11
|
+
system: "system";
|
|
12
|
+
}>;
|
|
13
|
+
content: z.ZodString;
|
|
14
|
+
}, z.core.$strip>>;
|
|
15
|
+
query: z.ZodOptional<z.ZodString>;
|
|
16
|
+
knowledge_sources: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export declare const ChatOutputSchema: z.ZodObject<{
|
|
19
|
+
response: z.ZodString;
|
|
20
|
+
timestamp: z.ZodString;
|
|
21
|
+
execution_steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
22
|
+
agent: z.ZodString;
|
|
23
|
+
action: z.ZodString;
|
|
24
|
+
status: z.ZodEnum<{
|
|
25
|
+
error: "error";
|
|
26
|
+
success: "success";
|
|
27
|
+
running: "running";
|
|
28
|
+
}>;
|
|
29
|
+
startTime: z.ZodNumber;
|
|
30
|
+
endTime: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
duration: z.ZodOptional<z.ZodNumber>;
|
|
32
|
+
error: z.ZodOptional<z.ZodString>;
|
|
33
|
+
}, z.core.$strip>>>;
|
|
34
|
+
total_duration: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
export type ChatInput = z.infer<typeof ChatInputSchema>;
|
|
37
|
+
export type ChatOutput = z.infer<typeof ChatOutputSchema>;
|
|
38
|
+
//# sourceMappingURL=chat.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.schema.d.ts","sourceRoot":"","sources":["../../../src/agents/chat/chat.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;;;;;;;;iBAO1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;iBAa3B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Chat Agent Schema - Zod validation schemas
|
|
4
|
+
* Safe for both client and server
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ChatOutputSchema = exports.ChatInputSchema = void 0;
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
exports.ChatInputSchema = zod_1.z.object({
|
|
10
|
+
messages: zod_1.z.array(zod_1.z.object({
|
|
11
|
+
role: zod_1.z.enum(['user', 'assistant', 'system']),
|
|
12
|
+
content: zod_1.z.string(),
|
|
13
|
+
})),
|
|
14
|
+
query: zod_1.z.string().optional(),
|
|
15
|
+
knowledge_sources: zod_1.z.array(zod_1.z.string()).optional(),
|
|
16
|
+
});
|
|
17
|
+
exports.ChatOutputSchema = zod_1.z.object({
|
|
18
|
+
response: zod_1.z.string(),
|
|
19
|
+
timestamp: zod_1.z.string(),
|
|
20
|
+
execution_steps: zod_1.z.array(zod_1.z.object({
|
|
21
|
+
agent: zod_1.z.string(),
|
|
22
|
+
action: zod_1.z.string(),
|
|
23
|
+
status: zod_1.z.enum(['running', 'success', 'error']),
|
|
24
|
+
startTime: zod_1.z.number(),
|
|
25
|
+
endTime: zod_1.z.number().optional(),
|
|
26
|
+
duration: zod_1.z.number().optional(),
|
|
27
|
+
error: zod_1.z.string().optional(),
|
|
28
|
+
})).optional(),
|
|
29
|
+
total_duration: zod_1.z.number().optional(),
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=chat.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.schema.js","sourceRoot":"","sources":["../../../src/agents/chat/chat.schema.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6BAAwB;AAEX,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CAAC;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,iBAAiB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;QAChC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC,CAAC,QAAQ,EAAE;IACd,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Agent Types - Shared between client and server
|
|
3
|
+
*/
|
|
4
|
+
import type { ConversationMessage } from '../rag/rag.types';
|
|
5
|
+
import type { ExecutionStep } from '../../shared/types/agent.types';
|
|
6
|
+
/**
|
|
7
|
+
* Chat mode determines the execution flow
|
|
8
|
+
* - 'rag': Full RAG pipeline with knowledge base (default)
|
|
9
|
+
* - 'simple': Direct LLM chat maintaining conversation context only
|
|
10
|
+
*/
|
|
11
|
+
export type ChatMode = 'rag' | 'simple';
|
|
12
|
+
/**
|
|
13
|
+
* Parameters for chat orchestration
|
|
14
|
+
*/
|
|
15
|
+
export interface ChatHandlerParams {
|
|
16
|
+
messages: ConversationMessage[];
|
|
17
|
+
query?: string;
|
|
18
|
+
mode?: ChatMode;
|
|
19
|
+
knowledge_sources?: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Result from chat orchestration
|
|
23
|
+
*/
|
|
24
|
+
export interface ChatHandlerResult {
|
|
25
|
+
response: string;
|
|
26
|
+
timestamp: string;
|
|
27
|
+
execution_steps?: ExecutionStep[];
|
|
28
|
+
total_duration?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Chat agent metadata
|
|
32
|
+
*/
|
|
33
|
+
export interface ChatMetadata {
|
|
34
|
+
id: 'chat';
|
|
35
|
+
name: string;
|
|
36
|
+
description: string;
|
|
37
|
+
category: 'chat';
|
|
38
|
+
route: '/agents/chat';
|
|
39
|
+
knowledge_sources: string[];
|
|
40
|
+
tags: string[];
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=chat.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../../src/agents/chat/chat.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,cAAc,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.types.js","sourceRoot":"","sources":["../../../src/agents/chat/chat.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|