beddel 0.2.1 → 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 +20 -0
- package/README.md +132 -21
- 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.d.ts +1 -1
- package/dist/server/api/graphql.d.ts.map +1 -1
- package/dist/server/api/graphql.js +104 -62
- 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 +48 -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 +109 -74
- 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,25 @@
|
|
|
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
|
+
|
|
18
|
+
## [0.2.2] - 2025-12-19
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- Maintenance release (no functional changes)
|
|
22
|
+
|
|
3
23
|
## [0.2.0] - 2025-12-18
|
|
4
24
|
|
|
5
25
|
### Added
|
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
|
|
@@ -215,21 +234,29 @@ output:
|
|
|
215
234
|
|
|
216
235
|
2. **The agent is automatically registered** when your application starts.
|
|
217
236
|
|
|
218
|
-
3. **Execute via GraphQL or directly
|
|
237
|
+
3. **Execute via GraphQL or directly** (GraphQL Yoga, introspection always enabled). GraphiQL is available at `GET /api/graphql`:
|
|
219
238
|
|
|
220
239
|
```graphql
|
|
221
|
-
mutation {
|
|
222
|
-
executeMethod(
|
|
223
|
-
methodName: "greeting.execute"
|
|
224
|
-
params: { name: "Alice" }
|
|
225
|
-
props: { gemini_api_key: "your-api-key" }
|
|
226
|
-
) {
|
|
240
|
+
mutation Execute($methodName: String!, $params: JSON!, $props: JSON!) {
|
|
241
|
+
executeMethod(methodName: $methodName, params: $params, props: $props) {
|
|
227
242
|
success
|
|
228
243
|
data
|
|
244
|
+
error
|
|
245
|
+
executionTime
|
|
229
246
|
}
|
|
230
247
|
}
|
|
231
248
|
```
|
|
232
249
|
|
|
250
|
+
Example variables:
|
|
251
|
+
|
|
252
|
+
```json
|
|
253
|
+
{
|
|
254
|
+
"methodName": "greeting.execute",
|
|
255
|
+
"params": { "name": "Alice" },
|
|
256
|
+
"props": { "gemini_api_key": "your-api-key" }
|
|
257
|
+
}
|
|
258
|
+
```
|
|
259
|
+
|
|
233
260
|
### Custom Agents with TypeScript Code-Behind
|
|
234
261
|
|
|
235
262
|
For more complex logic, create custom agents with TypeScript implementations:
|
|
@@ -401,7 +428,7 @@ const result = await agentRegistry.executeAgent(
|
|
|
401
428
|
| **Security** | `SecurityScanner`, `ThreatDetectionEngine` | Static scanning, scoring |
|
|
402
429
|
| **Compliance** | `GDPRCompliance`, `LGPDCompliance` | Audit, anonymization |
|
|
403
430
|
| **Performance** | `PerformanceMonitor`, `AutoScaler` | Metrics, scaling |
|
|
404
|
-
| **Multi-tenancy** | `
|
|
431
|
+
| **Multi-tenancy** | `TenantManager`, `ITenantProvider` | Provider-agnostic tenant isolation |
|
|
405
432
|
|
|
406
433
|
### Secure YAML Parsing
|
|
407
434
|
|
|
@@ -487,6 +514,65 @@ Supported types: `string`, `number`, `boolean`, `object`, `array`
|
|
|
487
514
|
|
|
488
515
|
---
|
|
489
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
|
+
|
|
490
576
|
## Security
|
|
491
577
|
|
|
492
578
|
### Multi-Layer Security Model
|
|
@@ -512,20 +598,45 @@ const result = await runtime.execute({
|
|
|
512
598
|
|
|
513
599
|
```
|
|
514
600
|
src/
|
|
515
|
-
├── agents/ # Agent registry and
|
|
516
|
-
│ ├──
|
|
517
|
-
│ ├──
|
|
518
|
-
│
|
|
519
|
-
│
|
|
520
|
-
├──
|
|
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
|
|
521
620
|
├── runtime/ # Execution environments
|
|
522
|
-
│ ├── isolatedRuntime.ts
|
|
523
621
|
│ ├── declarativeAgentRuntime.ts
|
|
524
|
-
│
|
|
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
|
|
525
630
|
├── security/ # Scanning and threat detection
|
|
526
631
|
├── compliance/ # GDPR/LGPD utilities
|
|
527
632
|
├── performance/ # Monitoring and autoscaling
|
|
528
|
-
├──
|
|
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
|
|
529
640
|
└── index.ts # Public exports
|
|
530
641
|
```
|
|
531
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"}
|