0pflow 0.1.0-dev.b4bf1ab → 0.1.0-dev.c6251ba

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 (234) 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/__tests__/factory.test.js +7 -0
  6. package/dist/__tests__/factory.test.js.map +1 -1
  7. package/dist/__tests__/integration.e2e.test.js +2 -1
  8. package/dist/__tests__/integration.e2e.test.js.map +1 -1
  9. package/dist/__tests__/integration.test.js +87 -82
  10. package/dist/__tests__/integration.test.js.map +1 -1
  11. package/dist/agent.d.ts +7 -0
  12. package/dist/agent.d.ts.map +1 -1
  13. package/dist/agent.js +59 -9
  14. package/dist/agent.js.map +1 -1
  15. package/dist/cli/__tests__/discovery.test.js +1 -1
  16. package/dist/cli/__tests__/discovery.test.js.map +1 -1
  17. package/dist/cli/app.d.ts +6 -0
  18. package/dist/cli/app.d.ts.map +1 -1
  19. package/dist/cli/app.js +27 -0
  20. package/dist/cli/app.js.map +1 -1
  21. package/dist/cli/discovery.d.ts +10 -0
  22. package/dist/cli/discovery.d.ts.map +1 -1
  23. package/dist/cli/discovery.js +42 -0
  24. package/dist/cli/discovery.js.map +1 -1
  25. package/dist/cli/env.js +1 -1
  26. package/dist/cli/env.js.map +1 -1
  27. package/dist/cli/index.d.ts.map +1 -1
  28. package/dist/cli/index.js +124 -11
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/cli/install.d.ts.map +1 -1
  31. package/dist/cli/install.js +39 -9
  32. package/dist/cli/install.js.map +1 -1
  33. package/dist/cli/mcp/config.d.ts +0 -1
  34. package/dist/cli/mcp/config.d.ts.map +1 -1
  35. package/dist/cli/mcp/config.js +2 -4
  36. package/dist/cli/mcp/config.js.map +1 -1
  37. package/dist/cli/mcp/lib/scaffolding.d.ts +33 -0
  38. package/dist/cli/mcp/lib/scaffolding.d.ts.map +1 -0
  39. package/dist/cli/mcp/lib/scaffolding.js +219 -0
  40. package/dist/cli/mcp/lib/scaffolding.js.map +1 -0
  41. package/dist/cli/mcp/lib/templates.d.ts +1 -0
  42. package/dist/cli/mcp/lib/templates.d.ts.map +1 -1
  43. package/dist/cli/mcp/lib/templates.js.map +1 -1
  44. package/dist/cli/mcp/tools/createApp.d.ts +1 -0
  45. package/dist/cli/mcp/tools/createApp.d.ts.map +1 -1
  46. package/dist/cli/mcp/tools/createApp.js +12 -55
  47. package/dist/cli/mcp/tools/createApp.js.map +1 -1
  48. package/dist/cli/mcp/tools/createDatabase.d.ts.map +1 -1
  49. package/dist/cli/mcp/tools/createDatabase.js +2 -41
  50. package/dist/cli/mcp/tools/createDatabase.js.map +1 -1
  51. package/dist/cli/mcp/tools/getConnectionInfo.d.ts +19 -0
  52. package/dist/cli/mcp/tools/getConnectionInfo.d.ts.map +1 -0
  53. package/dist/cli/mcp/tools/getConnectionInfo.js +111 -0
  54. package/dist/cli/mcp/tools/getConnectionInfo.js.map +1 -0
  55. package/dist/cli/mcp/tools/getRun.d.ts +22 -0
  56. package/dist/cli/mcp/tools/getRun.d.ts.map +1 -0
  57. package/dist/cli/mcp/tools/getRun.js +80 -0
  58. package/dist/cli/mcp/tools/getRun.js.map +1 -0
  59. package/dist/cli/mcp/tools/getTrace.d.ts +32 -0
  60. package/dist/cli/mcp/tools/getTrace.d.ts.map +1 -0
  61. package/dist/cli/mcp/tools/getTrace.js +104 -0
  62. package/dist/cli/mcp/tools/getTrace.js.map +1 -0
  63. package/dist/cli/mcp/tools/index.d.ts +94 -1
  64. package/dist/cli/mcp/tools/index.d.ts.map +1 -1
  65. package/dist/cli/mcp/tools/index.js +16 -0
  66. package/dist/cli/mcp/tools/index.js.map +1 -1
  67. package/dist/cli/mcp/tools/listIntegrations.d.ts +14 -0
  68. package/dist/cli/mcp/tools/listIntegrations.d.ts.map +1 -0
  69. package/dist/cli/mcp/tools/listIntegrations.js +53 -0
  70. package/dist/cli/mcp/tools/listIntegrations.js.map +1 -0
  71. package/dist/cli/mcp/tools/listRuns.d.ts +21 -0
  72. package/dist/cli/mcp/tools/listRuns.d.ts.map +1 -0
  73. package/dist/cli/mcp/tools/listRuns.js +72 -0
  74. package/dist/cli/mcp/tools/listRuns.js.map +1 -0
  75. package/dist/cli/mcp/tools/listWorkflows.d.ts +15 -0
  76. package/dist/cli/mcp/tools/listWorkflows.d.ts.map +1 -0
  77. package/dist/cli/mcp/tools/listWorkflows.js +45 -0
  78. package/dist/cli/mcp/tools/listWorkflows.js.map +1 -0
  79. package/dist/cli/mcp/tools/runNode.d.ts +17 -0
  80. package/dist/cli/mcp/tools/runNode.d.ts.map +1 -0
  81. package/dist/cli/mcp/tools/runNode.js +74 -0
  82. package/dist/cli/mcp/tools/runNode.js.map +1 -0
  83. package/dist/cli/mcp/tools/runWorkflow.d.ts +16 -0
  84. package/dist/cli/mcp/tools/runWorkflow.d.ts.map +1 -0
  85. package/dist/cli/mcp/tools/runWorkflow.js +66 -0
  86. package/dist/cli/mcp/tools/runWorkflow.js.map +1 -0
  87. package/dist/cli/mcp/tools/setupAppSchema.d.ts +1 -1
  88. package/dist/cli/mcp/tools/setupAppSchema.d.ts.map +1 -1
  89. package/dist/cli/mcp/tools/setupAppSchema.js +11 -129
  90. package/dist/cli/mcp/tools/setupAppSchema.js.map +1 -1
  91. package/dist/cli/mcp/tools/utils.d.ts +7 -0
  92. package/dist/cli/mcp/tools/utils.d.ts.map +1 -0
  93. package/dist/cli/mcp/tools/utils.js +28 -0
  94. package/dist/cli/mcp/tools/utils.js.map +1 -0
  95. package/dist/cli/run.d.ts +2 -0
  96. package/dist/cli/run.d.ts.map +1 -0
  97. package/dist/cli/run.js +485 -0
  98. package/dist/cli/run.js.map +1 -0
  99. package/dist/cli/trace.d.ts +5 -0
  100. package/dist/cli/trace.d.ts.map +1 -1
  101. package/dist/cli/trace.js +1 -1
  102. package/dist/cli/trace.js.map +1 -1
  103. package/dist/connections/cloud-auth.d.ts +46 -0
  104. package/dist/connections/cloud-auth.d.ts.map +1 -0
  105. package/dist/connections/cloud-auth.js +243 -0
  106. package/dist/connections/cloud-auth.js.map +1 -0
  107. package/dist/connections/cloud-client.d.ts +25 -0
  108. package/dist/connections/cloud-client.d.ts.map +1 -0
  109. package/dist/connections/cloud-client.js +59 -0
  110. package/dist/connections/cloud-client.js.map +1 -0
  111. package/dist/connections/cloud-integration-provider.d.ts +21 -0
  112. package/dist/connections/cloud-integration-provider.d.ts.map +1 -0
  113. package/dist/connections/cloud-integration-provider.js +26 -0
  114. package/dist/connections/cloud-integration-provider.js.map +1 -0
  115. package/dist/connections/index.d.ts +11 -0
  116. package/dist/connections/index.d.ts.map +1 -0
  117. package/dist/connections/index.js +9 -0
  118. package/dist/connections/index.js.map +1 -0
  119. package/dist/connections/integration-provider.d.ts +38 -0
  120. package/dist/connections/integration-provider.d.ts.map +1 -0
  121. package/dist/connections/integration-provider.js +20 -0
  122. package/dist/connections/integration-provider.js.map +1 -0
  123. package/dist/connections/local-integration-provider.d.ts +28 -0
  124. package/dist/connections/local-integration-provider.d.ts.map +1 -0
  125. package/dist/connections/local-integration-provider.js +54 -0
  126. package/dist/connections/local-integration-provider.js.map +1 -0
  127. package/dist/connections/nango-client.d.ts +14 -0
  128. package/dist/connections/nango-client.d.ts.map +1 -0
  129. package/dist/connections/nango-client.js +50 -0
  130. package/dist/connections/nango-client.js.map +1 -0
  131. package/dist/connections/resolver.d.ts +26 -0
  132. package/dist/connections/resolver.d.ts.map +1 -0
  133. package/dist/connections/resolver.js +48 -0
  134. package/dist/connections/resolver.js.map +1 -0
  135. package/dist/connections/schema.d.ts +8 -0
  136. package/dist/connections/schema.d.ts.map +1 -0
  137. package/dist/connections/schema.js +31 -0
  138. package/dist/connections/schema.js.map +1 -0
  139. package/dist/context.d.ts.map +1 -1
  140. package/dist/context.js +4 -0
  141. package/dist/context.js.map +1 -1
  142. package/dist/dev-ui/api.d.ts +16 -0
  143. package/dist/dev-ui/api.d.ts.map +1 -0
  144. package/dist/dev-ui/api.js +237 -0
  145. package/dist/dev-ui/api.js.map +1 -0
  146. package/dist/dev-ui/dag/extractor.d.ts +19 -0
  147. package/dist/dev-ui/dag/extractor.d.ts.map +1 -0
  148. package/dist/dev-ui/dag/extractor.js +716 -0
  149. package/dist/dev-ui/dag/extractor.js.map +1 -0
  150. package/dist/dev-ui/dag/types.d.ts +42 -0
  151. package/dist/dev-ui/dag/types.d.ts.map +1 -0
  152. package/dist/dev-ui/dag/types.js +2 -0
  153. package/dist/dev-ui/dag/types.js.map +1 -0
  154. package/dist/dev-ui/dev-server.d.ts +18 -0
  155. package/dist/dev-ui/dev-server.d.ts.map +1 -0
  156. package/dist/dev-ui/dev-server.js +222 -0
  157. package/dist/dev-ui/dev-server.js.map +1 -0
  158. package/dist/dev-ui/index.d.ts +3 -0
  159. package/dist/dev-ui/index.d.ts.map +1 -0
  160. package/dist/dev-ui/index.js +2 -0
  161. package/dist/dev-ui/index.js.map +1 -0
  162. package/dist/dev-ui/pty.d.ts +16 -0
  163. package/dist/dev-ui/pty.d.ts.map +1 -0
  164. package/dist/dev-ui/pty.js +87 -0
  165. package/dist/dev-ui/pty.js.map +1 -0
  166. package/dist/dev-ui/watcher.d.ts +12 -0
  167. package/dist/dev-ui/watcher.d.ts.map +1 -0
  168. package/dist/dev-ui/watcher.js +162 -0
  169. package/dist/dev-ui/watcher.js.map +1 -0
  170. package/dist/dev-ui/ws.d.ts +52 -0
  171. package/dist/dev-ui/ws.d.ts.map +1 -0
  172. package/dist/dev-ui/ws.js +32 -0
  173. package/dist/dev-ui/ws.js.map +1 -0
  174. package/dist/dev-ui-client/assets/index-C-LxzUII.css +32 -0
  175. package/dist/dev-ui-client/assets/index-DAKTQEvj.js +1 -0
  176. package/dist/dev-ui-client/assets/index-aAIwXl4O.js +127 -0
  177. package/dist/dev-ui-client/index.html +13 -0
  178. package/dist/discover.d.ts +15 -0
  179. package/dist/discover.d.ts.map +1 -0
  180. package/dist/discover.js +29 -0
  181. package/dist/discover.js.map +1 -0
  182. package/dist/factory.d.ts.map +1 -1
  183. package/dist/factory.js +25 -12
  184. package/dist/factory.js.map +1 -1
  185. package/dist/index.d.ts +5 -1
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/index.js +4 -0
  188. package/dist/index.js.map +1 -1
  189. package/dist/node.d.ts +1 -0
  190. package/dist/node.d.ts.map +1 -1
  191. package/dist/node.js +1 -0
  192. package/dist/node.js.map +1 -1
  193. package/dist/nodes/agent/executor.d.ts +2 -0
  194. package/dist/nodes/agent/executor.d.ts.map +1 -1
  195. package/dist/nodes/agent/executor.js +11 -1
  196. package/dist/nodes/agent/executor.js.map +1 -1
  197. package/dist/types.d.ts +21 -3
  198. package/dist/types.d.ts.map +1 -1
  199. package/dist/workflow.d.ts +22 -0
  200. package/dist/workflow.d.ts.map +1 -1
  201. package/dist/workflow.js +97 -2
  202. package/dist/workflow.js.map +1 -1
  203. package/package.json +28 -6
  204. package/templates/app/.env.example +13 -0
  205. package/templates/app/README.md +29 -0
  206. package/templates/app/biome.jsonc +81 -0
  207. package/templates/app/dbos-config.yaml +6 -0
  208. package/templates/app/drizzle.config.ts +12 -0
  209. package/templates/app/next.config.js +10 -0
  210. package/templates/app/package.json +55 -0
  211. package/templates/app/postcss.config.js +5 -0
  212. package/templates/app/public/favicon.ico +0 -0
  213. package/templates/app/src/app/_components/.gitkeep +0 -0
  214. package/templates/app/src/app/api/trpc/[trpc]/route.ts +34 -0
  215. package/templates/app/src/app/api/workflow/[name]/route.ts +37 -0
  216. package/templates/app/src/app/layout.tsx +29 -0
  217. package/templates/app/src/app/page.tsx +18 -0
  218. package/templates/app/src/env.js +46 -0
  219. package/templates/app/src/instrumentation.ts +6 -0
  220. package/templates/app/src/lib/pflow.ts +29 -0
  221. package/templates/app/src/server/api/root.ts +21 -0
  222. package/templates/app/src/server/api/routers/.gitkeep +0 -0
  223. package/templates/app/src/server/api/trpc.ts +106 -0
  224. package/templates/app/src/server/db/index.ts +18 -0
  225. package/templates/app/src/server/db/schema.ts +14 -0
  226. package/templates/app/src/styles/globals.css +6 -0
  227. package/templates/app/src/styles/globals.css.orange +126 -0
  228. package/templates/app/src/trpc/query-client.ts +25 -0
  229. package/templates/app/src/trpc/react.tsx +78 -0
  230. package/templates/app/src/trpc/server.ts +30 -0
  231. package/templates/app/tsconfig.check.json +23 -0
  232. package/templates/app/tsconfig.json +42 -0
  233. package/templates/app/tsconfig.server.json +5 -0
  234. package/templates/app/tsconfig.test.json +21 -0
@@ -1,16 +1,11 @@
1
- import { exec } from "node:child_process";
2
- import { existsSync } from "node:fs";
3
- import { readFile, writeFile } from "node:fs/promises";
4
- import { join, resolve } from "node:path";
5
- import { promisify } from "node:util";
6
- import * as dotenv from "dotenv";
7
- import postgres from "postgres";
8
1
  import { z } from "zod";
9
- const execAsync = promisify(exec);
2
+ import { setupAppSchema } from "../lib/scaffolding.js";
10
3
  const inputSchema = {
11
- application_directory: z
4
+ directory: z
12
5
  .string()
13
- .describe("Path to the application directory"),
6
+ .optional()
7
+ .default(".")
8
+ .describe("Directory of the application, relative to cwd (default: current working directory)"),
14
9
  service_id: z.string().describe("Tiger Cloud service ID for the database"),
15
10
  app_name: z
16
11
  .string()
@@ -23,23 +18,6 @@ const outputSchema = {
23
18
  schema_name: z.string().optional().describe("Name of the created schema"),
24
19
  user_name: z.string().optional().describe("Name of the created user"),
25
20
  };
26
- function generatePassword(length = 24) {
27
- const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
28
- let password = "";
29
- for (let i = 0; i < length; i++) {
30
- password += chars.charAt(Math.floor(Math.random() * chars.length));
31
- }
32
- return password;
33
- }
34
- function buildConnectionString(originalUrl, user, password) {
35
- const parsed = new URL(originalUrl);
36
- parsed.username = user;
37
- parsed.password = encodeURIComponent(password);
38
- if (!parsed.searchParams.has("uselibpqcompat")) {
39
- parsed.searchParams.set("uselibpqcompat", "true");
40
- }
41
- return parsed.toString();
42
- }
43
21
  export const setupAppSchemaFactory = () => {
44
22
  return {
45
23
  name: "setup_app_schema",
@@ -49,108 +27,12 @@ export const setupAppSchemaFactory = () => {
49
27
  inputSchema,
50
28
  outputSchema,
51
29
  },
52
- fn: async ({ application_directory, service_id, app_name, }) => {
53
- const appDir = resolve(process.cwd(), application_directory);
54
- const envPath = join(appDir, ".env");
55
- // Check if we've already run this tool (DATABASE_SCHEMA is only set by us)
56
- if (existsSync(envPath)) {
57
- const envContent = await readFile(envPath, "utf-8");
58
- const env = dotenv.parse(envContent);
59
- if (env.DATABASE_SCHEMA) {
60
- return {
61
- success: true,
62
- message: "DATABASE_SCHEMA already set in .env. Delete it and re-run if you need to regenerate.",
63
- schema_name: app_name,
64
- user_name: app_name,
65
- };
66
- }
67
- }
68
- // Get database connection string from Tiger
69
- let adminConnectionString;
70
- try {
71
- const { stdout: serviceJson } = await execAsync(`tiger service get ${service_id} --with-password -o json`);
72
- const serviceDetails = JSON.parse(serviceJson);
73
- if (!serviceDetails.connection_string) {
74
- return {
75
- success: false,
76
- message: "connection_string not found in service details",
77
- };
78
- }
79
- adminConnectionString = serviceDetails.connection_string;
80
- }
81
- catch (err) {
82
- const error = err;
83
- return {
84
- success: false,
85
- message: `Failed to get service details: ${error.message}`,
86
- };
87
- }
88
- // Connect using postgres.js as admin
89
- const sql = postgres(adminConnectionString);
90
- try {
91
- // Check if user already exists
92
- const existingUser = await sql `
93
- SELECT 1 FROM pg_catalog.pg_roles WHERE rolname = ${app_name}
94
- `;
95
- if (existingUser.length > 0) {
96
- await sql.end();
97
- return {
98
- success: false,
99
- message: `User '${app_name}' already exists. Choose a different app name or delete the existing user.`,
100
- };
101
- }
102
- // Create new user
103
- const appPassword = generatePassword();
104
- await sql.unsafe(`CREATE ROLE ${app_name} WITH LOGIN PASSWORD '${appPassword}'`);
105
- // Grant app role to tsdbadmin so admin can access app objects
106
- await sql.unsafe(`GRANT ${app_name} TO tsdbadmin WITH INHERIT TRUE`);
107
- // Create app schema owned by the app user
108
- await sql.unsafe(`CREATE SCHEMA IF NOT EXISTS ${app_name} AUTHORIZATION ${app_name}`);
109
- // Allow using extensions in public schema, but not creating objects there
110
- await sql.unsafe(`REVOKE CREATE ON SCHEMA public FROM ${app_name}`);
111
- await sql.unsafe(`GRANT USAGE ON SCHEMA public TO ${app_name}`);
112
- // Set search_path for app user (app schema first, then public for extensions)
113
- await sql.unsafe(`ALTER ROLE ${app_name} SET search_path TO ${app_name}, public`);
114
- // Append app schema to tsdbadmin's search_path
115
- const currentPath = await sql `
116
- SELECT setting FROM pg_settings WHERE name = 'search_path'
117
- `;
118
- const existingPath = currentPath[0]?.setting ?? "public";
119
- if (!existingPath.includes(app_name)) {
120
- await sql.unsafe(`ALTER ROLE tsdbadmin SET search_path TO ${existingPath}, ${app_name}`);
121
- }
122
- await sql.end();
123
- // Build app connection string
124
- const appDatabaseUrl = buildConnectionString(adminConnectionString, app_name, appPassword);
125
- // Write or update .env file
126
- let envContent = "";
127
- if (existsSync(envPath)) {
128
- envContent = await readFile(envPath, "utf-8");
129
- }
130
- // Update or add DATABASE_URL and DATABASE_SCHEMA
131
- const env = dotenv.parse(envContent);
132
- env.DATABASE_URL = appDatabaseUrl;
133
- env.DATABASE_SCHEMA = app_name;
134
- // Rebuild .env content
135
- const newEnvContent = Object.entries(env)
136
- .map(([key, value]) => `${key}="${value}"`)
137
- .join("\n");
138
- await writeFile(envPath, `${newEnvContent}\n`);
139
- }
140
- catch (err) {
141
- await sql.end();
142
- const error = err;
143
- return {
144
- success: false,
145
- message: `Failed to set up app schema: ${error.message}`,
146
- };
147
- }
148
- return {
149
- success: true,
150
- message: `Created schema '${app_name}' and user '${app_name}'. DATABASE_URL and DATABASE_SCHEMA written to .env.`,
151
- schema_name: app_name,
152
- user_name: app_name,
153
- };
30
+ fn: async ({ directory, service_id, app_name, }) => {
31
+ return setupAppSchema({
32
+ directory,
33
+ serviceId: service_id,
34
+ appName: app_name,
35
+ });
154
36
  },
155
37
  };
156
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"setupAppSchema.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/setupAppSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupAppSchema.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/setupAppSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,oFAAoF,CAAC;IACjG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC1E,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,KAAK,CACJ,mBAAmB,EACnB,kFAAkF,CACnF;SACA,QAAQ,CACP,sFAAsF,CACvF;CACK,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACzE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CAC7D,CAAC;AASX,MAAM,CAAC,MAAM,qBAAqB,GAI9B,GAAG,EAAE;IACP,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB;YACzB,WAAW,EACT,+KAA+K;YACjL,WAAW;YACX,YAAY;SACb;QACD,EAAE,EAAE,KAAK,EAAE,EACT,SAAS,EACT,UAAU,EACV,QAAQ,GACT,EAAyB,EAAE;YAC1B,OAAO,cAAc,CAAC;gBACpB,SAAS;gBACT,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,QAAQ;aAClB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Load .env from cwd and return DATABASE_URL.
3
+ * Throws with a helpful message if not found.
4
+ */
5
+ export declare function requireDatabaseUrl(): string;
6
+ export { parseOutput } from "../../trace.js";
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/utils.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAK3C;AAGD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { existsSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import dotenv from "dotenv";
4
+ /**
5
+ * Load .env directly from cwd — NOT via resolveEnv() which walks up
6
+ * the directory tree and may find a parent .env instead of the app's.
7
+ * Uses override: true so the app's values always win.
8
+ */
9
+ function loadProjectEnv() {
10
+ const envPath = join(process.cwd(), ".env");
11
+ if (existsSync(envPath)) {
12
+ dotenv.config({ path: envPath, override: true, quiet: true });
13
+ }
14
+ }
15
+ /**
16
+ * Load .env from cwd and return DATABASE_URL.
17
+ * Throws with a helpful message if not found.
18
+ */
19
+ export function requireDatabaseUrl() {
20
+ loadProjectEnv();
21
+ const url = process.env.DATABASE_URL;
22
+ if (!url)
23
+ throw new Error("DATABASE_URL not set in .env");
24
+ return url;
25
+ }
26
+ // Re-export parseOutput for MCP tools to unwrap superjson DB rows
27
+ export { parseOutput } from "../../trace.js";
28
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;;;GAIG;AACH,SAAS,cAAc;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,cAAc,EAAE,CAAC;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC1D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kEAAkE;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function runRun(): Promise<void>;
2
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAsLA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAsV5C"}