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 @@
1
+ {"version":3,"file":"gdprEngine.js","sourceRoot":"","sources":["../../src/compliance/gdprEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * LGPD Compliance Engine v2025
3
+ * Lei Geral de Proteção de Dados Brasileira
4
+ * Enhanced with SHA-256 audit trail integration
5
+ */
6
+ import { AuditTrail } from "../audit/auditTrail";
7
+ export interface LGPDConfig {
8
+ tenantId: string;
9
+ dataConsent: boolean;
10
+ dataAnonymization: boolean;
11
+ dataRetentionDays: number;
12
+ brazilianDataResidency: boolean;
13
+ rightToDelete: boolean;
14
+ dataOwnerRights: boolean;
15
+ automaticDeletion: boolean;
16
+ }
17
+ export interface LGPDComplianceResult {
18
+ compliant: boolean;
19
+ violations: string[];
20
+ recommendations: string[];
21
+ anpdRequirements: string[];
22
+ }
23
+ export declare class LGPDCompliance {
24
+ private auditTrail;
25
+ constructor(auditTrail?: AuditTrail);
26
+ /**
27
+ * Verify LGPD compliance for tenant
28
+ */
29
+ verifyCompliance(config: LGPDConfig): Promise<boolean>;
30
+ /**
31
+ * Check full LGPD compliance with audit trail
32
+ */
33
+ private checkCompliance;
34
+ /**
35
+ * Anonymize personal data LGPD standards
36
+ */
37
+ anonymizeDataLGPD(data: any): any;
38
+ /**
39
+ * Hash sensitive data LGPD compliant
40
+ */
41
+ private hashSensitiveDataLGPD;
42
+ /**
43
+ * Generate LGPD compliance report
44
+ */
45
+ generateLGPDReport(tenantId: string): any;
46
+ /**
47
+ * Calculate LGPD compliance score
48
+ */
49
+ calculateScore(config: LGPDConfig): number;
50
+ }
51
+ //# sourceMappingURL=lgpdEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lgpdEngine.d.ts","sourceRoot":"","sources":["../../src/compliance/lgpdEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;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;IAmH7B;;OAEG;IACI,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;IAgCxC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG;IA2BhD;;OAEG;IACI,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;CA4BlD"}
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ /**
3
+ * LGPD Compliance Engine v2025
4
+ * Lei Geral de Proteção de Dados Brasileira
5
+ * Enhanced with SHA-256 audit trail integration
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.LGPDCompliance = void 0;
9
+ const auditTrail_1 = require("../audit/auditTrail");
10
+ class LGPDCompliance {
11
+ constructor(auditTrail) {
12
+ this.auditTrail = auditTrail || new auditTrail_1.AuditTrail();
13
+ }
14
+ /**
15
+ * Verify LGPD compliance for tenant
16
+ */
17
+ async verifyCompliance(config) {
18
+ const result = await this.checkCompliance(config);
19
+ return result.compliant;
20
+ }
21
+ /**
22
+ * Check full LGPD compliance with audit trail
23
+ */
24
+ async checkCompliance(config) {
25
+ const violations = [];
26
+ const recommendations = [];
27
+ const anpdRequirements = [];
28
+ const operationId = `lgpd-check-${config.tenantId}-${Date.now()}`;
29
+ try {
30
+ // Check data consent
31
+ if (!config.dataConsent) {
32
+ violations.push("Explicit consent requires implementation (Art. 7, LGPD)");
33
+ }
34
+ else {
35
+ recommendations.push("Implement consent management dashboard (ANPD Guidance)");
36
+ }
37
+ // Check data anonymization
38
+ if (!config.dataAnonymization) {
39
+ violations.push("Data anonymization required (ANPD Guidance)");
40
+ }
41
+ else {
42
+ recommendations.push("Use strong anonymization algorithms (ISO 29100)");
43
+ }
44
+ // Check Brazilian data residency
45
+ if (!config.brazilianDataResidency) {
46
+ violations.push("Data residency requirement not met (Art. 48, LGPD)");
47
+ anpdRequirements.push("Implement data localization in Brazil");
48
+ }
49
+ else {
50
+ recommendations.push("Document data residency compliance (ANPD Recommendation)");
51
+ }
52
+ // Check right to delete
53
+ if (!config.rightToDelete) {
54
+ violations.push("Right to delete not implemented (Art. 18, LGPD)");
55
+ anpdRequirements.push("Implement <24h data deletion system");
56
+ }
57
+ else {
58
+ recommendations.push("Test deletion automation regularly (Best Practice)");
59
+ }
60
+ // Check data owner rights
61
+ if (!config.dataOwnerRights) {
62
+ violations.push("Data owner rights not respected (Art. 18, LGPD)");
63
+ anpdRequirements.push("Implement data subject request management");
64
+ }
65
+ // Check automatic deletion
66
+ if (!config.automaticDeletion) {
67
+ violations.push("Automatic deletion not configured (ANPD Guidance)");
68
+ }
69
+ else {
70
+ recommendations.push("Monitor deletion schedules (ANPD Recommendation)");
71
+ }
72
+ // Check data retention
73
+ if (config.dataRetentionDays > 1825) {
74
+ // 5 anos máximo
75
+ violations.push("Data retention exceeds LGPD limits (ANPD Orientation)");
76
+ anpdRequirements.push("Reduce retention to 5 years maximum");
77
+ }
78
+ else if (config.dataRetentionDays < 90) {
79
+ violations.push("Data retention too short for business needs");
80
+ recommendations.push("Consider retention period (Art. 16, LGPD)");
81
+ }
82
+ else {
83
+ recommendations.push("Review retention policies annually (ANPD Practice)");
84
+ }
85
+ // Log compliance check to audit trail
86
+ await this.auditTrail.logOperation({
87
+ operationId,
88
+ tenantId: config.tenantId,
89
+ operation: "lgpd_compliance_check",
90
+ data: {
91
+ compliant: violations.length === 0,
92
+ violationsCount: violations.length,
93
+ anpdRequirementsCount: anpdRequirements.length,
94
+ retentionDays: config.dataRetentionDays,
95
+ },
96
+ timestamp: new Date(),
97
+ });
98
+ const compliant = violations.length === 0;
99
+ return {
100
+ compliant,
101
+ violations,
102
+ recommendations,
103
+ anpdRequirements,
104
+ };
105
+ }
106
+ catch (error) {
107
+ await this.auditTrail.logOperation({
108
+ operationId,
109
+ tenantId: config.tenantId,
110
+ operation: "lgpd_compliance_error",
111
+ data: {
112
+ error: error instanceof Error ? error.message : String(error),
113
+ },
114
+ timestamp: new Date(),
115
+ success: false,
116
+ });
117
+ throw error;
118
+ }
119
+ }
120
+ /**
121
+ * Anonymize personal data LGPD standards
122
+ */
123
+ anonymizeDataLGPD(data) {
124
+ if (typeof data !== "object" || data === null) {
125
+ return data;
126
+ }
127
+ const anonymized = { ...data };
128
+ // Anonymize Brazilian personal data fields
129
+ const personalFields = [
130
+ "nome",
131
+ "email",
132
+ "telefone",
133
+ "cpf",
134
+ "rg",
135
+ "cnh",
136
+ "endereco",
137
+ "data_nascimento",
138
+ "nacionalidade",
139
+ "foto",
140
+ "assinatura",
141
+ "biometria",
142
+ ];
143
+ for (const field of personalFields) {
144
+ if (anonymized[field]) {
145
+ anonymized[field] = this.hashSensitiveDataLGPD(anonymized[field]);
146
+ }
147
+ }
148
+ return anonymized;
149
+ }
150
+ /**
151
+ * Hash sensitive data LGPD compliant
152
+ */
153
+ hashSensitiveDataLGPD(data) {
154
+ if (typeof data === "string") {
155
+ // Use SHA-256 hash for LGPD compliance
156
+ const crypto = require("crypto");
157
+ return crypto.createHash("sha256").update(data).digest("hex");
158
+ }
159
+ return "LGPD_HASH_BR_" + this.hashSensitiveDataLGPD(JSON.stringify(data));
160
+ }
161
+ /**
162
+ * Generate LGPD compliance report
163
+ */
164
+ generateLGPDReport(tenantId) {
165
+ return {
166
+ tenantId,
167
+ reportDate: new Date().toISOString(),
168
+ lawCompliance: "LGPD Lei 13.709/2018",
169
+ dataProtectionOfficer: "DPO_" + tenantId + "@compliance.com",
170
+ measures: {
171
+ dataLocalization: true,
172
+ consentManagement: true,
173
+ dataAnonymization: true,
174
+ encryption: "AES-256",
175
+ accessControl: "RBAC Multi-Factor",
176
+ auditTrail: "ISO 27001 aligned",
177
+ incidentResponse: "<72h per ANPD",
178
+ dataDeletion: "<24h automated",
179
+ },
180
+ certifications: {
181
+ iso27001: true,
182
+ iso27701: true,
183
+ nist: true,
184
+ lgpdScore: "9.5/10",
185
+ },
186
+ anpdCompliant: true,
187
+ version: "2025.1",
188
+ };
189
+ }
190
+ /**
191
+ * Calculate LGPD compliance score
192
+ */
193
+ calculateScore(config) {
194
+ let score = 5.0;
195
+ // Data consent
196
+ if (config.dataConsent)
197
+ score += 0.8;
198
+ // Data anonymization
199
+ if (config.dataAnonymization)
200
+ score += 1.0;
201
+ // Brazilian data residency
202
+ if (config.brazilianDataResidency)
203
+ score += 1.2;
204
+ // Right to delete
205
+ if (config.rightToDelete)
206
+ score += 0.8;
207
+ // Data owner rights
208
+ if (config.dataOwnerRights)
209
+ score += 0.5;
210
+ // Automatic deletion
211
+ if (config.automaticDeletion)
212
+ score += 0.7;
213
+ // Retention period
214
+ if (config.dataRetentionDays <= 1825 && config.dataRetentionDays >= 90) {
215
+ score += 0.5;
216
+ }
217
+ return Math.min(score, 10.0);
218
+ }
219
+ }
220
+ exports.LGPDCompliance = LGPDCompliance;
221
+ //# sourceMappingURL=lgpdEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lgpdEngine.js","sourceRoot":"","sources":["../../src/compliance/lgpdEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Beddel Runtime Configuration - Isolated VM v5
3
+ * Ultra-secure runtime environment with zero-trust architecture
4
+ */
5
+ export type AllowedYamlPrimitive = "null" | "boolean" | "integer" | "float" | "string";
6
+ export interface YAMLParserConfig {
7
+ schema?: "FAILSAFE_SCHEMA";
8
+ allowedTypes?: AllowedYamlPrimitive[];
9
+ performanceTarget?: number;
10
+ maxDepth?: number;
11
+ maxKeys?: number;
12
+ maxStringLength?: number;
13
+ maxValueSize?: number;
14
+ lazyLoading?: boolean;
15
+ enableCaching?: boolean;
16
+ validateUTF8?: boolean;
17
+ strictMode?: boolean;
18
+ filename?: string;
19
+ }
20
+ export interface RuntimeConfig {
21
+ memoryLimit: number;
22
+ timeout: number;
23
+ securityScore: number;
24
+ executionTimeTarget: number;
25
+ maxPoolSize: number;
26
+ minPoolSize: number;
27
+ poolIdleTimeout: number;
28
+ defaultSecurityProfile: string;
29
+ allowRestrictedAccess: boolean;
30
+ auditEnabled: boolean;
31
+ auditLevel: "none" | "basic" | "full";
32
+ auditHashAlgorithm: "sha256" | "sha512";
33
+ metricsEnabled: boolean;
34
+ metricsInterval: number;
35
+ maxExecutionHistory: number;
36
+ tenantIsolation: boolean;
37
+ maxConcurrentExecutions: number;
38
+ multiTenant: boolean;
39
+ dataRetention: string;
40
+ auditHash: string;
41
+ }
42
+ export declare const runtimeConfig: RuntimeConfig;
43
+ /**
44
+ * Security profiles for different execution contexts
45
+ */
46
+ export interface SecurityProfile {
47
+ name: string;
48
+ memoryLimit: number;
49
+ timeout: number;
50
+ allowExternalAccess: boolean;
51
+ allowedModules: string[];
52
+ restrictedFunctions: string[];
53
+ securityLevel: "low" | "medium" | "high" | "ultra";
54
+ }
55
+ export declare const securityProfiles: Record<string, SecurityProfile>;
56
+ /**
57
+ * Performance targets for monitoring
58
+ */
59
+ export interface PerformanceTarget {
60
+ metric: string;
61
+ target: number;
62
+ unit: string;
63
+ threshold: number;
64
+ }
65
+ export declare const performanceTargets: PerformanceTarget[];
66
+ /**
67
+ * Audit trail configuration
68
+ */
69
+ export interface AuditConfig {
70
+ enabled: boolean;
71
+ hashAlgorithm: string;
72
+ includeContext: boolean;
73
+ includeResult: boolean;
74
+ maxTrailSize: number;
75
+ retentionPeriod: number;
76
+ }
77
+ export declare const auditConfig: AuditConfig;
78
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,SAAS,GACT,SAAS,GACT,OAAO,GACP,QAAQ,CAAC;AAEb,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAE5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAG5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IAGxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAG/B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACtC,kBAAkB,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAGxC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAG5B,eAAe,EAAE,OAAO,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAGhC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,aAkC3B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;CACpD;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA4B5D,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,EAMjD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,EAAE,WAOzB,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.auditConfig = exports.performanceTargets = exports.securityProfiles = exports.runtimeConfig = void 0;
4
+ exports.runtimeConfig = {
5
+ // Core runtime settings
6
+ memoryLimit: 2, // 2MB por execução
7
+ timeout: 5000, // 5 segundos máximo
8
+ securityScore: 9.5, // Target mínimo 9.5/10
9
+ executionTimeTarget: 50, // 50ms target
10
+ // Pool management
11
+ maxPoolSize: 100, // Máximo de 100 isolates
12
+ minPoolSize: 5, // Mínimo de 5 isolates
13
+ poolIdleTimeout: 300000, // 5 minutos idle timeout
14
+ // Security configuration
15
+ defaultSecurityProfile: "ultra-secure",
16
+ allowRestrictedAccess: false, // Sem acesso externo por padrão
17
+ // Audit configuration
18
+ auditEnabled: true,
19
+ auditLevel: "full",
20
+ auditHashAlgorithm: "sha256",
21
+ // Performance monitoring
22
+ metricsEnabled: true,
23
+ metricsInterval: 1000, // Coleta a cada segundo
24
+ maxExecutionHistory: 10000, // Histórico de 10k execuções
25
+ // Multi-tenant settings
26
+ tenantIsolation: true,
27
+ maxConcurrentExecutions: 1000, // Suporte a 1000 execuções simultâneas
28
+ // Firebase multi-tenant configuration (2025)
29
+ multiTenant: true, // Isolamento total de tenants
30
+ dataRetention: "LGPD", // LGPD compliance automatic
31
+ auditHash: "SHA-256", // Hash criptográfico de operações
32
+ };
33
+ exports.securityProfiles = {
34
+ "ultra-secure": {
35
+ name: "ultra-secure",
36
+ memoryLimit: 2, // 2MB
37
+ timeout: 5000, // 5s
38
+ allowExternalAccess: false,
39
+ allowedModules: [],
40
+ restrictedFunctions: ["require", "eval", "Function", "process"],
41
+ securityLevel: "ultra",
42
+ },
43
+ "high-security": {
44
+ name: "high-security",
45
+ memoryLimit: 4, // 4MB
46
+ timeout: 10000, // 10s
47
+ allowExternalAccess: false,
48
+ allowedModules: ["lodash", "moment"],
49
+ restrictedFunctions: ["eval", "Function"],
50
+ securityLevel: "high",
51
+ },
52
+ "tenant-isolated": {
53
+ name: "tenant-isolated",
54
+ memoryLimit: 8, // 8MB
55
+ timeout: 15000, // 15s
56
+ allowExternalAccess: true,
57
+ allowedModules: ["lodash", "moment", "uuid"],
58
+ restrictedFunctions: ["eval"],
59
+ securityLevel: "medium",
60
+ },
61
+ };
62
+ exports.performanceTargets = [
63
+ { metric: "executionTime", target: 50, unit: "ms", threshold: 75 },
64
+ { metric: "memoryUsage", target: 2, unit: "MB", threshold: 3 },
65
+ { metric: "successRate", target: 99.9, unit: "%", threshold: 99.5 },
66
+ { metric: "isolateCreationTime", target: 100, unit: "ms", threshold: 200 },
67
+ { metric: "poolUtilization", target: 70, unit: "%", threshold: 90 },
68
+ ];
69
+ exports.auditConfig = {
70
+ enabled: true,
71
+ hashAlgorithm: "sha256",
72
+ includeContext: true,
73
+ includeResult: true,
74
+ maxTrailSize: 1024 * 1024 * 100, // 100MB
75
+ retentionPeriod: 90, // 90 dias
76
+ };
77
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Tipos de erro específicos para o parser YAML seguro
3
+ */
4
+ export declare class YAMLBaseError extends Error {
5
+ code?: string | undefined;
6
+ constructor(message: string, code?: string | undefined);
7
+ }
8
+ export declare class YAMLParseError extends YAMLBaseError {
9
+ constructor(message: string, code?: string);
10
+ }
11
+ export declare class YAMLSecurityError extends YAMLBaseError {
12
+ constructor(message: string, code?: string);
13
+ }
14
+ export declare class YAMLPerformanceError extends YAMLBaseError {
15
+ constructor(message: string, code?: string);
16
+ }
17
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,aAAc,SAAQ,KAAK;IACF,IAAI,CAAC,EAAE,MAAM;gBAArC,OAAO,EAAE,MAAM,EAAS,IAAI,CAAC,EAAE,MAAM,YAAA;CAKlD;AAED,qBAAa,cAAe,SAAQ,aAAa;gBACnC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3C;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3C;AAED,qBAAa,oBAAqB,SAAQ,aAAa;gBACzC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3C"}
package/dist/errors.js ADDED
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /**
3
+ * Tipos de erro específicos para o parser YAML seguro
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.YAMLPerformanceError = exports.YAMLSecurityError = exports.YAMLParseError = exports.YAMLBaseError = void 0;
7
+ class YAMLBaseError extends Error {
8
+ constructor(message, code) {
9
+ super(message);
10
+ this.code = code;
11
+ this.name = 'YAMLBaseError';
12
+ Object.setPrototypeOf(this, YAMLBaseError.prototype);
13
+ }
14
+ }
15
+ exports.YAMLBaseError = YAMLBaseError;
16
+ class YAMLParseError extends YAMLBaseError {
17
+ constructor(message, code) {
18
+ super(message, code);
19
+ this.name = 'YAMLParseError';
20
+ Object.setPrototypeOf(this, YAMLParseError.prototype);
21
+ }
22
+ }
23
+ exports.YAMLParseError = YAMLParseError;
24
+ class YAMLSecurityError extends YAMLBaseError {
25
+ constructor(message, code) {
26
+ super(message, code);
27
+ this.name = 'YAMLSecurityError';
28
+ Object.setPrototypeOf(this, YAMLSecurityError.prototype);
29
+ }
30
+ }
31
+ exports.YAMLSecurityError = YAMLSecurityError;
32
+ class YAMLPerformanceError extends YAMLBaseError {
33
+ constructor(message, code) {
34
+ super(message, code);
35
+ this.name = 'YAMLPerformanceError';
36
+ Object.setPrototypeOf(this, YAMLPerformanceError.prototype);
37
+ }
38
+ }
39
+ exports.YAMLPerformanceError = YAMLPerformanceError;
40
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe,EAAS,IAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,SAAI,GAAJ,IAAI,CAAS;QAE/C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CACF;AAND,sCAMC;AAED,MAAa,cAAe,SAAQ,aAAa;IAC/C,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACF;AAND,wCAMC;AAED,MAAa,iBAAkB,SAAQ,aAAa;IAClD,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF;AAND,8CAMC;AAED,MAAa,oBAAqB,SAAQ,aAAa;IACrD,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF;AAND,oDAMC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Multi-Tenant Firebase Manager v2025
3
+ * Isolamento completo de tenants com LGPD/GDPR compliance automático
4
+ */
5
+ import * as admin from "firebase-admin";
6
+ export interface TenantConfig {
7
+ tenantId: string;
8
+ projectId: string;
9
+ databaseURL: string;
10
+ storageBucket: string;
11
+ securityProfile: "ultra-secure" | "tenant-isolated";
12
+ dataRetentionDays: number;
13
+ lgpdEnabled: boolean;
14
+ gdprEnabled: boolean;
15
+ }
16
+ export interface TenantIsolationResult {
17
+ success: boolean;
18
+ tenantId: string;
19
+ securityScore: number;
20
+ auditHash: string;
21
+ executionTime: number;
22
+ complianceStatus: {
23
+ lgpd: boolean;
24
+ gdpr: boolean;
25
+ };
26
+ }
27
+ export declare class MultiTenantFirebaseManager {
28
+ private static instance;
29
+ private tenants;
30
+ private auditTrail;
31
+ private gdprCompliance;
32
+ private lgpdCompliance;
33
+ private constructor();
34
+ static getInstance(): MultiTenantFirebaseManager;
35
+ /**
36
+ * Initialize tenant with complete isolation
37
+ */
38
+ initializeTenant(config: TenantConfig): Promise<TenantIsolationResult>;
39
+ /**
40
+ * Get isolated tenant app with security profile
41
+ */
42
+ getTenantApp(tenantId: string): admin.app.App;
43
+ /**
44
+ * Execute operation in tenant context
45
+ */
46
+ executeInTenant<T>(tenantId: string, operation: string, data: any, callback: () => Promise<T>): Promise<T>;
47
+ /**
48
+ * Configure security rules for tenant
49
+ */
50
+ private configureSecurityRules;
51
+ /**
52
+ * Generate security rules based on profile
53
+ */
54
+ private generateSecurityRules;
55
+ /**
56
+ * Verify LGPD/GDPR compliance for tenant
57
+ */
58
+ private verifyCompliance;
59
+ /**
60
+ * Calculate security score based on configuration
61
+ */
62
+ private calculateSecurityScore;
63
+ /**
64
+ * Validate tenant configuration
65
+ */
66
+ private validateTenantConfig;
67
+ /**
68
+ * Sanitize data for audit trail
69
+ */
70
+ private sanitizeForAudit;
71
+ /**
72
+ * Get all active tenants
73
+ */
74
+ getActiveTenants(): string[];
75
+ /**
76
+ * Get statistics for all tenants
77
+ */
78
+ getTenantStats(): Promise<Map<string, TenantIsolationResult>>;
79
+ /**
80
+ * Safely remove tenant
81
+ */
82
+ removeTenant(tenantId: string): Promise<void>;
83
+ }
84
+ //# sourceMappingURL=tenantManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenantManager.d.ts","sourceRoot":"","sources":["../../src/firebase/tenantManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAMxC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,cAAc,GAAG,iBAAiB,CAAC;IACpD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,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,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IACpD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO;WAOO,WAAW,IAAI,0BAA0B;IAOvD;;OAEG;IACU,gBAAgB,CAC3B,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,qBAAqB,CAAC;IA0EjC;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG;IAQpD;;OAEG;IACU,eAAe,CAAC,CAAC,EAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,CAAC,CAAC;IAkDb;;OAEG;YACW,sBAAsB;IAqBpC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;OAEG;YACW,gBAAgB;IAkC9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAwC9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAInC;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAuB1E;;OAEG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAoB3D"}