@duckcodeailabs/dql-cli 1.4.3 → 1.5.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 (283) hide show
  1. package/LICENSE +123 -0
  2. package/README.md +72 -0
  3. package/dist/apps-api.d.ts +79 -0
  4. package/dist/apps-api.d.ts.map +1 -0
  5. package/dist/apps-api.js +934 -0
  6. package/dist/apps-api.js.map +1 -0
  7. package/dist/apps-api.test.d.ts +2 -0
  8. package/dist/apps-api.test.d.ts.map +1 -0
  9. package/dist/apps-api.test.js +111 -0
  10. package/dist/apps-api.test.js.map +1 -0
  11. package/dist/args.d.ts +30 -0
  12. package/dist/args.d.ts.map +1 -0
  13. package/dist/args.js +105 -0
  14. package/dist/args.js.map +1 -0
  15. package/dist/args.test.d.ts +2 -0
  16. package/dist/args.test.d.ts.map +1 -0
  17. package/dist/args.test.js +41 -0
  18. package/dist/args.test.js.map +1 -0
  19. package/dist/assets/dql-notebook/assets/codemirror-DJYUkPr1.js +11 -0
  20. package/dist/assets/dql-notebook/assets/index-R3UrqjLQ.css +1 -0
  21. package/dist/assets/dql-notebook/assets/index-mlfOQ2me.js +857 -0
  22. package/dist/assets/dql-notebook/assets/react-CRB3T2We.js +32 -0
  23. package/dist/assets/dql-notebook/index.html +18 -0
  24. package/dist/assets/notebook-browser/app.js +548 -0
  25. package/dist/assets/notebook-browser/index.html +83 -0
  26. package/dist/assets/notebook-browser/styles.css +336 -0
  27. package/dist/block-studio-import.d.ts +58 -0
  28. package/dist/block-studio-import.d.ts.map +1 -0
  29. package/dist/block-studio-import.js +390 -0
  30. package/dist/block-studio-import.js.map +1 -0
  31. package/dist/block-studio-import.test.d.ts +2 -0
  32. package/dist/block-studio-import.test.d.ts.map +1 -0
  33. package/dist/block-studio-import.test.js +106 -0
  34. package/dist/block-studio-import.test.js.map +1 -0
  35. package/dist/block-templates.d.ts +8 -0
  36. package/dist/block-templates.d.ts.map +1 -0
  37. package/dist/block-templates.js +60 -0
  38. package/dist/block-templates.js.map +1 -0
  39. package/dist/commands/agent.d.ts +19 -0
  40. package/dist/commands/agent.d.ts.map +1 -0
  41. package/dist/commands/agent.js +258 -0
  42. package/dist/commands/agent.js.map +1 -0
  43. package/dist/commands/app.d.ts +32 -0
  44. package/dist/commands/app.d.ts.map +1 -0
  45. package/dist/commands/app.js +307 -0
  46. package/dist/commands/app.js.map +1 -0
  47. package/dist/commands/build.d.ts +3 -0
  48. package/dist/commands/build.d.ts.map +1 -0
  49. package/dist/commands/build.js +69 -0
  50. package/dist/commands/build.js.map +1 -0
  51. package/dist/commands/build.test.d.ts +2 -0
  52. package/dist/commands/build.test.d.ts.map +1 -0
  53. package/dist/commands/build.test.js +44 -0
  54. package/dist/commands/build.test.js.map +1 -0
  55. package/dist/commands/certify.d.ts +3 -0
  56. package/dist/commands/certify.d.ts.map +1 -0
  57. package/dist/commands/certify.js +228 -0
  58. package/dist/commands/certify.js.map +1 -0
  59. package/dist/commands/compile.d.ts +21 -0
  60. package/dist/commands/compile.d.ts.map +1 -0
  61. package/dist/commands/compile.js +198 -0
  62. package/dist/commands/compile.js.map +1 -0
  63. package/dist/commands/compile.test.d.ts +2 -0
  64. package/dist/commands/compile.test.d.ts.map +1 -0
  65. package/dist/commands/compile.test.js +115 -0
  66. package/dist/commands/compile.test.js.map +1 -0
  67. package/dist/commands/diff.d.ts +3 -0
  68. package/dist/commands/diff.d.ts.map +1 -0
  69. package/dist/commands/diff.js +52 -0
  70. package/dist/commands/diff.js.map +1 -0
  71. package/dist/commands/doctor.d.ts +3 -0
  72. package/dist/commands/doctor.d.ts.map +1 -0
  73. package/dist/commands/doctor.js +191 -0
  74. package/dist/commands/doctor.js.map +1 -0
  75. package/dist/commands/doctor.test.d.ts +2 -0
  76. package/dist/commands/doctor.test.d.ts.map +1 -0
  77. package/dist/commands/doctor.test.js +43 -0
  78. package/dist/commands/doctor.test.js.map +1 -0
  79. package/dist/commands/fmt.d.ts +3 -0
  80. package/dist/commands/fmt.d.ts.map +1 -0
  81. package/dist/commands/fmt.js +53 -0
  82. package/dist/commands/fmt.js.map +1 -0
  83. package/dist/commands/import.d.ts +3 -0
  84. package/dist/commands/import.d.ts.map +1 -0
  85. package/dist/commands/import.js +50 -0
  86. package/dist/commands/import.js.map +1 -0
  87. package/dist/commands/info.d.ts +3 -0
  88. package/dist/commands/info.d.ts.map +1 -0
  89. package/dist/commands/info.js +56 -0
  90. package/dist/commands/info.js.map +1 -0
  91. package/dist/commands/init.d.ts +3 -0
  92. package/dist/commands/init.d.ts.map +1 -0
  93. package/dist/commands/init.js +250 -0
  94. package/dist/commands/init.js.map +1 -0
  95. package/dist/commands/init.test.d.ts +2 -0
  96. package/dist/commands/init.test.d.ts.map +1 -0
  97. package/dist/commands/init.test.js +118 -0
  98. package/dist/commands/init.test.js.map +1 -0
  99. package/dist/commands/lineage.d.ts +24 -0
  100. package/dist/commands/lineage.d.ts.map +1 -0
  101. package/dist/commands/lineage.js +634 -0
  102. package/dist/commands/lineage.js.map +1 -0
  103. package/dist/commands/mcp.d.ts +7 -0
  104. package/dist/commands/mcp.d.ts.map +1 -0
  105. package/dist/commands/mcp.js +16 -0
  106. package/dist/commands/mcp.js.map +1 -0
  107. package/dist/commands/migrate.d.ts +12 -0
  108. package/dist/commands/migrate.d.ts.map +1 -0
  109. package/dist/commands/migrate.js +197 -0
  110. package/dist/commands/migrate.js.map +1 -0
  111. package/dist/commands/new.d.ts +3 -0
  112. package/dist/commands/new.d.ts.map +1 -0
  113. package/dist/commands/new.js +490 -0
  114. package/dist/commands/new.js.map +1 -0
  115. package/dist/commands/new.test.d.ts +2 -0
  116. package/dist/commands/new.test.d.ts.map +1 -0
  117. package/dist/commands/new.test.js +191 -0
  118. package/dist/commands/new.test.js.map +1 -0
  119. package/dist/commands/notebook.d.ts +3 -0
  120. package/dist/commands/notebook.d.ts.map +1 -0
  121. package/dist/commands/notebook.js +46 -0
  122. package/dist/commands/notebook.js.map +1 -0
  123. package/dist/commands/parse.d.ts +3 -0
  124. package/dist/commands/parse.d.ts.map +1 -0
  125. package/dist/commands/parse.js +63 -0
  126. package/dist/commands/parse.js.map +1 -0
  127. package/dist/commands/preview.d.ts +3 -0
  128. package/dist/commands/preview.d.ts.map +1 -0
  129. package/dist/commands/preview.js +42 -0
  130. package/dist/commands/preview.js.map +1 -0
  131. package/dist/commands/schedule.d.ts +3 -0
  132. package/dist/commands/schedule.d.ts.map +1 -0
  133. package/dist/commands/schedule.js +215 -0
  134. package/dist/commands/schedule.js.map +1 -0
  135. package/dist/commands/semantic.d.ts +12 -0
  136. package/dist/commands/semantic.d.ts.map +1 -0
  137. package/dist/commands/semantic.js +356 -0
  138. package/dist/commands/semantic.js.map +1 -0
  139. package/dist/commands/serve.d.ts +3 -0
  140. package/dist/commands/serve.d.ts.map +1 -0
  141. package/dist/commands/serve.js +30 -0
  142. package/dist/commands/serve.js.map +1 -0
  143. package/dist/commands/slack.d.ts +13 -0
  144. package/dist/commands/slack.d.ts.map +1 -0
  145. package/dist/commands/slack.js +53 -0
  146. package/dist/commands/slack.js.map +1 -0
  147. package/dist/commands/sync.d.ts +3 -0
  148. package/dist/commands/sync.d.ts.map +1 -0
  149. package/dist/commands/sync.js +192 -0
  150. package/dist/commands/sync.js.map +1 -0
  151. package/dist/commands/sync.test.d.ts +2 -0
  152. package/dist/commands/sync.test.d.ts.map +1 -0
  153. package/dist/commands/sync.test.js +147 -0
  154. package/dist/commands/sync.test.js.map +1 -0
  155. package/dist/commands/test.d.ts +3 -0
  156. package/dist/commands/test.d.ts.map +1 -0
  157. package/dist/commands/test.js +167 -0
  158. package/dist/commands/test.js.map +1 -0
  159. package/dist/commands/validate.d.ts +3 -0
  160. package/dist/commands/validate.d.ts.map +1 -0
  161. package/dist/commands/validate.js +163 -0
  162. package/dist/commands/validate.js.map +1 -0
  163. package/dist/commands/validate.test.d.ts +2 -0
  164. package/dist/commands/validate.test.d.ts.map +1 -0
  165. package/dist/commands/validate.test.js +55 -0
  166. package/dist/commands/validate.test.js.map +1 -0
  167. package/dist/commands/verify.d.ts +11 -0
  168. package/dist/commands/verify.d.ts.map +1 -0
  169. package/dist/commands/verify.js +74 -0
  170. package/dist/commands/verify.js.map +1 -0
  171. package/dist/digest.d.ts +10 -0
  172. package/dist/digest.d.ts.map +1 -0
  173. package/dist/digest.js +83 -0
  174. package/dist/digest.js.map +1 -0
  175. package/dist/git-service.d.ts +17 -0
  176. package/dist/git-service.d.ts.map +1 -0
  177. package/dist/git-service.js +54 -0
  178. package/dist/git-service.js.map +1 -0
  179. package/dist/governance-runtime.d.ts +15 -0
  180. package/dist/governance-runtime.d.ts.map +1 -0
  181. package/dist/governance-runtime.js +50 -0
  182. package/dist/governance-runtime.js.map +1 -0
  183. package/dist/index.d.ts +3 -0
  184. package/dist/index.d.ts.map +1 -0
  185. package/{index.js → dist/index.js} +5 -0
  186. package/dist/index.js.map +1 -0
  187. package/dist/llm/index.d.ts +4 -0
  188. package/dist/llm/index.d.ts.map +1 -0
  189. package/dist/llm/index.js +20 -0
  190. package/dist/llm/index.js.map +1 -0
  191. package/dist/llm/providers/claude-agent-sdk.d.ts +3 -0
  192. package/dist/llm/providers/claude-agent-sdk.d.ts.map +1 -0
  193. package/dist/llm/providers/claude-agent-sdk.js +174 -0
  194. package/dist/llm/providers/claude-agent-sdk.js.map +1 -0
  195. package/dist/llm/providers/claude-code.d.ts +8 -0
  196. package/dist/llm/providers/claude-code.d.ts.map +1 -0
  197. package/dist/llm/providers/claude-code.js +171 -0
  198. package/dist/llm/providers/claude-code.js.map +1 -0
  199. package/dist/llm/providers/dql-agent-provider.d.ts +5 -0
  200. package/dist/llm/providers/dql-agent-provider.d.ts.map +1 -0
  201. package/dist/llm/providers/dql-agent-provider.js +287 -0
  202. package/dist/llm/providers/dql-agent-provider.js.map +1 -0
  203. package/dist/llm/tools.d.ts +9 -0
  204. package/dist/llm/tools.d.ts.map +1 -0
  205. package/dist/llm/tools.js +112 -0
  206. package/dist/llm/tools.js.map +1 -0
  207. package/dist/llm/types.d.ts +72 -0
  208. package/dist/llm/types.d.ts.map +1 -0
  209. package/dist/llm/types.js +2 -0
  210. package/dist/llm/types.js.map +1 -0
  211. package/dist/local-runtime.d.ts +142 -0
  212. package/dist/local-runtime.d.ts.map +1 -0
  213. package/dist/local-runtime.js +4859 -0
  214. package/dist/local-runtime.js.map +1 -0
  215. package/dist/local-runtime.test.d.ts +2 -0
  216. package/dist/local-runtime.test.d.ts.map +1 -0
  217. package/dist/local-runtime.test.js +241 -0
  218. package/dist/local-runtime.test.js.map +1 -0
  219. package/dist/metricflow.d.ts +35 -0
  220. package/dist/metricflow.d.ts.map +1 -0
  221. package/dist/metricflow.js +122 -0
  222. package/dist/metricflow.js.map +1 -0
  223. package/dist/metricflow.test.d.ts +2 -0
  224. package/dist/metricflow.test.d.ts.map +1 -0
  225. package/dist/metricflow.test.js +54 -0
  226. package/dist/metricflow.test.js.map +1 -0
  227. package/dist/open-browser.d.ts +2 -0
  228. package/dist/open-browser.d.ts.map +1 -0
  229. package/dist/open-browser.js +29 -0
  230. package/dist/open-browser.js.map +1 -0
  231. package/dist/schedule/alerts.d.ts +5 -0
  232. package/dist/schedule/alerts.d.ts.map +1 -0
  233. package/dist/schedule/alerts.js +54 -0
  234. package/dist/schedule/alerts.js.map +1 -0
  235. package/dist/schedule/discovery.d.ts +4 -0
  236. package/dist/schedule/discovery.d.ts.map +1 -0
  237. package/dist/schedule/discovery.js +36 -0
  238. package/dist/schedule/discovery.js.map +1 -0
  239. package/dist/schedule/notifiers/email.d.ts +3 -0
  240. package/dist/schedule/notifiers/email.d.ts.map +1 -0
  241. package/dist/schedule/notifiers/email.js +76 -0
  242. package/dist/schedule/notifiers/email.js.map +1 -0
  243. package/dist/schedule/notifiers/file.d.ts +3 -0
  244. package/dist/schedule/notifiers/file.d.ts.map +1 -0
  245. package/dist/schedule/notifiers/file.js +50 -0
  246. package/dist/schedule/notifiers/file.js.map +1 -0
  247. package/dist/schedule/notifiers/index.d.ts +10 -0
  248. package/dist/schedule/notifiers/index.d.ts.map +1 -0
  249. package/dist/schedule/notifiers/index.js +33 -0
  250. package/dist/schedule/notifiers/index.js.map +1 -0
  251. package/dist/schedule/notifiers/slack.d.ts +3 -0
  252. package/dist/schedule/notifiers/slack.d.ts.map +1 -0
  253. package/dist/schedule/notifiers/slack.js +58 -0
  254. package/dist/schedule/notifiers/slack.js.map +1 -0
  255. package/dist/schedule/runner.d.ts +14 -0
  256. package/dist/schedule/runner.d.ts.map +1 -0
  257. package/dist/schedule/runner.js +225 -0
  258. package/dist/schedule/runner.js.map +1 -0
  259. package/dist/schedule/runs.d.ts +5 -0
  260. package/dist/schedule/runs.d.ts.map +1 -0
  261. package/dist/schedule/runs.js +41 -0
  262. package/dist/schedule/runs.js.map +1 -0
  263. package/dist/schedule/service.d.ts +13 -0
  264. package/dist/schedule/service.d.ts.map +1 -0
  265. package/dist/schedule/service.js +87 -0
  266. package/dist/schedule/service.js.map +1 -0
  267. package/dist/schedule/types.d.ts +70 -0
  268. package/dist/schedule/types.d.ts.map +1 -0
  269. package/dist/schedule/types.js +2 -0
  270. package/dist/schedule/types.js.map +1 -0
  271. package/dist/semantic-import.d.ts +135 -0
  272. package/dist/semantic-import.d.ts.map +1 -0
  273. package/dist/semantic-import.js +979 -0
  274. package/dist/semantic-import.js.map +1 -0
  275. package/dist/semantic-import.test.d.ts +2 -0
  276. package/dist/semantic-import.test.d.ts.map +1 -0
  277. package/dist/semantic-import.test.js +95 -0
  278. package/dist/semantic-import.test.js.map +1 -0
  279. package/dist/settings/provider-settings.d.ts +33 -0
  280. package/dist/settings/provider-settings.d.ts.map +1 -0
  281. package/dist/settings/provider-settings.js +91 -0
  282. package/dist/settings/provider-settings.js.map +1 -0
  283. package/package.json +29 -21
@@ -0,0 +1,336 @@
1
+ :root {
2
+ color-scheme: dark;
3
+ --bg: #09111f;
4
+ --panel: #0f172a;
5
+ --panel-2: #111c31;
6
+ --border: #243248;
7
+ --text: #e5eefc;
8
+ --muted: #93a4bf;
9
+ --accent: #59c2ff;
10
+ --accent-2: #2563eb;
11
+ --danger: #ef4444;
12
+ --success: #22c55e;
13
+ }
14
+
15
+ * {
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ body {
20
+ margin: 0;
21
+ font-family: Inter, system-ui, sans-serif;
22
+ background: radial-gradient(circle at top, #10203c, var(--bg) 48%);
23
+ color: var(--text);
24
+ }
25
+
26
+ button,
27
+ select,
28
+ input,
29
+ textarea {
30
+ font: inherit;
31
+ }
32
+
33
+ button {
34
+ border: 1px solid var(--border);
35
+ background: var(--panel-2);
36
+ color: var(--text);
37
+ border-radius: 10px;
38
+ padding: 0.6rem 0.9rem;
39
+ cursor: pointer;
40
+ }
41
+
42
+ button.primary {
43
+ background: linear-gradient(135deg, var(--accent), var(--accent-2));
44
+ color: #08111f;
45
+ border-color: transparent;
46
+ }
47
+
48
+ button.secondary {
49
+ background: transparent;
50
+ }
51
+
52
+ .app-shell {
53
+ display: grid;
54
+ grid-template-columns: 300px 1fr;
55
+ min-height: 100vh;
56
+ }
57
+
58
+ .sidebar {
59
+ border-right: 1px solid var(--border);
60
+ background: rgba(9, 17, 31, 0.88);
61
+ padding: 1.25rem;
62
+ position: sticky;
63
+ top: 0;
64
+ height: 100vh;
65
+ overflow: auto;
66
+ }
67
+
68
+ .brand {
69
+ display: flex;
70
+ gap: 0.9rem;
71
+ align-items: center;
72
+ margin-bottom: 1.5rem;
73
+ }
74
+
75
+ .brand p,
76
+ .subtitle,
77
+ .status,
78
+ .field-help,
79
+ .cell-status {
80
+ color: var(--muted);
81
+ }
82
+
83
+ .brand-mark {
84
+ width: 48px;
85
+ height: 48px;
86
+ border-radius: 14px;
87
+ background: linear-gradient(135deg, var(--accent), #8b5cf6);
88
+ color: #05111f;
89
+ display: grid;
90
+ place-items: center;
91
+ font-weight: 700;
92
+ }
93
+
94
+ .section-title {
95
+ font-size: 0.82rem;
96
+ text-transform: uppercase;
97
+ letter-spacing: 0.08em;
98
+ color: var(--muted);
99
+ margin: 1.25rem 0 0.75rem;
100
+ }
101
+
102
+ .panel,
103
+ .cell,
104
+ .chart-editor,
105
+ .table-shell {
106
+ background: rgba(17, 28, 49, 0.82);
107
+ border: 1px solid var(--border);
108
+ border-radius: 16px;
109
+ }
110
+
111
+ .panel {
112
+ padding: 0.85rem;
113
+ }
114
+
115
+ .panel.small {
116
+ margin-bottom: 0.8rem;
117
+ }
118
+
119
+ .main {
120
+ padding: 1.25rem 1.4rem 2rem;
121
+ }
122
+
123
+ .toolbar {
124
+ display: flex;
125
+ justify-content: space-between;
126
+ align-items: flex-start;
127
+ gap: 1rem;
128
+ margin-bottom: 1rem;
129
+ }
130
+
131
+ .toolbar h1 {
132
+ margin: 0 0 0.3rem;
133
+ }
134
+
135
+ .toolbar-actions,
136
+ .row-actions,
137
+ .cell-actions {
138
+ display: flex;
139
+ gap: 0.55rem;
140
+ flex-wrap: wrap;
141
+ }
142
+
143
+ .cells {
144
+ display: grid;
145
+ gap: 1rem;
146
+ }
147
+
148
+ .cell {
149
+ overflow: hidden;
150
+ }
151
+
152
+ .cell-header {
153
+ padding: 0.85rem 1rem;
154
+ border-bottom: 1px solid var(--border);
155
+ display: flex;
156
+ justify-content: space-between;
157
+ gap: 0.75rem;
158
+ align-items: center;
159
+ }
160
+
161
+ .cell-type {
162
+ display: inline-block;
163
+ min-width: 88px;
164
+ font-size: 0.76rem;
165
+ letter-spacing: 0.08em;
166
+ text-transform: uppercase;
167
+ color: var(--accent);
168
+ }
169
+
170
+ .cell-title,
171
+ select,
172
+ .field input {
173
+ width: 100%;
174
+ padding: 0.65rem 0.75rem;
175
+ border-radius: 10px;
176
+ border: 1px solid var(--border);
177
+ background: rgba(9, 17, 31, 0.8);
178
+ color: var(--text);
179
+ }
180
+
181
+ .cell-title {
182
+ margin-top: 0.35rem;
183
+ }
184
+
185
+ .cell-body {
186
+ padding: 1rem;
187
+ }
188
+
189
+ .cell-source {
190
+ width: 100%;
191
+ min-height: 200px;
192
+ padding: 0.85rem;
193
+ border-radius: 12px;
194
+ border: 1px solid var(--border);
195
+ background: #07101d;
196
+ color: var(--text);
197
+ resize: vertical;
198
+ }
199
+
200
+ .cell-output {
201
+ margin-top: 1rem;
202
+ }
203
+
204
+ .file-list {
205
+ list-style: none;
206
+ padding: 0;
207
+ margin: 0;
208
+ }
209
+
210
+ .file-list li {
211
+ padding: 0.42rem 0;
212
+ color: var(--muted);
213
+ border-bottom: 1px solid rgba(36, 50, 72, 0.35);
214
+ }
215
+
216
+ .field {
217
+ margin-top: 0.75rem;
218
+ }
219
+
220
+ .field-label {
221
+ display: block;
222
+ margin-top: 0.6rem;
223
+ margin-bottom: 0.35rem;
224
+ color: var(--muted);
225
+ }
226
+
227
+ .checkbox {
228
+ display: flex;
229
+ align-items: center;
230
+ gap: 0.5rem;
231
+ }
232
+
233
+ .chart-editor {
234
+ display: grid;
235
+ grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
236
+ gap: 0.75rem;
237
+ padding: 0.9rem;
238
+ margin-bottom: 1rem;
239
+ }
240
+
241
+ .chart-card {
242
+ padding: 1rem;
243
+ background: linear-gradient(180deg, rgba(12, 21, 37, 0.98), rgba(17, 28, 49, 0.9));
244
+ border-radius: 14px;
245
+ border: 1px solid var(--border);
246
+ }
247
+
248
+ .kpi-value {
249
+ font-size: 2rem;
250
+ font-weight: 700;
251
+ margin-top: 0.5rem;
252
+ }
253
+
254
+ .bar-row {
255
+ display: grid;
256
+ grid-template-columns: 140px 1fr 90px;
257
+ gap: 0.75rem;
258
+ align-items: center;
259
+ margin-bottom: 0.5rem;
260
+ }
261
+
262
+ .bar-track {
263
+ height: 12px;
264
+ background: rgba(255, 255, 255, 0.06);
265
+ border-radius: 999px;
266
+ overflow: hidden;
267
+ }
268
+
269
+ .bar-fill {
270
+ height: 100%;
271
+ background: linear-gradient(90deg, var(--accent), #8b5cf6);
272
+ }
273
+
274
+ .table-shell {
275
+ overflow: auto;
276
+ }
277
+
278
+ table {
279
+ width: 100%;
280
+ border-collapse: collapse;
281
+ }
282
+
283
+ th,
284
+ td {
285
+ text-align: left;
286
+ padding: 0.7rem 0.85rem;
287
+ border-bottom: 1px solid rgba(36, 50, 72, 0.6);
288
+ }
289
+
290
+ th {
291
+ color: var(--muted);
292
+ font-size: 0.85rem;
293
+ }
294
+
295
+ .markdown-preview {
296
+ padding: 1rem;
297
+ border: 1px solid var(--border);
298
+ border-radius: 12px;
299
+ background: rgba(7, 16, 29, 0.7);
300
+ line-height: 1.6;
301
+ }
302
+
303
+ .markdown-preview h1,
304
+ .markdown-preview h2,
305
+ .markdown-preview h3 {
306
+ margin-top: 0;
307
+ }
308
+
309
+ .status.ok {
310
+ color: var(--success);
311
+ }
312
+
313
+ .status.error {
314
+ color: var(--danger);
315
+ }
316
+
317
+ .hidden {
318
+ display: none;
319
+ }
320
+
321
+ @media (max-width: 1100px) {
322
+ .app-shell {
323
+ grid-template-columns: 1fr;
324
+ }
325
+
326
+ .sidebar {
327
+ position: static;
328
+ height: auto;
329
+ border-right: 0;
330
+ border-bottom: 1px solid var(--border);
331
+ }
332
+
333
+ .toolbar {
334
+ flex-direction: column;
335
+ }
336
+ }
@@ -0,0 +1,58 @@
1
+ export type BlockStudioImportSourceKind = 'raw-sql-file' | 'raw-sql-folder' | 'tableau-workbook' | 'powerbi-project';
2
+ export type BlockStudioImportReviewStatus = 'draft' | 'saved' | 'rejected';
3
+ export interface BlockStudioImportLineage {
4
+ sourceTables: string[];
5
+ parameters: string[];
6
+ warnings: string[];
7
+ statementIndex: number;
8
+ totalStatements: number;
9
+ }
10
+ export interface BlockStudioImportCandidate {
11
+ id: string;
12
+ sourceKind: BlockStudioImportSourceKind;
13
+ sourcePath: string;
14
+ name: string;
15
+ domain: string;
16
+ description: string;
17
+ owner: string;
18
+ tags: string[];
19
+ sql: string;
20
+ dqlSource: string;
21
+ validation: unknown | null;
22
+ preview: unknown | null;
23
+ lineage: BlockStudioImportLineage;
24
+ confidence: number;
25
+ reviewStatus: BlockStudioImportReviewStatus;
26
+ savedPath?: string;
27
+ }
28
+ export interface BlockStudioImportManifest {
29
+ id: string;
30
+ sourceKind: BlockStudioImportSourceKind;
31
+ inputPath: string;
32
+ createdAt: string;
33
+ updatedAt: string;
34
+ defaults: {
35
+ domain: string;
36
+ owner: string;
37
+ tags: string[];
38
+ };
39
+ candidateIds: string[];
40
+ }
41
+ export interface BlockStudioImportSession extends BlockStudioImportManifest {
42
+ candidates: BlockStudioImportCandidate[];
43
+ }
44
+ export interface CreateBlockStudioImportOptions {
45
+ sourceKind?: BlockStudioImportSourceKind | 'raw-sql';
46
+ inputPath: string;
47
+ domain?: string;
48
+ owner?: string;
49
+ tags?: string[];
50
+ }
51
+ export declare function createBlockStudioImportSession(projectRoot: string, options: CreateBlockStudioImportOptions): BlockStudioImportSession;
52
+ export declare function loadBlockStudioImportSession(projectRoot: string, importId: string): BlockStudioImportSession;
53
+ export declare function writeBlockStudioImportSession(projectRoot: string, session: BlockStudioImportSession): void;
54
+ export declare function writeBlockStudioImportCandidate(projectRoot: string, importId: string, candidate: BlockStudioImportCandidate): void;
55
+ export declare function readBlockStudioImportCandidate(projectRoot: string, importId: string, candidateId: string): BlockStudioImportCandidate;
56
+ export declare function updateBlockStudioImportCandidate(projectRoot: string, importId: string, candidateId: string, patch: Partial<Pick<BlockStudioImportCandidate, 'name' | 'domain' | 'description' | 'owner' | 'tags' | 'sql' | 'reviewStatus'>>): BlockStudioImportCandidate;
57
+ export declare function candidateToDqlSource(candidate: Pick<BlockStudioImportCandidate, 'name' | 'domain' | 'description' | 'owner' | 'tags' | 'sql'>): string;
58
+ //# sourceMappingURL=block-studio-import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-studio-import.d.ts","sourceRoot":"","sources":["../src/block-studio-import.ts"],"names":[],"mappings":"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"}