@workflow/cli 4.0.1-beta.9 → 4.1.0-beta.52
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/bin/run.js +25 -0
- package/dist/commands/cancel.d.ts +3 -0
- package/dist/commands/cancel.d.ts.map +1 -1
- package/dist/commands/cancel.js +3 -0
- package/dist/commands/cancel.js.map +1 -1
- package/dist/commands/health.d.ts +24 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +313 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/inspect.d.ts +3 -0
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +13 -5
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/start.d.ts +3 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +3 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/web.d.ts +3 -0
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +4 -2
- package/dist/commands/web.js.map +1 -1
- package/dist/lib/config/types.d.ts +1 -0
- package/dist/lib/config/types.d.ts.map +1 -1
- package/dist/lib/config/workflow-config.d.ts.map +1 -1
- package/dist/lib/config/workflow-config.js +11 -1
- package/dist/lib/config/workflow-config.js.map +1 -1
- package/dist/lib/inspect/env.d.ts +4 -2
- package/dist/lib/inspect/env.d.ts.map +1 -1
- package/dist/lib/inspect/env.js +75 -32
- package/dist/lib/inspect/env.js.map +1 -1
- package/dist/lib/inspect/flags.d.ts +3 -0
- package/dist/lib/inspect/flags.d.ts.map +1 -1
- package/dist/lib/inspect/flags.js +29 -4
- package/dist/lib/inspect/flags.js.map +1 -1
- package/dist/lib/inspect/output.d.ts +4 -18
- package/dist/lib/inspect/output.d.ts.map +1 -1
- package/dist/lib/inspect/output.js +55 -141
- package/dist/lib/inspect/output.js.map +1 -1
- package/dist/lib/inspect/pagination.d.ts +4 -0
- package/dist/lib/inspect/pagination.d.ts.map +1 -1
- package/dist/lib/inspect/pagination.js +11 -5
- package/dist/lib/inspect/pagination.js.map +1 -1
- package/dist/lib/inspect/run.d.ts +1 -1
- package/dist/lib/inspect/run.d.ts.map +1 -1
- package/dist/lib/inspect/run.js +5 -3
- package/dist/lib/inspect/run.js.map +1 -1
- package/dist/lib/inspect/setup.d.ts +7 -1
- package/dist/lib/inspect/setup.d.ts.map +1 -1
- package/dist/lib/inspect/setup.js +41 -7
- package/dist/lib/inspect/setup.js.map +1 -1
- package/dist/lib/inspect/stream.d.ts +2 -2
- package/dist/lib/inspect/stream.d.ts.map +1 -1
- package/dist/lib/inspect/stream.js +8 -5
- package/dist/lib/inspect/stream.js.map +1 -1
- package/dist/lib/inspect/terminal-utils.d.ts.map +1 -1
- package/dist/lib/inspect/terminal-utils.js +0 -1
- package/dist/lib/inspect/terminal-utils.js.map +1 -1
- package/dist/lib/inspect/web.d.ts +6 -4
- package/dist/lib/inspect/web.d.ts.map +1 -1
- package/dist/lib/inspect/web.js +50 -70
- package/dist/lib/inspect/web.js.map +1 -1
- package/dist/lib/update-check.d.ts +21 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +229 -0
- package/dist/lib/update-check.js.map +1 -0
- package/package.json +26 -25
|
@@ -2,15 +2,37 @@ import { createWorld } from '@workflow/core/runtime';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import terminalLink from 'terminal-link';
|
|
4
4
|
import { logger, setJsonMode, setVerboseMode } from '../config/log.js';
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import { checkForUpdateCached } from '../update-check.js';
|
|
6
|
+
import { inferLocalWorldEnvVars, inferVercelEnvVars, writeEnvVars, } from './env.js';
|
|
7
|
+
/**
|
|
8
|
+
* Setup CLI world configuration.
|
|
9
|
+
* If throwOnConfigError is false, will return null world with the error message
|
|
10
|
+
* instead of throwing, allowing the web UI to open for configuration.
|
|
11
|
+
*/
|
|
12
|
+
export const setupCliWorld = async (flags, version, ignoreLocalWorldConfigError = false) => {
|
|
7
13
|
setJsonMode(Boolean(flags.json));
|
|
8
14
|
setVerboseMode(Boolean(flags.verbose));
|
|
15
|
+
// Check for updates
|
|
16
|
+
const updateCheck = await checkForUpdateCached(version);
|
|
9
17
|
const withAnsiLinks = flags.json ? false : true;
|
|
10
18
|
const docsUrl = withAnsiLinks
|
|
11
19
|
? terminalLink('https://useworkflow.dev/', 'https://useworkflow.dev/')
|
|
12
20
|
: 'https://useworkflow.dev/';
|
|
13
|
-
|
|
21
|
+
// Prepare showBox lines
|
|
22
|
+
const boxLines = [
|
|
23
|
+
`Workflow CLI v${version}`,
|
|
24
|
+
`Docs at ${docsUrl}`,
|
|
25
|
+
chalk.yellow('This is a beta release'),
|
|
26
|
+
];
|
|
27
|
+
// Add update message if available
|
|
28
|
+
if (updateCheck.needsUpdate && updateCheck.latestVersion) {
|
|
29
|
+
boxLines.push('', chalk.cyan(`Update available: ${updateCheck.currentVersion} → ${updateCheck.latestVersion}`),
|
|
30
|
+
// Note that we're suggesting install "latest" instead of the release tag that the user is
|
|
31
|
+
// on, because we currently tag beta releases as "latest". After GA, we need to adjust
|
|
32
|
+
// this to install the release tag that the user is on.
|
|
33
|
+
chalk.gray(`Run: \`[npm|bun|pnpm] i workflow@${updateCheck.latestVersion}\``), chalk.gray(terminalLink('View changelog', 'https://github.com/vercel/workflow/releases')));
|
|
34
|
+
}
|
|
35
|
+
logger.showBox('green', ...boxLines);
|
|
14
36
|
logger.debug('Inferring env vars, backend:', flags.backend);
|
|
15
37
|
writeEnvVars({
|
|
16
38
|
DEBUG: flags.verbose ? '1' : '',
|
|
@@ -19,17 +41,29 @@ export const setupCliWorld = async (flags, version) => {
|
|
|
19
41
|
WORKFLOW_VERCEL_AUTH_TOKEN: flags.authToken,
|
|
20
42
|
WORKFLOW_VERCEL_PROJECT: flags.project,
|
|
21
43
|
WORKFLOW_VERCEL_TEAM: flags.team,
|
|
22
|
-
WORKFLOW_VERCEL_PROXY_URL: 'https://api.vercel.com/v1/workflow',
|
|
23
44
|
});
|
|
24
45
|
if (flags.backend === 'vercel' ||
|
|
25
46
|
flags.backend === '@workflow/world-vercel') {
|
|
26
47
|
await inferVercelEnvVars();
|
|
27
48
|
}
|
|
28
|
-
else if (flags.backend === '
|
|
49
|
+
else if (flags.backend === 'local' ||
|
|
29
50
|
flags.backend === '@workflow/world-local') {
|
|
30
|
-
|
|
51
|
+
try {
|
|
52
|
+
await inferLocalWorldEnvVars();
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
if (ignoreLocalWorldConfigError) {
|
|
56
|
+
const configError = error instanceof Error
|
|
57
|
+
? error.message
|
|
58
|
+
: 'Unknown configuration error';
|
|
59
|
+
logger.warn('Failed to find valid local world configuration:', configError);
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
31
64
|
}
|
|
32
65
|
logger.debug('Initializing world');
|
|
33
|
-
|
|
66
|
+
const world = await createWorld();
|
|
67
|
+
return world;
|
|
34
68
|
};
|
|
35
69
|
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/lib/inspect/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/lib/inspect/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { InspectCLIOptions } from '../config/types.js';
|
|
2
2
|
/**
|
|
3
|
-
* This function will read from
|
|
3
|
+
* This function will read from a deserialized stream and write the output to the console.
|
|
4
4
|
* If the stream is not closed, this function will block until the stream is closed.
|
|
5
5
|
*/
|
|
6
|
-
export declare const streamToConsole: (stream: ReadableStream
|
|
6
|
+
export declare const streamToConsole: (stream: ReadableStream<unknown>, id: string, opts: InspectCLIOptions) => Promise<void>;
|
|
7
7
|
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,cAAc,
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,cAAc,CAAC,OAAO,CAAC,EAC/B,IAAI,MAAM,EACV,MAAM,iBAAiB,kBA8CxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { logger } from '../config/log.js';
|
|
2
2
|
/**
|
|
3
|
-
* This function will read from
|
|
3
|
+
* This function will read from a deserialized stream and write the output to the console.
|
|
4
4
|
* If the stream is not closed, this function will block until the stream is closed.
|
|
5
5
|
*/
|
|
6
6
|
export const streamToConsole = async (stream, id, opts) => {
|
|
@@ -8,22 +8,25 @@ export const streamToConsole = async (stream, id, opts) => {
|
|
|
8
8
|
// Keep the Node.js event loop alive while we await stream closure.
|
|
9
9
|
// Pending Promises alone do not keep the process alive when using oclif.
|
|
10
10
|
const keepAlive = setInterval(() => { }, 60_000);
|
|
11
|
+
let chunkIndex = 0;
|
|
11
12
|
try {
|
|
12
13
|
for (;;) {
|
|
13
14
|
const { value, done } = await reader.read();
|
|
14
15
|
if (done) {
|
|
15
16
|
break;
|
|
16
17
|
}
|
|
17
|
-
// Skip empty chunks
|
|
18
|
-
|
|
19
|
-
if (!value || value.byteLength === 0) {
|
|
18
|
+
// Skip empty chunks
|
|
19
|
+
if (value === undefined || value === null) {
|
|
20
20
|
continue;
|
|
21
21
|
}
|
|
22
22
|
if (opts.json) {
|
|
23
23
|
process.stdout.write(`${JSON.stringify(value)}\n`);
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
|
-
|
|
26
|
+
// Format the value for display
|
|
27
|
+
const text = typeof value === 'string' ? value : JSON.stringify(value, null, 2);
|
|
28
|
+
logger.log(`[${chunkIndex}] ${text}`);
|
|
29
|
+
chunkIndex++;
|
|
27
30
|
}
|
|
28
31
|
}
|
|
29
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/lib/inspect/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/lib/inspect/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,MAA+B,EAC/B,EAAU,EACV,IAAuB,EACvB,EAAE;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,mEAAmE;IACnE,yEAAyE;IACzE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YAED,oBAAoB;YACpB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,+BAA+B;gBAC/B,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACrE,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC,CAAC;gBACtC,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,KAAK,EAAE,iCAAiC,EAAE,EAAE;gBAC5C,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;aACrB,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/terminal-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,IAAI,QAAO,OAavB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,QAAO,OAEhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,MAEnC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,GAC7B,eAAe,MAAM,EACrB,UAAU,OAAO,EACjB,aAAY,OAAc,KACzB,eA+DF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,aAAa,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"terminal-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/terminal-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,IAAI,QAAO,OAavB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,QAAO,OAEhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,MAEnC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,GAC7B,eAAe,MAAM,EACrB,UAAU,OAAO,EACjB,aAAY,OAAc,KACzB,eA+DF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,aAAa,OAAO,KAAG,MAenE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,IAAI,KAAG,MAI1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-utils.js","sourceRoot":"","sources":["../../../src/lib/inspect/terminal-utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"terminal-utils.js","sourceRoot":"","sources":["../../../src/lib/inspect/terminal-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
export declare const WEB_PORT = 3456;
|
|
2
1
|
export declare const WEB_PACKAGE_NAME = "@workflow/web";
|
|
3
|
-
export declare const
|
|
2
|
+
export declare const getHostUrl: (webPort: number) => string;
|
|
4
3
|
/**
|
|
5
|
-
* Launch the web UI with the specified configuration
|
|
6
|
-
* This starts the server (if not running), opens the browser, then keeps the server running
|
|
4
|
+
* Launch the web UI with the specified configuration.
|
|
5
|
+
* This starts the server (if not running), opens the browser, then keeps the server running.
|
|
6
|
+
*
|
|
7
|
+
* World configuration is passed to the web server via environment variables.
|
|
8
|
+
* The web UI reads these from process.env on the server side, not from query params.
|
|
7
9
|
*/
|
|
8
10
|
export declare function launchWebUI(resource: string, id: string | undefined, flags: Record<string, any>, _cliVersion: string): Promise<void>;
|
|
9
11
|
//# sourceMappingURL=web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/web.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/web.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,WAAkC,CAAC;AAiP7E;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAuGf"}
|
package/dist/lib/inspect/web.js
CHANGED
|
@@ -7,9 +7,8 @@ import open from 'open';
|
|
|
7
7
|
import { logger } from '../config/log.js';
|
|
8
8
|
import { getEnvVars } from './env.js';
|
|
9
9
|
import { getVercelDashboardUrl } from './vercel-api.js';
|
|
10
|
-
export const WEB_PORT = 3456;
|
|
11
10
|
export const WEB_PACKAGE_NAME = '@workflow/web';
|
|
12
|
-
export const
|
|
11
|
+
export const getHostUrl = (webPort) => `http://localhost:${webPort}`;
|
|
13
12
|
let serverProcess = null;
|
|
14
13
|
let isServerStarting = false;
|
|
15
14
|
let cleanupHandlersRegistered = false;
|
|
@@ -106,12 +105,12 @@ function registerCleanupHandlers() {
|
|
|
106
105
|
* Start the web server without detaching
|
|
107
106
|
* The server will stay attached to the CLI process and be cleaned up on exit
|
|
108
107
|
*/
|
|
109
|
-
async function startWebServer() {
|
|
108
|
+
async function startWebServer(webPort) {
|
|
110
109
|
if (isServerStarting) {
|
|
111
110
|
logger.debug('Server is already starting...');
|
|
112
111
|
return false;
|
|
113
112
|
}
|
|
114
|
-
if (await isServerRunning(
|
|
113
|
+
if (await isServerRunning(getHostUrl(webPort))) {
|
|
115
114
|
logger.debug('Server is already running');
|
|
116
115
|
return true;
|
|
117
116
|
}
|
|
@@ -121,14 +120,19 @@ async function startWebServer() {
|
|
|
121
120
|
try {
|
|
122
121
|
logger.info('Starting web UI server...');
|
|
123
122
|
const command = 'npx';
|
|
124
|
-
const args = ['next', 'start', '-p', String(
|
|
123
|
+
const args = ['next', 'start', '-p', String(webPort)];
|
|
125
124
|
logger.debug(`Running ${command} ${args.join(' ')} in ${packagePath}`);
|
|
126
125
|
// Start the Next.js server WITHOUT detaching
|
|
127
126
|
// This keeps it attached to the CLI process
|
|
127
|
+
//
|
|
128
|
+
// The web UI reads world configuration from server-side environment variables.
|
|
129
|
+
// We pass through all WORKFLOW_* env vars to the spawned server process.
|
|
128
130
|
serverProcess = spawn(command, args, {
|
|
131
|
+
shell: true,
|
|
129
132
|
cwd: packagePath,
|
|
130
133
|
detached: false, // Keep attached so Ctrl+C works
|
|
131
134
|
stdio: ['ignore', 'pipe', 'pipe'], // Pipe output so we can log it if needed
|
|
135
|
+
env: process.env, // Pass through all env vars including WORKFLOW_* config
|
|
132
136
|
});
|
|
133
137
|
// Register cleanup handlers to ensure server is killed on exit
|
|
134
138
|
registerCleanupHandlers();
|
|
@@ -163,8 +167,8 @@ async function startWebServer() {
|
|
|
163
167
|
const retryIntervalMs = 1000;
|
|
164
168
|
for (let i = 0; i < maxRetries; i++) {
|
|
165
169
|
await new Promise((resolve) => setTimeout(resolve, retryIntervalMs));
|
|
166
|
-
if (await isServerRunning(
|
|
167
|
-
logger.success(chalk.green(`Web UI server started on port ${
|
|
170
|
+
if (await isServerRunning(getHostUrl(webPort))) {
|
|
171
|
+
logger.success(chalk.green(`Web UI server started on port ${webPort}`));
|
|
168
172
|
isServerStarting = false;
|
|
169
173
|
return true;
|
|
170
174
|
}
|
|
@@ -182,8 +186,34 @@ async function startWebServer() {
|
|
|
182
186
|
}
|
|
183
187
|
}
|
|
184
188
|
/**
|
|
185
|
-
*
|
|
186
|
-
*
|
|
189
|
+
* Build a URL for opening the local web UI.
|
|
190
|
+
*
|
|
191
|
+
* The web UI reads world configuration from server-side environment variables.
|
|
192
|
+
* Query params are only used for deep-linking to specific resources (resource/id, runId, etc.)
|
|
193
|
+
*/
|
|
194
|
+
function buildWebUIUrl(hostUrl, resource, id, flags) {
|
|
195
|
+
const params = new URLSearchParams();
|
|
196
|
+
// Deep-linking params
|
|
197
|
+
params.set('resource', resource);
|
|
198
|
+
if (id) {
|
|
199
|
+
params.set('id', id);
|
|
200
|
+
}
|
|
201
|
+
// Optional deep-linking to specific run/step/hook
|
|
202
|
+
for (const flagName of ['runId', 'stepId', 'hookId']) {
|
|
203
|
+
const value = flags[flagName];
|
|
204
|
+
if (value !== undefined && value !== '' && value !== false) {
|
|
205
|
+
params.set(flagName, String(value));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
const queryString = params.toString();
|
|
209
|
+
return queryString ? `${hostUrl}?${queryString}` : hostUrl;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Launch the web UI with the specified configuration.
|
|
213
|
+
* This starts the server (if not running), opens the browser, then keeps the server running.
|
|
214
|
+
*
|
|
215
|
+
* World configuration is passed to the web server via environment variables.
|
|
216
|
+
* The web UI reads these from process.env on the server side, not from query params.
|
|
187
217
|
*/
|
|
188
218
|
export async function launchWebUI(resource, id, flags, _cliVersion) {
|
|
189
219
|
const envVars = getEnvVars();
|
|
@@ -194,20 +224,13 @@ export async function launchWebUI(resource, id, flags, _cliVersion) {
|
|
|
194
224
|
const isVercelBackend = vercelBackendNames.includes(envVars.WORKFLOW_TARGET_WORLD);
|
|
195
225
|
const teamSlug = envVars.WORKFLOW_VERCEL_TEAM;
|
|
196
226
|
const projectName = envVars.WORKFLOW_VERCEL_PROJECT;
|
|
197
|
-
if
|
|
198
|
-
|
|
227
|
+
// Check if user wants local UI via flag or environment variable
|
|
228
|
+
const useLocalUi = flags.localUi;
|
|
229
|
+
if (!useLocalUi && isVercelBackend) {
|
|
230
|
+
logger.info('If you do not want to use the Vercel dashboard, use the --localUi flag or set WORKFLOW_LOCAL_UI=1 in your environment variables.');
|
|
199
231
|
}
|
|
200
|
-
if (isVercelBackend &&
|
|
201
|
-
teamSlug &&
|
|
202
|
-
projectName &&
|
|
203
|
-
!envVars.WORKFLOW_LOCAL_UI) {
|
|
232
|
+
if (isVercelBackend && teamSlug && projectName && !useLocalUi) {
|
|
204
233
|
logger.debug(`Checking Vercel dashboard availability for team: ${teamSlug}, project: ${projectName}`);
|
|
205
|
-
// const dashboardAvailable = await checkVercelDashboardAvailable(
|
|
206
|
-
// teamSlug,
|
|
207
|
-
// projectName,
|
|
208
|
-
// envVars.WORKFLOW_VERCEL_AUTH_TOKEN
|
|
209
|
-
// );
|
|
210
|
-
// if (dashboardAvailable) {
|
|
211
234
|
const dashboardUrl = getVercelDashboardUrl(teamSlug, projectName, resource, id);
|
|
212
235
|
if (disableBrowserOpen) {
|
|
213
236
|
logger.info(chalk.cyan(`Vercel dashboard URL: ${dashboardUrl}`));
|
|
@@ -224,27 +247,19 @@ export async function launchWebUI(resource, id, flags, _cliVersion) {
|
|
|
224
247
|
logger.info(`Please open the link manually.`);
|
|
225
248
|
return;
|
|
226
249
|
}
|
|
227
|
-
// } else {
|
|
228
|
-
// logger.warn(
|
|
229
|
-
// chalk.yellow(
|
|
230
|
-
// 'Vercel dashboard is not available for this project. Falling back to local web UI.'
|
|
231
|
-
// )
|
|
232
|
-
// );
|
|
233
|
-
// }
|
|
234
250
|
}
|
|
235
251
|
// Fall back to local web UI
|
|
236
|
-
|
|
237
|
-
const
|
|
238
|
-
const url =
|
|
252
|
+
const webPort = flags.webPort ?? 3456;
|
|
253
|
+
const hostUrl = getHostUrl(webPort);
|
|
254
|
+
const url = buildWebUIUrl(hostUrl, resource, id, flags);
|
|
239
255
|
// Check if server is already running
|
|
240
|
-
const alreadyRunning = await isServerRunning(
|
|
256
|
+
const alreadyRunning = await isServerRunning(hostUrl);
|
|
241
257
|
if (alreadyRunning) {
|
|
242
|
-
logger.info(chalk.cyan(
|
|
243
|
-
logger.info(chalk.cyan(`Access at: ${HOST_URL}`));
|
|
258
|
+
logger.info(chalk.cyan(`Web UI server is already running on port ${webPort}.`));
|
|
244
259
|
}
|
|
245
260
|
else {
|
|
246
261
|
// Start the server
|
|
247
|
-
const started = await startWebServer();
|
|
262
|
+
const started = await startWebServer(webPort);
|
|
248
263
|
if (!started) {
|
|
249
264
|
logger.error('Failed to start web UI server');
|
|
250
265
|
return;
|
|
@@ -281,39 +296,4 @@ export async function launchWebUI(resource, id, flags, _cliVersion) {
|
|
|
281
296
|
});
|
|
282
297
|
}
|
|
283
298
|
}
|
|
284
|
-
/**
|
|
285
|
-
* Convert CLI flags to query parameters
|
|
286
|
-
*/
|
|
287
|
-
function envToQueryParams(resource, id, flags, envVars) {
|
|
288
|
-
const params = new URLSearchParams();
|
|
289
|
-
params.set('resource', resource);
|
|
290
|
-
if (id) {
|
|
291
|
-
params.set('id', id);
|
|
292
|
-
}
|
|
293
|
-
// Map relevant flags to query params
|
|
294
|
-
const envToQueryParamMappings = {
|
|
295
|
-
WORKFLOW_TARGET_WORLD: 'backend',
|
|
296
|
-
WORKFLOW_VERCEL_ENV: 'env',
|
|
297
|
-
WORKFLOW_VERCEL_AUTH_TOKEN: 'authToken',
|
|
298
|
-
WORKFLOW_VERCEL_PROJECT: 'project',
|
|
299
|
-
WORKFLOW_VERCEL_TEAM: 'team',
|
|
300
|
-
PORT: 'port',
|
|
301
|
-
WORKFLOW_EMBEDDED_DATA_DIR: 'dataDir',
|
|
302
|
-
};
|
|
303
|
-
for (const [envName, paramName] of Object.entries(envToQueryParamMappings)) {
|
|
304
|
-
const value = envVars[envName];
|
|
305
|
-
if (value !== undefined && value !== '' && value !== '0') {
|
|
306
|
-
params.set(paramName, String(value));
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
// We only take the runId/stepId/hookId flags directly, the rest are set via env vars,
|
|
310
|
-
// which are internally already influenced by the CLI flags
|
|
311
|
-
for (const flagName of ['runId', 'stepId', 'hookId']) {
|
|
312
|
-
const value = flags[flagName];
|
|
313
|
-
if (value !== undefined && value !== '' && value !== false) {
|
|
314
|
-
params.set(flagName, String(value));
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
return params;
|
|
318
|
-
}
|
|
319
299
|
//# sourceMappingURL=web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/lib/inspect/web.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/lib/inspect/web.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the cache file path for version checks.
|
|
3
|
+
*/
|
|
4
|
+
export declare function getVersionCheckCacheFile(): string;
|
|
5
|
+
interface VersionCheckResult {
|
|
6
|
+
currentVersion: string;
|
|
7
|
+
latestVersion?: string;
|
|
8
|
+
needsUpdate: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Check if there's a new version available
|
|
12
|
+
* Returns the current and latest version if an update is available
|
|
13
|
+
*/
|
|
14
|
+
export declare function checkForUpdate(currentVersion: string): Promise<VersionCheckResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Check for updates with filesystem caching
|
|
17
|
+
* Cache is valid unless the local version changes
|
|
18
|
+
*/
|
|
19
|
+
export declare function checkForUpdateCached(currentVersion: string): Promise<VersionCheckResult>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=update-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/lib/update-check.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAGjD;AAED,UAAU,kBAAkB;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB;AA+HD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAiB7B;AAgED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAiC7B"}
|