beddel 0.1.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.
Files changed (236) hide show
  1. package/README.md +297 -0
  2. package/dist/agents/agentRegistry.d.ts +68 -0
  3. package/dist/agents/agentRegistry.d.ts.map +1 -0
  4. package/dist/agents/agentRegistry.js +222 -0
  5. package/dist/agents/agentRegistry.js.map +1 -0
  6. package/dist/agents/formatter-agent.d.ts +10 -0
  7. package/dist/agents/formatter-agent.d.ts.map +1 -0
  8. package/dist/agents/formatter-agent.js +49 -0
  9. package/dist/agents/formatter-agent.js.map +1 -0
  10. package/dist/agents/genkit-agent.d.ts +12 -0
  11. package/dist/agents/genkit-agent.d.ts.map +1 -0
  12. package/dist/agents/genkit-agent.js +119 -0
  13. package/dist/agents/genkit-agent.js.map +1 -0
  14. package/dist/agents/i18n-messages.d.ts +17 -0
  15. package/dist/agents/i18n-messages.d.ts.map +1 -0
  16. package/dist/agents/i18n-messages.js +92 -0
  17. package/dist/agents/i18n-messages.js.map +1 -0
  18. package/dist/agents/index.d.ts +10 -0
  19. package/dist/agents/index.d.ts.map +1 -0
  20. package/dist/agents/index.js +26 -0
  21. package/dist/agents/index.js.map +1 -0
  22. package/dist/agents/pipeline.d.ts +15 -0
  23. package/dist/agents/pipeline.d.ts.map +1 -0
  24. package/dist/agents/pipeline.js +45 -0
  25. package/dist/agents/pipeline.js.map +1 -0
  26. package/dist/agents/schema-factory.d.ts +40 -0
  27. package/dist/agents/schema-factory.d.ts.map +1 -0
  28. package/dist/agents/schema-factory.js +121 -0
  29. package/dist/agents/schema-factory.js.map +1 -0
  30. package/dist/agents/translation-validators.d.ts +26 -0
  31. package/dist/agents/translation-validators.d.ts.map +1 -0
  32. package/dist/agents/translation-validators.js +77 -0
  33. package/dist/agents/translation-validators.js.map +1 -0
  34. package/dist/agents/translator-agents.d.ts +184 -0
  35. package/dist/agents/translator-agents.d.ts.map +1 -0
  36. package/dist/agents/translator-agents.js +613 -0
  37. package/dist/agents/translator-agents.js.map +1 -0
  38. package/dist/agents/types/translation.types.d.ts +100 -0
  39. package/dist/agents/types/translation.types.d.ts.map +1 -0
  40. package/dist/agents/types/translation.types.js +3 -0
  41. package/dist/agents/types/translation.types.js.map +1 -0
  42. package/dist/agents/validator-agent.d.ts +42 -0
  43. package/dist/agents/validator-agent.d.ts.map +1 -0
  44. package/dist/agents/validator-agent.js +122 -0
  45. package/dist/agents/validator-agent.js.map +1 -0
  46. package/dist/audit/auditTrail.d.ts +55 -0
  47. package/dist/audit/auditTrail.d.ts.map +1 -0
  48. package/dist/audit/auditTrail.js +93 -0
  49. package/dist/audit/auditTrail.js.map +1 -0
  50. package/dist/compliance/gdprEngine.d.ts +44 -0
  51. package/dist/compliance/gdprEngine.d.ts.map +1 -0
  52. package/dist/compliance/gdprEngine.js +178 -0
  53. package/dist/compliance/gdprEngine.js.map +1 -0
  54. package/dist/compliance/lgpdEngine.d.ts +51 -0
  55. package/dist/compliance/lgpdEngine.d.ts.map +1 -0
  56. package/dist/compliance/lgpdEngine.js +221 -0
  57. package/dist/compliance/lgpdEngine.js.map +1 -0
  58. package/dist/config.d.ts +78 -0
  59. package/dist/config.d.ts.map +1 -0
  60. package/dist/config.js +77 -0
  61. package/dist/config.js.map +1 -0
  62. package/dist/errors.d.ts +17 -0
  63. package/dist/errors.d.ts.map +1 -0
  64. package/dist/errors.js +40 -0
  65. package/dist/errors.js.map +1 -0
  66. package/dist/firebase/tenantManager.d.ts +84 -0
  67. package/dist/firebase/tenantManager.d.ts.map +1 -0
  68. package/dist/firebase/tenantManager.js +378 -0
  69. package/dist/firebase/tenantManager.js.map +1 -0
  70. package/dist/index.d.ts +36 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +118 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/integration/secure-yaml-runtime.d.ts +68 -0
  75. package/dist/integration/secure-yaml-runtime.d.ts.map +1 -0
  76. package/dist/integration/secure-yaml-runtime.js +245 -0
  77. package/dist/integration/secure-yaml-runtime.js.map +1 -0
  78. package/dist/parser/secure-yaml-parser.d.ts +62 -0
  79. package/dist/parser/secure-yaml-parser.d.ts.map +1 -0
  80. package/dist/parser/secure-yaml-parser.js +234 -0
  81. package/dist/parser/secure-yaml-parser.js.map +1 -0
  82. package/dist/performance/autoscaling.d.ts +100 -0
  83. package/dist/performance/autoscaling.d.ts.map +1 -0
  84. package/dist/performance/autoscaling.js +339 -0
  85. package/dist/performance/autoscaling.js.map +1 -0
  86. package/dist/performance/benchmark.d.ts +104 -0
  87. package/dist/performance/benchmark.d.ts.map +1 -0
  88. package/dist/performance/benchmark.js +514 -0
  89. package/dist/performance/benchmark.js.map +1 -0
  90. package/dist/performance/index.d.ts +14 -0
  91. package/dist/performance/index.d.ts.map +1 -0
  92. package/dist/performance/index.js +35 -0
  93. package/dist/performance/index.js.map +1 -0
  94. package/dist/performance/monitor.d.ts +126 -0
  95. package/dist/performance/monitor.d.ts.map +1 -0
  96. package/dist/performance/monitor.js +324 -0
  97. package/dist/performance/monitor.js.map +1 -0
  98. package/dist/performance/streaming.d.ts +82 -0
  99. package/dist/performance/streaming.d.ts.map +1 -0
  100. package/dist/performance/streaming.js +287 -0
  101. package/dist/performance/streaming.js.map +1 -0
  102. package/dist/runtime/audit.d.ts +240 -0
  103. package/dist/runtime/audit.d.ts.map +1 -0
  104. package/dist/runtime/audit.js +641 -0
  105. package/dist/runtime/audit.js.map +1 -0
  106. package/dist/runtime/declarativeAgentRuntime.d.ts +123 -0
  107. package/dist/runtime/declarativeAgentRuntime.d.ts.map +1 -0
  108. package/dist/runtime/declarativeAgentRuntime.js +576 -0
  109. package/dist/runtime/declarativeAgentRuntime.js.map +1 -0
  110. package/dist/runtime/isolatedRuntime.d.ts +119 -0
  111. package/dist/runtime/isolatedRuntime.d.ts.map +1 -0
  112. package/dist/runtime/isolatedRuntime.js +425 -0
  113. package/dist/runtime/isolatedRuntime.js.map +1 -0
  114. package/dist/runtime/schemaCompiler.d.ts +35 -0
  115. package/dist/runtime/schemaCompiler.d.ts.map +1 -0
  116. package/dist/runtime/schemaCompiler.js +151 -0
  117. package/dist/runtime/schemaCompiler.js.map +1 -0
  118. package/dist/runtime/simpleRuntime.d.ts +57 -0
  119. package/dist/runtime/simpleRuntime.d.ts.map +1 -0
  120. package/dist/runtime/simpleRuntime.js +187 -0
  121. package/dist/runtime/simpleRuntime.js.map +1 -0
  122. package/dist/security/dashboard.d.ts +89 -0
  123. package/dist/security/dashboard.d.ts.map +1 -0
  124. package/dist/security/dashboard.js +300 -0
  125. package/dist/security/dashboard.js.map +1 -0
  126. package/dist/security/hardening.d.ts +130 -0
  127. package/dist/security/hardening.d.ts.map +1 -0
  128. package/dist/security/hardening.js +414 -0
  129. package/dist/security/hardening.js.map +1 -0
  130. package/dist/security/index.d.ts +128 -0
  131. package/dist/security/index.d.ts.map +1 -0
  132. package/dist/security/index.js +353 -0
  133. package/dist/security/index.js.map +1 -0
  134. package/dist/security/monitor.d.ts +88 -0
  135. package/dist/security/monitor.d.ts.map +1 -0
  136. package/dist/security/monitor.js +356 -0
  137. package/dist/security/monitor.js.map +1 -0
  138. package/dist/security/scanner.d.ts +104 -0
  139. package/dist/security/scanner.d.ts.map +1 -0
  140. package/dist/security/scanner.js +298 -0
  141. package/dist/security/scanner.js.map +1 -0
  142. package/dist/security/score.d.ts +150 -0
  143. package/dist/security/score.d.ts.map +1 -0
  144. package/dist/security/score.js +983 -0
  145. package/dist/security/score.js.map +1 -0
  146. package/dist/security/test-security.d.ts +22 -0
  147. package/dist/security/test-security.d.ts.map +1 -0
  148. package/dist/security/test-security.js +154 -0
  149. package/dist/security/test-security.js.map +1 -0
  150. package/dist/security/threatDetector.d.ts +39 -0
  151. package/dist/security/threatDetector.d.ts.map +1 -0
  152. package/dist/security/threatDetector.js +354 -0
  153. package/dist/security/threatDetector.js.map +1 -0
  154. package/dist/security/validation.d.ts +69 -0
  155. package/dist/security/validation.d.ts.map +1 -0
  156. package/dist/security/validation.js +286 -0
  157. package/dist/security/validation.js.map +1 -0
  158. package/dist/server/api/clientsRoute.d.ts +9 -0
  159. package/dist/server/api/clientsRoute.d.ts.map +1 -0
  160. package/dist/server/api/clientsRoute.js +71 -0
  161. package/dist/server/api/clientsRoute.js.map +1 -0
  162. package/dist/server/api/endpointsRoute.d.ts +8 -0
  163. package/dist/server/api/endpointsRoute.d.ts.map +1 -0
  164. package/dist/server/api/endpointsRoute.js +76 -0
  165. package/dist/server/api/endpointsRoute.js.map +1 -0
  166. package/dist/server/api/graphql.d.ts +9 -0
  167. package/dist/server/api/graphql.d.ts.map +1 -0
  168. package/dist/server/api/graphql.js +180 -0
  169. package/dist/server/api/graphql.js.map +1 -0
  170. package/dist/server/errors.d.ts +19 -0
  171. package/dist/server/errors.d.ts.map +1 -0
  172. package/dist/server/errors.js +42 -0
  173. package/dist/server/errors.js.map +1 -0
  174. package/dist/server/index.d.ts +7 -0
  175. package/dist/server/index.d.ts.map +1 -0
  176. package/dist/server/index.js +24 -0
  177. package/dist/server/index.js.map +1 -0
  178. package/dist/server/kvStore.d.ts +27 -0
  179. package/dist/server/kvStore.d.ts.map +1 -0
  180. package/dist/server/kvStore.js +128 -0
  181. package/dist/server/kvStore.js.map +1 -0
  182. package/dist/server/runtimeSecurity.d.ts +28 -0
  183. package/dist/server/runtimeSecurity.d.ts.map +1 -0
  184. package/dist/server/runtimeSecurity.js +85 -0
  185. package/dist/server/runtimeSecurity.js.map +1 -0
  186. package/dist/server/types.d.ts +53 -0
  187. package/dist/server/types.d.ts.map +1 -0
  188. package/dist/server/types.js +8 -0
  189. package/dist/server/types.js.map +1 -0
  190. package/dist/types/executionContext.d.ts +16 -0
  191. package/dist/types/executionContext.d.ts.map +1 -0
  192. package/dist/types/executionContext.js +3 -0
  193. package/dist/types/executionContext.js.map +1 -0
  194. package/package.json +77 -0
  195. package/src/agents/agentRegistry.ts +272 -0
  196. package/src/agents/image-agent.yaml +86 -0
  197. package/src/agents/joker-agent.yaml +47 -0
  198. package/src/agents/translator-agent.yaml +80 -0
  199. package/src/audit/auditTrail.ts +134 -0
  200. package/src/compliance/gdprEngine.ts +209 -0
  201. package/src/compliance/lgpdEngine.ts +268 -0
  202. package/src/config.ts +179 -0
  203. package/src/errors.ts +35 -0
  204. package/src/firebase/tenantManager.ts +443 -0
  205. package/src/index.ts +125 -0
  206. package/src/integration/secure-yaml-runtime.ts +341 -0
  207. package/src/parser/secure-yaml-parser.ts +273 -0
  208. package/src/performance/autoscaling.ts +495 -0
  209. package/src/performance/benchmark.ts +644 -0
  210. package/src/performance/index.ts +34 -0
  211. package/src/performance/monitor.ts +469 -0
  212. package/src/performance/streaming.ts +317 -0
  213. package/src/runtime/audit.ts +907 -0
  214. package/src/runtime/declarativeAgentRuntime.ts +836 -0
  215. package/src/runtime/isolatedRuntime.ts +572 -0
  216. package/src/runtime/schemaCompiler.ts +228 -0
  217. package/src/runtime/simpleRuntime.ts +201 -0
  218. package/src/security/dashboard.ts +462 -0
  219. package/src/security/hardening.ts +560 -0
  220. package/src/security/index.ts +439 -0
  221. package/src/security/monitor.ts +490 -0
  222. package/src/security/scanner.ts +368 -0
  223. package/src/security/score.ts +1138 -0
  224. package/src/security/threatDetector.ts +481 -0
  225. package/src/security/validation.ts +365 -0
  226. package/src/server/api/clientsRoute.ts +92 -0
  227. package/src/server/api/endpointsRoute.ts +97 -0
  228. package/src/server/api/graphql.ts +249 -0
  229. package/src/server/errors.ts +38 -0
  230. package/src/server/index.ts +6 -0
  231. package/src/server/kvStore.ts +152 -0
  232. package/src/server/runtimeSecurity.ts +102 -0
  233. package/src/server/types.ts +60 -0
  234. package/src/types/executionContext.ts +16 -0
  235. package/tools/seed.ts +365 -0
  236. package/tools/test-endpoints.ts +174 -0
@@ -0,0 +1,100 @@
1
+ import { z } from "zod";
2
+ export interface TranslationRequest {
3
+ texto: string;
4
+ idioma_origem: string;
5
+ idioma_destino: string;
6
+ }
7
+ export interface TranslationResponse {
8
+ texto_traduzido: string;
9
+ metadados: {
10
+ modelo_utilizado: string;
11
+ tempo_processamento: number;
12
+ confianca: number;
13
+ idiomas_suportados?: string[];
14
+ };
15
+ }
16
+ /**
17
+ * Erro de validação aprimorado com suporte a múltiplas falhas de validação
18
+ */
19
+ export interface ValidationError {
20
+ campo: string;
21
+ mensagem: string;
22
+ codigo: string;
23
+ issues?: ValidationIssue[];
24
+ }
25
+ export interface ValidationIssue {
26
+ path: (string | number)[];
27
+ message: string;
28
+ type: string;
29
+ expected?: unknown;
30
+ received?: unknown;
31
+ }
32
+ /**
33
+ * Opções de configuração para comportamento de validação
34
+ */
35
+ export interface ValidationOptions {
36
+ stripUnknown?: boolean;
37
+ abortEarly?: boolean;
38
+ allowExtraKeys?: boolean;
39
+ description?: string;
40
+ }
41
+ /**
42
+ * Resultado de validação aprimorado com suporte a múltiplas falhas de validação
43
+ */
44
+ export interface ValidationResult<T> {
45
+ success: boolean;
46
+ data?: T;
47
+ error?: ValidationError;
48
+ }
49
+ /**
50
+ * Interface de configuração para agentes
51
+ */
52
+ export interface AgentConfig {
53
+ resource?: string;
54
+ cacheTTL?: number;
55
+ fallbackModels?: string[];
56
+ }
57
+ /**
58
+ * Tipos para cache de schemas
59
+ */
60
+ export interface SchemaCacheItem {
61
+ schema: z.ZodSchema;
62
+ timestamp: number;
63
+ }
64
+ /**
65
+ * Limitações de tradução
66
+ */
67
+ export interface TranslationLimits {
68
+ maxTextLength?: number;
69
+ minTextLength?: number;
70
+ supportedLanguages?: string[];
71
+ }
72
+ /**
73
+ * Opções de schema dinâmico
74
+ */
75
+ export interface TranslationSchemaOptions {
76
+ maxTextLength?: number;
77
+ supportedLanguages?: string[];
78
+ requireMetadata?: boolean;
79
+ }
80
+ /**
81
+ * Opções de schema de resposta
82
+ */
83
+ export interface TranslationResponseSchemaOptions {
84
+ minConfidence?: number;
85
+ maxProcessingTime?: number;
86
+ includeLanguageSupport?: boolean;
87
+ }
88
+ /**
89
+ * Opções de configuração de tradução
90
+ */
91
+ export interface TranslationConfigOptions {
92
+ sourceLanguage: "pt" | "en" | "es" | "fr";
93
+ targetLanguage: "pt" | "en" | "es" | "fr";
94
+ preserveFormatting?: boolean;
95
+ enableCache?: boolean;
96
+ cacheTTL?: number;
97
+ fallbackModel?: string;
98
+ confidenceThreshold?: number;
99
+ }
100
+ //# sourceMappingURL=translation.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.types.d.ts","sourceRoot":"","sources":["../../../src/agents/types/translation.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE;QACT,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1C,cAAc,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=translation.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.types.js","sourceRoot":"","sources":["../../../src/agents/types/translation.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { z } from "zod";
2
+ import { ValidationOptions, ValidationResult } from "./types/translation.types";
3
+ export declare const translatorSchema: z.ZodObject<{
4
+ texto: z.ZodString;
5
+ idioma_origem: z.ZodString;
6
+ idioma_destino: z.ZodString;
7
+ }, z.core.$strip>;
8
+ /**
9
+ * ValidatorAgent aprimorado com tratamento de erros abrangente
10
+ */
11
+ export default class ValidatorAgent {
12
+ private static schemaCache;
13
+ private static readonly DEFAULT_OPTIONS;
14
+ /**
15
+ * Validação de entrada aprimorada com tratamento abrangente de erros e segurança de tipos
16
+ * @param schema - Schema Zod para validação
17
+ * @param data - Dados desconhecidos para validar
18
+ * @param options - Opções de comportamento de validação
19
+ * @returns Dados tipados validados
20
+ * @throws {ValidationError} com informações detalhadas do erro
21
+ */
22
+ static validateInput<T>(schema: z.ZodSchema, data: unknown, options?: ValidationOptions): T;
23
+ /**
24
+ * Validação segura que retorna objeto de resultado ao invés de lançar erro
25
+ */
26
+ static safeValidate<T>(schema: z.ZodSchema, data: unknown, options?: ValidationOptions): ValidationResult<T>;
27
+ /**
28
+ * Cria um validador de schema em cache para melhor performance
29
+ */
30
+ static createCachedValidator(schema: z.ZodSchema, schemaId: string, options?: ValidationOptions): <T>(data: unknown) => T;
31
+ /**
32
+ * Cria um validador com schema pré-configurado
33
+ */
34
+ static createValidator<T>(schema: z.ZodSchema, options?: ValidationOptions): (data: unknown) => T;
35
+ /**
36
+ * Constrói erro de validação abrangente a partir do ZodError
37
+ */
38
+ private static buildValidationError;
39
+ static validateSchema(schema: z.ZodSchema): boolean;
40
+ }
41
+ export { ValidatorAgent };
42
+ //# sourceMappingURL=validator-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator-agent.d.ts","sourceRoot":"","sources":["../../src/agents/validator-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAIL,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,2BAA2B,CAAC;AAGnC,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAkC;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAIrC;IAEF;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,EACpB,MAAM,EAAE,CAAC,CAAC,SAAS,EACnB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,iBAAiB,GAC1B,CAAC;IAoBJ;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,EACnB,MAAM,EAAE,CAAC,CAAC,SAAS,EACnB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,iBAAiB,GAC1B,gBAAgB,CAAC,CAAC,CAAC;IA8BtB;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAC1B,MAAM,EAAE,CAAC,CAAC,SAAS,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,IAQF,CAAC,EAAE,MAAM,OAAO,KAAG,CAAC;IAK/C;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,iBAAiB,IAC/C,MAAM,OAAO,KAAG,CAAC;IAK5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAwBnC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS;CAM1C;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidatorAgent = exports.translatorSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ // Exportação específica do translatorSchema para uso direto
6
+ exports.translatorSchema = zod_1.z.object({
7
+ texto: zod_1.z.string().min(1).max(10000),
8
+ idioma_origem: zod_1.z.string().regex(/^[a-z]{2}$/),
9
+ idioma_destino: zod_1.z.string().regex(/^[a-z]{2}$/),
10
+ });
11
+ /**
12
+ * ValidatorAgent aprimorado com tratamento de erros abrangente
13
+ */
14
+ class ValidatorAgent {
15
+ /**
16
+ * Validação de entrada aprimorada com tratamento abrangente de erros e segurança de tipos
17
+ * @param schema - Schema Zod para validação
18
+ * @param data - Dados desconhecidos para validar
19
+ * @param options - Opções de comportamento de validação
20
+ * @returns Dados tipados validados
21
+ * @throws {ValidationError} com informações detalhadas do erro
22
+ */
23
+ static validateInput(schema, data, options) {
24
+ const mergeOptions = { ...this.DEFAULT_OPTIONS, ...options };
25
+ try {
26
+ // Tentativa de parse com opções configuradas
27
+ const result = schema.parse(data);
28
+ return result;
29
+ }
30
+ catch (error) {
31
+ if (error instanceof zod_1.z.ZodError) {
32
+ const validationError = this.buildValidationError(error, mergeOptions);
33
+ throw validationError;
34
+ }
35
+ // Tratar erros não-Zod
36
+ throw new Error(`Erro inesperado durante validação: ${error.message}`);
37
+ }
38
+ }
39
+ /**
40
+ * Validação segura que retorna objeto de resultado ao invés de lançar erro
41
+ */
42
+ static safeValidate(schema, data, options) {
43
+ try {
44
+ const result = this.validateInput(schema, data, options);
45
+ return {
46
+ success: true,
47
+ data: result,
48
+ };
49
+ }
50
+ catch (error) {
51
+ return {
52
+ success: false,
53
+ error: error.campo !== undefined
54
+ ? error
55
+ : this.buildValidationError(new zod_1.z.ZodError([
56
+ {
57
+ message: error instanceof Error
58
+ ? error.message
59
+ : "Erro de validação desconhecido",
60
+ code: "custom",
61
+ path: [],
62
+ },
63
+ ]), options),
64
+ };
65
+ }
66
+ }
67
+ /**
68
+ * Cria um validador de schema em cache para melhor performance
69
+ */
70
+ static createCachedValidator(schema, schemaId, options) {
71
+ let cachedSchema = this.schemaCache.get(schemaId);
72
+ if (!cachedSchema) {
73
+ cachedSchema = schema;
74
+ this.schemaCache.set(schemaId, cachedSchema);
75
+ }
76
+ return function validate(data) {
77
+ return ValidatorAgent.validateInput(cachedSchema, data, options);
78
+ };
79
+ }
80
+ /**
81
+ * Cria um validador com schema pré-configurado
82
+ */
83
+ static createValidator(schema, options) {
84
+ return function validate(data) {
85
+ return ValidatorAgent.validateInput(schema, data, options);
86
+ };
87
+ }
88
+ /**
89
+ * Constrói erro de validação abrangente a partir do ZodError
90
+ */
91
+ static buildValidationError(zodError, options) {
92
+ // Zod v4 tem API diferente - usar propriedade issues
93
+ const issues = zodError.issues?.map((issue) => ({
94
+ path: [...issue.path],
95
+ message: issue.message,
96
+ type: issue.code,
97
+ expected: issue.params?.expected,
98
+ received: issue.params?.received,
99
+ })) || [];
100
+ return {
101
+ campo: issues[0]?.path.join(".") || "root",
102
+ mensagem: `${issues.length} erro(s) de validação encontrado(s). ${issues[0]?.message || "Validação falhou"}`,
103
+ codigo: "VALIDATION_ERROR",
104
+ issues,
105
+ };
106
+ }
107
+ static validateSchema(schema) {
108
+ if (schema._def?.typeName) {
109
+ return true;
110
+ }
111
+ throw new Error("Schema Zod inválido fornecido");
112
+ }
113
+ }
114
+ exports.ValidatorAgent = ValidatorAgent;
115
+ ValidatorAgent.schemaCache = new Map();
116
+ ValidatorAgent.DEFAULT_OPTIONS = {
117
+ stripUnknown: false,
118
+ abortEarly: false,
119
+ allowExtraKeys: true,
120
+ };
121
+ exports.default = ValidatorAgent;
122
+ //# sourceMappingURL=validator-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator-agent.js","sourceRoot":"","sources":["../../src/agents/validator-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Audit Trail Service - SHA-256 Hash Tracking
3
+ * Logs operations com hash criptográfico para auditoria completa
4
+ */
5
+ export interface AuditLog {
6
+ operationId: string;
7
+ tenantId: string;
8
+ operation: string;
9
+ data: any;
10
+ timestamp: Date;
11
+ success?: boolean;
12
+ }
13
+ export interface AuditTrailEntry {
14
+ operationId: string;
15
+ tenantId: string;
16
+ operation: string;
17
+ hash: string;
18
+ timestamp: Date;
19
+ dataHash: string;
20
+ success: boolean;
21
+ }
22
+ export declare class AuditTrail {
23
+ private logs;
24
+ private readonly MAX_LOGS;
25
+ constructor();
26
+ /**
27
+ * Log operation with SHA-256 hash
28
+ */
29
+ logOperation(auditLog: AuditLog): Promise<string>;
30
+ /**
31
+ * Generate SHA-256 hash
32
+ */
33
+ private generateSHA256;
34
+ /**
35
+ * Get all audit logs
36
+ */
37
+ getAllLogs(): AuditTrailEntry[];
38
+ /**
39
+ * Get logs for specific tenant
40
+ */
41
+ getTenantLogs(tenantId: string): AuditTrailEntry[];
42
+ /**
43
+ * Get logs for specific operation
44
+ */
45
+ getOperationLogs(operation: string): AuditTrailEntry[];
46
+ /**
47
+ * Verify audit trail integrity
48
+ */
49
+ verifyIntegrity(): boolean;
50
+ /**
51
+ * Clear audit logs
52
+ */
53
+ clearLogs(): void;
54
+ }
55
+ //# sourceMappingURL=auditTrail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditTrail.d.ts","sourceRoot":"","sources":["../../src/audit/auditTrail.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;;IAMlC;;OAEG;IACU,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAsC9D;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;IACI,UAAU,IAAI,eAAe,EAAE;IAItC;;OAEG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;IAIzD;;OAEG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE;IAI7D;;OAEG;IACI,eAAe,IAAI,OAAO;IAYjC;;OAEG;IACI,SAAS,IAAI,IAAI;CAGzB"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * Audit Trail Service - SHA-256 Hash Tracking
4
+ * Logs operations com hash criptográfico para auditoria completa
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.AuditTrail = void 0;
8
+ class AuditTrail {
9
+ constructor() {
10
+ this.logs = [];
11
+ this.MAX_LOGS = 10000;
12
+ this.logs = [];
13
+ }
14
+ /**
15
+ * Log operation with SHA-256 hash
16
+ */
17
+ async logOperation(auditLog) {
18
+ const { operationId, tenantId, operation, data, timestamp, success = true, } = auditLog;
19
+ // Generate hash for audit trail
20
+ const dataString = JSON.stringify(data);
21
+ const hash = this.generateSHA256(`${operationId}-${tenantId}-${operation}-${dataString}-${timestamp.toISOString()}`);
22
+ const dataHash = this.generateSHA256(dataString);
23
+ const entry = {
24
+ operationId,
25
+ tenantId,
26
+ operation,
27
+ hash,
28
+ timestamp,
29
+ dataHash,
30
+ success,
31
+ };
32
+ // Store log
33
+ this.logs.push(entry);
34
+ // Maintain log size limit
35
+ if (this.logs.length > this.MAX_LOGS) {
36
+ this.logs = this.logs.slice(-this.MAX_LOGS);
37
+ }
38
+ return hash;
39
+ }
40
+ /**
41
+ * Generate SHA-256 hash
42
+ */
43
+ generateSHA256(input) {
44
+ // In a real implementation, would use crypto module
45
+ // For now, simulate SHA-256 hash
46
+ return ("SHA256-" +
47
+ input
48
+ .split("")
49
+ .reduce((hash, char) => {
50
+ const charCode = char.charCodeAt(0);
51
+ return ((hash << 5) - hash + charCode) & 0xffffffff;
52
+ }, 0)
53
+ .toString(16));
54
+ }
55
+ /**
56
+ * Get all audit logs
57
+ */
58
+ getAllLogs() {
59
+ return [...this.logs];
60
+ }
61
+ /**
62
+ * Get logs for specific tenant
63
+ */
64
+ getTenantLogs(tenantId) {
65
+ return this.logs.filter((log) => log.tenantId === tenantId);
66
+ }
67
+ /**
68
+ * Get logs for specific operation
69
+ */
70
+ getOperationLogs(operation) {
71
+ return this.logs.filter((log) => log.operation === operation);
72
+ }
73
+ /**
74
+ * Verify audit trail integrity
75
+ */
76
+ verifyIntegrity() {
77
+ for (const log of this.logs) {
78
+ const reconstructedHash = this.generateSHA256(`${log.operationId}-${log.tenantId}-${log.operation}-${log.dataHash}-`);
79
+ if (reconstructedHash !== log.hash) {
80
+ return false;
81
+ }
82
+ }
83
+ return true;
84
+ }
85
+ /**
86
+ * Clear audit logs
87
+ */
88
+ clearLogs() {
89
+ this.logs = [];
90
+ }
91
+ }
92
+ exports.AuditTrail = AuditTrail;
93
+ //# sourceMappingURL=auditTrail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditTrail.js","sourceRoot":"","sources":["../../src/audit/auditTrail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * GDPR Compliance Engine v2025
3
+ * European data protection compliance automático
4
+ * Enhanced with SHA-256 audit trail integration
5
+ */
6
+ import { AuditTrail } from "../audit/auditTrail";
7
+ export interface GDPRConfig {
8
+ tenantId: string;
9
+ dataAnonymization: boolean;
10
+ consentManagement: boolean;
11
+ rightToBeForgotten: boolean;
12
+ dataPortability: boolean;
13
+ dataRetentionDays: number;
14
+ }
15
+ export interface GDPRComplianceResult {
16
+ compliant: boolean;
17
+ violations: string[];
18
+ recommendations: string[];
19
+ }
20
+ export declare class GDPRCompliance {
21
+ private auditTrail;
22
+ constructor(auditTrail?: AuditTrail);
23
+ /**
24
+ * Verify GDPR compliance for tenant
25
+ */
26
+ verifyCompliance(config: GDPRConfig): Promise<boolean>;
27
+ /**
28
+ * Check full GDPR compliance with audit trail
29
+ */
30
+ private checkCompliance;
31
+ /**
32
+ * Anonymize personal data
33
+ */
34
+ anonymizeData(data: any): any;
35
+ /**
36
+ * Hash sensitive data using SHA-256 for GDPR compliance
37
+ */
38
+ private hashSensitiveData;
39
+ /**
40
+ * Generate data portability export with SHA-256 checksum
41
+ */
42
+ generateDataExport(tenantId: string): Promise<any>;
43
+ }
44
+ //# sourceMappingURL=gdprEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gdprEngine.d.ts","sourceRoot":"","sources":["../../src/compliance/gdprEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,CAAC,EAAE,UAAU;IAInC;;OAEG;IACU,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnE;;OAEG;YACW,eAAe;IAgF7B;;OAEG;IACI,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;IAgCpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACU,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAqChE"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ /**
3
+ * GDPR Compliance Engine v2025
4
+ * European data protection compliance automático
5
+ * Enhanced with SHA-256 audit trail integration
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.GDPRCompliance = void 0;
9
+ const auditTrail_1 = require("../audit/auditTrail");
10
+ class GDPRCompliance {
11
+ constructor(auditTrail) {
12
+ this.auditTrail = auditTrail || new auditTrail_1.AuditTrail();
13
+ }
14
+ /**
15
+ * Verify GDPR compliance for tenant
16
+ */
17
+ async verifyCompliance(config) {
18
+ const result = await this.checkCompliance(config);
19
+ return result.compliant;
20
+ }
21
+ /**
22
+ * Check full GDPR compliance with audit trail
23
+ */
24
+ async checkCompliance(config) {
25
+ const violations = [];
26
+ const recommendations = [];
27
+ const operationId = `gdpr-check-${config.tenantId}-${Date.now()}`;
28
+ try {
29
+ // Check data anonymization
30
+ if (!config.dataAnonymization) {
31
+ violations.push("Data anonymization not enabled");
32
+ }
33
+ else {
34
+ recommendations.push("Ensure anonymization algorithms are strong");
35
+ }
36
+ // Check consent management
37
+ if (!config.consentManagement) {
38
+ violations.push("Consent management system not implemented");
39
+ }
40
+ else {
41
+ recommendations.push("Implement granular consent controls");
42
+ }
43
+ // Check right to be forgotten
44
+ if (!config.rightToBeForgotten) {
45
+ violations.push("Right to be forgotten not implemented");
46
+ }
47
+ else {
48
+ recommendations.push("Ensure data deletion within 30 days");
49
+ }
50
+ // Check data portability
51
+ if (!config.dataPortability) {
52
+ violations.push("Data portability not enabled");
53
+ }
54
+ else {
55
+ recommendations.push("Support JSON and XML export formats");
56
+ }
57
+ // Check data retention
58
+ if (config.dataRetentionDays > 2555) {
59
+ // 7 years max
60
+ violations.push("Data retention exceeds GDPR limits");
61
+ }
62
+ else if (config.dataRetentionDays > 730) {
63
+ // 2 years
64
+ recommendations.push("Consider reducing retention period");
65
+ }
66
+ // Log compliance check to audit trail
67
+ const auditHash = await this.auditTrail.logOperation({
68
+ operationId,
69
+ tenantId: config.tenantId,
70
+ operation: "gdpr_compliance_check",
71
+ data: {
72
+ compliant: violations.length === 0,
73
+ violationsCount: violations.length,
74
+ retentionDays: config.dataRetentionDays,
75
+ },
76
+ timestamp: new Date(),
77
+ });
78
+ const compliant = violations.length === 0;
79
+ return {
80
+ compliant,
81
+ violations,
82
+ recommendations,
83
+ };
84
+ }
85
+ catch (error) {
86
+ await this.auditTrail.logOperation({
87
+ operationId,
88
+ tenantId: config.tenantId,
89
+ operation: "gdpr_compliance_error",
90
+ data: {
91
+ error: error instanceof Error ? error.message : String(error),
92
+ },
93
+ timestamp: new Date(),
94
+ success: false,
95
+ });
96
+ throw error;
97
+ }
98
+ }
99
+ /**
100
+ * Anonymize personal data
101
+ */
102
+ anonymizeData(data) {
103
+ if (typeof data !== "object" || data === null) {
104
+ return data;
105
+ }
106
+ const anonymized = { ...data };
107
+ // Anonymize common personal data fields
108
+ const personalFields = [
109
+ "name",
110
+ "email",
111
+ "phone",
112
+ "cpf",
113
+ "rg",
114
+ "passport",
115
+ "address",
116
+ "birthdate",
117
+ "nationality",
118
+ "photo",
119
+ "signature",
120
+ "voice",
121
+ ];
122
+ for (const field of personalFields) {
123
+ if (anonymized[field]) {
124
+ anonymized[field] = this.hashSensitiveData(anonymized[field]);
125
+ }
126
+ }
127
+ return anonymized;
128
+ }
129
+ /**
130
+ * Hash sensitive data using SHA-256 for GDPR compliance
131
+ */
132
+ hashSensitiveData(data) {
133
+ if (typeof data === "string") {
134
+ // Use SHA-256 hash (simulated for now - in production use crypto.createHash)
135
+ const crypto = require("crypto");
136
+ return crypto.createHash("sha256").update(data).digest("hex");
137
+ }
138
+ return "GDPR_HASH_COMPLEX_" + this.hashSensitiveData(JSON.stringify(data));
139
+ }
140
+ /**
141
+ * Generate data portability export with SHA-256 checksum
142
+ */
143
+ async generateDataExport(tenantId) {
144
+ const exportData = {
145
+ tenantId,
146
+ exportDate: new Date().toISOString(),
147
+ format: "JSON",
148
+ data: {
149
+ profile: "user_data_exported",
150
+ preferences: "export_data_placeholder",
151
+ activities: "user_activities_exported",
152
+ },
153
+ gdprVersion: "2025.1",
154
+ };
155
+ // Generate SHA-256 checksum for data integrity
156
+ const crypto = require("crypto");
157
+ const checksum = crypto
158
+ .createHash("sha256")
159
+ .update(JSON.stringify(exportData))
160
+ .digest("hex");
161
+ const result = {
162
+ ...exportData,
163
+ checksum,
164
+ };
165
+ // Log export operation to audit trail
166
+ const operationId = `gdpr-export-${tenantId}-${Date.now()}`;
167
+ await this.auditTrail.logOperation({
168
+ operationId,
169
+ tenantId,
170
+ operation: "gdpr_data_export",
171
+ data: { checksum, exportDate: result.exportDate },
172
+ timestamp: new Date(),
173
+ });
174
+ return result;
175
+ }
176
+ }
177
+ exports.GDPRCompliance = GDPRCompliance;
178
+ //# sourceMappingURL=gdprEngine.js.map