beddel 0.2.2 → 0.2.3
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 +15 -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 +143 -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 +150 -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 +58 -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 +66 -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 +42 -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 +95 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +76 -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 +48 -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 +35 -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/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 +8 -0
- package/dist/agents/rag/rag.handler.d.ts.map +1 -0
- package/dist/agents/rag/rag.handler.js +101 -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 +47 -0
- package/dist/agents/rag/rag.types.d.ts.map +1 -0
- package/dist/agents/rag/rag.types.js +6 -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} +25 -1
- package/dist/agents/registry/agentRegistry.d.ts.map +1 -0
- package/dist/agents/{agentRegistry.js → registry/agentRegistry.js} +154 -4
- 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 +83 -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 +40 -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 +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -7
- package/dist/index.js.map +1 -1
- package/dist/runtime/declarativeAgentRuntime.d.ts +14 -49
- package/dist/runtime/declarativeAgentRuntime.d.ts.map +1 -1
- package/dist/runtime/declarativeAgentRuntime.js +248 -355
- package/dist/runtime/declarativeAgentRuntime.js.map +1 -1
- package/dist/runtime/index.d.ts +12 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +33 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/workflowExecutor.d.ts +30 -0
- package/dist/runtime/workflowExecutor.d.ts.map +1 -0
- package/dist/runtime/workflowExecutor.js +70 -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 +50 -0
- package/dist/shared/types/agent.types.d.ts.map +1 -0
- package/dist/shared/types/agent.types.js +7 -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 -12
- package/src/agents/chat/chat.handler.ts +209 -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 +150 -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 +72 -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 +82 -0
- package/src/agents/image/image.schema.ts +28 -0
- package/src/agents/image/image.types.ts +45 -0
- package/src/agents/image/image.yaml +86 -0
- package/src/agents/image/index.ts +19 -0
- package/src/agents/index.ts +59 -0
- package/src/agents/joker/index.ts +19 -0
- package/src/agents/joker/joker.handler.ts +60 -0
- package/src/agents/joker/joker.schema.ts +15 -0
- package/src/agents/joker/joker.types.ts +37 -0
- package/src/agents/joker/joker.yaml +47 -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 +119 -0
- package/src/agents/rag/rag.schema.ts +26 -0
- package/src/agents/rag/rag.types.ts +51 -0
- package/src/agents/rag/rag.yaml +89 -0
- package/src/agents/{agentRegistry.ts → registry/agentRegistry.ts} +161 -5
- package/src/agents/registry/index.ts +6 -0
- package/src/agents/translator/index.ts +19 -0
- package/src/agents/translator/translator.handler.ts +99 -0
- package/src/agents/translator/translator.schema.ts +30 -0
- package/src/agents/translator/translator.types.ts +42 -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 +48 -5
- package/src/runtime/declarativeAgentRuntime.ts +367 -489
- package/src/runtime/index.ts +31 -0
- package/src/runtime/workflowExecutor.ts +94 -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 +80 -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,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.2.3] - 2025-12-20
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **Client-Safe Type Exports**: Exposed shared types for frontend consumption
|
|
7
|
+
- `AgentMetadata`, `AgentResponse`, `ExecutionStep` from shared agent types
|
|
8
|
+
- `WorkflowStepType`, `AgentCategory` for workflow typing
|
|
9
|
+
- `ChatHandlerParams`, `ChatHandlerResult`, `ChatMetadata` for chat agent
|
|
10
|
+
- `ConversationMessage` from RAG types
|
|
11
|
+
- `chatMetadata` constant for chat agent metadata
|
|
12
|
+
|
|
13
|
+
### Purpose
|
|
14
|
+
- Enable frontend applications to import types directly from `beddel` package
|
|
15
|
+
- Support type-safe chat UI development without duplicating type definitions
|
|
16
|
+
- All exported types are client-safe (no server-only dependencies)
|
|
17
|
+
|
|
3
18
|
## [0.2.2] - 2025-12-19
|
|
4
19
|
|
|
5
20
|
### 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 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;AAqKnF;;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,143 @@
|
|
|
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 KNOWLEDGE_COLLECTION = 'beddel_knowledge';
|
|
9
|
+
/**
|
|
10
|
+
* Execute simple chat mode - direct LLM with conversation history
|
|
11
|
+
*/
|
|
12
|
+
async function executeSimpleChat(query, messages, props, context, executionSteps) {
|
|
13
|
+
const startTime = Date.now();
|
|
14
|
+
context.log(`[Chat:Simple] Processing query: "${query.substring(0, 50)}..."`);
|
|
15
|
+
const chatStep = {
|
|
16
|
+
agent: 'rag',
|
|
17
|
+
action: 'chat',
|
|
18
|
+
status: 'running',
|
|
19
|
+
startTime: Date.now(),
|
|
20
|
+
phase: 'generation',
|
|
21
|
+
};
|
|
22
|
+
executionSteps.push(chatStep);
|
|
23
|
+
const result = await (0, rag_handler_1.executeRagHandler)({ query, history: messages, mode: 'simple' }, props, context);
|
|
24
|
+
chatStep.status = result.error ? 'error' : 'success';
|
|
25
|
+
chatStep.endTime = Date.now();
|
|
26
|
+
chatStep.duration = chatStep.endTime - chatStep.startTime;
|
|
27
|
+
if (result.error)
|
|
28
|
+
chatStep.error = result.error;
|
|
29
|
+
return {
|
|
30
|
+
response: result.response,
|
|
31
|
+
timestamp: result.timestamp,
|
|
32
|
+
execution_steps: executionSteps,
|
|
33
|
+
total_duration: Date.now() - startTime,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Execute RAG chat mode - full pipeline with knowledge base
|
|
38
|
+
*/
|
|
39
|
+
async function executeRagChat(query, messages, props, context, executionSteps) {
|
|
40
|
+
const startTime = Date.now();
|
|
41
|
+
context.log(`[Chat:RAG] Processing query: "${query.substring(0, 50)}..."`);
|
|
42
|
+
// Step 1: Vectorize user query
|
|
43
|
+
const vectorizeStep = {
|
|
44
|
+
agent: 'gemini-vectorize',
|
|
45
|
+
action: 'embedSingle',
|
|
46
|
+
status: 'running',
|
|
47
|
+
startTime: Date.now(),
|
|
48
|
+
phase: 'vectorization',
|
|
49
|
+
};
|
|
50
|
+
executionSteps.push(vectorizeStep);
|
|
51
|
+
const vectorResult = await (0, gemini_vectorize_handler_1.executeVectorizeHandler)({ action: 'embedSingle', text: query }, props, context);
|
|
52
|
+
vectorizeStep.status = vectorResult.success ? 'success' : 'error';
|
|
53
|
+
vectorizeStep.endTime = Date.now();
|
|
54
|
+
vectorizeStep.duration = vectorizeStep.endTime - vectorizeStep.startTime;
|
|
55
|
+
if (!vectorResult.success || !vectorResult.vector) {
|
|
56
|
+
throw new Error(`Vectorization failed: ${vectorResult.error}`);
|
|
57
|
+
}
|
|
58
|
+
// Step 2: Check if knowledge base has data
|
|
59
|
+
const checkStep = {
|
|
60
|
+
agent: 'chromadb',
|
|
61
|
+
action: 'hasData',
|
|
62
|
+
status: 'running',
|
|
63
|
+
startTime: Date.now(),
|
|
64
|
+
phase: 'retrieval',
|
|
65
|
+
};
|
|
66
|
+
executionSteps.push(checkStep);
|
|
67
|
+
const hasDataResult = await (0, chromadb_handler_1.executeChromaDBHandler)({ action: 'hasData', collection_name: KNOWLEDGE_COLLECTION, min_count: 5 }, props, context);
|
|
68
|
+
checkStep.status = hasDataResult.success ? 'success' : 'error';
|
|
69
|
+
checkStep.endTime = Date.now();
|
|
70
|
+
checkStep.duration = checkStep.endTime - checkStep.startTime;
|
|
71
|
+
// Step 3: Search knowledge base
|
|
72
|
+
const searchStep = {
|
|
73
|
+
agent: 'chromadb',
|
|
74
|
+
action: 'search',
|
|
75
|
+
status: 'running',
|
|
76
|
+
startTime: Date.now(),
|
|
77
|
+
phase: 'retrieval',
|
|
78
|
+
};
|
|
79
|
+
executionSteps.push(searchStep);
|
|
80
|
+
const searchResult = await (0, chromadb_handler_1.executeChromaDBHandler)({
|
|
81
|
+
action: 'search',
|
|
82
|
+
collection_name: KNOWLEDGE_COLLECTION,
|
|
83
|
+
query_vector: vectorResult.vector,
|
|
84
|
+
limit: 5,
|
|
85
|
+
}, props, context);
|
|
86
|
+
searchStep.status = searchResult.success ? 'success' : 'error';
|
|
87
|
+
searchStep.endTime = Date.now();
|
|
88
|
+
searchStep.duration = searchStep.endTime - searchStep.startTime;
|
|
89
|
+
// Step 4: Generate answer
|
|
90
|
+
const ragStep = {
|
|
91
|
+
agent: 'rag',
|
|
92
|
+
action: 'generate',
|
|
93
|
+
status: 'running',
|
|
94
|
+
startTime: Date.now(),
|
|
95
|
+
phase: 'generation',
|
|
96
|
+
};
|
|
97
|
+
executionSteps.push(ragStep);
|
|
98
|
+
const hasDocuments = searchResult.documents && searchResult.documents.trim().length > 0;
|
|
99
|
+
const ragResult = hasDocuments
|
|
100
|
+
? await (0, rag_handler_1.executeRagHandler)({ query, documents: searchResult.documents, history: messages }, props, context)
|
|
101
|
+
: await (0, rag_handler_1.executeRagHandler)({ query, documents: 'No specific documentation available. Answer based on general knowledge.', history: messages }, props, context);
|
|
102
|
+
ragStep.status = ragResult.error ? 'error' : 'success';
|
|
103
|
+
ragStep.endTime = Date.now();
|
|
104
|
+
ragStep.duration = ragStep.endTime - ragStep.startTime;
|
|
105
|
+
if (ragResult.error)
|
|
106
|
+
ragStep.error = ragResult.error;
|
|
107
|
+
return {
|
|
108
|
+
response: ragResult.response,
|
|
109
|
+
timestamp: ragResult.timestamp,
|
|
110
|
+
execution_steps: executionSteps,
|
|
111
|
+
total_duration: Date.now() - startTime,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Execute chat orchestration
|
|
116
|
+
*/
|
|
117
|
+
async function executeChatHandler(params, props, context) {
|
|
118
|
+
const executionSteps = [];
|
|
119
|
+
const messages = params.messages || [];
|
|
120
|
+
const lastUserMessage = [...messages].reverse().find((m) => m.role === 'user');
|
|
121
|
+
const query = params.query || lastUserMessage?.content || '';
|
|
122
|
+
const mode = params.mode || 'rag';
|
|
123
|
+
if (!query) {
|
|
124
|
+
throw new Error('No query found in messages or query parameter');
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
return mode === 'simple'
|
|
128
|
+
? await executeSimpleChat(query, messages, props, context, executionSteps)
|
|
129
|
+
: await executeRagChat(query, messages, props, context, executionSteps);
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
133
|
+
context.log(`[Chat] Error: ${message}`);
|
|
134
|
+
context.setError(message);
|
|
135
|
+
return {
|
|
136
|
+
response: `Error processing your request: ${message}`,
|
|
137
|
+
timestamp: new Date().toISOString(),
|
|
138
|
+
execution_steps: executionSteps,
|
|
139
|
+
total_duration: 0,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# 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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Chat Agent - Native Builtin Orchestrator Agent for Beddel Runtime
|
|
2
|
+
# Route: /agents/chat
|
|
3
|
+
# Method: chat.execute
|
|
4
|
+
|
|
5
|
+
agent:
|
|
6
|
+
id: chat
|
|
7
|
+
version: 1.0.0
|
|
8
|
+
protocol: beddel-declarative-protocol/v2.0
|
|
9
|
+
|
|
10
|
+
metadata:
|
|
11
|
+
name: "Q&A Context Chat Agent"
|
|
12
|
+
description: "Orchestrates RAG pipeline or simple chat based on mode selection"
|
|
13
|
+
category: "chat"
|
|
14
|
+
route: "/agents/chat"
|
|
15
|
+
knowledge_sources:
|
|
16
|
+
- "gitmcp-agent"
|
|
17
|
+
tags:
|
|
18
|
+
- "chat"
|
|
19
|
+
- "orchestrator"
|
|
20
|
+
- "rag"
|
|
21
|
+
- "qa"
|
|
22
|
+
- "simple"
|
|
23
|
+
|
|
24
|
+
schema:
|
|
25
|
+
input:
|
|
26
|
+
type: "object"
|
|
27
|
+
properties:
|
|
28
|
+
messages:
|
|
29
|
+
type: "array"
|
|
30
|
+
items:
|
|
31
|
+
type: "object"
|
|
32
|
+
properties:
|
|
33
|
+
role:
|
|
34
|
+
type: "string"
|
|
35
|
+
enum: ["user", "assistant", "system"]
|
|
36
|
+
content:
|
|
37
|
+
type: "string"
|
|
38
|
+
required: ["role", "content"]
|
|
39
|
+
description: "Conversation messages"
|
|
40
|
+
query:
|
|
41
|
+
type: "string"
|
|
42
|
+
description: "Direct query (alternative to messages)"
|
|
43
|
+
mode:
|
|
44
|
+
type: "string"
|
|
45
|
+
enum: ["rag", "simple"]
|
|
46
|
+
default: "rag"
|
|
47
|
+
description: "Chat mode: 'rag' for knowledge-based answers, 'simple' for direct LLM chat"
|
|
48
|
+
knowledge_sources:
|
|
49
|
+
type: "array"
|
|
50
|
+
items:
|
|
51
|
+
type: "string"
|
|
52
|
+
description: "GitMCP URLs to use as knowledge sources"
|
|
53
|
+
required: ["messages"]
|
|
54
|
+
|
|
55
|
+
output:
|
|
56
|
+
type: "object"
|
|
57
|
+
properties:
|
|
58
|
+
response:
|
|
59
|
+
type: "string"
|
|
60
|
+
description: "Generated answer"
|
|
61
|
+
timestamp:
|
|
62
|
+
type: "string"
|
|
63
|
+
description: "ISO timestamp"
|
|
64
|
+
execution_steps:
|
|
65
|
+
type: "array"
|
|
66
|
+
description: "Detailed execution steps for observability"
|
|
67
|
+
total_duration:
|
|
68
|
+
type: "number"
|
|
69
|
+
description: "Total execution time in milliseconds"
|
|
70
|
+
required: ["response", "timestamp"]
|
|
71
|
+
|
|
72
|
+
logic:
|
|
73
|
+
variables:
|
|
74
|
+
- name: "userQuery"
|
|
75
|
+
type: "string"
|
|
76
|
+
init: '""'
|
|
77
|
+
- name: "allDocuments"
|
|
78
|
+
type: "string"
|
|
79
|
+
init: '""'
|
|
80
|
+
|
|
81
|
+
workflow:
|
|
82
|
+
# Step 1: Extract user query from messages
|
|
83
|
+
- name: "extract-query"
|
|
84
|
+
type: "output-generator"
|
|
85
|
+
action:
|
|
86
|
+
type: "generate"
|
|
87
|
+
output:
|
|
88
|
+
_extracted: true
|
|
89
|
+
|
|
90
|
+
# Step 2: Mode branch - Simple chat or RAG pipeline
|
|
91
|
+
- name: "mode-check"
|
|
92
|
+
type: "conditional"
|
|
93
|
+
condition: "$input.mode == 'simple'"
|
|
94
|
+
then:
|
|
95
|
+
# Simple mode: Direct LLM chat with conversation history
|
|
96
|
+
- name: "simple-chat"
|
|
97
|
+
type: "rag"
|
|
98
|
+
action:
|
|
99
|
+
query: "$input.query"
|
|
100
|
+
history: "$input.messages"
|
|
101
|
+
mode: "simple"
|
|
102
|
+
result: "ragResult"
|
|
103
|
+
else:
|
|
104
|
+
# RAG mode: Full pipeline with knowledge base
|
|
105
|
+
- name: "vectorize-query"
|
|
106
|
+
type: "gemini-vectorize"
|
|
107
|
+
action:
|
|
108
|
+
action: "embedSingle"
|
|
109
|
+
text: "$input.query"
|
|
110
|
+
result: "queryVector"
|
|
111
|
+
|
|
112
|
+
- name: "check-knowledge"
|
|
113
|
+
type: "chromadb"
|
|
114
|
+
action:
|
|
115
|
+
action: "hasData"
|
|
116
|
+
collection_name: "beddel_knowledge"
|
|
117
|
+
min_count: 5
|
|
118
|
+
result: "hasDataResult"
|
|
119
|
+
|
|
120
|
+
- name: "search-knowledge"
|
|
121
|
+
type: "chromadb"
|
|
122
|
+
action:
|
|
123
|
+
action: "search"
|
|
124
|
+
collection_name: "beddel_knowledge"
|
|
125
|
+
query_vector: "$queryVector.vector"
|
|
126
|
+
limit: 5
|
|
127
|
+
result: "searchResult"
|
|
128
|
+
|
|
129
|
+
- name: "generate-answer"
|
|
130
|
+
type: "rag"
|
|
131
|
+
action:
|
|
132
|
+
query: "$input.query"
|
|
133
|
+
documents: "$searchResult.documents"
|
|
134
|
+
history: "$input.messages"
|
|
135
|
+
mode: "rag"
|
|
136
|
+
result: "ragResult"
|
|
137
|
+
|
|
138
|
+
# Step 3: Deliver final response
|
|
139
|
+
- name: "deliver-response"
|
|
140
|
+
type: "output-generator"
|
|
141
|
+
action:
|
|
142
|
+
type: "generate"
|
|
143
|
+
output:
|
|
144
|
+
response: "$ragResult.response"
|
|
145
|
+
timestamp: "$ragResult.timestamp"
|
|
146
|
+
|
|
147
|
+
output:
|
|
148
|
+
schema:
|
|
149
|
+
response: "$ragResult.response"
|
|
150
|
+
timestamp: "$ragResult.timestamp"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Agent - Public exports (client-safe)
|
|
3
|
+
*/
|
|
4
|
+
export { ChatInputSchema, ChatOutputSchema } from './chat.schema';
|
|
5
|
+
export type { ChatInput, ChatOutput } from './chat.schema';
|
|
6
|
+
export type { ChatHandlerParams, ChatHandlerResult, ChatMetadata } from './chat.types';
|
|
7
|
+
export declare const chatMetadata: {
|
|
8
|
+
readonly id: "chat";
|
|
9
|
+
readonly name: "Q&A Context Chat Agent";
|
|
10
|
+
readonly description: "Orchestrates RAG pipeline: vectorization, storage, retrieval and answer generation";
|
|
11
|
+
readonly category: "chat";
|
|
12
|
+
readonly route: "/agents/chat";
|
|
13
|
+
readonly knowledge_sources: readonly ["gitmcp-agent"];
|
|
14
|
+
readonly tags: readonly ["chat", "orchestrator", "rag", "qa"];
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/chat/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3D,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGvF,eAAO,MAAM,YAAY;;;;;;;;CAQf,CAAC"}
|