@revealui/db 0.2.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 (191) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +137 -0
  3. package/dist/audit-store.d.ts +56 -0
  4. package/dist/audit-store.d.ts.map +1 -0
  5. package/dist/audit-store.js +120 -0
  6. package/dist/audit-store.js.map +1 -0
  7. package/dist/client/index.d.ts +214 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +396 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/client/types.d.ts +109 -0
  12. package/dist/client/types.d.ts.map +1 -0
  13. package/dist/client/types.js +10 -0
  14. package/dist/client/types.js.map +1 -0
  15. package/dist/crypto.d.ts +27 -0
  16. package/dist/crypto.d.ts.map +1 -0
  17. package/dist/crypto.js +68 -0
  18. package/dist/crypto.js.map +1 -0
  19. package/dist/index.d.ts +29 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +31 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/log-transport.d.ts +20 -0
  24. package/dist/log-transport.d.ts.map +1 -0
  25. package/dist/log-transport.js +49 -0
  26. package/dist/log-transport.js.map +1 -0
  27. package/dist/pool.d.ts +36 -0
  28. package/dist/pool.d.ts.map +1 -0
  29. package/dist/pool.js +218 -0
  30. package/dist/pool.js.map +1 -0
  31. package/dist/queries/boards.d.ts +138 -0
  32. package/dist/queries/boards.d.ts.map +1 -0
  33. package/dist/queries/boards.js +87 -0
  34. package/dist/queries/boards.js.map +1 -0
  35. package/dist/queries/code-provenance.d.ts +250 -0
  36. package/dist/queries/code-provenance.d.ts.map +1 -0
  37. package/dist/queries/code-provenance.js +130 -0
  38. package/dist/queries/code-provenance.js.map +1 -0
  39. package/dist/queries/optimized-queries.d.ts +89 -0
  40. package/dist/queries/optimized-queries.d.ts.map +1 -0
  41. package/dist/queries/optimized-queries.js +371 -0
  42. package/dist/queries/optimized-queries.js.map +1 -0
  43. package/dist/queries/ticket-comments.d.ts +37 -0
  44. package/dist/queries/ticket-comments.d.ts.map +1 -0
  45. package/dist/queries/ticket-comments.js +52 -0
  46. package/dist/queries/ticket-comments.js.map +1 -0
  47. package/dist/queries/ticket-labels.d.ts +69 -0
  48. package/dist/queries/ticket-labels.d.ts.map +1 -0
  49. package/dist/queries/ticket-labels.js +51 -0
  50. package/dist/queries/ticket-labels.js.map +1 -0
  51. package/dist/queries/tickets.d.ts +301 -0
  52. package/dist/queries/tickets.d.ts.map +1 -0
  53. package/dist/queries/tickets.js +89 -0
  54. package/dist/queries/tickets.js.map +1 -0
  55. package/dist/queries/todos.d.ts +37 -0
  56. package/dist/queries/todos.d.ts.map +1 -0
  57. package/dist/queries/todos.js +37 -0
  58. package/dist/queries/todos.js.map +1 -0
  59. package/dist/schema/agents.d.ts +1413 -0
  60. package/dist/schema/agents.d.ts.map +1 -0
  61. package/dist/schema/agents.js +207 -0
  62. package/dist/schema/agents.js.map +1 -0
  63. package/dist/schema/api-keys.d.ts +298 -0
  64. package/dist/schema/api-keys.d.ts.map +1 -0
  65. package/dist/schema/api-keys.js +53 -0
  66. package/dist/schema/api-keys.js.map +1 -0
  67. package/dist/schema/app-logs.d.ts +168 -0
  68. package/dist/schema/app-logs.d.ts.map +1 -0
  69. package/dist/schema/app-logs.js +25 -0
  70. package/dist/schema/app-logs.js.map +1 -0
  71. package/dist/schema/audit-log.d.ts +174 -0
  72. package/dist/schema/audit-log.d.ts.map +1 -0
  73. package/dist/schema/audit-log.js +37 -0
  74. package/dist/schema/audit-log.js.map +1 -0
  75. package/dist/schema/cms.d.ts +1015 -0
  76. package/dist/schema/cms.d.ts.map +1 -0
  77. package/dist/schema/cms.js +137 -0
  78. package/dist/schema/cms.js.map +1 -0
  79. package/dist/schema/code-provenance.d.ts +488 -0
  80. package/dist/schema/code-provenance.d.ts.map +1 -0
  81. package/dist/schema/code-provenance.js +72 -0
  82. package/dist/schema/code-provenance.js.map +1 -0
  83. package/dist/schema/collab-edits.d.ts +165 -0
  84. package/dist/schema/collab-edits.d.ts.map +1 -0
  85. package/dist/schema/collab-edits.js +21 -0
  86. package/dist/schema/collab-edits.js.map +1 -0
  87. package/dist/schema/crdt-operations.d.ts +153 -0
  88. package/dist/schema/crdt-operations.d.ts.map +1 -0
  89. package/dist/schema/crdt-operations.js +30 -0
  90. package/dist/schema/crdt-operations.js.map +1 -0
  91. package/dist/schema/error-events.d.ts +223 -0
  92. package/dist/schema/error-events.d.ts.map +1 -0
  93. package/dist/schema/error-events.js +44 -0
  94. package/dist/schema/error-events.js.map +1 -0
  95. package/dist/schema/index.d.ts +130 -0
  96. package/dist/schema/index.d.ts.map +1 -0
  97. package/dist/schema/index.js +310 -0
  98. package/dist/schema/index.js.map +1 -0
  99. package/dist/schema/licenses.d.ts +189 -0
  100. package/dist/schema/licenses.d.ts.map +1 -0
  101. package/dist/schema/licenses.js +39 -0
  102. package/dist/schema/licenses.js.map +1 -0
  103. package/dist/schema/node-ids.d.ts +122 -0
  104. package/dist/schema/node-ids.d.ts.map +1 -0
  105. package/dist/schema/node-ids.js +25 -0
  106. package/dist/schema/node-ids.js.map +1 -0
  107. package/dist/schema/pages.d.ts +488 -0
  108. package/dist/schema/pages.d.ts.map +1 -0
  109. package/dist/schema/pages.js +70 -0
  110. package/dist/schema/pages.js.map +1 -0
  111. package/dist/schema/password-reset-tokens.d.ts +137 -0
  112. package/dist/schema/password-reset-tokens.d.ts.map +1 -0
  113. package/dist/schema/password-reset-tokens.js +26 -0
  114. package/dist/schema/password-reset-tokens.js.map +1 -0
  115. package/dist/schema/query.d.ts +11 -0
  116. package/dist/schema/query.d.ts.map +1 -0
  117. package/dist/schema/query.js +11 -0
  118. package/dist/schema/query.js.map +1 -0
  119. package/dist/schema/rate-limits.d.ts +212 -0
  120. package/dist/schema/rate-limits.d.ts.map +1 -0
  121. package/dist/schema/rate-limits.js +38 -0
  122. package/dist/schema/rate-limits.js.map +1 -0
  123. package/dist/schema/rest.d.ts +31 -0
  124. package/dist/schema/rest.d.ts.map +1 -0
  125. package/dist/schema/rest.js +37 -0
  126. package/dist/schema/rest.js.map +1 -0
  127. package/dist/schema/sites.d.ts +365 -0
  128. package/dist/schema/sites.d.ts.map +1 -0
  129. package/dist/schema/sites.js +62 -0
  130. package/dist/schema/sites.js.map +1 -0
  131. package/dist/schema/tickets.d.ts +1118 -0
  132. package/dist/schema/tickets.d.ts.map +1 -0
  133. package/dist/schema/tickets.js +150 -0
  134. package/dist/schema/tickets.js.map +1 -0
  135. package/dist/schema/todos.d.ts +98 -0
  136. package/dist/schema/todos.d.ts.map +1 -0
  137. package/dist/schema/todos.js +12 -0
  138. package/dist/schema/todos.js.map +1 -0
  139. package/dist/schema/users.d.ts +503 -0
  140. package/dist/schema/users.d.ts.map +1 -0
  141. package/dist/schema/users.js +75 -0
  142. package/dist/schema/users.js.map +1 -0
  143. package/dist/schema/vector.d.ts +9 -0
  144. package/dist/schema/vector.d.ts.map +1 -0
  145. package/dist/schema/vector.js +9 -0
  146. package/dist/schema/vector.js.map +1 -0
  147. package/dist/schema/waitlist.d.ts +151 -0
  148. package/dist/schema/waitlist.d.ts.map +1 -0
  149. package/dist/schema/waitlist.js +17 -0
  150. package/dist/schema/waitlist.js.map +1 -0
  151. package/dist/schema/yjs-documents.d.ts +116 -0
  152. package/dist/schema/yjs-documents.d.ts.map +1 -0
  153. package/dist/schema/yjs-documents.js +15 -0
  154. package/dist/schema/yjs-documents.js.map +1 -0
  155. package/dist/types/database.d.ts +740 -0
  156. package/dist/types/database.d.ts.map +1 -0
  157. package/dist/types/database.js +151 -0
  158. package/dist/types/database.js.map +1 -0
  159. package/dist/types/discover.d.ts +83 -0
  160. package/dist/types/discover.d.ts.map +1 -0
  161. package/dist/types/discover.js +271 -0
  162. package/dist/types/discover.js.map +1 -0
  163. package/dist/types/extract-relationships.d.ts +115 -0
  164. package/dist/types/extract-relationships.d.ts.map +1 -0
  165. package/dist/types/extract-relationships.js +455 -0
  166. package/dist/types/extract-relationships.js.map +1 -0
  167. package/dist/types/generate-contracts.d.ts +19 -0
  168. package/dist/types/generate-contracts.d.ts.map +1 -0
  169. package/dist/types/generate-contracts.js +128 -0
  170. package/dist/types/generate-contracts.js.map +1 -0
  171. package/dist/types/generate-zod-schemas.d.ts +20 -0
  172. package/dist/types/generate-zod-schemas.d.ts.map +1 -0
  173. package/dist/types/generate-zod-schemas.js +128 -0
  174. package/dist/types/generate-zod-schemas.js.map +1 -0
  175. package/dist/types/generate.d.ts +17 -0
  176. package/dist/types/generate.d.ts.map +1 -0
  177. package/dist/types/generate.js +298 -0
  178. package/dist/types/generate.js.map +1 -0
  179. package/dist/types/index.d.ts +19 -0
  180. package/dist/types/index.d.ts.map +1 -0
  181. package/dist/types/index.js +19 -0
  182. package/dist/types/index.js.map +1 -0
  183. package/dist/types/introspect.d.ts +75 -0
  184. package/dist/types/introspect.d.ts.map +1 -0
  185. package/dist/types/introspect.js +187 -0
  186. package/dist/types/introspect.js.map +1 -0
  187. package/dist/types/stripe-schema.d.ts +893 -0
  188. package/dist/types/stripe-schema.d.ts.map +1 -0
  189. package/dist/types/stripe-schema.js +112 -0
  190. package/dist/types/stripe-schema.js.map +1 -0
  191. package/package.json +154 -0
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @revealui/db/types - Database Type Exports
3
+ *
4
+ * Centralized type exports for NeonDB database.
5
+ * Provides feature parity with Supabase's Database type structure.
6
+ *
7
+ * ## Usage
8
+ *
9
+ * ```typescript
10
+ * import type { Database } from '@revealui/db/types'
11
+ *
12
+ * // Extract table types
13
+ * type User = Database['public']['Tables']['users']['Row']
14
+ * type NewUser = Database['public']['Tables']['users']['Insert']
15
+ * type UserUpdate = Database['public']['Tables']['users']['Update']
16
+ * ```
17
+ */
18
+ export {};
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Database Introspection System
4
+ *
5
+ * Validates Drizzle schemas against the actual database structure.
6
+ * Can optionally generate types from the database for validation.
7
+ *
8
+ * This provides:
9
+ * 1. Schema validation - ensures Drizzle schemas match database
10
+ * 2. Type generation from DB - generates types from actual database (for comparison)
11
+ * 3. Migration validation - ensures migrations are applied correctly
12
+ */
13
+ interface IntrospectionOptions {
14
+ /** Database connection string */
15
+ connectionString?: string;
16
+ /** Whether to generate types from database */
17
+ generateTypes?: boolean;
18
+ /** Whether to validate schema matches */
19
+ validateSchema?: boolean;
20
+ /** Output file for generated types (if generateTypes is true) */
21
+ outputFile?: string;
22
+ }
23
+ interface IntrospectionResult {
24
+ success: boolean;
25
+ tables: string[];
26
+ mismatches?: Array<{
27
+ table: string;
28
+ issue: string;
29
+ }>;
30
+ errors?: string[];
31
+ }
32
+ /**
33
+ * Introspect the database and validate against Drizzle schemas
34
+ *
35
+ * Connects to the database and queries information_schema to validate
36
+ * that Drizzle schemas match the actual database structure.
37
+ */
38
+ export declare function introspectDatabase(options?: IntrospectionOptions): Promise<IntrospectionResult>;
39
+ /**
40
+ * Generate types from actual database structure
41
+ *
42
+ * Note: This is a placeholder for future enhancement. Currently, we use
43
+ * schema-based type generation (generate.ts) which automatically discovers
44
+ * tables and relationships from Drizzle schemas. This approach is preferred
45
+ * because:
46
+ * - It keeps types in sync with code
47
+ * - It's faster and doesn't require database connection
48
+ * - It provides better type safety with Drizzle's inference
49
+ *
50
+ * If database-first type generation is needed in the future, this would:
51
+ * 1. Connect to database using Drizzle Kit introspection API
52
+ * 2. Query information_schema for tables, columns, and relationships
53
+ * 3. Generate TypeScript types matching the Database type structure
54
+ * 4. Write to outputFile
55
+ *
56
+ * @param connectionString - Database connection string
57
+ * @param outputFile - Output file path
58
+ */
59
+ export declare function generateTypesFromDatabase(connectionString: string, outputFile: string): Promise<void>;
60
+ /**
61
+ * Validate that Drizzle schemas match the database
62
+ *
63
+ * Compares schema definitions with actual database structure.
64
+ *
65
+ * @param connectionString - Database connection string
66
+ */
67
+ export declare function validateSchemaMatch(connectionString: string): Promise<{
68
+ success: boolean;
69
+ mismatches: Array<{
70
+ table: string;
71
+ issue: string;
72
+ }>;
73
+ }>;
74
+ export {};
75
+ //# sourceMappingURL=introspect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../src/types/introspect.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAMH,UAAU,oBAAoB;IAC5B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,yCAAyC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;IACF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAoF9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3E,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACpD,CAAC,CAUD"}
@@ -0,0 +1,187 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Database Introspection System
4
+ *
5
+ * Validates Drizzle schemas against the actual database structure.
6
+ * Can optionally generate types from the database for validation.
7
+ *
8
+ * This provides:
9
+ * 1. Schema validation - ensures Drizzle schemas match database
10
+ * 2. Type generation from DB - generates types from actual database (for comparison)
11
+ * 3. Migration validation - ensures migrations are applied correctly
12
+ */
13
+ import { neon } from '@neondatabase/serverless';
14
+ import { logger } from '@revealui/utils/logger';
15
+ import { discoverTables } from './discover.js';
16
+ /**
17
+ * Introspect the database and validate against Drizzle schemas
18
+ *
19
+ * Connects to the database and queries information_schema to validate
20
+ * that Drizzle schemas match the actual database structure.
21
+ */
22
+ export async function introspectDatabase(options = {}) {
23
+ const { validateSchema = true } = options;
24
+ // Only use environment fallback if connectionString is not in options at all
25
+ // If explicitly set to undefined, treat as missing
26
+ const connectionString = 'connectionString' in options
27
+ ? options.connectionString
28
+ : process.env.POSTGRES_URL || process.env.DATABASE_URL;
29
+ if (!connectionString) {
30
+ return {
31
+ success: false,
32
+ tables: [],
33
+ errors: ['Database connection string not provided'],
34
+ };
35
+ }
36
+ try {
37
+ // Connect to database
38
+ const sql = neon(connectionString);
39
+ // Query information_schema for tables in public schema
40
+ const dbTables = (await sql `
41
+ SELECT table_name
42
+ FROM information_schema.tables
43
+ WHERE table_schema = 'public'
44
+ AND table_type = 'BASE TABLE'
45
+ ORDER BY table_name
46
+ `);
47
+ const tableNames = dbTables.map((row) => row.table_name);
48
+ // Discover tables from Drizzle schemas
49
+ const discoveryResult = discoverTables();
50
+ const { tables: schemaTables } = discoveryResult;
51
+ // Explicitly type the Set to ensure proper type inference
52
+ const schemaTableNames = new Set(schemaTables.map((t) => t.tableName));
53
+ const mismatches = [];
54
+ if (validateSchema) {
55
+ // Check for tables in database but not in schema
56
+ for (const dbTable of tableNames) {
57
+ if (!schemaTableNames.has(dbTable)) {
58
+ mismatches.push({
59
+ table: dbTable,
60
+ issue: `Table exists in database but not in Drizzle schema`,
61
+ });
62
+ }
63
+ }
64
+ // Check for tables in schema but not in database
65
+ // schemaTableNames is Set<string>, so iteration yields string directly
66
+ for (const schemaTable of schemaTableNames) {
67
+ // TypeScript now correctly infers schemaTable as string
68
+ if (!tableNames.includes(schemaTable)) {
69
+ mismatches.push({
70
+ table: schemaTable,
71
+ issue: `Table defined in Drizzle schema but not in database`,
72
+ });
73
+ }
74
+ }
75
+ }
76
+ const result = {
77
+ success: mismatches.length === 0,
78
+ tables: tableNames,
79
+ };
80
+ if (validateSchema) {
81
+ result.mismatches = mismatches;
82
+ }
83
+ return result;
84
+ }
85
+ catch (error) {
86
+ return {
87
+ success: false,
88
+ tables: [],
89
+ errors: [
90
+ `Database introspection failed: ${error instanceof Error ? error.message : String(error)}`,
91
+ ],
92
+ };
93
+ }
94
+ }
95
+ /**
96
+ * Generate types from actual database structure
97
+ *
98
+ * Note: This is a placeholder for future enhancement. Currently, we use
99
+ * schema-based type generation (generate.ts) which automatically discovers
100
+ * tables and relationships from Drizzle schemas. This approach is preferred
101
+ * because:
102
+ * - It keeps types in sync with code
103
+ * - It's faster and doesn't require database connection
104
+ * - It provides better type safety with Drizzle's inference
105
+ *
106
+ * If database-first type generation is needed in the future, this would:
107
+ * 1. Connect to database using Drizzle Kit introspection API
108
+ * 2. Query information_schema for tables, columns, and relationships
109
+ * 3. Generate TypeScript types matching the Database type structure
110
+ * 4. Write to outputFile
111
+ *
112
+ * @param connectionString - Database connection string
113
+ * @param outputFile - Output file path
114
+ */
115
+ // eslint-disable-next-line @typescript-eslint/require-await
116
+ export async function generateTypesFromDatabase(connectionString, outputFile) {
117
+ void connectionString;
118
+ void outputFile;
119
+ throw new Error('Database introspection type generation not yet implemented. ' +
120
+ 'Use the schema-based type generator (generate.ts) instead. ' +
121
+ 'Run: pnpm --filter @revealui/db generate:types');
122
+ }
123
+ /**
124
+ * Validate that Drizzle schemas match the database
125
+ *
126
+ * Compares schema definitions with actual database structure.
127
+ *
128
+ * @param connectionString - Database connection string
129
+ */
130
+ export async function validateSchemaMatch(connectionString) {
131
+ const result = await introspectDatabase({
132
+ connectionString,
133
+ validateSchema: true,
134
+ });
135
+ return {
136
+ success: result.success,
137
+ mismatches: result.mismatches || [],
138
+ };
139
+ }
140
+ // CLI interface
141
+ if (import.meta.url === `file://${process.argv[1]}`) {
142
+ const args = process.argv.slice(2);
143
+ const connectionString = process.env.POSTGRES_URL || process.env.DATABASE_URL;
144
+ if (!connectionString) {
145
+ logger.error('POSTGRES_URL or DATABASE_URL environment variable is required', new Error('Missing database connection string'));
146
+ process.exit(1);
147
+ }
148
+ if (args.includes('--validate')) {
149
+ introspectDatabase({ connectionString, validateSchema: true })
150
+ .then((result) => {
151
+ if (result.success) {
152
+ logger.info('Schema validation passed', {
153
+ tablesFound: result.tables.length,
154
+ mismatches: result.mismatches?.length || 0,
155
+ });
156
+ if (result.mismatches && result.mismatches.length > 0) {
157
+ logger.warn(`${result.mismatches.length} mismatches found`, {
158
+ mismatches: result.mismatches.map((m) => `${m.table}: ${m.issue}`),
159
+ });
160
+ }
161
+ }
162
+ else {
163
+ logger.error('Schema validation failed', undefined, {
164
+ errors: result.errors,
165
+ });
166
+ if (result.errors) {
167
+ result.errors.forEach((error) => {
168
+ logger.error('Validation error', undefined, { error });
169
+ });
170
+ }
171
+ process.exit(1);
172
+ }
173
+ })
174
+ .catch((error) => {
175
+ logger.error('Error during introspection', error instanceof Error ? error : new Error(String(error)));
176
+ process.exit(1);
177
+ });
178
+ }
179
+ else {
180
+ logger.info('Database introspection system');
181
+ logger.info('Usage: tsx introspect.ts --validate');
182
+ logger.info('Options: --validate Validate schemas against database');
183
+ logger.info('Note: Full introspection requires database connection.');
184
+ logger.info('Set POSTGRES_URL or DATABASE_URL environment variable.');
185
+ }
186
+ }
187
+ //# sourceMappingURL=introspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../src/types/introspect.ts"],"names":[],"mappings":"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"}