@treasuredata/tdx 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +706 -0
  3. package/dist/api/http-client.d.ts +95 -0
  4. package/dist/api/http-client.d.ts.map +1 -0
  5. package/dist/api/http-client.js +1 -0
  6. package/dist/api/http-client.js.map +1 -0
  7. package/dist/api/rate-limiter.d.ts +55 -0
  8. package/dist/api/rate-limiter.d.ts.map +1 -0
  9. package/dist/api/rate-limiter.js +1 -0
  10. package/dist/api/rate-limiter.js.map +1 -0
  11. package/dist/api/td-client.d.ts +90 -0
  12. package/dist/api/td-client.d.ts.map +1 -0
  13. package/dist/api/td-client.js +1 -0
  14. package/dist/api/td-client.js.map +1 -0
  15. package/dist/api/trino-client.d.ts +85 -0
  16. package/dist/api/trino-client.d.ts.map +1 -0
  17. package/dist/api/trino-client.js +1 -0
  18. package/dist/api/trino-client.js.map +1 -0
  19. package/dist/cli.d.ts +9 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +2 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/client/cdp-client.d.ts +84 -0
  24. package/dist/client/cdp-client.d.ts.map +1 -0
  25. package/dist/client/cdp-client.js +1 -0
  26. package/dist/client/cdp-client.js.map +1 -0
  27. package/dist/client/http-client.d.ts +95 -0
  28. package/dist/client/http-client.d.ts.map +1 -0
  29. package/dist/client/http-client.js +1 -0
  30. package/dist/client/http-client.js.map +1 -0
  31. package/dist/client/rate-limiter.d.ts +55 -0
  32. package/dist/client/rate-limiter.d.ts.map +1 -0
  33. package/dist/client/rate-limiter.js +1 -0
  34. package/dist/client/rate-limiter.js.map +1 -0
  35. package/dist/client/td-client.d.ts +90 -0
  36. package/dist/client/td-client.d.ts.map +1 -0
  37. package/dist/client/td-client.js +1 -0
  38. package/dist/client/td-client.js.map +1 -0
  39. package/dist/client/trino-client.d.ts +85 -0
  40. package/dist/client/trino-client.d.ts.map +1 -0
  41. package/dist/client/trino-client.js +1 -0
  42. package/dist/client/trino-client.js.map +1 -0
  43. package/dist/client/workflow-client.d.ts +92 -0
  44. package/dist/client/workflow-client.d.ts.map +1 -0
  45. package/dist/client/workflow-client.js +1 -0
  46. package/dist/client/workflow-client.js.map +1 -0
  47. package/dist/commands/activations.d.ts +15 -0
  48. package/dist/commands/activations.d.ts.map +1 -0
  49. package/dist/commands/activations.js +1 -0
  50. package/dist/commands/activations.js.map +1 -0
  51. package/dist/commands/command.d.ts +72 -0
  52. package/dist/commands/command.d.ts.map +1 -0
  53. package/dist/commands/command.js +1 -0
  54. package/dist/commands/command.js.map +1 -0
  55. package/dist/commands/database-command.d.ts +16 -0
  56. package/dist/commands/database-command.d.ts.map +1 -0
  57. package/dist/commands/database-command.js +1 -0
  58. package/dist/commands/database-command.js.map +1 -0
  59. package/dist/commands/database.d.ts +16 -0
  60. package/dist/commands/database.d.ts.map +1 -0
  61. package/dist/commands/database.js +1 -0
  62. package/dist/commands/database.js.map +1 -0
  63. package/dist/commands/databases.d.ts +16 -0
  64. package/dist/commands/databases.d.ts.map +1 -0
  65. package/dist/commands/databases.js +1 -0
  66. package/dist/commands/databases.js.map +1 -0
  67. package/dist/commands/describe.d.ts +26 -0
  68. package/dist/commands/describe.d.ts.map +1 -0
  69. package/dist/commands/describe.js +1 -0
  70. package/dist/commands/describe.js.map +1 -0
  71. package/dist/commands/query-command.d.ts +20 -0
  72. package/dist/commands/query-command.d.ts.map +1 -0
  73. package/dist/commands/query-command.js +1 -0
  74. package/dist/commands/query-command.js.map +1 -0
  75. package/dist/commands/query.d.ts +20 -0
  76. package/dist/commands/query.d.ts.map +1 -0
  77. package/dist/commands/query.js +1 -0
  78. package/dist/commands/query.js.map +1 -0
  79. package/dist/commands/segment-command.d.ts +56 -0
  80. package/dist/commands/segment-command.d.ts.map +1 -0
  81. package/dist/commands/segment-command.js +1 -0
  82. package/dist/commands/segment-command.js.map +1 -0
  83. package/dist/commands/segments.d.ts +16 -0
  84. package/dist/commands/segments.d.ts.map +1 -0
  85. package/dist/commands/segments.js +1 -0
  86. package/dist/commands/segments.js.map +1 -0
  87. package/dist/commands/show.d.ts +26 -0
  88. package/dist/commands/show.d.ts.map +1 -0
  89. package/dist/commands/show.js +1 -0
  90. package/dist/commands/show.js.map +1 -0
  91. package/dist/commands/table-command.d.ts +50 -0
  92. package/dist/commands/table-command.d.ts.map +1 -0
  93. package/dist/commands/table-command.js +1 -0
  94. package/dist/commands/table-command.js.map +1 -0
  95. package/dist/commands/table.d.ts +35 -0
  96. package/dist/commands/table.d.ts.map +1 -0
  97. package/dist/commands/table.js +1 -0
  98. package/dist/commands/table.js.map +1 -0
  99. package/dist/commands/tables.d.ts +20 -0
  100. package/dist/commands/tables.d.ts.map +1 -0
  101. package/dist/commands/tables.js +1 -0
  102. package/dist/commands/tables.js.map +1 -0
  103. package/dist/commands/workflow-command.d.ts +77 -0
  104. package/dist/commands/workflow-command.d.ts.map +1 -0
  105. package/dist/commands/workflow-command.js +1 -0
  106. package/dist/commands/workflow-command.js.map +1 -0
  107. package/dist/core/auth.d.ts +48 -0
  108. package/dist/core/auth.d.ts.map +1 -0
  109. package/dist/core/auth.js +1 -0
  110. package/dist/core/auth.js.map +1 -0
  111. package/dist/core/command.d.ts +71 -0
  112. package/dist/core/command.d.ts.map +1 -0
  113. package/dist/core/command.js +1 -0
  114. package/dist/core/command.js.map +1 -0
  115. package/dist/core/config.d.ts +59 -0
  116. package/dist/core/config.d.ts.map +1 -0
  117. package/dist/core/config.js +1 -0
  118. package/dist/core/config.js.map +1 -0
  119. package/dist/index.d.ts +37 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.js +1 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/sdk/client.d.ts +25 -0
  124. package/dist/sdk/client.d.ts.map +1 -0
  125. package/dist/sdk/client.js +1 -0
  126. package/dist/sdk/client.js.map +1 -0
  127. package/dist/sdk/database.d.ts +36 -0
  128. package/dist/sdk/database.d.ts.map +1 -0
  129. package/dist/sdk/database.js +1 -0
  130. package/dist/sdk/database.js.map +1 -0
  131. package/dist/sdk/errors.d.ts +11 -0
  132. package/dist/sdk/errors.d.ts.map +1 -0
  133. package/dist/sdk/errors.js +1 -0
  134. package/dist/sdk/errors.js.map +1 -0
  135. package/dist/sdk/index.d.ts +143 -0
  136. package/dist/sdk/index.d.ts.map +1 -0
  137. package/dist/sdk/index.js +1 -0
  138. package/dist/sdk/index.js.map +1 -0
  139. package/dist/sdk/query.d.ts +57 -0
  140. package/dist/sdk/query.d.ts.map +1 -0
  141. package/dist/sdk/query.js +1 -0
  142. package/dist/sdk/query.js.map +1 -0
  143. package/dist/sdk/segment.d.ts +152 -0
  144. package/dist/sdk/segment.d.ts.map +1 -0
  145. package/dist/sdk/segment.js +1 -0
  146. package/dist/sdk/segment.js.map +1 -0
  147. package/dist/sdk/table.d.ts +118 -0
  148. package/dist/sdk/table.d.ts.map +1 -0
  149. package/dist/sdk/table.js +1 -0
  150. package/dist/sdk/table.js.map +1 -0
  151. package/dist/sdk/workflow.d.ts +250 -0
  152. package/dist/sdk/workflow.d.ts.map +1 -0
  153. package/dist/sdk/workflow.js +1 -0
  154. package/dist/sdk/workflow.js.map +1 -0
  155. package/dist/types/endpoints.d.ts +64 -0
  156. package/dist/types/endpoints.d.ts.map +1 -0
  157. package/dist/types/endpoints.js +1 -0
  158. package/dist/types/endpoints.js.map +1 -0
  159. package/dist/types/index.d.ts +280 -0
  160. package/dist/types/index.d.ts.map +1 -0
  161. package/dist/types/index.js +1 -0
  162. package/dist/types/index.js.map +1 -0
  163. package/dist/types/trino.d.ts +117 -0
  164. package/dist/types/trino.d.ts.map +1 -0
  165. package/dist/types/trino.js +1 -0
  166. package/dist/types/trino.js.map +1 -0
  167. package/dist/types/workflow.d.ts +186 -0
  168. package/dist/types/workflow.d.ts.map +1 -0
  169. package/dist/types/workflow.js +1 -0
  170. package/dist/types/workflow.js.map +1 -0
  171. package/dist/utils/colors.d.ts +60 -0
  172. package/dist/utils/colors.d.ts.map +1 -0
  173. package/dist/utils/colors.js +1 -0
  174. package/dist/utils/colors.js.map +1 -0
  175. package/dist/utils/command-output.d.ts +118 -0
  176. package/dist/utils/command-output.d.ts.map +1 -0
  177. package/dist/utils/command-output.js +1 -0
  178. package/dist/utils/command-output.js.map +1 -0
  179. package/dist/utils/format-detector.d.ts +41 -0
  180. package/dist/utils/format-detector.d.ts.map +1 -0
  181. package/dist/utils/format-detector.js +1 -0
  182. package/dist/utils/format-detector.js.map +1 -0
  183. package/dist/utils/formatters.d.ts +59 -0
  184. package/dist/utils/formatters.d.ts.map +1 -0
  185. package/dist/utils/formatters.js +1 -0
  186. package/dist/utils/formatters.js.map +1 -0
  187. package/dist/utils/option-validation.d.ts +57 -0
  188. package/dist/utils/option-validation.d.ts.map +1 -0
  189. package/dist/utils/option-validation.js +1 -0
  190. package/dist/utils/option-validation.js.map +1 -0
  191. package/dist/utils/segment-ref-parser.d.ts +17 -0
  192. package/dist/utils/segment-ref-parser.d.ts.map +1 -0
  193. package/dist/utils/segment-ref-parser.js +1 -0
  194. package/dist/utils/segment-ref-parser.js.map +1 -0
  195. package/dist/utils/simple-formatter.d.ts +23 -0
  196. package/dist/utils/simple-formatter.d.ts.map +1 -0
  197. package/dist/utils/simple-formatter.js +1 -0
  198. package/dist/utils/simple-formatter.js.map +1 -0
  199. package/dist/utils/spinner.d.ts +97 -0
  200. package/dist/utils/spinner.d.ts.map +1 -0
  201. package/dist/utils/spinner.js +1 -0
  202. package/dist/utils/spinner.js.map +1 -0
  203. package/dist/utils/sql-parser.d.ts +68 -0
  204. package/dist/utils/sql-parser.d.ts.map +1 -0
  205. package/dist/utils/sql-parser.js +1 -0
  206. package/dist/utils/sql-parser.js.map +1 -0
  207. package/dist/utils/string-utils.d.ts +68 -0
  208. package/dist/utils/string-utils.d.ts.map +1 -0
  209. package/dist/utils/string-utils.js +1 -0
  210. package/dist/utils/string-utils.js.map +1 -0
  211. package/dist/utils/table-ref-parser.d.ts +119 -0
  212. package/dist/utils/table-ref-parser.d.ts.map +1 -0
  213. package/dist/utils/table-ref-parser.js +1 -0
  214. package/dist/utils/table-ref-parser.js.map +1 -0
  215. package/package.json +81 -0
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Output formatters for query results
3
+ *
4
+ * Supports multiple output formats:
5
+ * - table: DuckDB-style ASCII table (default, human-readable)
6
+ * - json: JSON array format (compact, machine-readable)
7
+ * - jsonl: JSON Lines format (one JSON object per line)
8
+ * - tsv: Tab-separated values (simple parsing)
9
+ */
10
+ import type { CompleteQueryResult } from '../types/trino.js';
11
+ import type { OutputFormat } from '../types/index.js';
12
+ import { type ColorOptions } from './colors.js';
13
+ /**
14
+ * Format query results as DuckDB-style ASCII table
15
+ *
16
+ * Example output:
17
+ * ┌─────────┬─────┬────────┐
18
+ * │ name │ age │ active │
19
+ * │ string │ int │ bool │
20
+ * ├─────────┼─────┼────────┤
21
+ * │ Alice │ 25 │ true │
22
+ * │ Bob │ 30 │ false │
23
+ * ├─────────┴─────┴────────┤
24
+ * │ 2 rows │
25
+ * └────────────────────────┘
26
+ */
27
+ export declare function formatAsTable<T = unknown>(result: CompleteQueryResult<T>, maxRows?: number, unlimitedWidth?: boolean, colorOptions?: ColorOptions): string;
28
+ /**
29
+ * Format query results as JSON array (readable)
30
+ * Returns just the data rows as a readable JSON array with newlines between objects
31
+ *
32
+ * Format:
33
+ * [
34
+ * {"col1":"val1","col2":"val2"},
35
+ * {"col1":"val3","col2":"val4"}
36
+ * ]
37
+ *
38
+ * Each object is compact (no internal newlines), but indented and separated by newlines
39
+ */
40
+ export declare function formatAsJSON<T = unknown>(result: CompleteQueryResult<T>, colorOptions?: ColorOptions): string;
41
+ /**
42
+ * Format query results as JSON Lines (JSONL)
43
+ * Each row is a separate JSON object on its own line
44
+ */
45
+ export declare function formatAsJSONL<T = unknown>(result: CompleteQueryResult<T>, colorOptions?: ColorOptions): string;
46
+ /**
47
+ * Format query results as TSV (tab-separated values)
48
+ *
49
+ * Simple format for easy parsing:
50
+ * - First line: column names
51
+ * - Following lines: data rows
52
+ * - Columns separated by tabs
53
+ */
54
+ export declare function formatAsTSV<T = unknown>(result: CompleteQueryResult<T>): string;
55
+ /**
56
+ * Format query results based on output format
57
+ */
58
+ export declare function formatQueryResult<T = unknown>(result: CompleteQueryResult<T>, format: OutputFormat): string;
59
+ //# sourceMappingURL=formatters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAA6E,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3H;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EACvC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC9B,OAAO,GAAE,MAAiC,EAC1C,cAAc,GAAE,OAAe,EAC/B,YAAY,GAAE,YAAiB,GAC9B,MAAM,CAiJR;AAgCD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,YAAY,GAAE,YAAiB,GAAG,MAAM,CAcjH;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,YAAY,GAAE,YAAiB,GAAG,MAAM,CAalH;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,CAqB/E;AAgED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAC3C,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,YAAY,GACnB,MAAM,CAaR"}
@@ -0,0 +1 @@
1
+ (function(_0x4691da,_0x39c836){const _0x2f81fb=a45_0x424a,_0x19e407=_0x4691da();while(!![]){try{const _0x1fa9ee=parseInt(_0x2f81fb(0xd9))/0x1*(-parseInt(_0x2f81fb(0xf6))/0x2)+parseInt(_0x2f81fb(0xea))/0x3*(parseInt(_0x2f81fb(0xd3))/0x4)+-parseInt(_0x2f81fb(0xd2))/0x5*(parseInt(_0x2f81fb(0xfa))/0x6)+-parseInt(_0x2f81fb(0xed))/0x7*(parseInt(_0x2f81fb(0xda))/0x8)+parseInt(_0x2f81fb(0xe3))/0x9*(-parseInt(_0x2f81fb(0xdb))/0xa)+-parseInt(_0x2f81fb(0xd4))/0xb*(-parseInt(_0x2f81fb(0xde))/0xc)+parseInt(_0x2f81fb(0xd1))/0xd*(parseInt(_0x2f81fb(0xe7))/0xe);if(_0x1fa9ee===_0x39c836)break;else _0x19e407['push'](_0x19e407['shift']());}catch(_0x278344){_0x19e407['push'](_0x19e407['shift']());}}}(a45_0x34ab,0xe8580));import{centerAlign}from'./string-utils.js';function a45_0x34ab(){const _0x1bdf18=['push','string','forEach','min','entries','tsv','columns','65fziAUU','3014315oDzihf','4ClMNqc','33yZWNWN','\x20rows\x20(','repeat','NULL','toLocaleString','1WEXUWv','6659208ZOjGQh','6830lafFYc','No\x20rows\x20returned','timestamp','3180672WuOsMo','jsonl','bool','toISOString','object','15507rRPBAC','startsWith','map','max','16356214NMvcbB','name','type','682695ajgANY','length','date','14RbdDhU','boolean','stdout','data','\x20shown)','substring','slice','\x20row','reduce','3730442crizYl','padEnd','join','row','12aUswwf','double','long','int','number','toLowerCase','stringify'];a45_0x34ab=function(){return _0x1bdf18;};return a45_0x34ab();}function a45_0x424a(_0x58a8fb,_0x4a2d39){const _0x34ab6c=a45_0x34ab();return a45_0x424a=function(_0x424aac,_0x362c6e){_0x424aac=_0x424aac-0xc7;let _0x5bff7b=_0x34ab6c[_0x424aac];return _0x5bff7b;},a45_0x424a(_0x58a8fb,_0x4a2d39);}import{colorBorder,colorType,colorizeJSON,colorizeJSONCompact,shouldUseColor}from'./colors.js';const DEFAULT_MAX_DISPLAY_ROWS=0x28;function getTerminalWidth(){const _0x4a5be6=a45_0x424a;return process[_0x4a5be6(0xef)][_0x4a5be6(0xd0)]||Infinity;}export function formatAsTable(_0x4a754e,_0x2353db=DEFAULT_MAX_DISPLAY_ROWS,_0xb8458e=![],_0x501b00={}){const _0xf8d5a6=a45_0x424a;if(_0x4a754e['data'][_0xf8d5a6(0xeb)]===0x0)return _0xf8d5a6(0xdc);const _0xb240b5=_0x4a754e[_0xf8d5a6(0xd0)][_0xf8d5a6(0xe5)](_0x8e2d14=>_0x8e2d14[_0xf8d5a6(0xe8)]),_0x1861df=_0x4a754e[_0xf8d5a6(0xd0)][_0xf8d5a6(0xe5)](_0x1c7de4=>simplifyType(_0x1c7de4[_0xf8d5a6(0xe9)])),_0xf24dfd=_0x4a754e[_0xf8d5a6(0xf0)][_0xf8d5a6(0xf3)](0x0,_0x2353db),_0x54c967=_0x4a754e[_0xf8d5a6(0xf0)][_0xf8d5a6(0xeb)],_0x42949c=_0x54c967>_0x2353db,_0x48770b=[],_0x44aa82=getTerminalWidth(),_0x43a4d6=_0x44aa82!==Infinity,_0x3f45f6=0x32;let _0x569c74=_0xb240b5[_0xf8d5a6(0xe5)]((_0x4f770c,_0x437f5d)=>{const _0x215c30=_0xf8d5a6,_0x2d2ea4=_0x1861df[_0x437f5d][_0x215c30(0xeb)],_0x2f518c=Math[_0x215c30(0xe6)](..._0xf24dfd[_0x215c30(0xe5)](_0x2171f4=>{const _0x301084=_0x2171f4[_0x4f770c];return formatValue(_0x301084)['length'];})),_0x3acece=Math[_0x215c30(0xe6)](_0x4f770c[_0x215c30(0xeb)],_0x2d2ea4,_0x2f518c);return _0xb8458e?_0x3acece:Math[_0x215c30(0xcd)](_0x3acece,_0x3f45f6);});if(_0x43a4d6&&!_0xb8458e&&_0xb240b5['length']>0x0){const _0x351a38=_0x541453=>{let _0x8514c9=0x1;for(const _0x5de05f of _0x541453){_0x8514c9+=_0x5de05f+0x3;}return _0x8514c9+0x1;};let _0x3f4d1a=_0x351a38(_0x569c74);if(_0x3f4d1a>_0x44aa82){const _0x486cf5=0x3;for(let _0x224755=_0x569c74[_0xf8d5a6(0xeb)]-0x1;_0x224755>=0x0;_0x224755--){_0x3f4d1a=_0x351a38(_0x569c74);if(_0x3f4d1a<=_0x44aa82)break;const _0x574285=_0x569c74[_0x224755],_0xe5ae6d=_0x3f4d1a-_0x44aa82,_0x276e5e=_0x574285-_0x486cf5,_0x47f796=Math[_0xf8d5a6(0xcd)](_0xe5ae6d,_0x276e5e);_0x47f796>0x0&&(_0x569c74[_0x224755]=_0x574285-_0x47f796);}}}const _0x48ee57=_0xb240b5,_0x55b357=_0x1861df,_0x306665=_0x569c74,_0x4044d9=_0x569c74;_0x48770b['push'](colorBorder('┌'+_0x4044d9[_0xf8d5a6(0xe5)](_0x5807ca=>'─'[_0xf8d5a6(0xd6)](_0x5807ca+0x2))[_0xf8d5a6(0xf8)]('┬')+'┐',_0x501b00));const _0x49498e=_0x48ee57[_0xf8d5a6(0xe5)]((_0x546f69,_0x32d64f)=>centerAlign(_0x546f69,_0x306665[_0x32d64f]));_0x48770b['push'](colorBorder('│',_0x501b00)+'\x20'+_0x49498e[_0xf8d5a6(0xf8)]('\x20'+colorBorder('│',_0x501b00)+'\x20')+'\x20'+colorBorder('│',_0x501b00));const _0x218c81=_0x55b357[_0xf8d5a6(0xe5)]((_0x1768cd,_0x270640)=>colorType(centerAlign(_0x1768cd,_0x306665[_0x270640]),_0x501b00));_0x48770b['push'](colorBorder('│',_0x501b00)+'\x20'+_0x218c81[_0xf8d5a6(0xf8)]('\x20'+colorBorder('│',_0x501b00)+'\x20')+'\x20'+colorBorder('│',_0x501b00)),_0x48770b['push'](colorBorder('├'+_0x4044d9[_0xf8d5a6(0xe5)](_0x49518d=>'─'['repeat'](_0x49518d+0x2))[_0xf8d5a6(0xf8)]('┼')+'┤',_0x501b00));const _0x2cde84=(_0x13b2f1,_0x7c0f03)=>{const _0xca9af2=_0xf8d5a6;if(_0x13b2f1['length']<=_0x7c0f03)return _0x13b2f1;return _0x13b2f1[_0xca9af2(0xf2)](0x0,_0x7c0f03-0x1)+'…';};_0xf24dfd[_0xf8d5a6(0xcc)](_0x19340a=>{const _0x2ee1e3=_0xf8d5a6,_0x4a2c1e=_0xb240b5['map']((_0x23c675,_0x50c0e0)=>{const _0x20a037=a45_0x424a,_0x5e4b0a=_0x19340a[_0x23c675],_0x2dbc0c=formatValue(_0x5e4b0a),_0x2f4dd2=_0x306665[_0x50c0e0],_0x4e2e09=_0x2cde84(_0x2dbc0c,_0x2f4dd2),_0x520c58=typeof _0x5e4b0a==='number';return _0x520c58?_0x4e2e09['padStart'](_0x2f4dd2):_0x4e2e09[_0x20a037(0xf7)](_0x2f4dd2);});_0x48770b['push'](colorBorder('│',_0x501b00)+'\x20'+_0x4a2c1e[_0x2ee1e3(0xf8)]('\x20'+colorBorder('│',_0x501b00)+'\x20')+'\x20'+colorBorder('│',_0x501b00));});const _0x259c42=_0x4044d9[_0xf8d5a6(0xf5)]((_0x29fe55,_0x175889)=>_0x29fe55+_0x175889+0x3,-0x1);_0x48770b['push'](colorBorder('├'+_0x4044d9[_0xf8d5a6(0xe5)](_0x5eee6f=>'─'[_0xf8d5a6(0xd6)](_0x5eee6f+0x2))[_0xf8d5a6(0xf8)]('┴')+'┤',_0x501b00));let _0x1c1eb6;_0x42949c?_0x1c1eb6=_0x54c967[_0xf8d5a6(0xd8)]()+_0xf8d5a6(0xd5)+_0x2353db+_0xf8d5a6(0xf1):_0x1c1eb6=_0x54c967['toLocaleString']()+_0xf8d5a6(0xf4)+(_0x54c967===0x1?'':'s');const _0x555a19=_0x1c1eb6[_0xf8d5a6(0xf7)](_0x259c42-0x2);return _0x48770b['push'](colorBorder('│',_0x501b00)+'\x20'+_0x555a19+'\x20'+colorBorder('│',_0x501b00)),_0x48770b[_0xf8d5a6(0xca)](colorBorder('└'+'─'['repeat'](_0x259c42)+'┘',_0x501b00)),_0x48770b[_0xf8d5a6(0xf8)]('\x0a');}function simplifyType(_0x2b7959){const _0x5088eb=a45_0x424a,_0x5a68ef={'varchar':_0x5088eb(0xcb),'bigint':_0x5088eb(0xfc),'integer':_0x5088eb(0xfd),'double':_0x5088eb(0xfb),'boolean':_0x5088eb(0xe0),'date':_0x5088eb(0xec),'timestamp':_0x5088eb(0xdd),'array':'array','map':'map','row':_0x5088eb(0xf9)},_0x4f5d34=_0x2b7959[_0x5088eb(0xc8)]();for(const [_0x57f3ca,_0x5080c7]of Object[_0x5088eb(0xce)](_0x5a68ef)){if(_0x4f5d34[_0x5088eb(0xe4)](_0x57f3ca))return _0x5080c7;}return _0x2b7959[_0x5088eb(0xeb)]>0xa?_0x2b7959[_0x5088eb(0xf2)](0x0,0xa):_0x2b7959;}export function formatAsJSON(_0x1330d3,_0xe4c245={}){const _0x502026=a45_0x424a;if(_0x1330d3[_0x502026(0xf0)][_0x502026(0xeb)]===0x0)return'[]';if(shouldUseColor(_0xe4c245))return colorizeJSON(_0x1330d3[_0x502026(0xf0)],_0xe4c245);const _0x2a1ab8=_0x1330d3[_0x502026(0xf0)][_0x502026(0xe5)](_0x26f0e8=>'\x20\x20'+JSON[_0x502026(0xc9)](_0x26f0e8));return'[\x0a'+_0x2a1ab8[_0x502026(0xf8)](',\x0a')+'\x0a]';}export function formatAsJSONL(_0x5b86bb,_0x187457={}){const _0x2865c8=a45_0x424a;if(_0x5b86bb[_0x2865c8(0xf0)][_0x2865c8(0xeb)]===0x0)return'';if(shouldUseColor(_0x187457))return _0x5b86bb[_0x2865c8(0xf0)][_0x2865c8(0xe5)](_0xa0ad83=>colorizeJSONCompact(_0xa0ad83,_0x187457))[_0x2865c8(0xf8)]('\x0a');return _0x5b86bb[_0x2865c8(0xf0)][_0x2865c8(0xe5)](_0x41fc63=>JSON['stringify'](_0x41fc63))[_0x2865c8(0xf8)]('\x0a');}export function formatAsTSV(_0x45bb28){const _0x598c1b=a45_0x424a;if(_0x45bb28['data'][_0x598c1b(0xeb)]===0x0)return'';const _0x2aee38=[],_0x1e9e57=_0x45bb28[_0x598c1b(0xd0)][_0x598c1b(0xe5)](_0x238009=>_0x238009[_0x598c1b(0xe8)]);return _0x2aee38['push'](_0x1e9e57['join']('\x09')),_0x45bb28[_0x598c1b(0xf0)]['forEach'](_0x275c9b=>{const _0x3c697a=_0x598c1b,_0x59e69a=_0x1e9e57[_0x3c697a(0xe5)](_0x4efec0=>{const _0x4e5423=_0x275c9b[_0x4efec0];return formatValueForTSV(_0x4e5423);});_0x2aee38[_0x3c697a(0xca)](_0x59e69a[_0x3c697a(0xf8)]('\x09'));}),_0x2aee38['join']('\x0a');}function formatValue(_0x15275d){const _0x3768d0=a45_0x424a;if(_0x15275d===null||_0x15275d===undefined)return _0x3768d0(0xd7);if(typeof _0x15275d==='string')return _0x15275d;if(typeof _0x15275d===_0x3768d0(0xc7))return _0x15275d[_0x3768d0(0xd8)]();if(typeof _0x15275d===_0x3768d0(0xee))return _0x15275d?'true':'false';if(_0x15275d instanceof Date)return _0x15275d[_0x3768d0(0xe1)]();if(typeof _0x15275d===_0x3768d0(0xe2))return JSON[_0x3768d0(0xc9)](_0x15275d);return String(_0x15275d);}function formatValueForTSV(_0x121395){const _0x2faaaf=a45_0x424a;if(_0x121395===null||_0x121395===undefined)return'';if(typeof _0x121395===_0x2faaaf(0xcb))return _0x121395['replace'](/\t/g,'\x5ct')['replace'](/\n/g,'\x5cn');if(typeof _0x121395===_0x2faaaf(0xc7)||typeof _0x121395===_0x2faaaf(0xee))return String(_0x121395);if(_0x121395 instanceof Date)return _0x121395['toISOString']();if(typeof _0x121395===_0x2faaaf(0xe2))return JSON[_0x2faaaf(0xc9)](_0x121395);return String(_0x121395);}export function formatQueryResult(_0xab49ec,_0x3db38d){const _0x145cc8=a45_0x424a;switch(_0x3db38d){case'table':return formatAsTable(_0xab49ec);case'json':return formatAsJSON(_0xab49ec);case _0x145cc8(0xdf):return formatAsJSONL(_0xab49ec);case _0x145cc8(0xcf):return formatAsTSV(_0xab49ec);default:return formatAsJSON(_0xab49ec);}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Option validation utilities
3
+ *
4
+ * Provides shared validation logic for command-line options
5
+ */
6
+ /**
7
+ * Validation result for options
8
+ */
9
+ export interface ValidationResult {
10
+ /** Whether validation passed */
11
+ isValid: boolean;
12
+ /** Error message if validation failed */
13
+ error?: string;
14
+ /** Parsed/validated value */
15
+ value?: unknown;
16
+ }
17
+ /**
18
+ * Validate limit option
19
+ *
20
+ * Validates that limit is a positive integer.
21
+ *
22
+ * @param limit - Limit value as number
23
+ * @returns Validation result
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const result = validateLimitOption(10);
28
+ * if (!result.isValid) {
29
+ * console.error(result.error);
30
+ * return 1;
31
+ * }
32
+ * const limit = result.value as number;
33
+ * ```
34
+ */
35
+ export declare function validateLimitOption(limit: number): ValidationResult;
36
+ /**
37
+ * Parse and validate timeout option
38
+ *
39
+ * Validates that timeout is a positive number.
40
+ * Returns default value if option is not provided.
41
+ *
42
+ * @param timeoutOption - Timeout option value (string or number)
43
+ * @param defaultValue - Default timeout value in seconds (default: 30)
44
+ * @returns Validation result with parsed timeout value
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const result = validateTimeoutOption('60');
49
+ * if (!result.isValid) {
50
+ * console.error(result.error);
51
+ * return 1;
52
+ * }
53
+ * const timeout = result.value as number;
54
+ * ```
55
+ */
56
+ export declare function validateTimeoutOption(timeoutOption: string | number | undefined, defaultValue?: number): ValidationResult;
57
+ //# sourceMappingURL=option-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-validation.d.ts","sourceRoot":"","sources":["../../src/utils/option-validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAiBnE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAC1C,YAAY,GAAE,MAAW,GACxB,gBAAgB,CA2BlB"}
@@ -0,0 +1 @@
1
+ function a46_0x13e3(){const _0x3488eb=['isInteger','170RVaSNQ','Invalid\x20limit\x20value:\x20','Invalid\x20timeout\x20value:\x20','2523500TrJFjI','901701uirnRj','538768AaSfHA','.\x20Must\x20be\x20a\x20positive\x20number.','33270lwStdw','1883875DYBemL','.\x20Must\x20be\x20an\x20integer.','238646qZqeoJ','1kEAUSm','514452HbvomE','8NSOZXQ','.\x20Must\x20be\x20a\x20positive\x20integer.'];a46_0x13e3=function(){return _0x3488eb;};return a46_0x13e3();}(function(_0x445293,_0x18d34f){const _0x3fd40f=a46_0x70d2,_0x174b42=_0x445293();while(!![]){try{const _0x44e2a9=-parseInt(_0x3fd40f(0x122))/0x1*(-parseInt(_0x3fd40f(0x121))/0x2)+parseInt(_0x3fd40f(0x123))/0x3+-parseInt(_0x3fd40f(0x12c))/0x4+-parseInt(_0x3fd40f(0x127))/0x5*(-parseInt(_0x3fd40f(0x12e))/0x6)+parseInt(_0x3fd40f(0x11f))/0x7+-parseInt(_0x3fd40f(0x124))/0x8*(-parseInt(_0x3fd40f(0x12b))/0x9)+-parseInt(_0x3fd40f(0x12a))/0xa;if(_0x44e2a9===_0x18d34f)break;else _0x174b42['push'](_0x174b42['shift']());}catch(_0x12ccbd){_0x174b42['push'](_0x174b42['shift']());}}}(a46_0x13e3,0x70b29));export function validateLimitOption(_0x1f3c61){const _0xdfeb13=a46_0x70d2;if(!Number[_0xdfeb13(0x126)](_0x1f3c61))return{'isValid':![],'error':_0xdfeb13(0x128)+_0x1f3c61+_0xdfeb13(0x120)};if(_0x1f3c61<=0x0)return{'isValid':![],'error':_0xdfeb13(0x128)+_0x1f3c61+_0xdfeb13(0x125)};return{'isValid':!![],'value':_0x1f3c61};}function a46_0x70d2(_0xfef81b,_0x2a8c94){const _0x13e378=a46_0x13e3();return a46_0x70d2=function(_0x70d234,_0x919d8e){_0x70d234=_0x70d234-0x11f;let _0x4e6936=_0x13e378[_0x70d234];return _0x4e6936;},a46_0x70d2(_0xfef81b,_0x2a8c94);}export function validateTimeoutOption(_0x19e897,_0x2e30c3=0x1e){const _0x158ac5=a46_0x70d2;if(_0x19e897===undefined)return{'isValid':!![],'value':_0x2e30c3};const _0x5ad357=typeof _0x19e897==='number'?_0x19e897:parseFloat(_0x19e897);if(isNaN(_0x5ad357))return{'isValid':![],'error':_0x158ac5(0x129)+_0x19e897+'.\x20Must\x20be\x20a\x20number.'};if(_0x5ad357<=0x0)return{'isValid':![],'error':_0x158ac5(0x129)+_0x5ad357+_0x158ac5(0x12d)};return{'isValid':!![],'value':_0x5ad357};}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-validation.js","sourceRoot":"","sources":["../../src/utils/option-validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,WAAW;IACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,wBAAwB,KAAK,uBAAuB;SAC5D,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,wBAAwB,KAAK,+BAA+B;SACpE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CACnC,aAA0C,EAC1C,eAAuB,EAAE;IAEzB,8BAA8B;IAC9B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,kBAAkB;IAClB,MAAM,OAAO,GAAG,OAAO,aAAa,KAAK,QAAQ;QAC/C,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAE9B,WAAW;IACX,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,0BAA0B,aAAa,qBAAqB;SACpE,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,0BAA0B,OAAO,8BAA8B;SACvE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Segment reference parser utility
3
+ *
4
+ * Parses segment references in format: parent_id or parent_id.child_id
5
+ */
6
+ /**
7
+ * Parse segment reference in format: parent_id or parent_id.child_id
8
+ *
9
+ * @param ref - Segment reference string
10
+ * @returns Object with parentId and optional childId
11
+ * @throws Error if the reference format is invalid
12
+ */
13
+ export declare function parseSegmentRef(ref: string): {
14
+ parentId: string;
15
+ childId?: string;
16
+ };
17
+ //# sourceMappingURL=segment-ref-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment-ref-parser.d.ts","sourceRoot":"","sources":["../../src/utils/segment-ref-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CASnF"}
@@ -0,0 +1 @@
1
+ function a47_0x5381(_0x11e42c,_0x527026){const _0x39f2e7=a47_0x39f2();return a47_0x5381=function(_0x5381be,_0x2f9833){_0x5381be=_0x5381be-0x19c;let _0x280b96=_0x39f2e7[_0x5381be];return _0x280b96;},a47_0x5381(_0x11e42c,_0x527026);}function a47_0x39f2(){const _0x23167a=['455152PIEevj','6076945pKMrKp','629940DvmvqE','36474KHKtGL','5jRmCrR','Invalid\x20segment\x20reference\x20format:\x20','7897356lxyuqi','.\x20Use\x20parent_id\x20or\x20parent_id.child_id','220fAmmlH','15427050hinCYt','169282aflruz','4dTkerK','length'];a47_0x39f2=function(){return _0x23167a;};return a47_0x39f2();}(function(_0x259e8b,_0x490880){const _0x8ebf36=a47_0x5381,_0x4c8050=_0x259e8b();while(!![]){try{const _0x1f8648=parseInt(_0x8ebf36(0x19d))/0x1*(parseInt(_0x8ebf36(0x1a3))/0x2)+-parseInt(_0x8ebf36(0x1a8))/0x3*(-parseInt(_0x8ebf36(0x1a4))/0x4)+-parseInt(_0x8ebf36(0x1a1))/0x5*(parseInt(_0x8ebf36(0x19c))/0x6)+parseInt(_0x8ebf36(0x1a7))/0x7+parseInt(_0x8ebf36(0x1a6))/0x8+parseInt(_0x8ebf36(0x19f))/0x9+-parseInt(_0x8ebf36(0x1a2))/0xa;if(_0x1f8648===_0x490880)break;else _0x4c8050['push'](_0x4c8050['shift']());}catch(_0x58f47b){_0x4c8050['push'](_0x4c8050['shift']());}}}(a47_0x39f2,0x98b6d));export function parseSegmentRef(_0x4d7b0b){const _0x32cdb4=a47_0x5381,_0x38d918=_0x4d7b0b['split']('.');if(_0x38d918[_0x32cdb4(0x1a5)]===0x1)return{'parentId':_0x38d918[0x0]};if(_0x38d918[_0x32cdb4(0x1a5)]===0x2)return{'parentId':_0x38d918[0x0],'childId':_0x38d918[0x1]};throw new Error(_0x32cdb4(0x19e)+_0x4d7b0b+_0x32cdb4(0x1a0));}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment-ref-parser.js","sourceRoot":"","sources":["../../src/utils/segment-ref-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,uCAAuC,CAAC,CAAC;AACnG,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Simple formatters for SDK results
3
+ *
4
+ * These formatters work with plain data arrays, not CompleteQueryResult objects.
5
+ * Used by database/table commands which use SDK directly.
6
+ */
7
+ /**
8
+ * Format array of objects as JSON
9
+ */
10
+ export declare function formatJSON(data: readonly unknown[]): string;
11
+ /**
12
+ * Format array of objects as TSV
13
+ */
14
+ export declare function formatTSV(data: readonly Record<string, unknown>[]): string;
15
+ /**
16
+ * Format array of objects as table
17
+ */
18
+ export declare function formatTable(data: readonly Record<string, unknown>[], limit?: number): string;
19
+ /**
20
+ * Format SDK results based on format type
21
+ */
22
+ export declare function formatSDKResult(data: readonly Record<string, unknown>[], format: 'table' | 'json' | 'tsv', limit?: number): string;
23
+ //# sourceMappingURL=simple-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/simple-formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAkB1E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CA4BhG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACxC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,EAChC,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAUR"}
@@ -0,0 +1 @@
1
+ function a48_0xedbe(_0xc2b24,_0x2f0ef2){const _0x3b1fe0=a48_0x3b1f();return a48_0xedbe=function(_0xedbe8,_0x5ec2d3){_0xedbe8=_0xedbe8-0x15b;let _0x31deba=_0x3b1fe0[_0xedbe8];return _0x31deba;},a48_0xedbe(_0xc2b24,_0x2f0ef2);}(function(_0x3dabe0,_0x51de7c){const _0x1448ad=a48_0xedbe,_0xf1597d=_0x3dabe0();while(!![]){try{const _0x24cec9=parseInt(_0x1448ad(0x186))/0x1*(-parseInt(_0x1448ad(0x179))/0x2)+parseInt(_0x1448ad(0x178))/0x3*(parseInt(_0x1448ad(0x16a))/0x4)+parseInt(_0x1448ad(0x172))/0x5+-parseInt(_0x1448ad(0x183))/0x6*(parseInt(_0x1448ad(0x176))/0x7)+-parseInt(_0x1448ad(0x177))/0x8+parseInt(_0x1448ad(0x182))/0x9*(-parseInt(_0x1448ad(0x17b))/0xa)+parseInt(_0x1448ad(0x15b))/0xb;if(_0x24cec9===_0x51de7c)break;else _0xf1597d['push'](_0xf1597d['shift']());}catch(_0x3b5b74){_0xf1597d['push'](_0xf1597d['shift']());}}}(a48_0x3b1f,0x40566));function a48_0x640b(_0x104289,_0x2192cb){const _0x2d0a3d=a48_0x25e8();return a48_0x640b=function(_0x29e890,_0x205fe0){_0x29e890=_0x29e890-0xc4;let _0x4fa2b4=_0x2d0a3d[_0x29e890];return _0x4fa2b4;},a48_0x640b(_0x104289,_0x2192cb);}(function(_0x5b9c21,_0x50f39f){const _0x174607=a48_0xedbe,_0x4b5f83=a48_0x640b,_0x570e78=_0x5b9c21();while(!![]){try{const _0x41c3e6=-parseInt(_0x4b5f83(0xeb))/0x1*(parseInt(_0x4b5f83(0xc9))/0x2)+parseInt(_0x4b5f83(0xdd))/0x3*(parseInt(_0x4b5f83(0xd0))/0x4)+-parseInt(_0x4b5f83(0xcc))/0x5+-parseInt(_0x4b5f83(0xde))/0x6*(-parseInt(_0x4b5f83(0xe8))/0x7)+parseInt(_0x4b5f83(0xe0))/0x8*(parseInt(_0x4b5f83(0xc5))/0x9)+parseInt(_0x4b5f83(0xd8))/0xa+parseInt(_0x4b5f83(0xe6))/0xb*(-parseInt(_0x4b5f83(0xda))/0xc);if(_0x41c3e6===_0x50f39f)break;else _0x570e78['push'](_0x570e78[_0x174607(0x17a)]());}catch(_0x4e8fba){_0x570e78[_0x174607(0x185)](_0x570e78[_0x174607(0x17a)]());}}}(a48_0x25e8,0xcce0a),(function(_0x113a4d,_0x1d3c86){const _0x5e7ec9=a48_0x640b,_0x39c94b=a48_0x3dee,_0x28de7d=_0x113a4d();while(!![]){try{const _0x3d1a45=parseInt(_0x39c94b(0x166))/0x1+-parseInt(_0x39c94b(0x16b))/0x2+parseInt(_0x39c94b(0x16c))/0x3*(-parseInt(_0x39c94b(0x176))/0x4)+parseInt(_0x39c94b(0x17e))/0x5*(-parseInt(_0x39c94b(0x167))/0x6)+-parseInt(_0x39c94b(0x179))/0x7*(parseInt(_0x39c94b(0x17d))/0x8)+-parseInt(_0x39c94b(0x170))/0x9+parseInt(_0x39c94b(0x174))/0xa;if(_0x3d1a45===_0x1d3c86)break;else _0x28de7d[_0x5e7ec9(0xc4)](_0x28de7d['shift']());}catch(_0x1138fe){_0x28de7d[_0x5e7ec9(0xc4)](_0x28de7d[_0x5e7ec9(0xd5)]());}}}(a48_0x1d3b,0x66ff8),function(_0x107a5c,_0x394dbe){const _0x30101f=a48_0x640b,_0x200639=a48_0x3dee,_0x480947=a48_0x44e0,_0x4b77a8=_0x107a5c();while(!![]){try{const _0x256921=-parseInt(_0x480947(0x181))/0x1*(parseInt(_0x480947(0x18c))/0x2)+parseInt(_0x480947(0x184))/0x3*(parseInt(_0x480947(0x183))/0x4)+parseInt(_0x480947(0x198))/0x5*(parseInt(_0x480947(0x18e))/0x6)+-parseInt(_0x480947(0x18f))/0x7+-parseInt(_0x480947(0x197))/0x8*(parseInt(_0x480947(0x195))/0x9)+parseInt(_0x480947(0x190))/0xa*(-parseInt(_0x480947(0x180))/0xb)+parseInt(_0x480947(0x196))/0xc*(parseInt(_0x480947(0x186))/0xd);if(_0x256921===_0x394dbe)break;else _0x4b77a8[_0x200639(0x172)](_0x4b77a8[_0x30101f(0xd5)]());}catch(_0x5400b4){_0x4b77a8[_0x200639(0x172)](_0x4b77a8[_0x200639(0x16d)]());}}}(a48_0x3937,0x23a5b)));import a48_0x1f0549 from'cli-table3';function a48_0x3b1f(){const _0x4abbce=['toString','15450ZmKFRC','slice','755ANqaMt','2821840QOAsLe','table','2723VsOCCK','length','8IjBCYz','2pWBWzT','58Ktokur','44105LZZhup','8004646DchZHA','15353330TntGse','\x20more\x20rows\x20(use\x20--limit\x20to\x20show\x20more)','1730743vfOPDc','606685CkYKbk','json','161Lnnequ','13519090kgjXof','519050hVbdTA','4116776wQjRUH','80397fUhbyt','2ZnFbRN','shift','150CaRXEZ','140496GfvzFS','18aREyDU','\x0a\x0a...\x20','31496DMZHgP','96YFVPps','23353cwBCAT','262863YkWRJz','24TXrPGR','1340fmWwkU','push','184796HHSFfd','16749579hpSifg','(No\x20results)','318bcMNwS','stringify','1254186XpJPVo','767240mxPdnV','1115391zjxDio'];a48_0x3b1f=function(){return _0x4abbce;};return a48_0x3b1f();}function a48_0x3dee(_0x318c17,_0xce057e){const _0x19d368=a48_0x1d3b();return a48_0x3dee=function(_0x6b6400,_0x2bb74f){_0x6b6400=_0x6b6400-0x160;let _0x3b0e31=_0x19d368[_0x6b6400];return _0x3b0e31;},a48_0x3dee(_0x318c17,_0xce057e);}export function formatJSON(_0x1f9009){const _0x4cd2d7=a48_0x44e0;return JSON[_0x4cd2d7(0x191)](_0x1f9009,null,0x2);}function a48_0x44e0(_0x48374d,_0x357bc0){const _0x12ca82=a48_0x3937();return a48_0x44e0=function(_0x4549d3,_0x18ebad){_0x4549d3=_0x4549d3-0x17f;let _0x2bd487=_0x12ca82[_0x4549d3];return _0x2bd487;},a48_0x44e0(_0x48374d,_0x357bc0);}function a48_0x1d3b(){const _0x200e21=a48_0xedbe,_0x147de7=a48_0x640b,_0x5e1c46=[_0x147de7(0xd5),_0x147de7(0xd6),_0x147de7(0xca),_0x147de7(0xd4),_0x147de7(0xd3),_0x147de7(0xc4),_0x147de7(0xd9),_0x147de7(0xdc),_0x147de7(0xc7),_0x147de7(0xce),_0x147de7(0xe3),_0x147de7(0xe1),_0x147de7(0xdb),'keys',_0x200e21(0x17d),_0x147de7(0xe4),_0x200e21(0x17f),_0x200e21(0x16d),_0x147de7(0xdf),_0x200e21(0x184),_0x147de7(0xcf),'join',_0x147de7(0xc6),_0x147de7(0xe5),'466352kFggik',_0x147de7(0xcb),_0x147de7(0xe7),_0x147de7(0xe2),_0x147de7(0xe9),_0x200e21(0x160),_0x147de7(0xd7)];return a48_0x1d3b=function(){return _0x5e1c46;},a48_0x1d3b();}export function formatTSV(_0x561ca4){const _0x599f83=a48_0x3dee,_0x5e2104=a48_0x44e0;if(_0x561ca4[_0x599f83(0x177)]===0x0)return'';const _0x5a370b=Object[_0x5e2104(0x18d)](_0x561ca4[0x0]),_0x1f16ab=[_0x5a370b[_0x5e2104(0x188)]('\x09')];for(const _0x3eb111 of _0x561ca4){const _0x5ae337=_0x5a370b[_0x5e2104(0x189)](_0x1809fd=>String(_0x3eb111[_0x1809fd]??''));_0x1f16ab[_0x5e2104(0x192)](_0x5ae337[_0x5e2104(0x188)]('\x09'));}return _0x1f16ab[_0x5e2104(0x188)]('\x0a');}function a48_0x3937(){const _0x24014a=a48_0xedbe,_0x47707e=a48_0x640b,_0x3d71ef=a48_0x3dee,_0x13b659=[_0x3d71ef(0x171),_0x3d71ef(0x169),_0x3d71ef(0x17a),_0x47707e(0xd1),_0x3d71ef(0x165),_0x3d71ef(0x161),_0x47707e(0xcd),_0x47707e(0xc4),_0x3d71ef(0x16f),_0x3d71ef(0x177),_0x3d71ef(0x17b),_0x47707e(0xd2),_0x3d71ef(0x16a),_0x3d71ef(0x168),_0x3d71ef(0x164),_0x3d71ef(0x162),_0x47707e(0xc8),_0x3d71ef(0x173),_0x3d71ef(0x175),_0x47707e(0xea),_0x3d71ef(0x178),_0x3d71ef(0x160),_0x24014a(0x170),_0x3d71ef(0x163),_0x3d71ef(0x17c),_0x24014a(0x164)];return a48_0x3937=function(){return _0x13b659;},a48_0x3937();}export function formatTable(_0x1f3523,_0x4a1218=0x28){const _0x102381=a48_0x3dee,_0x726bfa=a48_0x44e0;if(_0x1f3523[_0x102381(0x177)]===0x0)return _0x726bfa(0x182);const _0xac05a0=Object[_0x726bfa(0x18d)](_0x1f3523[0x0]),_0x120f72=new a48_0x1f0549({'head':_0xac05a0}),_0x12a70a=_0x1f3523[_0x726bfa(0x18a)](0x0,_0x4a1218);for(const _0x411c30 of _0x12a70a){const _0xe9d8b3=_0xac05a0[_0x726bfa(0x189)](_0x87cece=>String(_0x411c30[_0x87cece]??''));_0x120f72[_0x102381(0x172)](_0xe9d8b3);}let _0x2abe94=_0x120f72[_0x726bfa(0x18b)]();return _0x1f3523[_0x102381(0x177)]>_0x4a1218&&(_0x2abe94+=_0x726bfa(0x185)+(_0x1f3523[_0x726bfa(0x194)]-_0x4a1218)+_0x726bfa(0x187)),_0x2abe94;}export function formatSDKResult(_0x42c191,_0xaee06e,_0x14009d){const _0x2115fa=a48_0x3dee,_0x2002cc=a48_0x44e0;switch(_0xaee06e){case _0x2002cc(0x193):return formatJSON(_0x42c191);case _0x2115fa(0x16e):return formatTSV(_0x42c191);case _0x2002cc(0x17f):default:return formatTable(_0x42c191,_0x14009d);}}function a48_0x25e8(){const _0x12e1e8=a48_0xedbe,_0xb1ab0e=['469608LZvIxE',_0x12e1e8(0x175),_0x12e1e8(0x15c),'12isjkkG',_0x12e1e8(0x174),_0x12e1e8(0x16f),'3089037JCrDjL',_0x12e1e8(0x163),_0x12e1e8(0x16e),_0x12e1e8(0x180),_0x12e1e8(0x17e),_0x12e1e8(0x16c),_0x12e1e8(0x169),'map',_0x12e1e8(0x171),'27902314TQHiEs',_0x12e1e8(0x165),_0x12e1e8(0x168),_0x12e1e8(0x17c),'20424sHPLYv',_0x12e1e8(0x161),'push',_0x12e1e8(0x15f),_0x12e1e8(0x167),'64uBwxQW','8837OOmbQx',_0x12e1e8(0x16b),_0x12e1e8(0x173),_0x12e1e8(0x15d),_0x12e1e8(0x166),_0x12e1e8(0x15e),'8pUvPGa',_0x12e1e8(0x181),'4SNHrbP','9714rQgOLk','12EVOABW',_0x12e1e8(0x162),'2925441FcWCMZ',_0x12e1e8(0x17a),'tsv'];return a48_0x25e8=function(){return _0xb1ab0e;},a48_0x25e8();}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-formatter.js","sourceRoot":"","sources":["../../src/utils/simple-formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAwB;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAwC;IAChE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kCAAkC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAErC,aAAa;IACb,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnC,YAAY;IACZ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAwC,EAAE,QAAgB,EAAE;IACtF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,kCAAkC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAErC,eAAe;IACf,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAE9B,mCAAmC;IACnC,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,WAAW,IAAI,CAAC,MAAM,GAAG,KAAK,uCAAuC,CAAC;IAClF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAwC,EACxC,MAAgC,EAChC,KAAc;IAEd,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,KAAK,KAAK;YACR,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,OAAO,CAAC;QACb;YACE,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Spinner utilities for CLI progress indication
3
+ */
4
+ import { type Ora } from 'ora';
5
+ /**
6
+ * Options for creating a command spinner
7
+ */
8
+ export interface CommandSpinnerOptions {
9
+ /** Whether verbose mode is enabled (disables spinner) */
10
+ verbose?: boolean;
11
+ /** Override isEnabled check (for testing) */
12
+ forceEnabled?: boolean;
13
+ /** Clock function for testing (defaults to Date.now) */
14
+ clock?: () => number;
15
+ /** Interval factory for testing (defaults to setInterval) */
16
+ intervalFactory?: (callback: () => void, ms: number) => NodeJS.Timeout;
17
+ }
18
+ /**
19
+ * Result from withSpinner wrapper
20
+ */
21
+ export interface SpinnerResult<T> {
22
+ /** Result from the operation */
23
+ data: T;
24
+ /** Elapsed time in milliseconds */
25
+ elapsedMs: number;
26
+ }
27
+ /**
28
+ * Controller for updating query spinner state
29
+ *
30
+ * Allows commands to update spinner state without managing timing or formatting.
31
+ */
32
+ export interface QuerySpinnerController {
33
+ /** Update the current phase/operation being performed */
34
+ setPhase(phase: string): void;
35
+ /** Set the job ID (will be displayed in spinner) */
36
+ setJobId(jobId: string): void;
37
+ /** Set additional context message */
38
+ setExtra(message?: string): void;
39
+ }
40
+ /**
41
+ * Create a command spinner with standard configuration
42
+ *
43
+ * @param text - Initial spinner text
44
+ * @param options - Spinner options
45
+ * @returns Ora spinner instance
46
+ */
47
+ export declare function createCommandSpinner(text: string, options?: CommandSpinnerOptions): Ora;
48
+ /**
49
+ * Execute an operation with a simple spinner (no elapsed time tracking)
50
+ *
51
+ * @param text - Spinner text
52
+ * @param operation - Async operation to execute
53
+ * @param options - Spinner options
54
+ * @returns Result with elapsed time
55
+ *
56
+ * @example
57
+ * const result = await withSpinner(
58
+ * 'Listing databases...',
59
+ * async () => tdx.database.list(),
60
+ * { verbose: options.verbose }
61
+ * );
62
+ * console.log(`Found ${result.data.length} databases in ${result.elapsedMs}ms`);
63
+ */
64
+ export declare function withSpinner<T>(text: string, operation: () => Promise<T>, options?: CommandSpinnerOptions): Promise<SpinnerResult<T>>;
65
+ /**
66
+ * Execute a query operation with elapsed time tracking and state management
67
+ *
68
+ * Shows a spinner with elapsed time updates every second.
69
+ * The operation receives a controller to update spinner state declaratively
70
+ * without managing timing or string formatting.
71
+ *
72
+ * @param text - Initial spinner text
73
+ * @param operation - Query operation that receives spinner controller
74
+ * @param options - Spinner options
75
+ * @returns Result with data and elapsed time
76
+ *
77
+ * @example
78
+ * const result = await withQuerySpinner(
79
+ * 'Executing query...',
80
+ * async (controller) => {
81
+ * const result = await tdx.query(sql, {
82
+ * onJobId: (jobId) => controller.setJobId(jobId)
83
+ * });
84
+ * return result;
85
+ * },
86
+ * { verbose: options.verbose }
87
+ * );
88
+ */
89
+ export declare function withQuerySpinner<T>(text: string, operation: (controller: QuerySpinnerController) => Promise<T>, options?: CommandSpinnerOptions): Promise<SpinnerResult<T>>;
90
+ /**
91
+ * Format elapsed milliseconds as human-readable string
92
+ *
93
+ * @param ms - Milliseconds
94
+ * @returns Formatted string (e.g., "1.23s")
95
+ */
96
+ export declare function formatElapsed(ms: number): string;
97
+ //# sourceMappingURL=spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;CACxE;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,gCAAgC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qCAAqC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAWD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,qBAA0B,GAClC,GAAG,CASL;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAkB3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,UAAU,EAAE,sBAAsB,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7D,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAyD3B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhD"}
@@ -0,0 +1 @@
1
+ (function(_0x502fc1,_0xd25de0){const _0x4ea51e=a49_0x322a,_0x495ccc=_0x502fc1();while(!![]){try{const _0x43b35d=-parseInt(_0x4ea51e(0x1f6))/0x1*(-parseInt(_0x4ea51e(0x1f0))/0x2)+parseInt(_0x4ea51e(0x1f5))/0x3*(parseInt(_0x4ea51e(0x1ed))/0x4)+parseInt(_0x4ea51e(0x1fb))/0x5+-parseInt(_0x4ea51e(0x1ec))/0x6+-parseInt(_0x4ea51e(0x1e4))/0x7+-parseInt(_0x4ea51e(0x1f1))/0x8*(-parseInt(_0x4ea51e(0x1f7))/0x9)+parseInt(_0x4ea51e(0x1fc))/0xa*(-parseInt(_0x4ea51e(0x1ef))/0xb);if(_0x43b35d===_0xd25de0)break;else _0x495ccc['push'](_0x495ccc['shift']());}catch(_0x166174){_0x495ccc['push'](_0x495ccc['shift']());}}}(a49_0x5b65,0x1c000));function a49_0x322a(_0x56fd4c,_0x3c65db){const _0x5b6545=a49_0x5b65();return a49_0x322a=function(_0x322a2f,_0x15d08d){_0x322a2f=_0x322a2f-0x1e2;let _0x49a939=_0x5b6545[_0x322a2f];return _0x49a939;},a49_0x322a(_0x56fd4c,_0x3c65db);}import a49_0xc7899b from'ora';function a49_0x5b65(){const _0xaf6598=['46749zSzvac','4943QuqcfK','27opySAi','stdout','stop','isSpinning','668965Efuuol','290fSolhY','clock','phase','1322867cooDqr','text','jobId','intervalFactory','now','toFixed','cyan','start','841320IxQxgD','56zFAbQS','...','53647ionZcz','48GPFUEn','305960YLVuwu','replace','\x20[Job\x20ID:\x20','extra'];a49_0x5b65=function(){return _0xaf6598;};return a49_0x5b65();}export function createCommandSpinner(_0x3b7d01,_0x29806f={}){const _0xfc080b=a49_0x322a,{verbose:verbose=![],forceEnabled:forceEnabled=![]}=_0x29806f;return a49_0xc7899b({'text':_0x3b7d01,'color':_0xfc080b(0x1ea),'isEnabled':forceEnabled||process[_0xfc080b(0x1f8)]['isTTY']&&!verbose});}export async function withSpinner(_0x4a8fe0,_0x36befa,_0x27b7bd={}){const _0x5ef2f5=a49_0x322a,_0x3df720=_0x27b7bd[_0x5ef2f5(0x1e2)]??(()=>Date[_0x5ef2f5(0x1e8)]()),_0x3d9297=createCommandSpinner(_0x4a8fe0,_0x27b7bd);_0x3d9297[_0x5ef2f5(0x1eb)]();const _0x3a38bc=_0x3df720();try{const _0x11f498=await _0x36befa(),_0xfc2d9b=_0x3df720()-_0x3a38bc;return _0x3d9297[_0x5ef2f5(0x1f9)](),{'data':_0x11f498,'elapsedMs':_0xfc2d9b};}catch(_0x18e5aa){_0x3d9297[_0x5ef2f5(0x1f9)]();throw _0x18e5aa;}}export async function withQuerySpinner(_0x484dd7,_0x30c35d,_0x5996d1={}){const _0x218a71=a49_0x322a,_0x19eb79=_0x5996d1[_0x218a71(0x1e2)]??(()=>Date[_0x218a71(0x1e8)]()),_0x1c74f3=_0x5996d1[_0x218a71(0x1e7)]??setInterval,_0x4e8cc7=createCommandSpinner(_0x484dd7,_0x5996d1);_0x4e8cc7[_0x218a71(0x1eb)]();const _0x397333=_0x19eb79(),_0x1f457c=_0x484dd7[_0x218a71(0x1f2)](_0x218a71(0x1ee),''),_0x18f5c7={},_0x10f0ef=()=>{const _0x25cdb1=_0x218a71;if(!_0x4e8cc7[_0x25cdb1(0x1fa)])return;const _0x199605=((_0x19eb79()-_0x397333)/0x3e8)[_0x25cdb1(0x1e9)](0x1),_0x339362=_0x18f5c7[_0x25cdb1(0x1e3)]??_0x1f457c,_0x3e6a80=_0x18f5c7[_0x25cdb1(0x1e6)]?_0x25cdb1(0x1f3)+_0x18f5c7[_0x25cdb1(0x1e6)]+']':'',_0x10edf8=_0x18f5c7[_0x25cdb1(0x1f4)]?'\x20'+_0x18f5c7[_0x25cdb1(0x1f4)]:'';_0x4e8cc7[_0x25cdb1(0x1e5)]=_0x339362+'\x20('+_0x199605+'s)'+_0x10edf8+_0x3e6a80;},_0x48e792=_0x1c74f3(()=>{_0x10f0ef();},0x3e8),_0x2b1150={'setPhase':_0x3a2d95=>{const _0x2611da=_0x218a71;_0x18f5c7[_0x2611da(0x1e3)]=_0x3a2d95,_0x10f0ef();},'setJobId':_0x57076b=>{const _0x10438e=_0x218a71;_0x18f5c7[_0x10438e(0x1e6)]=_0x57076b,_0x10f0ef();},'setExtra':_0x8e3202=>{_0x18f5c7['extra']=_0x8e3202,_0x10f0ef();}};_0x10f0ef();try{const _0x38708f=await _0x30c35d(_0x2b1150),_0x4c3354=_0x19eb79()-_0x397333;return{'data':_0x38708f,'elapsedMs':_0x4c3354};}finally{clearInterval(_0x48e792),_0x4e8cc7[_0x218a71(0x1f9)]();}}export function formatElapsed(_0x1150a6){const _0x36db43=a49_0x322a;return(_0x1150a6/0x3e8)[_0x36db43(0x1e9)](0x2)+'s';}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * SQL parsing utilities
3
+ *
4
+ * Provides functions for parsing and splitting SQL statements,
5
+ * handling comments, and reading SQL from files.
6
+ */
7
+ /**
8
+ * Strip SQL comments and whitespace from input
9
+ *
10
+ * Removes both multi-line and single-line SQL comments
11
+ *
12
+ * @param input - SQL content with potential comments
13
+ * @returns SQL content with comments removed and trimmed
14
+ */
15
+ export declare function stripSqlComments(input: string): string;
16
+ /**
17
+ * Split SQL content into individual statements
18
+ *
19
+ * Properly handles semicolons inside quoted strings (single, double, backtick).
20
+ * Only splits on semicolons that are not inside string literals.
21
+ *
22
+ * Algorithm:
23
+ * - State machine to track quote context
24
+ * - Only split on semicolons when not inside any quoted string
25
+ * - Handle escaped quotes (including multiple backslashes)
26
+ * - Prevent quote state changes when inside different quote type
27
+ *
28
+ * @param sqlContent - SQL content (may contain multiple statements separated by semicolons)
29
+ * @returns Array of SQL statements (comments and empty statements filtered out)
30
+ * @throws Error if no valid SQL statements found
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // Simple case
35
+ * splitSqlStatements("SELECT 1; SELECT 2")
36
+ * // Returns: ["SELECT 1", "SELECT 2"]
37
+ *
38
+ * // Handles quoted strings
39
+ * splitSqlStatements("SELECT 'hello; world'; SELECT 2")
40
+ * // Returns: ["SELECT 'hello; world'", "SELECT 2"]
41
+ * ```
42
+ */
43
+ export declare function splitSqlStatements(sqlContent: string): string[];
44
+ /**
45
+ * Read file content with error handling
46
+ *
47
+ * @param filePath - Path to file
48
+ * @returns File content as string
49
+ * @throws Error with user-friendly message for file reading issues
50
+ */
51
+ export declare function readFileContent(filePath: string): string;
52
+ /**
53
+ * Read and parse SQL statements from file
54
+ *
55
+ * Combines file reading and SQL splitting with proper error handling
56
+ *
57
+ * @param filePath - Path to SQL file
58
+ * @returns Array of SQL statements
59
+ * @throws Error with user-friendly message
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const statements = readSqlStatementsFromFile('queries.sql');
64
+ * // Returns: ["SELECT * FROM users", "SELECT * FROM orders"]
65
+ * ```
66
+ */
67
+ export declare function readSqlStatementsFromFile(filePath: string): string[];
68
+ //# sourceMappingURL=sql-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-parser.d.ts","sourceRoot":"","sources":["../../src/utils/sql-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAStD;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CA0D/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAcxD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAQpE"}
@@ -0,0 +1 @@
1
+ function a50_0x1070(){const _0x427bde=['4DuvaQY','Permission\x20denied\x20reading\x20file\x20\x27','push','3124395OcnbiS','5950BlTudQ','length','338454nihzVs','message','35087SLYvFa','EACCES','1QbJVwn','7596FAYHDO','144zTPNUS','19971wmJPrQ','20HHFmPv','ENOENT','map','1590huUCLu','2320306tEAYzB','6140673wTKzBD','Content\x20contains\x20no\x20SQL\x20statements','Error\x20reading\x20file\x20\x27','filter','File\x20\x27','trim','utf-8','\x27\x20not\x20found','replace','toLowerCase'];a50_0x1070=function(){return _0x427bde;};return a50_0x1070();}(function(_0x58b77e,_0x2394cc){const _0x3473a7=a50_0x5ce0,_0xd61b9d=_0x58b77e();while(!![]){try{const _0x11d2fe=-parseInt(_0x3473a7(0x1e5))/0x1*(-parseInt(_0x3473a7(0x1d0))/0x2)+-parseInt(_0x3473a7(0x1de))/0x3*(parseInt(_0x3473a7(0x1db))/0x4)+parseInt(_0x3473a7(0x1e9))/0x5*(-parseInt(_0x3473a7(0x1e1))/0x6)+-parseInt(_0x3473a7(0x1df))/0x7*(-parseInt(_0x3473a7(0x1e7))/0x8)+parseInt(_0x3473a7(0x1e8))/0x9*(-parseInt(_0x3473a7(0x1cf))/0xa)+-parseInt(_0x3473a7(0x1d1))/0xb+parseInt(_0x3473a7(0x1e6))/0xc*(parseInt(_0x3473a7(0x1e3))/0xd);if(_0x11d2fe===_0x2394cc)break;else _0xd61b9d['push'](_0xd61b9d['shift']());}catch(_0x5b6c06){_0xd61b9d['push'](_0xd61b9d['shift']());}}}(a50_0x1070,0xac4db));import{readFileSync}from'fs';function a50_0x5ce0(_0x1b2261,_0x59b6c9){const _0x10701d=a50_0x1070();return a50_0x5ce0=function(_0x5ce0b4,_0xc5d0da){_0x5ce0b4=_0x5ce0b4-0x1ce;let _0x1d27c8=_0x10701d[_0x5ce0b4];return _0x1d27c8;},a50_0x5ce0(_0x1b2261,_0x59b6c9);}export function stripSqlComments(_0x278958){const _0x1bc588=a50_0x5ce0;let _0x5c4a11=_0x278958[_0x1bc588(0x1d9)](/\/\*(?:[^*]|\*(?!\/))*\*\//g,'');return _0x5c4a11=_0x5c4a11[_0x1bc588(0x1d9)](/--.*$/gm,''),_0x5c4a11[_0x1bc588(0x1d6)]();}function isEscaped(_0x37b747,_0x59f65b){let _0x3b5cf2=0x0;for(let _0x477b57=_0x59f65b-0x1;_0x477b57>=0x0&&_0x37b747[_0x477b57]==='\x5c';_0x477b57--){_0x3b5cf2++;}return _0x3b5cf2%0x2===0x1;}export function splitSqlStatements(_0x3cc092){const _0x40ad7f=a50_0x5ce0,_0x227098=stripSqlComments(_0x3cc092);if(!_0x227098)throw new Error('Content\x20contains\x20no\x20SQL\x20statements');const _0x5e32d3=[];let _0x4f66f3='',_0x2465fa=![],_0x36368d=![],_0x417923=![];for(let _0x500f78=0x0;_0x500f78<_0x3cc092[_0x40ad7f(0x1e0)];_0x500f78++){const _0x5956db=_0x3cc092[_0x500f78];if(_0x5956db==='\x27'&&!isEscaped(_0x3cc092,_0x500f78)&&!_0x36368d&&!_0x417923)_0x2465fa=!_0x2465fa;else{if(_0x5956db==='\x22'&&!isEscaped(_0x3cc092,_0x500f78)&&!_0x2465fa&&!_0x417923)_0x36368d=!_0x36368d;else _0x5956db==='`'&&!isEscaped(_0x3cc092,_0x500f78)&&!_0x2465fa&&!_0x36368d&&(_0x417923=!_0x417923);}if(_0x5956db===';'&&!_0x2465fa&&!_0x36368d&&!_0x417923){const _0x4b38a5=_0x4f66f3[_0x40ad7f(0x1d6)]();_0x4b38a5&&_0x5e32d3['push'](_0x4b38a5),_0x4f66f3='';}else _0x4f66f3+=_0x5956db;}const _0x38cbee=_0x4f66f3['trim']();_0x38cbee&&_0x5e32d3[_0x40ad7f(0x1dd)](_0x38cbee);const _0x1fef1d=_0x5e32d3[_0x40ad7f(0x1ce)](_0x3f9bf3=>_0x3f9bf3[_0x40ad7f(0x1d6)]())[_0x40ad7f(0x1d4)](_0x34acbb=>{const _0x33863b=_0x40ad7f,_0x169f08=stripSqlComments(_0x34acbb);return _0x169f08[_0x33863b(0x1e0)]>0x0;});if(_0x1fef1d[_0x40ad7f(0x1e0)]===0x0)throw new Error(_0x40ad7f(0x1d2));return _0x1fef1d;}export function readFileContent(_0x323698){const _0x516689=a50_0x5ce0;try{return readFileSync(_0x323698,_0x516689(0x1d7));}catch(_0xab50ad){const _0x49938e=_0xab50ad['code'];if(_0x49938e===_0x516689(0x1ea))throw new Error(_0x516689(0x1d5)+_0x323698+_0x516689(0x1d8));else{if(_0x49938e===_0x516689(0x1e4))throw new Error(_0x516689(0x1dc)+_0x323698+'\x27');else throw new Error(_0x516689(0x1d3)+_0x323698+'\x27:\x20'+_0xab50ad['message']);}}}export function readSqlStatementsFromFile(_0x431aab){const _0x4972b0=a50_0x5ce0,_0x4e96bf=readFileContent(_0x431aab);try{return splitSqlStatements(_0x4e96bf);}catch(_0x499671){throw new Error(_0x4972b0(0x1d5)+_0x431aab+'\x27\x20'+_0x499671[_0x4972b0(0x1e2)][_0x4972b0(0x1da)]());}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-parser.js","sourceRoot":"","sources":["../../src/utils/sql-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * String utility functions for table formatting and SQL escaping
3
+ */
4
+ /**
5
+ * Center-align text within a given width
6
+ *
7
+ * @param text - Text to center
8
+ * @param width - Total width
9
+ * @returns Centered text with padding
10
+ *
11
+ * @example
12
+ * centerAlign('hello', 10) // ' hello '
13
+ */
14
+ export declare function centerAlign(text: string, width: number): string;
15
+ /**
16
+ * Escape string literal for SQL queries
17
+ * Prevents SQL injection by escaping single quotes
18
+ *
19
+ * @param str - String to escape
20
+ * @returns Escaped string literal (with quotes)
21
+ * @throws Error if string is empty
22
+ *
23
+ * @example
24
+ * escapeStringLiteral("O'Brien") // "'O''Brien'"
25
+ * escapeStringLiteral("test") // "'test'"
26
+ */
27
+ export declare function escapeStringLiteral(str: string): string;
28
+ /**
29
+ * Convert glob pattern to SQL LIKE pattern
30
+ * Converts shell-style wildcards to SQL LIKE wildcards
31
+ *
32
+ * @param pattern - Glob pattern (e.g., "test_*", "user?")
33
+ * @returns SQL LIKE pattern (e.g., "test\\_%" or "user_")
34
+ *
35
+ * @example
36
+ * globToLike("test_*") // "test\\_%" (matches test_foo, test_bar)
37
+ * globToLike("user?") // "user_" (matches user1, userA)
38
+ * globToLike("*_prod") // "%\\_prod" (matches dev_prod, staging_prod)
39
+ */
40
+ export declare function globToLike(pattern: string): string;
41
+ /**
42
+ * Build SQL LIKE condition with glob pattern
43
+ * Returns both the LIKE pattern and the escaped literal for SQL
44
+ *
45
+ * @param pattern - Glob pattern
46
+ * @returns Escaped SQL LIKE pattern with quotes
47
+ * @throws Error if pattern is empty
48
+ *
49
+ * @example
50
+ * buildLikePattern("test_*") // "'test\\_%%'" (with ESCAPE '\\')
51
+ */
52
+ export declare function buildLikePattern(pattern: string): string;
53
+ /**
54
+ * Match a string against a glob pattern
55
+ *
56
+ * @param str - String to test
57
+ * @param pattern - Glob pattern (* matches any characters, ? matches single character)
58
+ * @returns True if string matches pattern
59
+ *
60
+ * @example
61
+ * matchGlobPattern('hello', 'hello') // true (exact match)
62
+ * matchGlobPattern('hello_world', 'hello_*') // true
63
+ * matchGlobPattern('test123', 'test*') // true
64
+ * matchGlobPattern('user1', 'user?') // true
65
+ * matchGlobPattern('abc', 'a*c') // true
66
+ */
67
+ export declare function matchGlobPattern(str: string, pattern: string): boolean;
68
+ //# sourceMappingURL=string-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../../src/utils/string-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAmB/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAclD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAStE"}
@@ -0,0 +1 @@
1
+ function a51_0x4f82(_0x34bcef,_0x4c5ea8){const _0x52042b=a51_0x5204();return a51_0x4f82=function(_0x4f82a4,_0x228f86){_0x4f82a4=_0x4f82a4-0x152;let _0x40793d=_0x52042b[_0x4f82a4];return _0x40793d;},a51_0x4f82(_0x34bcef,_0x4c5ea8);}(function(_0x1a7a93,_0x2efaef){const _0x3e283c=a51_0x4f82,_0x32ebb7=_0x1a7a93();while(!![]){try{const _0x311065=-parseInt(_0x3e283c(0x157))/0x1+-parseInt(_0x3e283c(0x15f))/0x2*(-parseInt(_0x3e283c(0x15d))/0x3)+-parseInt(_0x3e283c(0x159))/0x4*(parseInt(_0x3e283c(0x161))/0x5)+-parseInt(_0x3e283c(0x155))/0x6*(parseInt(_0x3e283c(0x15a))/0x7)+-parseInt(_0x3e283c(0x162))/0x8+parseInt(_0x3e283c(0x15e))/0x9*(parseInt(_0x3e283c(0x160))/0xa)+parseInt(_0x3e283c(0x15c))/0xb;if(_0x311065===_0x2efaef)break;else _0x32ebb7['push'](_0x32ebb7['shift']());}catch(_0x3e600f){_0x32ebb7['push'](_0x32ebb7['shift']());}}}(a51_0x5204,0x99757));export function centerAlign(_0x566b23,_0x5955d6){const _0x43acb5=a51_0x4f82;if(_0x566b23[_0x43acb5(0x156)]>_0x5955d6){if(_0x5955d6<=0x1)return'…'[_0x43acb5(0x158)](0x0,_0x5955d6);return _0x566b23[_0x43acb5(0x158)](0x0,_0x5955d6-0x1)+'…';}if(_0x566b23[_0x43acb5(0x156)]===_0x5955d6)return _0x566b23;const _0x3370e5=_0x5955d6-_0x566b23[_0x43acb5(0x156)],_0x2d5572=Math['floor'](_0x3370e5/0x2),_0x8aa105=_0x3370e5-_0x2d5572;return'\x20'[_0x43acb5(0x163)](_0x2d5572)+_0x566b23+'\x20'['repeat'](_0x8aa105);}export function escapeStringLiteral(_0x4af134){const _0x2e660c=a51_0x4f82;if(!_0x4af134||_0x4af134[_0x2e660c(0x153)]()['length']===0x0)throw new Error(_0x2e660c(0x154));const _0x434828=_0x4af134[_0x2e660c(0x15b)](/'/g,'\x27\x27');return'\x27'+_0x434828+'\x27';}function a51_0x5204(){const _0x510ac8=['Cannot\x20escape\x20empty\x20string\x20literal','476466ZgZNcH','length','750826SUpyXo','substring','1094056CvbXWd','7gYiMfD','replace','4020280aDWiIa','213GVoUiS','18PPGmjd','33574KpSyCT','2926860YBtghk','5zSkfSX','3283288XTUsiR','repeat','\x5c$&','test','trim'];a51_0x5204=function(){return _0x510ac8;};return a51_0x5204();}export function globToLike(_0x41b2f0){const _0x484eca=a51_0x4f82;let _0x54b0f7=_0x41b2f0[_0x484eca(0x15b)](/\\/g,'\x5c\x5c')[_0x484eca(0x15b)](/%/g,'\x5c%')[_0x484eca(0x15b)](/_/g,'\x5c_');return _0x54b0f7=_0x54b0f7['replace'](/\*/g,'%')['replace'](/\?/g,'_'),_0x54b0f7;}export function buildLikePattern(_0x3fc63c){if(!_0x3fc63c||_0x3fc63c['trim']()['length']===0x0)throw new Error('Cannot\x20build\x20LIKE\x20pattern\x20from\x20empty\x20string');const _0x4453f5=globToLike(_0x3fc63c),_0x40b686=_0x4453f5['replace'](/'/g,'\x27\x27');return'\x27'+_0x40b686+'\x27';}export function matchGlobPattern(_0x4ec588,_0xd71810){const _0x1661cc=a51_0x4f82,_0x10556e=_0xd71810['replace'](/[.+^${}()|[\]\\]/g,_0x1661cc(0x164))[_0x1661cc(0x15b)](/\*/g,'.*')[_0x1661cc(0x15b)](/\?/g,'.'),_0x575c1a=new RegExp('^'+_0x10556e+'$');return _0x575c1a[_0x1661cc(0x152)](_0x4ec588);}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/utils/string-utils.ts"],"names":[],"mappings":"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"}