@codemarc/blt 1.1.0 → 1.3.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 (149) hide show
  1. package/README.md +33 -7
  2. package/dist/blt +10 -6
  3. package/dist/blt.d.ts.map +1 -1
  4. package/dist/blt.js.map +1 -1
  5. package/dist/commands/bucket/download.d.ts +7 -0
  6. package/dist/commands/bucket/download.d.ts.map +1 -0
  7. package/dist/commands/bucket/download.js +28 -0
  8. package/dist/commands/bucket/download.js.map +1 -0
  9. package/dist/commands/bucket/list.d.ts +9 -0
  10. package/dist/commands/bucket/list.d.ts.map +1 -0
  11. package/dist/commands/bucket/list.js +69 -0
  12. package/dist/commands/bucket/list.js.map +1 -0
  13. package/dist/commands/bucket/names.d.ts +5 -0
  14. package/dist/commands/bucket/names.d.ts.map +1 -0
  15. package/dist/commands/bucket/names.js +53 -0
  16. package/dist/commands/bucket/names.js.map +1 -0
  17. package/dist/commands/bucket/upload-folder.d.ts +10 -0
  18. package/dist/commands/bucket/upload-folder.d.ts.map +1 -0
  19. package/dist/commands/bucket/upload-folder.js +84 -0
  20. package/dist/commands/bucket/upload-folder.js.map +1 -0
  21. package/dist/commands/bucket/upload.d.ts +9 -0
  22. package/dist/commands/bucket/upload.d.ts.map +1 -0
  23. package/dist/commands/bucket/upload.js +32 -0
  24. package/dist/commands/bucket/upload.js.map +1 -0
  25. package/dist/commands/bucket/url.d.ts +9 -0
  26. package/dist/commands/bucket/url.d.ts.map +1 -0
  27. package/dist/commands/bucket/url.js +32 -0
  28. package/dist/commands/bucket/url.js.map +1 -0
  29. package/dist/commands/bucket/utils.d.ts +3 -0
  30. package/dist/commands/bucket/utils.d.ts.map +1 -0
  31. package/dist/commands/bucket/utils.js +28 -0
  32. package/dist/commands/bucket/utils.js.map +1 -0
  33. package/dist/commands/bucket.d.ts +3 -0
  34. package/dist/commands/bucket.d.ts.map +1 -1
  35. package/dist/commands/bucket.js +53 -325
  36. package/dist/commands/bucket.js.map +1 -1
  37. package/dist/commands/build/data.d.ts +6 -0
  38. package/dist/commands/build/data.d.ts.map +1 -0
  39. package/dist/commands/build/data.js +23 -0
  40. package/dist/commands/build/data.js.map +1 -0
  41. package/dist/commands/build/schema.d.ts +6 -0
  42. package/dist/commands/build/schema.d.ts.map +1 -0
  43. package/dist/commands/build/schema.js +30 -0
  44. package/dist/commands/build/schema.js.map +1 -0
  45. package/dist/commands/build copy.d.ts +6 -0
  46. package/dist/commands/build copy.d.ts.map +1 -0
  47. package/dist/commands/build copy.js +56 -0
  48. package/dist/commands/build copy.js.map +1 -0
  49. package/dist/commands/build.d.ts +6 -0
  50. package/dist/commands/build.d.ts.map +1 -0
  51. package/dist/commands/build.js +56 -0
  52. package/dist/commands/build.js.map +1 -0
  53. package/dist/commands/cleanup.d.ts +2 -2
  54. package/dist/commands/cleanup.d.ts.map +1 -1
  55. package/dist/commands/cleanup.js +13 -19
  56. package/dist/commands/cleanup.js.map +1 -1
  57. package/dist/commands/data/build.d.ts +11 -0
  58. package/dist/commands/data/build.d.ts.map +1 -0
  59. package/dist/commands/data/build.js +69 -0
  60. package/dist/commands/data/build.js.map +1 -0
  61. package/dist/commands/data/deploy.d.ts +9 -0
  62. package/dist/commands/data/deploy.d.ts.map +1 -0
  63. package/dist/commands/data/deploy.js +38 -0
  64. package/dist/commands/data/deploy.js.map +1 -0
  65. package/dist/commands/data/rows.d.ts +5 -0
  66. package/dist/commands/data/rows.d.ts.map +1 -0
  67. package/dist/commands/data/rows.js +63 -0
  68. package/dist/commands/data/rows.js.map +1 -0
  69. package/dist/commands/data/schema-info.d.ts +10 -0
  70. package/dist/commands/data/schema-info.d.ts.map +1 -0
  71. package/dist/commands/data/schema-info.js +64 -0
  72. package/dist/commands/data/schema-info.js.map +1 -0
  73. package/dist/commands/data.d.ts +4 -4
  74. package/dist/commands/data.d.ts.map +1 -1
  75. package/dist/commands/data.js +7 -195
  76. package/dist/commands/data.js.map +1 -1
  77. package/dist/commands/deploy/data.d.ts +6 -0
  78. package/dist/commands/deploy/data.d.ts.map +1 -0
  79. package/dist/commands/deploy/data.js +20 -0
  80. package/dist/commands/deploy/data.js.map +1 -0
  81. package/dist/commands/deploy/data.ts 21-46-08-256.d.ts +6 -0
  82. package/dist/commands/deploy/data.ts 21-46-08-256.d.ts.map +1 -0
  83. package/dist/commands/deploy/data.ts 21-46-08-256.js +20 -0
  84. package/dist/commands/deploy/data.ts 21-46-08-256.js.map +1 -0
  85. package/dist/commands/deploy/deploy.d.ts +9 -0
  86. package/dist/commands/deploy/deploy.d.ts.map +1 -0
  87. package/dist/commands/deploy/deploy.js +38 -0
  88. package/dist/commands/deploy/deploy.js.map +1 -0
  89. package/dist/commands/deploy/schema.d.ts +6 -0
  90. package/dist/commands/deploy/schema.d.ts.map +1 -0
  91. package/dist/commands/deploy/schema.js +20 -0
  92. package/dist/commands/deploy/schema.js.map +1 -0
  93. package/dist/commands/deploy.d.ts +6 -0
  94. package/dist/commands/deploy.d.ts.map +1 -0
  95. package/dist/commands/deploy.js +73 -0
  96. package/dist/commands/deploy.js.map +1 -0
  97. package/dist/commands/image.js +1 -1
  98. package/dist/commands/image.js.map +1 -1
  99. package/dist/commands/show/env.d.ts +5 -0
  100. package/dist/commands/show/env.d.ts.map +1 -0
  101. package/dist/commands/show/env.js +100 -0
  102. package/dist/commands/show/env.js.map +1 -0
  103. package/dist/commands/show/rows.d.ts +5 -0
  104. package/dist/commands/show/rows.d.ts.map +1 -0
  105. package/dist/commands/show/rows.js +63 -0
  106. package/dist/commands/show/rows.js.map +1 -0
  107. package/dist/commands/show/schema-info.d.ts +10 -0
  108. package/dist/commands/show/schema-info.d.ts.map +1 -0
  109. package/dist/commands/show/schema-info.js +64 -0
  110. package/dist/commands/show/schema-info.js.map +1 -0
  111. package/dist/commands/show/schema.d.ts +10 -0
  112. package/dist/commands/show/schema.d.ts.map +1 -0
  113. package/dist/commands/show/schema.js +64 -0
  114. package/dist/commands/show/schema.js.map +1 -0
  115. package/dist/commands/show.d.ts +6 -0
  116. package/dist/commands/show.d.ts.map +1 -0
  117. package/dist/commands/show.js +52 -0
  118. package/dist/commands/show.js.map +1 -0
  119. package/dist/commands/version/sql.d.ts +6 -0
  120. package/dist/commands/version/sql.d.ts.map +1 -0
  121. package/dist/commands/version/sql.js +35 -0
  122. package/dist/commands/version/sql.js.map +1 -0
  123. package/dist/commands/version/string.d.ts +13 -0
  124. package/dist/commands/version/string.d.ts.map +1 -0
  125. package/dist/commands/version/string.js +52 -0
  126. package/dist/commands/version/string.js.map +1 -0
  127. package/dist/commands/version/update.d.ts.map +1 -1
  128. package/dist/commands/version/update.js +26 -2
  129. package/dist/commands/version/update.js.map +1 -1
  130. package/dist/commands/version copy.d.ts +6 -0
  131. package/dist/commands/version copy.d.ts.map +1 -0
  132. package/dist/commands/version copy.js +66 -0
  133. package/dist/commands/version copy.js.map +1 -0
  134. package/dist/commands/version.d.ts.map +1 -1
  135. package/dist/commands/version.js +23 -1
  136. package/dist/commands/version.js.map +1 -1
  137. package/dist/lib/database-runner.d.ts +1 -1
  138. package/dist/lib/database-runner.d.ts.map +1 -1
  139. package/dist/lib/database-runner.js +8 -8
  140. package/dist/lib/database-runner.js.map +1 -1
  141. package/dist/lib/instance-discovery.js +2 -2
  142. package/dist/lib/instance-discovery.js.map +1 -1
  143. package/dist/lib/schema-discovery.js +2 -2
  144. package/dist/lib/schema-discovery.js.map +1 -1
  145. package/dist/utils/supabase.d.ts +1 -1
  146. package/dist/utils/supabase.d.ts.map +1 -1
  147. package/dist/utils/supabase.js +3 -3
  148. package/dist/utils/supabase.js.map +1 -1
  149. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,eAAe,CAAC;AAI5E;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EAAE,OAAO,QAkDpD"}
@@ -0,0 +1,56 @@
1
+ import { buildSchema } from "./build/schema";
2
+ import { buildData } from "./build/data";
3
+ /**
4
+ * Register build commands with the CLI program
5
+ */
6
+ export default function buildCommand(program) {
7
+ const buildHelpText = `
8
+ build utilities
9
+
10
+ Usage:
11
+ blt build <operation>
12
+
13
+ Available operations:
14
+ schema Build schema from DDL files
15
+ data Build data from instance directory
16
+
17
+ Run 'blt build <operation> --help' for more information on a specific command.
18
+ `;
19
+ program
20
+ .command("build", "schema/data build utilities")
21
+ .help(buildHelpText)
22
+ .action(() => {
23
+ console.log(buildHelpText);
24
+ });
25
+ program
26
+ .command("build schema", "Build schema from DDL files")
27
+ .hide()
28
+ .argument("[name]", "Schema name")
29
+ .action(async ({ args, logger }) => {
30
+ try {
31
+ const name = args.name;
32
+ await buildSchema(name, logger);
33
+ }
34
+ catch (error) {
35
+ const message = error instanceof Error ? error.message : String(error);
36
+ logger.error(`Failed to build schema: ${message}`);
37
+ process.exit(1);
38
+ }
39
+ });
40
+ program
41
+ .command("build data", "Build data from instance directory")
42
+ .hide()
43
+ .argument("[name]", "Instance name")
44
+ .action(async ({ args, logger }) => {
45
+ try {
46
+ const name = args.name;
47
+ await buildData(name, logger);
48
+ }
49
+ catch (error) {
50
+ const message = error instanceof Error ? error.message : String(error);
51
+ logger.error(`Failed to build data: ${message}`);
52
+ process.exit(1);
53
+ }
54
+ });
55
+ }
56
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAgB;IACpD,MAAM,aAAa,GAAG;;;;;;;;;;;CAWtB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC;SAC/C,IAAI,CAAC,aAAa,CAAC;SACnB,MAAM,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,cAAc,EAAE,6BAA6B,CAAC;SACtD,IAAI,EAAE;SACN,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAmD,EAAE,EAAE;QACnF,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;YAC7C,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,YAAY,EAAE,oCAAoC,CAAC;SAC3D,IAAI,EAAE;SACN,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAmD,EAAE,EAAE;QACnF,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;YAC7C,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,6 @@
1
- import { Program } from "@caporal/core";
1
+ import type { Program } from "@caporal/core";
2
2
  /**
3
- * Register cleanup commands with the CLI program
3
+ * Register env commands with the CLI program
4
4
  */
5
5
  export default function cleanupCommand(program: Program): void;
6
6
  //# sourceMappingURL=cleanup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKxC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,QAsBpD"}
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,QAkBtD"}
@@ -1,29 +1,23 @@
1
- import fs, { existsSync, readdirSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { getPaths } from '../lib/constants';
1
+ import fs from "node:fs";
4
2
  /**
5
- * Register cleanup commands with the CLI program
3
+ * Register env commands with the CLI program
6
4
  */
7
5
  export default function cleanupCommand(program) {
8
6
  program
9
- .command("cleanup", "Cleanup generated SQL files and combined schema files")
7
+ .command("cleanup", "Cleanup generated files")
10
8
  .action(async ({ args, options, logger }) => {
11
- const paths = getPaths();
12
9
  console.log(`Cleaning generated SQL files and combined schema files`);
13
- fs.rmSync(join(process.cwd(), paths.DIST, 'public.sql'), { recursive: true, force: true });
14
- fs.rmSync(join(process.cwd(), paths.DIST, 'data.sql'), { recursive: true, force: true });
10
+ fs.rmSync("dist/public.sql", { recursive: true, force: true });
11
+ fs.rmSync("dist/data.sql", { recursive: true, force: true });
15
12
  console.log(`Removed generated instance files`);
16
- const instancesPath = join(process.cwd(), paths.INSTANCES_BASE);
17
- if (existsSync(instancesPath)) {
18
- // Clean all instance SQL directories
19
- const instances = readdirSync(instancesPath);
20
- instances.forEach(instance => {
21
- const sqlPath = join(instancesPath, instance, 'sql');
22
- fs.rmSync(sqlPath, { recursive: true, force: true });
23
- console.log(` Removed ${instance}/sql/`);
24
- });
25
- }
13
+ fs.rmSync("schema/instances/default/sql/", {
14
+ recursive: true,
15
+ force: true,
16
+ });
17
+ fs.rmSync("schema/instances/joanne/sql/", {
18
+ recursive: true,
19
+ force: true,
20
+ });
26
21
  });
27
22
  }
28
- ;
29
23
  //# sourceMappingURL=cleanup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,EAAE,uDAAuD,CAAC;SAC3E,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QAEzB,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;QACrE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1F,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAExF,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,qCAAqC;YACrC,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC7C,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACrD,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,OAAO,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAgB;IACtD,OAAO;SACL,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,EAAE,CAAC,MAAM,CAAC,+BAA+B,EAAE;YAC1C,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE;YACzC,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Logger } from "@caporal/core";
2
+ export declare function buildSchema(name: string, logger: Logger): Promise<void>;
3
+ export declare function buildData(name: string, logger: Logger): Promise<void>;
4
+ /**
5
+ * Build command implementation
6
+ */
7
+ export declare function buildCommand(args: {
8
+ type: string;
9
+ name?: string;
10
+ }, logger: Logger): Promise<void>;
11
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/data/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAe5C,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ7E;AAGD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;AAGD;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAkDf"}
@@ -0,0 +1,69 @@
1
+ import { join } from "node:path";
2
+ import { existsSync } from "node:fs";
3
+ import { getDefaultSchemaName } from "../../lib/schema-discovery";
4
+ import { getDefaultInstanceName } from "../../lib/instance-discovery";
5
+ import { buildSchemaFile, getPackageVersion, getSortedSqlFiles, writeSchemaFile, } from "../../lib/sql-builder";
6
+ import { buildDataFile, writeDataFile } from "../../lib/data-generator";
7
+ import { getPaths } from "../../lib/constants";
8
+ export async function buildSchema(name, logger) {
9
+ const schemaName = name || getDefaultSchemaName();
10
+ const paths = getPaths();
11
+ const sqlDir = join(process.cwd(), paths.SCHEMA_BASE, schemaName, "sql");
12
+ if (!existsSync(sqlDir)) {
13
+ logger.error(`Schema directory does not exist: ${sqlDir}`);
14
+ process.exit(1);
15
+ }
16
+ }
17
+ export async function buildData(name, logger) {
18
+ const instanceName = name || getDefaultInstanceName();
19
+ const version = getPackageVersion();
20
+ const dataContent = buildDataFile(instanceName, version);
21
+ writeDataFile(dataContent, instanceName);
22
+ }
23
+ /**
24
+ * Build command implementation
25
+ */
26
+ export async function buildCommand(args, logger) {
27
+ const buildType = args.type;
28
+ const name = args.name;
29
+ if (buildType === "schema") {
30
+ // Build schema
31
+ const schemaName = name || getDefaultSchemaName();
32
+ const paths = getPaths();
33
+ // Validate schema directory exists
34
+ const sqlDir = join(process.cwd(), paths.SCHEMA_BASE, schemaName, "sql");
35
+ if (!existsSync(sqlDir)) {
36
+ logger.error(`Schema directory does not exist: ${sqlDir}`);
37
+ process.exit(1);
38
+ }
39
+ const version = getPackageVersion();
40
+ // Build schema file from DDL files only
41
+ const sqlFiles = getSortedSqlFiles(sqlDir, schemaName);
42
+ if (sqlFiles.length === 0) {
43
+ logger.error(`No SQL files found in schema directory: ${sqlDir}`);
44
+ process.exit(1);
45
+ }
46
+ const combinedContent = buildSchemaFile(sqlDir, schemaName, sqlFiles, version);
47
+ // Write to dist directory
48
+ writeSchemaFile(combinedContent, schemaName);
49
+ console.log(`✅ Schema built successfully: dist/${schemaName}.sql`);
50
+ }
51
+ else if (buildType === "data") {
52
+ // Build data
53
+ const instanceName = name || getDefaultInstanceName();
54
+ const version = getPackageVersion();
55
+ try {
56
+ // Build data file from instance directory
57
+ const dataContent = buildDataFile(instanceName, version);
58
+ // Write to dist directory
59
+ writeDataFile(dataContent, instanceName);
60
+ console.log(`✅ Data generated successfully: dist/data.sql`);
61
+ }
62
+ catch (error) {
63
+ const message = error instanceof Error ? error.message : String(error);
64
+ logger.error(message);
65
+ process.exit(1);
66
+ }
67
+ }
68
+ }
69
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/data/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Logger } from "@caporal/core";
2
+ /**
3
+ * Deploy command implementation
4
+ */
5
+ export declare function deployCommand(args: {
6
+ type: string;
7
+ name?: string;
8
+ }, logger: Logger): Promise<void>;
9
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/data/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAQ5C;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
@@ -0,0 +1,38 @@
1
+ import { join } from "node:path";
2
+ import { existsSync } from "node:fs";
3
+ import { getDefaultSchemaName } from "../../lib/schema-discovery";
4
+ import { getDefaultInstanceName } from "../../lib/instance-discovery";
5
+ import { runSqlFile } from "../../lib/database-runner";
6
+ import { getPaths } from "../../lib/constants";
7
+ /**
8
+ * Deploy command implementation
9
+ */
10
+ export async function deployCommand(args, logger) {
11
+ const deployType = args.type;
12
+ const name = args.name;
13
+ if (deployType === "schema") {
14
+ // Deploy schema
15
+ const schemaName = name || getDefaultSchemaName();
16
+ const paths = getPaths();
17
+ const schemaFile = join(process.cwd(), paths.DIST, `${schemaName}.sql`);
18
+ if (!existsSync(schemaFile)) {
19
+ logger.error(`Schema file not found: ${schemaFile}`);
20
+ logger.error(`Please run 'blt build schema ${schemaName}' first.`);
21
+ process.exit(1);
22
+ }
23
+ await runSqlFile(schemaFile);
24
+ }
25
+ else if (deployType === "data") {
26
+ // Deploy data
27
+ const paths = getPaths();
28
+ const dataFile = join(process.cwd(), paths.DIST, "data.sql");
29
+ if (!existsSync(dataFile)) {
30
+ logger.error(`Data file not found: ${dataFile}`);
31
+ const instanceName = name || getDefaultInstanceName();
32
+ logger.error(`Please run 'blt build data ${instanceName}' first.`);
33
+ process.exit(1);
34
+ }
35
+ await runSqlFile(dataFile);
36
+ }
37
+ }
38
+ //# sourceMappingURL=deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/data/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAqC,EACrC,MAAc;IAEd,MAAM,UAAU,GAAG,IAAI,CAAC,IAAc,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;IAE7C,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,gBAAgB;QAChB,MAAM,UAAU,GAAG,IAAI,IAAI,oBAAoB,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,CAAC,CAAC;QAExE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,gCAAgC,UAAU,UAAU,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACjC,cAAc;QACd,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,8BAA8B,YAAY,UAAU,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Rows command implementation - display row counts for all tables
3
+ */
4
+ export declare function rowsCommand(): Promise<void>;
5
+ //# sourceMappingURL=rows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../src/commands/data/rows.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAqDjD"}
@@ -0,0 +1,63 @@
1
+ import { executeQuery } from "../../lib/database-runner";
2
+ /**
3
+ * Render a table row for ASCII table display
4
+ */
5
+ function renderRow(row, colWidths) {
6
+ return "| " + row.map((cell, i) => cell.padEnd(colWidths[i])).join(" | ") + " |";
7
+ }
8
+ /**
9
+ * Render a table divider row
10
+ */
11
+ function renderDivider(colWidths) {
12
+ return "|-" + colWidths.map((w) => "-".repeat(w)).join("-|-") + "-|";
13
+ }
14
+ /**
15
+ * Rows command implementation - display row counts for all tables
16
+ */
17
+ export async function rowsCommand() {
18
+ try {
19
+ console.log("\n📊 Fetching row counts from database...\n");
20
+ const rows = await executeQuery("SELECT * FROM get_row_counts()");
21
+ if (rows.length === 0) {
22
+ console.log("No tables found in the database.");
23
+ return;
24
+ }
25
+ // Build ASCII table
26
+ const headers = ["Table Name", "Row Count"];
27
+ const tableRows = [headers];
28
+ for (const row of rows) {
29
+ // Handle bigint which may come as string from PostgreSQL
30
+ const count = typeof row.row_count === 'string'
31
+ ? parseInt(row.row_count, 10).toLocaleString()
32
+ : Number(row.row_count).toLocaleString();
33
+ tableRows.push([
34
+ row.table_name,
35
+ count,
36
+ ]);
37
+ }
38
+ // Calculate column widths
39
+ const colWidths = headers.map((_header, i) => Math.max(...tableRows.map((row) => row[i].toString().length)));
40
+ // Print table
41
+ console.log(renderRow(tableRows[0], colWidths));
42
+ console.log(renderDivider(colWidths));
43
+ for (let i = 1; i < tableRows.length; i++) {
44
+ console.log(renderRow(tableRows[i], colWidths));
45
+ }
46
+ console.log("");
47
+ // Calculate and display total
48
+ const total = rows.reduce((sum, row) => {
49
+ const count = typeof row.row_count === 'string'
50
+ ? parseInt(row.row_count, 10)
51
+ : Number(row.row_count);
52
+ return sum + count;
53
+ }, 0);
54
+ console.log(`Total rows across all tables: ${total.toLocaleString()}\n`);
55
+ }
56
+ catch (error) {
57
+ const message = error instanceof Error ? error.message : String(error);
58
+ console.error(`\n❌ Error: ${message}`);
59
+ console.error("\nMake sure the database is accessible and get_row_counts() function exists.");
60
+ process.exit(1);
61
+ }
62
+ }
63
+ //# sourceMappingURL=rows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rows.js","sourceRoot":"","sources":["../../../src/commands/data/rows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Logger } from "@caporal/core";
2
+ /**
3
+ * Schema info command implementation
4
+ */
5
+ export declare function schemaInfoCommand(args: {
6
+ schemaName?: string;
7
+ }, options: {
8
+ format: string;
9
+ }, logger: Logger): Promise<void>;
10
+ //# sourceMappingURL=schema-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-info.d.ts","sourceRoot":"","sources":["../../../src/commands/data/schema-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAqB5C;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7B,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAmDf"}
@@ -0,0 +1,64 @@
1
+ import { getDefaultSchemaName, getSchemaFileList, getSchemaTableRows, } from "../../lib/schema-discovery";
2
+ /**
3
+ * Render a table row for ASCII table display
4
+ */
5
+ function renderRow(row, colWidths) {
6
+ return "| " + row.map((cell, i) => cell.padEnd(colWidths[i])).join(" | ") + " |";
7
+ }
8
+ /**
9
+ * Render a table divider row
10
+ */
11
+ function renderDivider(colWidths) {
12
+ return "|-" + colWidths.map((w) => "-".repeat(w)).join("-|-") + "-|";
13
+ }
14
+ /**
15
+ * Schema info command implementation
16
+ */
17
+ export async function schemaInfoCommand(args, options, logger) {
18
+ const schemaName = args.schemaName || getDefaultSchemaName();
19
+ // JSON format output
20
+ if (options.format === "json") {
21
+ try {
22
+ const files = getSchemaFileList(schemaName);
23
+ console.log(JSON.stringify(files, null, 2));
24
+ }
25
+ catch (error) {
26
+ const message = error instanceof Error ? error.message : String(error);
27
+ logger.error(message);
28
+ process.exit(1);
29
+ }
30
+ return;
31
+ }
32
+ // Table format output
33
+ let rows;
34
+ try {
35
+ rows = getSchemaTableRows(schemaName);
36
+ }
37
+ catch (error) {
38
+ const message = error instanceof Error ? error.message : String(error);
39
+ logger.error(message);
40
+ process.exit(1);
41
+ }
42
+ // Build ASCII table
43
+ const headers = ["Name", "Size", "Created At", "Last Modified"];
44
+ const tableRows = [headers];
45
+ for (const row of rows) {
46
+ tableRows.push([
47
+ row.name,
48
+ row.size.toString(),
49
+ row.createdAt,
50
+ row.lastModified,
51
+ ]);
52
+ }
53
+ // Calculate column widths
54
+ const colWidths = headers.map((_header, i) => Math.max(...tableRows.map((row) => row[i].toString().length)));
55
+ // Print table
56
+ console.log("");
57
+ console.log(renderRow(tableRows[0], colWidths));
58
+ console.log(renderDivider(colWidths));
59
+ for (let i = 1; i < tableRows.length; i++) {
60
+ console.log(renderRow(tableRows[i], colWidths));
61
+ }
62
+ console.log("");
63
+ }
64
+ //# sourceMappingURL=schema-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-info.js","sourceRoot":"","sources":["../../../src/commands/data/schema-info.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,SAAS,SAAS,CAAC,GAAa,EAAE,SAAmB;IACnD,OAAO,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,SAAmB;IACxC,OAAO,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA6B,EAC7B,OAA2B,EAC3B,MAAc;IAEd,MAAM,UAAU,GAAI,IAAI,CAAC,UAAqB,IAAI,oBAAoB,EAAE,CAAC;IAEzE,qBAAqB;IACrB,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAuG,CAAC;IAC5G,IAAI,CAAC;QACH,IAAI,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAChE,MAAM,SAAS,GAAe,CAAC,OAAO,CAAC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,SAAS,CAAC,IAAI,CAAC;YACb,GAAG,CAAC,IAAI;YACR,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,GAAG,CAAC,SAAS;YACb,GAAG,CAAC,YAAY;SACjB,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAC9D,CAAC;IAEF,cAAc;IACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -1,8 +1,8 @@
1
- import { Program } from "@caporal/core";
2
- import { getDefaultSchemaName, getSchemaFileList, getSchemaTableRows, getAvailableSchemas } from "../lib/schema-discovery";
3
- export { getSchemaTableRows, getSchemaFileList, getAvailableSchemas, getDefaultSchemaName };
1
+ import type { Program } from "@caporal/core";
2
+ import { getSchemaTableRows, getSchemaFileList, getDefaultSchemaName } from "../lib/schema-discovery";
3
+ export { getSchemaTableRows, getSchemaFileList, getDefaultSchemaName };
4
4
  /**
5
- * Register schema commands with the CLI program
5
+ * Register data commands with the CLI program
6
6
  */
7
7
  export default function dataCommand(program: Program): void;
8
8
  //# sourceMappingURL=data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;AAoB5F;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,OAAO,QAsNnD"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,OAAO,QAwBnD"}