@runflow-ai/cli 0.2.25 → 0.2.27
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/commands/agents/agents.command.js +5 -1
- package/dist/commands/agents/agents.command.js.map +1 -1
- package/dist/commands/agents/agents.service.js +18 -1
- package/dist/commands/agents/agents.service.js.map +1 -1
- package/dist/commands/create/code-generator.js +0 -3
- package/dist/commands/create/code-generator.js.map +1 -1
- package/dist/commands/doctor/doctor.command.d.ts +13 -0
- package/dist/commands/doctor/doctor.command.js +288 -0
- package/dist/commands/doctor/doctor.command.js.map +1 -0
- package/dist/commands/login/login.command.js +8 -12
- package/dist/commands/login/login.command.js.map +1 -1
- package/dist/commands/profiles/profiles.command.js +3 -3
- package/dist/commands/profiles/profiles.command.js.map +1 -1
- package/dist/commands/switch/switch.command.js +20 -30
- package/dist/commands/switch/switch.command.js.map +1 -1
- package/dist/commands/test/test.command.d.ts +6 -1
- package/dist/commands/test/test.command.js +137 -74
- package/dist/commands/test/test.command.js.map +1 -1
- package/dist/common/auth0-login.js +8 -2
- package/dist/common/auth0-login.js.map +1 -1
- package/dist/common/config.d.ts +2 -2
- package/dist/common/config.js +8 -11
- package/dist/common/config.js.map +1 -1
- package/dist/common/help.d.ts +1 -1
- package/dist/common/help.js +3 -3
- package/dist/common/ui.d.ts +6 -0
- package/dist/common/ui.js +27 -0
- package/dist/common/ui.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +14 -13
- package/scripts/postinstall.js +178 -0
|
@@ -41,10 +41,16 @@ exports.decodeJwtPayload = decodeJwtPayload;
|
|
|
41
41
|
const crypto = __importStar(require("crypto"));
|
|
42
42
|
const http = __importStar(require("http"));
|
|
43
43
|
const url = __importStar(require("url"));
|
|
44
|
+
const child_process_1 = require("child_process");
|
|
44
45
|
const axios_1 = __importDefault(require("axios"));
|
|
45
|
-
const open_1 = __importDefault(require("open"));
|
|
46
46
|
const config_1 = require("./config");
|
|
47
47
|
const logger_1 = require("./logger");
|
|
48
|
+
function openBrowser(targetUrl) {
|
|
49
|
+
const cmd = process.platform === 'darwin' ? 'open' : process.platform === 'win32' ? 'start' : 'xdg-open';
|
|
50
|
+
const args = process.platform === 'win32' ? ['/c', 'start', '', targetUrl] : [targetUrl];
|
|
51
|
+
const bin = process.platform === 'win32' ? 'cmd' : cmd;
|
|
52
|
+
(0, child_process_1.spawn)(bin, args, { detached: true, stdio: 'ignore' }).unref();
|
|
53
|
+
}
|
|
48
54
|
function generateCodeVerifier() {
|
|
49
55
|
return crypto.randomBytes(32).toString('base64url');
|
|
50
56
|
}
|
|
@@ -164,7 +170,7 @@ async function auth0Login() {
|
|
|
164
170
|
authUrl.searchParams.set('state', state);
|
|
165
171
|
const codePromise = startCallbackServer(port, state);
|
|
166
172
|
try {
|
|
167
|
-
|
|
173
|
+
openBrowser(authUrl.toString());
|
|
168
174
|
}
|
|
169
175
|
catch (err) {
|
|
170
176
|
(0, logger_1.logError)(`Could not open browser. Please visit this URL manually:\n${authUrl.toString()}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth0-login.js","sourceRoot":"","sources":["../../src/common/auth0-login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"auth0-login.js","sourceRoot":"","sources":["../../src/common/auth0-login.ts"],"names":[],"mappings":"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"}
|
package/dist/common/config.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export declare function isJwtAuth(profile: ProfileConfig): boolean;
|
|
|
36
36
|
export declare function updateCurrentProfileToken(token: string, expiresAt: string): void;
|
|
37
37
|
export declare const ERROR_MESSAGES: {
|
|
38
38
|
readonly AUTH_REQUIRED: "Authentication required. Please login with: rf login";
|
|
39
|
-
readonly API_KEY_REQUIRED: "API key is required. Please login first with: rf login
|
|
39
|
+
readonly API_KEY_REQUIRED: "API key is required. Please login first with: rf login";
|
|
40
40
|
readonly TENANT_NOT_SELECTED: "No tenant configured. Please login again with: rf login";
|
|
41
41
|
readonly AGENT_NOT_SELECTED: "No agent selected. Please run: rf agents list";
|
|
42
42
|
readonly AGENT_NOT_DETECTED: string;
|
|
@@ -47,7 +47,7 @@ export declare const ERROR_MESSAGES: {
|
|
|
47
47
|
readonly REQUEST_FAILED: (error: string) => string;
|
|
48
48
|
readonly CONFIG_LOAD_FAILED: "Failed to load configuration";
|
|
49
49
|
readonly PROFILE_NOT_FOUND: (profile: string) => string;
|
|
50
|
-
readonly NO_PROFILES: "No profiles configured. Please login first: rf login
|
|
50
|
+
readonly NO_PROFILES: "No profiles configured. Please login first: rf login";
|
|
51
51
|
};
|
|
52
52
|
export declare function loadFullConfig(): MultiTenantConfig;
|
|
53
53
|
export declare function saveProfile(profileName: string, profileConfig: ProfileConfig): void;
|
package/dist/common/config.js
CHANGED
|
@@ -78,7 +78,7 @@ function updateCurrentProfileToken(token, expiresAt) {
|
|
|
78
78
|
}
|
|
79
79
|
exports.ERROR_MESSAGES = {
|
|
80
80
|
AUTH_REQUIRED: 'Authentication required. Please login with: rf login',
|
|
81
|
-
API_KEY_REQUIRED: 'API key is required. Please login first with: rf login
|
|
81
|
+
API_KEY_REQUIRED: 'API key is required. Please login first with: rf login',
|
|
82
82
|
TENANT_NOT_SELECTED: 'No tenant configured. Please login again with: rf login',
|
|
83
83
|
AGENT_NOT_SELECTED: 'No agent selected. Please run: rf agents list',
|
|
84
84
|
AGENT_NOT_DETECTED: 'No agent detected in current directory. Either:\n' +
|
|
@@ -91,7 +91,7 @@ exports.ERROR_MESSAGES = {
|
|
|
91
91
|
REQUEST_FAILED: (error) => `Request failed: ${error}`,
|
|
92
92
|
CONFIG_LOAD_FAILED: 'Failed to load configuration',
|
|
93
93
|
PROFILE_NOT_FOUND: (profile) => `Profile "${profile}" not found`,
|
|
94
|
-
NO_PROFILES: 'No profiles configured. Please login first: rf login
|
|
94
|
+
NO_PROFILES: 'No profiles configured. Please login first: rf login',
|
|
95
95
|
};
|
|
96
96
|
function configFile() {
|
|
97
97
|
return path.join(os.homedir(), '.runflowrc');
|
|
@@ -110,8 +110,8 @@ function loadFullConfig() {
|
|
|
110
110
|
api: parsed.api,
|
|
111
111
|
tenantId: parsed.tenantId,
|
|
112
112
|
agentId: parsed.agentId,
|
|
113
|
-
}
|
|
114
|
-
}
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
return parsed;
|
|
@@ -119,7 +119,7 @@ function loadFullConfig() {
|
|
|
119
119
|
catch {
|
|
120
120
|
return {
|
|
121
121
|
currentProfile: 'default',
|
|
122
|
-
profiles: {}
|
|
122
|
+
profiles: {},
|
|
123
123
|
};
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -162,7 +162,7 @@ function deleteProfile(profileName) {
|
|
|
162
162
|
}
|
|
163
163
|
const profileCount = Object.keys(fullConfig.profiles).length;
|
|
164
164
|
if (profileName === fullConfig.currentProfile && profileCount > 1) {
|
|
165
|
-
const otherProfile = Object.keys(fullConfig.profiles).find(p => p !== profileName);
|
|
165
|
+
const otherProfile = Object.keys(fullConfig.profiles).find((p) => p !== profileName);
|
|
166
166
|
if (otherProfile) {
|
|
167
167
|
fullConfig.currentProfile = otherProfile;
|
|
168
168
|
}
|
|
@@ -184,10 +184,7 @@ function loadConfig() {
|
|
|
184
184
|
return getCurrentProfile();
|
|
185
185
|
}
|
|
186
186
|
function getApiUrl(config, override) {
|
|
187
|
-
return override ||
|
|
188
|
-
process.env.RUNFLOW_API_URL ||
|
|
189
|
-
config?.api ||
|
|
190
|
-
exports.DEFAULT_API_URL;
|
|
187
|
+
return override || process.env.RUNFLOW_API_URL || config?.api || exports.DEFAULT_API_URL;
|
|
191
188
|
}
|
|
192
189
|
function getValidatedConfig() {
|
|
193
190
|
const config = loadConfig();
|
|
@@ -199,7 +196,7 @@ function getValidatedConfig() {
|
|
|
199
196
|
return {
|
|
200
197
|
config: config,
|
|
201
198
|
apiUrl,
|
|
202
|
-
apiKey:
|
|
199
|
+
apiKey: config.token,
|
|
203
200
|
authMode: 'jwt',
|
|
204
201
|
};
|
|
205
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/common/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,wCAIC;AAKD,8BAEC;AAKD,8DAQC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/common/config.ts"],"names":[],"mappings":"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"}
|
package/dist/common/help.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const COMMAND_TREE = "\nUsage: rf [options] [command]\n\n\uD83D\uDE80 Main Workflow:\n login Authenticate (opens browser
|
|
1
|
+
export declare const COMMAND_TREE = "\nUsage: rf [options] [command]\n\n\uD83D\uDE80 Main Workflow:\n login Authenticate (opens browser)\n switch [tenant] Switch between tenants\n whoami Show current user and tenant info\n create Create a new agent project\n agents <action> Manage AI agents\n\n\uD83D\uDCCA Management:\n users <action> Manage team users\n profiles List all profiles/tenants\n\n\uD83D\uDEE0\uFE0F Developer Tools:\n prompts <action> Manage prompts and templates\n credentials <action> Manage API credentials\n\nQuick Start:\n 1. rf login (opens browser for Auth0 login)\n or: rf login\n 2. rf agents list\n 3. Select agent \u2192 clone \u2192 make changes \u2192 deploy\n\nOptions:\n --verbose Show detailed output\n --quiet Suppress output\n --version, -v Show version number\n --help, -h Show this help\n\nUse \"rf <command> --help\" for detailed information about each command.\n";
|
|
2
2
|
export declare function showTree(): void;
|
package/dist/common/help.js
CHANGED
|
@@ -6,7 +6,7 @@ exports.COMMAND_TREE = `
|
|
|
6
6
|
Usage: rf [options] [command]
|
|
7
7
|
|
|
8
8
|
🚀 Main Workflow:
|
|
9
|
-
login Authenticate (opens browser
|
|
9
|
+
login Authenticate (opens browser)
|
|
10
10
|
switch [tenant] Switch between tenants
|
|
11
11
|
whoami Show current user and tenant info
|
|
12
12
|
create Create a new agent project
|
|
@@ -22,7 +22,7 @@ Usage: rf [options] [command]
|
|
|
22
22
|
|
|
23
23
|
Quick Start:
|
|
24
24
|
1. rf login (opens browser for Auth0 login)
|
|
25
|
-
or: rf login
|
|
25
|
+
or: rf login
|
|
26
26
|
2. rf agents list
|
|
27
27
|
3. Select agent → clone → make changes → deploy
|
|
28
28
|
|
|
@@ -31,7 +31,7 @@ Options:
|
|
|
31
31
|
--quiet Suppress output
|
|
32
32
|
--version, -v Show version number
|
|
33
33
|
--help, -h Show this help
|
|
34
|
-
|
|
34
|
+
|
|
35
35
|
Use "rf <command> --help" for detailed information about each command.
|
|
36
36
|
`;
|
|
37
37
|
function showTree() {
|
package/dist/common/ui.d.ts
CHANGED
|
@@ -3,5 +3,11 @@ interface ListItem {
|
|
|
3
3
|
name?: string;
|
|
4
4
|
isActive?: boolean;
|
|
5
5
|
}
|
|
6
|
+
interface SearchableOption {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
hint?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function searchableSelect<T extends SearchableOption>(items: T[], message: string): Promise<T | null>;
|
|
6
12
|
export declare function selectItem<T extends ListItem>(items: T[], message: string): Promise<T>;
|
|
7
13
|
export {};
|
package/dist/common/ui.js
CHANGED
|
@@ -1,8 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.searchableSelect = searchableSelect;
|
|
3
4
|
exports.selectItem = selectItem;
|
|
4
5
|
const inquirer = require("inquirer");
|
|
5
6
|
const chalk = require("chalk");
|
|
7
|
+
const AutocompletePrompt = require("inquirer-autocomplete-prompt");
|
|
8
|
+
inquirer.registerPrompt('autocomplete', AutocompletePrompt);
|
|
9
|
+
async function searchableSelect(items, message) {
|
|
10
|
+
if (items.length === 0)
|
|
11
|
+
return null;
|
|
12
|
+
const choices = items.map((item) => ({
|
|
13
|
+
name: item.hint ? `${item.name} ${chalk.gray(item.hint)}` : item.name,
|
|
14
|
+
value: item.id,
|
|
15
|
+
short: item.name,
|
|
16
|
+
}));
|
|
17
|
+
const { selected } = await inquirer.prompt([
|
|
18
|
+
{
|
|
19
|
+
type: 'autocomplete',
|
|
20
|
+
name: 'selected',
|
|
21
|
+
message,
|
|
22
|
+
source: (_answers, input) => {
|
|
23
|
+
if (!input)
|
|
24
|
+
return choices;
|
|
25
|
+
const term = input.toLowerCase();
|
|
26
|
+
return choices.filter((c) => c.short.toLowerCase().includes(term) || c.value.toLowerCase().includes(term));
|
|
27
|
+
},
|
|
28
|
+
pageSize: 15,
|
|
29
|
+
},
|
|
30
|
+
]);
|
|
31
|
+
return items.find((i) => i.id === selected) || null;
|
|
32
|
+
}
|
|
6
33
|
async function selectItem(items, message) {
|
|
7
34
|
if (items.length > 10) {
|
|
8
35
|
console.log(chalk.gray(`Found ${items.length} items (use ↑↓ arrows to navigate, Enter to select)`));
|
package/dist/common/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/common/ui.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/common/ui.ts"],"names":[],"mappings":";;AAkBA,4CA6BC;AAED,gCA+BC;AAhFD,qCAAsC;AACtC,+BAAgC;AAChC,mEAAoE;AAEpE,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAcrD,KAAK,UAAU,gBAAgB,CACpC,KAAU,EACV,OAAe;IAEf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;QACrE,KAAK,EAAE,IAAI,CAAC,EAAE;QACd,KAAK,EAAE,IAAI,CAAC,IAAI;KACjB,CAAC,CAAC,CAAC;IAEJ,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAuB;QAC/D;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,UAAU;YAChB,OAAO;YACP,MAAM,EAAE,CAAC,QAAa,EAAE,KAAa,EAAE,EAAE;gBACvC,IAAI,CAAC,KAAK;oBAAE,OAAO,OAAO,CAAC;gBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACpF,CAAC;YACJ,CAAC;YACD,QAAQ,EAAE,EAAE;SACN;KACT,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;AACtD,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAU,EACV,OAAe;IAGf,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,qDAAqD,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAC3B,IAAI,CAAC,QAAQ,KAAK,SAAS;YACzB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAC,QAAQ;gBACf,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;gBACzB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAC7B,EAAE;QACF,KAAK,EAAE,IAAI,CAAC,EAAE;KACf,CAAC,CAAC,CAAC;IAEJ,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAiB;QACnD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI;YACV,OAAO;YACP,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;SACrC;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC;AACzC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -54,6 +54,7 @@ const credentials_command_1 = require("./commands/credentials/credentials.comman
|
|
|
54
54
|
const prompts_command_1 = require("./commands/prompts/prompts.command");
|
|
55
55
|
const kb_command_1 = require("./commands/kb/kb.command");
|
|
56
56
|
const whoami_command_1 = require("./commands/whoami/whoami.command");
|
|
57
|
+
const doctor_command_1 = require("./commands/doctor/doctor.command");
|
|
57
58
|
const logger_1 = require("./common/logger");
|
|
58
59
|
const banner_1 = require("./common/banner");
|
|
59
60
|
const help_1 = require("./common/help");
|
|
@@ -77,6 +78,7 @@ AppModule = __decorate([
|
|
|
77
78
|
kb_command_1.KnowledgeBaseCommand,
|
|
78
79
|
secret_command_1.SecretCommand,
|
|
79
80
|
whoami_command_1.WhoamiCommand,
|
|
81
|
+
doctor_command_1.DoctorCommand,
|
|
80
82
|
],
|
|
81
83
|
})
|
|
82
84
|
], AppModule);
|
|
@@ -138,6 +140,7 @@ async function bootstrap() {
|
|
|
138
140
|
'use',
|
|
139
141
|
'profiles',
|
|
140
142
|
'whoami',
|
|
143
|
+
'doctor',
|
|
141
144
|
].includes(arg));
|
|
142
145
|
if (show) {
|
|
143
146
|
(0, banner_1.showBanner)();
|
|
@@ -188,6 +191,7 @@ function getSuggestions(unknownCommand) {
|
|
|
188
191
|
'credentials',
|
|
189
192
|
'credential',
|
|
190
193
|
'whoami',
|
|
194
|
+
'doctor',
|
|
191
195
|
];
|
|
192
196
|
const suggestions = [];
|
|
193
197
|
for (const cmd of availableCommands) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAAwC;AACxC,mDAAgD;AAChD,kEAA8D;AAC9D,+DAA2D;AAC3D,qEAAiE;AACjE,qEAAiE;AACjE,2EAAuE;AAEvE,qEAAiE;AACjE,kEAA8D;AAC9D,qEAAiE;AAEjE,oFAAgF;AAIhF,wEAAoE;AACpE,yDAAgE;AAIhE,qEAAiE;AACjE,4CAAkE;AAClE,4CAA6C;AAC7C,wCAAyC;AACzC,0DAAmE;AACnE,uCAAyB;AACzB,2CAA6B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runflow-ai/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.27",
|
|
4
4
|
"description": "Official CLI for RunFlow AI platform - manage agents, deploy code, and interact with AI workflows from your terminal",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"type": "commonjs",
|
|
8
8
|
"bin": {
|
|
9
|
-
"rf": "dist/index.js"
|
|
9
|
+
"rf": "dist/index.js",
|
|
10
|
+
"runflow": "dist/index.js"
|
|
10
11
|
},
|
|
11
12
|
"scripts": {
|
|
12
13
|
"build": "tsc -p tsconfig.json",
|
|
@@ -15,32 +16,31 @@
|
|
|
15
16
|
"dev:verbose": "ts-node src/index.ts --verbose",
|
|
16
17
|
"lint": "eslint . --ext .ts",
|
|
17
18
|
"test": "jest --coverage",
|
|
18
|
-
"prepublishOnly": "npm run build"
|
|
19
|
+
"prepublishOnly": "npm run build",
|
|
20
|
+
"postinstall": "node scripts/postinstall.js"
|
|
19
21
|
},
|
|
20
22
|
"dependencies": {
|
|
21
23
|
"@clack/prompts": "^0.7.0",
|
|
22
24
|
"@gati/space-invaders": "^1.0.2",
|
|
23
|
-
"@nestjs/common": "^
|
|
24
|
-
"@nestjs/core": "^
|
|
25
|
-
"
|
|
25
|
+
"@nestjs/common": "^11.1.14",
|
|
26
|
+
"@nestjs/core": "^11.1.14",
|
|
27
|
+
"@nestjs/platform-express": "^11.1.14",
|
|
28
|
+
"axios": "^1.13.5",
|
|
26
29
|
"chalk": "^4.1.2",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"figlet": "^1.9.4",
|
|
30
|
-
"form-data": "^4.0.1",
|
|
30
|
+
"figlet": "^1.10.0",
|
|
31
|
+
"form-data": "^4.0.5",
|
|
31
32
|
"inquirer": "^8.2.7",
|
|
33
|
+
"inquirer-autocomplete-prompt": "^2.0.1",
|
|
32
34
|
"nest-commander": "^3.20.1",
|
|
33
|
-
"open": "^9.1.0",
|
|
34
35
|
"ora": "^5.4.1",
|
|
35
36
|
"picocolors": "^1.0.0",
|
|
36
37
|
"tsx": "^4.21.0",
|
|
37
38
|
"yaml": "^2.8.2"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"@types/cors": "^2.8.19",
|
|
41
|
-
"@types/express": "^4.17.25",
|
|
42
41
|
"@types/figlet": "^1.7.0",
|
|
43
42
|
"@types/form-data": "^2.5.0",
|
|
43
|
+
"@types/inquirer-autocomplete-prompt": "^2.0.2",
|
|
44
44
|
"@types/jest": "^29.5.14",
|
|
45
45
|
"@types/node": "^20.19.26",
|
|
46
46
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"dist/**/*",
|
|
58
58
|
"static/**/*",
|
|
59
59
|
"scenarios/**/*",
|
|
60
|
+
"scripts/**/*",
|
|
60
61
|
"README.md",
|
|
61
62
|
"CLI-DOCS.md",
|
|
62
63
|
"QUICK-TEST-GUIDE.md"
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Postinstall script for @runflow-ai/cli
|
|
4
|
+
* Runs after npm install -g to check environment and give actionable guidance.
|
|
5
|
+
* Must be plain JS (no TypeScript, no dependencies).
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { execSync } = require('child_process');
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
const os = require('os');
|
|
12
|
+
|
|
13
|
+
const GREEN = '\x1b[32m';
|
|
14
|
+
const YELLOW = '\x1b[33m';
|
|
15
|
+
const RED = '\x1b[31m';
|
|
16
|
+
const GRAY = '\x1b[90m';
|
|
17
|
+
const CYAN = '\x1b[36m';
|
|
18
|
+
const BOLD = '\x1b[1m';
|
|
19
|
+
const RESET = '\x1b[0m';
|
|
20
|
+
|
|
21
|
+
function ok(msg) { console.log(` ${GREEN}✓${RESET} ${msg}`); }
|
|
22
|
+
function warn(msg) { console.log(` ${YELLOW}⚠${RESET} ${msg}`); }
|
|
23
|
+
function fail(msg) { console.log(` ${RED}✗${RESET} ${msg}`); }
|
|
24
|
+
function hint(msg) { console.log(` ${GRAY}${msg}${RESET}`); }
|
|
25
|
+
|
|
26
|
+
function run(cmd) {
|
|
27
|
+
try {
|
|
28
|
+
return execSync(cmd, { stdio: 'pipe', timeout: 5000 }).toString().trim();
|
|
29
|
+
} catch {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function checkPath() {
|
|
35
|
+
const prefix = run('npm config get prefix --no-workspaces') || run('npm config get prefix');
|
|
36
|
+
if (!prefix) return true; // can't determine, skip
|
|
37
|
+
const npmBin = process.platform === 'win32' ? prefix : path.join(prefix, 'bin');
|
|
38
|
+
|
|
39
|
+
const envPath = process.env.PATH || process.env.Path || '';
|
|
40
|
+
const paths = envPath.split(path.delimiter);
|
|
41
|
+
const inPath = paths.some(p => {
|
|
42
|
+
try { return path.resolve(p) === path.resolve(npmBin); } catch { return false; }
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
if (inPath) {
|
|
46
|
+
ok('rf command available in PATH');
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
warn('npm global bin is NOT in your PATH');
|
|
51
|
+
hint(`Directory: ${npmBin}`);
|
|
52
|
+
hint('');
|
|
53
|
+
|
|
54
|
+
if (process.platform === 'win32') {
|
|
55
|
+
hint('Fix for PowerShell (add to $PROFILE):');
|
|
56
|
+
hint(` $env:PATH += ";${npmBin}"`);
|
|
57
|
+
hint('');
|
|
58
|
+
hint('Fix for CMD (run as Administrator):');
|
|
59
|
+
hint(` setx PATH "%PATH%;${npmBin}"`);
|
|
60
|
+
} else {
|
|
61
|
+
const shell = process.env.SHELL || '/bin/bash';
|
|
62
|
+
const rcFile = shell.includes('zsh') ? '~/.zshrc' : '~/.bashrc';
|
|
63
|
+
hint(`Add to ${rcFile}:`);
|
|
64
|
+
hint(` export PATH="$PATH:${npmBin}"`);
|
|
65
|
+
hint('');
|
|
66
|
+
hint('Then reload:');
|
|
67
|
+
hint(` source ${rcFile}`);
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function checkNode() {
|
|
73
|
+
const version = process.version;
|
|
74
|
+
const major = parseInt(version.slice(1).split('.')[0], 10);
|
|
75
|
+
if (major >= 20) {
|
|
76
|
+
ok(`Node.js ${version}`);
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
fail(`Node.js ${version} (required: >= 20)`);
|
|
80
|
+
hint('Update: https://nodejs.org');
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function checkGit() {
|
|
85
|
+
const version = run('git --version');
|
|
86
|
+
if (version) {
|
|
87
|
+
ok(version);
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
fail('Git not found');
|
|
92
|
+
if (process.platform === 'win32') {
|
|
93
|
+
hint('Install: winget install Git.Git');
|
|
94
|
+
hint('Or download: https://git-scm.com/download/win');
|
|
95
|
+
} else if (process.platform === 'darwin') {
|
|
96
|
+
hint('Install: xcode-select --install');
|
|
97
|
+
hint('Or: brew install git');
|
|
98
|
+
} else {
|
|
99
|
+
hint('Install: sudo apt-get install git');
|
|
100
|
+
hint('Or download: https://git-scm.com');
|
|
101
|
+
}
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function checkPowerShellPolicy() {
|
|
106
|
+
if (process.platform !== 'win32') return true;
|
|
107
|
+
|
|
108
|
+
const policy = run('powershell -Command "Get-ExecutionPolicy -Scope CurrentUser"');
|
|
109
|
+
if (!policy) return true; // can't check, skip
|
|
110
|
+
|
|
111
|
+
if (policy === 'Restricted' || policy === 'Undefined') {
|
|
112
|
+
warn(`PowerShell ExecutionPolicy: ${policy}`);
|
|
113
|
+
hint('Fix: Set-ExecutionPolicy -Scope CurrentUser RemoteSigned');
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
ok(`PowerShell ExecutionPolicy: ${policy}`);
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// --- Guards: only run for global installs, not in CI, npx, or monorepo ---
|
|
121
|
+
function shouldRun() {
|
|
122
|
+
// Skip in CI environments
|
|
123
|
+
if (process.env.CI || process.env.CONTINUOUS_INTEGRATION || process.env.GITHUB_ACTIONS) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Skip npx / dlx temporary installs (npm cache _npx dir)
|
|
128
|
+
if (__dirname.includes('_npx') || __dirname.includes('.cache')) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// npm sets this to 'true' for global installs
|
|
133
|
+
if (process.env.npm_config_global === 'true') {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// Detect monorepo / workspace install: if there's a package.json above us
|
|
138
|
+
// with workspaces, we're inside a monorepo install
|
|
139
|
+
try {
|
|
140
|
+
const rootPkg = path.join(__dirname, '..', '..', '..', 'package.json');
|
|
141
|
+
if (fs.existsSync(rootPkg)) {
|
|
142
|
+
const pkg = JSON.parse(fs.readFileSync(rootPkg, 'utf8'));
|
|
143
|
+
if (pkg.workspaces) return false;
|
|
144
|
+
}
|
|
145
|
+
} catch {
|
|
146
|
+
// ignore
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// If npm_config_global is not explicitly 'true' and we can't determine,
|
|
150
|
+
// still run (could be a standalone local install by an end user)
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// --- Main ---
|
|
155
|
+
try {
|
|
156
|
+
if (!shouldRun()) process.exit(0);
|
|
157
|
+
|
|
158
|
+
console.log('');
|
|
159
|
+
console.log(`${BOLD}${CYAN}Runflow CLI${RESET} installed successfully!`);
|
|
160
|
+
console.log('');
|
|
161
|
+
|
|
162
|
+
let issues = 0;
|
|
163
|
+
|
|
164
|
+
if (!checkNode()) issues++;
|
|
165
|
+
if (!checkGit()) issues++;
|
|
166
|
+
if (!checkPath()) issues++;
|
|
167
|
+
if (!checkPowerShellPolicy()) issues++;
|
|
168
|
+
|
|
169
|
+
console.log('');
|
|
170
|
+
if (issues === 0) {
|
|
171
|
+
console.log(` ${GREEN}Ready to go!${RESET} Run ${BOLD}rf login${RESET} to get started.`);
|
|
172
|
+
} else {
|
|
173
|
+
console.log(` ${YELLOW}${issues} issue(s) detected.${RESET} Fix them, then run ${BOLD}rf doctor${RESET} to verify.`);
|
|
174
|
+
}
|
|
175
|
+
console.log('');
|
|
176
|
+
} catch {
|
|
177
|
+
// Never fail npm install because of postinstall
|
|
178
|
+
}
|