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
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import 'server-only';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Translator Agent Handler - Server-only execution logic
|
|
5
|
+
* Translates text between languages using Gemini Flash
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { generateText } from 'ai';
|
|
9
|
+
import { createGoogleGenerativeAI } from '@ai-sdk/google';
|
|
10
|
+
import type { ExecutionContext } from '../../types/executionContext';
|
|
11
|
+
import type { TranslationHandlerParams, TranslationHandlerResult } from './translator.types';
|
|
12
|
+
|
|
13
|
+
const GEMINI_MODEL = 'models/gemini-2.5-flash';
|
|
14
|
+
const SUPPORTED_LANGUAGES = ['pt', 'en', 'es', 'fr'];
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Execute translation using Gemini Flash
|
|
18
|
+
*/
|
|
19
|
+
export async function executeTranslationHandler(
|
|
20
|
+
params: TranslationHandlerParams,
|
|
21
|
+
props: Record<string, string>,
|
|
22
|
+
context: ExecutionContext
|
|
23
|
+
): Promise<TranslationHandlerResult> {
|
|
24
|
+
const apiKey = props?.gemini_api_key?.trim();
|
|
25
|
+
if (!apiKey) {
|
|
26
|
+
throw new Error('Missing required prop: gemini_api_key');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const text = params.text?.trim();
|
|
30
|
+
const sourceLanguage = params.source_language?.trim().toLowerCase();
|
|
31
|
+
const targetLanguage = params.target_language?.trim().toLowerCase();
|
|
32
|
+
|
|
33
|
+
if (!text || !sourceLanguage || !targetLanguage) {
|
|
34
|
+
throw new Error('Missing required translation parameters: text, source_language, target_language');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Same language bypass
|
|
38
|
+
if (sourceLanguage === targetLanguage) {
|
|
39
|
+
return {
|
|
40
|
+
translated_text: text,
|
|
41
|
+
metadata: {
|
|
42
|
+
model_used: GEMINI_MODEL,
|
|
43
|
+
processing_time: 0,
|
|
44
|
+
confidence: 1,
|
|
45
|
+
supported_languages: SUPPORTED_LANGUAGES,
|
|
46
|
+
requested_languages: {
|
|
47
|
+
source: sourceLanguage,
|
|
48
|
+
target: targetLanguage,
|
|
49
|
+
},
|
|
50
|
+
prompt_used: 'Bypass: source and target languages are the same',
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const template = params.promptTemplate?.trim() ||
|
|
56
|
+
`Translate the text below from {{source_language}} to {{target_language}}.
|
|
57
|
+
Reply only with the translated text without additional comments.
|
|
58
|
+
|
|
59
|
+
Text:
|
|
60
|
+
{{text}}`;
|
|
61
|
+
|
|
62
|
+
const prompt = template
|
|
63
|
+
.replace(/{{text}}/g, text)
|
|
64
|
+
.replace(/{{source_language}}/g, sourceLanguage)
|
|
65
|
+
.replace(/{{target_language}}/g, targetLanguage)
|
|
66
|
+
.trim();
|
|
67
|
+
|
|
68
|
+
const google = createGoogleGenerativeAI({ apiKey });
|
|
69
|
+
const model = google(GEMINI_MODEL);
|
|
70
|
+
const startTime = Date.now();
|
|
71
|
+
|
|
72
|
+
context.log(`[Translator] Translating from ${sourceLanguage} to ${targetLanguage}`);
|
|
73
|
+
|
|
74
|
+
const { text: translatedText } = await generateText({
|
|
75
|
+
model,
|
|
76
|
+
prompt,
|
|
77
|
+
temperature: 0.2,
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
const finalText = translatedText?.trim() || '';
|
|
81
|
+
if (!finalText) {
|
|
82
|
+
throw new Error('Gemini Flash translation returned empty response');
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return {
|
|
86
|
+
translated_text: finalText,
|
|
87
|
+
metadata: {
|
|
88
|
+
model_used: GEMINI_MODEL,
|
|
89
|
+
processing_time: Date.now() - startTime,
|
|
90
|
+
confidence: 0.85,
|
|
91
|
+
supported_languages: SUPPORTED_LANGUAGES,
|
|
92
|
+
requested_languages: {
|
|
93
|
+
source: sourceLanguage,
|
|
94
|
+
target: targetLanguage,
|
|
95
|
+
},
|
|
96
|
+
prompt_used: prompt,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Translator Agent Schema - Zod validation schemas
|
|
3
|
+
* Safe for both client and server
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
|
|
8
|
+
export const TranslatorInputSchema = z.object({
|
|
9
|
+
text: z.string().min(1).max(10000),
|
|
10
|
+
source_language: z.string().regex(/^[a-z]{2}$/),
|
|
11
|
+
target_language: z.string().regex(/^[a-z]{2}$/),
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export const TranslatorOutputSchema = z.object({
|
|
15
|
+
translated_text: z.string(),
|
|
16
|
+
metadata: z.object({
|
|
17
|
+
model_used: z.string(),
|
|
18
|
+
processing_time: z.number(),
|
|
19
|
+
confidence: z.number(),
|
|
20
|
+
supported_languages: z.array(z.string()),
|
|
21
|
+
requested_languages: z.object({
|
|
22
|
+
source: z.string(),
|
|
23
|
+
target: z.string(),
|
|
24
|
+
}),
|
|
25
|
+
prompt_used: z.string(),
|
|
26
|
+
}),
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export type TranslatorInput = z.infer<typeof TranslatorInputSchema>;
|
|
30
|
+
export type TranslatorOutput = z.infer<typeof TranslatorOutputSchema>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Translator Agent Types - Shared between client and server
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Parameters for translation
|
|
7
|
+
*/
|
|
8
|
+
export interface TranslationHandlerParams {
|
|
9
|
+
text: string;
|
|
10
|
+
source_language: string;
|
|
11
|
+
target_language: string;
|
|
12
|
+
promptTemplate?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Result from translation
|
|
17
|
+
*/
|
|
18
|
+
export interface TranslationHandlerResult {
|
|
19
|
+
translated_text: string;
|
|
20
|
+
metadata: {
|
|
21
|
+
model_used: string;
|
|
22
|
+
processing_time: number;
|
|
23
|
+
confidence: number;
|
|
24
|
+
supported_languages: string[];
|
|
25
|
+
requested_languages: {
|
|
26
|
+
source: string;
|
|
27
|
+
target: string;
|
|
28
|
+
};
|
|
29
|
+
prompt_used: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Translator agent metadata
|
|
35
|
+
*/
|
|
36
|
+
export interface TranslatorMetadata {
|
|
37
|
+
id: 'translator';
|
|
38
|
+
name: string;
|
|
39
|
+
description: string;
|
|
40
|
+
category: 'translation';
|
|
41
|
+
route: '/agents/translator';
|
|
42
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Translator Agent - Declarative Genkit-powered translation workflow
|
|
2
|
+
# Route: /agents/translator
|
|
3
|
+
# Method: translator.execute
|
|
4
|
+
|
|
5
|
+
agent:
|
|
6
|
+
id: translator
|
|
7
|
+
version: 1.0.0
|
|
8
|
+
protocol: beddel-declarative-protocol/v2.0
|
|
9
|
+
|
|
10
|
+
metadata:
|
|
11
|
+
name: "Translator Agent"
|
|
12
|
+
description: "Translates text between languages using Gemini Flash via Genkit"
|
|
13
|
+
category: "translation"
|
|
14
|
+
route: "/agents/translator"
|
|
15
|
+
|
|
16
|
+
schema:
|
|
17
|
+
input:
|
|
18
|
+
type: "object"
|
|
19
|
+
properties:
|
|
20
|
+
text:
|
|
21
|
+
type: "string"
|
|
22
|
+
minLength: 1
|
|
23
|
+
maxLength: 10000
|
|
24
|
+
description: "Original text to be translated"
|
|
25
|
+
source_language:
|
|
26
|
+
type: "string"
|
|
27
|
+
pattern: "^[a-z]{2}$"
|
|
28
|
+
description: "Source language (ISO-639-1, e.g., pt, en)"
|
|
29
|
+
target_language:
|
|
30
|
+
type: "string"
|
|
31
|
+
pattern: "^[a-z]{2}$"
|
|
32
|
+
description: "Target language (ISO-639-1, e.g., en, es)"
|
|
33
|
+
required: ["text", "source_language", "target_language"]
|
|
34
|
+
|
|
35
|
+
output:
|
|
36
|
+
type: "object"
|
|
37
|
+
properties:
|
|
38
|
+
translated_text:
|
|
39
|
+
type: "string"
|
|
40
|
+
metadata:
|
|
41
|
+
type: "object"
|
|
42
|
+
properties:
|
|
43
|
+
model_used:
|
|
44
|
+
type: "string"
|
|
45
|
+
processing_time:
|
|
46
|
+
type: "number"
|
|
47
|
+
confidence:
|
|
48
|
+
type: "number"
|
|
49
|
+
supported_languages:
|
|
50
|
+
type: "array"
|
|
51
|
+
items:
|
|
52
|
+
type: "string"
|
|
53
|
+
requested_languages:
|
|
54
|
+
type: "object"
|
|
55
|
+
properties:
|
|
56
|
+
source:
|
|
57
|
+
type: "string"
|
|
58
|
+
target:
|
|
59
|
+
type: "string"
|
|
60
|
+
required: ["source", "target"]
|
|
61
|
+
prompt_used:
|
|
62
|
+
type: "string"
|
|
63
|
+
required:
|
|
64
|
+
[
|
|
65
|
+
"model_used",
|
|
66
|
+
"processing_time",
|
|
67
|
+
"confidence",
|
|
68
|
+
"supported_languages",
|
|
69
|
+
"requested_languages",
|
|
70
|
+
"prompt_used",
|
|
71
|
+
]
|
|
72
|
+
required: ["translated_text", "metadata"]
|
|
73
|
+
|
|
74
|
+
logic:
|
|
75
|
+
workflow:
|
|
76
|
+
- name: "translate"
|
|
77
|
+
type: "genkit-translation"
|
|
78
|
+
action:
|
|
79
|
+
type: "translate"
|
|
80
|
+
result: "translationResult"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client Module - Safe exports for client-side usage
|
|
3
|
+
*
|
|
4
|
+
* This module exports only types and metadata that are safe for client-side usage.
|
|
5
|
+
* It does NOT export any handlers, runtime logic, or server-only code.
|
|
6
|
+
*
|
|
7
|
+
* IMPORTANT: Never import from '../agents' index as it includes server-only registry!
|
|
8
|
+
* Import directly from individual agent folders instead.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// Re-export all shared types and utilities
|
|
12
|
+
export * from '../shared';
|
|
13
|
+
|
|
14
|
+
// Re-export client-specific types
|
|
15
|
+
export * from './types';
|
|
16
|
+
|
|
17
|
+
// Agent metadata exports (client-safe) - import directly from agent folders
|
|
18
|
+
export { jokerMetadata } from '../agents/joker';
|
|
19
|
+
export { translatorMetadata } from '../agents/translator';
|
|
20
|
+
export { imageMetadata } from '../agents/image';
|
|
21
|
+
export { mcpToolMetadata } from '../agents/mcp-tool';
|
|
22
|
+
export { geminiVectorizeMetadata } from '../agents/gemini-vectorize';
|
|
23
|
+
export { chromadbMetadata } from '../agents/chromadb';
|
|
24
|
+
export { gitmcpMetadata } from '../agents/gitmcp';
|
|
25
|
+
export { ragMetadata } from '../agents/rag';
|
|
26
|
+
export { chatMetadata } from '../agents/chat';
|
|
27
|
+
|
|
28
|
+
// Schema exports (client-safe - for validation)
|
|
29
|
+
export { JokerInputSchema, JokerOutputSchema } from '../agents/joker';
|
|
30
|
+
export { TranslatorInputSchema, TranslatorOutputSchema } from '../agents/translator';
|
|
31
|
+
export { ImageInputSchema, ImageOutputSchema } from '../agents/image';
|
|
32
|
+
export { McpToolInputSchema, McpToolOutputSchema } from '../agents/mcp-tool';
|
|
33
|
+
export { GeminiVectorizeInputSchema, GeminiVectorizeOutputSchema } from '../agents/gemini-vectorize';
|
|
34
|
+
export { ChromaDBInputSchema, ChromaDBOutputSchema } from '../agents/chromadb';
|
|
35
|
+
export { GitMcpInputSchema, GitMcpOutputSchema } from '../agents/gitmcp';
|
|
36
|
+
export { RagInputSchema, RagOutputSchema } from '../agents/rag';
|
|
37
|
+
export { ChatInputSchema, ChatOutputSchema } from '../agents/chat';
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* All agent metadata for UI display
|
|
41
|
+
* Defined here to avoid importing from agents/index.ts which includes server-only registry
|
|
42
|
+
*/
|
|
43
|
+
export const allAgentMetadata = [
|
|
44
|
+
{ id: 'joker', name: 'Joker Agent', description: 'Tells jokes using Gemini Flash', category: 'utility', route: '/agents/joker' },
|
|
45
|
+
{ id: 'translator', name: 'Translator Agent', description: 'Translates text between languages using Gemini Flash via Genkit', category: 'translation', route: '/agents/translator' },
|
|
46
|
+
{ id: 'image', name: 'Image Generator Agent', description: 'Generates images using Gemini Flash with curated styles', category: 'creative', route: '/agents/image' },
|
|
47
|
+
{ id: 'mcp-tool', name: 'MCP Tool Agent', description: 'Generic agent for calling MCP server tools via SSE transport', category: 'integration', route: '/agents/mcp-tool' },
|
|
48
|
+
{ id: 'gemini-vectorize', name: 'Gemini Vectorize Agent', description: "Generates text embeddings using Google's Gemini text-embedding-004 model", category: 'ai-service', route: '/agents/gemini-vectorize' },
|
|
49
|
+
{ id: 'chromadb', name: 'ChromaDB Agent', description: 'Vector storage and retrieval using ChromaDB. Supports local and cloud deployments.', category: 'database', route: '/agents/chromadb' },
|
|
50
|
+
{ id: 'gitmcp', name: 'GitMCP Documentation Agent', description: 'Fetches and chunks GitHub repository documentation via gitmcp.io MCP servers', category: 'integration', route: '/agents/gitmcp' },
|
|
51
|
+
{ id: 'rag', name: 'RAG Intelligence Agent', description: 'Generates natural language answers based on provided context using Gemini', category: 'intelligence', route: '/agents/rag' },
|
|
52
|
+
{ id: 'chat', name: 'Q&A Context Chat Agent', description: 'Orchestrates RAG pipeline: vectorization, storage, retrieval and answer generation', category: 'chat', route: '/agents/chat' },
|
|
53
|
+
] as const;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client Types - Safe type re-exports for client-side usage
|
|
3
|
+
* These types contain no sensitive data or server-only logic
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Re-export all shared types
|
|
7
|
+
export type {
|
|
8
|
+
AgentMetadata,
|
|
9
|
+
AgentResponse,
|
|
10
|
+
ExecutionStep,
|
|
11
|
+
WorkflowStepType,
|
|
12
|
+
AgentCategory,
|
|
13
|
+
} from '../shared/types/agent.types';
|
|
14
|
+
|
|
15
|
+
export type {
|
|
16
|
+
ExecutionResult,
|
|
17
|
+
ExecutionStatus,
|
|
18
|
+
ExecutionSummary,
|
|
19
|
+
ExecutionLogEntry,
|
|
20
|
+
} from '../shared/types/execution.types';
|
|
21
|
+
|
|
22
|
+
export type {
|
|
23
|
+
SchemaProperty,
|
|
24
|
+
AgentSchemaDefinition,
|
|
25
|
+
ValidationResult,
|
|
26
|
+
ValidationError,
|
|
27
|
+
} from '../shared/types/schema.types';
|
|
28
|
+
|
|
29
|
+
// Agent-specific type exports (client-safe)
|
|
30
|
+
export type { JokerInput, JokerOutput, JokeHandlerParams, JokeHandlerResult } from '../agents/joker';
|
|
31
|
+
export type { TranslatorInput, TranslatorOutput, TranslationHandlerParams, TranslationHandlerResult } from '../agents/translator';
|
|
32
|
+
export type { ImageInput, ImageOutput, ImageStyle, ImageHandlerParams, ImageHandlerResult } from '../agents/image';
|
|
33
|
+
export type { McpToolInput, McpToolOutput, McpToolHandlerParams, McpToolHandlerResult } from '../agents/mcp-tool';
|
|
34
|
+
export type { GeminiVectorizeInput, GeminiVectorizeOutput, VectorizeHandlerParams, VectorizeHandlerResult } from '../agents/gemini-vectorize';
|
|
35
|
+
export type { ChromaDBInput, ChromaDBOutput, ChromaDBHandlerParams, ChromaDBHandlerResult, ChromaDBSearchResult } from '../agents/chromadb';
|
|
36
|
+
export type { GitMcpInput, GitMcpOutput, GitMcpHandlerParams, GitMcpHandlerResult } from '../agents/gitmcp';
|
|
37
|
+
export type { RagInput, RagOutput, RagHandlerParams, RagHandlerResult, ConversationMessage } from '../agents/rag';
|
|
38
|
+
export type { ChatInput, ChatOutput, ChatHandlerParams, ChatHandlerResult } from '../agents/chat';
|
package/src/index.ts
CHANGED
|
@@ -51,8 +51,8 @@ export {
|
|
|
51
51
|
} from "./runtime/schemaCompiler";
|
|
52
52
|
|
|
53
53
|
// Agent registry exports
|
|
54
|
-
export { AgentRegistry, agentRegistry } from "./agents/
|
|
55
|
-
export type { AgentRegistration } from "./agents/
|
|
54
|
+
export { AgentRegistry, agentRegistry } from "./agents/registry";
|
|
55
|
+
export type { AgentRegistration } from "./agents/registry";
|
|
56
56
|
|
|
57
57
|
// Configuration exports
|
|
58
58
|
export {
|
|
@@ -102,12 +102,35 @@ export { AuditService } from "./runtime/audit";
|
|
|
102
102
|
export { PerformanceMonitor } from "./performance/monitor";
|
|
103
103
|
export { default as AutoScaler } from "./performance/autoscaling";
|
|
104
104
|
|
|
105
|
-
// Multi-Tenant
|
|
106
|
-
export {
|
|
105
|
+
// Agnostic Multi-Tenant exports
|
|
106
|
+
export {
|
|
107
|
+
TenantManager,
|
|
108
|
+
ProviderRegistry,
|
|
109
|
+
createProvider,
|
|
110
|
+
isValidProviderType,
|
|
111
|
+
isBuiltInProviderType,
|
|
112
|
+
getSupportedProviders,
|
|
113
|
+
getBuiltInProviders,
|
|
114
|
+
InMemoryTenantProvider,
|
|
115
|
+
TenantError,
|
|
116
|
+
ValidationError,
|
|
117
|
+
NotFoundError,
|
|
118
|
+
NotSupportedError,
|
|
119
|
+
TenantAlreadyExistsError,
|
|
120
|
+
} from "./tenant";
|
|
107
121
|
export type {
|
|
108
122
|
TenantConfig,
|
|
109
123
|
TenantIsolationResult,
|
|
110
|
-
|
|
124
|
+
ProviderType,
|
|
125
|
+
BuiltInProviderType,
|
|
126
|
+
FirebaseProviderConfig,
|
|
127
|
+
MemoryProviderConfig,
|
|
128
|
+
ITenantProvider,
|
|
129
|
+
ITenantApp,
|
|
130
|
+
ITenantDatabase,
|
|
131
|
+
ITenantCollection,
|
|
132
|
+
ITenantDocument,
|
|
133
|
+
} from "./tenant";
|
|
111
134
|
|
|
112
135
|
// Compliance exports
|
|
113
136
|
export { GDPRCompliance } from "./compliance/gdprEngine";
|
|
@@ -121,5 +144,25 @@ export { SecureYamlRuntime } from "./integration/secure-yaml-runtime";
|
|
|
121
144
|
// Shared types
|
|
122
145
|
export type { ExecutionContext } from "./types/executionContext";
|
|
123
146
|
|
|
147
|
+
// Shared agent types (client-safe)
|
|
148
|
+
export type {
|
|
149
|
+
AgentMetadata,
|
|
150
|
+
AgentResponse,
|
|
151
|
+
ExecutionStep,
|
|
152
|
+
WorkflowStepType,
|
|
153
|
+
AgentCategory,
|
|
154
|
+
} from "./shared/types/agent.types";
|
|
155
|
+
|
|
156
|
+
// Chat agent exports (client-safe)
|
|
157
|
+
export type {
|
|
158
|
+
ChatHandlerParams,
|
|
159
|
+
ChatHandlerResult,
|
|
160
|
+
ChatMetadata,
|
|
161
|
+
} from "./agents/chat/chat.types";
|
|
162
|
+
export { chatMetadata } from "./agents/chat";
|
|
163
|
+
|
|
164
|
+
// RAG types (client-safe)
|
|
165
|
+
export type { ConversationMessage } from "./agents/rag/rag.types";
|
|
166
|
+
|
|
124
167
|
// Server/runtime exports
|
|
125
168
|
export * as Server from "./server";
|