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,103 +1,81 @@
1
1
  import { z } from "zod";
2
2
  import { listGitAccounts, getGitAccount, createGitAccount, updateGitAccount, deleteGitAccount, } from "../coalesce/api/git-accounts.js";
3
- import { buildJsonToolResponse, handleToolError, getToolOutputSchema, READ_ONLY_ANNOTATIONS, WRITE_ANNOTATIONS, IDEMPOTENT_WRITE_ANNOTATIONS, DESTRUCTIVE_ANNOTATIONS, } from "../coalesce/types.js";
4
- export function registerGitAccountTools(server, client) {
3
+ import { READ_ONLY_ANNOTATIONS, WRITE_ANNOTATIONS, IDEMPOTENT_WRITE_ANNOTATIONS, DESTRUCTIVE_ANNOTATIONS, } from "../coalesce/types.js";
4
+ import { defineSimpleTool, defineDestructiveTool } from "./tool-helpers.js";
5
+ export function defineGitAccountTools(server, client) {
5
6
  const accountOwnerParam = z.string().optional().describe("User ID of the account owner (org admins can manage other users' accounts)");
6
- server.registerTool("list_git_accounts", {
7
- title: "List Git Accounts",
8
- description: "List all Git accounts configured in Coalesce.\n\nArgs:\n - accountOwner (string, optional): User ID of the account owner. Org admins can manage other users' accounts\n\nReturns:\n { data: GitAccount[], next?: string, total?: number }",
9
- inputSchema: z.object({
10
- accountOwner: accountOwnerParam,
7
+ return [
8
+ defineSimpleTool(client, "list_git_accounts", {
9
+ title: "List Git Accounts",
10
+ description: "List all Git accounts configured in Coalesce.\n\nArgs:\n - accountOwner (string, optional): User ID of the account owner. Org admins can manage other users' accounts\n\nReturns:\n { data: GitAccount[], next?: string, total?: number }",
11
+ inputSchema: z.object({
12
+ accountOwner: accountOwnerParam,
13
+ }),
14
+ annotations: READ_ONLY_ANNOTATIONS,
15
+ sanitize: true,
16
+ }, listGitAccounts),
17
+ defineSimpleTool(client, "get_git_account", {
18
+ title: "Get Git Account",
19
+ description: "Get details of a specific Git account.\n\nArgs:\n - gitAccountID (string, required): The Git account ID\n - accountOwner (string, optional): User ID of the account owner\n\nReturns:\n Git account object with connection details.",
20
+ inputSchema: z.object({
21
+ gitAccountID: z.string().describe("The git account ID"),
22
+ accountOwner: accountOwnerParam,
23
+ }),
24
+ annotations: READ_ONLY_ANNOTATIONS,
25
+ sanitize: true,
26
+ }, getGitAccount),
27
+ defineSimpleTool(client, "create_git_account", {
28
+ title: "Create Git Account",
29
+ description: "Create a new Git account in Coalesce.\n\nArgs:\n - name (string, required): Account name\n - gitUsername (string, required): Git username for authentication\n - gitAuthorName (string, required): Author name for git commits\n - gitAuthorEmail (string, required): Email address for git commits\n - gitToken (string, required): Personal access token for the git provider\n - provider (enum, optional): 'github' | 'gitlab' | 'bitbucket' | 'azureDevOps'\n - accountOwner (string, optional): User ID of the account owner\n\nReturns:\n Created Git account with assigned ID.",
30
+ inputSchema: z.object({
31
+ name: z.string().describe("Name for the git account"),
32
+ gitUsername: z.string().describe("Git username for authentication"),
33
+ gitAuthorName: z.string().describe("Author name used for git commits"),
34
+ gitAuthorEmail: z.string().describe("Email address used for git commits"),
35
+ gitToken: z.string().describe("Personal access token or authentication token for the git provider"),
36
+ provider: z.enum(["github", "gitlab", "bitbucket", "azureDevOps"]).optional().describe("Git provider type"),
37
+ accountOwner: accountOwnerParam,
38
+ }),
39
+ annotations: WRITE_ANNOTATIONS,
40
+ sanitize: true,
41
+ }, (client, params) => {
42
+ const { accountOwner, name, ...rest } = params;
43
+ return createGitAccount(client, { body: { gitAccountName: name, ...rest }, accountOwner });
11
44
  }),
12
- outputSchema: getToolOutputSchema("list_git_accounts"),
13
- annotations: READ_ONLY_ANNOTATIONS,
14
- }, async (params) => {
15
- try {
16
- const result = await listGitAccounts(client, params);
17
- return buildJsonToolResponse("list_git_accounts", result);
18
- }
19
- catch (error) {
20
- return handleToolError(error);
21
- }
22
- });
23
- server.registerTool("get_git_account", {
24
- title: "Get Git Account",
25
- description: "Get details of a specific Git account.\n\nArgs:\n - gitAccountID (string, required): The Git account ID\n - accountOwner (string, optional): User ID of the account owner\n\nReturns:\n Git account object with connection details.",
26
- inputSchema: z.object({
27
- gitAccountID: z.string().describe("The git account ID"),
28
- accountOwner: accountOwnerParam,
45
+ defineSimpleTool(client, "update_git_account", {
46
+ title: "Update Git Account",
47
+ description: "Update an existing Git account. Partial update — only provided fields are changed.\n\nArgs:\n - gitAccountID (string, required): The account ID\n - name (string, optional): Updated name\n - gitUsername (string, optional): Updated git username\n - gitAuthorName (string, optional): Updated author name for git commits\n - gitAuthorEmail (string, optional): Updated email for git commits\n - gitToken (string, optional): Updated personal access token\n - provider (enum, optional): 'github' | 'gitlab' | 'bitbucket' | 'azureDevOps'\n - accountOwner (string, optional): User ID of the account owner\n\nReturns:\n Updated Git account object.",
48
+ inputSchema: z.object({
49
+ gitAccountID: z.string().describe("The git account ID"),
50
+ name: z.string().optional().describe("Updated name for the git account"),
51
+ gitUsername: z.string().optional().describe("Updated git username for authentication"),
52
+ gitAuthorName: z.string().optional().describe("Updated author name for git commits"),
53
+ gitAuthorEmail: z.string().optional().describe("Updated email for git commits"),
54
+ gitToken: z.string().optional().describe("Updated personal access token for the git provider"),
55
+ provider: z.enum(["github", "gitlab", "bitbucket", "azureDevOps"]).optional().describe("Git provider type"),
56
+ accountOwner: accountOwnerParam,
57
+ }),
58
+ annotations: IDEMPOTENT_WRITE_ANNOTATIONS,
59
+ sanitize: true,
60
+ }, (client, params) => {
61
+ const { gitAccountID, accountOwner, name, ...body } = params;
62
+ const patchBody = name ? { gitAccountName: name, ...body } : body;
63
+ return updateGitAccount(client, { gitAccountID, body: patchBody, accountOwner });
29
64
  }),
30
- outputSchema: getToolOutputSchema("get_git_account"),
31
- annotations: READ_ONLY_ANNOTATIONS,
32
- }, async (params) => {
33
- try {
34
- const result = await getGitAccount(client, params);
35
- return buildJsonToolResponse("get_git_account", result);
36
- }
37
- catch (error) {
38
- return handleToolError(error);
39
- }
40
- });
41
- server.registerTool("create_git_account", {
42
- title: "Create Git Account",
43
- description: "Create a new Git account in Coalesce.\n\nArgs:\n - name (string, required): Account name\n - provider (enum, optional): 'github' | 'gitlab' | 'bitbucket' | 'azureDevOps'\n - accessToken (string, optional): Personal access token for the git provider\n - accountOwner (string, optional): User ID of the account owner\n\nReturns:\n Created Git account with assigned ID.",
44
- inputSchema: z.object({
45
- name: z.string().describe("Name for the git account"),
46
- provider: z.enum(["github", "gitlab", "bitbucket", "azureDevOps"]).optional().describe("Git provider type"),
47
- accessToken: z.string().optional().describe("Personal access token for the git provider"),
48
- accountOwner: accountOwnerParam,
49
- }),
50
- outputSchema: getToolOutputSchema("create_git_account"),
51
- annotations: WRITE_ANNOTATIONS,
52
- }, async (params) => {
53
- try {
54
- const { accountOwner, ...body } = params;
55
- const result = await createGitAccount(client, { body, accountOwner });
56
- return buildJsonToolResponse("create_git_account", result);
57
- }
58
- catch (error) {
59
- return handleToolError(error);
60
- }
61
- });
62
- server.registerTool("update_git_account", {
63
- title: "Update Git Account",
64
- description: "Update an existing Git account. Partial update — only provided fields are changed.\n\nArgs:\n - gitAccountID (string, required): The account ID\n - name (string, optional): Updated name\n - provider (enum, optional): 'github' | 'gitlab' | 'bitbucket' | 'azureDevOps'\n - accessToken (string, optional): Updated personal access token\n - accountOwner (string, optional): User ID of the account owner\n\nReturns:\n Updated Git account object.",
65
- inputSchema: z.object({
66
- gitAccountID: z.string().describe("The git account ID"),
67
- name: z.string().optional().describe("Updated name for the git account"),
68
- provider: z.enum(["github", "gitlab", "bitbucket", "azureDevOps"]).optional().describe("Git provider type"),
69
- accessToken: z.string().optional().describe("Updated personal access token"),
70
- accountOwner: accountOwnerParam,
71
- }),
72
- outputSchema: getToolOutputSchema("update_git_account"),
73
- annotations: IDEMPOTENT_WRITE_ANNOTATIONS,
74
- }, async (params) => {
75
- try {
76
- const { gitAccountID, accountOwner, ...body } = params;
77
- const result = await updateGitAccount(client, { gitAccountID, body, accountOwner });
78
- return buildJsonToolResponse("update_git_account", result);
79
- }
80
- catch (error) {
81
- return handleToolError(error);
82
- }
83
- });
84
- server.registerTool("delete_git_account", {
85
- title: "Delete Git Account",
86
- description: "Permanently delete a Git account. Destructive and cannot be undone.\n\nArgs:\n - gitAccountID (string, required): The account ID\n - accountOwner (string, optional): User ID of the account owner\n\nReturns:\n Confirmation message.",
87
- inputSchema: z.object({
88
- gitAccountID: z.string().describe("The git account ID"),
89
- accountOwner: accountOwnerParam,
90
- }),
91
- outputSchema: getToolOutputSchema("delete_git_account"),
92
- annotations: DESTRUCTIVE_ANNOTATIONS,
93
- }, async (params) => {
94
- try {
95
- const result = await deleteGitAccount(client, params);
96
- return buildJsonToolResponse("delete_git_account", result);
97
- }
98
- catch (error) {
99
- return handleToolError(error);
100
- }
101
- });
65
+ defineDestructiveTool(server, client, "delete_git_account", {
66
+ title: "Delete Git Account",
67
+ description: "Permanently delete a Git account. Destructive and cannot be undone — if this is the only git account linked to a project, it breaks the CI/CD connection.\n\nArgs:\n - gitAccountID (string, required): The account ID\n - accountOwner (string, optional): User ID of the account owner\n - confirmed (boolean, optional): Set to true after the user explicitly confirms deletion\n\nReturns:\n Confirmation message.",
68
+ inputSchema: z.object({
69
+ gitAccountID: z.string().describe("The git account ID"),
70
+ accountOwner: accountOwnerParam,
71
+ confirmed: z
72
+ .boolean()
73
+ .optional()
74
+ .describe("Set to true after the user explicitly confirms the deletion."),
75
+ }),
76
+ annotations: DESTRUCTIVE_ANNOTATIONS,
77
+ confirmMessage: (params) => `This will permanently delete git account "${params.gitAccountID}". This cannot be undone.`,
78
+ }, deleteGitAccount),
79
+ ];
102
80
  }
103
81
  //# sourceMappingURL=git-accounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-accounts.js","sourceRoot":"","sources":["../../src/mcp/git-accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-accounts.js","sourceRoot":"","sources":["../../src/mcp/git-accounts.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 registerJobTools(server: McpServer, client: CoalesceClient): void;
3
+ import { type ToolDefinition } from "../coalesce/types.js";
4
+ export declare function defineJobTools(server: McpServer, client: CoalesceClient): ToolDefinition[];
4
5
  //# sourceMappingURL=jobs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/mcp/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAmBnD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,GACrB,IAAI,CAqJN"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/mcp/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQnD,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAG9B,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,GACrB,cAAc,EAAE,CA0ElB"}
package/dist/mcp/jobs.js CHANGED
@@ -1,125 +1,71 @@
1
1
  import { z } from "zod";
2
- import { listWorkspaceJobs, listEnvironmentJobs, createWorkspaceJob, getEnvironmentJob, updateWorkspaceJob, deleteWorkspaceJob, } from "../coalesce/api/jobs.js";
3
- import { PaginationParams, buildJsonToolResponse, handleToolError, getToolOutputSchema, READ_ONLY_ANNOTATIONS, WRITE_ANNOTATIONS, DESTRUCTIVE_ANNOTATIONS, } from "../coalesce/types.js";
4
- export function registerJobTools(server, client) {
5
- server.registerTool("list_environment_jobs", {
6
- title: "List Environment Jobs",
7
- description: "List all jobs in a Coalesce environment. Jobs define which nodes to run together.\n\nArgs:\n - environmentID (string, required): The environment ID\n - limit, startingFrom, orderBy, orderByDirection: Pagination\n\nReturns:\n { data: Job[], next?: string, total?: number }",
8
- inputSchema: PaginationParams.extend({
9
- environmentID: z.string().describe("The environment ID"),
10
- }),
11
- outputSchema: getToolOutputSchema("list_environment_jobs"),
12
- annotations: READ_ONLY_ANNOTATIONS,
13
- }, async (params) => {
14
- try {
15
- const result = await listEnvironmentJobs(client, params);
16
- return buildJsonToolResponse("list_environment_jobs", result);
17
- }
18
- catch (error) {
19
- return handleToolError(error);
20
- }
21
- });
22
- server.registerTool("list_workspace_jobs", {
23
- title: "List Workspace Jobs",
24
- description: "List all jobs in a Coalesce workspace.\n\nArgs:\n - workspaceID (string, required): The workspace ID\n - limit, startingFrom, orderBy, orderByDirection: Pagination\n\nReturns:\n { data: Job[], next?: string, total?: number }",
25
- inputSchema: PaginationParams.extend({
26
- workspaceID: z.string().describe("The workspace ID"),
27
- }),
28
- outputSchema: getToolOutputSchema("list_workspace_jobs"),
29
- annotations: READ_ONLY_ANNOTATIONS,
30
- }, async (params) => {
31
- try {
32
- const result = await listWorkspaceJobs(client, params);
33
- return buildJsonToolResponse("list_workspace_jobs", result);
34
- }
35
- catch (error) {
36
- return handleToolError(error);
37
- }
38
- });
39
- server.registerTool("create_workspace_job", {
40
- title: "Create Workspace Job",
41
- description: "Create a new job in a Coalesce workspace. Jobs define which nodes to run together.\n\nArgs:\n - workspaceID (string, required): The workspace ID\n - name (string, required): Job name\n - includeSelector (string, required): Node selector. Format: '{ location: LOC name: NAME } OR { location: LOC name: NAME }'. Use empty string to include nothing\n - excludeSelector (string, required): Node exclusion selector. Same format as includeSelector. Use empty string to exclude nothing\n\nReturns:\n Created job with assigned ID.",
42
- inputSchema: z.object({
43
- workspaceID: z.string().describe("The workspace ID"),
44
- name: z.string().describe("Name for the job"),
45
- includeSelector: z
46
- .string()
47
- .describe("Node selector string. Format: '{ location: LOC name: NAME } OR { location: LOC name: NAME }'. Use empty string to include nothing."),
48
- excludeSelector: z
49
- .string()
50
- .describe("Node exclusion selector string. Same format as includeSelector. Use empty string to exclude nothing."),
51
- }),
52
- outputSchema: getToolOutputSchema("create_workspace_job"),
53
- annotations: WRITE_ANNOTATIONS,
54
- }, async (params) => {
55
- try {
56
- const result = await createWorkspaceJob(client, params);
57
- return buildJsonToolResponse("create_workspace_job", result);
58
- }
59
- catch (error) {
60
- return handleToolError(error);
61
- }
62
- });
63
- server.registerTool("get_environment_job", {
64
- title: "Get Environment Job",
65
- description: "Get details of a specific job in an environment.\n\nArgs:\n - environmentID (string, required): The environment ID\n - jobID (string, required): The job ID\n\nReturns:\n Job object with name, node list, schedule, and configuration.",
66
- inputSchema: z.object({
67
- environmentID: z.string().describe("The environment ID"),
68
- jobID: z.string().describe("The job ID"),
69
- }),
70
- outputSchema: getToolOutputSchema("get_environment_job"),
71
- annotations: READ_ONLY_ANNOTATIONS,
72
- }, async (params) => {
73
- try {
74
- const result = await getEnvironmentJob(client, params);
75
- return buildJsonToolResponse("get_environment_job", result);
76
- }
77
- catch (error) {
78
- return handleToolError(error);
79
- }
80
- });
81
- server.registerTool("update_workspace_job", {
82
- title: "Update Workspace Job",
83
- description: "Update an existing workspace job.\n\nArgs:\n - workspaceID (string, required): The workspace ID\n - jobID (string, required): The job ID\n - name (string, required): Updated job name\n - includeSelector (string, required): Node selector. Format: '{ location: LOC name: NAME } OR { location: LOC name: NAME }'\n - excludeSelector (string, required): Node exclusion selector. Same format as includeSelector\n\nReturns:\n Updated job object.",
84
- inputSchema: z.object({
85
- workspaceID: z.string().describe("The workspace ID"),
86
- jobID: z.string().describe("The job ID to update"),
87
- name: z.string().describe("Updated name for the job"),
88
- includeSelector: z
89
- .string()
90
- .describe("Node selector string. Format: '{ location: LOC name: NAME } OR { location: LOC name: NAME }'."),
91
- excludeSelector: z
92
- .string()
93
- .describe("Node exclusion selector string. Same format as includeSelector. Use empty string to exclude nothing."),
94
- }),
95
- outputSchema: getToolOutputSchema("update_workspace_job"),
96
- annotations: WRITE_ANNOTATIONS,
97
- }, async (params) => {
98
- try {
99
- const result = await updateWorkspaceJob(client, params);
100
- return buildJsonToolResponse("update_workspace_job", result);
101
- }
102
- catch (error) {
103
- return handleToolError(error);
104
- }
105
- });
106
- server.registerTool("delete_workspace_job", {
107
- title: "Delete Workspace Job",
108
- description: "Delete a job from a workspace. Destructive.\n\nArgs:\n - workspaceID (string, required): The workspace ID\n - jobID (string, required): The job ID\n\nReturns:\n Confirmation message.",
109
- inputSchema: z.object({
110
- workspaceID: z.string().describe("The workspace ID"),
111
- jobID: z.string().describe("The job ID to delete"),
112
- }),
113
- outputSchema: getToolOutputSchema("delete_workspace_job"),
114
- annotations: DESTRUCTIVE_ANNOTATIONS,
115
- }, async (params) => {
116
- try {
117
- const result = await deleteWorkspaceJob(client, params);
118
- return buildJsonToolResponse("delete_workspace_job", result);
119
- }
120
- catch (error) {
121
- return handleToolError(error);
122
- }
123
- });
2
+ import { listEnvironmentJobs, createWorkspaceJob, getEnvironmentJob, updateWorkspaceJob, deleteWorkspaceJob, } from "../coalesce/api/jobs.js";
3
+ import { PaginationParams, READ_ONLY_ANNOTATIONS, WRITE_ANNOTATIONS, DESTRUCTIVE_ANNOTATIONS, } from "../coalesce/types.js";
4
+ import { defineSimpleTool, defineDestructiveTool } from "./tool-helpers.js";
5
+ export function defineJobTools(server, client) {
6
+ return [
7
+ defineSimpleTool(client, "list_environment_jobs", {
8
+ title: "List Environment Jobs",
9
+ description: "List all jobs in a Coalesce environment. Jobs define which nodes to run together.\n\nArgs:\n - environmentID (string, required): The environment ID\n - limit, startingFrom, orderBy, orderByDirection: Pagination\n\nReturns:\n { data: Job[], next?: string, total?: number }",
10
+ inputSchema: PaginationParams.extend({
11
+ environmentID: z.string().describe("The environment ID"),
12
+ }),
13
+ annotations: READ_ONLY_ANNOTATIONS,
14
+ }, listEnvironmentJobs),
15
+ defineSimpleTool(client, "create_workspace_job", {
16
+ title: "Create Workspace Job",
17
+ description: "Create a new job in a Coalesce workspace. Jobs define which nodes to run together.\n\nArgs:\n - workspaceID (string, required): The workspace ID\n - name (string, required): Job name\n - includeSelector (string, required): Node selector. Format: '{ location: LOC name: NAME } OR { location: LOC name: NAME }'. Use empty string to include nothing\n - excludeSelector (string, required): Node exclusion selector. Same format as includeSelector. Use empty string to exclude nothing\n\nReturns:\n Created job with assigned ID.",
18
+ inputSchema: z.object({
19
+ workspaceID: z.string().describe("The workspace ID"),
20
+ name: z.string().describe("Name for the job"),
21
+ includeSelector: z
22
+ .string()
23
+ .describe("Node selector string. Format: '{ location: LOC name: NAME } OR { location: LOC name: NAME }'. Use empty string to include nothing."),
24
+ excludeSelector: z
25
+ .string()
26
+ .describe("Node exclusion selector string. Same format as includeSelector. Use empty string to exclude nothing."),
27
+ }),
28
+ annotations: WRITE_ANNOTATIONS,
29
+ }, createWorkspaceJob),
30
+ defineSimpleTool(client, "get_environment_job", {
31
+ title: "Get Environment Job",
32
+ description: "Get details of a specific job in an environment.\n\nArgs:\n - environmentID (string, required): The environment ID\n - jobID (string, required): The job ID\n\nReturns:\n Job object with name, node list, schedule, and configuration.",
33
+ inputSchema: z.object({
34
+ environmentID: z.string().describe("The environment ID"),
35
+ jobID: z.string().describe("The job ID"),
36
+ }),
37
+ annotations: READ_ONLY_ANNOTATIONS,
38
+ }, getEnvironmentJob),
39
+ defineSimpleTool(client, "update_workspace_job", {
40
+ title: "Update Workspace Job",
41
+ description: "Update an existing workspace job.\n\nArgs:\n - workspaceID (string, required): The workspace ID\n - jobID (string, required): The job ID\n - name (string, required): Updated job name\n - includeSelector (string, required): Node selector. Format: '{ location: LOC name: NAME } OR { location: LOC name: NAME }'\n - excludeSelector (string, required): Node exclusion selector. Same format as includeSelector\n\nReturns:\n Updated job object.",
42
+ inputSchema: z.object({
43
+ workspaceID: z.string().describe("The workspace ID"),
44
+ jobID: z.string().describe("The job ID to update"),
45
+ name: z.string().describe("Updated name for the job"),
46
+ includeSelector: z
47
+ .string()
48
+ .describe("Node selector string. Format: '{ location: LOC name: NAME } OR { location: LOC name: NAME }'."),
49
+ excludeSelector: z
50
+ .string()
51
+ .describe("Node exclusion selector string. Same format as includeSelector. Use empty string to exclude nothing."),
52
+ }),
53
+ annotations: WRITE_ANNOTATIONS,
54
+ }, updateWorkspaceJob),
55
+ defineDestructiveTool(server, client, "delete_workspace_job", {
56
+ title: "Delete Workspace Job",
57
+ description: "Delete a job from a workspace. Destructive — jobs define which nodes run together; deleting the wrong one breaks scheduled pipelines.\n\nArgs:\n - workspaceID (string, required): The workspace ID\n - jobID (string, required): The job ID\n - confirmed (boolean, optional): Set to true after the user explicitly confirms deletion\n\nReturns:\n Confirmation message.",
58
+ inputSchema: z.object({
59
+ workspaceID: z.string().describe("The workspace ID"),
60
+ jobID: z.string().describe("The job ID to delete"),
61
+ confirmed: z
62
+ .boolean()
63
+ .optional()
64
+ .describe("Set to true after the user explicitly confirms the deletion."),
65
+ }),
66
+ annotations: DESTRUCTIVE_ANNOTATIONS,
67
+ confirmMessage: (params) => `This will permanently delete job "${params.jobID}" from workspace "${params.workspaceID}". This cannot be undone.`,
68
+ }, deleteWorkspaceJob),
69
+ ];
124
70
  }
125
71
  //# sourceMappingURL=jobs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/mcp/jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/mcp/jobs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { CoalesceClient } from "../client.js";
3
+ import { type ToolDefinition } from "../coalesce/types.js";
4
+ export declare function defineLineageTools(server: McpServer, client: CoalesceClient): ToolDefinition[];
5
+ //# sourceMappingURL=lineage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lineage.d.ts","sourceRoot":"","sources":["../../src/mcp/lineage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAOL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAkB9B,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,GACrB,cAAc,EAAE,CA+dlB"}