dbctx 1.4.6 → 2.0.1

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 (164) hide show
  1. package/dist/app/assemble.d.mts +2 -2
  2. package/dist/app/assemble.d.mts.map +1 -1
  3. package/dist/app/assemble.mjs +37 -16
  4. package/dist/app/db.d.mts.map +1 -1
  5. package/dist/app/db.mjs +3 -2
  6. package/dist/app/detect.d.mts +1 -0
  7. package/dist/app/detect.d.mts.map +1 -1
  8. package/dist/app/detect.mjs +3 -2
  9. package/dist/app/list.d.mts +4 -0
  10. package/dist/app/list.d.mts.map +1 -0
  11. package/dist/app/list.mjs +93 -0
  12. package/dist/app/load-introspection.d.mts +26 -0
  13. package/dist/app/load-introspection.d.mts.map +1 -0
  14. package/dist/app/load-introspection.mjs +89 -0
  15. package/dist/app/login.d.mts +2 -0
  16. package/dist/app/login.d.mts.map +1 -0
  17. package/dist/app/login.mjs +69 -0
  18. package/dist/app/open-url.d.mts +2 -0
  19. package/dist/app/open-url.d.mts.map +1 -1
  20. package/dist/app/open-url.mjs +8 -3
  21. package/dist/app/sample.d.mts +24 -0
  22. package/dist/app/sample.d.mts.map +1 -0
  23. package/dist/app/sample.mjs +257 -0
  24. package/dist/app/session.d.mts +3 -2
  25. package/dist/app/session.d.mts.map +1 -1
  26. package/dist/app/session.mjs +46 -6
  27. package/dist/app/ssh.d.mts.map +1 -1
  28. package/dist/app/ssh.mjs +12 -1
  29. package/dist/app/tail.d.mts +13 -0
  30. package/dist/app/tail.d.mts.map +1 -0
  31. package/dist/app/tail.mjs +168 -0
  32. package/dist/db/check-constraints.d.mts +9 -0
  33. package/dist/db/check-constraints.d.mts.map +1 -0
  34. package/dist/db/check-constraints.mjs +17 -0
  35. package/dist/db/custom-types.d.mts +26 -0
  36. package/dist/db/custom-types.d.mts.map +1 -0
  37. package/dist/db/custom-types.mjs +61 -0
  38. package/dist/db/extensions.d.mts +8 -0
  39. package/dist/db/extensions.d.mts.map +1 -0
  40. package/dist/db/extensions.mjs +14 -0
  41. package/dist/db/foreign-keys.mjs +3 -3
  42. package/dist/db/functions.d.mts +11 -0
  43. package/dist/db/functions.d.mts.map +1 -0
  44. package/dist/db/functions.mjs +23 -0
  45. package/dist/db/index.d.mts +10 -1
  46. package/dist/db/index.d.mts.map +1 -1
  47. package/dist/db/index.mjs +11 -2
  48. package/dist/db/planner-stats.d.mts +33 -0
  49. package/dist/db/planner-stats.d.mts.map +1 -0
  50. package/dist/db/planner-stats.mjs +103 -0
  51. package/dist/db/relations.d.mts +1 -0
  52. package/dist/db/relations.d.mts.map +1 -1
  53. package/dist/db/relations.mjs +10 -1
  54. package/dist/db/rls.d.mts +21 -0
  55. package/dist/db/rls.d.mts.map +1 -0
  56. package/dist/db/rls.mjs +48 -0
  57. package/dist/db/sample.d.mts +16 -0
  58. package/dist/db/sample.d.mts.map +1 -0
  59. package/dist/db/sample.mjs +73 -0
  60. package/dist/db/sequences.d.mts +15 -0
  61. package/dist/db/sequences.d.mts.map +1 -0
  62. package/dist/db/sequences.mjs +31 -0
  63. package/dist/db/stats.mjs +3 -3
  64. package/dist/db/triggers.d.mts +11 -0
  65. package/dist/db/triggers.d.mts.map +1 -0
  66. package/dist/db/triggers.mjs +21 -0
  67. package/dist/flow/events.d.mts +115 -0
  68. package/dist/flow/events.d.mts.map +1 -0
  69. package/dist/flow/events.mjs +2 -0
  70. package/dist/flow/interpreter.d.mts +21 -0
  71. package/dist/flow/interpreter.d.mts.map +1 -0
  72. package/dist/flow/interpreter.mjs +605 -0
  73. package/dist/flow/projection.d.mts +17 -0
  74. package/dist/flow/projection.d.mts.map +1 -0
  75. package/dist/flow/projection.mjs +83 -0
  76. package/dist/flow/projection.test.d.mts +2 -0
  77. package/dist/flow/projection.test.d.mts.map +1 -0
  78. package/dist/flow/projection.test.mjs +162 -0
  79. package/dist/flow/reducer.d.mts +5 -0
  80. package/dist/flow/reducer.d.mts.map +1 -0
  81. package/dist/flow/reducer.mjs +306 -0
  82. package/dist/flow/reducer.test.d.mts +2 -0
  83. package/dist/flow/reducer.test.d.mts.map +1 -0
  84. package/dist/flow/reducer.test.mjs +479 -0
  85. package/dist/flow/run.d.mts +3 -0
  86. package/dist/flow/run.d.mts.map +1 -0
  87. package/dist/flow/run.mjs +89 -0
  88. package/dist/flow/states.d.mts +54 -0
  89. package/dist/flow/states.d.mts.map +1 -0
  90. package/dist/flow/states.mjs +39 -0
  91. package/dist/index.d.mts +11 -0
  92. package/dist/index.d.mts.map +1 -1
  93. package/dist/index.mjs +135 -12
  94. package/dist/lib/atomic-write.d.mts +4 -0
  95. package/dist/lib/atomic-write.d.mts.map +1 -0
  96. package/dist/lib/atomic-write.mjs +75 -0
  97. package/dist/lib/stream-job.d.mts +19 -0
  98. package/dist/lib/stream-job.d.mts.map +1 -0
  99. package/dist/lib/stream-job.mjs +55 -0
  100. package/dist/lib/trpc-url.mjs +2 -2
  101. package/dist/lib/trpc.mjs +2 -2
  102. package/dist/logger.d.mts.map +1 -1
  103. package/dist/logger.mjs +6 -3
  104. package/dist/providers/TrpcProvider.js +3 -3
  105. package/dist/store.d.mts +113 -1
  106. package/dist/store.d.mts.map +1 -1
  107. package/dist/store.mjs +81 -2
  108. package/dist/ui/App.d.ts +1 -1
  109. package/dist/ui/App.d.ts.map +1 -1
  110. package/dist/ui/App.js +32 -4
  111. package/dist/ui/components/Analyze.d.ts +10 -0
  112. package/dist/ui/components/Analyze.d.ts.map +1 -0
  113. package/dist/ui/components/Analyze.js +54 -0
  114. package/dist/ui/components/Billing.d.ts +10 -0
  115. package/dist/ui/components/Billing.d.ts.map +1 -0
  116. package/dist/ui/components/Billing.js +40 -0
  117. package/dist/ui/components/DB.d.ts.map +1 -1
  118. package/dist/ui/components/DB.js +2 -2
  119. package/dist/ui/components/DatabasePicker.d.ts +13 -0
  120. package/dist/ui/components/DatabasePicker.d.ts.map +1 -0
  121. package/dist/ui/components/DatabasePicker.js +79 -0
  122. package/dist/ui/components/Enrich.d.ts +10 -0
  123. package/dist/ui/components/Enrich.d.ts.map +1 -0
  124. package/dist/ui/components/Enrich.js +41 -0
  125. package/dist/ui/components/Gate.js +2 -2
  126. package/dist/ui/components/Introspect.d.ts.map +1 -1
  127. package/dist/ui/components/Introspect.js +2 -2
  128. package/dist/ui/components/IntrospectionUpload.d.ts +10 -0
  129. package/dist/ui/components/IntrospectionUpload.d.ts.map +1 -0
  130. package/dist/ui/components/IntrospectionUpload.js +30 -0
  131. package/dist/ui/components/Login.d.ts +19 -0
  132. package/dist/ui/components/Login.d.ts.map +1 -0
  133. package/dist/ui/components/Login.js +38 -0
  134. package/dist/ui/components/OutputJson.d.ts +10 -0
  135. package/dist/ui/components/OutputJson.d.ts.map +1 -0
  136. package/dist/ui/components/OutputJson.js +18 -0
  137. package/dist/ui/components/SSH.d.ts.map +1 -1
  138. package/dist/ui/components/SSH.js +2 -2
  139. package/dist/ui/components/SamplesUpload.d.ts +10 -0
  140. package/dist/ui/components/SamplesUpload.d.ts.map +1 -0
  141. package/dist/ui/components/SamplesUpload.js +24 -0
  142. package/dist/ui/components/Sampling.d.ts +10 -0
  143. package/dist/ui/components/Sampling.d.ts.map +1 -0
  144. package/dist/ui/components/Sampling.js +58 -0
  145. package/dist/ui/components/Session.d.ts.map +1 -1
  146. package/dist/ui/components/Session.js +4 -4
  147. package/dist/ui/components/Spinner.d.ts.map +1 -1
  148. package/dist/ui/components/Spinner.js +17 -5
  149. package/dist/ui/components/TextInput.d.ts +11 -0
  150. package/dist/ui/components/TextInput.d.ts.map +1 -0
  151. package/dist/ui/components/TextInput.js +286 -0
  152. package/dist/ui/components/UserExplanation.d.ts +10 -0
  153. package/dist/ui/components/UserExplanation.d.ts.map +1 -0
  154. package/dist/ui/components/UserExplanation.js +34 -0
  155. package/dist/validatePaths.d.mts +2 -1
  156. package/dist/validatePaths.d.mts.map +1 -1
  157. package/dist/validatePaths.mjs +6 -2
  158. package/package.json +7 -7
  159. package/dist/app/index.d.mts +0 -3
  160. package/dist/app/index.d.mts.map +0 -1
  161. package/dist/app/index.mjs +0 -82
  162. package/dist/schemas/index.d.mts +0 -107
  163. package/dist/schemas/index.d.mts.map +0 -1
  164. package/dist/schemas/index.mjs +0 -116
@@ -0,0 +1,73 @@
1
+ const quoteIdent = (name) => `"${name.replace(/"/g, '""')}"`;
2
+ const LOW_CARDINALITY_THRESHOLD = 256;
3
+ const LOW_CARDINALITY_LIMIT = 256;
4
+ const HIGH_CARDINALITY_LIMIT = 64;
5
+ const BERNOULLI_OVERSAMPLE_FACTOR = 10;
6
+ const sampleDistinct = async (pool, tableName, columnExpr, limit) => {
7
+ const sql = `SELECT DISTINCT ${columnExpr}::text AS val FROM ${quoteIdent(tableName)} WHERE ${columnExpr} IS NOT NULL LIMIT $1`;
8
+ const result = await pool.query(sql, [limit]);
9
+ return result.rows.map((r) => r.val);
10
+ };
11
+ const sampleBernoulli = async (pool, tableName, columnExpr, estimatedRowCount, limit) => {
12
+ const percentage = Math.min(100, (limit / Math.max(estimatedRowCount, 1)) *
13
+ 100 *
14
+ BERNOULLI_OVERSAMPLE_FACTOR);
15
+ const sql = `SELECT DISTINCT ${columnExpr}::text AS val FROM ${quoteIdent(tableName)} TABLESAMPLE BERNOULLI($1) WHERE ${columnExpr} IS NOT NULL LIMIT $2`;
16
+ const result = await pool.query(sql, [percentage, limit]);
17
+ return result.rows.map((r) => r.val);
18
+ };
19
+ const samplePlainLimit = async (pool, tableName, columnExpr, limit) => {
20
+ const sql = `SELECT ${columnExpr}::text AS val FROM ${quoteIdent(tableName)} WHERE ${columnExpr} IS NOT NULL LIMIT $1`;
21
+ const result = await pool.query(sql, [limit]);
22
+ return result.rows.map((r) => r.val);
23
+ };
24
+ const supportsTableSample = (kind) => kind === 'table' ||
25
+ kind === 'partitioned_table' ||
26
+ kind === 'materialized_view';
27
+ export const sampleColumn = async (pool, tableName, columnName, estimatedDistinct, estimatedRowCount, relationKind) => {
28
+ const columnExpr = quoteIdent(columnName);
29
+ const isLowCardinality = estimatedDistinct > 0 && estimatedDistinct < LOW_CARDINALITY_THRESHOLD;
30
+ if (isLowCardinality) {
31
+ const values = await sampleDistinct(pool, tableName, columnExpr, LOW_CARDINALITY_LIMIT);
32
+ return { column_name: columnName, strategy: 'distinct', values };
33
+ }
34
+ const limit = HIGH_CARDINALITY_LIMIT;
35
+ const values = supportsTableSample(relationKind) && estimatedRowCount > 0
36
+ ? await sampleBernoulli(pool, tableName, columnExpr, estimatedRowCount, limit)
37
+ : await samplePlainLimit(pool, tableName, columnExpr, limit);
38
+ return { column_name: columnName, strategy: 'random', values };
39
+ };
40
+ export const sampleCompositeSubField = async (pool, tableName, columnName, subFieldName, estimatedDistinct, estimatedRowCount, relationKind) => {
41
+ const columnExpr = `(${quoteIdent(columnName)}).${quoteIdent(subFieldName)}`;
42
+ const isLowCardinality = estimatedDistinct > 0 && estimatedDistinct < LOW_CARDINALITY_THRESHOLD;
43
+ if (isLowCardinality) {
44
+ const values = await sampleDistinct(pool, tableName, columnExpr, LOW_CARDINALITY_LIMIT);
45
+ return {
46
+ column_name: `${columnName}.${subFieldName}`,
47
+ strategy: 'distinct',
48
+ values,
49
+ };
50
+ }
51
+ const limit = HIGH_CARDINALITY_LIMIT;
52
+ const values = supportsTableSample(relationKind) && estimatedRowCount > 0
53
+ ? await sampleBernoulli(pool, tableName, columnExpr, estimatedRowCount, limit)
54
+ : await samplePlainLimit(pool, tableName, columnExpr, limit);
55
+ return {
56
+ column_name: `${columnName}.${subFieldName}`,
57
+ strategy: 'random',
58
+ values,
59
+ };
60
+ };
61
+ export const fetchCompositeSubFields = async (pool, typeName) => {
62
+ const result = await pool.query(`
63
+ SELECT a.attname AS name, format_type(a.atttypid, a.atttypmod) AS data_type
64
+ FROM pg_type t
65
+ JOIN pg_attribute a ON a.attrelid = t.typrelid
66
+ WHERE t.typname = $1
67
+ AND a.attnum > 0
68
+ AND NOT a.attisdropped
69
+ ORDER BY a.attnum
70
+ `, [typeName]);
71
+ return result.rows;
72
+ };
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlLm1qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbImRiL3NhbXBsZS5tdHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUU3RSxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQztBQUN0QyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUNsQyxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQUNsQyxNQUFNLDJCQUEyQixHQUFHLEVBQUUsQ0FBQztBQUV2QyxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQ3hCLElBQVUsRUFDVixTQUFpQixFQUNqQixVQUFrQixFQUNsQixLQUFhLEVBQ2EsRUFBRTtJQUM1QixNQUFNLEdBQUcsR0FBRyxtQkFBbUIsVUFBVSxzQkFBc0IsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLFVBQVUsdUJBQXVCLENBQUM7SUFDaEksTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFnQixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQ3pCLElBQVUsRUFDVixTQUFpQixFQUNqQixVQUFrQixFQUNsQixpQkFBeUIsRUFDekIsS0FBYSxFQUNhLEVBQUU7SUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDdkIsR0FBRyxFQUNILENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFD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LENBQUMsSUFBSSxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBQztJQUUzRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDbkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxjQUFjLENBQy9CLElBQUksRUFDSixTQUFTLEVBQ1QsVUFBVSxFQUNWLHFCQUFxQixDQUN4QixDQUFDO1FBQ0YsT0FBTztZQUNILFdBQVcsRUFBRSxHQUFHLFVBQVUsSUFBSSxZQUFZLEVBQUU7WUFDNUMsUUFBUSxFQUFFLFVBQVU7WUFDcEIsTUFBTTtTQUNULENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsc0JBQXNCLENBQUM7SUFFckMsTUFBTSxNQUFNLEdBQ1IsbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksaUJBQWlCLEdBQUcsQ0FBQztRQUN0RCxDQUFDLENBQUMsTUFBTSxlQUFlLENBQ2pCLElBQUksRUFDSixTQUFTLEVBQ1QsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixLQUFLLENBQ1I7UUFDSCxDQUFDLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVyRSxPQUFPO1FBQ0gsV0FBVyxFQUFFLEdBQUcsVUFBVSxJQUFJLFlBQVksRUFBRTtRQUM1QyxRQUFRLEVBQUUsUUFBUTtRQUNsQixNQUFNO0tBQ1QsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEtBQUssRUFDeEMsSUFBVSxFQUNWLFFBQWdCLEVBQ3NCLEVBQUU7SUFDeEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUMzQjs7Ozs7Ozs7U0FRQyxFQUNELENBQUMsUUFBUSxDQUFDLENBQ2IsQ0FBQztJQUNGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UG9vbH0gZnJvbSAncGcnO1xuXG5leHBvcnQgdHlwZSBUU2FtcGxlU3RyYXRlZ3kgPSAnZGlzdGluY3QnIHwgJ3JhbmRvbSc7XG5cbmV4cG9ydCB0eXBlIFRDb2x1bW5TYW1wbGUgPSB7XG4gICAgcmVhZG9ubHkgY29sdW1uX25hbWU6IHN0cmluZztcbiAgICByZWFkb25seSBzdHJhdGVneTogVFNhbXBsZVN0cmF0ZWd5O1xuICAgIHJlYWRvbmx5IHZhbHVlczogcmVhZG9ubHkgc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBUQ29tcG9zaXRlU3ViRmllbGQgPSB7XG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGRhdGFfdHlwZTogc3RyaW5nO1xufTtcblxuY29uc3QgcXVvdGVJZGVudCA9IChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4gYFwiJHtuYW1lLnJlcGxhY2UoL1wiL2csICdcIlwiJyl9XCJgO1xuXG5jb25zdCBMT1dfQ0FSRElOQUxJVFlfVEhSRVNIT0xEID0gMjU2O1xuY29uc3QgTE9XX0NBUkRJTkFMSVRZX0xJTUlUID0gMjU2O1xuY29uc3QgSElHSF9DQVJESU5BTElUWV9MSU1JVCA9IDY0O1xuY29uc3QgQkVSTk9VTExJX09WRVJTQU1QTEVfRkFDVE9SID0gMTA7XG5cbmNvbnN0IHNhbXBsZURpc3RpbmN0ID0gYXN5bmMgKFxuICAgIHBvb2w6IFBvb2wsXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgY29sdW1uRXhwcjogc3RyaW5nLFxuICAgIGxpbWl0OiBudW1iZXIsXG4pOiBQcm9taXNlPHJlYWRvbmx5IHN0cmluZ1tdPiA9PiB7XG4gICAgY29uc3Qgc3FsID0gYFNFTEVDVCBESVNUSU5DVCAke2NvbHVtbkV4cHJ9Ojp0ZXh0IEFTIHZhbCBGUk9NICR7cXVvdGVJZGVudCh0YWJsZU5hbWUpfSBXSEVSRSAke2NvbHVtbkV4cHJ9IElTIE5PVCBOVUxMIExJTUlUICQxYDtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwb29sLnF1ZXJ5PHt2YWw6IHN0cmluZ30+KHNxbCwgW2xpbWl0XSk7XG4gICAgcmV0dXJuIHJlc3VsdC5yb3dzLm1hcCgocikgPT4gci52YWwpO1xufTtcblxuY29uc3Qgc2FtcGxlQmVybm91bGxpID0gYXN5bmMgKFxuICAgIHBvb2w6IFBvb2wsXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgY29sdW1uRXhwcjogc3RyaW5nLFxuICAgIGVzdGltYXRlZFJvd0NvdW50OiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbik6IFByb21pc2U8cmVhZG9ubHkgc3RyaW5nW10+ID0+IHtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gTWF0aC5taW4oXG4gICAgICAgIDEwMCxcbiAgICAgICAgKGxpbWl0IC8gTWF0aC5tYXgoZXN0aW1hdGVkUm93Q291bnQsIDEpKSAqXG4gICAgICAgICAgICAxMDAgKlxuICAgICAgICAgICAgQkVSTk9VTExJX09WRVJTQU1QTEVfRkFDVE9SLFxuICAgICk7XG4gICAgY29uc3Qgc3FsID0gYFNFTEVDVCBESVNUSU5DVCAke2NvbHVtbkV4cHJ9Ojp0ZXh0IEFTIHZhbCBGUk9NICR7cXVvdGVJZGVudCh0YWJsZU5hbWUpfSBUQUJMRVNBTVBMRSBCRVJOT1VMTEkoJDEpIFdIRVJFICR7Y29sdW1uRXhwcn0gSVMgTk9UIE5VTEwgTElNSVQgJDJgO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBvb2wucXVlcnk8e3ZhbDogc3RyaW5nfT4oc3FsLCBbcGVyY2VudGFnZSwgbGltaXRdKTtcbiAgICByZXR1cm4gcmVzdWx0LnJvd3MubWFwKChyKSA9PiByLnZhbCk7XG59O1xuXG5jb25zdCBzYW1wbGVQbGFpbkxpbWl0ID0gYXN5bmMgKFxuICAgIHBvb2w6IFBvb2wsXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgY29sdW1uRXhwcjogc3RyaW5nLFxuICAgIGxpbWl0OiBudW1iZXIsXG4pOiBQcm9taXNlPHJlYWRvbmx5IHN0cmluZ1tdPiA9PiB7XG4gICAgY29uc3Qgc3FsID0gYFNFTEVDVCAke2NvbHVtbkV4cHJ9Ojp0ZXh0IEFTIHZhbCBGUk9NICR7cXVvdGVJZGVudCh0YWJsZU5hbWUpfSBXSEVSRSAke2NvbHVtbkV4cHJ9IElTIE5PVCBOVUxMIExJTUlUICQxYDtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwb29sLnF1ZXJ5PHt2YWw6IHN0cmluZ30+KHNxbCwgW2xpbWl0XSk7XG4gICAgcmV0dXJuIHJlc3VsdC5yb3dzLm1hcCgocikgPT4gci52YWwpO1xufTtcblxuZXhwb3J0IHR5cGUgVFJlbGF0aW9uS2luZCA9XG4gICAgfCAndGFibGUnXG4gICAgfCAncGFydGl0aW9uZWRfdGFibGUnXG4gICAgfCAndmlldydcbiAgICB8ICdtYXRlcmlhbGl6ZWRfdmlldyc7XG5cbmNvbnN0IHN1cHBvcnRzVGFibGVTYW1wbGUgPSAoa2luZDogVFJlbGF0aW9uS2luZCk6IGJvb2xlYW4gPT5cbiAgICBraW5kID09PSAndGFibGUnIHx8XG4gICAga2luZCA9PT0gJ3BhcnRpdGlvbmVkX3RhYmxlJyB8fFxuICAgIGtpbmQgPT09ICdtYXRlcmlhbGl6ZWRfdmlldyc7XG5cbmV4cG9ydCBjb25zdCBzYW1wbGVDb2x1bW4gPSBhc3luYyAoXG4gICAgcG9vbDogUG9vbCxcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBjb2x1bW5OYW1lOiBzdHJpbmcsXG4gICAgZXN0aW1hdGVkRGlzdGluY3Q6IG51bWJlcixcbiAgICBlc3RpbWF0ZWRSb3dDb3VudDogbnVtYmVyLFxuICAgIHJlbGF0aW9uS2luZDogVFJlbGF0aW9uS2luZCxcbik6IFByb21pc2U8VENvbHVtblNhbXBsZT4gPT4ge1xuICAgIGNvbnN0IGNvbHVtbkV4cHIgPSBxdW90ZUlkZW50KGNvbHVtbk5hbWUpO1xuICAgIGNvbnN0IGlzTG93Q2FyZGluYWxpdHkgPVxuICAgICAgICBlc3RpbWF0ZWREaXN0aW5jdCA+IDAgJiYgZXN0aW1hdGVkRGlzdGluY3QgPCBMT1dfQ0FSRElOQUxJVFlfVEhSRVNIT0xEO1xuXG4gICAgaWYgKGlzTG93Q2FyZGluYWxpdHkpIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gYXdhaXQgc2FtcGxlRGlzdGluY3QoXG4gICAgICAgICAgICBwb29sLFxuICAgICAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICAgICAgY29sdW1uRXhwcixcbiAgICAgICAgICAgIExPV19DQVJESU5BTElUWV9MSU1JVCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHtjb2x1bW5fbmFtZTogY29sdW1uTmFtZSwgc3RyYXRlZ3k6ICdkaXN0aW5jdCcsIHZhbHVlc307XG4gICAgfVxuXG4gICAgY29uc3QgbGltaXQgPSBISUdIX0NBUkRJTkFMSVRZX0xJTUlUO1xuXG4gICAgY29uc3QgdmFsdWVzID1cbiAgICAgICAgc3VwcG9ydHNUYWJsZVNhbXBsZShyZWxhdGlvbktpbmQpICYmIGVzdGltYXRlZFJvd0NvdW50ID4gMFxuICAgICAgICAgICAgPyBhd2FpdCBzYW1wbGVCZXJub3VsbGkoXG4gICAgICAgICAgICAgICAgICBwb29sLFxuICAgICAgICAgICAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICAgICAgICAgICAgY29sdW1uRXhwcixcbiAgICAgICAgICAgICAgICAgIGVzdGltYXRlZFJvd0NvdW50LFxuICAgICAgICAgICAgICAgICAgbGltaXQsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogYXdhaXQgc2FtcGxlUGxhaW5MaW1pdChwb29sLCB0YWJsZU5hbWUsIGNvbHVtbkV4cHIsIGxpbWl0KTtcblxuICAgIHJldHVybiB7Y29sdW1uX25hbWU6IGNvbHVtbk5hbWUsIHN0cmF0ZWd5OiAncmFuZG9tJywgdmFsdWVzfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzYW1wbGVDb21wb3NpdGVTdWJGaWVsZCA9IGFzeW5jIChcbiAgICBwb29sOiBQb29sLFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGNvbHVtbk5hbWU6IHN0cmluZyxcbiAgICBzdWJGaWVsZE5hbWU6IHN0cmluZyxcbiAgICBlc3RpbWF0ZWREaXN0aW5jdDogbnVtYmVyLFxuICAgIGVzdGltYXRlZFJvd0NvdW50OiBudW1iZXIsXG4gICAgcmVsYXRpb25LaW5kOiBUUmVsYXRpb25LaW5kLFxuKTogUHJvbWlzZTxUQ29sdW1uU2FtcGxlPiA9PiB7XG4gICAgY29uc3QgY29sdW1uRXhwciA9IGAoJHtxdW90ZUlkZW50KGNvbHVtbk5hbWUpfSkuJHtxdW90ZUlkZW50KHN1YkZpZWxkTmFtZSl9YDtcbiAgICBjb25zdCBpc0xvd0NhcmRpbmFsaXR5ID1cbiAgICAgICAgZXN0aW1hdGVkRGlzdGluY3QgPiAwICYmIGVzdGltYXRlZERpc3RpbmN0IDwgTE9XX0NBUkRJTkFMSVRZX1RIUkVTSE9MRDtcblxuICAgIGlmIChpc0xvd0NhcmRpbmFsaXR5KSB7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IGF3YWl0IHNhbXBsZURpc3RpbmN0KFxuICAgICAgICAgICAgcG9vbCxcbiAgICAgICAgICAgIHRhYmxlTmFtZSxcbiAgICAgICAgICAgIGNvbHVtbkV4cHIsXG4gICAgICAgICAgICBMT1dfQ0FSRElOQUxJVFlfTElNSVQsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2x1bW5fbmFtZTogYCR7Y29sdW1uTmFtZX0uJHtzdWJGaWVsZE5hbWV9YCxcbiAgICAgICAgICAgIHN0cmF0ZWd5OiAnZGlzdGluY3QnLFxuICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGxpbWl0ID0gSElHSF9DQVJESU5BTElUWV9MSU1JVDtcblxuICAgIGNvbnN0IHZhbHVlcyA9XG4gICAgICAgIHN1cHBvcnRzVGFibGVTYW1wbGUocmVsYXRpb25LaW5kKSAmJiBlc3RpbWF0ZWRSb3dDb3VudCA+IDBcbiAgICAgICAgICAgID8gYXdhaXQgc2FtcGxlQmVybm91bGxpKFxuICAgICAgICAgICAgICAgICAgcG9vbCxcbiAgICAgICAgICAgICAgICAgIHRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICAgIGNvbHVtbkV4cHIsXG4gICAgICAgICAgICAgICAgICBlc3RpbWF0ZWRSb3dDb3VudCxcbiAgICAgICAgICAgICAgICAgIGxpbWl0LFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IGF3YWl0IHNhbXBsZVBsYWluTGltaXQocG9vbCwgdGFibGVOYW1lLCBjb2x1bW5FeHByLCBsaW1pdCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBjb2x1bW5fbmFtZTogYCR7Y29sdW1uTmFtZX0uJHtzdWJGaWVsZE5hbWV9YCxcbiAgICAgICAgc3RyYXRlZ3k6ICdyYW5kb20nLFxuICAgICAgICB2YWx1ZXMsXG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBmZXRjaENvbXBvc2l0ZVN1YkZpZWxkcyA9IGFzeW5jIChcbiAgICBwb29sOiBQb29sLFxuICAgIHR5cGVOYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPHJlYWRvbmx5IFRDb21wb3NpdGVTdWJGaWVsZFtdPiA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcG9vbC5xdWVyeTx7bmFtZTogc3RyaW5nOyBkYXRhX3R5cGU6IHN0cmluZ30+KFxuICAgICAgICBgXG4gICAgICAgIFNFTEVDVCBhLmF0dG5hbWUgQVMgbmFtZSwgZm9ybWF0X3R5cGUoYS5hdHR0eXBpZCwgYS5hdHR0eXBtb2QpIEFTIGRhdGFfdHlwZVxuICAgICAgICBGUk9NIHBnX3R5cGUgdFxuICAgICAgICBKT0lOIHBnX2F0dHJpYnV0ZSBhIE9OIGEuYXR0cmVsaWQgPSB0LnR5cHJlbGlkXG4gICAgICAgIFdIRVJFIHQudHlwbmFtZSA9ICQxXG4gICAgICAgICAgICBBTkQgYS5hdHRudW0gPiAwXG4gICAgICAgICAgICBBTkQgTk9UIGEuYXR0aXNkcm9wcGVkXG4gICAgICAgIE9SREVSIEJZIGEuYXR0bnVtXG4gICAgICAgIGAsXG4gICAgICAgIFt0eXBlTmFtZV0sXG4gICAgKTtcbiAgICByZXR1cm4gcmVzdWx0LnJvd3M7XG59O1xuIl19
@@ -0,0 +1,15 @@
1
+ import type { Pool } from 'pg';
2
+ export type TSequenceInfo = {
3
+ name: string;
4
+ data_type: string;
5
+ start_value: string;
6
+ min_value: string;
7
+ max_value: string;
8
+ increment: string;
9
+ cycle: boolean;
10
+ cache_size: string;
11
+ owned_by_table: string | null;
12
+ owned_by_column: string | null;
13
+ };
14
+ export declare const fetchPublicSequences: (pool: Pool) => Promise<TSequenceInfo[]>;
15
+ //# sourceMappingURL=sequences.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequences.d.mts","sourceRoot":"./src/","sources":["db/sequences.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AAE7B,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,MAAM,IAAI,KACX,OAAO,CAAC,aAAa,EAAE,CA8BzB,CAAC"}
@@ -0,0 +1,31 @@
1
+ export const fetchPublicSequences = async (pool) => {
2
+ const result = await pool.query(`
3
+ SELECT
4
+ s.sequencename AS name,
5
+ s.data_type::text AS data_type,
6
+ s.start_value::text AS start_value,
7
+ s.min_value::text AS min_value,
8
+ s.max_value::text AS max_value,
9
+ s.increment_by::text AS increment,
10
+ s.cycle AS cycle,
11
+ s.cache_size::text AS cache_size,
12
+ t.relname AS owned_by_table,
13
+ a.attname AS owned_by_column
14
+ FROM pg_catalog.pg_sequences s
15
+ JOIN pg_catalog.pg_class c
16
+ ON c.relname = s.sequencename
17
+ AND c.relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = s.schemaname)
18
+ LEFT JOIN pg_catalog.pg_depend d
19
+ ON d.objid = c.oid
20
+ AND d.classid = 'pg_class'::regclass
21
+ AND d.refclassid = 'pg_class'::regclass
22
+ AND d.deptype = 'a'
23
+ LEFT JOIN pg_catalog.pg_class t ON t.oid = d.refobjid
24
+ LEFT JOIN pg_catalog.pg_attribute a
25
+ ON a.attrelid = d.refobjid AND a.attnum = d.refobjsubid
26
+ WHERE s.schemaname = 'public'
27
+ ORDER BY s.sequencename
28
+ `);
29
+ return result.rows;
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VzLm1qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbImRiL3NlcXVlbmNlcy5tdHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxFQUNyQyxJQUFVLEVBQ2MsRUFBRTtJQUMxQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTBCOUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQb29sfSBmcm9tICdwZyc7XG5cbmV4cG9ydCB0eXBlIFRTZXF1ZW5jZUluZm8gPSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRhdGFfdHlwZTogc3RyaW5nO1xuICAgIHN0YXJ0X3ZhbHVlOiBzdHJpbmc7XG4gICAgbWluX3ZhbHVlOiBzdHJpbmc7XG4gICAgbWF4X3ZhbHVlOiBzdHJpbmc7XG4gICAgaW5jcmVtZW50OiBzdHJpbmc7XG4gICAgY3ljbGU6IGJvb2xlYW47XG4gICAgY2FjaGVfc2l6ZTogc3RyaW5nO1xuICAgIG93bmVkX2J5X3RhYmxlOiBzdHJpbmcgfCBudWxsO1xuICAgIG93bmVkX2J5X2NvbHVtbjogc3RyaW5nIHwgbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBmZXRjaFB1YmxpY1NlcXVlbmNlcyA9IGFzeW5jIChcbiAgICBwb29sOiBQb29sLFxuKTogUHJvbWlzZTxUU2VxdWVuY2VJbmZvW10+ID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwb29sLnF1ZXJ5PFRTZXF1ZW5jZUluZm8+KGBcbiAgICAgICAgU0VMRUNUXG4gICAgICAgICAgICBzLnNlcXVlbmNlbmFtZSBBUyBuYW1lLFxuICAgICAgICAgICAgcy5kYXRhX3R5cGU6OnRleHQgQVMgZGF0YV90eXBlLFxuICAgICAgICAgICAgcy5zdGFydF92YWx1ZTo6dGV4dCBBUyBzdGFydF92YWx1ZSxcbiAgICAgICAgICAgIHMubWluX3ZhbHVlOjp0ZXh0IEFTIG1pbl92YWx1ZSxcbiAgICAgICAgICAgIHMubWF4X3ZhbHVlOjp0ZXh0IEFTIG1heF92YWx1ZSxcbiAgICAgICAgICAgIHMuaW5jcmVtZW50X2J5Ojp0ZXh0IEFTIGluY3JlbWVudCxcbiAgICAgICAgICAgIHMuY3ljbGUgQVMgY3ljbGUsXG4gICAgICAgICAgICBzLmNhY2hlX3NpemU6OnRleHQgQVMgY2FjaGVfc2l6ZSxcbiAgICAgICAgICAgIHQucmVsbmFtZSBBUyBvd25lZF9ieV90YWJsZSxcbiAgICAgICAgICAgIGEuYXR0bmFtZSBBUyBvd25lZF9ieV9jb2x1bW5cbiAgICAgICAgRlJPTSBwZ19jYXRhbG9nLnBnX3NlcXVlbmNlcyBzXG4gICAgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19jbGFzcyBjXG4gICAgICAgICAgICBPTiBjLnJlbG5hbWUgPSBzLnNlcXVlbmNlbmFtZVxuICAgICAgICAgICAgQU5EIGMucmVsbmFtZXNwYWNlID0gKFNFTEVDVCBvaWQgRlJPTSBwZ19uYW1lc3BhY2UgV0hFUkUgbnNwbmFtZSA9IHMuc2NoZW1hbmFtZSlcbiAgICAgICAgTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdfZGVwZW5kIGRcbiAgICAgICAgICAgIE9OIGQub2JqaWQgPSBjLm9pZFxuICAgICAgICAgICAgQU5EIGQuY2xhc3NpZCA9ICdwZ19jbGFzcyc6OnJlZ2NsYXNzXG4gICAgICAgICAgICBBTkQgZC5yZWZjbGFzc2lkID0gJ3BnX2NsYXNzJzo6cmVnY2xhc3NcbiAgICAgICAgICAgIEFORCBkLmRlcHR5cGUgPSAnYSdcbiAgICAgICAgTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdfY2xhc3MgdCBPTiB0Lm9pZCA9IGQucmVmb2JqaWRcbiAgICAgICAgTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdfYXR0cmlidXRlIGFcbiAgICAgICAgICAgIE9OIGEuYXR0cmVsaWQgPSBkLnJlZm9iamlkIEFORCBhLmF0dG51bSA9IGQucmVmb2Jqc3ViaWRcbiAgICAgICAgV0hFUkUgcy5zY2hlbWFuYW1lID0gJ3B1YmxpYydcbiAgICAgICAgT1JERVIgQlkgcy5zZXF1ZW5jZW5hbWVcbiAgICBgKTtcblxuICAgIHJldHVybiByZXN1bHQucm93cztcbn07XG4iXX0=
package/dist/db/stats.mjs CHANGED
@@ -24,11 +24,11 @@ export const fetchRelationStats = async (pool, relationName) => {
24
24
  }
25
25
  return {
26
26
  relation_name: result.rows[0].relation_name,
27
- estimated_row_count: result.rows[0].estimated_row_count,
27
+ estimated_row_count: Number(result.rows[0].estimated_row_count),
28
28
  attributes: result.rows.map(({ attribute_name, estimated_distinct }) => ({
29
29
  attribute_name,
30
- estimated_distinct,
30
+ estimated_distinct: Number(estimated_distinct),
31
31
  })),
32
32
  };
33
33
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiZGIvc3RhdHMubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFDbkMsSUFBVSxFQUNWLFlBQW9CLEVBQ0csRUFBRTtJQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBRzNCOzs7Ozs7Ozs7Ozs7Ozs7U0FlQyxFQUNELENBQUMsWUFBWSxDQUFDLENBQ2pCLENBQUM7SUFFRixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU87WUFDSCxhQUFhLEVBQUUsWUFBWTtZQUMzQixtQkFBbUIsRUFBRSxDQUFDO1lBQ3RCLFVBQVUsRUFBRSxFQUFFO1NBQ2pCLENBQUM7SUFDTixDQUFDO0lBRUQsT0FBTztRQUNILGFBQWEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWE7UUFDM0MsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7UUFDdkQsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRSxjQUFjO1lBQ2Qsa0JBQWtCO1NBQ3JCLENBQUMsQ0FBQztLQUNOLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UG9vbH0gZnJvbSAncGcnO1xuXG5leHBvcnQgdHlwZSBUQXR0cmlidXRlU3RhdHMgPSB7XG4gICAgYXR0cmlidXRlX25hbWU6IHN0cmluZztcbiAgICBlc3RpbWF0ZWRfZGlzdGluY3Q6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFRSZWxhdGlvblN0YXRzID0ge1xuICAgIHJlbGF0aW9uX25hbWU6IHN0cmluZztcbiAgICBlc3RpbWF0ZWRfcm93X2NvdW50OiBudW1iZXI7XG4gICAgYXR0cmlidXRlczogVEF0dHJpYnV0ZVN0YXRzW107XG59O1xuXG5leHBvcnQgY29uc3QgZmV0Y2hSZWxhdGlvblN0YXRzID0gYXN5bmMgKFxuICAgIHBvb2w6IFBvb2wsXG4gICAgcmVsYXRpb25OYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPFRSZWxhdGlvblN0YXRzPiA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcG9vbC5xdWVyeTxcbiAgICAgICAgVEF0dHJpYnV0ZVN0YXRzICYge3JlbGF0aW9uX25hbWU6IHN0cmluZzsgZXN0aW1hdGVkX3Jvd19jb3VudDogbnVtYmVyfVxuICAgID4oXG4gICAgICAgIGBcbiAgICAgICAgU0VMRUNUXG4gICAgICAgICAgICBzLnRhYmxlbmFtZSBBUyByZWxhdGlvbl9uYW1lLFxuICAgICAgICAgICAgYy5yZWx0dXBsZXM6OmJpZ2ludCBBUyBlc3RpbWF0ZWRfcm93X2NvdW50LFxuICAgICAgICAgICAgcy5hdHRuYW1lIEFTIGF0dHJpYnV0ZV9uYW1lLFxuICAgICAgICAgICAgQ0FTRVxuICAgICAgICAgICAgICAgIFdIRU4gcy5uX2Rpc3RpbmN0ID4gMCBUSEVOIHMubl9kaXN0aW5jdFxuICAgICAgICAgICAgICAgIEVMU0UgYWJzKHMubl9kaXN0aW5jdCkgKiBjLnJlbHR1cGxlc1xuICAgICAgICAgICAgRU5EOjpiaWdpbnQgQVMgZXN0aW1hdGVkX2Rpc3RpbmN0XG4gICAgICAgIEZST00gcGdfY2F0YWxvZy5wZ19zdGF0cyBzXG4gICAgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19jbGFzcyBjIE9OIGMucmVsbmFtZSA9IHMudGFibGVuYW1lXG4gICAgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19uYW1lc3BhY2UgbiBPTiBuLm9pZCA9IGMucmVsbmFtZXNwYWNlIEFORCBuLm5zcG5hbWUgPSBzLnNjaGVtYW5hbWVcbiAgICAgICAgV0hFUkUgcy5zY2hlbWFuYW1lID0gJ3B1YmxpYydcbiAgICAgICAgICAgIEFORCBzLnRhYmxlbmFtZSA9ICQxXG4gICAgICAgIE9SREVSIEJZIHMuYXR0bmFtZVxuICAgICAgICBgLFxuICAgICAgICBbcmVsYXRpb25OYW1lXSxcbiAgICApO1xuXG4gICAgaWYgKHJlc3VsdC5yb3dzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVsYXRpb25fbmFtZTogcmVsYXRpb25OYW1lLFxuICAgICAgICAgICAgZXN0aW1hdGVkX3Jvd19jb3VudDogMCxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIHJlbGF0aW9uX25hbWU6IHJlc3VsdC5yb3dzWzBdLnJlbGF0aW9uX25hbWUsXG4gICAgICAgIGVzdGltYXRlZF9yb3dfY291bnQ6IHJlc3VsdC5yb3dzWzBdLmVzdGltYXRlZF9yb3dfY291bnQsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHJlc3VsdC5yb3dzLm1hcCgoe2F0dHJpYnV0ZV9uYW1lLCBlc3RpbWF0ZWRfZGlzdGluY3R9KSA9PiAoe1xuICAgICAgICAgICAgYXR0cmlidXRlX25hbWUsXG4gICAgICAgICAgICBlc3RpbWF0ZWRfZGlzdGluY3QsXG4gICAgICAgIH0pKSxcbiAgICB9O1xufTtcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiZGIvc3RhdHMubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFDbkMsSUFBVSxFQUNWLFlBQW9CLEVBQ0csRUFBRTtJQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBRzNCOzs7Ozs7Ozs7Ozs7Ozs7U0FlQyxFQUNELENBQUMsWUFBWSxDQUFDLENBQ2pCLENBQUM7SUFFRixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU87WUFDSCxhQUFhLEVBQUUsWUFBWTtZQUMzQixtQkFBbUIsRUFBRSxDQUFDO1lBQ3RCLFVBQVUsRUFBRSxFQUFFO1NBQ2pCLENBQUM7SUFDTixDQUFDO0lBRUQsT0FBTztRQUNILGFBQWEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWE7UUFDM0MsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFDL0QsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRSxjQUFjO1lBQ2Qsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDO1NBQ2pELENBQUMsQ0FBQztLQUNOLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UG9vbH0gZnJvbSAncGcnO1xuXG5leHBvcnQgdHlwZSBUQXR0cmlidXRlU3RhdHMgPSB7XG4gICAgYXR0cmlidXRlX25hbWU6IHN0cmluZztcbiAgICBlc3RpbWF0ZWRfZGlzdGluY3Q6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFRSZWxhdGlvblN0YXRzID0ge1xuICAgIHJlbGF0aW9uX25hbWU6IHN0cmluZztcbiAgICBlc3RpbWF0ZWRfcm93X2NvdW50OiBudW1iZXI7XG4gICAgYXR0cmlidXRlczogVEF0dHJpYnV0ZVN0YXRzW107XG59O1xuXG5leHBvcnQgY29uc3QgZmV0Y2hSZWxhdGlvblN0YXRzID0gYXN5bmMgKFxuICAgIHBvb2w6IFBvb2wsXG4gICAgcmVsYXRpb25OYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPFRSZWxhdGlvblN0YXRzPiA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcG9vbC5xdWVyeTxcbiAgICAgICAgVEF0dHJpYnV0ZVN0YXRzICYge3JlbGF0aW9uX25hbWU6IHN0cmluZzsgZXN0aW1hdGVkX3Jvd19jb3VudDogbnVtYmVyfVxuICAgID4oXG4gICAgICAgIGBcbiAgICAgICAgU0VMRUNUXG4gICAgICAgICAgICBzLnRhYmxlbmFtZSBBUyByZWxhdGlvbl9uYW1lLFxuICAgICAgICAgICAgYy5yZWx0dXBsZXM6OmJpZ2ludCBBUyBlc3RpbWF0ZWRfcm93X2NvdW50LFxuICAgICAgICAgICAgcy5hdHRuYW1lIEFTIGF0dHJpYnV0ZV9uYW1lLFxuICAgICAgICAgICAgQ0FTRVxuICAgICAgICAgICAgICAgIFdIRU4gcy5uX2Rpc3RpbmN0ID4gMCBUSEVOIHMubl9kaXN0aW5jdFxuICAgICAgICAgICAgICAgIEVMU0UgYWJzKHMubl9kaXN0aW5jdCkgKiBjLnJlbHR1cGxlc1xuICAgICAgICAgICAgRU5EOjpiaWdpbnQgQVMgZXN0aW1hdGVkX2Rpc3RpbmN0XG4gICAgICAgIEZST00gcGdfY2F0YWxvZy5wZ19zdGF0cyBzXG4gICAgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19jbGFzcyBjIE9OIGMucmVsbmFtZSA9IHMudGFibGVuYW1lXG4gICAgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19uYW1lc3BhY2UgbiBPTiBuLm9pZCA9IGMucmVsbmFtZXNwYWNlIEFORCBuLm5zcG5hbWUgPSBzLnNjaGVtYW5hbWVcbiAgICAgICAgV0hFUkUgcy5zY2hlbWFuYW1lID0gJ3B1YmxpYydcbiAgICAgICAgICAgIEFORCBzLnRhYmxlbmFtZSA9ICQxXG4gICAgICAgIE9SREVSIEJZIHMuYXR0bmFtZVxuICAgICAgICBgLFxuICAgICAgICBbcmVsYXRpb25OYW1lXSxcbiAgICApO1xuXG4gICAgaWYgKHJlc3VsdC5yb3dzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVsYXRpb25fbmFtZTogcmVsYXRpb25OYW1lLFxuICAgICAgICAgICAgZXN0aW1hdGVkX3Jvd19jb3VudDogMCxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIHJlbGF0aW9uX25hbWU6IHJlc3VsdC5yb3dzWzBdLnJlbGF0aW9uX25hbWUsXG4gICAgICAgIGVzdGltYXRlZF9yb3dfY291bnQ6IE51bWJlcihyZXN1bHQucm93c1swXS5lc3RpbWF0ZWRfcm93X2NvdW50KSxcbiAgICAgICAgYXR0cmlidXRlczogcmVzdWx0LnJvd3MubWFwKCh7YXR0cmlidXRlX25hbWUsIGVzdGltYXRlZF9kaXN0aW5jdH0pID0+ICh7XG4gICAgICAgICAgICBhdHRyaWJ1dGVfbmFtZSxcbiAgICAgICAgICAgIGVzdGltYXRlZF9kaXN0aW5jdDogTnVtYmVyKGVzdGltYXRlZF9kaXN0aW5jdCksXG4gICAgICAgIH0pKSxcbiAgICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import type { Pool } from 'pg';
2
+ export type TTriggerInfo = {
3
+ relation_name: string;
4
+ name: string;
5
+ definition: string;
6
+ function_schema: string;
7
+ function_name: string;
8
+ is_enabled: boolean;
9
+ };
10
+ export declare const fetchPublicTriggers: (pool: Pool) => Promise<TTriggerInfo[]>;
11
+ //# sourceMappingURL=triggers.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.d.mts","sourceRoot":"./src/","sources":["db/triggers.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC5B,MAAM,IAAI,KACX,OAAO,CAAC,YAAY,EAAE,CAoBxB,CAAC"}
@@ -0,0 +1,21 @@
1
+ export const fetchPublicTriggers = async (pool) => {
2
+ const result = await pool.query(`
3
+ SELECT
4
+ t.relname AS relation_name,
5
+ tg.tgname AS name,
6
+ pg_get_triggerdef(tg.oid, true) AS definition,
7
+ fn_ns.nspname AS function_schema,
8
+ fn.proname AS function_name,
9
+ tg.tgenabled <> 'D' AS is_enabled
10
+ FROM pg_catalog.pg_trigger tg
11
+ JOIN pg_catalog.pg_class t ON t.oid = tg.tgrelid
12
+ JOIN pg_catalog.pg_namespace n ON n.oid = t.relnamespace
13
+ JOIN pg_catalog.pg_proc fn ON fn.oid = tg.tgfoid
14
+ JOIN pg_catalog.pg_namespace fn_ns ON fn_ns.oid = fn.pronamespace
15
+ WHERE n.nspname = 'public'
16
+ AND NOT tg.tgisinternal
17
+ ORDER BY t.relname, tg.tgname
18
+ `);
19
+ return result.rows;
20
+ };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiZGIvdHJpZ2dlcnMubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFDcEMsSUFBVSxFQUNhLEVBQUU7SUFDekIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFlOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0I3QyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Bvb2x9IGZyb20gJ3BnJztcblxuZXhwb3J0IHR5cGUgVFRyaWdnZXJJbmZvID0ge1xuICAgIHJlbGF0aW9uX25hbWU6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVmaW5pdGlvbjogc3RyaW5nO1xuICAgIGZ1bmN0aW9uX3NjaGVtYTogc3RyaW5nO1xuICAgIGZ1bmN0aW9uX25hbWU6IHN0cmluZztcbiAgICBpc19lbmFibGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGZldGNoUHVibGljVHJpZ2dlcnMgPSBhc3luYyAoXG4gICAgcG9vbDogUG9vbCxcbik6IFByb21pc2U8VFRyaWdnZXJJbmZvW10+ID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwb29sLnF1ZXJ5PFRUcmlnZ2VySW5mbz4oYFxuICAgICAgICBTRUxFQ1RcbiAgICAgICAgICAgIHQucmVsbmFtZSBBUyByZWxhdGlvbl9uYW1lLFxuICAgICAgICAgICAgdGcudGduYW1lIEFTIG5hbWUsXG4gICAgICAgICAgICBwZ19nZXRfdHJpZ2dlcmRlZih0Zy5vaWQsIHRydWUpIEFTIGRlZmluaXRpb24sXG4gICAgICAgICAgICBmbl9ucy5uc3BuYW1lIEFTIGZ1bmN0aW9uX3NjaGVtYSxcbiAgICAgICAgICAgIGZuLnByb25hbWUgQVMgZnVuY3Rpb25fbmFtZSxcbiAgICAgICAgICAgIHRnLnRnZW5hYmxlZCA8PiAnRCcgQVMgaXNfZW5hYmxlZFxuICAgICAgICBGUk9NIHBnX2NhdGFsb2cucGdfdHJpZ2dlciB0Z1xuICAgICAgICBKT0lOIHBnX2NhdGFsb2cucGdfY2xhc3MgdCBPTiB0Lm9pZCA9IHRnLnRncmVsaWRcbiAgICAgICAgSk9JTiBwZ19jYXRhbG9nLnBnX25hbWVzcGFjZSBuIE9OIG4ub2lkID0gdC5yZWxuYW1lc3BhY2VcbiAgICAgICAgSk9JTiBwZ19jYXRhbG9nLnBnX3Byb2MgZm4gT04gZm4ub2lkID0gdGcudGdmb2lkXG4gICAgICAgIEpPSU4gcGdfY2F0YWxvZy5wZ19uYW1lc3BhY2UgZm5fbnMgT04gZm5fbnMub2lkID0gZm4ucHJvbmFtZXNwYWNlXG4gICAgICAgIFdIRVJFIG4ubnNwbmFtZSA9ICdwdWJsaWMnXG4gICAgICAgICAgICBBTkQgTk9UIHRnLnRnaXNpbnRlcm5hbFxuICAgICAgICBPUkRFUiBCWSB0LnJlbG5hbWUsIHRnLnRnbmFtZVxuICAgIGApO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5yb3dzO1xufTtcbiJdfQ==
@@ -0,0 +1,115 @@
1
+ import type { TPostIntrospectionStage } from '@dbctx/common';
2
+ import type { TSensitiveMask, TTableSampleEvent } from '../app/sample.mjs';
3
+ export type TFlowEvent = {
4
+ readonly kind: 'start';
5
+ } | {
6
+ readonly kind: 'stop-after-reached';
7
+ } | {
8
+ readonly kind: 'ssh-connected';
9
+ } | {
10
+ readonly kind: 'ssh-failed';
11
+ readonly error: string;
12
+ } | {
13
+ readonly kind: 'ssh-not-needed';
14
+ } | {
15
+ readonly kind: 'db-connected';
16
+ } | {
17
+ readonly kind: 'db-failed';
18
+ readonly error: string;
19
+ } | {
20
+ readonly kind: 'introspection-loaded';
21
+ } | {
22
+ readonly kind: 'introspection-failed';
23
+ readonly error: string;
24
+ } | {
25
+ readonly kind: 'output-json-written';
26
+ } | {
27
+ readonly kind: 'output-json-skipped';
28
+ } | {
29
+ readonly kind: 'output-json-failed';
30
+ readonly error: string;
31
+ } | {
32
+ readonly kind: 'output-json-not-requested';
33
+ } | {
34
+ readonly kind: 'session-created';
35
+ readonly sessionId: string;
36
+ } | {
37
+ readonly kind: 'session-failed';
38
+ readonly error: string;
39
+ } | {
40
+ readonly kind: 'auth-confirmed';
41
+ readonly token: string;
42
+ } | {
43
+ readonly kind: 'auth-failed';
44
+ readonly error: string;
45
+ } | {
46
+ readonly kind: 'auth-not-needed';
47
+ } | {
48
+ readonly kind: 'fast-path-completed';
49
+ readonly sessionId: string;
50
+ readonly token: string;
51
+ } | {
52
+ readonly kind: 'explanation-given';
53
+ readonly value: string;
54
+ } | {
55
+ readonly kind: 'check-introspection-hit';
56
+ readonly revisionId: string;
57
+ readonly samplesExist: boolean;
58
+ readonly tablesNeedingSamples: readonly string[];
59
+ readonly postIntrospectionJobId: string | null;
60
+ } | {
61
+ readonly kind: 'check-introspection-miss';
62
+ } | {
63
+ readonly kind: 'introspection-ingested';
64
+ readonly revisionId: string;
65
+ readonly samplesExist: boolean;
66
+ readonly tablesNeedingSamples: readonly string[];
67
+ readonly postIntrospectionJobId: string | null;
68
+ } | {
69
+ readonly kind: 'ingest-failed';
70
+ readonly error: string;
71
+ } | {
72
+ readonly kind: 'mask-loaded';
73
+ readonly mask: TSensitiveMask;
74
+ } | {
75
+ readonly kind: 'mask-fetch-failed';
76
+ readonly error: string;
77
+ } | {
78
+ readonly kind: 'sample-table-yielded';
79
+ readonly event: TTableSampleEvent;
80
+ } | {
81
+ readonly kind: 'sampling-completed';
82
+ } | {
83
+ readonly kind: 'sampling-failed';
84
+ readonly error: string;
85
+ } | {
86
+ readonly kind: 'sampling-not-needed';
87
+ } | {
88
+ readonly kind: 'sample-chunk-uploaded';
89
+ readonly chunkSize: number;
90
+ } | {
91
+ readonly kind: 'samples-upload-completed';
92
+ } | {
93
+ readonly kind: 'samples-upload-failed';
94
+ readonly error: string;
95
+ } | {
96
+ readonly kind: 'samples-upload-not-needed';
97
+ } | {
98
+ readonly kind: 'post-introspection-progress';
99
+ readonly stage: TPostIntrospectionStage;
100
+ readonly tokensIn: number | null;
101
+ readonly tokensOut: number | null;
102
+ readonly columnsDone: number | null;
103
+ readonly columnsTotal: number | null;
104
+ } | {
105
+ readonly kind: 'post-introspection-completed';
106
+ } | {
107
+ readonly kind: 'post-introspection-failed';
108
+ readonly error: string;
109
+ } | {
110
+ readonly kind: 'post-sampling-completed';
111
+ } | {
112
+ readonly kind: 'post-sampling-failed';
113
+ readonly error: string;
114
+ };
115
+ //# sourceMappingURL=events.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.mts","sourceRoot":"./src/","sources":["flow/events.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLm1qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbImZsb3cvZXZlbnRzLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1RQb3N0SW50cm9zcGVjdGlvblN0YWdlfSBmcm9tICdAZGJjdHgvY29tbW9uJztcbmltcG9ydCB0eXBlIHtUU2Vuc2l0aXZlTWFzaywgVFRhYmxlU2FtcGxlRXZlbnR9IGZyb20gJy4uL2FwcC9zYW1wbGUubWpzJztcblxuLy8gRGlzY3JpbWluYXRlZCB1bmlvbiBvZiBldmVyeSBldmVudCB0aGF0IGNhbiBkcml2ZSBhIHN0YXRlIHRyYW5zaXRpb24uXG4vLyBJTyBjb21wbGV0aW9ucywgSU8gZmFpbHVyZXMsIHVzZXIgYWN0aW9ucywgc3RvcC1hZnRlciB0cmlnZ2Vycy5cblxuZXhwb3J0IHR5cGUgVEZsb3dFdmVudCA9XG4gICAgLy8gTGlmZWN5Y2xlIC8gZHJpdmVyc1xuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdzdGFydCd9XG4gICAgfCB7cmVhZG9ubHkga2luZDogJ3N0b3AtYWZ0ZXItcmVhY2hlZCd9XG5cbiAgICAvLyBTU0hcbiAgICB8IHtyZWFkb25seSBraW5kOiAnc3NoLWNvbm5lY3RlZCd9XG4gICAgfCB7cmVhZG9ubHkga2luZDogJ3NzaC1mYWlsZWQnOyByZWFkb25seSBlcnJvcjogc3RyaW5nfVxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdzc2gtbm90LW5lZWRlZCd9XG5cbiAgICAvLyBEQlxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdkYi1jb25uZWN0ZWQnfVxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdkYi1mYWlsZWQnOyByZWFkb25seSBlcnJvcjogc3RyaW5nfVxuXG4gICAgLy8gSW50cm9zcGVjdGlvblxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdpbnRyb3NwZWN0aW9uLWxvYWRlZCd9XG4gICAgfCB7cmVhZG9ubHkga2luZDogJ2ludHJvc3BlY3Rpb24tZmFpbGVkJzsgcmVhZG9ubHkgZXJyb3I6IHN0cmluZ31cblxuICAgIC8vIE91dHB1dCBKU09OXG4gICAgfCB7cmVhZG9ubHkga2luZDogJ291dHB1dC1qc29uLXdyaXR0ZW4nfVxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdvdXRwdXQtanNvbi1za2lwcGVkJ30gLy8gdXNlciBkZWNsaW5lZCBvdmVyd3JpdGVcbiAgICB8IHtyZWFkb25seSBraW5kOiAnb3V0cHV0LWpzb24tZmFpbGVkJzsgcmVhZG9ubHkgZXJyb3I6IHN0cmluZ31cbiAgICB8IHtyZWFkb25seSBraW5kOiAnb3V0cHV0LWpzb24tbm90LXJlcXVlc3RlZCd9XG5cbiAgICAvLyBTZXNzaW9uICsgYXV0aFxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdzZXNzaW9uLWNyZWF0ZWQnOyByZWFkb25seSBzZXNzaW9uSWQ6IHN0cmluZ31cbiAgICB8IHtyZWFkb25seSBraW5kOiAnc2Vzc2lvbi1mYWlsZWQnOyByZWFkb25seSBlcnJvcjogc3RyaW5nfVxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdhdXRoLWNvbmZpcm1lZCc7IHJlYWRvbmx5IHRva2VuOiBzdHJpbmd9XG4gICAgfCB7cmVhZG9ubHkga2luZDogJ2F1dGgtZmFpbGVkJzsgcmVhZG9ubHkgZXJyb3I6IHN0cmluZ31cbiAgICB8IHtyZWFkb25seSBraW5kOiAnYXV0aC1ub3QtbmVlZGVkJ30gLy8gbm8gYXV0aGVkIGZsb3cgYXQgYWxsIChubyBzZXJ2ZXIpXG4gICAgfCB7XG4gICAgICAgICAgLy8gQ2FjaGVkLXRva2VuIGZhc3QgcGF0aDogc2tpcCBhd2FpdGluZy1hdXRob3JpemF0aW9uIGVudGlyZWx5LlxuICAgICAgICAgIC8vIENhcnJpZXMgYm90aCBzZXNzaW9uSWQgYW5kIHRva2VuIHNvIHJlZHVjZXIgbGFuZHMgaW5cbiAgICAgICAgICAvLyBwcmVmbGlnaHQvYXdhaXRpbmctZXhwbGFuYXRpb24gaW4gYSBzaW5nbGUgdHJhbnNpdGlvbi5cbiAgICAgICAgICByZWFkb25seSBraW5kOiAnZmFzdC1wYXRoLWNvbXBsZXRlZCc7XG4gICAgICAgICAgcmVhZG9ubHkgc2Vzc2lvbklkOiBzdHJpbmc7XG4gICAgICAgICAgcmVhZG9ubHkgdG9rZW46IHN0cmluZztcbiAgICAgIH1cblxuICAgIC8vIEV4cGxhbmF0aW9uXG4gICAgfCB7cmVhZG9ubHkga2luZDogJ2V4cGxhbmF0aW9uLWdpdmVuJzsgcmVhZG9ubHkgdmFsdWU6IHN0cmluZ31cblxuICAgIC8vIFByZWZsaWdodCArIGluZ2VzdFxuICAgIHwge1xuICAgICAgICAgIHJlYWRvbmx5IGtpbmQ6ICdjaGVjay1pbnRyb3NwZWN0aW9uLWhpdCc7XG4gICAgICAgICAgcmVhZG9ubHkgcmV2aXNpb25JZDogc3RyaW5nO1xuICAgICAgICAgIHJlYWRvbmx5IHNhbXBsZXNFeGlzdDogYm9vbGVhbjtcbiAgICAgICAgICByZWFkb25seSB0YWJsZXNOZWVkaW5nU2FtcGxlczogcmVhZG9ubHkgc3RyaW5nW107XG4gICAgICAgICAgcmVhZG9ubHkgcG9zdEludHJvc3BlY3Rpb25Kb2JJZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgIH1cbiAgICB8IHtyZWFkb25seSBraW5kOiAnY2hlY2staW50cm9zcGVjdGlvbi1taXNzJ31cbiAgICB8IHtcbiAgICAgICAgICByZWFkb25seSBraW5kOiAnaW50cm9zcGVjdGlvbi1pbmdlc3RlZCc7XG4gICAgICAgICAgcmVhZG9ubHkgcmV2aXNpb25JZDogc3RyaW5nO1xuICAgICAgICAgIHJlYWRvbmx5IHNhbXBsZXNFeGlzdDogYm9vbGVhbjtcbiAgICAgICAgICByZWFkb25seSB0YWJsZXNOZWVkaW5nU2FtcGxlczogcmVhZG9ubHkgc3RyaW5nW107XG4gICAgICAgICAgcmVhZG9ubHkgcG9zdEludHJvc3BlY3Rpb25Kb2JJZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgIH1cbiAgICB8IHtyZWFkb25seSBraW5kOiAnaW5nZXN0LWZhaWxlZCc7IHJlYWRvbmx5IGVycm9yOiBzdHJpbmd9XG5cbiAgICAvLyBNYXNrIHJlc29sdXRpb25cbiAgICB8IHtyZWFkb25seSBraW5kOiAnbWFzay1sb2FkZWQnOyByZWFkb25seSBtYXNrOiBUU2Vuc2l0aXZlTWFza31cbiAgICB8IHtyZWFkb25seSBraW5kOiAnbWFzay1mZXRjaC1mYWlsZWQnOyByZWFkb25seSBlcnJvcjogc3RyaW5nfVxuXG4gICAgLy8gU2FtcGxpbmdcbiAgICB8IHtcbiAgICAgICAgICByZWFkb25seSBraW5kOiAnc2FtcGxlLXRhYmxlLXlpZWxkZWQnO1xuICAgICAgICAgIHJlYWRvbmx5IGV2ZW50OiBUVGFibGVTYW1wbGVFdmVudDtcbiAgICAgIH1cbiAgICB8IHtyZWFkb25seSBraW5kOiAnc2FtcGxpbmctY29tcGxldGVkJ31cbiAgICB8IHtyZWFkb25seSBraW5kOiAnc2FtcGxpbmctZmFpbGVkJzsgcmVhZG9ubHkgZXJyb3I6IHN0cmluZ31cbiAgICB8IHtyZWFkb25seSBraW5kOiAnc2FtcGxpbmctbm90LW5lZWRlZCd9IC8vIHNhbXBsZXMgYWxyZWFkeSBpbmdlc3RlZFxuXG4gICAgLy8gU2FtcGxlIHVwbG9hZFxuICAgIHwge1xuICAgICAgICAgIHJlYWRvbmx5IGtpbmQ6ICdzYW1wbGUtY2h1bmstdXBsb2FkZWQnO1xuICAgICAgICAgIHJlYWRvbmx5IGNodW5rU2l6ZTogbnVtYmVyO1xuICAgICAgfVxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdzYW1wbGVzLXVwbG9hZC1jb21wbGV0ZWQnfVxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdzYW1wbGVzLXVwbG9hZC1mYWlsZWQnOyByZWFkb25seSBlcnJvcjogc3RyaW5nfVxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdzYW1wbGVzLXVwbG9hZC1ub3QtbmVlZGVkJ31cblxuICAgIC8vIFBvc3QtaW50cm9zcGVjdGlvbiAoYmFja2dyb3VuZDsgY2FuIHJlc29sdmUgaW4gYW55IHBoYXNlKVxuICAgIHwge1xuICAgICAgICAgIHJlYWRvbmx5IGtpbmQ6ICdwb3N0LWludHJvc3BlY3Rpb24tcHJvZ3Jlc3MnO1xuICAgICAgICAgIHJlYWRvbmx5IHN0YWdlOiBUUG9zdEludHJvc3BlY3Rpb25TdGFnZTtcbiAgICAgICAgICByZWFkb25seSB0b2tlbnNJbjogbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgICByZWFkb25seSB0b2tlbnNPdXQ6IG51bWJlciB8IG51bGw7XG4gICAgICAgICAgcmVhZG9ubHkgY29sdW1uc0RvbmU6IG51bWJlciB8IG51bGw7XG4gICAgICAgICAgcmVhZG9ubHkgY29sdW1uc1RvdGFsOiBudW1iZXIgfCBudWxsO1xuICAgICAgfVxuICAgIHwge3JlYWRvbmx5IGtpbmQ6ICdwb3N0LWludHJvc3BlY3Rpb24tY29tcGxldGVkJ31cbiAgICB8IHtyZWFkb25seSBraW5kOiAncG9zdC1pbnRyb3NwZWN0aW9uLWZhaWxlZCc7IHJlYWRvbmx5IGVycm9yOiBzdHJpbmd9XG5cbiAgICAvLyBQb3N0LXNhbXBsaW5nXG4gICAgfCB7cmVhZG9ubHkga2luZDogJ3Bvc3Qtc2FtcGxpbmctY29tcGxldGVkJ31cbiAgICB8IHtyZWFkb25seSBraW5kOiAncG9zdC1zYW1wbGluZy1mYWlsZWQnOyByZWFkb25seSBlcnJvcjogc3RyaW5nfTtcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import type { TRPCClient } from '@trpc/client';
2
+ import type { TAppRouter } from '@dbctx/core';
3
+ import { type TDBConnection } from '../app/db.mjs';
4
+ import { assembleDatabase } from '../app/assemble.mjs';
5
+ import type { TStore } from '../store.mjs';
6
+ import type { TFlowEvent } from './events.mjs';
7
+ import type { TFlowState } from './states.mjs';
8
+ export type TInterpreterContext = {
9
+ cleanupSSH: (() => void) | null;
10
+ db: TDBConnection | null;
11
+ introspection: Awaited<ReturnType<typeof assembleDatabase>> | null;
12
+ authed: TRPCClient<TAppRouter> | null;
13
+ postIntrospectionPoll: Promise<void> | null;
14
+ explanation: string | null;
15
+ };
16
+ export declare const initialContext: () => TInterpreterContext;
17
+ type TDispatch = (event: TFlowEvent) => void;
18
+ export declare const driveSide: (prev: TFlowState | null, curr: TFlowState, store: TStore, ctx: TInterpreterContext, dispatch: TDispatch) => Promise<void>;
19
+ export declare const cleanup: (ctx: TInterpreterContext) => void;
20
+ export {};
21
+ //# sourceMappingURL=interpreter.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpreter.d.mts","sourceRoot":"./src/","sources":["flow/interpreter.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAC,UAAU,EAAiB,MAAM,aAAa,CAAC;AAK5D,OAAO,EAAY,KAAK,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AA8BrD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAM7C,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC;IACnE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,mBAOhC,CAAC;AAEH,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAqC7C,eAAO,MAAM,SAAS,GAClB,MAAM,UAAU,GAAG,IAAI,EACvB,MAAM,UAAU,EAChB,OAAO,MAAM,EACb,KAAK,mBAAmB,EACxB,UAAU,SAAS,KACpB,OAAO,CAAC,IAAI,CA0lBd,CAAC;AAgCF,eAAO,MAAM,OAAO,GAAI,KAAK,mBAAmB,KAAG,IASlD,CAAC"}