@revealui/mcp 0.1.0 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/LICENSE +22 -0
  2. package/LICENSE.commercial +111 -0
  3. package/README.md +3 -0
  4. package/dist/{packages/mcp/src/adapters → adapters}/db.d.ts +1 -1
  5. package/dist/adapters/db.d.ts.map +1 -0
  6. package/dist/adapters/db.js.map +1 -0
  7. package/dist/config/index.d.ts.map +1 -0
  8. package/dist/config/index.js.map +1 -0
  9. package/dist/contracts.d.ts.map +1 -0
  10. package/dist/contracts.js.map +1 -0
  11. package/dist/{packages/mcp/src/hypervisor.d.ts → hypervisor.d.ts} +56 -0
  12. package/dist/hypervisor.d.ts.map +1 -0
  13. package/dist/{packages/mcp/src/hypervisor.js → hypervisor.js} +209 -1
  14. package/dist/hypervisor.js.map +1 -0
  15. package/dist/{packages/mcp/src/index.d.ts → index.d.ts} +9 -5
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/{packages/mcp/src/index.js → index.js} +8 -4
  18. package/dist/index.js.map +1 -0
  19. package/dist/{packages/mcp/src/servers → servers}/adapter.d.ts +11 -1
  20. package/dist/servers/adapter.d.ts.map +1 -0
  21. package/dist/{packages/mcp/src/servers → servers}/adapter.js +20 -4
  22. package/dist/servers/adapter.js.map +1 -0
  23. package/dist/servers/revealui-content.d.ts +21 -0
  24. package/dist/servers/revealui-content.d.ts.map +1 -0
  25. package/dist/servers/revealui-content.js +211 -0
  26. package/dist/servers/revealui-content.js.map +1 -0
  27. package/dist/servers/revealui-email.d.ts +18 -0
  28. package/dist/servers/revealui-email.d.ts.map +1 -0
  29. package/dist/servers/revealui-email.js +190 -0
  30. package/dist/servers/revealui-email.js.map +1 -0
  31. package/dist/servers/revealui-stripe.d.ts +19 -0
  32. package/dist/servers/revealui-stripe.d.ts.map +1 -0
  33. package/dist/servers/revealui-stripe.js +228 -0
  34. package/dist/servers/revealui-stripe.js.map +1 -0
  35. package/package.json +50 -11
  36. package/.env.example +0 -9
  37. package/MCP_MAINTENANCE.md +0 -265
  38. package/__tests__/crdt.integration.test.ts +0 -156
  39. package/configs/README.md +0 -77
  40. package/configs/claude-template.json +0 -54
  41. package/dist/packages/core/src/database/ssl-config.d.ts +0 -9
  42. package/dist/packages/core/src/database/ssl-config.d.ts.map +0 -1
  43. package/dist/packages/core/src/database/ssl-config.js +0 -8
  44. package/dist/packages/core/src/database/ssl-config.js.map +0 -1
  45. package/dist/packages/core/src/features.d.ts +0 -86
  46. package/dist/packages/core/src/features.d.ts.map +0 -1
  47. package/dist/packages/core/src/features.js +0 -93
  48. package/dist/packages/core/src/features.js.map +0 -1
  49. package/dist/packages/core/src/license.d.ts +0 -75
  50. package/dist/packages/core/src/license.d.ts.map +0 -1
  51. package/dist/packages/core/src/license.js +0 -174
  52. package/dist/packages/core/src/license.js.map +0 -1
  53. package/dist/packages/core/src/monitoring/alerts.d.ts +0 -118
  54. package/dist/packages/core/src/monitoring/alerts.d.ts.map +0 -1
  55. package/dist/packages/core/src/monitoring/alerts.js +0 -325
  56. package/dist/packages/core/src/monitoring/alerts.js.map +0 -1
  57. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts +0 -71
  58. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts.map +0 -1
  59. package/dist/packages/core/src/monitoring/cleanup-manager.js +0 -227
  60. package/dist/packages/core/src/monitoring/cleanup-manager.js.map +0 -1
  61. package/dist/packages/core/src/monitoring/health-monitor.d.ts +0 -22
  62. package/dist/packages/core/src/monitoring/health-monitor.d.ts.map +0 -1
  63. package/dist/packages/core/src/monitoring/health-monitor.js +0 -143
  64. package/dist/packages/core/src/monitoring/health-monitor.js.map +0 -1
  65. package/dist/packages/core/src/monitoring/index.d.ts +0 -14
  66. package/dist/packages/core/src/monitoring/index.d.ts.map +0 -1
  67. package/dist/packages/core/src/monitoring/index.js +0 -18
  68. package/dist/packages/core/src/monitoring/index.js.map +0 -1
  69. package/dist/packages/core/src/monitoring/process-registry.d.ts +0 -97
  70. package/dist/packages/core/src/monitoring/process-registry.d.ts.map +0 -1
  71. package/dist/packages/core/src/monitoring/process-registry.js +0 -223
  72. package/dist/packages/core/src/monitoring/process-registry.js.map +0 -1
  73. package/dist/packages/core/src/monitoring/types.d.ts +0 -231
  74. package/dist/packages/core/src/monitoring/types.d.ts.map +0 -1
  75. package/dist/packages/core/src/monitoring/types.js +0 -43
  76. package/dist/packages/core/src/monitoring/types.js.map +0 -1
  77. package/dist/packages/core/src/monitoring/zombie-detector.d.ts +0 -81
  78. package/dist/packages/core/src/monitoring/zombie-detector.d.ts.map +0 -1
  79. package/dist/packages/core/src/monitoring/zombie-detector.js +0 -232
  80. package/dist/packages/core/src/monitoring/zombie-detector.js.map +0 -1
  81. package/dist/packages/core/src/observability/logger.d.ts +0 -47
  82. package/dist/packages/core/src/observability/logger.d.ts.map +0 -1
  83. package/dist/packages/core/src/observability/logger.js +0 -141
  84. package/dist/packages/core/src/observability/logger.js.map +0 -1
  85. package/dist/packages/core/src/utils/logger-server.d.ts +0 -32
  86. package/dist/packages/core/src/utils/logger-server.d.ts.map +0 -1
  87. package/dist/packages/core/src/utils/logger-server.js +0 -69
  88. package/dist/packages/core/src/utils/logger-server.js.map +0 -1
  89. package/dist/packages/core/src/utils/request-context.d.ts +0 -143
  90. package/dist/packages/core/src/utils/request-context.d.ts.map +0 -1
  91. package/dist/packages/core/src/utils/request-context.js +0 -169
  92. package/dist/packages/core/src/utils/request-context.js.map +0 -1
  93. package/dist/packages/dev/src/code-validator/index.d.ts +0 -20
  94. package/dist/packages/dev/src/code-validator/index.d.ts.map +0 -1
  95. package/dist/packages/dev/src/code-validator/index.js +0 -20
  96. package/dist/packages/dev/src/code-validator/index.js.map +0 -1
  97. package/dist/packages/dev/src/code-validator/types.d.ts +0 -67
  98. package/dist/packages/dev/src/code-validator/types.d.ts.map +0 -1
  99. package/dist/packages/dev/src/code-validator/types.js +0 -7
  100. package/dist/packages/dev/src/code-validator/types.js.map +0 -1
  101. package/dist/packages/dev/src/code-validator/validator.d.ts +0 -48
  102. package/dist/packages/dev/src/code-validator/validator.d.ts.map +0 -1
  103. package/dist/packages/dev/src/code-validator/validator.js +0 -176
  104. package/dist/packages/dev/src/code-validator/validator.js.map +0 -1
  105. package/dist/packages/mcp/src/adapters/db.d.ts.map +0 -1
  106. package/dist/packages/mcp/src/adapters/db.js.map +0 -1
  107. package/dist/packages/mcp/src/config/index.d.ts.map +0 -1
  108. package/dist/packages/mcp/src/config/index.js.map +0 -1
  109. package/dist/packages/mcp/src/contracts.d.ts.map +0 -1
  110. package/dist/packages/mcp/src/contracts.js.map +0 -1
  111. package/dist/packages/mcp/src/hypervisor.d.ts.map +0 -1
  112. package/dist/packages/mcp/src/hypervisor.js.map +0 -1
  113. package/dist/packages/mcp/src/index.d.ts.map +0 -1
  114. package/dist/packages/mcp/src/index.js.map +0 -1
  115. package/dist/packages/mcp/src/servers/adapter.d.ts.map +0 -1
  116. package/dist/packages/mcp/src/servers/adapter.js.map +0 -1
  117. package/dist/packages/mcp/src/servers/code-validator.d.ts +0 -24
  118. package/dist/packages/mcp/src/servers/code-validator.d.ts.map +0 -1
  119. package/dist/packages/mcp/src/servers/code-validator.js +0 -156
  120. package/dist/packages/mcp/src/servers/code-validator.js.map +0 -1
  121. package/dist/packages/mcp/src/servers/neon.d.ts +0 -11
  122. package/dist/packages/mcp/src/servers/neon.d.ts.map +0 -1
  123. package/dist/packages/mcp/src/servers/neon.js +0 -90
  124. package/dist/packages/mcp/src/servers/neon.js.map +0 -1
  125. package/dist/packages/mcp/src/servers/next-devtools.d.ts +0 -11
  126. package/dist/packages/mcp/src/servers/next-devtools.d.ts.map +0 -1
  127. package/dist/packages/mcp/src/servers/next-devtools.js +0 -215
  128. package/dist/packages/mcp/src/servers/next-devtools.js.map +0 -1
  129. package/dist/packages/mcp/src/servers/playwright.d.ts +0 -11
  130. package/dist/packages/mcp/src/servers/playwright.d.ts.map +0 -1
  131. package/dist/packages/mcp/src/servers/playwright.js +0 -68
  132. package/dist/packages/mcp/src/servers/playwright.js.map +0 -1
  133. package/dist/packages/mcp/src/servers/stripe.d.ts +0 -11
  134. package/dist/packages/mcp/src/servers/stripe.d.ts.map +0 -1
  135. package/dist/packages/mcp/src/servers/stripe.js +0 -86
  136. package/dist/packages/mcp/src/servers/stripe.js.map +0 -1
  137. package/dist/packages/mcp/src/servers/supabase.d.ts +0 -11
  138. package/dist/packages/mcp/src/servers/supabase.d.ts.map +0 -1
  139. package/dist/packages/mcp/src/servers/supabase.js +0 -144
  140. package/dist/packages/mcp/src/servers/supabase.js.map +0 -1
  141. package/dist/packages/mcp/src/servers/vercel.d.ts +0 -11
  142. package/dist/packages/mcp/src/servers/vercel.d.ts.map +0 -1
  143. package/dist/packages/mcp/src/servers/vercel.js +0 -87
  144. package/dist/packages/mcp/src/servers/vercel.js.map +0 -1
  145. package/dist/packages/mcp/src/servers/vultr-test.d.ts +0 -3
  146. package/dist/packages/mcp/src/servers/vultr-test.d.ts.map +0 -1
  147. package/dist/packages/mcp/src/servers/vultr-test.js +0 -82
  148. package/dist/packages/mcp/src/servers/vultr-test.js.map +0 -1
  149. package/dist/scripts/lib/analyzers/console-analyzer.d.ts +0 -188
  150. package/dist/scripts/lib/analyzers/console-analyzer.d.ts.map +0 -1
  151. package/dist/scripts/lib/analyzers/console-analyzer.js +0 -432
  152. package/dist/scripts/lib/analyzers/console-analyzer.js.map +0 -1
  153. package/dist/scripts/lib/analyzers/index.d.ts +0 -11
  154. package/dist/scripts/lib/analyzers/index.d.ts.map +0 -1
  155. package/dist/scripts/lib/analyzers/index.js +0 -11
  156. package/dist/scripts/lib/analyzers/index.js.map +0 -1
  157. package/dist/scripts/lib/args.d.ts +0 -104
  158. package/dist/scripts/lib/args.d.ts.map +0 -1
  159. package/dist/scripts/lib/args.js +0 -304
  160. package/dist/scripts/lib/args.js.map +0 -1
  161. package/dist/scripts/lib/cache.d.ts +0 -185
  162. package/dist/scripts/lib/cache.d.ts.map +0 -1
  163. package/dist/scripts/lib/cache.js +0 -390
  164. package/dist/scripts/lib/cache.js.map +0 -1
  165. package/dist/scripts/lib/cli/dispatch.d.ts +0 -116
  166. package/dist/scripts/lib/cli/dispatch.d.ts.map +0 -1
  167. package/dist/scripts/lib/cli/dispatch.js +0 -206
  168. package/dist/scripts/lib/cli/dispatch.js.map +0 -1
  169. package/dist/scripts/lib/cli/index.d.ts +0 -10
  170. package/dist/scripts/lib/cli/index.d.ts.map +0 -1
  171. package/dist/scripts/lib/cli/index.js +0 -10
  172. package/dist/scripts/lib/cli/index.js.map +0 -1
  173. package/dist/scripts/lib/database/ssl-config.d.ts +0 -26
  174. package/dist/scripts/lib/database/ssl-config.d.ts.map +0 -1
  175. package/dist/scripts/lib/database/ssl-config.js +0 -47
  176. package/dist/scripts/lib/database/ssl-config.js.map +0 -1
  177. package/dist/scripts/lib/errors.d.ts +0 -218
  178. package/dist/scripts/lib/errors.d.ts.map +0 -1
  179. package/dist/scripts/lib/errors.js +0 -543
  180. package/dist/scripts/lib/errors.js.map +0 -1
  181. package/dist/scripts/lib/exec.d.ts +0 -107
  182. package/dist/scripts/lib/exec.d.ts.map +0 -1
  183. package/dist/scripts/lib/exec.js +0 -232
  184. package/dist/scripts/lib/exec.js.map +0 -1
  185. package/dist/scripts/lib/index.d.ts +0 -50
  186. package/dist/scripts/lib/index.d.ts.map +0 -1
  187. package/dist/scripts/lib/index.js +0 -65
  188. package/dist/scripts/lib/index.js.map +0 -1
  189. package/dist/scripts/lib/logger.d.ts +0 -50
  190. package/dist/scripts/lib/logger.d.ts.map +0 -1
  191. package/dist/scripts/lib/logger.js +0 -159
  192. package/dist/scripts/lib/logger.js.map +0 -1
  193. package/dist/scripts/lib/output.d.ts +0 -149
  194. package/dist/scripts/lib/output.d.ts.map +0 -1
  195. package/dist/scripts/lib/output.js +0 -263
  196. package/dist/scripts/lib/output.js.map +0 -1
  197. package/dist/scripts/lib/parallel.d.ts +0 -164
  198. package/dist/scripts/lib/parallel.d.ts.map +0 -1
  199. package/dist/scripts/lib/parallel.js +0 -355
  200. package/dist/scripts/lib/parallel.js.map +0 -1
  201. package/dist/scripts/lib/paths.d.ts +0 -92
  202. package/dist/scripts/lib/paths.d.ts.map +0 -1
  203. package/dist/scripts/lib/paths.js +0 -171
  204. package/dist/scripts/lib/paths.js.map +0 -1
  205. package/dist/scripts/lib/state/adapters/memory.d.ts +0 -42
  206. package/dist/scripts/lib/state/adapters/memory.d.ts.map +0 -1
  207. package/dist/scripts/lib/state/adapters/memory.js +0 -110
  208. package/dist/scripts/lib/state/adapters/memory.js.map +0 -1
  209. package/dist/scripts/lib/state/adapters/pglite.d.ts +0 -46
  210. package/dist/scripts/lib/state/adapters/pglite.d.ts.map +0 -1
  211. package/dist/scripts/lib/state/adapters/pglite.js +0 -256
  212. package/dist/scripts/lib/state/adapters/pglite.js.map +0 -1
  213. package/dist/scripts/lib/state/index.d.ts +0 -16
  214. package/dist/scripts/lib/state/index.d.ts.map +0 -1
  215. package/dist/scripts/lib/state/index.js +0 -16
  216. package/dist/scripts/lib/state/index.js.map +0 -1
  217. package/dist/scripts/lib/state/types.d.ts +0 -111
  218. package/dist/scripts/lib/state/types.d.ts.map +0 -1
  219. package/dist/scripts/lib/state/types.js +0 -8
  220. package/dist/scripts/lib/state/types.js.map +0 -1
  221. package/dist/scripts/lib/state/workflow-state.d.ts +0 -110
  222. package/dist/scripts/lib/state/workflow-state.d.ts.map +0 -1
  223. package/dist/scripts/lib/state/workflow-state.js +0 -331
  224. package/dist/scripts/lib/state/workflow-state.js.map +0 -1
  225. package/dist/scripts/lib/telemetry.d.ts +0 -194
  226. package/dist/scripts/lib/telemetry.d.ts.map +0 -1
  227. package/dist/scripts/lib/telemetry.js +0 -394
  228. package/dist/scripts/lib/telemetry.js.map +0 -1
  229. package/dist/scripts/lib/utils.d.ts +0 -270
  230. package/dist/scripts/lib/utils.d.ts.map +0 -1
  231. package/dist/scripts/lib/utils.js +0 -473
  232. package/dist/scripts/lib/utils.js.map +0 -1
  233. package/dist/scripts/lib/validation/database.d.ts +0 -83
  234. package/dist/scripts/lib/validation/database.d.ts.map +0 -1
  235. package/dist/scripts/lib/validation/database.js +0 -199
  236. package/dist/scripts/lib/validation/database.js.map +0 -1
  237. package/dist/scripts/lib/validation/env.d.ts +0 -80
  238. package/dist/scripts/lib/validation/env.d.ts.map +0 -1
  239. package/dist/scripts/lib/validation/env.js +0 -246
  240. package/dist/scripts/lib/validation/env.js.map +0 -1
  241. package/dist/scripts/lib/validation/index.d.ts +0 -16
  242. package/dist/scripts/lib/validation/index.d.ts.map +0 -1
  243. package/dist/scripts/lib/validation/index.js +0 -16
  244. package/dist/scripts/lib/validation/index.js.map +0 -1
  245. package/dist/scripts/lib/validation/post-execution.d.ts +0 -74
  246. package/dist/scripts/lib/validation/post-execution.d.ts.map +0 -1
  247. package/dist/scripts/lib/validation/post-execution.js +0 -110
  248. package/dist/scripts/lib/validation/post-execution.js.map +0 -1
  249. package/dist/scripts/lib/validation/pre-execution.d.ts +0 -165
  250. package/dist/scripts/lib/validation/pre-execution.d.ts.map +0 -1
  251. package/dist/scripts/lib/validation/pre-execution.js +0 -466
  252. package/dist/scripts/lib/validation/pre-execution.js.map +0 -1
  253. package/dist/scripts/lib/validators/documentation-validator.d.ts +0 -242
  254. package/dist/scripts/lib/validators/documentation-validator.d.ts.map +0 -1
  255. package/dist/scripts/lib/validators/documentation-validator.js +0 -584
  256. package/dist/scripts/lib/validators/documentation-validator.js.map +0 -1
  257. package/dist/scripts/lib/validators/index.d.ts +0 -11
  258. package/dist/scripts/lib/validators/index.d.ts.map +0 -1
  259. package/dist/scripts/lib/validators/index.js +0 -11
  260. package/dist/scripts/lib/validators/index.js.map +0 -1
  261. package/docker-compose.yml +0 -46
  262. package/docs/INDEX.md +0 -88
  263. package/docs/README.md +0 -774
  264. package/docs/SETUP.md +0 -264
  265. package/docs/servers/code-validator.md +0 -586
  266. package/eslint.config.js +0 -7
  267. package/migrations/0001_add_crdt_columns.sql +0 -8
  268. package/migrations/0001_rollback.sql +0 -6
  269. package/migrations/005_performance_indexes.sql +0 -190
  270. package/migrations/backfill_crdt_meta.js +0 -45
  271. package/src/__tests__/hypervisor.test.ts +0 -212
  272. package/src/adapters/db.ts +0 -180
  273. package/src/config/config.json +0 -49
  274. package/src/config/index.ts +0 -30
  275. package/src/contracts.ts +0 -221
  276. package/src/hypervisor.ts +0 -464
  277. package/src/index.ts +0 -87
  278. package/src/servers/adapter.ts +0 -643
  279. package/src/servers/code-validator.ts +0 -188
  280. package/src/servers/neon.ts +0 -103
  281. package/src/servers/next-devtools.ts +0 -230
  282. package/src/servers/playwright.ts +0 -77
  283. package/src/servers/stripe.ts +0 -99
  284. package/src/servers/supabase.ts +0 -161
  285. package/src/servers/vercel.ts +0 -100
  286. package/src/servers/vultr-test.ts +0 -97
  287. package/tsconfig.json +0 -12
  288. package/vitest.config.ts +0 -22
  289. /package/dist/{packages/mcp/src/adapters → adapters}/db.js +0 -0
  290. /package/dist/{packages/mcp/src/config → config}/index.d.ts +0 -0
  291. /package/dist/{packages/mcp/src/config → config}/index.js +0 -0
  292. /package/dist/{packages/mcp/src/contracts.d.ts → contracts.d.ts} +0 -0
  293. /package/dist/{packages/mcp/src/contracts.js → contracts.js} +0 -0
@@ -1,156 +0,0 @@
1
- import { afterAll, beforeAll, describe, expect, it } from 'vitest'
2
- import adapters, { connectPglite, type McpDbClient } from '../src/adapters/db.js'
3
-
4
- describe('CRDT integration (smoke)', () => {
5
- it('adapter functions exist', () => {
6
- expect(typeof adapters.connectPglite).toBe('function')
7
- expect(typeof adapters.connectPostgres).toBe('function')
8
- expect(typeof adapters.createMcpDbClient).toBe('function')
9
- })
10
- })
11
-
12
- // Skip integration tests in unit test mode
13
- // Integration tests need TEST_DATABASE_URL explicitly set or PGlite in test environment
14
- // Don't run by default as PGlite initialization can be slow
15
- const testDatabaseUrl = process.env.TEST_DATABASE_URL
16
- const isTestMode = process.env.NODE_ENV === 'test'
17
-
18
- describe.skipIf(!testDatabaseUrl || isTestMode)('CRDT integration with PGlite', () => {
19
- let client: McpDbClient
20
-
21
- beforeAll(async () => {
22
- // Use in-memory PGlite for testing
23
- client = await connectPglite({ dataDir: ':memory:' })
24
- })
25
-
26
- afterAll(async () => {
27
- if (client) {
28
- await client.close()
29
- }
30
- })
31
-
32
- it('should create crdt_operations table', async () => {
33
- // Verify table exists by querying it
34
- const result = await client.query(
35
- `SELECT column_name FROM information_schema.columns WHERE table_name = 'crdt_operations'`,
36
- )
37
-
38
- const columns = result.rows.map((r) => r.column_name)
39
- expect(columns).toContain('id')
40
- expect(columns).toContain('document_id')
41
- expect(columns).toContain('operation_type')
42
- expect(columns).toContain('payload')
43
- expect(columns).toContain('vector_clock')
44
- expect(columns).toContain('node_id')
45
- })
46
-
47
- it('should insert and query CRDT operations', async () => {
48
- const opId = `op-${Date.now()}`
49
- const docId = 'doc-test-1'
50
- const nodeId = 'node-a'
51
-
52
- // Insert a CRDT operation
53
- await client.query(
54
- `INSERT INTO crdt_operations (id, document_id, operation_type, payload, vector_clock, node_id)
55
- VALUES ($1, $2, $3, $4, $5, $6)`,
56
- [
57
- opId,
58
- docId,
59
- 'insert',
60
- JSON.stringify({ field: 'title', value: 'Test' }),
61
- JSON.stringify({ [nodeId]: 1 }),
62
- nodeId,
63
- ],
64
- )
65
-
66
- // Query it back
67
- const result = await client.query(`SELECT * FROM crdt_operations WHERE id = $1`, [opId])
68
-
69
- expect(result.rows).toHaveLength(1)
70
- expect(result.rows[0]?.document_id).toBe(docId)
71
- expect(result.rows[0]?.operation_type).toBe('insert')
72
- expect(result.rows[0]?.node_id).toBe(nodeId)
73
- })
74
-
75
- it('should support concurrent operations from multiple nodes', async () => {
76
- const docId = `doc-concurrent-${Date.now()}`
77
- const nodeA = 'node-a'
78
- const nodeB = 'node-b'
79
-
80
- // Simulate concurrent writes from two nodes
81
- await Promise.all([
82
- client.query(
83
- `INSERT INTO crdt_operations (id, document_id, operation_type, payload, vector_clock, node_id)
84
- VALUES ($1, $2, $3, $4, $5, $6)`,
85
- [
86
- `op-a-${Date.now()}`,
87
- docId,
88
- 'update',
89
- JSON.stringify({ field: 'content', value: 'From A' }),
90
- JSON.stringify({ [nodeA]: 1 }),
91
- nodeA,
92
- ],
93
- ),
94
- client.query(
95
- `INSERT INTO crdt_operations (id, document_id, operation_type, payload, vector_clock, node_id)
96
- VALUES ($1, $2, $3, $4, $5, $6)`,
97
- [
98
- `op-b-${Date.now()}`,
99
- docId,
100
- 'update',
101
- JSON.stringify({ field: 'content', value: 'From B' }),
102
- JSON.stringify({ [nodeB]: 1 }),
103
- nodeB,
104
- ],
105
- ),
106
- ])
107
-
108
- // Query all operations for this document
109
- const result = await client.query(
110
- `SELECT * FROM crdt_operations WHERE document_id = $1 ORDER BY created_at`,
111
- [docId],
112
- )
113
-
114
- // Both operations should be preserved (CRDT property)
115
- expect(result.rows).toHaveLength(2)
116
-
117
- const nodes = result.rows.map((r) => r.node_id)
118
- expect(nodes).toContain(nodeA)
119
- expect(nodes).toContain(nodeB)
120
- })
121
-
122
- it('should handle vector clock ordering', async () => {
123
- const docId = `doc-clock-${Date.now()}`
124
- const nodeId = 'node-clock'
125
-
126
- // Insert operations with incrementing vector clock
127
- for (let i = 1; i <= 3; i++) {
128
- await client.query(
129
- `INSERT INTO crdt_operations (id, document_id, operation_type, payload, vector_clock, node_id)
130
- VALUES ($1, $2, $3, $4, $5, $6)`,
131
- [
132
- `op-${docId}-${i}`,
133
- docId,
134
- 'update',
135
- JSON.stringify({ field: 'counter', value: i }),
136
- JSON.stringify({ [nodeId]: i }),
137
- nodeId,
138
- ],
139
- )
140
- }
141
-
142
- const result = await client.query(
143
- `SELECT * FROM crdt_operations WHERE document_id = $1 ORDER BY created_at`,
144
- [docId],
145
- )
146
-
147
- expect(result.rows).toHaveLength(3)
148
-
149
- // Verify vector clocks are preserved and can be used for ordering
150
- const clocks = result.rows.map((r) => {
151
- const vc = r.vector_clock as Record<string, number>
152
- return vc[nodeId]
153
- })
154
- expect(clocks).toEqual([1, 2, 3])
155
- })
156
- })
package/configs/README.md DELETED
@@ -1,77 +0,0 @@
1
- # MCP Configuration Templates
2
-
3
- This directory contains template configuration files for different MCP clients.
4
-
5
- ## Available Templates
6
-
7
- ### `claude-template.json`
8
- Template for Claude Code / Claude Desktop
9
-
10
- **Installation:**
11
- 1. Copy to your Claude config location:
12
- - Linux: `~/.config/Claude/claude_desktop_config.json`
13
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
14
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
15
- - CLI: `~/.claude/config.json`
16
-
17
- 2. Replace `<REPO_PATH>` with absolute path to RevealUI repo
18
-
19
- 3. Enable desired servers by setting `"enabled": true`
20
-
21
- ### `cursor-template.json`
22
- Template for Cursor IDE
23
-
24
- **Installation:**
25
- 1. Copy to `.cursor/mcp-config.json` in repo root
26
- 2. Replace `<REPO_PATH>` with absolute path
27
- 3. Enable desired servers
28
-
29
- ### `vscode-template.json`
30
- Template for VS Code
31
-
32
- **Installation:**
33
- 1. Copy to `.vscode/mcp.json` in repo root
34
- 2. Replace `<REPO_PATH>` with absolute path
35
- 3. Enable desired servers
36
-
37
- ## Available MCP Servers
38
-
39
- | Server | Command | Description |
40
- |--------|---------|-------------|
41
- | code-validator | `tsx packages/mcp/src/servers/code-validator.ts` | Validates code against standards |
42
- | vercel | `pnpm mcp:vercel` | Vercel deployment |
43
- | stripe | `pnpm mcp:stripe` | Payment processing |
44
- | neon | `pnpm mcp:neon` | Database operations |
45
- | supabase | `pnpm mcp:supabase` | Supabase management |
46
- | playwright | `pnpm mcp:playwright` | Browser automation |
47
- | next-devtools | `pnpm mcp:next-devtools` | Next.js debugging |
48
-
49
- ## Quick Setup Script
50
-
51
- Run from repo root:
52
-
53
- ```bash
54
- # Auto-generate config with correct paths
55
- pnpm setup:mcp
56
-
57
- # Or manually:
58
- REPO_PATH=$(pwd)
59
- sed "s|<REPO_PATH>|$REPO_PATH|g" packages/mcp/configs/claude-template.json > ~/.claude/config.json
60
- ```
61
-
62
- ## Environment Variables
63
-
64
- Make sure these are set:
65
-
66
- ```env
67
- VERCEL_API_KEY=vercel_...
68
- STRIPE_SECRET_KEY=sk_test_...
69
- NEON_API_KEY=neon_...
70
- SUPABASE_URL=https://....supabase.co
71
- SUPABASE_ANON_KEY=eyJ...
72
- ```
73
-
74
- ## See Also
75
-
76
- - [MCP Setup Guide](../docs/SETUP.md)
77
- - [Server Documentation](../docs/servers/)
@@ -1,54 +0,0 @@
1
- {
2
- "$schema": "https://modelcontextprotocol.io/schema/mcp-config.json",
3
- "mcpServers": {
4
- "revealui-code-validator": {
5
- "command": "tsx",
6
- "args": ["<REPO_PATH>/packages/mcp/src/servers/code-validator.ts"],
7
- "cwd": "<REPO_PATH>",
8
- "description": "Code validation - prevents AI-generated technical debt",
9
- "enabled": true
10
- },
11
- "revealui-vercel": {
12
- "command": "pnpm",
13
- "args": ["mcp:vercel"],
14
- "cwd": "<REPO_PATH>",
15
- "description": "Vercel deployment and storage management",
16
- "enabled": false
17
- },
18
- "revealui-stripe": {
19
- "command": "pnpm",
20
- "args": ["mcp:stripe"],
21
- "cwd": "<REPO_PATH>",
22
- "description": "Stripe payment processing",
23
- "enabled": false
24
- },
25
- "revealui-neon": {
26
- "command": "pnpm",
27
- "args": ["mcp:neon"],
28
- "cwd": "<REPO_PATH>",
29
- "description": "NeonDB database operations",
30
- "enabled": false
31
- },
32
- "revealui-supabase": {
33
- "command": "pnpm",
34
- "args": ["mcp:supabase"],
35
- "cwd": "<REPO_PATH>",
36
- "description": "Supabase project management",
37
- "enabled": false
38
- },
39
- "revealui-playwright": {
40
- "command": "pnpm",
41
- "args": ["mcp:playwright"],
42
- "cwd": "<REPO_PATH>",
43
- "description": "Browser automation",
44
- "enabled": false
45
- },
46
- "revealui-next-devtools": {
47
- "command": "pnpm",
48
- "args": ["mcp:next-devtools"],
49
- "cwd": "<REPO_PATH>",
50
- "description": "Next.js debugging",
51
- "enabled": false
52
- }
53
- }
54
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * SSL Configuration Utility
3
- *
4
- * Re-exports from @revealui/utils to maintain backward compatibility.
5
- * The actual implementation has been moved to @revealui/utils to break circular dependencies.
6
- */
7
- export type { SSLConfig } from '@revealui/utils/database';
8
- export { getSSLConfig, validateSSLConfig } from '@revealui/utils/database';
9
- //# sourceMappingURL=ssl-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssl-config.d.ts","sourceRoot":"","sources":["../../../../../../core/src/database/ssl-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA"}
@@ -1,8 +0,0 @@
1
- /**
2
- * SSL Configuration Utility
3
- *
4
- * Re-exports from @revealui/utils to maintain backward compatibility.
5
- * The actual implementation has been moved to @revealui/utils to break circular dependencies.
6
- */
7
- export { getSSLConfig, validateSSLConfig } from '@revealui/utils/database';
8
- //# sourceMappingURL=ssl-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssl-config.js","sourceRoot":"","sources":["../../../../../../core/src/database/ssl-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA"}
@@ -1,86 +0,0 @@
1
- /**
2
- * Feature flag system for RevealUI Pro/Enterprise tiers.
3
- *
4
- * Gates premium features based on the current license tier.
5
- * Free (OSS) users get the core CMS framework.
6
- * Pro/Enterprise users unlock AI, advanced sync, dashboard, etc.
7
- *
8
- * @dependencies
9
- * - ./license.ts - License validation and tier checking
10
- */
11
- import { type LicenseTier } from './license.js';
12
- /** All gated features in RevealUI */
13
- export interface FeatureFlags {
14
- /** AI agent system (Pro: 1 provider, Enterprise: all providers) */
15
- ai: boolean;
16
- /** AI memory system — working + episodic + vector (Max: basic, Enterprise: full) */
17
- aiMemory: boolean;
18
- /** MCP server integration */
19
- mcp: boolean;
20
- /** Editor integration daemon */
21
- editors: boolean;
22
- /** AI harness integration (Claude Code, Cursor, Copilot coordination) */
23
- harnesses: boolean;
24
- /** Built-in Stripe payment processing */
25
- payments: boolean;
26
- /** Multi-tenant site management */
27
- multiTenant: boolean;
28
- /** White-label admin dashboard */
29
- whiteLabel: boolean;
30
- /** SSO/SAML authentication */
31
- sso: boolean;
32
- /** BYOK server-side key storage (Max+) */
33
- byokServerSide: boolean;
34
- /** Multi-provider AI (Max+: 2 providers, Enterprise: all providers) */
35
- aiMultiProvider: boolean;
36
- /** Audit logging and compliance trail */
37
- auditLog: boolean;
38
- /** Full real-time sync with conflict resolution */
39
- advancedSync: boolean;
40
- /** Monitoring dashboard */
41
- dashboard: boolean;
42
- /** Custom domain mapping */
43
- customDomain: boolean;
44
- /** Analytics and conversion tracking */
45
- analytics: boolean;
46
- }
47
- /**
48
- * Returns the current feature flags based on the active license tier.
49
- *
50
- * @example
51
- * ```typescript
52
- * import { getFeatures } from '@revealui/core/features'
53
- *
54
- * const features = getFeatures()
55
- * if (features.ai) {
56
- * // Enable AI agent system
57
- * }
58
- * ```
59
- */
60
- export declare function getFeatures(): FeatureFlags;
61
- /**
62
- * Check if a specific feature is enabled.
63
- *
64
- * @example
65
- * ```typescript
66
- * import { isFeatureEnabled } from '@revealui/core/features'
67
- *
68
- * if (isFeatureEnabled('ai')) {
69
- * // AI is available
70
- * }
71
- * ```
72
- */
73
- export declare function isFeatureEnabled(feature: keyof FeatureFlags): boolean;
74
- /**
75
- * Returns all features available at a given tier (useful for pricing pages).
76
- */
77
- export declare function getFeaturesForTier(tier: LicenseTier): FeatureFlags;
78
- /**
79
- * Returns the minimum tier required for a given feature.
80
- */
81
- export declare function getRequiredTier(feature: keyof FeatureFlags): LicenseTier;
82
- /**
83
- * Returns the current license tier. Convenience re-export.
84
- */
85
- export { getCurrentTier } from './license.js';
86
- //# sourceMappingURL=features.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../../../core/src/features.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAE3D,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,EAAE,EAAE,OAAO,CAAA;IACX,oFAAoF;IACpF,QAAQ,EAAE,OAAO,CAAA;IACjB,6BAA6B;IAC7B,GAAG,EAAE,OAAO,CAAA;IACZ,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAA;IAClB,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAA;IACjB,mCAAmC;IACnC,WAAW,EAAE,OAAO,CAAA;IACpB,kCAAkC;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,8BAA8B;IAC9B,GAAG,EAAE,OAAO,CAAA;IACZ,0CAA0C;IAC1C,cAAc,EAAE,OAAO,CAAA;IACvB,uEAAuE;IACvE,eAAe,EAAE,OAAO,CAAA;IACxB,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAA;IACjB,mDAAmD;IACnD,YAAY,EAAE,OAAO,CAAA;IACrB,2BAA2B;IAC3B,SAAS,EAAE,OAAO,CAAA;IAClB,4BAA4B;IAC5B,YAAY,EAAE,OAAO,CAAA;IACrB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAA;CACnB;AAsBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,IAAI,YAAY,CAQ1C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,YAAY,GAAG,OAAO,CAGrE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAelE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,YAAY,GAAG,WAAW,CAExE;AAED;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
@@ -1,93 +0,0 @@
1
- /**
2
- * Feature flag system for RevealUI Pro/Enterprise tiers.
3
- *
4
- * Gates premium features based on the current license tier.
5
- * Free (OSS) users get the core CMS framework.
6
- * Pro/Enterprise users unlock AI, advanced sync, dashboard, etc.
7
- *
8
- * @dependencies
9
- * - ./license.ts - License validation and tier checking
10
- */
11
- import { isLicensed } from './license.js';
12
- /** Feature-to-tier mapping: minimum tier required for each feature */
13
- const featureTierMap = {
14
- ai: 'pro',
15
- mcp: 'pro',
16
- editors: 'pro',
17
- harnesses: 'pro',
18
- payments: 'pro',
19
- advancedSync: 'pro',
20
- dashboard: 'pro',
21
- customDomain: 'pro',
22
- analytics: 'pro',
23
- aiMemory: 'max',
24
- byokServerSide: 'max',
25
- aiMultiProvider: 'max',
26
- auditLog: 'max',
27
- multiTenant: 'enterprise',
28
- whiteLabel: 'enterprise',
29
- sso: 'enterprise',
30
- };
31
- /**
32
- * Returns the current feature flags based on the active license tier.
33
- *
34
- * @example
35
- * ```typescript
36
- * import { getFeatures } from '@revealui/core/features'
37
- *
38
- * const features = getFeatures()
39
- * if (features.ai) {
40
- * // Enable AI agent system
41
- * }
42
- * ```
43
- */
44
- export function getFeatures() {
45
- const flags = {};
46
- for (const [feature, requiredTier] of Object.entries(featureTierMap)) {
47
- flags[feature] = isLicensed(requiredTier);
48
- }
49
- return flags;
50
- }
51
- /**
52
- * Check if a specific feature is enabled.
53
- *
54
- * @example
55
- * ```typescript
56
- * import { isFeatureEnabled } from '@revealui/core/features'
57
- *
58
- * if (isFeatureEnabled('ai')) {
59
- * // AI is available
60
- * }
61
- * ```
62
- */
63
- export function isFeatureEnabled(feature) {
64
- const requiredTier = featureTierMap[feature];
65
- return isLicensed(requiredTier);
66
- }
67
- /**
68
- * Returns all features available at a given tier (useful for pricing pages).
69
- */
70
- export function getFeaturesForTier(tier) {
71
- const tierRank = {
72
- free: 0,
73
- pro: 1,
74
- max: 2,
75
- enterprise: 3,
76
- };
77
- const flags = {};
78
- for (const [feature, requiredTier] of Object.entries(featureTierMap)) {
79
- flags[feature] = tierRank[tier] >= tierRank[requiredTier];
80
- }
81
- return flags;
82
- }
83
- /**
84
- * Returns the minimum tier required for a given feature.
85
- */
86
- export function getRequiredTier(feature) {
87
- return featureTierMap[feature];
88
- }
89
- /**
90
- * Returns the current license tier. Convenience re-export.
91
- */
92
- export { getCurrentTier } from './license.js';
93
- //# sourceMappingURL=features.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../../core/src/features.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAA;AAsC3D,sEAAsE;AACtE,MAAM,cAAc,GAA4C;IAC9D,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,KAAK;IACrB,eAAe,EAAE,KAAK;IACtB,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,YAAY;CAClB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,KAAK,GAAG,EAAkB,CAAA;IAEhC,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,OAA6B,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA2B;IAC1D,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAC5C,OAAO,UAAU,CAAC,YAAY,CAAC,CAAA;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAiB;IAClD,MAAM,QAAQ,GAAgC;QAC5C,IAAI,EAAE,CAAC;QACP,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,UAAU,EAAE,CAAC;KACd,CAAA;IAED,MAAM,KAAK,GAAG,EAAkB,CAAA;IAEhC,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,OAA6B,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAA;IACjF,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAA2B;IACzD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
@@ -1,75 +0,0 @@
1
- /**
2
- * License validation for RevealUI Pro/Enterprise tiers.
3
- *
4
- * @dependencies
5
- * - jose - JWT token verification (Web Crypto API)
6
- * - zod - Schema validation for license payloads
7
- */
8
- import { z } from 'zod';
9
- /** Available license tiers */
10
- export type LicenseTier = 'free' | 'pro' | 'max' | 'enterprise';
11
- /** Decoded license payload schema */
12
- declare const licensePayloadSchema: z.ZodObject<{
13
- tier: z.ZodEnum<{
14
- pro: "pro";
15
- max: "max";
16
- enterprise: "enterprise";
17
- }>;
18
- customerId: z.ZodString;
19
- domains: z.ZodOptional<z.ZodArray<z.ZodString>>;
20
- maxSites: z.ZodOptional<z.ZodNumber>;
21
- maxUsers: z.ZodOptional<z.ZodNumber>;
22
- iat: z.ZodOptional<z.ZodNumber>;
23
- exp: z.ZodOptional<z.ZodNumber>;
24
- }, z.core.$strip>;
25
- export type LicensePayload = z.infer<typeof licensePayloadSchema>;
26
- /**
27
- * Validates a license key JWT and returns the decoded payload.
28
- * Returns null if the key is invalid, expired, or missing.
29
- */
30
- export declare function validateLicenseKey(licenseKey: string, publicKey: string): Promise<LicensePayload | null>;
31
- /**
32
- * Initialize the license system. Call once at application startup.
33
- * Reads REVEALUI_LICENSE_KEY and REVEALUI_LICENSE_PUBLIC_KEY from environment.
34
- *
35
- * @returns The resolved license tier
36
- */
37
- export declare function initializeLicense(): Promise<LicenseTier>;
38
- /**
39
- * Returns the current license tier.
40
- * If the license hasn't been initialized, returns 'free'.
41
- */
42
- export declare function getCurrentTier(): LicenseTier;
43
- /**
44
- * Returns the full license payload, or null if no valid license.
45
- */
46
- export declare function getLicensePayload(): LicensePayload | null;
47
- /**
48
- * Checks whether the current license is at least the given tier.
49
- * Also validates that the license has not expired (checks JWT exp claim).
50
- */
51
- export declare function isLicensed(requiredTier: LicenseTier): boolean;
52
- /**
53
- * Returns the maximum number of sites allowed by the current license.
54
- */
55
- export declare function getMaxSites(): number;
56
- /**
57
- * Returns the maximum number of users/editors allowed by the current license.
58
- */
59
- export declare function getMaxUsers(): number;
60
- /**
61
- * Generates a signed license key JWT.
62
- * This is a server-only function — requires the private key.
63
- *
64
- * @param payload - License payload (tier, customerId, limits)
65
- * @param privateKey - RS256 or ES256 private key (PEM format)
66
- * @param expiresInSeconds - JWT expiration in seconds. Defaults to 1 year.
67
- * @returns Signed JWT string
68
- */
69
- export declare function generateLicenseKey(payload: Omit<LicensePayload, 'iat' | 'exp'>, privateKey: string, expiresInSeconds?: number): Promise<string>;
70
- /**
71
- * Reset license state. Primarily for testing.
72
- */
73
- export declare function resetLicenseState(): void;
74
- export {};
75
- //# sourceMappingURL=license.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../../../../core/src/license.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,8BAA8B;AAC9B,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,CAAA;AAE/D,qCAAqC;AACrC,QAAA,MAAM,oBAAoB;;;;;;;;;;;;iBAexB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AA+BjE;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAgBhC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAuB9D;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAoB7D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,KAAK,CAAC,EAC5C,UAAU,EAAE,MAAM,EAClB,gBAAgB,SAAqB,GACpC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}