beddel 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/README.md +117 -14
- package/dist/agents/chat/chat.handler.d.ts +12 -0
- package/dist/agents/chat/chat.handler.d.ts.map +1 -0
- package/dist/agents/chat/chat.handler.js +145 -0
- package/dist/agents/chat/chat.handler.js.map +1 -0
- package/dist/agents/chat/chat.schema.d.ts +38 -0
- package/dist/agents/chat/chat.schema.d.ts.map +1 -0
- package/dist/agents/chat/chat.schema.js +31 -0
- package/dist/agents/chat/chat.schema.js.map +1 -0
- package/dist/agents/chat/chat.types.d.ts +42 -0
- package/dist/agents/chat/chat.types.d.ts.map +1 -0
- package/dist/agents/chat/chat.types.js +6 -0
- package/dist/agents/chat/chat.types.js.map +1 -0
- package/dist/agents/chat/chat.yaml +148 -0
- package/dist/agents/chat/index.d.ts +16 -0
- package/dist/agents/chat/index.d.ts.map +1 -0
- package/dist/agents/chat/index.js +21 -0
- package/dist/agents/chat/index.js.map +1 -0
- package/dist/agents/chromadb/chromadb.handler.d.ts +12 -0
- package/dist/agents/chromadb/chromadb.handler.d.ts.map +1 -0
- package/dist/agents/chromadb/chromadb.handler.js +139 -0
- package/dist/agents/chromadb/chromadb.handler.js.map +1 -0
- package/dist/agents/chromadb/chromadb.schema.d.ts +36 -0
- package/dist/agents/chromadb/chromadb.schema.d.ts.map +1 -0
- package/dist/agents/chromadb/chromadb.schema.js +33 -0
- package/dist/agents/chromadb/chromadb.schema.js.map +1 -0
- package/dist/agents/chromadb/chromadb.types.d.ts +49 -0
- package/dist/agents/chromadb/chromadb.types.d.ts.map +1 -0
- package/dist/agents/chromadb/chromadb.types.js +6 -0
- package/dist/agents/chromadb/chromadb.types.js.map +1 -0
- package/dist/agents/chromadb/chromadb.yaml +128 -0
- package/dist/agents/chromadb/index.d.ts +15 -0
- package/dist/agents/chromadb/index.d.ts.map +1 -0
- package/dist/agents/chromadb/index.js +20 -0
- package/dist/agents/chromadb/index.js.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts +8 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js +61 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts +22 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js +20 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts +32 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.js +6 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.types.js.map +1 -0
- package/dist/agents/gemini-vectorize/gemini-vectorize.yaml +84 -0
- package/dist/agents/gemini-vectorize/index.d.ts +15 -0
- package/dist/agents/gemini-vectorize/index.d.ts.map +1 -0
- package/dist/agents/gemini-vectorize/index.js +20 -0
- package/dist/agents/gemini-vectorize/index.js.map +1 -0
- package/dist/agents/gitmcp/gitmcp.handler.d.ts +12 -0
- package/dist/agents/gitmcp/gitmcp.handler.d.ts.map +1 -0
- package/dist/agents/gitmcp/gitmcp.handler.js +95 -0
- package/dist/agents/gitmcp/gitmcp.handler.js.map +1 -0
- package/dist/agents/gitmcp/gitmcp.schema.d.ts +17 -0
- package/dist/agents/gitmcp/gitmcp.schema.d.ts.map +1 -0
- package/dist/agents/gitmcp/gitmcp.schema.js +18 -0
- package/dist/agents/gitmcp/gitmcp.schema.js.map +1 -0
- package/dist/agents/gitmcp/gitmcp.types.d.ts +31 -0
- package/dist/agents/gitmcp/gitmcp.types.d.ts.map +1 -0
- package/dist/agents/gitmcp/gitmcp.types.js +6 -0
- package/dist/agents/gitmcp/gitmcp.types.js.map +1 -0
- package/dist/agents/gitmcp/gitmcp.yaml +71 -0
- package/dist/agents/gitmcp/index.d.ts +16 -0
- package/dist/agents/gitmcp/index.d.ts.map +1 -0
- package/dist/agents/gitmcp/index.js +21 -0
- package/dist/agents/gitmcp/index.js.map +1 -0
- package/dist/agents/image/image.handler.d.ts +8 -0
- package/dist/agents/image/image.handler.d.ts.map +1 -0
- package/dist/agents/image/image.handler.js +69 -0
- package/dist/agents/image/image.handler.js.map +1 -0
- package/dist/agents/image/image.schema.d.ts +29 -0
- package/dist/agents/image/image.schema.d.ts.map +1 -0
- package/dist/agents/image/image.schema.js +26 -0
- package/dist/agents/image/image.schema.js.map +1 -0
- package/dist/agents/image/image.types.d.ts +43 -0
- package/dist/agents/image/image.types.d.ts.map +1 -0
- package/dist/agents/image/image.types.js +6 -0
- package/dist/agents/image/image.types.js.map +1 -0
- package/{src/agents/image-agent.yaml → dist/agents/image/image.yaml} +21 -21
- package/dist/agents/image/index.d.ts +14 -0
- package/dist/agents/image/index.d.ts.map +1 -0
- package/dist/agents/image/index.js +19 -0
- package/dist/agents/image/index.js.map +1 -0
- package/dist/agents/index.d.ts +104 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +82 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/joker/index.d.ts +14 -0
- package/dist/agents/joker/index.d.ts.map +1 -0
- package/dist/agents/joker/index.js +19 -0
- package/dist/agents/joker/index.js.map +1 -0
- package/dist/agents/joker/joker.handler.d.ts +8 -0
- package/dist/agents/joker/joker.handler.d.ts.map +1 -0
- package/dist/agents/joker/joker.handler.js +44 -0
- package/dist/agents/joker/joker.handler.js.map +1 -0
- package/dist/agents/joker/joker.schema.d.ts +12 -0
- package/dist/agents/joker/joker.schema.d.ts.map +1 -0
- package/dist/agents/joker/joker.schema.js +13 -0
- package/dist/agents/joker/joker.schema.js.map +1 -0
- package/dist/agents/joker/joker.types.d.ts +36 -0
- package/dist/agents/joker/joker.types.d.ts.map +1 -0
- package/dist/agents/joker/joker.types.js +6 -0
- package/dist/agents/joker/joker.types.js.map +1 -0
- package/{src/agents/joker-agent.yaml → dist/agents/joker/joker.yaml} +4 -4
- package/dist/agents/llm/index.d.ts +15 -0
- package/dist/agents/llm/index.d.ts.map +1 -0
- package/dist/agents/llm/index.js +20 -0
- package/dist/agents/llm/index.js.map +1 -0
- package/dist/agents/llm/llm.handler.d.ts +8 -0
- package/dist/agents/llm/llm.handler.d.ts.map +1 -0
- package/dist/agents/llm/llm.handler.js +64 -0
- package/dist/agents/llm/llm.handler.js.map +1 -0
- package/dist/agents/llm/llm.schema.d.ts +26 -0
- package/dist/agents/llm/llm.schema.d.ts.map +1 -0
- package/dist/agents/llm/llm.schema.js +23 -0
- package/dist/agents/llm/llm.schema.js.map +1 -0
- package/dist/agents/llm/llm.types.d.ts +34 -0
- package/dist/agents/llm/llm.types.d.ts.map +1 -0
- package/dist/agents/llm/llm.types.js +7 -0
- package/dist/agents/llm/llm.types.js.map +1 -0
- package/dist/agents/llm/llm.yaml +87 -0
- package/dist/agents/mcp-tool/index.d.ts +14 -0
- package/dist/agents/mcp-tool/index.d.ts.map +1 -0
- package/dist/agents/mcp-tool/index.js +19 -0
- package/dist/agents/mcp-tool/index.js.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.handler.d.ts +12 -0
- package/dist/agents/mcp-tool/mcp-tool.handler.d.ts.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.handler.js +116 -0
- package/dist/agents/mcp-tool/mcp-tool.handler.js.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.schema.d.ts +19 -0
- package/dist/agents/mcp-tool/mcp-tool.schema.d.ts.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.schema.js +20 -0
- package/dist/agents/mcp-tool/mcp-tool.schema.js.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.types.d.ts +31 -0
- package/dist/agents/mcp-tool/mcp-tool.types.d.ts.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.types.js +6 -0
- package/dist/agents/mcp-tool/mcp-tool.types.js.map +1 -0
- package/dist/agents/mcp-tool/mcp-tool.yaml +71 -0
- package/dist/agents/rag/index.d.ts +15 -0
- package/dist/agents/rag/index.d.ts.map +1 -0
- package/dist/agents/rag/index.js +20 -0
- package/dist/agents/rag/index.js.map +1 -0
- package/dist/agents/rag/rag.handler.d.ts +9 -0
- package/dist/agents/rag/rag.handler.d.ts.map +1 -0
- package/dist/agents/rag/rag.handler.js +78 -0
- package/dist/agents/rag/rag.handler.js.map +1 -0
- package/dist/agents/rag/rag.schema.d.ts +27 -0
- package/dist/agents/rag/rag.schema.d.ts.map +1 -0
- package/dist/agents/rag/rag.schema.js +24 -0
- package/dist/agents/rag/rag.schema.js.map +1 -0
- package/dist/agents/rag/rag.types.d.ts +42 -0
- package/dist/agents/rag/rag.types.d.ts.map +1 -0
- package/dist/agents/rag/rag.types.js +7 -0
- package/dist/agents/rag/rag.types.js.map +1 -0
- package/dist/agents/rag/rag.yaml +89 -0
- package/dist/agents/{agentRegistry.d.ts → registry/agentRegistry.d.ts} +30 -1
- package/dist/agents/registry/agentRegistry.d.ts.map +1 -0
- package/dist/agents/{agentRegistry.js → registry/agentRegistry.js} +187 -5
- package/dist/agents/registry/agentRegistry.js.map +1 -0
- package/dist/agents/registry/index.d.ts +6 -0
- package/dist/agents/registry/index.d.ts.map +1 -0
- package/dist/agents/registry/index.js +10 -0
- package/dist/agents/registry/index.js.map +1 -0
- package/dist/agents/translator/index.d.ts +14 -0
- package/dist/agents/translator/index.d.ts.map +1 -0
- package/dist/agents/translator/index.js +19 -0
- package/dist/agents/translator/index.js.map +1 -0
- package/dist/agents/translator/translator.handler.d.ts +8 -0
- package/dist/agents/translator/translator.handler.d.ts.map +1 -0
- package/dist/agents/translator/translator.handler.js +81 -0
- package/dist/agents/translator/translator.handler.js.map +1 -0
- package/dist/agents/translator/translator.schema.d.ts +27 -0
- package/dist/agents/translator/translator.schema.d.ts.map +1 -0
- package/dist/agents/translator/translator.schema.js +28 -0
- package/dist/agents/translator/translator.schema.js.map +1 -0
- package/dist/agents/translator/translator.types.d.ts +41 -0
- package/dist/agents/translator/translator.types.d.ts.map +1 -0
- package/dist/agents/translator/translator.types.js +6 -0
- package/dist/agents/translator/translator.types.js.map +1 -0
- package/{src/agents/translator-agent.yaml → dist/agents/translator/translator.yaml} +27 -27
- package/dist/client/index.d.ts +89 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +93 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/types.d.ts +17 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +7 -0
- package/dist/client/types.js.map +1 -0
- package/dist/firebase/tenantManager.d.ts +34 -2
- package/dist/firebase/tenantManager.d.ts.map +1 -1
- package/dist/firebase/tenantManager.js +67 -1
- package/dist/firebase/tenantManager.js.map +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -7
- package/dist/index.js.map +1 -1
- package/dist/runtime/declarativeAgentRuntime.d.ts +17 -52
- package/dist/runtime/declarativeAgentRuntime.d.ts.map +1 -1
- package/dist/runtime/declarativeAgentRuntime.js +259 -361
- package/dist/runtime/declarativeAgentRuntime.js.map +1 -1
- package/dist/runtime/index.d.ts +14 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +38 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/llmProviderFactory.d.ts +47 -0
- package/dist/runtime/llmProviderFactory.d.ts.map +1 -0
- package/dist/runtime/llmProviderFactory.js +119 -0
- package/dist/runtime/llmProviderFactory.js.map +1 -0
- package/dist/runtime/workflowExecutor.d.ts +31 -0
- package/dist/runtime/workflowExecutor.d.ts.map +1 -0
- package/dist/runtime/workflowExecutor.js +80 -0
- package/dist/runtime/workflowExecutor.js.map +1 -0
- package/dist/server/api/graphql.js +3 -3
- package/dist/server/api/graphql.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/shared/index.d.ts +7 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +23 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/types/agent.types.d.ts +63 -0
- package/dist/shared/types/agent.types.d.ts.map +1 -0
- package/dist/shared/types/agent.types.js +18 -0
- package/dist/shared/types/agent.types.js.map +1 -0
- package/dist/shared/types/execution.types.d.ts +42 -0
- package/dist/shared/types/execution.types.d.ts.map +1 -0
- package/dist/shared/types/execution.types.js +7 -0
- package/dist/shared/types/execution.types.js.map +1 -0
- package/dist/shared/types/index.d.ts +7 -0
- package/dist/shared/types/index.d.ts.map +1 -0
- package/dist/shared/types/index.js +23 -0
- package/dist/shared/types/index.js.map +1 -0
- package/dist/shared/types/schema.types.d.ts +52 -0
- package/dist/shared/types/schema.types.d.ts.map +1 -0
- package/dist/shared/types/schema.types.js +7 -0
- package/dist/shared/types/schema.types.js.map +1 -0
- package/dist/shared/utils/index.d.ts +5 -0
- package/dist/shared/utils/index.d.ts.map +1 -0
- package/dist/shared/utils/index.js +21 -0
- package/dist/shared/utils/index.js.map +1 -0
- package/dist/shared/utils/validation.d.ts +42 -0
- package/dist/shared/utils/validation.d.ts.map +1 -0
- package/dist/shared/utils/validation.js +93 -0
- package/dist/shared/utils/validation.js.map +1 -0
- package/dist/tenant/TenantManager.d.ts +152 -0
- package/dist/tenant/TenantManager.d.ts.map +1 -0
- package/dist/tenant/TenantManager.js +392 -0
- package/dist/tenant/TenantManager.js.map +1 -0
- package/dist/tenant/index.d.ts +47 -0
- package/dist/tenant/index.d.ts.map +1 -0
- package/dist/tenant/index.js +74 -0
- package/dist/tenant/index.js.map +1 -0
- package/dist/tenant/interfaces.d.ts +170 -0
- package/dist/tenant/interfaces.d.ts.map +1 -0
- package/dist/tenant/interfaces.js +67 -0
- package/dist/tenant/interfaces.js.map +1 -0
- package/dist/tenant/providerFactory.d.ts +43 -0
- package/dist/tenant/providerFactory.d.ts.map +1 -0
- package/dist/tenant/providerFactory.js +70 -0
- package/dist/tenant/providerFactory.js.map +1 -0
- package/dist/tenant/providerRegistry.d.ts +47 -0
- package/dist/tenant/providerRegistry.d.ts.map +1 -0
- package/dist/tenant/providerRegistry.js +79 -0
- package/dist/tenant/providerRegistry.js.map +1 -0
- package/dist/tenant/providers/FirebaseTenantProvider.d.ts +41 -0
- package/dist/tenant/providers/FirebaseTenantProvider.d.ts.map +1 -0
- package/dist/tenant/providers/FirebaseTenantProvider.js +290 -0
- package/dist/tenant/providers/FirebaseTenantProvider.js.map +1 -0
- package/dist/tenant/providers/InMemoryTenantProvider.d.ts +18 -0
- package/dist/tenant/providers/InMemoryTenantProvider.d.ts.map +1 -0
- package/dist/tenant/providers/InMemoryTenantProvider.js +137 -0
- package/dist/tenant/providers/InMemoryTenantProvider.js.map +1 -0
- package/package.json +46 -10
- package/src/agents/chat/chat.handler.ts +211 -0
- package/src/agents/chat/chat.schema.ts +33 -0
- package/src/agents/chat/chat.types.ts +46 -0
- package/src/agents/chat/chat.yaml +148 -0
- package/src/agents/chat/index.ts +21 -0
- package/src/agents/chromadb/chromadb.handler.ts +130 -0
- package/src/agents/chromadb/chromadb.schema.ts +35 -0
- package/src/agents/chromadb/chromadb.types.ts +52 -0
- package/src/agents/chromadb/chromadb.yaml +128 -0
- package/src/agents/chromadb/index.ts +20 -0
- package/src/agents/gemini-vectorize/gemini-vectorize.handler.ts +75 -0
- package/src/agents/gemini-vectorize/gemini-vectorize.schema.ts +22 -0
- package/src/agents/gemini-vectorize/gemini-vectorize.types.ts +34 -0
- package/src/agents/gemini-vectorize/gemini-vectorize.yaml +84 -0
- package/src/agents/gemini-vectorize/index.ts +20 -0
- package/src/agents/gitmcp/gitmcp.handler.ts +122 -0
- package/src/agents/gitmcp/gitmcp.schema.ts +20 -0
- package/src/agents/gitmcp/gitmcp.types.ts +33 -0
- package/src/agents/gitmcp/gitmcp.yaml +71 -0
- package/src/agents/gitmcp/index.ts +21 -0
- package/src/agents/image/image.handler.ts +86 -0
- package/src/agents/image/image.schema.ts +28 -0
- package/src/agents/image/image.types.ts +46 -0
- package/src/agents/image/image.yaml +86 -0
- package/src/agents/image/index.ts +19 -0
- package/src/agents/index.ts +63 -0
- package/src/agents/joker/index.ts +19 -0
- package/src/agents/joker/joker.handler.ts +55 -0
- package/src/agents/joker/joker.schema.ts +15 -0
- package/src/agents/joker/joker.types.ts +38 -0
- package/src/agents/joker/joker.yaml +47 -0
- package/src/agents/llm/index.ts +20 -0
- package/src/agents/llm/llm.handler.ts +82 -0
- package/src/agents/llm/llm.schema.ts +25 -0
- package/src/agents/llm/llm.types.ts +37 -0
- package/src/agents/llm/llm.yaml +87 -0
- package/src/agents/mcp-tool/index.ts +19 -0
- package/src/agents/mcp-tool/mcp-tool.handler.ts +112 -0
- package/src/agents/mcp-tool/mcp-tool.schema.ts +22 -0
- package/src/agents/mcp-tool/mcp-tool.types.ts +33 -0
- package/src/agents/mcp-tool/mcp-tool.yaml +71 -0
- package/src/agents/rag/index.ts +20 -0
- package/src/agents/rag/rag.handler.ts +95 -0
- package/src/agents/rag/rag.schema.ts +26 -0
- package/src/agents/rag/rag.types.ts +45 -0
- package/src/agents/rag/rag.yaml +89 -0
- package/src/agents/{agentRegistry.ts → registry/agentRegistry.ts} +195 -6
- package/src/agents/registry/index.ts +6 -0
- package/src/agents/translator/index.ts +19 -0
- package/src/agents/translator/translator.handler.ts +97 -0
- package/src/agents/translator/translator.schema.ts +30 -0
- package/src/agents/translator/translator.types.ts +43 -0
- package/src/agents/translator/translator.yaml +80 -0
- package/src/client/index.ts +53 -0
- package/src/client/types.ts +38 -0
- package/src/index.ts +56 -5
- package/src/runtime/declarativeAgentRuntime.ts +378 -495
- package/src/runtime/index.ts +36 -0
- package/src/runtime/llmProviderFactory.ts +145 -0
- package/src/runtime/workflowExecutor.ts +107 -0
- package/src/server/api/graphql.ts +1 -1
- package/src/server/index.ts +2 -2
- package/src/shared/index.ts +7 -0
- package/src/shared/types/agent.types.ts +100 -0
- package/src/shared/types/execution.types.ts +45 -0
- package/src/shared/types/index.ts +7 -0
- package/src/shared/types/schema.types.ts +55 -0
- package/src/shared/utils/index.ts +5 -0
- package/src/shared/utils/validation.ts +100 -0
- package/src/tenant/TenantManager.ts +488 -0
- package/src/tenant/index.ts +101 -0
- package/src/tenant/interfaces.ts +231 -0
- package/src/tenant/providerFactory.ts +75 -0
- package/src/tenant/providerRegistry.ts +86 -0
- package/src/tenant/providers/InMemoryTenantProvider.ts +168 -0
- package/dist/agents/agentRegistry.d.ts.map +0 -1
- package/dist/agents/agentRegistry.js.map +0 -1
- package/src/firebase/tenantManager.ts +0 -443
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Agent Types - Safe for client and server
|
|
3
|
+
* These types contain no sensitive data and can be used in both environments
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Agent metadata - safe for client display
|
|
7
|
+
*/
|
|
8
|
+
export interface AgentMetadata {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
category: string;
|
|
13
|
+
route: string;
|
|
14
|
+
tags?: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generic agent response wrapper
|
|
18
|
+
*/
|
|
19
|
+
export interface AgentResponse<T = unknown> {
|
|
20
|
+
success: boolean;
|
|
21
|
+
data?: T;
|
|
22
|
+
error?: string;
|
|
23
|
+
timestamp?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Execution step tracking for workflow visualization
|
|
27
|
+
*/
|
|
28
|
+
export interface ExecutionStep {
|
|
29
|
+
agent: string;
|
|
30
|
+
action: string;
|
|
31
|
+
status: 'running' | 'success' | 'error';
|
|
32
|
+
startTime: number;
|
|
33
|
+
endTime?: number;
|
|
34
|
+
duration?: number;
|
|
35
|
+
input?: Record<string, unknown>;
|
|
36
|
+
output?: Record<string, unknown>;
|
|
37
|
+
error?: string;
|
|
38
|
+
description?: string;
|
|
39
|
+
phase?: 'orchestration' | 'vectorization' | 'storage' | 'retrieval' | 'ingestion' | 'generation';
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Workflow step types supported by the runtime
|
|
43
|
+
*
|
|
44
|
+
* PREFERRED: Use the English step type names (joke, translation, image, vectorize)
|
|
45
|
+
*
|
|
46
|
+
* DEPRECATED: The following legacy names are supported for backward compatibility
|
|
47
|
+
* but will be removed in a future major version:
|
|
48
|
+
* - genkit-joke → use 'joke'
|
|
49
|
+
* - genkit-translation → use 'translation'
|
|
50
|
+
* - genkit-image → use 'image'
|
|
51
|
+
* - gemini-vectorize → use 'vectorize'
|
|
52
|
+
*/
|
|
53
|
+
export type WorkflowStepType = 'joke' | 'translation' | 'image' | 'vectorize' | 'mcp-tool' | 'chromadb' | 'gitmcp' | 'rag' | 'llm' | 'chat' | 'output-generator' | 'builtin-agent' | 'custom-action' | 'genkit-joke' | 'genkit-translation' | 'genkit-image' | 'gemini-vectorize';
|
|
54
|
+
/**
|
|
55
|
+
* Maps legacy step type names to their preferred equivalents
|
|
56
|
+
* @deprecated Use preferred step type names directly
|
|
57
|
+
*/
|
|
58
|
+
export declare const LEGACY_STEP_TYPE_MAP: Record<string, WorkflowStepType>;
|
|
59
|
+
/**
|
|
60
|
+
* Agent categories for organization
|
|
61
|
+
*/
|
|
62
|
+
export type AgentCategory = 'utility' | 'translation' | 'image' | 'mcp' | 'vectorization' | 'storage' | 'retrieval' | 'orchestration';
|
|
63
|
+
//# sourceMappingURL=agent.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.types.d.ts","sourceRoot":"","sources":["../../../src/shared/types/agent.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;CAClG;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GAExB,MAAM,GACN,aAAa,GACb,OAAO,GACP,WAAW,GACX,UAAU,GACV,UAAU,GACV,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,kBAAkB,GAClB,eAAe,GACf,eAAe,GAEf,aAAa,GACb,oBAAoB,GACpB,cAAc,GACd,kBAAkB,CAAC;AAEvB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAKjE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,aAAa,GACb,OAAO,GACP,KAAK,GACL,eAAe,GACf,SAAS,GACT,WAAW,GACX,eAAe,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared Agent Types - Safe for client and server
|
|
4
|
+
* These types contain no sensitive data and can be used in both environments
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.LEGACY_STEP_TYPE_MAP = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Maps legacy step type names to their preferred equivalents
|
|
10
|
+
* @deprecated Use preferred step type names directly
|
|
11
|
+
*/
|
|
12
|
+
exports.LEGACY_STEP_TYPE_MAP = {
|
|
13
|
+
'genkit-joke': 'joke',
|
|
14
|
+
'genkit-translation': 'translation',
|
|
15
|
+
'genkit-image': 'image',
|
|
16
|
+
'gemini-vectorize': 'vectorize',
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=agent.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.types.js","sourceRoot":"","sources":["../../../src/shared/types/agent.types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA0EH;;;GAGG;AACU,QAAA,oBAAoB,GAAqC;IACpE,aAAa,EAAE,MAAM;IACrB,oBAAoB,EAAE,aAAa;IACnC,cAAc,EAAE,OAAO;IACvB,kBAAkB,EAAE,WAAW;CAChC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Execution Types - Shared between client and server
|
|
3
|
+
* Used for tracking and displaying execution progress
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Execution result from a workflow step
|
|
7
|
+
*/
|
|
8
|
+
export interface ExecutionResult<T = unknown> {
|
|
9
|
+
success: boolean;
|
|
10
|
+
data?: T;
|
|
11
|
+
error?: string;
|
|
12
|
+
duration?: number;
|
|
13
|
+
metadata?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Workflow execution status
|
|
17
|
+
*/
|
|
18
|
+
export type ExecutionStatus = 'pending' | 'running' | 'success' | 'error' | 'cancelled';
|
|
19
|
+
/**
|
|
20
|
+
* Workflow execution summary
|
|
21
|
+
*/
|
|
22
|
+
export interface ExecutionSummary {
|
|
23
|
+
agentId: string;
|
|
24
|
+
status: ExecutionStatus;
|
|
25
|
+
startTime: number;
|
|
26
|
+
endTime?: number;
|
|
27
|
+
totalDuration?: number;
|
|
28
|
+
stepsCompleted: number;
|
|
29
|
+
totalSteps: number;
|
|
30
|
+
error?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Execution log entry
|
|
34
|
+
*/
|
|
35
|
+
export interface ExecutionLogEntry {
|
|
36
|
+
timestamp: number;
|
|
37
|
+
level: 'info' | 'warn' | 'error' | 'debug';
|
|
38
|
+
message: string;
|
|
39
|
+
step?: string;
|
|
40
|
+
metadata?: Record<string, unknown>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=execution.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.types.d.ts","sourceRoot":"","sources":["../../../src/shared/types/execution.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.types.js","sourceRoot":"","sources":["../../../src/shared/types/execution.types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared Types - Re-exports for client and server
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./agent.types"), exports);
|
|
21
|
+
__exportStar(require("./execution.types"), exports);
|
|
22
|
+
__exportStar(require("./schema.types"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,gDAA8B;AAC9B,oDAAkC;AAClC,iDAA+B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema Types - Shared type definitions for agent schemas
|
|
3
|
+
* Used for input/output validation on both client and server
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* JSON Schema-like type definition
|
|
7
|
+
*/
|
|
8
|
+
export interface SchemaProperty {
|
|
9
|
+
type: 'string' | 'number' | 'boolean' | 'object' | 'array';
|
|
10
|
+
description?: string;
|
|
11
|
+
enum?: string[];
|
|
12
|
+
items?: SchemaProperty;
|
|
13
|
+
properties?: Record<string, SchemaProperty>;
|
|
14
|
+
required?: string[];
|
|
15
|
+
default?: unknown;
|
|
16
|
+
minLength?: number;
|
|
17
|
+
maxLength?: number;
|
|
18
|
+
minimum?: number;
|
|
19
|
+
maximum?: number;
|
|
20
|
+
pattern?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Agent schema definition
|
|
24
|
+
*/
|
|
25
|
+
export interface AgentSchemaDefinition {
|
|
26
|
+
input: {
|
|
27
|
+
type: 'object';
|
|
28
|
+
properties: Record<string, SchemaProperty>;
|
|
29
|
+
required?: string[];
|
|
30
|
+
};
|
|
31
|
+
output: {
|
|
32
|
+
type: 'object';
|
|
33
|
+
properties: Record<string, SchemaProperty>;
|
|
34
|
+
required?: string[];
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Validation result
|
|
39
|
+
*/
|
|
40
|
+
export interface ValidationResult {
|
|
41
|
+
valid: boolean;
|
|
42
|
+
errors?: ValidationError[];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Validation error detail
|
|
46
|
+
*/
|
|
47
|
+
export interface ValidationError {
|
|
48
|
+
path: string;
|
|
49
|
+
message: string;
|
|
50
|
+
code: string;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=schema.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.types.d.ts","sourceRoot":"","sources":["../../../src/shared/types/schema.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.types.js","sourceRoot":"","sources":["../../../src/shared/types/schema.types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared Utilities - Re-exports
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./validation"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,+CAA6B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation Utilities - Shared validation helpers
|
|
3
|
+
* Safe for use in both client and server environments
|
|
4
|
+
*/
|
|
5
|
+
import type { ValidationResult, ValidationError } from '../types/schema.types';
|
|
6
|
+
/**
|
|
7
|
+
* Validate that a value is a non-empty string
|
|
8
|
+
*/
|
|
9
|
+
export declare function isNonEmptyString(value: unknown): value is string;
|
|
10
|
+
/**
|
|
11
|
+
* Validate that a value is a positive number
|
|
12
|
+
*/
|
|
13
|
+
export declare function isPositiveNumber(value: unknown): value is number;
|
|
14
|
+
/**
|
|
15
|
+
* Validate that a value is a valid URL
|
|
16
|
+
*/
|
|
17
|
+
export declare function isValidUrl(value: unknown): value is string;
|
|
18
|
+
/**
|
|
19
|
+
* Validate resolution format (e.g., "1024x1024")
|
|
20
|
+
*/
|
|
21
|
+
export declare function isValidResolution(value: unknown): value is string;
|
|
22
|
+
/**
|
|
23
|
+
* Validate language code (e.g., "en", "pt", "es")
|
|
24
|
+
*/
|
|
25
|
+
export declare function isValidLanguageCode(value: unknown): value is string;
|
|
26
|
+
/**
|
|
27
|
+
* Create a validation result with errors
|
|
28
|
+
*/
|
|
29
|
+
export declare function createValidationResult(errors: ValidationError[]): ValidationResult;
|
|
30
|
+
/**
|
|
31
|
+
* Create a validation error
|
|
32
|
+
*/
|
|
33
|
+
export declare function createValidationError(path: string, message: string, code: string): ValidationError;
|
|
34
|
+
/**
|
|
35
|
+
* Sanitize string input by trimming whitespace
|
|
36
|
+
*/
|
|
37
|
+
export declare function sanitizeString(value: unknown): string;
|
|
38
|
+
/**
|
|
39
|
+
* Validate required fields in an object
|
|
40
|
+
*/
|
|
41
|
+
export declare function validateRequiredFields(obj: Record<string, unknown>, requiredFields: string[]): ValidationError[];
|
|
42
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/E;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAQ1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAGjE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAGnE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAKlF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,eAAe,CAEjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,cAAc,EAAE,MAAM,EAAE,GACvB,eAAe,EAAE,CAcnB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Validation Utilities - Shared validation helpers
|
|
4
|
+
* Safe for use in both client and server environments
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.isNonEmptyString = isNonEmptyString;
|
|
8
|
+
exports.isPositiveNumber = isPositiveNumber;
|
|
9
|
+
exports.isValidUrl = isValidUrl;
|
|
10
|
+
exports.isValidResolution = isValidResolution;
|
|
11
|
+
exports.isValidLanguageCode = isValidLanguageCode;
|
|
12
|
+
exports.createValidationResult = createValidationResult;
|
|
13
|
+
exports.createValidationError = createValidationError;
|
|
14
|
+
exports.sanitizeString = sanitizeString;
|
|
15
|
+
exports.validateRequiredFields = validateRequiredFields;
|
|
16
|
+
/**
|
|
17
|
+
* Validate that a value is a non-empty string
|
|
18
|
+
*/
|
|
19
|
+
function isNonEmptyString(value) {
|
|
20
|
+
return typeof value === 'string' && value.trim().length > 0;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Validate that a value is a positive number
|
|
24
|
+
*/
|
|
25
|
+
function isPositiveNumber(value) {
|
|
26
|
+
return typeof value === 'number' && value > 0 && !isNaN(value);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Validate that a value is a valid URL
|
|
30
|
+
*/
|
|
31
|
+
function isValidUrl(value) {
|
|
32
|
+
if (typeof value !== 'string')
|
|
33
|
+
return false;
|
|
34
|
+
try {
|
|
35
|
+
new URL(value);
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Validate resolution format (e.g., "1024x1024")
|
|
44
|
+
*/
|
|
45
|
+
function isValidResolution(value) {
|
|
46
|
+
if (typeof value !== 'string')
|
|
47
|
+
return false;
|
|
48
|
+
return /^\d+x\d+$/.test(value);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Validate language code (e.g., "en", "pt", "es")
|
|
52
|
+
*/
|
|
53
|
+
function isValidLanguageCode(value) {
|
|
54
|
+
if (typeof value !== 'string')
|
|
55
|
+
return false;
|
|
56
|
+
return /^[a-z]{2}(-[A-Z]{2})?$/.test(value);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create a validation result with errors
|
|
60
|
+
*/
|
|
61
|
+
function createValidationResult(errors) {
|
|
62
|
+
return {
|
|
63
|
+
valid: errors.length === 0,
|
|
64
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create a validation error
|
|
69
|
+
*/
|
|
70
|
+
function createValidationError(path, message, code) {
|
|
71
|
+
return { path, message, code };
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Sanitize string input by trimming whitespace
|
|
75
|
+
*/
|
|
76
|
+
function sanitizeString(value) {
|
|
77
|
+
if (typeof value !== 'string')
|
|
78
|
+
return '';
|
|
79
|
+
return value.trim();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Validate required fields in an object
|
|
83
|
+
*/
|
|
84
|
+
function validateRequiredFields(obj, requiredFields) {
|
|
85
|
+
const errors = [];
|
|
86
|
+
for (const field of requiredFields) {
|
|
87
|
+
if (obj[field] === undefined || obj[field] === null) {
|
|
88
|
+
errors.push(createValidationError(field, `Missing required field: ${field}`, 'REQUIRED_FIELD_MISSING'));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return errors;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/shared/utils/validation.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAOH,4CAEC;AAKD,4CAEC;AAKD,gCAQC;AAKD,8CAGC;AAKD,kDAGC;AAKD,wDAKC;AAKD,sDAMC;AAKD,wCAGC;AAKD,wDAiBC;AA5FD;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,MAAyB;IAC9D,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC/C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,IAAY,EACZ,OAAe,EACf,IAAY;IAEZ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,GAA4B,EAC5B,cAAwB;IAExB,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAC/B,KAAK,EACL,2BAA2B,KAAK,EAAE,EAClC,wBAAwB,CACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agnostic Tenant Manager
|
|
3
|
+
* Provider-independent tenant management with compliance integration
|
|
4
|
+
*
|
|
5
|
+
* This manager orchestrates tenant operations using abstract interfaces,
|
|
6
|
+
* allowing swappable backends (Firebase, Supabase, PostgreSQL, etc.)
|
|
7
|
+
*/
|
|
8
|
+
import { AuditTrail } from '../audit/auditTrail';
|
|
9
|
+
import { GDPRCompliance } from '../compliance/gdprEngine';
|
|
10
|
+
import { LGPDCompliance } from '../compliance/lgpdEngine';
|
|
11
|
+
import { ITenantProvider, ITenantApp, TenantConfig } from './interfaces';
|
|
12
|
+
/**
|
|
13
|
+
* Result of tenant initialization with compliance and security metrics
|
|
14
|
+
*/
|
|
15
|
+
export interface TenantIsolationResult {
|
|
16
|
+
success: boolean;
|
|
17
|
+
tenantId: string;
|
|
18
|
+
securityScore: number;
|
|
19
|
+
auditHash: string;
|
|
20
|
+
executionTime: number;
|
|
21
|
+
complianceStatus: {
|
|
22
|
+
lgpd: boolean;
|
|
23
|
+
gdpr: boolean;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Agnostic Tenant Manager
|
|
28
|
+
*
|
|
29
|
+
* Singleton manager that orchestrates tenant operations using abstract
|
|
30
|
+
* provider interfaces. Maintains integration with AuditTrail and
|
|
31
|
+
* LGPD/GDPR compliance engines independent of the underlying provider.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const manager = TenantManager.getInstance();
|
|
36
|
+
*
|
|
37
|
+
* // Initialize with in-memory provider for testing
|
|
38
|
+
* const result = await manager.initializeTenant({
|
|
39
|
+
* tenantId: 'tenant-123',
|
|
40
|
+
* securityProfile: 'tenant-isolated',
|
|
41
|
+
* dataRetentionDays: 365,
|
|
42
|
+
* lgpdEnabled: true,
|
|
43
|
+
* gdprEnabled: true,
|
|
44
|
+
* provider: 'memory',
|
|
45
|
+
* providerConfig: {}
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare class TenantManager {
|
|
50
|
+
private static instance;
|
|
51
|
+
private provider;
|
|
52
|
+
private auditTrail;
|
|
53
|
+
private gdprCompliance;
|
|
54
|
+
private lgpdCompliance;
|
|
55
|
+
private tenantConfigs;
|
|
56
|
+
private constructor();
|
|
57
|
+
/**
|
|
58
|
+
* Get the singleton instance of TenantManager
|
|
59
|
+
*/
|
|
60
|
+
static getInstance(): TenantManager;
|
|
61
|
+
/**
|
|
62
|
+
* Reset the singleton instance (useful for testing)
|
|
63
|
+
*/
|
|
64
|
+
static resetInstance(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Set the provider to use for tenant operations
|
|
67
|
+
* This allows runtime provider switching
|
|
68
|
+
*/
|
|
69
|
+
setProvider(provider: ITenantProvider): void;
|
|
70
|
+
/**
|
|
71
|
+
* Get the current provider
|
|
72
|
+
* @throws ValidationError if no provider is set
|
|
73
|
+
*/
|
|
74
|
+
getProvider(): ITenantProvider;
|
|
75
|
+
/**
|
|
76
|
+
* Initialize tenant with complete isolation and compliance verification
|
|
77
|
+
*
|
|
78
|
+
* @param config - Tenant configuration including provider settings
|
|
79
|
+
* @returns TenantIsolationResult with security and compliance metrics
|
|
80
|
+
* @throws ValidationError if configuration is invalid
|
|
81
|
+
* @throws TenantAlreadyExistsError if tenant already exists
|
|
82
|
+
*/
|
|
83
|
+
initializeTenant(config: TenantConfig): Promise<TenantIsolationResult>;
|
|
84
|
+
/**
|
|
85
|
+
* Get isolated tenant app
|
|
86
|
+
*
|
|
87
|
+
* @param tenantId - The tenant identifier
|
|
88
|
+
* @returns The tenant app instance
|
|
89
|
+
* @throws NotFoundError if tenant does not exist
|
|
90
|
+
* @throws ValidationError if no provider is configured
|
|
91
|
+
*/
|
|
92
|
+
getTenantApp(tenantId: string): ITenantApp;
|
|
93
|
+
/**
|
|
94
|
+
* Execute operation in tenant context with audit trail
|
|
95
|
+
*
|
|
96
|
+
* @param tenantId - The tenant identifier
|
|
97
|
+
* @param operation - Operation name for audit logging
|
|
98
|
+
* @param data - Operation data for audit logging
|
|
99
|
+
* @param callback - The operation to execute
|
|
100
|
+
* @returns The result of the callback
|
|
101
|
+
*/
|
|
102
|
+
executeInTenant<T>(tenantId: string, operation: string, data: unknown, callback: () => Promise<T>): Promise<T>;
|
|
103
|
+
/**
|
|
104
|
+
* Safely remove tenant and release all resources
|
|
105
|
+
*
|
|
106
|
+
* @param tenantId - The tenant identifier
|
|
107
|
+
* @throws NotFoundError if tenant does not exist
|
|
108
|
+
*/
|
|
109
|
+
removeTenant(tenantId: string): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Get all active tenant IDs
|
|
112
|
+
*/
|
|
113
|
+
getActiveTenants(): string[];
|
|
114
|
+
/**
|
|
115
|
+
* Get statistics for all tenants
|
|
116
|
+
*/
|
|
117
|
+
getTenantStats(): Promise<Map<string, TenantIsolationResult>>;
|
|
118
|
+
/**
|
|
119
|
+
* Get the stored configuration for a tenant
|
|
120
|
+
*/
|
|
121
|
+
getTenantConfig(tenantId: string): TenantConfig | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Verify LGPD/GDPR compliance for tenant configuration
|
|
124
|
+
*/
|
|
125
|
+
private verifyCompliance;
|
|
126
|
+
/**
|
|
127
|
+
* Calculate security score based on configuration
|
|
128
|
+
*/
|
|
129
|
+
private calculateSecurityScore;
|
|
130
|
+
/**
|
|
131
|
+
* Validate tenant configuration
|
|
132
|
+
* @throws ValidationError if configuration is invalid
|
|
133
|
+
*/
|
|
134
|
+
private validateTenantConfig;
|
|
135
|
+
/**
|
|
136
|
+
* Sanitize data for audit trail (remove sensitive information)
|
|
137
|
+
*/
|
|
138
|
+
private sanitizeForAudit;
|
|
139
|
+
/**
|
|
140
|
+
* Get the audit trail instance (for testing/debugging)
|
|
141
|
+
*/
|
|
142
|
+
getAuditTrail(): AuditTrail;
|
|
143
|
+
/**
|
|
144
|
+
* Get the LGPD compliance engine (for testing/debugging)
|
|
145
|
+
*/
|
|
146
|
+
getLGPDCompliance(): LGPDCompliance;
|
|
147
|
+
/**
|
|
148
|
+
* Get the GDPR compliance engine (for testing/debugging)
|
|
149
|
+
*/
|
|
150
|
+
getGDPRCompliance(): GDPRCompliance;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=TenantManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantManager.d.ts","sourceRoot":"","sources":["../../src/tenant/TenantManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EAGb,MAAM,cAAc,CAAC;AAGtB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE;QAChB,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO;IAOP;;OAEG;WACW,WAAW,IAAI,aAAa;IAO1C;;OAEG;WACW,aAAa,IAAI,IAAI;IAKnC;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAInD;;;OAGG;IACI,WAAW,IAAI,eAAe;IAOrC;;;;;;;OAOG;IACU,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsEnF;;;;;;;OAOG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAKjD;;;;;;;;OAQG;IACU,eAAe,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,CAAC,CAAC;IAmDb;;;;;OAKG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1D;;OAEG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAOnC;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IA0B1E;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIlE;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyC9B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACI,aAAa,IAAI,UAAU;IAIlC;;OAEG;IACI,iBAAiB,IAAI,cAAc;IAI1C;;OAEG;IACI,iBAAiB,IAAI,cAAc;CAG3C"}
|