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
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/mcp/users.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/mcp/users.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import type { CoalesceClient } from "../client.js";
3
- export declare function registerWorkshopTools(server: McpServer, client: CoalesceClient): void;
3
+ import { type ToolDefinition } from "../coalesce/types.js";
4
+ export declare function defineWorkshopTools(_server: McpServer, client: CoalesceClient): ToolDefinition[];
4
5
  //# sourceMappingURL=workshop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workshop.d.ts","sourceRoot":"","sources":["../../src/mcp/workshop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAgBnD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,GACrB,IAAI,CA6HN"}
1
+ {"version":3,"file":"workshop.d.ts","sourceRoot":"","sources":["../../src/mcp/workshop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAS9B,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,cAAc,GACrB,cAAc,EAAE,CA+ElB"}
@@ -1,109 +1,74 @@
1
1
  import { z } from "zod";
2
- import { buildJsonToolResponse, handleToolError, getToolOutputSchema, READ_ONLY_ANNOTATIONS, WRITE_ANNOTATIONS, validatePathSegment, } from "../coalesce/types.js";
2
+ import { READ_ONLY_ANNOTATIONS, WRITE_ANNOTATIONS, validatePathSegment, } from "../coalesce/types.js";
3
3
  import { openWorkshop, workshopInstruct, getWorkshopStatus, workshopClose, } from "../services/pipelines/workshop.js";
4
- export function registerWorkshopTools(server, client) {
5
- server.registerTool("pipeline_workshop_open", {
6
- title: "Pipeline Workshop Open",
7
- description: "Open a new pipeline workshop session for iterative, conversational pipeline building. " +
8
- "The workshop maintains state between calls so you can incrementally add nodes, change join keys, " +
9
- "add filters, rename nodes, and refine the plan before creating anything.\n\n" +
10
- "Optionally provide an initial intent (e.g., 'join customers and orders on customer_id') " +
11
- "to bootstrap the session with initial nodes.\n\n" +
12
- "Returns a sessionID that must be passed to subsequent workshop calls.",
13
- inputSchema: z.object({
14
- workspaceID: z.string().describe("The workspace ID to build the pipeline in"),
15
- intent: z
16
- .string()
17
- .optional()
18
- .describe("Optional initial intent to bootstrap the session (e.g., 'join CUSTOMERS and ORDERS on CUSTOMER_ID')"),
19
- }),
20
- outputSchema: getToolOutputSchema("pipeline_workshop_open"),
21
- annotations: WRITE_ANNOTATIONS,
22
- }, async (params) => {
23
- try {
24
- const result = await openWorkshop(client, {
25
- workspaceID: validatePathSegment(params.workspaceID, "workspaceID"),
26
- intent: params.intent,
27
- });
28
- return buildJsonToolResponse("pipeline_workshop_open", result);
29
- }
30
- catch (error) {
31
- return handleToolError(error);
32
- }
33
- });
34
- server.registerTool("pipeline_workshop_instruct", {
35
- title: "Pipeline Workshop Instruct",
36
- description: "Send a natural language instruction to an open pipeline workshop session. " +
37
- "The instruction modifies the current plan — you can:\n\n" +
38
- "- Add nodes: 'add a staging node for PAYMENTS'\n" +
39
- "- Join sources: 'join CUSTOMERS and ORDERS on CUSTOMER_ID'\n" +
40
- "- Add aggregation: 'aggregate total REVENUE by REGION'\n" +
41
- "- Change join key: 'change the join key to ORDER_ID'\n" +
42
- "- Add filters: 'add filter for STATUS = active'\n" +
43
- "- Add/remove columns: 'add column FULL_NAME' or 'remove column MIDDLE_NAME'\n" +
44
- "- Rename nodes: 'rename STG_ORDERS to STG_SALES'\n" +
45
- "- Remove nodes: 'remove the ORPHAN node'\n\n" +
46
- "Each instruction is processed against the current session state, " +
47
- "and the updated plan is returned.",
48
- inputSchema: z.object({
49
- sessionID: z.string().describe("The workshop session ID from pipeline_workshop_open"),
50
- instruction: z.string().describe("Natural language instruction to modify the plan"),
51
- }),
52
- outputSchema: getToolOutputSchema("pipeline_workshop_instruct"),
53
- annotations: WRITE_ANNOTATIONS,
54
- }, async (params) => {
55
- try {
56
- const result = await workshopInstruct(client, {
57
- sessionID: params.sessionID,
58
- instruction: params.instruction,
59
- });
60
- return buildJsonToolResponse("pipeline_workshop_instruct", result);
61
- }
62
- catch (error) {
63
- return handleToolError(error);
64
- }
65
- });
66
- server.registerTool("pipeline_workshop_status", {
67
- title: "Pipeline Workshop Status",
68
- description: "Get the current state of a pipeline workshop session, including all planned nodes, " +
69
- "their configuration, and the instruction history.",
70
- inputSchema: z.object({
71
- sessionID: z.string().describe("The workshop session ID"),
72
- }),
73
- outputSchema: getToolOutputSchema("pipeline_workshop_status"),
74
- annotations: READ_ONLY_ANNOTATIONS,
75
- }, async (params) => {
76
- try {
4
+ import { defineSimpleTool, defineLocalTool } from "./tool-helpers.js";
5
+ export function defineWorkshopTools(_server, client) {
6
+ return [
7
+ defineSimpleTool(client, "pipeline_workshop_open", {
8
+ title: "Pipeline Workshop Open",
9
+ description: "Open a new pipeline workshop session for iterative, conversational pipeline building. " +
10
+ "The workshop maintains state between calls so you can incrementally add nodes, change join keys, " +
11
+ "add filters, rename nodes, and refine the plan before creating anything.\n\n" +
12
+ "Optionally provide an initial intent (e.g., 'join customers and orders on customer_id') " +
13
+ "to bootstrap the session with initial nodes.\n\n" +
14
+ "Returns a sessionID that must be passed to subsequent workshop calls.",
15
+ inputSchema: z.object({
16
+ workspaceID: z.string().describe("The workspace ID to build the pipeline in"),
17
+ intent: z
18
+ .string()
19
+ .optional()
20
+ .describe("Optional initial intent to bootstrap the session (e.g., 'join CUSTOMERS and ORDERS on CUSTOMER_ID')"),
21
+ }),
22
+ annotations: WRITE_ANNOTATIONS,
23
+ }, (client, params) => openWorkshop(client, {
24
+ workspaceID: validatePathSegment(params.workspaceID, "workspaceID"),
25
+ intent: params.intent,
26
+ })),
27
+ defineSimpleTool(client, "pipeline_workshop_instruct", {
28
+ title: "Pipeline Workshop Instruct",
29
+ description: "Send a natural language instruction to an open pipeline workshop session. " +
30
+ "The instruction modifies the current plan — you can:\n\n" +
31
+ "- Add nodes: 'add a staging node for PAYMENTS'\n" +
32
+ "- Join sources: 'join CUSTOMERS and ORDERS on CUSTOMER_ID'\n" +
33
+ "- Add aggregation: 'aggregate total REVENUE by REGION'\n" +
34
+ "- Change join key: 'change the join key to ORDER_ID'\n" +
35
+ "- Add filters: 'add filter for STATUS = active'\n" +
36
+ "- Add/remove columns: 'add column FULL_NAME' or 'remove column MIDDLE_NAME'\n" +
37
+ "- Rename nodes: 'rename STG_ORDERS to STG_SALES'\n" +
38
+ "- Remove nodes: 'remove the ORPHAN node'\n\n" +
39
+ "Each instruction is processed against the current session state, " +
40
+ "and the updated plan is returned.",
41
+ inputSchema: z.object({
42
+ sessionID: z.string().describe("The workshop session ID from pipeline_workshop_open"),
43
+ instruction: z.string().describe("Natural language instruction to modify the plan"),
44
+ }),
45
+ annotations: WRITE_ANNOTATIONS,
46
+ }, workshopInstruct),
47
+ defineLocalTool("get_pipeline_workshop_status", {
48
+ title: "Pipeline Workshop Status",
49
+ description: "Get the current state of a pipeline workshop session, including all planned nodes, " +
50
+ "their configuration, and the instruction history.",
51
+ inputSchema: z.object({
52
+ sessionID: z.string().describe("The workshop session ID"),
53
+ }),
54
+ annotations: READ_ONLY_ANNOTATIONS,
55
+ }, (params) => {
77
56
  const session = getWorkshopStatus(params.sessionID);
78
57
  if (!session) {
79
- return buildJsonToolResponse("pipeline_workshop_status", {
80
- error: `Session "${params.sessionID}" not found. Use pipeline_workshop_open to start a new session.`,
81
- });
58
+ throw new Error(`Session "${params.sessionID}" not found. Use pipeline_workshop_open to start a new session.`);
82
59
  }
83
- return buildJsonToolResponse("pipeline_workshop_status", session);
84
- }
85
- catch (error) {
86
- return handleToolError(error);
87
- }
88
- });
89
- server.registerTool("pipeline_workshop_close", {
90
- title: "Pipeline Workshop Close",
91
- description: "Close a pipeline workshop session and clean up the session state. " +
92
- "If there are uncreated nodes in the plan, use build_pipeline_from_intent or plan_pipeline " +
93
- "to create them before closing.",
94
- inputSchema: z.object({
95
- sessionID: z.string().describe("The workshop session ID to close"),
60
+ return session;
96
61
  }),
97
- outputSchema: getToolOutputSchema("pipeline_workshop_close"),
98
- annotations: WRITE_ANNOTATIONS,
99
- }, async (params) => {
100
- try {
101
- const result = workshopClose(params.sessionID);
102
- return buildJsonToolResponse("pipeline_workshop_close", result);
103
- }
104
- catch (error) {
105
- return handleToolError(error);
106
- }
107
- });
62
+ defineLocalTool("pipeline_workshop_close", {
63
+ title: "Pipeline Workshop Close",
64
+ description: "Close a pipeline workshop session and clean up the session state. " +
65
+ "If there are uncreated nodes in the plan, use build_pipeline_from_intent or plan_pipeline " +
66
+ "to create them before closing.",
67
+ inputSchema: z.object({
68
+ sessionID: z.string().describe("The workshop session ID to close"),
69
+ }),
70
+ annotations: WRITE_ANNOTATIONS,
71
+ }, (params) => workshopClose(params.sessionID)),
72
+ ];
108
73
  }
109
74
  //# sourceMappingURL=workshop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workshop.js","sourceRoot":"","sources":["../../src/mcp/workshop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAE3C,MAAM,UAAU,qBAAqB,CACnC,MAAiB,EACjB,MAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,wFAAwF;YACxF,mGAAmG;YACnG,8EAA8E;YAC9E,0FAA0F;YAC1F,kDAAkD;YAClD,uEAAuE;QACzE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YAC7E,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qGAAqG,CACtG;SACJ,CAAC;QACF,YAAY,EAAE,mBAAmB,CAAC,wBAAwB,CAAC;QAC3D,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;gBACxC,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;gBACnE,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,qBAAqB,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,4EAA4E;YAC5E,0DAA0D;YAC1D,kDAAkD;YAClD,8DAA8D;YAC9D,0DAA0D;YAC1D,wDAAwD;YACxD,mDAAmD;YACnD,+EAA+E;YAC/E,oDAAoD;YACpD,8CAA8C;YAC9C,mEAAmE;YACnE,mCAAmC;QACrC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACrF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SACpF,CAAC;QACF,YAAY,EAAE,mBAAmB,CAAC,4BAA4B,CAAC;QAC/D,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE;gBAC5C,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;YACH,OAAO,qBAAqB,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,qFAAqF;YACrF,mDAAmD;QACrD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SAC1D,CAAC;QACF,YAAY,EAAE,mBAAmB,CAAC,0BAA0B,CAAC;QAC7D,WAAW,EAAE,qBAAqB;KACnC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,qBAAqB,CAAC,0BAA0B,EAAE;oBACvD,KAAK,EAAE,YAAY,MAAM,CAAC,SAAS,iEAAiE;iBACrG,CAAC,CAAC;YACL,CAAC;YACD,OAAO,qBAAqB,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,oEAAoE;YACpE,4FAA4F;YAC5F,gCAAgC;QAClC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SACnE,CAAC;QACF,YAAY,EAAE,mBAAmB,CAAC,yBAAyB,CAAC;QAC5D,WAAW,EAAE,iBAAiB;KAC/B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/C,OAAO,qBAAqB,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workshop.js","sourceRoot":"","sources":["../../src/mcp/workshop.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import type { CoalesceClient } from "../client.js";
3
- export declare function registerWorkspaceTools(server: McpServer, client: CoalesceClient): void;
3
+ import { type ToolDefinition } from "../coalesce/types.js";
4
+ export declare function defineWorkspaceTools(_server: McpServer, client: CoalesceClient): ToolDefinition[];
4
5
  //# sourceMappingURL=workspaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/mcp/workspaces.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AASnD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,GACrB,IAAI,CA0CN"}
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/mcp/workspaces.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGlF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,cAAc,GACrB,cAAc,EAAE,CAoBlB"}
@@ -1,38 +1,23 @@
1
1
  import { z } from "zod";
2
2
  import { listWorkspaces, getWorkspace } from "../coalesce/api/workspaces.js";
3
- import { buildJsonToolResponse, handleToolError, getToolOutputSchema, READ_ONLY_ANNOTATIONS, } from "../coalesce/types.js";
4
- export function registerWorkspaceTools(server, client) {
5
- server.registerTool("list_workspaces", {
6
- title: "List Workspaces",
7
- description: "List all Coalesce workspaces.\n\nReturns workspace IDs needed by node, job, and subgraph tools. Each workspace includes its projectID.\n\nReturns:\n { data: Workspace[] }",
8
- inputSchema: z.object({}),
9
- outputSchema: getToolOutputSchema("list_workspaces"),
10
- annotations: READ_ONLY_ANNOTATIONS,
11
- }, async () => {
12
- try {
13
- const result = await listWorkspaces(client);
14
- return buildJsonToolResponse("list_workspaces", result);
15
- }
16
- catch (error) {
17
- return handleToolError(error);
18
- }
19
- });
20
- server.registerTool("get_workspace", {
21
- title: "Get Workspace",
22
- description: "Get details of a specific Coalesce workspace by ID.\n\nArgs:\n - workspaceID (string, required): The workspace ID\n\nReturns:\n Full workspace object with ID, name, project association, and settings.",
23
- inputSchema: z.object({
24
- workspaceID: z.string().describe("The workspace ID"),
25
- }),
26
- outputSchema: getToolOutputSchema("get_workspace"),
27
- annotations: READ_ONLY_ANNOTATIONS,
28
- }, async (params) => {
29
- try {
30
- const result = await getWorkspace(client, params);
31
- return buildJsonToolResponse("get_workspace", result);
32
- }
33
- catch (error) {
34
- return handleToolError(error);
35
- }
36
- });
3
+ import { READ_ONLY_ANNOTATIONS } from "../coalesce/types.js";
4
+ import { defineSimpleTool } from "./tool-helpers.js";
5
+ export function defineWorkspaceTools(_server, client) {
6
+ return [
7
+ defineSimpleTool(client, "list_workspaces", {
8
+ title: "List Workspaces",
9
+ description: "List all Coalesce workspaces.\n\nReturns workspace IDs needed by node, job, and subgraph tools. Each workspace includes its projectID.\n\nReturns:\n { data: Workspace[] }",
10
+ inputSchema: z.object({}),
11
+ annotations: READ_ONLY_ANNOTATIONS,
12
+ }, listWorkspaces),
13
+ defineSimpleTool(client, "get_workspace", {
14
+ title: "Get Workspace",
15
+ description: "Get details of a specific Coalesce workspace by ID.\n\nArgs:\n - workspaceID (string, required): The workspace ID\n\nReturns:\n Full workspace object with ID, name, project association, and settings.",
16
+ inputSchema: z.object({
17
+ workspaceID: z.string().describe("The workspace ID"),
18
+ }),
19
+ annotations: READ_ONLY_ANNOTATIONS,
20
+ }, getWorkspace),
21
+ ];
37
22
  }
38
23
  //# sourceMappingURL=workspaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/mcp/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,sBAAsB,CACpC,MAAiB,EACjB,MAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,6KAA6K;QAC/K,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,YAAY,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QACpD,WAAW,EAAE,qBAAqB;KACnC,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5C,OAAO,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,2MAA2M;QAC7M,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SACrD,CAAC;QACF,YAAY,EAAE,mBAAmB,CAAC,eAAe,CAAC;QAClD,WAAW,EAAE,qBAAqB;KACnC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,qBAAqB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/mcp/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAuB,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,UAAU,oBAAoB,CAClC,OAAkB,EAClB,MAAsB;IAEtB,OAAO;QACP,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE;YAC1C,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,6KAA6K;YAC/K,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,WAAW,EAAE,qBAAqB;SACnC,EAAE,cAAc,CAAC;QAElB,gBAAgB,CAAC,MAAM,EAAE,eAAe,EAAE;YACxC,KAAK,EAAE,eAAe;YACtB,WAAW,EACT,2MAA2M;YAC7M,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;aACrD,CAAC;YACF,WAAW,EAAE,qBAAqB;SACnC,EAAE,YAAY,CAAC;KACf,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoFvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqMvD"}
@@ -55,5 +55,90 @@ export function registerPrompts(server) {
55
55
  },
56
56
  ],
57
57
  }));
58
+ server.registerPrompt("diagnose-failing-node", {
59
+ title: "Diagnose Failing Node",
60
+ description: "Step-by-step workflow for diagnosing why a node failed in a run.",
61
+ }, async () => ({
62
+ messages: [
63
+ {
64
+ role: "user",
65
+ content: {
66
+ type: "text",
67
+ text: "To diagnose a failing node, follow this sequence:\n" +
68
+ "1. Identify the environment and recent runs: list_environments → list_environment_jobs → get_run_details (for the most recent failed run)\n" +
69
+ "2. Run diagnose_run_failure with the failed run ID to get structured root-cause analysis\n" +
70
+ "3. Check the node definition: get_workspace_node to see the SQL, config, and column setup\n" +
71
+ "4. Check upstream dependencies: get_upstream_nodes to see if a parent node failed first (cascade failures are common)\n" +
72
+ "5. If the error is SQL-related, review the node SQL against the platform SQL rules (read coalesce://context/sql-snowflake, sql-databricks, or sql-bigquery as appropriate)\n" +
73
+ "6. If the error is config-related, use complete_node_configuration to check for missing required fields\n" +
74
+ "Present your diagnosis with: root cause, affected nodes, and specific fix recommendations.",
75
+ },
76
+ },
77
+ ],
78
+ }));
79
+ server.registerPrompt("prepare-for-deployment", {
80
+ title: "Prepare for Deployment",
81
+ description: "Guided workflow to assess workspace readiness before deploying to an environment.",
82
+ }, async () => ({
83
+ messages: [
84
+ {
85
+ role: "user",
86
+ content: {
87
+ type: "text",
88
+ text: "To prepare a workspace for deployment, follow this sequence:\n" +
89
+ "1. Discover the workspace: list_workspaces → get_workspace to confirm the target\n" +
90
+ "2. Profile the workspace: analyze_workspace_patterns for a compact overview of node counts, types, subgraphs, and methodology\n" +
91
+ "3. Review pipeline quality: review_pipeline to check for redundant nodes, missing joins, layer violations, naming issues, and optimization opportunities\n" +
92
+ "4. Check documentation coverage: audit_documentation_coverage to identify undocumented nodes and columns\n" +
93
+ "5. Verify lineage integrity: get_upstream_nodes and get_downstream_nodes on leaf nodes to confirm the dependency graph is complete\n" +
94
+ "6. Identify the target environment: list_environments to find the deployment target\n" +
95
+ "7. Check environment health: get_environment_health for the target environment to see current node run status\n" +
96
+ "Present a deployment readiness report with: workspace summary, quality findings, documentation gaps, and any blockers.",
97
+ },
98
+ },
99
+ ],
100
+ }));
101
+ server.registerPrompt("audit-workspace", {
102
+ title: "Audit Workspace",
103
+ description: "Comprehensive workspace audit covering structure, quality, documentation, and lineage.",
104
+ }, async () => ({
105
+ messages: [
106
+ {
107
+ role: "user",
108
+ content: {
109
+ type: "text",
110
+ text: "To audit a workspace comprehensively, follow this sequence:\n" +
111
+ "1. Discover the workspace: list_workspaces → list_workspace_nodes (cache with cache_workspace_nodes for large workspaces)\n" +
112
+ "2. Profile structure: analyze_workspace_patterns for node counts, types, subgraphs, and methodology detection\n" +
113
+ "3. Review pipeline quality: review_pipeline to check structural issues, naming, and optimization opportunities\n" +
114
+ "4. Audit documentation: audit_documentation_coverage for documentation coverage statistics and specific gaps\n" +
115
+ "5. Search for potential issues: search_workspace_content to look for patterns like hardcoded values, TODO comments, or deprecated references\n" +
116
+ "6. Check lineage: use get_upstream_nodes on leaf nodes to verify the full dependency chain is intact\n" +
117
+ "Present a structured audit report with sections for: structure overview, quality findings (by severity), documentation coverage, and prioritized recommendations.",
118
+ },
119
+ },
120
+ ],
121
+ }));
122
+ server.registerPrompt("column-change-workflow", {
123
+ title: "Column Change Workflow",
124
+ description: "Safely rename or retype a column across the pipeline with impact analysis and propagation.",
125
+ }, async () => ({
126
+ messages: [
127
+ {
128
+ role: "user",
129
+ content: {
130
+ type: "text",
131
+ text: "To safely rename or retype a column across the pipeline, follow this sequence:\n" +
132
+ "1. Identify the source node and column: get_workspace_node to see the column's current name and data type\n" +
133
+ "2. Analyze impact first: analyze_impact with the nodeID and columnID to see every downstream node and column that will be affected\n" +
134
+ "3. Review the impact: present the list of affected nodes to the user and get explicit confirmation before proceeding\n" +
135
+ "4. Propagate the change: propagate_column_change with confirmed: true to update all downstream column references. This is a destructive operation — it modifies multiple nodes via the API. The tool requires confirmed: true to proceed.\n" +
136
+ "5. Verify the result: check the propagation result for errors, partial failures, and skipped nodes\n" +
137
+ "6. If partial failure occurred: review the snapshotPath in the result for the pre-mutation state of affected nodes. Manually correct any inconsistencies using update_workspace_node\n" +
138
+ "Always analyze_impact before propagate_column_change. Never skip the impact analysis step.",
139
+ },
140
+ },
141
+ ],
142
+ }));
58
143
  }
59
144
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,cAAc,CACnB,qBAAqB,EACrB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,gGAAgG;KACnG,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,mVAAmV;iBACtV;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,wBAAwB,EACxB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,+FAA+F;KAClG,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,meAAme;iBACte;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,oGAAoG;KACvG,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,oeAAoe;iBACve;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,uBAAuB,EACvB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,kGAAkG;KACrG,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,geAAge;iBACne;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ Do NOT use when:
20
20
  ```
21
21
  1. pipeline_workshop_open → Start session, get sessionID
22
22
  2. pipeline_workshop_instruct → Send instructions to refine the plan (repeat)
23
- 3. pipeline_workshop_status → Check current plan state
23
+ 3. get_pipeline_workshop_status → Check current plan state
24
24
  4. pipeline_workshop_close → Clean up when done
25
25
  ```
26
26
 
@@ -92,6 +92,13 @@ Your capabilities are defined by the tools in this MCP server:
92
92
  - **Helper warnings**: `warning`, `validation`, and `resultsError` fields are actionable. A successful call with warnings may not be fully correct.
93
93
  - **Node readiness**: A node is fully usable only when `validation` confirms coverage and correctness.
94
94
 
95
+ ## Lineage Tools
96
+
97
+ - **First call is slow**: `get_upstream_nodes`, `get_downstream_nodes`, `analyze_impact`, and `propagate_column_change` all build a full lineage cache on first use (fetches every node with `detail=true`). Expect latency on the first call per workspace; subsequent calls within the same session reuse the cache.
98
+ - **Exploration vs impact**: Use `get_upstream_nodes` / `get_downstream_nodes` when you need to trace the graph. Use `analyze_impact` when you want to understand what breaks if a specific node or column changes — it returns affected downstream counts without traversal lists.
99
+ - **`propagate_column_change` is destructive and expensive**: It PUTs updated node bodies for every downstream node. Always confirm with the user before calling it. Requires at least one of `columnName` or `dataType` in `changes` — an empty `changes: {}` is rejected.
100
+ - **Node ID required, not name**: All lineage tools take a `nodeID`, not a node name. Resolve the ID first with `list_workspace_nodes` or `get_workspace_node`.
101
+
95
102
  ## Related Resources
96
103
 
97
104
  - `coalesce://context/pipeline-workflows` — building pipelines end-to-end
@@ -1,4 +1,17 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare const RESOURCE_FILES: Record<string, string>;
3
+ export declare const OVERRIDE_MARKER = "<!-- OVERRIDE -->";
4
+ /** Reset skills initialization state (for testing only). */
5
+ export declare function resetSkillsState(): void;
6
+ /**
7
+ * Extract the resource name from a relative path like "context/overview.md" → "overview"
8
+ */
9
+ export declare function extractResourceName(relativePath: string): string;
10
+ /**
11
+ * Seed the skills directory with default coalesce_skills.* and user_skills.* files.
12
+ * Idempotent — never overwrites existing files.
13
+ */
14
+ export declare function initializeSkillsDir(skillsDir: string): void;
2
15
  /**
3
16
  * Register all Coalesce context resources with the MCP server
4
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAyStF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4EzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAiDtF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+BjD,CAAC;AAmJF,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAKnD,4DAA4D;AAC5D,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEhE;AASD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAgC3D;AAiID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4EzD"}