coalesce-transform-mcp 0.3.0 → 0.4.2

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 (279) hide show
  1. package/README.md +74 -3
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +6 -2
  4. package/dist/client.js.map +1 -1
  5. package/dist/coalesce/api/environments.d.ts +0 -12
  6. package/dist/coalesce/api/environments.d.ts.map +1 -1
  7. package/dist/coalesce/api/environments.js +0 -4
  8. package/dist/coalesce/api/environments.js.map +1 -1
  9. package/dist/coalesce/api/jobs.d.ts +3 -5
  10. package/dist/coalesce/api/jobs.d.ts.map +1 -1
  11. package/dist/coalesce/api/jobs.js +3 -6
  12. package/dist/coalesce/api/jobs.js.map +1 -1
  13. package/dist/coalesce/api/nodes.d.ts +3 -3
  14. package/dist/coalesce/api/nodes.d.ts.map +1 -1
  15. package/dist/coalesce/api/nodes.js +6 -4
  16. package/dist/coalesce/api/nodes.js.map +1 -1
  17. package/dist/coalesce/api/runs.d.ts.map +1 -1
  18. package/dist/coalesce/api/runs.js +11 -1
  19. package/dist/coalesce/api/runs.js.map +1 -1
  20. package/dist/coalesce/api/scan.d.ts +14 -0
  21. package/dist/coalesce/api/scan.d.ts.map +1 -0
  22. package/dist/coalesce/api/scan.js +64 -0
  23. package/dist/coalesce/api/scan.js.map +1 -0
  24. package/dist/coalesce/api/subgraphs.d.ts +3 -2
  25. package/dist/coalesce/api/subgraphs.d.ts.map +1 -1
  26. package/dist/coalesce/api/subgraphs.js +3 -2
  27. package/dist/coalesce/api/subgraphs.js.map +1 -1
  28. package/dist/coalesce/run-schemas.d.ts.map +1 -1
  29. package/dist/coalesce/run-schemas.js +26 -16
  30. package/dist/coalesce/run-schemas.js.map +1 -1
  31. package/dist/coalesce/tool-response.d.ts +1 -13
  32. package/dist/coalesce/tool-response.d.ts.map +1 -1
  33. package/dist/coalesce/tool-response.js +20 -6
  34. package/dist/coalesce/tool-response.js.map +1 -1
  35. package/dist/coalesce/tool-schemas.d.ts +1 -2
  36. package/dist/coalesce/tool-schemas.d.ts.map +1 -1
  37. package/dist/coalesce/tool-schemas.js +368 -5
  38. package/dist/coalesce/tool-schemas.js.map +1 -1
  39. package/dist/coalesce/types.d.ts +8 -0
  40. package/dist/coalesce/types.d.ts.map +1 -1
  41. package/dist/coalesce/types.js +3 -1
  42. package/dist/coalesce/types.js.map +1 -1
  43. package/dist/constants.d.ts +18 -0
  44. package/dist/constants.d.ts.map +1 -0
  45. package/dist/constants.js +21 -0
  46. package/dist/constants.js.map +1 -0
  47. package/dist/mcp/cache.d.ts +2 -1
  48. package/dist/mcp/cache.d.ts.map +1 -1
  49. package/dist/mcp/cache.js +122 -138
  50. package/dist/mcp/cache.js.map +1 -1
  51. package/dist/mcp/environments.d.ts +2 -1
  52. package/dist/mcp/environments.d.ts.map +1 -1
  53. package/dist/mcp/environments.js +56 -112
  54. package/dist/mcp/environments.js.map +1 -1
  55. package/dist/mcp/git-accounts.d.ts +2 -1
  56. package/dist/mcp/git-accounts.d.ts.map +1 -1
  57. package/dist/mcp/git-accounts.js +74 -96
  58. package/dist/mcp/git-accounts.js.map +1 -1
  59. package/dist/mcp/jobs.d.ts +2 -1
  60. package/dist/mcp/jobs.d.ts.map +1 -1
  61. package/dist/mcp/jobs.js +68 -122
  62. package/dist/mcp/jobs.js.map +1 -1
  63. package/dist/mcp/lineage.d.ts +5 -0
  64. package/dist/mcp/lineage.d.ts.map +1 -0
  65. package/dist/mcp/lineage.js +410 -0
  66. package/dist/mcp/lineage.js.map +1 -0
  67. package/dist/mcp/node-type-corpus.d.ts +2 -1
  68. package/dist/mcp/node-type-corpus.d.ts.map +1 -1
  69. package/dist/mcp/node-type-corpus.js +148 -151
  70. package/dist/mcp/node-type-corpus.js.map +1 -1
  71. package/dist/mcp/nodes.d.ts +2 -1
  72. package/dist/mcp/nodes.d.ts.map +1 -1
  73. package/dist/mcp/nodes.js +358 -464
  74. package/dist/mcp/nodes.js.map +1 -1
  75. package/dist/mcp/pipelines.d.ts +2 -1
  76. package/dist/mcp/pipelines.d.ts.map +1 -1
  77. package/dist/mcp/pipelines.js +514 -314
  78. package/dist/mcp/pipelines.js.map +1 -1
  79. package/dist/mcp/projects.d.ts +2 -1
  80. package/dist/mcp/projects.d.ts.map +1 -1
  81. package/dist/mcp/projects.js +66 -100
  82. package/dist/mcp/projects.js.map +1 -1
  83. package/dist/mcp/repo-node-types.d.ts +2 -1
  84. package/dist/mcp/repo-node-types.d.ts.map +1 -1
  85. package/dist/mcp/repo-node-types.js +92 -121
  86. package/dist/mcp/repo-node-types.js.map +1 -1
  87. package/dist/mcp/runs.d.ts +3 -2
  88. package/dist/mcp/runs.d.ts.map +1 -1
  89. package/dist/mcp/runs.js +93 -148
  90. package/dist/mcp/runs.js.map +1 -1
  91. package/dist/mcp/skills.d.ts +13 -0
  92. package/dist/mcp/skills.d.ts.map +1 -0
  93. package/dist/mcp/skills.js +85 -0
  94. package/dist/mcp/skills.js.map +1 -0
  95. package/dist/mcp/subgraphs.d.ts +2 -1
  96. package/dist/mcp/subgraphs.d.ts.map +1 -1
  97. package/dist/mcp/subgraphs.js +61 -98
  98. package/dist/mcp/subgraphs.js.map +1 -1
  99. package/dist/mcp/tool-helpers.d.ts +37 -0
  100. package/dist/mcp/tool-helpers.d.ts.map +1 -0
  101. package/dist/mcp/tool-helpers.js +82 -0
  102. package/dist/mcp/tool-helpers.js.map +1 -0
  103. package/dist/mcp/users.d.ts +2 -1
  104. package/dist/mcp/users.d.ts.map +1 -1
  105. package/dist/mcp/users.js +92 -145
  106. package/dist/mcp/users.js.map +1 -1
  107. package/dist/mcp/workshop.d.ts +2 -1
  108. package/dist/mcp/workshop.d.ts.map +1 -1
  109. package/dist/mcp/workshop.js +66 -101
  110. package/dist/mcp/workshop.js.map +1 -1
  111. package/dist/mcp/workspaces.d.ts +2 -1
  112. package/dist/mcp/workspaces.d.ts.map +1 -1
  113. package/dist/mcp/workspaces.js +19 -34
  114. package/dist/mcp/workspaces.js.map +1 -1
  115. package/dist/prompts/index.d.ts.map +1 -1
  116. package/dist/prompts/index.js +85 -0
  117. package/dist/prompts/index.js.map +1 -1
  118. package/dist/resources/context/pipeline-workshop-guide.md +1 -1
  119. package/dist/resources/context/tool-usage.md +7 -0
  120. package/dist/resources/index.d.ts +13 -0
  121. package/dist/resources/index.d.ts.map +1 -1
  122. package/dist/resources/index.js +105 -5
  123. package/dist/resources/index.js.map +1 -1
  124. package/dist/schemas/node-payloads.d.ts +2 -2
  125. package/dist/server.d.ts +2 -1
  126. package/dist/server.d.ts.map +1 -1
  127. package/dist/server.js +158 -41
  128. package/dist/server.js.map +1 -1
  129. package/dist/services/cache/snapshots.d.ts.map +1 -1
  130. package/dist/services/cache/snapshots.js +9 -5
  131. package/dist/services/cache/snapshots.js.map +1 -1
  132. package/dist/services/config/schema-resolver.d.ts.map +1 -1
  133. package/dist/services/config/schema-resolver.js +3 -6
  134. package/dist/services/config/schema-resolver.js.map +1 -1
  135. package/dist/services/lineage/lineage-cache.d.ts +53 -0
  136. package/dist/services/lineage/lineage-cache.d.ts.map +1 -0
  137. package/dist/services/lineage/lineage-cache.js +335 -0
  138. package/dist/services/lineage/lineage-cache.js.map +1 -0
  139. package/dist/services/lineage/lineage-documentation.d.ts +29 -0
  140. package/dist/services/lineage/lineage-documentation.d.ts.map +1 -0
  141. package/dist/services/lineage/lineage-documentation.js +80 -0
  142. package/dist/services/lineage/lineage-documentation.js.map +1 -0
  143. package/dist/services/lineage/lineage-propagation.d.ts +47 -0
  144. package/dist/services/lineage/lineage-propagation.d.ts.map +1 -0
  145. package/dist/services/lineage/lineage-propagation.js +176 -0
  146. package/dist/services/lineage/lineage-propagation.js.map +1 -0
  147. package/dist/services/lineage/lineage-search.d.ts +33 -0
  148. package/dist/services/lineage/lineage-search.d.ts.map +1 -0
  149. package/dist/services/lineage/lineage-search.js +133 -0
  150. package/dist/services/lineage/lineage-search.js.map +1 -0
  151. package/dist/services/lineage/lineage-traversal.d.ts +34 -0
  152. package/dist/services/lineage/lineage-traversal.d.ts.map +1 -0
  153. package/dist/services/lineage/lineage-traversal.js +283 -0
  154. package/dist/services/lineage/lineage-traversal.js.map +1 -0
  155. package/dist/services/pipelines/clause-extraction.d.ts +3 -0
  156. package/dist/services/pipelines/clause-extraction.d.ts.map +1 -0
  157. package/dist/services/pipelines/clause-extraction.js +27 -0
  158. package/dist/services/pipelines/clause-extraction.js.map +1 -0
  159. package/dist/services/pipelines/column-helpers.d.ts +8 -0
  160. package/dist/services/pipelines/column-helpers.d.ts.map +1 -0
  161. package/dist/services/pipelines/column-helpers.js +125 -0
  162. package/dist/services/pipelines/column-helpers.js.map +1 -0
  163. package/dist/services/pipelines/cte-parsing.d.ts +29 -0
  164. package/dist/services/pipelines/cte-parsing.d.ts.map +1 -0
  165. package/dist/services/pipelines/cte-parsing.js +160 -0
  166. package/dist/services/pipelines/cte-parsing.js.map +1 -0
  167. package/dist/services/pipelines/cte-planning.d.ts +22 -0
  168. package/dist/services/pipelines/cte-planning.d.ts.map +1 -0
  169. package/dist/services/pipelines/cte-planning.js +206 -0
  170. package/dist/services/pipelines/cte-planning.js.map +1 -0
  171. package/dist/services/pipelines/execution.d.ts.map +1 -1
  172. package/dist/services/pipelines/execution.js +0 -1
  173. package/dist/services/pipelines/execution.js.map +1 -1
  174. package/dist/services/pipelines/intent-parsing.d.ts +24 -0
  175. package/dist/services/pipelines/intent-parsing.d.ts.map +1 -0
  176. package/dist/services/pipelines/intent-parsing.js +245 -0
  177. package/dist/services/pipelines/intent-parsing.js.map +1 -0
  178. package/dist/services/pipelines/intent-resolution.d.ts +24 -0
  179. package/dist/services/pipelines/intent-resolution.d.ts.map +1 -0
  180. package/dist/services/pipelines/intent-resolution.js +141 -0
  181. package/dist/services/pipelines/intent-resolution.js.map +1 -0
  182. package/dist/services/pipelines/intent.d.ts +4 -45
  183. package/dist/services/pipelines/intent.d.ts.map +1 -1
  184. package/dist/services/pipelines/intent.js +14 -408
  185. package/dist/services/pipelines/intent.js.map +1 -1
  186. package/dist/services/pipelines/node-type-candidates.d.ts +6 -0
  187. package/dist/services/pipelines/node-type-candidates.d.ts.map +1 -0
  188. package/dist/services/pipelines/node-type-candidates.js +165 -0
  189. package/dist/services/pipelines/node-type-candidates.js.map +1 -0
  190. package/dist/services/pipelines/node-type-intent.d.ts +1 -5
  191. package/dist/services/pipelines/node-type-intent.d.ts.map +1 -1
  192. package/dist/services/pipelines/node-type-intent.js +1 -5
  193. package/dist/services/pipelines/node-type-intent.js.map +1 -1
  194. package/dist/services/pipelines/node-type-scoring.d.ts +13 -0
  195. package/dist/services/pipelines/node-type-scoring.d.ts.map +1 -0
  196. package/dist/services/pipelines/node-type-scoring.js +322 -0
  197. package/dist/services/pipelines/node-type-scoring.js.map +1 -0
  198. package/dist/services/pipelines/node-type-selection.d.ts +22 -2
  199. package/dist/services/pipelines/node-type-selection.d.ts.map +1 -1
  200. package/dist/services/pipelines/node-type-selection.js +16 -538
  201. package/dist/services/pipelines/node-type-selection.js.map +1 -1
  202. package/dist/services/pipelines/plan-builder.d.ts +33 -0
  203. package/dist/services/pipelines/plan-builder.d.ts.map +1 -0
  204. package/dist/services/pipelines/plan-builder.js +224 -0
  205. package/dist/services/pipelines/plan-builder.js.map +1 -0
  206. package/dist/services/pipelines/planning-types.d.ts +543 -0
  207. package/dist/services/pipelines/planning-types.d.ts.map +1 -0
  208. package/dist/services/pipelines/planning-types.js +85 -0
  209. package/dist/services/pipelines/planning-types.js.map +1 -0
  210. package/dist/services/pipelines/planning.d.ts +8 -537
  211. package/dist/services/pipelines/planning.d.ts.map +1 -1
  212. package/dist/services/pipelines/planning.js +10 -1956
  213. package/dist/services/pipelines/planning.js.map +1 -1
  214. package/dist/services/pipelines/review.d.ts.map +1 -1
  215. package/dist/services/pipelines/review.js +3 -8
  216. package/dist/services/pipelines/review.js.map +1 -1
  217. package/dist/services/pipelines/select-parsing.d.ts +7 -0
  218. package/dist/services/pipelines/select-parsing.d.ts.map +1 -0
  219. package/dist/services/pipelines/select-parsing.js +185 -0
  220. package/dist/services/pipelines/select-parsing.js.map +1 -0
  221. package/dist/services/pipelines/source-parsing.d.ts +8 -0
  222. package/dist/services/pipelines/source-parsing.d.ts.map +1 -0
  223. package/dist/services/pipelines/source-parsing.js +151 -0
  224. package/dist/services/pipelines/source-parsing.js.map +1 -0
  225. package/dist/services/pipelines/sql-parsing.d.ts +8 -0
  226. package/dist/services/pipelines/sql-parsing.d.ts.map +1 -0
  227. package/dist/services/pipelines/sql-parsing.js +9 -0
  228. package/dist/services/pipelines/sql-parsing.js.map +1 -0
  229. package/dist/services/pipelines/sql-tokenizer.d.ts +42 -0
  230. package/dist/services/pipelines/sql-tokenizer.d.ts.map +1 -0
  231. package/dist/services/pipelines/sql-tokenizer.js +493 -0
  232. package/dist/services/pipelines/sql-tokenizer.js.map +1 -0
  233. package/dist/services/pipelines/sql-utils.d.ts +30 -0
  234. package/dist/services/pipelines/sql-utils.d.ts.map +1 -0
  235. package/dist/services/pipelines/sql-utils.js +62 -0
  236. package/dist/services/pipelines/sql-utils.js.map +1 -0
  237. package/dist/services/pipelines/workshop.d.ts.map +1 -1
  238. package/dist/services/pipelines/workshop.js +53 -25
  239. package/dist/services/pipelines/workshop.js.map +1 -1
  240. package/dist/services/pipelines/workspace-resolution.d.ts +18 -0
  241. package/dist/services/pipelines/workspace-resolution.d.ts.map +1 -0
  242. package/dist/services/pipelines/workspace-resolution.js +279 -0
  243. package/dist/services/pipelines/workspace-resolution.js.map +1 -0
  244. package/dist/services/runs/diagnostics.d.ts.map +1 -1
  245. package/dist/services/runs/diagnostics.js +3 -8
  246. package/dist/services/runs/diagnostics.js.map +1 -1
  247. package/dist/services/shared/elicitation.d.ts +14 -0
  248. package/dist/services/shared/elicitation.d.ts.map +1 -0
  249. package/dist/services/shared/elicitation.js +56 -0
  250. package/dist/services/shared/elicitation.js.map +1 -0
  251. package/dist/services/workspace/node-creation.d.ts.map +1 -1
  252. package/dist/services/workspace/node-creation.js +5 -1
  253. package/dist/services/workspace/node-creation.js.map +1 -1
  254. package/dist/services/workspace/node-update-helpers.d.ts.map +1 -1
  255. package/dist/services/workspace/node-update-helpers.js +3 -8
  256. package/dist/services/workspace/node-update-helpers.js.map +1 -1
  257. package/dist/utils.d.ts +11 -0
  258. package/dist/utils.d.ts.map +1 -1
  259. package/dist/utils.js +20 -1
  260. package/dist/utils.js.map +1 -1
  261. package/dist/workflows/get-environment-health.d.ts +49 -0
  262. package/dist/workflows/get-environment-health.d.ts.map +1 -0
  263. package/dist/workflows/get-environment-health.js +310 -0
  264. package/dist/workflows/get-environment-health.js.map +1 -0
  265. package/dist/workflows/get-environment-overview.d.ts +2 -1
  266. package/dist/workflows/get-environment-overview.d.ts.map +1 -1
  267. package/dist/workflows/get-environment-overview.js +13 -19
  268. package/dist/workflows/get-environment-overview.js.map +1 -1
  269. package/dist/workflows/get-run-details.d.ts +2 -2
  270. package/dist/workflows/get-run-details.d.ts.map +1 -1
  271. package/dist/workflows/get-run-details.js +14 -19
  272. package/dist/workflows/get-run-details.js.map +1 -1
  273. package/dist/workflows/retry-and-wait.d.ts.map +1 -1
  274. package/dist/workflows/retry-and-wait.js +3 -2
  275. package/dist/workflows/retry-and-wait.js.map +1 -1
  276. package/dist/workflows/run-and-wait.d.ts.map +1 -1
  277. package/dist/workflows/run-and-wait.js +3 -2
  278. package/dist/workflows/run-and-wait.js.map +1 -1
  279. package/package.json +2 -2
@@ -0,0 +1,543 @@
1
+ import { z } from "zod";
2
+ import { type PipelineNodeTypeFamily, type PipelineNodeTypeSelection, type PipelineTemplateDefaults } from "./node-type-selection.js";
3
+ export type PipelineIntent = "sql" | "goal";
4
+ export type PipelineStatus = "ready" | "needs_clarification";
5
+ export type PipelineNodeType = string;
6
+ export type PlannedSelectItemKind = "column" | "expression";
7
+ export type PlannedSelectItem = {
8
+ expression: string;
9
+ outputName: string | null;
10
+ sourceNodeAlias: string | null;
11
+ sourceNodeName: string | null;
12
+ sourceNodeID: string | null;
13
+ sourceColumnName: string | null;
14
+ kind: PlannedSelectItemKind;
15
+ supported: boolean;
16
+ reason?: string;
17
+ };
18
+ export type PlannedSourceRef = {
19
+ locationName: string;
20
+ nodeName: string;
21
+ alias: string | null;
22
+ nodeID: string | null;
23
+ };
24
+ export type PlannedPipelineNode = {
25
+ planNodeID: string;
26
+ name: string;
27
+ nodeType: PipelineNodeType;
28
+ nodeTypeFamily?: PipelineNodeTypeFamily | null;
29
+ predecessorNodeIDs: string[];
30
+ predecessorPlanNodeIDs: string[];
31
+ predecessorNodeNames: string[];
32
+ description: string | null;
33
+ sql: string | null;
34
+ selectItems: PlannedSelectItem[];
35
+ outputColumnNames: string[];
36
+ configOverrides: Record<string, unknown>;
37
+ sourceRefs: PlannedSourceRef[];
38
+ joinCondition: string | null;
39
+ location: {
40
+ locationName?: string;
41
+ database?: string;
42
+ schema?: string;
43
+ };
44
+ requiresFullSetNode: boolean;
45
+ templateDefaults?: PipelineTemplateDefaults;
46
+ };
47
+ export type PipelinePlan = {
48
+ version: 1;
49
+ intent: PipelineIntent;
50
+ status: PipelineStatus;
51
+ workspaceID: string;
52
+ platform: string | null;
53
+ goal: string | null;
54
+ sql: string | null;
55
+ nodes: PlannedPipelineNode[];
56
+ assumptions: string[];
57
+ openQuestions: string[];
58
+ warnings: string[];
59
+ supportedNodeTypes: PipelineNodeType[];
60
+ nodeTypeSelection?: PipelineNodeTypeSelection;
61
+ cteNodeSummary?: CteNodeSummary[];
62
+ STOP_AND_CONFIRM?: string;
63
+ };
64
+ export type CteNodeSummary = {
65
+ name: string;
66
+ nodeType: string;
67
+ pattern: "staging" | "multiSource" | "aggregation";
68
+ sourceTable: string | null;
69
+ columnCount: number;
70
+ transforms: Array<{
71
+ column: string;
72
+ expression: string;
73
+ }>;
74
+ passthroughColumns: string[];
75
+ whereFilter: string | null;
76
+ hasGroupBy: boolean;
77
+ hasJoin: boolean;
78
+ dependsOn: string[];
79
+ /** Structured columns for single-call creation (non-GROUP-BY CTEs) */
80
+ columnsParam?: Array<{
81
+ name: string;
82
+ transform?: string;
83
+ }>;
84
+ /** GROUP BY column expressions for single-call aggregation */
85
+ groupByColumnsParam?: string[];
86
+ /** Aggregate columns for single-call aggregation */
87
+ aggregatesParam?: Array<{
88
+ name: string;
89
+ function: string;
90
+ expression: string;
91
+ }>;
92
+ };
93
+ export declare const PipelinePlanSchema: z.ZodObject<{
94
+ version: z.ZodLiteral<1>;
95
+ intent: z.ZodEnum<["sql", "goal"]>;
96
+ status: z.ZodEnum<["ready", "needs_clarification"]>;
97
+ workspaceID: z.ZodString;
98
+ platform: z.ZodNullable<z.ZodString>;
99
+ goal: z.ZodNullable<z.ZodString>;
100
+ sql: z.ZodNullable<z.ZodString>;
101
+ nodes: z.ZodArray<z.ZodObject<{
102
+ planNodeID: z.ZodString;
103
+ name: z.ZodString;
104
+ nodeType: z.ZodString;
105
+ nodeTypeFamily: z.ZodOptional<z.ZodNullable<z.ZodEnum<["stage", "persistent-stage", "view", "work", "dimension", "fact", "hub", "satellite", "link", "unknown"]>>>;
106
+ predecessorNodeIDs: z.ZodArray<z.ZodString, "many">;
107
+ predecessorPlanNodeIDs: z.ZodArray<z.ZodString, "many">;
108
+ predecessorNodeNames: z.ZodArray<z.ZodString, "many">;
109
+ description: z.ZodNullable<z.ZodString>;
110
+ sql: z.ZodNullable<z.ZodString>;
111
+ selectItems: z.ZodArray<z.ZodObject<{
112
+ expression: z.ZodString;
113
+ outputName: z.ZodNullable<z.ZodString>;
114
+ sourceNodeAlias: z.ZodNullable<z.ZodString>;
115
+ sourceNodeName: z.ZodNullable<z.ZodString>;
116
+ sourceNodeID: z.ZodNullable<z.ZodString>;
117
+ sourceColumnName: z.ZodNullable<z.ZodString>;
118
+ kind: z.ZodEnum<["column", "expression"]>;
119
+ supported: z.ZodBoolean;
120
+ reason: z.ZodOptional<z.ZodString>;
121
+ }, "strict", z.ZodTypeAny, {
122
+ sourceNodeID: string | null;
123
+ sourceNodeName: string | null;
124
+ sourceColumnName: string | null;
125
+ supported: boolean;
126
+ expression: string;
127
+ outputName: string | null;
128
+ sourceNodeAlias: string | null;
129
+ kind: "expression" | "column";
130
+ reason?: string | undefined;
131
+ }, {
132
+ sourceNodeID: string | null;
133
+ sourceNodeName: string | null;
134
+ sourceColumnName: string | null;
135
+ supported: boolean;
136
+ expression: string;
137
+ outputName: string | null;
138
+ sourceNodeAlias: string | null;
139
+ kind: "expression" | "column";
140
+ reason?: string | undefined;
141
+ }>, "many">;
142
+ outputColumnNames: z.ZodArray<z.ZodString, "many">;
143
+ configOverrides: z.ZodObject<{
144
+ preSQL: z.ZodOptional<z.ZodString>;
145
+ postSQL: z.ZodOptional<z.ZodString>;
146
+ testsEnabled: z.ZodOptional<z.ZodBoolean>;
147
+ materializationType: z.ZodOptional<z.ZodString>;
148
+ insertStrategy: z.ZodOptional<z.ZodString>;
149
+ truncateBefore: z.ZodOptional<z.ZodBoolean>;
150
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
151
+ preSQL: z.ZodOptional<z.ZodString>;
152
+ postSQL: z.ZodOptional<z.ZodString>;
153
+ testsEnabled: z.ZodOptional<z.ZodBoolean>;
154
+ materializationType: z.ZodOptional<z.ZodString>;
155
+ insertStrategy: z.ZodOptional<z.ZodString>;
156
+ truncateBefore: z.ZodOptional<z.ZodBoolean>;
157
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
158
+ preSQL: z.ZodOptional<z.ZodString>;
159
+ postSQL: z.ZodOptional<z.ZodString>;
160
+ testsEnabled: z.ZodOptional<z.ZodBoolean>;
161
+ materializationType: z.ZodOptional<z.ZodString>;
162
+ insertStrategy: z.ZodOptional<z.ZodString>;
163
+ truncateBefore: z.ZodOptional<z.ZodBoolean>;
164
+ }, z.ZodTypeAny, "passthrough">>;
165
+ sourceRefs: z.ZodArray<z.ZodObject<{
166
+ locationName: z.ZodString;
167
+ nodeName: z.ZodString;
168
+ alias: z.ZodNullable<z.ZodString>;
169
+ nodeID: z.ZodNullable<z.ZodString>;
170
+ }, "strict", z.ZodTypeAny, {
171
+ nodeID: string | null;
172
+ nodeName: string;
173
+ locationName: string;
174
+ alias: string | null;
175
+ }, {
176
+ nodeID: string | null;
177
+ nodeName: string;
178
+ locationName: string;
179
+ alias: string | null;
180
+ }>, "many">;
181
+ joinCondition: z.ZodNullable<z.ZodString>;
182
+ location: z.ZodObject<{
183
+ locationName: z.ZodOptional<z.ZodString>;
184
+ database: z.ZodOptional<z.ZodString>;
185
+ schema: z.ZodOptional<z.ZodString>;
186
+ }, "strict", z.ZodTypeAny, {
187
+ locationName?: string | undefined;
188
+ database?: string | undefined;
189
+ schema?: string | undefined;
190
+ }, {
191
+ locationName?: string | undefined;
192
+ database?: string | undefined;
193
+ schema?: string | undefined;
194
+ }>;
195
+ requiresFullSetNode: z.ZodBoolean;
196
+ templateDefaults: z.ZodOptional<z.ZodObject<{
197
+ inferredTopLevelFields: z.ZodRecord<z.ZodString, z.ZodUnknown>;
198
+ inferredConfig: z.ZodObject<{
199
+ preSQL: z.ZodOptional<z.ZodString>;
200
+ postSQL: z.ZodOptional<z.ZodString>;
201
+ testsEnabled: z.ZodOptional<z.ZodBoolean>;
202
+ materializationType: z.ZodOptional<z.ZodString>;
203
+ insertStrategy: z.ZodOptional<z.ZodString>;
204
+ truncateBefore: z.ZodOptional<z.ZodBoolean>;
205
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
206
+ preSQL: z.ZodOptional<z.ZodString>;
207
+ postSQL: z.ZodOptional<z.ZodString>;
208
+ testsEnabled: z.ZodOptional<z.ZodBoolean>;
209
+ materializationType: z.ZodOptional<z.ZodString>;
210
+ insertStrategy: z.ZodOptional<z.ZodString>;
211
+ truncateBefore: z.ZodOptional<z.ZodBoolean>;
212
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
213
+ preSQL: z.ZodOptional<z.ZodString>;
214
+ postSQL: z.ZodOptional<z.ZodString>;
215
+ testsEnabled: z.ZodOptional<z.ZodBoolean>;
216
+ materializationType: z.ZodOptional<z.ZodString>;
217
+ insertStrategy: z.ZodOptional<z.ZodString>;
218
+ truncateBefore: z.ZodOptional<z.ZodBoolean>;
219
+ }, z.ZodTypeAny, "passthrough">>;
220
+ }, "strict", z.ZodTypeAny, {
221
+ inferredTopLevelFields: Record<string, unknown>;
222
+ inferredConfig: {
223
+ materializationType?: string | undefined;
224
+ insertStrategy?: string | undefined;
225
+ truncateBefore?: boolean | undefined;
226
+ preSQL?: string | undefined;
227
+ postSQL?: string | undefined;
228
+ testsEnabled?: boolean | undefined;
229
+ } & {
230
+ [k: string]: unknown;
231
+ };
232
+ }, {
233
+ inferredTopLevelFields: Record<string, unknown>;
234
+ inferredConfig: {
235
+ materializationType?: string | undefined;
236
+ insertStrategy?: string | undefined;
237
+ truncateBefore?: boolean | undefined;
238
+ preSQL?: string | undefined;
239
+ postSQL?: string | undefined;
240
+ testsEnabled?: boolean | undefined;
241
+ } & {
242
+ [k: string]: unknown;
243
+ };
244
+ }>>;
245
+ }, "strict", z.ZodTypeAny, {
246
+ description: string | null;
247
+ name: string;
248
+ nodeType: string;
249
+ sourceRefs: {
250
+ nodeID: string | null;
251
+ nodeName: string;
252
+ locationName: string;
253
+ alias: string | null;
254
+ }[];
255
+ selectItems: {
256
+ sourceNodeID: string | null;
257
+ sourceNodeName: string | null;
258
+ sourceColumnName: string | null;
259
+ supported: boolean;
260
+ expression: string;
261
+ outputName: string | null;
262
+ sourceNodeAlias: string | null;
263
+ kind: "expression" | "column";
264
+ reason?: string | undefined;
265
+ }[];
266
+ sql: string | null;
267
+ predecessorNodeIDs: string[];
268
+ joinCondition: string | null;
269
+ planNodeID: string;
270
+ predecessorPlanNodeIDs: string[];
271
+ predecessorNodeNames: string[];
272
+ outputColumnNames: string[];
273
+ configOverrides: {
274
+ materializationType?: string | undefined;
275
+ insertStrategy?: string | undefined;
276
+ truncateBefore?: boolean | undefined;
277
+ preSQL?: string | undefined;
278
+ postSQL?: string | undefined;
279
+ testsEnabled?: boolean | undefined;
280
+ } & {
281
+ [k: string]: unknown;
282
+ };
283
+ location: {
284
+ locationName?: string | undefined;
285
+ database?: string | undefined;
286
+ schema?: string | undefined;
287
+ };
288
+ requiresFullSetNode: boolean;
289
+ templateDefaults?: {
290
+ inferredTopLevelFields: Record<string, unknown>;
291
+ inferredConfig: {
292
+ materializationType?: string | undefined;
293
+ insertStrategy?: string | undefined;
294
+ truncateBefore?: boolean | undefined;
295
+ preSQL?: string | undefined;
296
+ postSQL?: string | undefined;
297
+ testsEnabled?: boolean | undefined;
298
+ } & {
299
+ [k: string]: unknown;
300
+ };
301
+ } | undefined;
302
+ nodeTypeFamily?: "unknown" | "link" | "view" | "stage" | "persistent-stage" | "work" | "dimension" | "fact" | "hub" | "satellite" | null | undefined;
303
+ }, {
304
+ description: string | null;
305
+ name: string;
306
+ nodeType: string;
307
+ sourceRefs: {
308
+ nodeID: string | null;
309
+ nodeName: string;
310
+ locationName: string;
311
+ alias: string | null;
312
+ }[];
313
+ selectItems: {
314
+ sourceNodeID: string | null;
315
+ sourceNodeName: string | null;
316
+ sourceColumnName: string | null;
317
+ supported: boolean;
318
+ expression: string;
319
+ outputName: string | null;
320
+ sourceNodeAlias: string | null;
321
+ kind: "expression" | "column";
322
+ reason?: string | undefined;
323
+ }[];
324
+ sql: string | null;
325
+ predecessorNodeIDs: string[];
326
+ joinCondition: string | null;
327
+ planNodeID: string;
328
+ predecessorPlanNodeIDs: string[];
329
+ predecessorNodeNames: string[];
330
+ outputColumnNames: string[];
331
+ configOverrides: {
332
+ materializationType?: string | undefined;
333
+ insertStrategy?: string | undefined;
334
+ truncateBefore?: boolean | undefined;
335
+ preSQL?: string | undefined;
336
+ postSQL?: string | undefined;
337
+ testsEnabled?: boolean | undefined;
338
+ } & {
339
+ [k: string]: unknown;
340
+ };
341
+ location: {
342
+ locationName?: string | undefined;
343
+ database?: string | undefined;
344
+ schema?: string | undefined;
345
+ };
346
+ requiresFullSetNode: boolean;
347
+ templateDefaults?: {
348
+ inferredTopLevelFields: Record<string, unknown>;
349
+ inferredConfig: {
350
+ materializationType?: string | undefined;
351
+ insertStrategy?: string | undefined;
352
+ truncateBefore?: boolean | undefined;
353
+ preSQL?: string | undefined;
354
+ postSQL?: string | undefined;
355
+ testsEnabled?: boolean | undefined;
356
+ } & {
357
+ [k: string]: unknown;
358
+ };
359
+ } | undefined;
360
+ nodeTypeFamily?: "unknown" | "link" | "view" | "stage" | "persistent-stage" | "work" | "dimension" | "fact" | "hub" | "satellite" | null | undefined;
361
+ }>, "many">;
362
+ assumptions: z.ZodArray<z.ZodString, "many">;
363
+ openQuestions: z.ZodArray<z.ZodString, "many">;
364
+ warnings: z.ZodArray<z.ZodString, "many">;
365
+ supportedNodeTypes: z.ZodArray<z.ZodString, "many">;
366
+ nodeTypeSelection: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
367
+ cteNodeSummary: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
368
+ STOP_AND_CONFIRM: z.ZodOptional<z.ZodString>;
369
+ }, "strict", z.ZodTypeAny, {
370
+ status: "ready" | "needs_clarification";
371
+ workspaceID: string;
372
+ nodes: {
373
+ description: string | null;
374
+ name: string;
375
+ nodeType: string;
376
+ sourceRefs: {
377
+ nodeID: string | null;
378
+ nodeName: string;
379
+ locationName: string;
380
+ alias: string | null;
381
+ }[];
382
+ selectItems: {
383
+ sourceNodeID: string | null;
384
+ sourceNodeName: string | null;
385
+ sourceColumnName: string | null;
386
+ supported: boolean;
387
+ expression: string;
388
+ outputName: string | null;
389
+ sourceNodeAlias: string | null;
390
+ kind: "expression" | "column";
391
+ reason?: string | undefined;
392
+ }[];
393
+ sql: string | null;
394
+ predecessorNodeIDs: string[];
395
+ joinCondition: string | null;
396
+ planNodeID: string;
397
+ predecessorPlanNodeIDs: string[];
398
+ predecessorNodeNames: string[];
399
+ outputColumnNames: string[];
400
+ configOverrides: {
401
+ materializationType?: string | undefined;
402
+ insertStrategy?: string | undefined;
403
+ truncateBefore?: boolean | undefined;
404
+ preSQL?: string | undefined;
405
+ postSQL?: string | undefined;
406
+ testsEnabled?: boolean | undefined;
407
+ } & {
408
+ [k: string]: unknown;
409
+ };
410
+ location: {
411
+ locationName?: string | undefined;
412
+ database?: string | undefined;
413
+ schema?: string | undefined;
414
+ };
415
+ requiresFullSetNode: boolean;
416
+ templateDefaults?: {
417
+ inferredTopLevelFields: Record<string, unknown>;
418
+ inferredConfig: {
419
+ materializationType?: string | undefined;
420
+ insertStrategy?: string | undefined;
421
+ truncateBefore?: boolean | undefined;
422
+ preSQL?: string | undefined;
423
+ postSQL?: string | undefined;
424
+ testsEnabled?: boolean | undefined;
425
+ } & {
426
+ [k: string]: unknown;
427
+ };
428
+ } | undefined;
429
+ nodeTypeFamily?: "unknown" | "link" | "view" | "stage" | "persistent-stage" | "work" | "dimension" | "fact" | "hub" | "satellite" | null | undefined;
430
+ }[];
431
+ warnings: string[];
432
+ version: 1;
433
+ intent: "goal" | "sql";
434
+ platform: string | null;
435
+ goal: string | null;
436
+ sql: string | null;
437
+ assumptions: string[];
438
+ openQuestions: string[];
439
+ supportedNodeTypes: string[];
440
+ cteNodeSummary?: Record<string, unknown>[] | undefined;
441
+ nodeTypeSelection?: Record<string, unknown> | undefined;
442
+ STOP_AND_CONFIRM?: string | undefined;
443
+ }, {
444
+ status: "ready" | "needs_clarification";
445
+ workspaceID: string;
446
+ nodes: {
447
+ description: string | null;
448
+ name: string;
449
+ nodeType: string;
450
+ sourceRefs: {
451
+ nodeID: string | null;
452
+ nodeName: string;
453
+ locationName: string;
454
+ alias: string | null;
455
+ }[];
456
+ selectItems: {
457
+ sourceNodeID: string | null;
458
+ sourceNodeName: string | null;
459
+ sourceColumnName: string | null;
460
+ supported: boolean;
461
+ expression: string;
462
+ outputName: string | null;
463
+ sourceNodeAlias: string | null;
464
+ kind: "expression" | "column";
465
+ reason?: string | undefined;
466
+ }[];
467
+ sql: string | null;
468
+ predecessorNodeIDs: string[];
469
+ joinCondition: string | null;
470
+ planNodeID: string;
471
+ predecessorPlanNodeIDs: string[];
472
+ predecessorNodeNames: string[];
473
+ outputColumnNames: string[];
474
+ configOverrides: {
475
+ materializationType?: string | undefined;
476
+ insertStrategy?: string | undefined;
477
+ truncateBefore?: boolean | undefined;
478
+ preSQL?: string | undefined;
479
+ postSQL?: string | undefined;
480
+ testsEnabled?: boolean | undefined;
481
+ } & {
482
+ [k: string]: unknown;
483
+ };
484
+ location: {
485
+ locationName?: string | undefined;
486
+ database?: string | undefined;
487
+ schema?: string | undefined;
488
+ };
489
+ requiresFullSetNode: boolean;
490
+ templateDefaults?: {
491
+ inferredTopLevelFields: Record<string, unknown>;
492
+ inferredConfig: {
493
+ materializationType?: string | undefined;
494
+ insertStrategy?: string | undefined;
495
+ truncateBefore?: boolean | undefined;
496
+ preSQL?: string | undefined;
497
+ postSQL?: string | undefined;
498
+ testsEnabled?: boolean | undefined;
499
+ } & {
500
+ [k: string]: unknown;
501
+ };
502
+ } | undefined;
503
+ nodeTypeFamily?: "unknown" | "link" | "view" | "stage" | "persistent-stage" | "work" | "dimension" | "fact" | "hub" | "satellite" | null | undefined;
504
+ }[];
505
+ warnings: string[];
506
+ version: 1;
507
+ intent: "goal" | "sql";
508
+ platform: string | null;
509
+ goal: string | null;
510
+ sql: string | null;
511
+ assumptions: string[];
512
+ openQuestions: string[];
513
+ supportedNodeTypes: string[];
514
+ cteNodeSummary?: Record<string, unknown>[] | undefined;
515
+ nodeTypeSelection?: Record<string, unknown> | undefined;
516
+ STOP_AND_CONFIRM?: string | undefined;
517
+ }>;
518
+ export type ResolvedSqlRef = {
519
+ locationName: string;
520
+ nodeName: string;
521
+ alias: string | null;
522
+ nodeID: string | null;
523
+ };
524
+ export type ParsedSqlSourceRef = ResolvedSqlRef & {
525
+ sourceStyle: "coalesce_ref" | "table_name";
526
+ locationCandidates: string[];
527
+ relationStart: number;
528
+ relationEnd: number;
529
+ };
530
+ export type SqlParseResult = {
531
+ refs: ParsedSqlSourceRef[];
532
+ selectItems: PlannedSelectItem[];
533
+ warnings: string[];
534
+ };
535
+ export type WorkspaceNodeTypeInventory = {
536
+ nodeTypes: string[];
537
+ counts: Record<string, number>;
538
+ total: number;
539
+ warnings: string[];
540
+ };
541
+ export declare const WORKSPACE_NODE_PAGE_LIMIT = 200;
542
+ export declare const DEFAULT_STAGE_CONFIG: Record<string, unknown>;
543
+ //# sourceMappingURL=planning-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-types.d.ts","sourceRoot":"","sources":["../../../src/services/pipelines/planning-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { z } from "zod";
2
+ import { NodeConfigInputSchema } from "../../schemas/node-payloads.js";
3
+ import { PIPELINE_NODE_TYPE_FAMILIES, } from "./node-type-selection.js";
4
+ const PlannedSelectItemSchema = z
5
+ .object({
6
+ expression: z.string(),
7
+ outputName: z.string().nullable(),
8
+ sourceNodeAlias: z.string().nullable(),
9
+ sourceNodeName: z.string().nullable(),
10
+ sourceNodeID: z.string().nullable(),
11
+ sourceColumnName: z.string().nullable(),
12
+ kind: z.enum(["column", "expression"]),
13
+ supported: z.boolean(),
14
+ reason: z.string().optional(),
15
+ })
16
+ .strict();
17
+ const PlannedPipelineNodeSchema = z
18
+ .object({
19
+ planNodeID: z.string(),
20
+ name: z.string(),
21
+ nodeType: z.string(),
22
+ nodeTypeFamily: z
23
+ .enum(PIPELINE_NODE_TYPE_FAMILIES)
24
+ .nullable()
25
+ .optional(),
26
+ predecessorNodeIDs: z.array(z.string()),
27
+ predecessorPlanNodeIDs: z.array(z.string()),
28
+ predecessorNodeNames: z.array(z.string()),
29
+ description: z.string().nullable(),
30
+ sql: z.string().nullable(),
31
+ selectItems: z.array(PlannedSelectItemSchema),
32
+ outputColumnNames: z.array(z.string()),
33
+ configOverrides: NodeConfigInputSchema,
34
+ sourceRefs: z.array(z
35
+ .object({
36
+ locationName: z.string(),
37
+ nodeName: z.string(),
38
+ alias: z.string().nullable(),
39
+ nodeID: z.string().nullable(),
40
+ })
41
+ .strict()),
42
+ joinCondition: z.string().nullable(),
43
+ location: z
44
+ .object({
45
+ locationName: z.string().optional(),
46
+ database: z.string().optional(),
47
+ schema: z.string().optional(),
48
+ })
49
+ .strict(),
50
+ requiresFullSetNode: z.boolean(),
51
+ templateDefaults: z
52
+ .object({
53
+ inferredTopLevelFields: z.record(z.unknown()),
54
+ inferredConfig: NodeConfigInputSchema,
55
+ })
56
+ .strict()
57
+ .optional(),
58
+ })
59
+ .strict();
60
+ export const PipelinePlanSchema = z
61
+ .object({
62
+ version: z.literal(1),
63
+ intent: z.enum(["sql", "goal"]),
64
+ status: z.enum(["ready", "needs_clarification"]),
65
+ workspaceID: z.string(),
66
+ platform: z.string().nullable(),
67
+ goal: z.string().nullable(),
68
+ sql: z.string().nullable(),
69
+ nodes: z.array(PlannedPipelineNodeSchema),
70
+ assumptions: z.array(z.string()),
71
+ openQuestions: z.array(z.string()),
72
+ warnings: z.array(z.string()),
73
+ supportedNodeTypes: z.array(z.string()),
74
+ nodeTypeSelection: z.record(z.unknown()).optional(),
75
+ cteNodeSummary: z.array(z.record(z.unknown())).optional(),
76
+ STOP_AND_CONFIRM: z.string().optional(),
77
+ })
78
+ .strict();
79
+ export const WORKSPACE_NODE_PAGE_LIMIT = 200;
80
+ export const DEFAULT_STAGE_CONFIG = {
81
+ postSQL: "",
82
+ preSQL: "",
83
+ testsEnabled: true,
84
+ };
85
+ //# sourceMappingURL=planning-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-types.js","sourceRoot":"","sources":["../../../src/services/pipelines/planning-types.ts"],"names":[],"mappings":"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"}