0pflow 0.1.0-dev.308b61c → 0.1.0-dev.3e8826e
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__/factory.test.js +13 -0
- package/dist/__tests__/factory.test.js.map +1 -1
- package/dist/__tests__/integration.e2e.test.js +2 -1
- package/dist/__tests__/integration.e2e.test.js.map +1 -1
- package/dist/__tests__/integration.test.js +87 -82
- package/dist/__tests__/integration.test.js.map +1 -1
- package/dist/agent.d.ts +1 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +17 -2
- package/dist/agent.js.map +1 -1
- package/dist/cli/app.d.ts +6 -0
- package/dist/cli/app.d.ts.map +1 -1
- package/dist/cli/app.js +31 -0
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/cloud-dev.d.ts +7 -0
- package/dist/cli/cloud-dev.d.ts.map +1 -0
- package/dist/cli/cloud-dev.js +570 -0
- package/dist/cli/cloud-dev.js.map +1 -0
- package/dist/cli/deploy.d.ts +27 -0
- package/dist/cli/deploy.d.ts.map +1 -0
- package/dist/cli/deploy.js +332 -0
- package/dist/cli/deploy.js.map +1 -0
- package/dist/cli/env.d.ts +3 -1
- package/dist/cli/env.d.ts.map +1 -1
- package/dist/cli/env.js +8 -3
- package/dist/cli/env.js.map +1 -1
- package/dist/cli/index.js +87 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/install.d.ts +4 -0
- package/dist/cli/install.d.ts.map +1 -1
- package/dist/cli/install.js +26 -25
- package/dist/cli/install.js.map +1 -1
- package/dist/cli/mcp/lib/scaffolding.d.ts.map +1 -1
- package/dist/cli/mcp/lib/scaffolding.js +38 -20
- package/dist/cli/mcp/lib/scaffolding.js.map +1 -1
- package/dist/cli/mcp/tools/getConnectionInfo.d.ts.map +1 -1
- package/dist/cli/mcp/tools/getConnectionInfo.js +4 -10
- package/dist/cli/mcp/tools/getConnectionInfo.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +278 -105
- package/dist/cli/run.js.map +1 -1
- package/dist/connections/cloud-auth.d.ts.map +1 -1
- package/dist/connections/cloud-auth.js +5 -1
- package/dist/connections/cloud-auth.js.map +1 -1
- package/dist/connections/cloud-client.d.ts.map +1 -1
- package/dist/connections/cloud-client.js +10 -3
- package/dist/connections/cloud-client.js.map +1 -1
- package/dist/connections/cloud-integration-provider.d.ts +2 -1
- package/dist/connections/cloud-integration-provider.d.ts.map +1 -1
- package/dist/connections/cloud-integration-provider.js +18 -2
- package/dist/connections/cloud-integration-provider.js.map +1 -1
- package/dist/connections/connection-labels.d.ts +14 -0
- package/dist/connections/connection-labels.d.ts.map +1 -0
- package/dist/connections/connection-labels.js +46 -0
- package/dist/connections/connection-labels.js.map +1 -0
- package/dist/connections/index.d.ts +1 -0
- package/dist/connections/index.d.ts.map +1 -1
- package/dist/connections/index.js +1 -0
- package/dist/connections/index.js.map +1 -1
- package/dist/connections/integration-provider.d.ts +1 -0
- package/dist/connections/integration-provider.d.ts.map +1 -1
- package/dist/connections/local-integration-provider.d.ts +2 -1
- package/dist/connections/local-integration-provider.d.ts.map +1 -1
- package/dist/connections/local-integration-provider.js +20 -3
- package/dist/connections/local-integration-provider.js.map +1 -1
- package/dist/connections/nango-client.d.ts +1 -1
- package/dist/connections/nango-client.d.ts.map +1 -1
- package/dist/connections/nango-client.js +3 -2
- package/dist/connections/nango-client.js.map +1 -1
- package/dist/connections/resolver.d.ts +4 -4
- package/dist/connections/resolver.d.ts.map +1 -1
- package/dist/connections/resolver.js +12 -8
- package/dist/connections/resolver.js.map +1 -1
- package/dist/connections/schema.d.ts +3 -1
- package/dist/connections/schema.d.ts.map +1 -1
- package/dist/connections/schema.js +10 -4
- package/dist/connections/schema.js.map +1 -1
- package/dist/dev-ui/api.d.ts +5 -0
- package/dist/dev-ui/api.d.ts.map +1 -1
- package/dist/dev-ui/api.js +39 -3
- package/dist/dev-ui/api.js.map +1 -1
- package/dist/dev-ui/dag/extractor.d.ts.map +1 -1
- package/dist/dev-ui/dag/extractor.js +7 -19
- package/dist/dev-ui/dag/extractor.js.map +1 -1
- package/dist/dev-ui/deploy-api.d.ts +14 -0
- package/dist/dev-ui/deploy-api.d.ts.map +1 -0
- package/dist/dev-ui/deploy-api.js +112 -0
- package/dist/dev-ui/deploy-api.js.map +1 -0
- package/dist/dev-ui/dev-server.d.ts.map +1 -1
- package/dist/dev-ui/dev-server.js +62 -8
- package/dist/dev-ui/dev-server.js.map +1 -1
- package/dist/dev-ui/watcher.d.ts.map +1 -1
- package/dist/dev-ui/watcher.js +6 -2
- package/dist/dev-ui/watcher.js.map +1 -1
- package/dist/dev-ui-client/assets/index-Cc0tmhKa.css +32 -0
- package/dist/dev-ui-client/assets/index-Cqhzxumy.js +172 -0
- package/dist/dev-ui-client/index.html +2 -2
- package/dist/discover.d.ts.map +1 -1
- package/dist/discover.js +5 -2
- package/dist/discover.js.map +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +15 -4
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/registry-gen.d.ts +6 -0
- package/dist/registry-gen.d.ts.map +1 -0
- package/dist/registry-gen.js +146 -0
- package/dist/registry-gen.js.map +1 -0
- package/dist/types.d.ts +14 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +18 -1
- package/dist/types.js.map +1 -1
- package/dist/workflow.d.ts +1 -1
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +25 -3
- package/dist/workflow.js.map +1 -1
- package/package.json +3 -1
- package/templates/app/.dockerignore +6 -0
- package/templates/app/Dockerfile +34 -0
- package/templates/app/generated/registry.ts +8 -0
- package/templates/app/next.config.js +4 -1
- package/templates/app/package.json +2 -0
- package/templates/app/src/lib/pflow.ts +5 -6
- package/dist/dev-ui-client/assets/index-C-LxzUII.css +0 -32
- package/dist/dev-ui-client/assets/index-aAIwXl4O.js +0 -127
package/dist/cli/run.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { execSync } from "node:child_process";
|
|
1
|
+
import { exec, execSync } from "node:child_process";
|
|
2
2
|
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
3
|
-
import {
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
import { promisify } from "node:util";
|
|
5
|
+
import { join, resolve } from "node:path";
|
|
4
6
|
import * as p from "@clack/prompts";
|
|
5
7
|
import pc from "picocolors";
|
|
8
|
+
import * as dotenv from "dotenv";
|
|
6
9
|
import { scaffoldApp, createDatabase, setupAppSchema, } from "./mcp/lib/scaffolding.js";
|
|
10
|
+
import { buildMcpCommand, writeSettings, addMarketplace, installPlugin, uninstallPlugin, } from "./install.js";
|
|
7
11
|
function isClaudeAvailable() {
|
|
8
12
|
try {
|
|
9
13
|
execSync("claude --version", { stdio: "ignore" });
|
|
@@ -13,19 +17,10 @@ function isClaudeAvailable() {
|
|
|
13
17
|
return false;
|
|
14
18
|
}
|
|
15
19
|
}
|
|
16
|
-
function isCwdEmpty() {
|
|
17
|
-
try {
|
|
18
|
-
const entries = readdirSync(process.cwd());
|
|
19
|
-
// Ignore dotfiles like .git
|
|
20
|
-
return entries.filter((e) => !e.startsWith(".")).length === 0;
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
20
|
/**
|
|
27
|
-
* Poll Tiger Cloud until the service is ready (status
|
|
21
|
+
* Poll Tiger Cloud until the service is ready (status == "ready").
|
|
28
22
|
* Returns true if ready, false on timeout.
|
|
23
|
+
* Throws an error if the service is not found or tiger CLI is unavailable.
|
|
29
24
|
*/
|
|
30
25
|
async function waitForDatabase(serviceId, timeoutMs = 5 * 60 * 1000, intervalMs = 5000) {
|
|
31
26
|
const start = Date.now();
|
|
@@ -37,17 +32,108 @@ async function waitForDatabase(serviceId, timeoutMs = 5 * 60 * 1000, intervalMs
|
|
|
37
32
|
stdio: ["pipe", "pipe", "pipe"],
|
|
38
33
|
});
|
|
39
34
|
const info = JSON.parse(stdout);
|
|
40
|
-
|
|
35
|
+
// Only return true when database is actually ready
|
|
36
|
+
if (info.status?.toLowerCase() === "ready") {
|
|
41
37
|
return true;
|
|
42
38
|
}
|
|
43
39
|
}
|
|
44
|
-
catch {
|
|
45
|
-
|
|
40
|
+
catch (error) {
|
|
41
|
+
const err = error;
|
|
42
|
+
// Check if it's a "service not found" or "tiger CLI not available" error
|
|
43
|
+
if (err.message?.includes("not found") || err.stderr?.includes("not found")) {
|
|
44
|
+
throw new Error(`Service ${serviceId} not found. Please check the service ID.`);
|
|
45
|
+
}
|
|
46
|
+
if (err.message?.includes("command not found") || err.message?.includes("tiger")) {
|
|
47
|
+
throw new Error("Tiger CLI not available. Please install it from https://tiger.tigerdata.cloud");
|
|
48
|
+
}
|
|
49
|
+
// For other errors (network, etc.), continue retrying
|
|
46
50
|
}
|
|
47
51
|
await new Promise((r) => setTimeout(r, intervalMs));
|
|
48
52
|
}
|
|
49
53
|
return false;
|
|
50
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Extract the service ID from a Tiger Cloud DATABASE_URL.
|
|
57
|
+
* Tiger Cloud hostnames follow the pattern: <service_id>.<region>.aws.tsdb.cloud
|
|
58
|
+
*/
|
|
59
|
+
function extractServiceIdFromUrl(databaseUrl) {
|
|
60
|
+
try {
|
|
61
|
+
const url = new URL(databaseUrl);
|
|
62
|
+
const hostname = url.hostname;
|
|
63
|
+
// Match Tiger Cloud hostname patterns like: abc123def4.us-east-1.aws.tsdb.cloud
|
|
64
|
+
const match = hostname.match(/^([a-z0-9]{10})\./);
|
|
65
|
+
return match ? match[1] : null;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Check database status and start it if paused/stopped.
|
|
73
|
+
* Returns the status: "started", "already_running", "not_found", or "creating"
|
|
74
|
+
*/
|
|
75
|
+
function startDatabaseIfNeeded(serviceId, noWait = false) {
|
|
76
|
+
try {
|
|
77
|
+
const stdout = execSync(`tiger service get ${serviceId} -o json`, {
|
|
78
|
+
encoding: "utf-8",
|
|
79
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
80
|
+
});
|
|
81
|
+
const info = JSON.parse(stdout);
|
|
82
|
+
if (!info.status) {
|
|
83
|
+
return "not_found";
|
|
84
|
+
}
|
|
85
|
+
const status = info.status.toLowerCase();
|
|
86
|
+
// If database is paused or stopped, start it
|
|
87
|
+
if (status === "paused" || status === "stopped") {
|
|
88
|
+
execSync(`tiger service start ${serviceId}${noWait ? " --no-wait" : ""}`, {
|
|
89
|
+
encoding: "utf-8",
|
|
90
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
91
|
+
});
|
|
92
|
+
return "started";
|
|
93
|
+
}
|
|
94
|
+
if (status === "creating") {
|
|
95
|
+
return "creating";
|
|
96
|
+
}
|
|
97
|
+
// Already running
|
|
98
|
+
return "already_running";
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
// tiger CLI not available or service not found
|
|
102
|
+
return "not_found";
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Check if Tiger CLI is installed and authenticated.
|
|
107
|
+
* If not authenticated, triggers interactive login (opens browser).
|
|
108
|
+
*/
|
|
109
|
+
function ensureTigerAuth() {
|
|
110
|
+
// Check if tiger CLI is available
|
|
111
|
+
try {
|
|
112
|
+
execSync("tiger version", { stdio: "ignore" });
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
p.log.error("Tiger CLI not found. Install it: curl -fsSL https://cli.tigerdata.com | sh");
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
// Check if authenticated
|
|
119
|
+
try {
|
|
120
|
+
const stdout = execSync("tiger auth status -o json", {
|
|
121
|
+
encoding: "utf-8",
|
|
122
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
123
|
+
});
|
|
124
|
+
JSON.parse(stdout); // Will throw if not valid JSON (not authenticated)
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
p.log.info("Tiger Cloud authentication required. Opening browser...");
|
|
128
|
+
try {
|
|
129
|
+
execSync("tiger auth login", { stdio: "inherit" });
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
p.log.error("Tiger Cloud login failed. Try running 'tiger auth login' manually.");
|
|
133
|
+
process.exit(1);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
51
137
|
function isExisting0pflow() {
|
|
52
138
|
try {
|
|
53
139
|
const pkgPath = join(process.cwd(), "package.json");
|
|
@@ -61,17 +147,97 @@ function isExisting0pflow() {
|
|
|
61
147
|
return false;
|
|
62
148
|
}
|
|
63
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Scan ~/0pflow/ for directories that contain a package.json with 0pflow as a dependency.
|
|
152
|
+
*/
|
|
153
|
+
function discoverProjects() {
|
|
154
|
+
const baseDir = join(homedir(), "0pflow");
|
|
155
|
+
if (!existsSync(baseDir))
|
|
156
|
+
return [];
|
|
157
|
+
const projects = [];
|
|
158
|
+
let entries;
|
|
159
|
+
try {
|
|
160
|
+
entries = readdirSync(baseDir);
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
return [];
|
|
164
|
+
}
|
|
165
|
+
for (const entry of entries) {
|
|
166
|
+
const projectDir = join(baseDir, entry);
|
|
167
|
+
const pkgPath = join(projectDir, "package.json");
|
|
168
|
+
try {
|
|
169
|
+
if (!existsSync(pkgPath))
|
|
170
|
+
continue;
|
|
171
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
172
|
+
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
173
|
+
if ("0pflow" in deps) {
|
|
174
|
+
projects.push({ name: entry, path: projectDir });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
projects.sort((a, b) => a.name.localeCompare(b.name));
|
|
182
|
+
return projects;
|
|
183
|
+
}
|
|
64
184
|
const WELCOME_PROMPT = "Welcome to your 0pflow project! What workflow would you like to create? Here are some ideas:\n\n" +
|
|
65
185
|
'- "Enrich leads from a CSV file with company data"\n' +
|
|
66
186
|
'- "Monitor website uptime and send Slack alerts"\n' +
|
|
67
187
|
'- "Sync Salesforce contacts to our database nightly"\n' +
|
|
68
188
|
'- "Score and route inbound leads based on firmographics"\n\n' +
|
|
69
189
|
"Describe what you'd like to automate and I'll help you build it with /create-workflow.";
|
|
190
|
+
async function launchExistingProject(projectPath) {
|
|
191
|
+
// Check if database is paused and start it if needed
|
|
192
|
+
try {
|
|
193
|
+
const { findEnvFile } = await import("./env.js");
|
|
194
|
+
const envPath = findEnvFile(projectPath);
|
|
195
|
+
if (envPath) {
|
|
196
|
+
const envContent = readFileSync(envPath, "utf-8");
|
|
197
|
+
const parsed = dotenv.parse(envContent);
|
|
198
|
+
if (parsed.DATABASE_URL) {
|
|
199
|
+
const serviceId = extractServiceIdFromUrl(parsed.DATABASE_URL);
|
|
200
|
+
if (serviceId) {
|
|
201
|
+
const status = startDatabaseIfNeeded(serviceId, false);
|
|
202
|
+
if (status === "started") {
|
|
203
|
+
const s = p.spinner();
|
|
204
|
+
s.start("Database was paused, waiting for it to start...");
|
|
205
|
+
const ready = await waitForDatabase(serviceId, 3 * 60 * 1000);
|
|
206
|
+
if (ready) {
|
|
207
|
+
s.stop(pc.green("Database is ready"));
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
s.stop(pc.yellow("Database is starting (taking longer than expected)"));
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
// Continue without database check if env loading fails
|
|
219
|
+
}
|
|
220
|
+
const mode = await p.select({
|
|
221
|
+
message: "Launch mode",
|
|
222
|
+
options: [
|
|
223
|
+
{ value: "normal", label: "Launch" },
|
|
224
|
+
{ value: "yolo", label: "Launch with --dangerously-skip-permissions" },
|
|
225
|
+
],
|
|
226
|
+
});
|
|
227
|
+
if (p.isCancel(mode)) {
|
|
228
|
+
p.cancel("Cancelled.");
|
|
229
|
+
process.exit(0);
|
|
230
|
+
}
|
|
231
|
+
p.outro(pc.green("Launching..."));
|
|
232
|
+
await launchDevServer(projectPath, { yolo: mode === "yolo" });
|
|
233
|
+
}
|
|
70
234
|
async function launchDevServer(cwd, { yolo = false } = {}) {
|
|
71
|
-
// Load .env
|
|
235
|
+
// Load .env from the app directory (not process.cwd(), which may be a parent)
|
|
72
236
|
try {
|
|
73
|
-
const {
|
|
74
|
-
|
|
237
|
+
const { findEnvFile, loadEnv } = await import("./env.js");
|
|
238
|
+
const envPath = findEnvFile(cwd);
|
|
239
|
+
if (envPath)
|
|
240
|
+
loadEnv(envPath);
|
|
75
241
|
}
|
|
76
242
|
catch {
|
|
77
243
|
// Dev UI can work without env
|
|
@@ -104,31 +270,75 @@ export async function runRun() {
|
|
|
104
270
|
p.log.error("Claude Code CLI not found. Install it from https://claude.ai/code");
|
|
105
271
|
process.exit(1);
|
|
106
272
|
}
|
|
107
|
-
// ──
|
|
273
|
+
// ── Always install/update plugin ────────────────────────────────────
|
|
274
|
+
{
|
|
275
|
+
const s = p.spinner();
|
|
276
|
+
s.start("Updating 0pflow plugin...");
|
|
277
|
+
try {
|
|
278
|
+
const mcpResult = buildMcpCommand();
|
|
279
|
+
writeSettings({
|
|
280
|
+
mcpCommand: mcpResult.command,
|
|
281
|
+
installedAt: new Date().toISOString(),
|
|
282
|
+
});
|
|
283
|
+
// In dev mode (local .ts source), skip marketplace/plugin install since
|
|
284
|
+
// the dev server loads the plugin via --plugin-dir instead.
|
|
285
|
+
if (mcpResult.isLocal) {
|
|
286
|
+
// Remove any previously installed marketplace plugin to avoid
|
|
287
|
+
// duplicates — dev server uses --plugin-dir instead.
|
|
288
|
+
uninstallPlugin("ignore");
|
|
289
|
+
s.stop(pc.green("Plugin ready (dev mode)"));
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
addMarketplace(mcpResult, "ignore");
|
|
293
|
+
const result = installPlugin("ignore");
|
|
294
|
+
if (result.success) {
|
|
295
|
+
s.stop(pc.green("Plugin up to date"));
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
s.stop(pc.yellow("Plugin update skipped (can retry with '0pflow install --force')"));
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
catch (err) {
|
|
303
|
+
s.stop(pc.yellow(`Plugin update failed: ${err instanceof Error ? err.message : String(err)}`));
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// ── Existing project (CWD) → launch directly ───────────────────────
|
|
108
307
|
if (isExisting0pflow()) {
|
|
109
|
-
|
|
110
|
-
|
|
308
|
+
await launchExistingProject(process.cwd());
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
// ── Discover existing projects in ~/0pflow/ ───────────────────────
|
|
312
|
+
const projects = discoverProjects();
|
|
313
|
+
if (projects.length > 0) {
|
|
314
|
+
const CREATE_NEW = "__create_new__";
|
|
315
|
+
const projectChoice = await p.select({
|
|
316
|
+
message: "Select a project",
|
|
111
317
|
options: [
|
|
112
|
-
|
|
113
|
-
|
|
318
|
+
...projects.map((proj) => ({
|
|
319
|
+
value: proj.path,
|
|
320
|
+
label: proj.name,
|
|
321
|
+
hint: proj.path,
|
|
322
|
+
})),
|
|
323
|
+
{
|
|
324
|
+
value: CREATE_NEW,
|
|
325
|
+
label: pc.green("+ Create new project"),
|
|
326
|
+
},
|
|
114
327
|
],
|
|
115
328
|
});
|
|
116
|
-
if (p.isCancel(
|
|
329
|
+
if (p.isCancel(projectChoice)) {
|
|
117
330
|
p.cancel("Cancelled.");
|
|
118
331
|
process.exit(0);
|
|
119
332
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
333
|
+
if (projectChoice !== CREATE_NEW) {
|
|
334
|
+
await launchExistingProject(projectChoice);
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
123
337
|
}
|
|
124
|
-
const cwdEmpty = isCwdEmpty();
|
|
125
338
|
// ── Project name ────────────────────────────────────────────────────
|
|
126
|
-
// Default to current directory name if it looks like a valid project name
|
|
127
|
-
const dirName = basename(process.cwd()).toLowerCase().replace(/[^a-z0-9-]/g, "-");
|
|
128
|
-
const defaultName = cwdEmpty && /^[a-z][a-z0-9-]*$/.test(dirName) ? dirName : undefined;
|
|
129
339
|
const projectName = await p.text({
|
|
130
340
|
message: "Project name",
|
|
131
|
-
|
|
341
|
+
placeholder: "my-app",
|
|
132
342
|
validate(value) {
|
|
133
343
|
if (!value)
|
|
134
344
|
return "Project name is required";
|
|
@@ -141,51 +351,10 @@ export async function runRun() {
|
|
|
141
351
|
p.cancel("Cancelled.");
|
|
142
352
|
process.exit(0);
|
|
143
353
|
}
|
|
144
|
-
// ── Directory
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
? `${cwd} (current directory)`
|
|
149
|
-
: `./${projectName}`;
|
|
150
|
-
const useDirectory = await p.select({
|
|
151
|
-
message: "Where should we create it?",
|
|
152
|
-
options: cwdEmpty
|
|
153
|
-
? [
|
|
154
|
-
{ value: "default", label: `Here — ${cwd}` },
|
|
155
|
-
{ value: "custom", label: "Other directory" },
|
|
156
|
-
]
|
|
157
|
-
: [
|
|
158
|
-
{ value: "default", label: `./${projectName}` },
|
|
159
|
-
{ value: "custom", label: "Other directory" },
|
|
160
|
-
],
|
|
161
|
-
});
|
|
162
|
-
if (p.isCancel(useDirectory)) {
|
|
163
|
-
p.cancel("Cancelled.");
|
|
164
|
-
process.exit(0);
|
|
165
|
-
}
|
|
166
|
-
let directory;
|
|
167
|
-
if (useDirectory === "custom") {
|
|
168
|
-
const customDir = await p.text({
|
|
169
|
-
message: "Directory path",
|
|
170
|
-
placeholder: `./${projectName}`,
|
|
171
|
-
validate(value) {
|
|
172
|
-
if (!value)
|
|
173
|
-
return "Directory is required";
|
|
174
|
-
},
|
|
175
|
-
});
|
|
176
|
-
if (p.isCancel(customDir)) {
|
|
177
|
-
p.cancel("Cancelled.");
|
|
178
|
-
process.exit(0);
|
|
179
|
-
}
|
|
180
|
-
directory = customDir;
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
directory = defaultDir;
|
|
184
|
-
}
|
|
185
|
-
if (p.isCancel(directory)) {
|
|
186
|
-
p.cancel("Cancelled.");
|
|
187
|
-
process.exit(0);
|
|
188
|
-
}
|
|
354
|
+
// ── Directory (always ~/0pflow/<name>) ────────────────────────────
|
|
355
|
+
const directory = join(homedir(), "0pflow", projectName);
|
|
356
|
+
// ── Tiger auth ────────────────────────────────────────────────────
|
|
357
|
+
ensureTigerAuth();
|
|
189
358
|
// ── Database ────────────────────────────────────────────────────────
|
|
190
359
|
const dbChoice = await p.select({
|
|
191
360
|
message: "Database setup",
|
|
@@ -269,24 +438,30 @@ export async function runRun() {
|
|
|
269
438
|
}
|
|
270
439
|
serviceId = sid;
|
|
271
440
|
}
|
|
441
|
+
// Start database if paused (async, don't wait)
|
|
442
|
+
if (serviceId) {
|
|
443
|
+
const status = startDatabaseIfNeeded(serviceId, true);
|
|
444
|
+
if (status === "started") {
|
|
445
|
+
p.log.info("Database was paused, starting it in the background...");
|
|
446
|
+
}
|
|
447
|
+
}
|
|
272
448
|
}
|
|
273
449
|
// ── Execute ─────────────────────────────────────────────────────────
|
|
274
450
|
const s = p.spinner();
|
|
275
|
-
//
|
|
276
|
-
let dbPromise;
|
|
451
|
+
// Create database if needed (returns immediately with --no-wait)
|
|
277
452
|
if (dbChoice === "new") {
|
|
278
453
|
s.start("Creating Tiger Cloud database...");
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
if (!dbPromise) {
|
|
288
|
-
s.start("Scaffolding project...");
|
|
454
|
+
const dbResult = await createDatabase({ name: projectName });
|
|
455
|
+
if (!dbResult.success) {
|
|
456
|
+
s.stop(pc.red("Database creation failed"));
|
|
457
|
+
p.log.error(dbResult.error || "Failed to create database");
|
|
458
|
+
process.exit(1);
|
|
459
|
+
}
|
|
460
|
+
serviceId = dbResult.service_id;
|
|
461
|
+
s.stop(pc.green(`Database creation initiated (${serviceId})`));
|
|
289
462
|
}
|
|
463
|
+
// Scaffold app
|
|
464
|
+
s.start("Scaffolding project...");
|
|
290
465
|
const scaffoldResult = await scaffoldApp({
|
|
291
466
|
appName: projectName,
|
|
292
467
|
directory,
|
|
@@ -302,24 +477,23 @@ export async function runRun() {
|
|
|
302
477
|
const appPath = scaffoldResult.path;
|
|
303
478
|
s.start("Installing dependencies...");
|
|
304
479
|
try {
|
|
305
|
-
|
|
480
|
+
const execAsync = promisify(exec);
|
|
481
|
+
await execAsync("npm install --loglevel=error", { cwd: appPath });
|
|
306
482
|
s.stop(pc.green("Installed dependencies"));
|
|
307
483
|
}
|
|
308
484
|
catch (err) {
|
|
309
485
|
s.stop(pc.yellow("npm install failed (you can retry manually)"));
|
|
310
486
|
}
|
|
311
|
-
// Wait for database
|
|
312
|
-
if (
|
|
313
|
-
s.start("
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
catch (err) {
|
|
320
|
-
s.stop(pc.yellow("Database creation failed"));
|
|
321
|
-
p.log.warn(`You can create one later with: tiger service create --name ${projectName}`);
|
|
487
|
+
// Wait for database to be ready (whether new or existing that was started)
|
|
488
|
+
if (serviceId) {
|
|
489
|
+
s.start("Checking database status...");
|
|
490
|
+
const ready = await waitForDatabase(serviceId, 3 * 60 * 1000);
|
|
491
|
+
if (!ready) {
|
|
492
|
+
s.stop(pc.red("Database failed to start"));
|
|
493
|
+
p.log.error("Database did not become ready in time. Please check Tiger Cloud dashboard.");
|
|
494
|
+
process.exit(1);
|
|
322
495
|
}
|
|
496
|
+
s.stop(pc.green("Database is ready"));
|
|
323
497
|
}
|
|
324
498
|
if (serviceId) {
|
|
325
499
|
s.start("Configuring database schema...");
|
|
@@ -377,11 +551,10 @@ export async function runRun() {
|
|
|
377
551
|
return;
|
|
378
552
|
}
|
|
379
553
|
// ── Done ────────────────────────────────────────────────────────────
|
|
380
|
-
|
|
381
|
-
p.outro(pc.green("Project created!"));
|
|
554
|
+
p.outro(pc.green(`Project created at ${directory}`));
|
|
382
555
|
console.log();
|
|
383
556
|
console.log(pc.bold(" To launch later:"));
|
|
384
|
-
console.log(pc.cyan(` ${
|
|
557
|
+
console.log(pc.cyan(` cd ${directory} && 0pflow run`));
|
|
385
558
|
console.log();
|
|
386
559
|
}
|
|
387
560
|
//# sourceMappingURL=run.js.map
|
package/dist/cli/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-auth.d.ts","sourceRoot":"","sources":["../../src/connections/cloud-auth.ts"],"names":[],"mappings":"AA+FA;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAOxC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAOjE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"cloud-auth.d.ts","sourceRoot":"","sources":["../../src/connections/cloud-auth.ts"],"names":[],"mappings":"AA+FA;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAOxC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAOjE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAOrC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAiB7C;AA0CD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAgB,OAAO,EAAE,MAAM,CAAC;gBAEpB,OAAO,EAAE,MAAM;CAS5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA8DlD;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,IAAI,CAS7B"}
|
|
@@ -18,7 +18,7 @@ import { exec } from "node:child_process";
|
|
|
18
18
|
const CREDENTIALS_DIR = join(homedir(), ".0pflow");
|
|
19
19
|
const CREDENTIALS_FILE = join(CREDENTIALS_DIR, "credentials");
|
|
20
20
|
const PENDING_AUTH_FILE = join(CREDENTIALS_DIR, "pending_auth");
|
|
21
|
-
const DEFAULT_SERVER_URL = process.env.OPFLOW_SERVER_URL ?? "https://auth
|
|
21
|
+
const DEFAULT_SERVER_URL = process.env.OPFLOW_SERVER_URL ?? "https://opflow-auth.fly.dev";
|
|
22
22
|
const POLL_INTERVAL_MS = 2000;
|
|
23
23
|
const QUICK_POLL_ATTEMPTS = 8; // ~16 seconds
|
|
24
24
|
function ensureDir() {
|
|
@@ -106,6 +106,10 @@ export function isAuthenticated() {
|
|
|
106
106
|
* Get the server URL from stored credentials, or the default.
|
|
107
107
|
*/
|
|
108
108
|
export function getServerUrl() {
|
|
109
|
+
// Environment variable takes precedence (matches getToken() behavior)
|
|
110
|
+
if (process.env.OPFLOW_SERVER_URL) {
|
|
111
|
+
return process.env.OPFLOW_SERVER_URL;
|
|
112
|
+
}
|
|
109
113
|
const creds = readCredentials();
|
|
110
114
|
return creds?.serverUrl ?? DEFAULT_SERVER_URL;
|
|
111
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-auth.js","sourceRoot":"","sources":["../../src/connections/cloud-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAChE,MAAM,kBAAkB,GACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,
|
|
1
|
+
{"version":3,"file":"cloud-auth.js","sourceRoot":"","sources":["../../src/connections/cloud-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-client.d.ts","sourceRoot":"","sources":["../../src/connections/cloud-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAKL,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,CAAC,EAAE,MAAM;CAO7B;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK5C;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"cloud-client.d.ts","sourceRoot":"","sources":["../../src/connections/cloud-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAKL,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,CAAC,EAAE,MAAM;CAO7B;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK5C;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAqClB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -47,12 +47,19 @@ export async function apiCall(method, path, body) {
|
|
|
47
47
|
headers,
|
|
48
48
|
body: body ? JSON.stringify(body) : undefined,
|
|
49
49
|
});
|
|
50
|
-
const responseData = (await response.json());
|
|
51
50
|
if (!response.ok) {
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
let errorMessage = `HTTP ${response.status}: ${response.statusText}`;
|
|
52
|
+
try {
|
|
53
|
+
const errorData = (await response.json());
|
|
54
|
+
if (errorData.error)
|
|
55
|
+
errorMessage = errorData.error;
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// Response wasn't JSON (e.g. HTML error page) — use the status line
|
|
59
|
+
}
|
|
54
60
|
throw new ApiError(response.status, errorMessage);
|
|
55
61
|
}
|
|
62
|
+
const responseData = (await response.json());
|
|
56
63
|
return responseData.data;
|
|
57
64
|
}
|
|
58
65
|
export { AuthRequiredError };
|