0pflow 0.1.0-dev.00aaa03
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.
- package/dist/__tests__/agent-parser.test.d.ts +2 -0
- package/dist/__tests__/agent-parser.test.d.ts.map +1 -0
- package/dist/__tests__/agent-parser.test.js +64 -0
- package/dist/__tests__/agent-parser.test.js.map +1 -0
- package/dist/__tests__/agent.e2e.test.d.ts +2 -0
- package/dist/__tests__/agent.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/agent.e2e.test.js +90 -0
- package/dist/__tests__/agent.e2e.test.js.map +1 -0
- package/dist/__tests__/agent.test.d.ts +2 -0
- package/dist/__tests__/agent.test.d.ts.map +1 -0
- package/dist/__tests__/agent.test.js +30 -0
- package/dist/__tests__/agent.test.js.map +1 -0
- package/dist/__tests__/context.test.d.ts +2 -0
- package/dist/__tests__/context.test.d.ts.map +1 -0
- package/dist/__tests__/context.test.js +53 -0
- package/dist/__tests__/context.test.js.map +1 -0
- package/dist/__tests__/dbos.test.d.ts +2 -0
- package/dist/__tests__/dbos.test.d.ts.map +1 -0
- package/dist/__tests__/dbos.test.js +35 -0
- package/dist/__tests__/dbos.test.js.map +1 -0
- package/dist/__tests__/factory.test.d.ts +2 -0
- package/dist/__tests__/factory.test.d.ts.map +1 -0
- package/dist/__tests__/factory.test.js +126 -0
- package/dist/__tests__/factory.test.js.map +1 -0
- package/dist/__tests__/integration.e2e.test.d.ts +2 -0
- package/dist/__tests__/integration.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/integration.e2e.test.js +127 -0
- package/dist/__tests__/integration.e2e.test.js.map +1 -0
- package/dist/__tests__/integration.test.d.ts +2 -0
- package/dist/__tests__/integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration.test.js +103 -0
- package/dist/__tests__/integration.test.js.map +1 -0
- package/dist/__tests__/model-config.test.d.ts +2 -0
- package/dist/__tests__/model-config.test.d.ts.map +1 -0
- package/dist/__tests__/model-config.test.js +48 -0
- package/dist/__tests__/model-config.test.js.map +1 -0
- package/dist/__tests__/node-registry.test.d.ts +2 -0
- package/dist/__tests__/node-registry.test.d.ts.map +1 -0
- package/dist/__tests__/node-registry.test.js +63 -0
- package/dist/__tests__/node-registry.test.js.map +1 -0
- package/dist/__tests__/node.test.d.ts +2 -0
- package/dist/__tests__/node.test.d.ts.map +1 -0
- package/dist/__tests__/node.test.js +48 -0
- package/dist/__tests__/node.test.js.map +1 -0
- package/dist/__tests__/registry.test.d.ts +2 -0
- package/dist/__tests__/registry.test.d.ts.map +1 -0
- package/dist/__tests__/registry.test.js +62 -0
- package/dist/__tests__/registry.test.js.map +1 -0
- package/dist/__tests__/web-tool.test.d.ts +2 -0
- package/dist/__tests__/web-tool.test.d.ts.map +1 -0
- package/dist/__tests__/web-tool.test.js +99 -0
- package/dist/__tests__/web-tool.test.js.map +1 -0
- package/dist/__tests__/workflow.test.d.ts +2 -0
- package/dist/__tests__/workflow.test.d.ts.map +1 -0
- package/dist/__tests__/workflow.test.js +49 -0
- package/dist/__tests__/workflow.test.js.map +1 -0
- package/dist/agent.d.ts +46 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +75 -0
- package/dist/agent.js.map +1 -0
- package/dist/cli/__tests__/discovery.test.d.ts +2 -0
- package/dist/cli/__tests__/discovery.test.d.ts.map +1 -0
- package/dist/cli/__tests__/discovery.test.js +26 -0
- package/dist/cli/__tests__/discovery.test.js.map +1 -0
- package/dist/cli/__tests__/env.test.d.ts +2 -0
- package/dist/cli/__tests__/env.test.d.ts.map +1 -0
- package/dist/cli/__tests__/env.test.js +32 -0
- package/dist/cli/__tests__/env.test.js.map +1 -0
- package/dist/cli/__tests__/runs.test.d.ts +2 -0
- package/dist/cli/__tests__/runs.test.d.ts.map +1 -0
- package/dist/cli/__tests__/runs.test.js +46 -0
- package/dist/cli/__tests__/runs.test.js.map +1 -0
- package/dist/cli/app.d.ts +6 -0
- package/dist/cli/app.d.ts.map +1 -0
- package/dist/cli/app.js +21 -0
- package/dist/cli/app.js.map +1 -0
- package/dist/cli/discovery.d.ts +24 -0
- package/dist/cli/discovery.d.ts.map +1 -0
- package/dist/cli/discovery.js +88 -0
- package/dist/cli/discovery.js.map +1 -0
- package/dist/cli/env.d.ts +15 -0
- package/dist/cli/env.d.ts.map +1 -0
- package/dist/cli/env.js +54 -0
- package/dist/cli/env.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +423 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/install.d.ts +54 -0
- package/dist/cli/install.d.ts.map +1 -0
- package/dist/cli/install.js +217 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/mcp/config.d.ts +5 -0
- package/dist/cli/mcp/config.d.ts.map +1 -0
- package/dist/cli/mcp/config.js +14 -0
- package/dist/cli/mcp/config.js.map +1 -0
- package/dist/cli/mcp/lib/templates.d.ts +12 -0
- package/dist/cli/mcp/lib/templates.d.ts.map +1 -0
- package/dist/cli/mcp/lib/templates.js +77 -0
- package/dist/cli/mcp/lib/templates.js.map +1 -0
- package/dist/cli/mcp/server.d.ts +5 -0
- package/dist/cli/mcp/server.d.ts.map +1 -0
- package/dist/cli/mcp/server.js +15 -0
- package/dist/cli/mcp/server.js.map +1 -0
- package/dist/cli/mcp/serverInfo.d.ts +7 -0
- package/dist/cli/mcp/serverInfo.d.ts.map +1 -0
- package/dist/cli/mcp/serverInfo.js +7 -0
- package/dist/cli/mcp/serverInfo.js.map +1 -0
- package/dist/cli/mcp/tools/createApp.d.ts +15 -0
- package/dist/cli/mcp/tools/createApp.d.ts.map +1 -0
- package/dist/cli/mcp/tools/createApp.js +81 -0
- package/dist/cli/mcp/tools/createApp.js.map +1 -0
- package/dist/cli/mcp/tools/createDatabase.d.ts +14 -0
- package/dist/cli/mcp/tools/createDatabase.d.ts.map +1 -0
- package/dist/cli/mcp/tools/createDatabase.js +66 -0
- package/dist/cli/mcp/tools/createDatabase.js.map +1 -0
- package/dist/cli/mcp/tools/index.d.ts +24 -0
- package/dist/cli/mcp/tools/index.d.ts.map +1 -0
- package/dist/cli/mcp/tools/index.js +11 -0
- package/dist/cli/mcp/tools/index.js.map +1 -0
- package/dist/cli/mcp/tools/setupAppSchema.d.ts +17 -0
- package/dist/cli/mcp/tools/setupAppSchema.d.ts.map +1 -0
- package/dist/cli/mcp/tools/setupAppSchema.js +157 -0
- package/dist/cli/mcp/tools/setupAppSchema.js.map +1 -0
- package/dist/cli/mcp/types.d.ts +3 -0
- package/dist/cli/mcp/types.d.ts.map +1 -0
- package/dist/cli/mcp/types.js +2 -0
- package/dist/cli/mcp/types.js.map +1 -0
- package/dist/cli/runs.d.ts +28 -0
- package/dist/cli/runs.d.ts.map +1 -0
- package/dist/cli/runs.js +70 -0
- package/dist/cli/runs.js.map +1 -0
- package/dist/cli/trace.d.ts +31 -0
- package/dist/cli/trace.d.ts.map +1 -0
- package/dist/cli/trace.js +264 -0
- package/dist/cli/trace.js.map +1 -0
- package/dist/context.d.ts +13 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +25 -0
- package/dist/context.js.map +1 -0
- package/dist/dbos.d.ts +15 -0
- package/dist/dbos.d.ts.map +1 -0
- package/dist/dbos.js +27 -0
- package/dist/dbos.js.map +1 -0
- package/dist/factory.d.ts +6 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +78 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/node.d.ts +19 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +16 -0
- package/dist/node.js.map +1 -0
- package/dist/nodes/agent/executor.d.ts +70 -0
- package/dist/nodes/agent/executor.d.ts.map +1 -0
- package/dist/nodes/agent/executor.js +230 -0
- package/dist/nodes/agent/executor.js.map +1 -0
- package/dist/nodes/agent/index.d.ts +7 -0
- package/dist/nodes/agent/index.d.ts.map +1 -0
- package/dist/nodes/agent/index.js +5 -0
- package/dist/nodes/agent/index.js.map +1 -0
- package/dist/nodes/agent/model-config.d.ts +42 -0
- package/dist/nodes/agent/model-config.d.ts.map +1 -0
- package/dist/nodes/agent/model-config.js +58 -0
- package/dist/nodes/agent/model-config.js.map +1 -0
- package/dist/nodes/agent/parser.d.ts +22 -0
- package/dist/nodes/agent/parser.d.ts.map +1 -0
- package/dist/nodes/agent/parser.js +42 -0
- package/dist/nodes/agent/parser.js.map +1 -0
- package/dist/nodes/builtin/index.d.ts +9 -0
- package/dist/nodes/builtin/index.d.ts.map +1 -0
- package/dist/nodes/builtin/index.js +10 -0
- package/dist/nodes/builtin/index.js.map +1 -0
- package/dist/nodes/builtin/web.d.ts +25 -0
- package/dist/nodes/builtin/web.d.ts.map +1 -0
- package/dist/nodes/builtin/web.js +86 -0
- package/dist/nodes/builtin/web.js.map +1 -0
- package/dist/nodes/registry.d.ts +32 -0
- package/dist/nodes/registry.d.ts.map +1 -0
- package/dist/nodes/registry.js +58 -0
- package/dist/nodes/registry.js.map +1 -0
- package/dist/registry.d.ts +31 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +44 -0
- package/dist/registry.js.map +1 -0
- package/dist/types.d.ts +63 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/workflow.d.ts +26 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +50 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { execSync } from "node:child_process";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import pc from "picocolors";
|
|
5
|
+
/**
|
|
6
|
+
* Build the MCP command by taking the current invocation and replacing "install" with "mcp start"
|
|
7
|
+
*/
|
|
8
|
+
export function buildMcpCommand() {
|
|
9
|
+
const args = [...process.argv];
|
|
10
|
+
// Find and replace "install" with "mcp", "start"
|
|
11
|
+
const installIndex = args.findIndex(arg => arg === "install");
|
|
12
|
+
const baseArgs = installIndex !== -1
|
|
13
|
+
? args.slice(0, installIndex)
|
|
14
|
+
: args;
|
|
15
|
+
const scriptPath = baseArgs[1] || "";
|
|
16
|
+
// If we're running a .ts file, tsx hides itself from argv
|
|
17
|
+
// so we see "node file.ts" but need "npx tsx file.ts" to actually run it
|
|
18
|
+
if (scriptPath.endsWith(".ts")) {
|
|
19
|
+
return ["npx", "tsx", scriptPath, "mcp", "start"];
|
|
20
|
+
}
|
|
21
|
+
// If running from npx cache or node_modules, use npx 0pflow@version
|
|
22
|
+
if (scriptPath.includes(".npm/_npx") || scriptPath.includes("node_modules/0pflow")) {
|
|
23
|
+
// Try to get version from npm_lifecycle_script (e.g., "0pflow@latest")
|
|
24
|
+
const npmScript = process.env.npm_lifecycle_script;
|
|
25
|
+
if (npmScript?.startsWith("0pflow")) {
|
|
26
|
+
return ["npx", "-y", npmScript, "mcp", "start"];
|
|
27
|
+
}
|
|
28
|
+
// Fallback to latest
|
|
29
|
+
return ["npx", "-y", "0pflow@latest", "mcp", "start"];
|
|
30
|
+
}
|
|
31
|
+
return [...baseArgs, "mcp", "start"];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get the settings directory path
|
|
35
|
+
*/
|
|
36
|
+
export function getSettingsDir() {
|
|
37
|
+
const home = process.env.HOME || process.env.USERPROFILE || "~";
|
|
38
|
+
return join(home, ".config", "0pflow");
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get the settings file path
|
|
42
|
+
*/
|
|
43
|
+
export function getSettingsPath() {
|
|
44
|
+
return join(getSettingsDir(), "settings.json");
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Read current settings
|
|
48
|
+
*/
|
|
49
|
+
export function readSettings() {
|
|
50
|
+
const settingsPath = getSettingsPath();
|
|
51
|
+
if (!existsSync(settingsPath)) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
return JSON.parse(readFileSync(settingsPath, "utf-8"));
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Write settings to disk
|
|
63
|
+
*/
|
|
64
|
+
export function writeSettings(settings) {
|
|
65
|
+
const settingsDir = getSettingsDir();
|
|
66
|
+
if (!existsSync(settingsDir)) {
|
|
67
|
+
mkdirSync(settingsDir, { recursive: true });
|
|
68
|
+
}
|
|
69
|
+
writeFileSync(getSettingsPath(), JSON.stringify(settings, null, 2) + "\n");
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Check if Claude Code CLI is available
|
|
73
|
+
*/
|
|
74
|
+
export function isClaudeCliAvailable() {
|
|
75
|
+
try {
|
|
76
|
+
execSync("claude --version", { stdio: "ignore" });
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Add the 0pflow marketplace to Claude Code
|
|
85
|
+
*/
|
|
86
|
+
export function addMarketplace() {
|
|
87
|
+
try {
|
|
88
|
+
execSync("claude plugin marketplace add timescale/0pflow", { stdio: "inherit" });
|
|
89
|
+
return { success: true };
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
return {
|
|
93
|
+
success: false,
|
|
94
|
+
error: err instanceof Error ? err.message : String(err)
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Install the 0pflow plugin to Claude Code
|
|
100
|
+
*/
|
|
101
|
+
export function installPlugin() {
|
|
102
|
+
try {
|
|
103
|
+
execSync("claude plugin install 0pflow", { stdio: "inherit" });
|
|
104
|
+
return { success: true };
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
return {
|
|
108
|
+
success: false,
|
|
109
|
+
error: err instanceof Error ? err.message : String(err)
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Run the install command
|
|
115
|
+
*/
|
|
116
|
+
export async function runInstall(options = {}) {
|
|
117
|
+
console.log();
|
|
118
|
+
console.log(pc.bold("0pflow Install"));
|
|
119
|
+
console.log();
|
|
120
|
+
// Check if Claude CLI is available
|
|
121
|
+
if (!isClaudeCliAvailable()) {
|
|
122
|
+
console.log(pc.red("Error: Claude Code CLI not found."));
|
|
123
|
+
console.log(pc.dim("Please install Claude Code first: https://claude.ai/code"));
|
|
124
|
+
process.exit(1);
|
|
125
|
+
}
|
|
126
|
+
// Build MCP command from current invocation
|
|
127
|
+
const mcpCommand = buildMcpCommand();
|
|
128
|
+
console.log(pc.dim("MCP command:"), mcpCommand.join(" "));
|
|
129
|
+
console.log();
|
|
130
|
+
// Check for existing installation
|
|
131
|
+
const existingSettings = readSettings();
|
|
132
|
+
if (existingSettings) {
|
|
133
|
+
if (!options.force) {
|
|
134
|
+
console.log(pc.yellow("0pflow is already installed."));
|
|
135
|
+
console.log(pc.dim("Current MCP command:"), existingSettings.mcpCommand.join(" "));
|
|
136
|
+
console.log();
|
|
137
|
+
console.log(pc.dim("Use --force to reinstall."));
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
// Force reinstall - uninstall first
|
|
141
|
+
console.log(pc.dim("Uninstalling existing installation..."));
|
|
142
|
+
await runUninstall();
|
|
143
|
+
console.log();
|
|
144
|
+
console.log(pc.bold("Reinstalling 0pflow..."));
|
|
145
|
+
console.log();
|
|
146
|
+
}
|
|
147
|
+
// Write settings
|
|
148
|
+
const settings = {
|
|
149
|
+
mcpCommand,
|
|
150
|
+
installedAt: new Date().toISOString(),
|
|
151
|
+
};
|
|
152
|
+
console.log(pc.dim("Writing settings to:"), getSettingsPath());
|
|
153
|
+
writeSettings(settings);
|
|
154
|
+
console.log(pc.green("✓"), "Settings saved");
|
|
155
|
+
console.log();
|
|
156
|
+
// Add marketplace
|
|
157
|
+
console.log(pc.dim("Adding 0pflow marketplace..."));
|
|
158
|
+
const marketplaceResult = addMarketplace();
|
|
159
|
+
if (marketplaceResult.success) {
|
|
160
|
+
console.log(pc.green("✓"), "Marketplace added");
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
console.log(pc.yellow("⚠"), "Could not add marketplace (may already exist)");
|
|
164
|
+
}
|
|
165
|
+
// Install plugin
|
|
166
|
+
console.log(pc.dim("Installing 0pflow plugin..."));
|
|
167
|
+
const pluginResult = installPlugin();
|
|
168
|
+
if (pluginResult.success) {
|
|
169
|
+
console.log(pc.green("✓"), "Plugin installed");
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
console.log(pc.red("✗"), "Failed to install plugin:", pluginResult.error);
|
|
173
|
+
}
|
|
174
|
+
console.log();
|
|
175
|
+
console.log(pc.green(pc.bold("Installation complete!")));
|
|
176
|
+
console.log();
|
|
177
|
+
console.log("You can now use 0pflow in Claude Code.");
|
|
178
|
+
console.log();
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Run the uninstall command
|
|
182
|
+
*/
|
|
183
|
+
export async function runUninstall() {
|
|
184
|
+
console.log();
|
|
185
|
+
console.log(pc.bold("0pflow Uninstall"));
|
|
186
|
+
console.log();
|
|
187
|
+
// Uninstall plugin and marketplace from Claude
|
|
188
|
+
if (isClaudeCliAvailable()) {
|
|
189
|
+
console.log(pc.dim("Uninstalling plugin from Claude Code..."));
|
|
190
|
+
try {
|
|
191
|
+
execSync("claude plugin uninstall 0pflow", { stdio: "inherit" });
|
|
192
|
+
console.log(pc.green("✓"), "Plugin uninstalled");
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
console.log(pc.yellow("⚠"), "Could not uninstall plugin (may not exist)");
|
|
196
|
+
}
|
|
197
|
+
console.log(pc.dim("Removing marketplace..."));
|
|
198
|
+
try {
|
|
199
|
+
execSync("claude plugin marketplace remove 0pflow", { stdio: "inherit" });
|
|
200
|
+
console.log(pc.green("✓"), "Marketplace removed");
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
console.log(pc.yellow("⚠"), "Could not remove marketplace (may not exist)");
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
// Remove settings file
|
|
207
|
+
const settingsPath = getSettingsPath();
|
|
208
|
+
if (existsSync(settingsPath)) {
|
|
209
|
+
const { unlinkSync } = await import("node:fs");
|
|
210
|
+
unlinkSync(settingsPath);
|
|
211
|
+
console.log(pc.green("✓"), "Settings file removed");
|
|
212
|
+
}
|
|
213
|
+
console.log();
|
|
214
|
+
console.log(pc.green("Uninstallation complete."));
|
|
215
|
+
console.log();
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/config.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,QAAoC,CAAC;AAG7D,eAAO,MAAM,YAAY,QAAgC,CAAC;AAG1D,eAAO,MAAM,YAAY,QAAkC,CAAC;AAM5D,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
|
+
// Package root directory (relative to dist/cli/mcp/)
|
|
6
|
+
export const packageRoot = join(__dirname, "..", "..", "..");
|
|
7
|
+
// Monorepo root (up from packages/core)
|
|
8
|
+
export const monorepoRoot = join(packageRoot, "..", "..");
|
|
9
|
+
// Templates directory at monorepo root level
|
|
10
|
+
export const templatesDir = join(monorepoRoot, "templates");
|
|
11
|
+
// Read version from package.json
|
|
12
|
+
const pkg = JSON.parse(readFileSync(join(packageRoot, "package.json"), "utf-8"));
|
|
13
|
+
export const version = pkg.version;
|
|
14
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/mcp/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,qDAAqD;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE7D,wCAAwC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE1D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAE5D,iCAAiC;AACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CACzD,CAAC;AACF,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface AppTemplateVars {
|
|
2
|
+
app_name: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Write app templates with Handlebars templating
|
|
6
|
+
*/
|
|
7
|
+
export declare function writeAppTemplates(destDir: string, vars: AppTemplateVars): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Create 0pflow-specific directories in the app
|
|
10
|
+
*/
|
|
11
|
+
export declare function create0pflowDirectories(destDir: string): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/lib/templates.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AA4DD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa5E"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { copyFile, mkdir, readdir, readFile, writeFile, } from "node:fs/promises";
|
|
2
|
+
import { dirname, extname, join, relative } from "node:path";
|
|
3
|
+
import Handlebars from "handlebars";
|
|
4
|
+
import { templatesDir } from "../config.js";
|
|
5
|
+
// Binary file extensions that should be copied without transformation
|
|
6
|
+
const BINARY_EXTENSIONS = new Set([
|
|
7
|
+
".ico",
|
|
8
|
+
".png",
|
|
9
|
+
".jpg",
|
|
10
|
+
".jpeg",
|
|
11
|
+
".gif",
|
|
12
|
+
".webp",
|
|
13
|
+
".svg",
|
|
14
|
+
".woff",
|
|
15
|
+
".woff2",
|
|
16
|
+
".ttf",
|
|
17
|
+
".eot",
|
|
18
|
+
".otf",
|
|
19
|
+
".pdf",
|
|
20
|
+
]);
|
|
21
|
+
/**
|
|
22
|
+
* Copy a template directory to destination, optionally transforming file contents
|
|
23
|
+
*/
|
|
24
|
+
async function copyTemplateDir(templateName, destDir, transform) {
|
|
25
|
+
const srcBaseDir = join(templatesDir, templateName);
|
|
26
|
+
async function copyDir(srcDir) {
|
|
27
|
+
const entries = await readdir(srcDir, { withFileTypes: true });
|
|
28
|
+
for (const entry of entries) {
|
|
29
|
+
const srcPath = join(srcDir, entry.name);
|
|
30
|
+
const relPath = relative(srcBaseDir, srcPath);
|
|
31
|
+
const destPath = join(destDir, relPath);
|
|
32
|
+
if (entry.isDirectory()) {
|
|
33
|
+
await mkdir(destPath, { recursive: true });
|
|
34
|
+
await copyDir(srcPath);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
await mkdir(dirname(destPath), { recursive: true });
|
|
38
|
+
// Copy binary files directly without transformation
|
|
39
|
+
if (BINARY_EXTENSIONS.has(extname(entry.name).toLowerCase())) {
|
|
40
|
+
await copyFile(srcPath, destPath);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const content = await readFile(srcPath, "utf-8");
|
|
44
|
+
const output = transform ? transform(content) : content;
|
|
45
|
+
await writeFile(destPath, output);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
await copyDir(srcBaseDir);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Write app templates with Handlebars templating
|
|
54
|
+
*/
|
|
55
|
+
export async function writeAppTemplates(destDir, vars) {
|
|
56
|
+
await copyTemplateDir("app", destDir, (content) => {
|
|
57
|
+
const template = Handlebars.compile(content);
|
|
58
|
+
return template(vars);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Create 0pflow-specific directories in the app
|
|
63
|
+
*/
|
|
64
|
+
export async function create0pflowDirectories(destDir) {
|
|
65
|
+
const dirs = [
|
|
66
|
+
"specs/workflows",
|
|
67
|
+
"specs/agents",
|
|
68
|
+
"generated/workflows",
|
|
69
|
+
"nodes",
|
|
70
|
+
"tools",
|
|
71
|
+
"agents",
|
|
72
|
+
];
|
|
73
|
+
for (const dir of dirs) {
|
|
74
|
+
await mkdir(join(destDir, dir), { recursive: true });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../src/cli/mcp/lib/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/server.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAQpD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { stdioServerFactory } from "@tigerdata/mcp-boilerplate";
|
|
2
|
+
import { context, serverInfo } from "./serverInfo.js";
|
|
3
|
+
import { getApiFactories } from "./tools/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Start the MCP server in stdio mode
|
|
6
|
+
*/
|
|
7
|
+
export async function startMcpServer() {
|
|
8
|
+
const apiFactories = await getApiFactories();
|
|
9
|
+
await stdioServerFactory({
|
|
10
|
+
...serverInfo,
|
|
11
|
+
context,
|
|
12
|
+
apiFactories,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;IAE7C,MAAM,kBAAkB,CAAC;QACvB,GAAG,UAAU;QACb,OAAO;QACP,YAAY;KACb,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverInfo.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp/serverInfo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,eAAO,MAAM,OAAO,EAAE,aAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverInfo.js","sourceRoot":"","sources":["../../../src/cli/mcp/serverInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,oBAAoB;IAC1B,OAAO;CACC,CAAC;AAEX,MAAM,CAAC,MAAM,OAAO,GAAkB,EAAE,CAAC"}
|
|
@@ -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
|
+
readonly app_name: z.ZodString;
|
|
6
|
+
readonly install_deps: z.ZodDefault<z.ZodBoolean>;
|
|
7
|
+
};
|
|
8
|
+
declare const outputSchema: {
|
|
9
|
+
readonly success: z.ZodBoolean;
|
|
10
|
+
readonly message: z.ZodString;
|
|
11
|
+
readonly path: z.ZodOptional<z.ZodString>;
|
|
12
|
+
};
|
|
13
|
+
export declare const createAppFactory: ApiFactory<ServerContext, typeof inputSchema, typeof outputSchema>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=createApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createApp.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/createApp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgBjD,QAAA,MAAM,WAAW;;;CAMP,CAAC;AAEX,QAAA,MAAM,YAAY;;;;CAIR,CAAC;AAQX,eAAO,MAAM,gBAAgB,EAAE,UAAU,CACvC,aAAa,EACb,OAAO,WAAW,EAClB,OAAO,YAAY,CAyDpB,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { exec } from "node:child_process";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { monorepoRoot } from "../config.js";
|
|
6
|
+
import { writeAppTemplates, create0pflowDirectories } from "../lib/templates.js";
|
|
7
|
+
// Check if running in development mode (monorepo with packages/core exists)
|
|
8
|
+
function isDevMode() {
|
|
9
|
+
const corePath = join(monorepoRoot, "packages", "core");
|
|
10
|
+
return existsSync(corePath);
|
|
11
|
+
}
|
|
12
|
+
const execAsync = (cmd, cwd) => new Promise((resolve, reject) => {
|
|
13
|
+
exec(cmd, { cwd }, (error, stdout, stderr) => {
|
|
14
|
+
if (error)
|
|
15
|
+
reject(Object.assign(error, { stderr }));
|
|
16
|
+
else
|
|
17
|
+
resolve({ stdout, stderr });
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
const inputSchema = {
|
|
21
|
+
app_name: z.string().describe("Application name (lowercase with hyphens, e.g., 'lead-scoring-app')"),
|
|
22
|
+
install_deps: z
|
|
23
|
+
.boolean()
|
|
24
|
+
.default(true)
|
|
25
|
+
.describe("Run npm install after creating the app"),
|
|
26
|
+
};
|
|
27
|
+
const outputSchema = {
|
|
28
|
+
success: z.boolean().describe("Whether the app was created successfully"),
|
|
29
|
+
message: z.string().describe("Status message"),
|
|
30
|
+
path: z.string().optional().describe("Absolute path to created app"),
|
|
31
|
+
};
|
|
32
|
+
export const createAppFactory = () => {
|
|
33
|
+
return {
|
|
34
|
+
name: "create_app",
|
|
35
|
+
config: {
|
|
36
|
+
title: "Create 0pflow App",
|
|
37
|
+
description: "Create a new 0pflow application with T3 Stack template (Next.js + tRPC + Drizzle) and 0pflow workflow directories. Use this to scaffold new projects.",
|
|
38
|
+
inputSchema,
|
|
39
|
+
outputSchema,
|
|
40
|
+
},
|
|
41
|
+
fn: async ({ app_name, install_deps, }) => {
|
|
42
|
+
const appName = app_name;
|
|
43
|
+
const appPath = process.cwd();
|
|
44
|
+
try {
|
|
45
|
+
// Copy app template with Handlebars substitution
|
|
46
|
+
await writeAppTemplates(appPath, {
|
|
47
|
+
app_name: appName,
|
|
48
|
+
});
|
|
49
|
+
// Create 0pflow-specific directories
|
|
50
|
+
await create0pflowDirectories(appPath);
|
|
51
|
+
// In dev mode, link local 0pflow packages (before npm install)
|
|
52
|
+
if (isDevMode()) {
|
|
53
|
+
const corePath = join(monorepoRoot, "packages", "core");
|
|
54
|
+
const cliPath = join(monorepoRoot, "packages", "cli");
|
|
55
|
+
// Register packages globally first
|
|
56
|
+
await execAsync("npm link", corePath);
|
|
57
|
+
await execAsync("npm link", cliPath);
|
|
58
|
+
// Then link them in the app
|
|
59
|
+
await execAsync("npm link 0pflow @0pflow/cli", appPath);
|
|
60
|
+
}
|
|
61
|
+
// Install dependencies if requested
|
|
62
|
+
if (install_deps) {
|
|
63
|
+
await execAsync("npm install", appPath);
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
success: true,
|
|
67
|
+
message: `Created 0pflow app '${appName}' in ${appPath}`,
|
|
68
|
+
path: appPath,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
const error = err;
|
|
73
|
+
return {
|
|
74
|
+
success: false,
|
|
75
|
+
message: `Failed to create app: ${error.message}\n${error.stderr || ""}`,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=createApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createApp.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/createApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
+
readonly name: z.ZodOptional<z.ZodString>;
|
|
6
|
+
};
|
|
7
|
+
declare const outputSchema: {
|
|
8
|
+
readonly success: z.ZodBoolean;
|
|
9
|
+
readonly service_id: z.ZodOptional<z.ZodString>;
|
|
10
|
+
readonly error: z.ZodOptional<z.ZodString>;
|
|
11
|
+
};
|
|
12
|
+
export declare const createDatabaseFactory: ApiFactory<ServerContext, typeof inputSchema, typeof outputSchema>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=createDatabase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDatabase.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/createDatabase.ts"],"names":[],"mappings":"AAEA,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;;CAEP,CAAC;AAEX,QAAA,MAAM,YAAY;;;;CAMR,CAAC;AAQX,eAAO,MAAM,qBAAqB,EAAE,UAAU,CAC5C,aAAa,EACb,OAAO,WAAW,EAClB,OAAO,YAAY,CAuDpB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { exec } from "node:child_process";
|
|
2
|
+
import { promisify } from "node:util";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
const execAsync = promisify(exec);
|
|
5
|
+
const inputSchema = {
|
|
6
|
+
name: z.string().optional().describe("Database name (default: app-db)"),
|
|
7
|
+
};
|
|
8
|
+
const outputSchema = {
|
|
9
|
+
success: z
|
|
10
|
+
.boolean()
|
|
11
|
+
.describe("Whether the database was created successfully"),
|
|
12
|
+
service_id: z.string().optional().describe("The Tiger Cloud service ID"),
|
|
13
|
+
error: z.string().optional().describe("Error message if creation failed"),
|
|
14
|
+
};
|
|
15
|
+
export const createDatabaseFactory = () => {
|
|
16
|
+
return {
|
|
17
|
+
name: "create_database",
|
|
18
|
+
config: {
|
|
19
|
+
title: "Create Database",
|
|
20
|
+
description: "Create a PostgreSQL database on Tiger Cloud (FREE tier). Auto-configures with TimescaleDB and AI extensions.",
|
|
21
|
+
inputSchema,
|
|
22
|
+
outputSchema,
|
|
23
|
+
},
|
|
24
|
+
fn: async ({ name }) => {
|
|
25
|
+
const dbName = name || "app-db";
|
|
26
|
+
const cmdArgs = [
|
|
27
|
+
"tiger",
|
|
28
|
+
"service",
|
|
29
|
+
"create",
|
|
30
|
+
"--name",
|
|
31
|
+
dbName,
|
|
32
|
+
"--cpu",
|
|
33
|
+
"shared",
|
|
34
|
+
"--memory",
|
|
35
|
+
"shared",
|
|
36
|
+
"--addons",
|
|
37
|
+
"time-series,ai",
|
|
38
|
+
"--no-wait",
|
|
39
|
+
"-o",
|
|
40
|
+
"json",
|
|
41
|
+
];
|
|
42
|
+
try {
|
|
43
|
+
const { stdout, stderr } = await execAsync(cmdArgs.join(" "));
|
|
44
|
+
const result = JSON.parse(stdout);
|
|
45
|
+
if (!result.service_id) {
|
|
46
|
+
return {
|
|
47
|
+
success: false,
|
|
48
|
+
error: `No service_id in response: ${stdout}${stderr}`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
success: true,
|
|
53
|
+
service_id: result.service_id,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
const error = err;
|
|
58
|
+
return {
|
|
59
|
+
success: false,
|
|
60
|
+
error: `Failed to create database: ${error.message}\n${error.stdout || ""}${error.stderr || ""}`,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=createDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDatabase.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/createDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAC/D,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACjE,CAAC;AAQX,MAAM,CAAC,MAAM,qBAAqB,GAI9B,GAAG,EAAE;IACP,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE;YACN,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,8GAA8G;YAChH,WAAW;YACX,YAAY;SACb;QACD,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAyB,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,IAAI,QAAQ,CAAC;YAEhC,MAAM,OAAO,GAAG;gBACd,OAAO;gBACP,SAAS;gBACT,QAAQ;gBACR,QAAQ;gBACR,MAAM;gBACN,OAAO;gBACP,QAAQ;gBACR,UAAU;gBACV,QAAQ;gBACR,UAAU;gBACV,gBAAgB;gBAChB,WAAW;gBACX,IAAI;gBACJ,MAAM;aACP,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAC;gBAE7D,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBACvB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,8BAA8B,MAAM,GAAG,MAAM,EAAE;qBACvD,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,GAAmD,CAAC;gBAClE,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8BAA8B,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE;iBACjG,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare function getApiFactories(): Promise<readonly [import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
|
|
2
|
+
readonly app_name: import("zod").ZodString;
|
|
3
|
+
readonly install_deps: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
4
|
+
}, {
|
|
5
|
+
readonly success: import("zod").ZodBoolean;
|
|
6
|
+
readonly message: import("zod").ZodString;
|
|
7
|
+
readonly path: import("zod").ZodOptional<import("zod").ZodString>;
|
|
8
|
+
}>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
|
|
9
|
+
readonly name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
10
|
+
}, {
|
|
11
|
+
readonly success: import("zod").ZodBoolean;
|
|
12
|
+
readonly service_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
13
|
+
readonly error: import("zod").ZodOptional<import("zod").ZodString>;
|
|
14
|
+
}>, import("@tigerdata/mcp-boilerplate").ApiFactory<import("../types.js").ServerContext, {
|
|
15
|
+
readonly application_directory: import("zod").ZodString;
|
|
16
|
+
readonly service_id: import("zod").ZodString;
|
|
17
|
+
readonly app_name: import("zod").ZodString;
|
|
18
|
+
}, {
|
|
19
|
+
readonly success: import("zod").ZodBoolean;
|
|
20
|
+
readonly message: import("zod").ZodString;
|
|
21
|
+
readonly schema_name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
22
|
+
readonly user_name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
23
|
+
}>]>;
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/index.ts"],"names":[],"mappings":"AAIA,wBAAsB,eAAe;;;;;;;;;;;;;;;;;;;;;;KAMpC"}
|