coalesce-transform-mcp 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 (134) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +304 -0
  3. package/dist/cache-dir.d.ts +26 -0
  4. package/dist/cache-dir.js +106 -0
  5. package/dist/client.d.ts +25 -0
  6. package/dist/client.js +212 -0
  7. package/dist/coalesce/api/environments.d.ts +20 -0
  8. package/dist/coalesce/api/environments.js +15 -0
  9. package/dist/coalesce/api/git-accounts.d.ts +21 -0
  10. package/dist/coalesce/api/git-accounts.js +21 -0
  11. package/dist/coalesce/api/jobs.d.ts +25 -0
  12. package/dist/coalesce/api/jobs.js +21 -0
  13. package/dist/coalesce/api/nodes.d.ts +29 -0
  14. package/dist/coalesce/api/nodes.js +33 -0
  15. package/dist/coalesce/api/projects.d.ts +22 -0
  16. package/dist/coalesce/api/projects.js +25 -0
  17. package/dist/coalesce/api/runs.d.ts +19 -0
  18. package/dist/coalesce/api/runs.js +34 -0
  19. package/dist/coalesce/api/subgraphs.d.ts +20 -0
  20. package/dist/coalesce/api/subgraphs.js +17 -0
  21. package/dist/coalesce/api/users.d.ts +30 -0
  22. package/dist/coalesce/api/users.js +31 -0
  23. package/dist/coalesce/types.d.ts +298 -0
  24. package/dist/coalesce/types.js +746 -0
  25. package/dist/generated/.gitkeep +0 -0
  26. package/dist/generated/node-type-corpus.json +42656 -0
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.js +10 -0
  29. package/dist/mcp/cache.d.ts +3 -0
  30. package/dist/mcp/cache.js +137 -0
  31. package/dist/mcp/environments.d.ts +3 -0
  32. package/dist/mcp/environments.js +61 -0
  33. package/dist/mcp/git-accounts.d.ts +3 -0
  34. package/dist/mcp/git-accounts.js +70 -0
  35. package/dist/mcp/jobs.d.ts +3 -0
  36. package/dist/mcp/jobs.js +77 -0
  37. package/dist/mcp/node-type-corpus.d.ts +3 -0
  38. package/dist/mcp/node-type-corpus.js +173 -0
  39. package/dist/mcp/nodes.d.ts +3 -0
  40. package/dist/mcp/nodes.js +341 -0
  41. package/dist/mcp/pipelines.d.ts +3 -0
  42. package/dist/mcp/pipelines.js +342 -0
  43. package/dist/mcp/projects.d.ts +3 -0
  44. package/dist/mcp/projects.js +70 -0
  45. package/dist/mcp/repo-node-types.d.ts +135 -0
  46. package/dist/mcp/repo-node-types.js +387 -0
  47. package/dist/mcp/runs.d.ts +3 -0
  48. package/dist/mcp/runs.js +92 -0
  49. package/dist/mcp/subgraphs.d.ts +3 -0
  50. package/dist/mcp/subgraphs.js +60 -0
  51. package/dist/mcp/users.d.ts +3 -0
  52. package/dist/mcp/users.js +107 -0
  53. package/dist/prompts/index.d.ts +2 -0
  54. package/dist/prompts/index.js +58 -0
  55. package/dist/resources/context/aggregation-patterns.md +145 -0
  56. package/dist/resources/context/data-engineering-principles.md +183 -0
  57. package/dist/resources/context/hydrated-metadata.md +92 -0
  58. package/dist/resources/context/id-discovery.md +64 -0
  59. package/dist/resources/context/intelligent-node-configuration.md +162 -0
  60. package/dist/resources/context/node-creation-decision-tree.md +156 -0
  61. package/dist/resources/context/node-operations.md +316 -0
  62. package/dist/resources/context/node-payloads.md +114 -0
  63. package/dist/resources/context/node-type-corpus.md +166 -0
  64. package/dist/resources/context/node-type-selection-guide.md +96 -0
  65. package/dist/resources/context/overview.md +135 -0
  66. package/dist/resources/context/pipeline-workflows.md +355 -0
  67. package/dist/resources/context/run-operations.md +55 -0
  68. package/dist/resources/context/sql-bigquery.md +41 -0
  69. package/dist/resources/context/sql-databricks.md +40 -0
  70. package/dist/resources/context/sql-platform-selection.md +70 -0
  71. package/dist/resources/context/sql-snowflake.md +43 -0
  72. package/dist/resources/context/storage-mappings.md +49 -0
  73. package/dist/resources/context/tool-usage.md +98 -0
  74. package/dist/resources/index.d.ts +5 -0
  75. package/dist/resources/index.js +254 -0
  76. package/dist/schemas/node-payloads.d.ts +5019 -0
  77. package/dist/schemas/node-payloads.js +147 -0
  78. package/dist/server.d.ts +7 -0
  79. package/dist/server.js +63 -0
  80. package/dist/services/cache/snapshots.d.ts +108 -0
  81. package/dist/services/cache/snapshots.js +275 -0
  82. package/dist/services/config/context-analyzer.d.ts +14 -0
  83. package/dist/services/config/context-analyzer.js +76 -0
  84. package/dist/services/config/field-classifier.d.ts +23 -0
  85. package/dist/services/config/field-classifier.js +47 -0
  86. package/dist/services/config/intelligent.d.ts +55 -0
  87. package/dist/services/config/intelligent.js +306 -0
  88. package/dist/services/config/rules.d.ts +6 -0
  89. package/dist/services/config/rules.js +44 -0
  90. package/dist/services/config/schema-resolver.d.ts +18 -0
  91. package/dist/services/config/schema-resolver.js +80 -0
  92. package/dist/services/corpus/loader.d.ts +56 -0
  93. package/dist/services/corpus/loader.js +25 -0
  94. package/dist/services/corpus/search.d.ts +49 -0
  95. package/dist/services/corpus/search.js +69 -0
  96. package/dist/services/corpus/templates.d.ts +4 -0
  97. package/dist/services/corpus/templates.js +11 -0
  98. package/dist/services/pipelines/execution.d.ts +20 -0
  99. package/dist/services/pipelines/execution.js +290 -0
  100. package/dist/services/pipelines/node-type-intent.d.ts +96 -0
  101. package/dist/services/pipelines/node-type-intent.js +356 -0
  102. package/dist/services/pipelines/node-type-selection.d.ts +66 -0
  103. package/dist/services/pipelines/node-type-selection.js +758 -0
  104. package/dist/services/pipelines/planning.d.ts +543 -0
  105. package/dist/services/pipelines/planning.js +1839 -0
  106. package/dist/services/policies/sql-override.d.ts +7 -0
  107. package/dist/services/policies/sql-override.js +109 -0
  108. package/dist/services/repo/operations.d.ts +6 -0
  109. package/dist/services/repo/operations.js +10 -0
  110. package/dist/services/repo/parser.d.ts +70 -0
  111. package/dist/services/repo/parser.js +365 -0
  112. package/dist/services/repo/path.d.ts +2 -0
  113. package/dist/services/repo/path.js +58 -0
  114. package/dist/services/templates/nodes.d.ts +50 -0
  115. package/dist/services/templates/nodes.js +336 -0
  116. package/dist/services/workspace/analysis.d.ts +56 -0
  117. package/dist/services/workspace/analysis.js +151 -0
  118. package/dist/services/workspace/mutations.d.ts +150 -0
  119. package/dist/services/workspace/mutations.js +1718 -0
  120. package/dist/utils.d.ts +5 -0
  121. package/dist/utils.js +7 -0
  122. package/dist/workflows/get-environment-overview.d.ts +9 -0
  123. package/dist/workflows/get-environment-overview.js +23 -0
  124. package/dist/workflows/get-run-details.d.ts +10 -0
  125. package/dist/workflows/get-run-details.js +28 -0
  126. package/dist/workflows/progress.d.ts +20 -0
  127. package/dist/workflows/progress.js +54 -0
  128. package/dist/workflows/retry-and-wait.d.ts +13 -0
  129. package/dist/workflows/retry-and-wait.js +139 -0
  130. package/dist/workflows/run-and-wait.d.ts +13 -0
  131. package/dist/workflows/run-and-wait.js +141 -0
  132. package/dist/workflows/run-status.d.ts +10 -0
  133. package/dist/workflows/run-status.js +27 -0
  134. package/package.json +34 -0
@@ -0,0 +1,298 @@
1
+ import { type CacheResourceLink } from "../cache-dir.js";
2
+ import { z } from "zod";
3
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
+ export declare const WorkspaceNodeBodySchema: z.ZodObject<{
5
+ name: z.ZodOptional<z.ZodString>;
6
+ description: z.ZodOptional<z.ZodString>;
7
+ nodeType: z.ZodOptional<z.ZodString>;
8
+ database: z.ZodOptional<z.ZodString>;
9
+ schema: z.ZodOptional<z.ZodString>;
10
+ locationName: z.ZodOptional<z.ZodString>;
11
+ storageLocations: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
12
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
13
+ metadata: z.ZodOptional<z.ZodObject<{
14
+ columns: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
15
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
16
+ columns: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
17
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
18
+ columns: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
19
+ }, z.ZodTypeAny, "passthrough">>>;
20
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
21
+ name: z.ZodOptional<z.ZodString>;
22
+ description: z.ZodOptional<z.ZodString>;
23
+ nodeType: z.ZodOptional<z.ZodString>;
24
+ database: z.ZodOptional<z.ZodString>;
25
+ schema: z.ZodOptional<z.ZodString>;
26
+ locationName: z.ZodOptional<z.ZodString>;
27
+ storageLocations: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
28
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
+ metadata: z.ZodOptional<z.ZodObject<{
30
+ columns: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
31
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
32
+ columns: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
33
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
34
+ columns: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
35
+ }, z.ZodTypeAny, "passthrough">>>;
36
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
37
+ name: z.ZodOptional<z.ZodString>;
38
+ description: z.ZodOptional<z.ZodString>;
39
+ nodeType: z.ZodOptional<z.ZodString>;
40
+ database: z.ZodOptional<z.ZodString>;
41
+ schema: z.ZodOptional<z.ZodString>;
42
+ locationName: z.ZodOptional<z.ZodString>;
43
+ storageLocations: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
44
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
45
+ metadata: z.ZodOptional<z.ZodObject<{
46
+ columns: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
47
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
48
+ columns: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
49
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
50
+ columns: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
51
+ }, z.ZodTypeAny, "passthrough">>>;
52
+ }, z.ZodTypeAny, "passthrough">>;
53
+ export declare const PaginationParams: z.ZodObject<{
54
+ limit: z.ZodOptional<z.ZodNumber>;
55
+ startingFrom: z.ZodOptional<z.ZodString>;
56
+ orderBy: z.ZodOptional<z.ZodString>;
57
+ orderByDirection: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ limit?: number | undefined;
60
+ startingFrom?: string | undefined;
61
+ orderBy?: string | undefined;
62
+ orderByDirection?: "asc" | "desc" | undefined;
63
+ }, {
64
+ limit?: number | undefined;
65
+ startingFrom?: string | undefined;
66
+ orderBy?: string | undefined;
67
+ orderByDirection?: "asc" | "desc" | undefined;
68
+ }>;
69
+ export declare const READ_ONLY_ANNOTATIONS: {
70
+ readonly readOnlyHint: true;
71
+ readonly idempotentHint: true;
72
+ readonly destructiveHint: false;
73
+ };
74
+ export declare const WRITE_ANNOTATIONS: {
75
+ readonly readOnlyHint: false;
76
+ readonly idempotentHint: false;
77
+ readonly destructiveHint: false;
78
+ };
79
+ export declare const IDEMPOTENT_WRITE_ANNOTATIONS: {
80
+ readonly readOnlyHint: false;
81
+ readonly idempotentHint: true;
82
+ readonly destructiveHint: false;
83
+ };
84
+ export declare const DESTRUCTIVE_ANNOTATIONS: {
85
+ readonly readOnlyHint: false;
86
+ readonly idempotentHint: false;
87
+ readonly destructiveHint: true;
88
+ };
89
+ declare const JsonToolErrorSchema: z.ZodObject<{
90
+ message: z.ZodString;
91
+ status: z.ZodOptional<z.ZodNumber>;
92
+ detail: z.ZodOptional<z.ZodUnknown>;
93
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
94
+ message: z.ZodString;
95
+ status: z.ZodOptional<z.ZodNumber>;
96
+ detail: z.ZodOptional<z.ZodUnknown>;
97
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
98
+ message: z.ZodString;
99
+ status: z.ZodOptional<z.ZodNumber>;
100
+ detail: z.ZodOptional<z.ZodUnknown>;
101
+ }, z.ZodTypeAny, "passthrough">>;
102
+ export declare const JsonToolOutputSchema: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
103
+ type TextContent = {
104
+ type: "text";
105
+ text: string;
106
+ };
107
+ export type JsonToolResponse = {
108
+ content: Array<TextContent | CacheResourceLink>;
109
+ structuredContent?: Record<string, unknown>;
110
+ };
111
+ type JsonToolErrorResponse = {
112
+ isError: true;
113
+ content: {
114
+ type: "text";
115
+ text: string;
116
+ }[];
117
+ structuredContent: {
118
+ error: z.infer<typeof JsonToolErrorSchema>;
119
+ };
120
+ };
121
+ type JsonToolResponseOptions = {
122
+ baseDir?: string;
123
+ maxInlineBytes?: number;
124
+ };
125
+ export declare const RunDetailsSchema: z.ZodObject<{
126
+ environmentID: z.ZodString;
127
+ includeNodesSelector: z.ZodOptional<z.ZodString>;
128
+ excludeNodesSelector: z.ZodOptional<z.ZodString>;
129
+ jobID: z.ZodOptional<z.ZodString>;
130
+ parallelism: z.ZodOptional<z.ZodNumber>;
131
+ forceIgnoreWorkspaceStatus: z.ZodOptional<z.ZodBoolean>;
132
+ }, "strip", z.ZodTypeAny, {
133
+ environmentID: string;
134
+ includeNodesSelector?: string | undefined;
135
+ excludeNodesSelector?: string | undefined;
136
+ jobID?: string | undefined;
137
+ parallelism?: number | undefined;
138
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
139
+ }, {
140
+ environmentID: string;
141
+ includeNodesSelector?: string | undefined;
142
+ excludeNodesSelector?: string | undefined;
143
+ jobID?: string | undefined;
144
+ parallelism?: number | undefined;
145
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
146
+ }>;
147
+ export declare const UserCredentialsSchema: z.ZodObject<{
148
+ snowflakeUsername: z.ZodString;
149
+ snowflakeKeyPairKey: z.ZodString;
150
+ snowflakeKeyPairPass: z.ZodOptional<z.ZodString>;
151
+ snowflakeWarehouse: z.ZodString;
152
+ snowflakeRole: z.ZodString;
153
+ }, "strip", z.ZodTypeAny, {
154
+ snowflakeUsername: string;
155
+ snowflakeKeyPairKey: string;
156
+ snowflakeWarehouse: string;
157
+ snowflakeRole: string;
158
+ snowflakeKeyPairPass?: string | undefined;
159
+ }, {
160
+ snowflakeUsername: string;
161
+ snowflakeKeyPairKey: string;
162
+ snowflakeWarehouse: string;
163
+ snowflakeRole: string;
164
+ snowflakeKeyPairPass?: string | undefined;
165
+ }>;
166
+ export declare const StartRunParams: z.ZodObject<{
167
+ runDetails: z.ZodObject<{
168
+ environmentID: z.ZodString;
169
+ includeNodesSelector: z.ZodOptional<z.ZodString>;
170
+ excludeNodesSelector: z.ZodOptional<z.ZodString>;
171
+ jobID: z.ZodOptional<z.ZodString>;
172
+ parallelism: z.ZodOptional<z.ZodNumber>;
173
+ forceIgnoreWorkspaceStatus: z.ZodOptional<z.ZodBoolean>;
174
+ }, "strip", z.ZodTypeAny, {
175
+ environmentID: string;
176
+ includeNodesSelector?: string | undefined;
177
+ excludeNodesSelector?: string | undefined;
178
+ jobID?: string | undefined;
179
+ parallelism?: number | undefined;
180
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
181
+ }, {
182
+ environmentID: string;
183
+ includeNodesSelector?: string | undefined;
184
+ excludeNodesSelector?: string | undefined;
185
+ jobID?: string | undefined;
186
+ parallelism?: number | undefined;
187
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
188
+ }>;
189
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
190
+ confirmRunAllNodes: z.ZodOptional<z.ZodBoolean>;
191
+ }, "strip", z.ZodTypeAny, {
192
+ runDetails: {
193
+ environmentID: string;
194
+ includeNodesSelector?: string | undefined;
195
+ excludeNodesSelector?: string | undefined;
196
+ jobID?: string | undefined;
197
+ parallelism?: number | undefined;
198
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
199
+ };
200
+ parameters?: Record<string, string> | undefined;
201
+ confirmRunAllNodes?: boolean | undefined;
202
+ }, {
203
+ runDetails: {
204
+ environmentID: string;
205
+ includeNodesSelector?: string | undefined;
206
+ excludeNodesSelector?: string | undefined;
207
+ jobID?: string | undefined;
208
+ parallelism?: number | undefined;
209
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
210
+ };
211
+ parameters?: Record<string, string> | undefined;
212
+ confirmRunAllNodes?: boolean | undefined;
213
+ }>;
214
+ export type StartRunInput = z.infer<typeof StartRunParams>;
215
+ export declare const RerunDetailsSchema: z.ZodObject<{
216
+ runID: z.ZodString;
217
+ forceIgnoreWorkspaceStatus: z.ZodOptional<z.ZodBoolean>;
218
+ }, "strip", z.ZodTypeAny, {
219
+ runID: string;
220
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
221
+ }, {
222
+ runID: string;
223
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
224
+ }>;
225
+ export declare const RerunParams: z.ZodObject<{
226
+ runDetails: z.ZodObject<{
227
+ runID: z.ZodString;
228
+ forceIgnoreWorkspaceStatus: z.ZodOptional<z.ZodBoolean>;
229
+ }, "strip", z.ZodTypeAny, {
230
+ runID: string;
231
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
232
+ }, {
233
+ runID: string;
234
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
235
+ }>;
236
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
237
+ }, "strip", z.ZodTypeAny, {
238
+ runDetails: {
239
+ runID: string;
240
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
241
+ };
242
+ parameters?: Record<string, string> | undefined;
243
+ }, {
244
+ runDetails: {
245
+ runID: string;
246
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
247
+ };
248
+ parameters?: Record<string, string> | undefined;
249
+ }>;
250
+ export type RerunInput = z.infer<typeof RerunParams>;
251
+ export declare function buildRerunBody(params: RerunInput): {
252
+ parameters?: Record<string, string> | undefined;
253
+ runDetails: {
254
+ runID: string;
255
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
256
+ };
257
+ userCredentials: {
258
+ snowflakeWarehouse: string;
259
+ snowflakeRole: string;
260
+ snowflakeAuthType: "KeyPair";
261
+ snowflakeKeyPairPass?: string | undefined;
262
+ snowflakeUsername: string;
263
+ snowflakeKeyPairKey: string;
264
+ };
265
+ };
266
+ export declare function getSnowflakeCredentials(): {
267
+ snowflakeWarehouse: string;
268
+ snowflakeRole: string;
269
+ snowflakeAuthType: "KeyPair";
270
+ snowflakeKeyPairPass?: string | undefined;
271
+ snowflakeUsername: string;
272
+ snowflakeKeyPairKey: string;
273
+ };
274
+ export declare function sanitizeResponse(data: unknown): unknown;
275
+ export declare function buildJsonToolResponse(toolName: string, result: unknown, options?: JsonToolResponseOptions): JsonToolResponse;
276
+ export declare function validatePathSegment(value: string, name: string): string;
277
+ export declare function handleToolError(error: unknown): JsonToolErrorResponse;
278
+ export declare function ensureJsonToolOutputSchemas(server: McpServer): void;
279
+ export declare function buildStartRunBody(params: StartRunInput): {
280
+ parameters?: Record<string, string> | undefined;
281
+ runDetails: {
282
+ environmentID: string;
283
+ includeNodesSelector?: string | undefined;
284
+ excludeNodesSelector?: string | undefined;
285
+ jobID?: string | undefined;
286
+ parallelism?: number | undefined;
287
+ forceIgnoreWorkspaceStatus?: boolean | undefined;
288
+ };
289
+ userCredentials: {
290
+ snowflakeWarehouse: string;
291
+ snowflakeRole: string;
292
+ snowflakeAuthType: "KeyPair";
293
+ snowflakeKeyPairPass?: string | undefined;
294
+ snowflakeUsername: string;
295
+ snowflakeKeyPairKey: string;
296
+ };
297
+ };
298
+ export {};