0pflow 0.1.0-dev.06e289c → 0.1.0-dev.303bb09

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 (194) hide show
  1. package/dist/__tests__/discover.integration.test.d.ts +2 -0
  2. package/dist/__tests__/discover.integration.test.d.ts.map +1 -0
  3. package/dist/__tests__/discover.integration.test.js +137 -0
  4. package/dist/__tests__/discover.integration.test.js.map +1 -0
  5. package/dist/agent.d.ts +6 -0
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +59 -9
  8. package/dist/agent.js.map +1 -1
  9. package/dist/cli/__tests__/discovery.test.js +1 -1
  10. package/dist/cli/__tests__/discovery.test.js.map +1 -1
  11. package/dist/cli/discovery.d.ts +10 -0
  12. package/dist/cli/discovery.d.ts.map +1 -1
  13. package/dist/cli/discovery.js +42 -0
  14. package/dist/cli/discovery.js.map +1 -1
  15. package/dist/cli/env.js +1 -1
  16. package/dist/cli/env.js.map +1 -1
  17. package/dist/cli/index.d.ts.map +1 -1
  18. package/dist/cli/index.js +109 -8
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/cli/init.d.ts +2 -0
  21. package/dist/cli/init.d.ts.map +1 -0
  22. package/dist/cli/init.js +390 -0
  23. package/dist/cli/init.js.map +1 -0
  24. package/dist/cli/install.d.ts.map +1 -1
  25. package/dist/cli/install.js +44 -8
  26. package/dist/cli/install.js.map +1 -1
  27. package/dist/cli/mcp/lib/scaffolding.d.ts +33 -0
  28. package/dist/cli/mcp/lib/scaffolding.d.ts.map +1 -0
  29. package/dist/cli/mcp/lib/scaffolding.js +216 -0
  30. package/dist/cli/mcp/lib/scaffolding.js.map +1 -0
  31. package/dist/cli/mcp/lib/templates.d.ts +1 -0
  32. package/dist/cli/mcp/lib/templates.d.ts.map +1 -1
  33. package/dist/cli/mcp/lib/templates.js.map +1 -1
  34. package/dist/cli/mcp/tools/createApp.d.ts +1 -0
  35. package/dist/cli/mcp/tools/createApp.d.ts.map +1 -1
  36. package/dist/cli/mcp/tools/createApp.js +12 -55
  37. package/dist/cli/mcp/tools/createApp.js.map +1 -1
  38. package/dist/cli/mcp/tools/createDatabase.d.ts.map +1 -1
  39. package/dist/cli/mcp/tools/createDatabase.js +2 -41
  40. package/dist/cli/mcp/tools/createDatabase.js.map +1 -1
  41. package/dist/cli/mcp/tools/getConnectionInfo.d.ts +19 -0
  42. package/dist/cli/mcp/tools/getConnectionInfo.d.ts.map +1 -0
  43. package/dist/cli/mcp/tools/getConnectionInfo.js +117 -0
  44. package/dist/cli/mcp/tools/getConnectionInfo.js.map +1 -0
  45. package/dist/cli/mcp/tools/getRun.d.ts +22 -0
  46. package/dist/cli/mcp/tools/getRun.d.ts.map +1 -0
  47. package/dist/cli/mcp/tools/getRun.js +80 -0
  48. package/dist/cli/mcp/tools/getRun.js.map +1 -0
  49. package/dist/cli/mcp/tools/getTrace.d.ts +32 -0
  50. package/dist/cli/mcp/tools/getTrace.d.ts.map +1 -0
  51. package/dist/cli/mcp/tools/getTrace.js +104 -0
  52. package/dist/cli/mcp/tools/getTrace.js.map +1 -0
  53. package/dist/cli/mcp/tools/index.d.ts +101 -1
  54. package/dist/cli/mcp/tools/index.d.ts.map +1 -1
  55. package/dist/cli/mcp/tools/index.js +18 -0
  56. package/dist/cli/mcp/tools/index.js.map +1 -1
  57. package/dist/cli/mcp/tools/listIntegrations.d.ts +14 -0
  58. package/dist/cli/mcp/tools/listIntegrations.d.ts.map +1 -0
  59. package/dist/cli/mcp/tools/listIntegrations.js +53 -0
  60. package/dist/cli/mcp/tools/listIntegrations.js.map +1 -0
  61. package/dist/cli/mcp/tools/listRuns.d.ts +21 -0
  62. package/dist/cli/mcp/tools/listRuns.d.ts.map +1 -0
  63. package/dist/cli/mcp/tools/listRuns.js +72 -0
  64. package/dist/cli/mcp/tools/listRuns.js.map +1 -0
  65. package/dist/cli/mcp/tools/listWorkflows.d.ts +15 -0
  66. package/dist/cli/mcp/tools/listWorkflows.d.ts.map +1 -0
  67. package/dist/cli/mcp/tools/listWorkflows.js +45 -0
  68. package/dist/cli/mcp/tools/listWorkflows.js.map +1 -0
  69. package/dist/cli/mcp/tools/runNode.d.ts +17 -0
  70. package/dist/cli/mcp/tools/runNode.d.ts.map +1 -0
  71. package/dist/cli/mcp/tools/runNode.js +74 -0
  72. package/dist/cli/mcp/tools/runNode.js.map +1 -0
  73. package/dist/cli/mcp/tools/runWorkflow.d.ts +16 -0
  74. package/dist/cli/mcp/tools/runWorkflow.d.ts.map +1 -0
  75. package/dist/cli/mcp/tools/runWorkflow.js +66 -0
  76. package/dist/cli/mcp/tools/runWorkflow.js.map +1 -0
  77. package/dist/cli/mcp/tools/setupAppSchema.d.ts +1 -1
  78. package/dist/cli/mcp/tools/setupAppSchema.d.ts.map +1 -1
  79. package/dist/cli/mcp/tools/setupAppSchema.js +11 -132
  80. package/dist/cli/mcp/tools/setupAppSchema.js.map +1 -1
  81. package/dist/cli/mcp/tools/startDevUi.d.ts +15 -0
  82. package/dist/cli/mcp/tools/startDevUi.d.ts.map +1 -0
  83. package/dist/cli/mcp/tools/startDevUi.js +92 -0
  84. package/dist/cli/mcp/tools/startDevUi.js.map +1 -0
  85. package/dist/cli/mcp/tools/utils.d.ts +7 -0
  86. package/dist/cli/mcp/tools/utils.d.ts.map +1 -0
  87. package/dist/cli/mcp/tools/utils.js +28 -0
  88. package/dist/cli/mcp/tools/utils.js.map +1 -0
  89. package/dist/cli/trace.d.ts +5 -0
  90. package/dist/cli/trace.d.ts.map +1 -1
  91. package/dist/cli/trace.js +1 -1
  92. package/dist/cli/trace.js.map +1 -1
  93. package/dist/connections/cloud-auth.d.ts +46 -0
  94. package/dist/connections/cloud-auth.d.ts.map +1 -0
  95. package/dist/connections/cloud-auth.js +243 -0
  96. package/dist/connections/cloud-auth.js.map +1 -0
  97. package/dist/connections/cloud-client.d.ts +25 -0
  98. package/dist/connections/cloud-client.d.ts.map +1 -0
  99. package/dist/connections/cloud-client.js +59 -0
  100. package/dist/connections/cloud-client.js.map +1 -0
  101. package/dist/connections/cloud-integration-provider.d.ts +21 -0
  102. package/dist/connections/cloud-integration-provider.d.ts.map +1 -0
  103. package/dist/connections/cloud-integration-provider.js +26 -0
  104. package/dist/connections/cloud-integration-provider.js.map +1 -0
  105. package/dist/connections/index.d.ts +11 -0
  106. package/dist/connections/index.d.ts.map +1 -0
  107. package/dist/connections/index.js +9 -0
  108. package/dist/connections/index.js.map +1 -0
  109. package/dist/connections/integration-provider.d.ts +38 -0
  110. package/dist/connections/integration-provider.d.ts.map +1 -0
  111. package/dist/connections/integration-provider.js +20 -0
  112. package/dist/connections/integration-provider.js.map +1 -0
  113. package/dist/connections/local-integration-provider.d.ts +28 -0
  114. package/dist/connections/local-integration-provider.d.ts.map +1 -0
  115. package/dist/connections/local-integration-provider.js +54 -0
  116. package/dist/connections/local-integration-provider.js.map +1 -0
  117. package/dist/connections/nango-client.d.ts +14 -0
  118. package/dist/connections/nango-client.d.ts.map +1 -0
  119. package/dist/connections/nango-client.js +50 -0
  120. package/dist/connections/nango-client.js.map +1 -0
  121. package/dist/connections/resolver.d.ts +26 -0
  122. package/dist/connections/resolver.d.ts.map +1 -0
  123. package/dist/connections/resolver.js +44 -0
  124. package/dist/connections/resolver.js.map +1 -0
  125. package/dist/connections/schema.d.ts +6 -0
  126. package/dist/connections/schema.d.ts.map +1 -0
  127. package/dist/connections/schema.js +25 -0
  128. package/dist/connections/schema.js.map +1 -0
  129. package/dist/context.d.ts.map +1 -1
  130. package/dist/context.js +4 -0
  131. package/dist/context.js.map +1 -1
  132. package/dist/dev-ui/api.d.ts +13 -0
  133. package/dist/dev-ui/api.d.ts.map +1 -0
  134. package/dist/dev-ui/api.js +237 -0
  135. package/dist/dev-ui/api.js.map +1 -0
  136. package/dist/dev-ui/dag/extractor.d.ts +19 -0
  137. package/dist/dev-ui/dag/extractor.d.ts.map +1 -0
  138. package/dist/dev-ui/dag/extractor.js +728 -0
  139. package/dist/dev-ui/dag/extractor.js.map +1 -0
  140. package/dist/dev-ui/dag/types.d.ts +42 -0
  141. package/dist/dev-ui/dag/types.d.ts.map +1 -0
  142. package/dist/dev-ui/dag/types.js +2 -0
  143. package/dist/dev-ui/dag/types.js.map +1 -0
  144. package/dist/dev-ui/dev-server.d.ts +14 -0
  145. package/dist/dev-ui/dev-server.d.ts.map +1 -0
  146. package/dist/dev-ui/dev-server.js +158 -0
  147. package/dist/dev-ui/dev-server.js.map +1 -0
  148. package/dist/dev-ui/index.d.ts +3 -0
  149. package/dist/dev-ui/index.d.ts.map +1 -0
  150. package/dist/dev-ui/index.js +2 -0
  151. package/dist/dev-ui/index.js.map +1 -0
  152. package/dist/dev-ui/watcher.d.ts +12 -0
  153. package/dist/dev-ui/watcher.d.ts.map +1 -0
  154. package/dist/dev-ui/watcher.js +162 -0
  155. package/dist/dev-ui/watcher.js.map +1 -0
  156. package/dist/dev-ui/ws.d.ts +27 -0
  157. package/dist/dev-ui/ws.d.ts.map +1 -0
  158. package/dist/dev-ui/ws.js +19 -0
  159. package/dist/dev-ui/ws.js.map +1 -0
  160. package/dist/dev-ui-client/assets/index-B5wNJx8a.js +77 -0
  161. package/dist/dev-ui-client/assets/index-DAKTQEvj.js +1 -0
  162. package/dist/dev-ui-client/assets/index-DpOZNNnF.css +1 -0
  163. package/dist/dev-ui-client/index.html +13 -0
  164. package/dist/discover.d.ts +15 -0
  165. package/dist/discover.d.ts.map +1 -0
  166. package/dist/discover.js +29 -0
  167. package/dist/discover.js.map +1 -0
  168. package/dist/factory.d.ts.map +1 -1
  169. package/dist/factory.js +25 -12
  170. package/dist/factory.js.map +1 -1
  171. package/dist/index.d.ts +5 -1
  172. package/dist/index.d.ts.map +1 -1
  173. package/dist/index.js +4 -0
  174. package/dist/index.js.map +1 -1
  175. package/dist/node.d.ts +1 -0
  176. package/dist/node.d.ts.map +1 -1
  177. package/dist/node.js +1 -0
  178. package/dist/node.js.map +1 -1
  179. package/dist/nodes/agent/executor.d.ts +2 -0
  180. package/dist/nodes/agent/executor.d.ts.map +1 -1
  181. package/dist/nodes/agent/executor.js +11 -1
  182. package/dist/nodes/agent/executor.js.map +1 -1
  183. package/dist/types.d.ts +19 -1
  184. package/dist/types.d.ts.map +1 -1
  185. package/dist/workflow.d.ts +22 -0
  186. package/dist/workflow.d.ts.map +1 -1
  187. package/dist/workflow.js +90 -2
  188. package/dist/workflow.js.map +1 -1
  189. package/package.json +22 -5
  190. package/templates/app/dbos-config.yaml +6 -0
  191. package/templates/app/package.json +4 -1
  192. package/templates/app/src/app/api/workflow/[name]/route.ts +37 -0
  193. package/templates/app/src/instrumentation.ts +6 -0
  194. package/templates/app/src/lib/pflow.ts +29 -0
@@ -0,0 +1,80 @@
1
+ import { z } from "zod";
2
+ import { getRun } from "../../runs.js";
3
+ import { requireDatabaseUrl, parseOutput } from "./utils.js";
4
+ const inputSchema = {
5
+ run_id: z
6
+ .string()
7
+ .describe("Workflow run UUID or short prefix (like git short hashes)"),
8
+ };
9
+ const outputSchema = {
10
+ run: z
11
+ .object({
12
+ workflow_uuid: z.string(),
13
+ name: z.string(),
14
+ status: z.string(),
15
+ created_at: z.string(),
16
+ updated_at: z.string(),
17
+ output: z.unknown().optional(),
18
+ error: z.string().nullable().optional(),
19
+ })
20
+ .nullable()
21
+ .describe("Workflow run details, or null if not found"),
22
+ ambiguous: z
23
+ .boolean()
24
+ .optional()
25
+ .describe("True if the run ID prefix matched multiple runs"),
26
+ error: z.string().optional().describe("Error message if query failed"),
27
+ };
28
+ export const getRunFactory = () => {
29
+ return {
30
+ name: "get_run",
31
+ config: {
32
+ title: "Get Run",
33
+ description: "Get details of a specific workflow run by ID or short prefix. " +
34
+ "Supports git-style short hashes (e.g., first 8 characters). " +
35
+ "Use get_trace for full execution trace with operations.",
36
+ inputSchema,
37
+ outputSchema,
38
+ },
39
+ fn: async ({ run_id }) => {
40
+ let databaseUrl;
41
+ try {
42
+ databaseUrl = requireDatabaseUrl();
43
+ }
44
+ catch (err) {
45
+ return { run: null, error: err instanceof Error ? err.message : String(err) };
46
+ }
47
+ try {
48
+ const { run, ambiguous } = await getRun(databaseUrl, run_id);
49
+ if (ambiguous) {
50
+ return {
51
+ run: null,
52
+ ambiguous: true,
53
+ error: `Ambiguous prefix "${run_id}" — matches multiple runs. Use a longer prefix.`,
54
+ };
55
+ }
56
+ if (!run) {
57
+ return { run: null };
58
+ }
59
+ return {
60
+ run: {
61
+ workflow_uuid: run.workflow_uuid,
62
+ name: run.name,
63
+ status: run.status,
64
+ created_at: String(run.created_at),
65
+ updated_at: String(run.updated_at),
66
+ output: run.output ? parseOutput(run.output) : undefined,
67
+ error: run.error,
68
+ },
69
+ };
70
+ }
71
+ catch (err) {
72
+ return {
73
+ run: null,
74
+ error: err instanceof Error ? err.message : String(err),
75
+ };
76
+ }
77
+ },
78
+ };
79
+ };
80
+ //# sourceMappingURL=getRun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRun.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/getRun.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { ApiFactory } from "@tigerdata/mcp-boilerplate";
2
+ import { z } from "zod";
3
+ import type { ServerContext } from "../types.js";
4
+ declare const inputSchema: {
5
+ readonly run_id: z.ZodString;
6
+ };
7
+ declare const outputSchema: {
8
+ readonly workflow: z.ZodNullable<z.ZodObject<{
9
+ workflow_uuid: z.ZodString;
10
+ name: z.ZodString;
11
+ status: z.ZodString;
12
+ created_at: z.ZodString;
13
+ duration_ms: z.ZodNullable<z.ZodNumber>;
14
+ output: z.ZodOptional<z.ZodUnknown>;
15
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
+ }, z.core.$strip>>;
17
+ readonly operations: z.ZodArray<z.ZodObject<{
18
+ workflow_uuid: z.ZodString;
19
+ depth: z.ZodNumber;
20
+ function_id: z.ZodNumber;
21
+ function_name: z.ZodString;
22
+ child_workflow_id: z.ZodNullable<z.ZodString>;
23
+ duration_ms: z.ZodNullable<z.ZodNumber>;
24
+ output_preview: z.ZodNullable<z.ZodString>;
25
+ error: z.ZodNullable<z.ZodString>;
26
+ }, z.core.$strip>>;
27
+ readonly ambiguous: z.ZodOptional<z.ZodBoolean>;
28
+ readonly error: z.ZodOptional<z.ZodString>;
29
+ };
30
+ export declare const getTraceFactory: ApiFactory<ServerContext, typeof inputSchema, typeof outputSchema>;
31
+ export {};
32
+ //# sourceMappingURL=getTrace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTrace.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/getTrace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,QAAA,MAAM,WAAW;;CAIP,CAAC;AAEX,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;CAgCR,CAAC;AA8BX,eAAO,MAAM,eAAe,EAAE,UAAU,CACtC,aAAa,EACb,OAAO,WAAW,EAClB,OAAO,YAAY,CAmEpB,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { z } from "zod";
2
+ import { getTrace } from "../../trace.js";
3
+ import { requireDatabaseUrl, parseOutput } from "./utils.js";
4
+ const inputSchema = {
5
+ run_id: z
6
+ .string()
7
+ .describe("Workflow run UUID or short prefix (like git short hashes)"),
8
+ };
9
+ const outputSchema = {
10
+ workflow: z
11
+ .object({
12
+ workflow_uuid: z.string(),
13
+ name: z.string(),
14
+ status: z.string(),
15
+ created_at: z.string(),
16
+ duration_ms: z.number().nullable(),
17
+ output: z.unknown().optional(),
18
+ error: z.string().nullable().optional(),
19
+ })
20
+ .nullable()
21
+ .describe("Workflow metadata, or null if not found"),
22
+ operations: z
23
+ .array(z.object({
24
+ workflow_uuid: z.string(),
25
+ depth: z.number(),
26
+ function_id: z.number(),
27
+ function_name: z.string(),
28
+ child_workflow_id: z.string().nullable(),
29
+ duration_ms: z.number().nullable(),
30
+ output_preview: z.string().nullable(),
31
+ error: z.string().nullable(),
32
+ }))
33
+ .describe("Ordered list of operations in the execution tree"),
34
+ ambiguous: z
35
+ .boolean()
36
+ .optional()
37
+ .describe("True if the run ID prefix matched multiple runs"),
38
+ error: z.string().optional().describe("Error message if query failed"),
39
+ };
40
+ export const getTraceFactory = () => {
41
+ return {
42
+ name: "get_trace",
43
+ config: {
44
+ title: "Get Trace",
45
+ description: "Get the full execution trace for a workflow run, including all operations, " +
46
+ "child workflows, timings, and outputs. " +
47
+ "Supports git-style short hash prefixes for run IDs.",
48
+ inputSchema,
49
+ outputSchema,
50
+ },
51
+ fn: async ({ run_id }) => {
52
+ let databaseUrl;
53
+ try {
54
+ databaseUrl = requireDatabaseUrl();
55
+ }
56
+ catch (err) {
57
+ return { workflow: null, operations: [], error: err instanceof Error ? err.message : String(err) };
58
+ }
59
+ try {
60
+ const trace = await getTrace(databaseUrl, run_id);
61
+ if (trace.ambiguous) {
62
+ return {
63
+ workflow: null,
64
+ operations: [],
65
+ ambiguous: true,
66
+ error: `Ambiguous prefix "${run_id}" — matches multiple runs. Use a longer prefix.`,
67
+ };
68
+ }
69
+ if (!trace.workflow) {
70
+ return { workflow: null, operations: [] };
71
+ }
72
+ return {
73
+ workflow: {
74
+ workflow_uuid: trace.workflow.workflow_uuid,
75
+ name: trace.workflow.name,
76
+ status: trace.workflow.status,
77
+ created_at: String(trace.workflow.created_at),
78
+ duration_ms: trace.workflow.duration_ms != null ? Number(trace.workflow.duration_ms) : null,
79
+ output: trace.workflow.output ? parseOutput(trace.workflow.output) : undefined,
80
+ error: trace.workflow.error,
81
+ },
82
+ operations: trace.operations.map((op) => ({
83
+ workflow_uuid: op.workflow_uuid,
84
+ depth: Number(op.depth),
85
+ function_id: Number(op.function_id),
86
+ function_name: op.function_name,
87
+ child_workflow_id: op.child_workflow_id,
88
+ duration_ms: op.duration_ms != null ? Number(op.duration_ms) : null,
89
+ output_preview: op.output_preview,
90
+ error: op.error,
91
+ })),
92
+ };
93
+ }
94
+ catch (err) {
95
+ return {
96
+ workflow: null,
97
+ operations: [],
98
+ error: err instanceof Error ? err.message : String(err),
99
+ };
100
+ }
101
+ },
102
+ };
103
+ };
104
+ //# sourceMappingURL=getTrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTrace.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/getTrace.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export declare function getApiFactories(): Promise<readonly [import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
2
2
  readonly app_name: import("zod").ZodString;
3
+ readonly directory: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
3
4
  readonly install_deps: import("zod").ZodDefault<import("zod").ZodBoolean>;
4
5
  }, {
5
6
  readonly success: import("zod").ZodBoolean;
@@ -12,7 +13,7 @@ export declare function getApiFactories(): Promise<readonly [import("@tigerdata/
12
13
  readonly service_id: import("zod").ZodOptional<import("zod").ZodString>;
13
14
  readonly error: import("zod").ZodOptional<import("zod").ZodString>;
14
15
  }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
15
- readonly application_directory: import("zod").ZodString;
16
+ readonly directory: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
16
17
  readonly service_id: import("zod").ZodString;
17
18
  readonly app_name: import("zod").ZodString;
18
19
  }, {
@@ -20,5 +21,104 @@ export declare function getApiFactories(): Promise<readonly [import("@tigerdata/
20
21
  readonly message: import("zod").ZodString;
21
22
  readonly schema_name: import("zod").ZodOptional<import("zod").ZodString>;
22
23
  readonly user_name: import("zod").ZodOptional<import("zod").ZodString>;
24
+ }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {}, {
25
+ readonly integrations: import("zod").ZodArray<import("zod").ZodObject<{
26
+ id: import("zod").ZodString;
27
+ provider: import("zod").ZodString;
28
+ }, import("zod/v4/core").$strip>>;
29
+ readonly error: import("zod").ZodOptional<import("zod").ZodString>;
30
+ }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
31
+ readonly integration_id: import("zod").ZodString;
32
+ readonly workflow_name: import("zod").ZodString;
33
+ readonly node_name: import("zod").ZodString;
34
+ }, {
35
+ readonly connection_id: import("zod").ZodOptional<import("zod").ZodString>;
36
+ readonly provider: import("zod").ZodOptional<import("zod").ZodString>;
37
+ readonly connection_config: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
38
+ readonly metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
39
+ readonly access_token: import("zod").ZodOptional<import("zod").ZodString>;
40
+ readonly error: import("zod").ZodOptional<import("zod").ZodString>;
41
+ }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
42
+ readonly port: import("zod").ZodOptional<import("zod").ZodNumber>;
43
+ }, {
44
+ readonly url: import("zod").ZodOptional<import("zod").ZodString>;
45
+ readonly port: import("zod").ZodOptional<import("zod").ZodNumber>;
46
+ readonly already_running: import("zod").ZodOptional<import("zod").ZodBoolean>;
47
+ readonly error: import("zod").ZodOptional<import("zod").ZodString>;
48
+ }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {}, {
49
+ readonly workflows: import("zod").ZodArray<import("zod").ZodObject<{
50
+ name: import("zod").ZodString;
51
+ version: import("zod").ZodOptional<import("zod").ZodNumber>;
52
+ description: import("zod").ZodOptional<import("zod").ZodString>;
53
+ }, import("zod/v4/core").$strip>>;
54
+ readonly error: import("zod").ZodOptional<import("zod").ZodString>;
55
+ }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
56
+ readonly workflow_name: import("zod").ZodString;
57
+ readonly input: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
58
+ }, {
59
+ readonly run_id: import("zod").ZodOptional<import("zod").ZodString>;
60
+ readonly status: import("zod").ZodString;
61
+ readonly result: import("zod").ZodOptional<import("zod").ZodUnknown>;
62
+ readonly error: import("zod").ZodOptional<import("zod").ZodString>;
63
+ }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
64
+ readonly node_name: import("zod").ZodString;
65
+ readonly workflow_name: import("zod").ZodOptional<import("zod").ZodString>;
66
+ readonly input: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
67
+ }, {
68
+ readonly run_id: import("zod").ZodOptional<import("zod").ZodString>;
69
+ readonly status: import("zod").ZodString;
70
+ readonly result: import("zod").ZodOptional<import("zod").ZodUnknown>;
71
+ readonly error: import("zod").ZodOptional<import("zod").ZodString>;
72
+ }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
73
+ readonly limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
74
+ readonly workflow_name: import("zod").ZodOptional<import("zod").ZodString>;
75
+ }, {
76
+ readonly runs: import("zod").ZodArray<import("zod").ZodObject<{
77
+ workflow_uuid: import("zod").ZodString;
78
+ name: import("zod").ZodString;
79
+ status: import("zod").ZodString;
80
+ created_at: import("zod").ZodString;
81
+ output: import("zod").ZodOptional<import("zod").ZodUnknown>;
82
+ error: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
83
+ }, import("zod/v4/core").$strip>>;
84
+ readonly error: import("zod").ZodOptional<import("zod").ZodString>;
85
+ }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
86
+ readonly run_id: import("zod").ZodString;
87
+ }, {
88
+ readonly run: import("zod").ZodNullable<import("zod").ZodObject<{
89
+ workflow_uuid: import("zod").ZodString;
90
+ name: import("zod").ZodString;
91
+ status: import("zod").ZodString;
92
+ created_at: import("zod").ZodString;
93
+ updated_at: import("zod").ZodString;
94
+ output: import("zod").ZodOptional<import("zod").ZodUnknown>;
95
+ error: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
96
+ }, import("zod/v4/core").$strip>>;
97
+ readonly ambiguous: import("zod").ZodOptional<import("zod").ZodBoolean>;
98
+ readonly error: import("zod").ZodOptional<import("zod").ZodString>;
99
+ }>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
100
+ readonly run_id: import("zod").ZodString;
101
+ }, {
102
+ readonly workflow: import("zod").ZodNullable<import("zod").ZodObject<{
103
+ workflow_uuid: import("zod").ZodString;
104
+ name: import("zod").ZodString;
105
+ status: import("zod").ZodString;
106
+ created_at: import("zod").ZodString;
107
+ duration_ms: import("zod").ZodNullable<import("zod").ZodNumber>;
108
+ output: import("zod").ZodOptional<import("zod").ZodUnknown>;
109
+ error: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
110
+ }, import("zod/v4/core").$strip>>;
111
+ readonly operations: import("zod").ZodArray<import("zod").ZodObject<{
112
+ workflow_uuid: import("zod").ZodString;
113
+ depth: import("zod").ZodNumber;
114
+ function_id: import("zod").ZodNumber;
115
+ function_name: import("zod").ZodString;
116
+ child_workflow_id: import("zod").ZodNullable<import("zod").ZodString>;
117
+ duration_ms: import("zod").ZodNullable<import("zod").ZodNumber>;
118
+ output_preview: import("zod").ZodNullable<import("zod").ZodString>;
119
+ error: import("zod").ZodNullable<import("zod").ZodString>;
120
+ }, import("zod/v4/core").$strip>>;
121
+ readonly ambiguous: import("zod").ZodOptional<import("zod").ZodBoolean>;
122
+ readonly error: import("zod").ZodOptional<import("zod").ZodString>;
23
123
  }>]>;
24
124
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/index.ts"],"names":[],"mappings":"AAIA,wBAAsB,eAAe;;;;;;;;;;;;;;;;;;;;;;KAMpC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/index.ts"],"names":[],"mappings":"AAaA,wBAAsB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAepC"}
@@ -1,11 +1,29 @@
1
1
  import { createAppFactory } from "./createApp.js";
2
2
  import { createDatabaseFactory } from "./createDatabase.js";
3
3
  import { setupAppSchemaFactory } from "./setupAppSchema.js";
4
+ import { listIntegrationsFactory } from "./listIntegrations.js";
5
+ import { getConnectionInfoFactory } from "./getConnectionInfo.js";
6
+ import { startDevUiFactory } from "./startDevUi.js";
7
+ import { listWorkflowsFactory } from "./listWorkflows.js";
8
+ import { runWorkflowFactory } from "./runWorkflow.js";
9
+ import { runNodeFactory } from "./runNode.js";
10
+ import { listRunsFactory } from "./listRuns.js";
11
+ import { getRunFactory } from "./getRun.js";
12
+ import { getTraceFactory } from "./getTrace.js";
4
13
  export async function getApiFactories() {
5
14
  return [
6
15
  createAppFactory,
7
16
  createDatabaseFactory,
8
17
  setupAppSchemaFactory,
18
+ listIntegrationsFactory,
19
+ getConnectionInfoFactory,
20
+ startDevUiFactory,
21
+ listWorkflowsFactory,
22
+ runWorkflowFactory,
23
+ runNodeFactory,
24
+ listRunsFactory,
25
+ getRunFactory,
26
+ getTraceFactory,
9
27
  ];
10
28
  }
11
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO;QACL,gBAAgB;QAChB,qBAAqB;QACrB,qBAAqB;KACb,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO;QACL,gBAAgB;QAChB,qBAAqB;QACrB,qBAAqB;QACrB,uBAAuB;QACvB,wBAAwB;QACxB,iBAAiB;QACjB,oBAAoB;QACpB,kBAAkB;QAClB,cAAc;QACd,eAAe;QACf,aAAa;QACb,eAAe;KACP,CAAC;AACb,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ApiFactory } from "@tigerdata/mcp-boilerplate";
2
+ import { z } from "zod";
3
+ import type { ServerContext } from "../types.js";
4
+ declare const inputSchema: {};
5
+ declare const outputSchema: {
6
+ readonly integrations: z.ZodArray<z.ZodObject<{
7
+ id: z.ZodString;
8
+ provider: z.ZodString;
9
+ }, z.core.$strip>>;
10
+ readonly error: z.ZodOptional<z.ZodString>;
11
+ };
12
+ export declare const listIntegrationsFactory: ApiFactory<ServerContext, typeof inputSchema, typeof outputSchema>;
13
+ export {};
14
+ //# sourceMappingURL=listIntegrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listIntegrations.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/listIntegrations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,QAAA,MAAM,WAAW,IAAc,CAAC;AAEhC,QAAA,MAAM,YAAY;;;;;;CAQR,CAAC;AAuBX,eAAO,MAAM,uBAAuB,EAAE,UAAU,CAC9C,aAAa,EACb,OAAO,WAAW,EAClB,OAAO,YAAY,CAwBpB,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { z } from "zod";
4
+ import * as dotenv from "dotenv";
5
+ import { createIntegrationProvider } from "../../../connections/integration-provider.js";
6
+ const inputSchema = {};
7
+ const outputSchema = {
8
+ integrations: z.array(z.object({
9
+ id: z.string().describe("Integration unique key (use this in node integrations arrays)"),
10
+ provider: z.string().describe("Provider name (e.g., salesforce, slack)"),
11
+ })).describe("Available integrations"),
12
+ error: z.string().optional().describe("Error message if listing failed"),
13
+ };
14
+ /**
15
+ * Create an IntegrationProvider based on available env vars.
16
+ * NANGO_SECRET_KEY → local, otherwise → cloud (auto-auth).
17
+ */
18
+ async function createProvider() {
19
+ // Check .env file for NANGO_SECRET_KEY
20
+ const envPath = join(process.cwd(), ".env");
21
+ let nangoSecretKey;
22
+ if (existsSync(envPath)) {
23
+ const content = readFileSync(envPath, "utf-8");
24
+ const env = dotenv.parse(content);
25
+ nangoSecretKey = env.NANGO_SECRET_KEY;
26
+ }
27
+ return createIntegrationProvider(nangoSecretKey);
28
+ }
29
+ export const listIntegrationsFactory = () => {
30
+ return {
31
+ name: "list_integrations",
32
+ config: {
33
+ title: "List Integrations",
34
+ description: "List available integrations. Uses NANGO_SECRET_KEY for local mode, or 0pflow cloud (auto-authenticates via browser if needed).",
35
+ inputSchema,
36
+ outputSchema,
37
+ },
38
+ fn: async () => {
39
+ try {
40
+ const provider = await createProvider();
41
+ const integrations = await provider.listIntegrations();
42
+ return { integrations };
43
+ }
44
+ catch (err) {
45
+ return {
46
+ integrations: [],
47
+ error: `Failed to list integrations: ${err instanceof Error ? err.message : String(err)}`,
48
+ };
49
+ }
50
+ },
51
+ };
52
+ };
53
+ //# sourceMappingURL=listIntegrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listIntegrations.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/listIntegrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AAEzF,MAAM,WAAW,GAAG,EAAW,CAAC;AAEhC,MAAM,YAAY,GAAG;IACnB,YAAY,EAAE,CAAC,CAAC,KAAK,CACnB,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;QACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;KACzE,CAAC,CACH,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAChE,CAAC;AAOX;;;GAGG;AACH,KAAK,UAAU,cAAc;IAC3B,uCAAuC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,cAAkC,CAAC;IACvC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,cAAc,GAAG,GAAG,CAAC,gBAAgB,CAAC;IACxC,CAAC;IACD,OAAO,yBAAyB,CAAC,cAAc,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAIhC,GAAG,EAAE;IACP,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACN,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,gIAAgI;YAClI,WAAW;YACX,YAAY;SACb;QACD,EAAE,EAAE,KAAK,IAA2B,EAAE;YACpC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBACvD,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,YAAY,EAAE,EAAE;oBAChB,KAAK,EAAE,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBAC1F,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { ApiFactory } from "@tigerdata/mcp-boilerplate";
2
+ import { z } from "zod";
3
+ import type { ServerContext } from "../types.js";
4
+ declare const inputSchema: {
5
+ readonly limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6
+ readonly workflow_name: z.ZodOptional<z.ZodString>;
7
+ };
8
+ declare const outputSchema: {
9
+ readonly runs: z.ZodArray<z.ZodObject<{
10
+ workflow_uuid: z.ZodString;
11
+ name: z.ZodString;
12
+ status: z.ZodString;
13
+ created_at: z.ZodString;
14
+ output: z.ZodOptional<z.ZodUnknown>;
15
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
+ }, z.core.$strip>>;
17
+ readonly error: z.ZodOptional<z.ZodString>;
18
+ };
19
+ export declare const listRunsFactory: ApiFactory<ServerContext, typeof inputSchema, typeof outputSchema>;
20
+ export {};
21
+ //# sourceMappingURL=listRuns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listRuns.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/listRuns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,QAAA,MAAM,WAAW;;;CAUP,CAAC;AAEX,QAAA,MAAM,YAAY;;;;;;;;;;CAcR,CAAC;AAgBX,eAAO,MAAM,eAAe,EAAE,UAAU,CACtC,aAAa,EACb,OAAO,WAAW,EAClB,OAAO,YAAY,CA6CpB,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { z } from "zod";
2
+ import { listRuns } from "../../runs.js";
3
+ import { requireDatabaseUrl, parseOutput } from "./utils.js";
4
+ const inputSchema = {
5
+ limit: z
6
+ .number()
7
+ .optional()
8
+ .default(20)
9
+ .describe("Maximum number of runs to return (default: 20)"),
10
+ workflow_name: z
11
+ .string()
12
+ .optional()
13
+ .describe("Filter by workflow name"),
14
+ };
15
+ const outputSchema = {
16
+ runs: z
17
+ .array(z.object({
18
+ workflow_uuid: z.string(),
19
+ name: z.string(),
20
+ status: z.string(),
21
+ created_at: z.string(),
22
+ output: z.unknown().optional(),
23
+ error: z.string().nullable().optional(),
24
+ }))
25
+ .describe("List of workflow runs, most recent first"),
26
+ error: z.string().optional().describe("Error message if query failed"),
27
+ };
28
+ export const listRunsFactory = () => {
29
+ return {
30
+ name: "list_runs",
31
+ config: {
32
+ title: "List Runs",
33
+ description: "List recent workflow executions. " +
34
+ "Returns run IDs, workflow names, statuses, and timestamps. " +
35
+ "Use get_run or get_trace with a run ID for details.",
36
+ inputSchema,
37
+ outputSchema,
38
+ },
39
+ fn: async ({ limit, workflow_name }) => {
40
+ let databaseUrl;
41
+ try {
42
+ databaseUrl = requireDatabaseUrl();
43
+ }
44
+ catch (err) {
45
+ return { runs: [], error: err instanceof Error ? err.message : String(err) };
46
+ }
47
+ try {
48
+ const runs = await listRuns(databaseUrl, {
49
+ limit,
50
+ workflowName: workflow_name,
51
+ });
52
+ return {
53
+ runs: runs.map((r) => ({
54
+ workflow_uuid: r.workflow_uuid,
55
+ name: r.name,
56
+ status: r.status,
57
+ created_at: String(r.created_at),
58
+ output: r.output ? parseOutput(r.output) : undefined,
59
+ error: r.error,
60
+ })),
61
+ };
62
+ }
63
+ catch (err) {
64
+ return {
65
+ runs: [],
66
+ error: err instanceof Error ? err.message : String(err),
67
+ };
68
+ }
69
+ },
70
+ };
71
+ };
72
+ //# sourceMappingURL=listRuns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listRuns.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/listRuns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ApiFactory } from "@tigerdata/mcp-boilerplate";
2
+ import { z } from "zod";
3
+ import type { ServerContext } from "../types.js";
4
+ declare const inputSchema: {};
5
+ declare const outputSchema: {
6
+ readonly workflows: z.ZodArray<z.ZodObject<{
7
+ name: z.ZodString;
8
+ version: z.ZodOptional<z.ZodNumber>;
9
+ description: z.ZodOptional<z.ZodString>;
10
+ }, z.core.$strip>>;
11
+ readonly error: z.ZodOptional<z.ZodString>;
12
+ };
13
+ export declare const listWorkflowsFactory: ApiFactory<ServerContext, typeof inputSchema, typeof outputSchema>;
14
+ export {};
15
+ //# sourceMappingURL=listWorkflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listWorkflows.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/listWorkflows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,QAAA,MAAM,WAAW,IAAc,CAAC;AAEhC,QAAA,MAAM,YAAY;;;;;;;CAWR,CAAC;AAOX,eAAO,MAAM,oBAAoB,EAAE,UAAU,CAC3C,aAAa,EACb,OAAO,WAAW,EAClB,OAAO,YAAY,CAgCpB,CAAC"}