@hypercli.com/cli 0.0.0-stage → 0.9.2
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/README.md +25 -2
- package/dist/commands/acp.d.ts +5 -0
- package/dist/commands/acp.js +51 -0
- package/dist/commands/acp.js.map +1 -0
- package/dist/commands/agent-login.d.ts +97 -0
- package/dist/commands/agent-login.js +547 -0
- package/dist/commands/agent-login.js.map +1 -0
- package/dist/commands/agents.d.ts +48 -0
- package/dist/commands/agents.js +2026 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/configure.d.ts +11 -0
- package/dist/commands/configure.js +59 -0
- package/dist/commands/configure.js.map +1 -0
- package/dist/commands/files.d.ts +15 -0
- package/dist/commands/files.js +176 -0
- package/dist/commands/files.js.map +1 -0
- package/dist/commands/flow.d.ts +20 -0
- package/dist/commands/flow.js +360 -0
- package/dist/commands/flow.js.map +1 -0
- package/dist/commands/integrations.d.ts +32 -0
- package/dist/commands/integrations.js +460 -0
- package/dist/commands/integrations.js.map +1 -0
- package/dist/commands/jobs.d.ts +5 -0
- package/dist/commands/jobs.js +496 -0
- package/dist/commands/jobs.js.map +1 -0
- package/dist/commands/me.d.ts +23 -0
- package/dist/commands/me.js +258 -0
- package/dist/commands/me.js.map +1 -0
- package/dist/commands/memory.d.ts +5 -0
- package/dist/commands/memory.js +110 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/routines.d.ts +27 -0
- package/dist/commands/routines.js +493 -0
- package/dist/commands/routines.js.map +1 -0
- package/dist/commands/skills.d.ts +36 -0
- package/dist/commands/skills.js +369 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/voice.d.ts +15 -0
- package/dist/commands/voice.js +378 -0
- package/dist/commands/voice.js.map +1 -0
- package/dist/commands/websearch-core.d.ts +10 -0
- package/dist/commands/websearch-core.js +56 -0
- package/dist/commands/websearch-core.js.map +1 -0
- package/dist/commands/websearch.d.ts +13 -0
- package/dist/commands/websearch.js +20 -0
- package/dist/commands/websearch.js.map +1 -0
- package/dist/core/argv.d.ts +51 -0
- package/dist/core/argv.js +81 -0
- package/dist/core/argv.js.map +1 -0
- package/dist/core/captured-logs.d.ts +9 -0
- package/dist/core/captured-logs.js +52 -0
- package/dist/core/captured-logs.js.map +1 -0
- package/dist/core/client.d.ts +18 -0
- package/dist/core/client.js +31 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/config-file.d.ts +13 -0
- package/dist/core/config-file.js +79 -0
- package/dist/core/config-file.js.map +1 -0
- package/dist/core/errors.d.ts +22 -0
- package/dist/core/errors.js +37 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/help.d.ts +13 -0
- package/dist/core/help.js +55 -0
- package/dist/core/help.js.map +1 -0
- package/dist/core/integrations-mcp.d.ts +2 -0
- package/dist/core/integrations-mcp.js +115 -0
- package/dist/core/integrations-mcp.js.map +1 -0
- package/dist/core/output.d.ts +29 -0
- package/dist/core/output.js +34 -0
- package/dist/core/output.js.map +1 -0
- package/dist/core/skills-runtime.d.ts +37 -0
- package/dist/core/skills-runtime.js +101 -0
- package/dist/core/skills-runtime.js.map +1 -0
- package/dist/core/table.d.ts +17 -0
- package/dist/core/table.js +34 -0
- package/dist/core/table.js.map +1 -0
- package/dist/core/types.d.ts +65 -0
- package/dist/core/types.js +40 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/registry.d.ts +10 -0
- package/dist/registry.js +39 -0
- package/dist/registry.js.map +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +33 -4
- package/skills/hypercli-account.json +17 -0
- package/skills/hypercli-agents.json +23 -0
- package/skills/hypercli-auth.json +11 -0
- package/skills/hypercli-compute.json +20 -0
- package/skills/hypercli-flows.json +11 -0
- package/skills/hypercli-knowledge.json +13 -0
- package/skills/hypercli-voice.json +10 -0
- package/skills/hypercli.json +23 -0
- package/skills/index.json +124 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hyper flow` — managed AI render flows (images, video, audio, speech).
|
|
3
|
+
*
|
|
4
|
+
* hyper flow create <type> [typed flags] [--param key=value ...] [--dry-run]
|
|
5
|
+
* hyper flow list [--state STATE]
|
|
6
|
+
* hyper flow status <id>
|
|
7
|
+
* hyper flow wait <id> [--timeout SECONDS]
|
|
8
|
+
* hyper flow cancel <id> [--yes]
|
|
9
|
+
*
|
|
10
|
+
* One create path: every flow type resolves to renders.flow(type, params).
|
|
11
|
+
* Typed flags are per-type sugar from the FLOW_TYPES table; --param key=value
|
|
12
|
+
* overrides typed flags and passes arbitrary keys through. Image/audio assets
|
|
13
|
+
* referenced in params are URLs or file IDs from `hyper files upload`.
|
|
14
|
+
* Legacy types (listed: false) dispatch but are hidden from help.
|
|
15
|
+
*/
|
|
16
|
+
import { createInterface } from 'node:readline/promises';
|
|
17
|
+
import { parseCommandArgs, parseUniversal } from '../core/argv.js';
|
|
18
|
+
import { CliError, UsageError } from '../core/errors.js';
|
|
19
|
+
import { renderGroupHelp } from '../core/help.js';
|
|
20
|
+
export const name = 'flow';
|
|
21
|
+
export const summary = 'Create and manage AI render flows.';
|
|
22
|
+
const PROMPT = { flag: 'prompt', key: 'prompt', kind: 'string' };
|
|
23
|
+
const TEXT = { flag: 'text', key: 'text', kind: 'string' };
|
|
24
|
+
const NEGATIVE = { flag: 'negative', key: 'negative', kind: 'string' };
|
|
25
|
+
const WIDTH = { flag: 'width', key: 'width', kind: 'number' };
|
|
26
|
+
const HEIGHT = { flag: 'height', key: 'height', kind: 'number' };
|
|
27
|
+
const LENGTH = { flag: 'length', key: 'length', kind: 'number' };
|
|
28
|
+
const NOTIFY_URL = { flag: 'notify-url', key: 'notify_url', kind: 'string' };
|
|
29
|
+
const IMAGE_URL = { flag: 'image-url', key: 'image_url', kind: 'string' };
|
|
30
|
+
const IMAGE_URLS = { flag: 'image-urls', key: 'image_urls', kind: 'list' };
|
|
31
|
+
const AUDIO_URL = { flag: 'audio-url', key: 'audio_url', kind: 'string' };
|
|
32
|
+
const START_IMAGE_URL = { flag: 'start-image-url', key: 'start_image_url', kind: 'string' };
|
|
33
|
+
const END_IMAGE_URL = { flag: 'end-image-url', key: 'end_image_url', kind: 'string' };
|
|
34
|
+
const FILE_IDS = { flag: 'file-ids', key: 'file_ids', kind: 'list' };
|
|
35
|
+
const MODE = { flag: 'mode', key: 'mode', kind: 'string' };
|
|
36
|
+
const LANGUAGE = { flag: 'language', key: 'language', kind: 'string' };
|
|
37
|
+
const SPEAKER = { flag: 'speaker', key: 'speaker', kind: 'string' };
|
|
38
|
+
const STYLE = { flag: 'style', key: 'style', kind: 'string' };
|
|
39
|
+
const MODEL_SIZE = { flag: 'model-size', key: 'model_size', kind: 'string' };
|
|
40
|
+
const VOICE_DESCRIPTION = { flag: 'voice-description', key: 'voice_description', kind: 'string' };
|
|
41
|
+
const REF_AUDIO_URL = { flag: 'ref-audio-url', key: 'ref_audio_url', kind: 'string' };
|
|
42
|
+
const REF_TEXT = { flag: 'ref-text', key: 'ref_text', kind: 'string' };
|
|
43
|
+
const USE_XVECTOR_ONLY = { flag: 'use-xvector-only', key: 'use_xvector_only', kind: 'boolean' };
|
|
44
|
+
const FLOW_TYPES = {
|
|
45
|
+
'text-to-image': {
|
|
46
|
+
summary: 'Generate an image (Qwen-Image)',
|
|
47
|
+
listed: true,
|
|
48
|
+
required: ['prompt'],
|
|
49
|
+
flags: [PROMPT, NEGATIVE, WIDTH, HEIGHT, NOTIFY_URL],
|
|
50
|
+
},
|
|
51
|
+
'text-to-image-hidream': {
|
|
52
|
+
summary: 'Generate an image (HiDream I1 Full)',
|
|
53
|
+
listed: true,
|
|
54
|
+
required: ['prompt'],
|
|
55
|
+
flags: [PROMPT, NEGATIVE, WIDTH, HEIGHT, NOTIFY_URL],
|
|
56
|
+
},
|
|
57
|
+
'text-to-video': {
|
|
58
|
+
summary: 'Generate a video (Wan 2.2 14B)',
|
|
59
|
+
listed: true,
|
|
60
|
+
required: ['prompt'],
|
|
61
|
+
flags: [PROMPT, NEGATIVE, WIDTH, HEIGHT, NOTIFY_URL],
|
|
62
|
+
},
|
|
63
|
+
'image-to-video': {
|
|
64
|
+
summary: 'Animate an image (Wan 2.2 Animate)',
|
|
65
|
+
listed: true,
|
|
66
|
+
required: ['prompt'],
|
|
67
|
+
flags: [PROMPT, IMAGE_URL, FILE_IDS, NEGATIVE, WIDTH, HEIGHT, NOTIFY_URL],
|
|
68
|
+
},
|
|
69
|
+
'image-to-image': {
|
|
70
|
+
summary: 'Transform images (Qwen Image Edit)',
|
|
71
|
+
listed: true,
|
|
72
|
+
required: ['prompt'],
|
|
73
|
+
flags: [PROMPT, IMAGE_URLS, FILE_IDS, NEGATIVE, WIDTH, HEIGHT, NOTIFY_URL],
|
|
74
|
+
},
|
|
75
|
+
'first-last-frame-video': {
|
|
76
|
+
summary: 'Morph video between two images (Wan 2.2)',
|
|
77
|
+
listed: true,
|
|
78
|
+
required: ['prompt'],
|
|
79
|
+
flags: [PROMPT, START_IMAGE_URL, END_IMAGE_URL, FILE_IDS, NEGATIVE, WIDTH, HEIGHT, NOTIFY_URL],
|
|
80
|
+
},
|
|
81
|
+
'speaking-video': {
|
|
82
|
+
summary: 'Lip-sync video (HuMo) [legacy]',
|
|
83
|
+
listed: false,
|
|
84
|
+
required: ['prompt'],
|
|
85
|
+
flags: [PROMPT, IMAGE_URL, AUDIO_URL, FILE_IDS, NEGATIVE, LENGTH, WIDTH, HEIGHT, NOTIFY_URL],
|
|
86
|
+
},
|
|
87
|
+
'audio-to-text': {
|
|
88
|
+
summary: 'Transcribe audio/video (WhisperX) [legacy]',
|
|
89
|
+
listed: false,
|
|
90
|
+
required: [],
|
|
91
|
+
flags: [AUDIO_URL, FILE_IDS, NOTIFY_URL],
|
|
92
|
+
},
|
|
93
|
+
'text-to-speech': {
|
|
94
|
+
summary: 'Generate speech (Qwen3-TTS) [legacy]',
|
|
95
|
+
listed: false,
|
|
96
|
+
required: ['text'],
|
|
97
|
+
flags: [TEXT, MODE, LANGUAGE, SPEAKER, STYLE, MODEL_SIZE, VOICE_DESCRIPTION, REF_AUDIO_URL, FILE_IDS, REF_TEXT, USE_XVECTOR_ONLY, NOTIFY_URL],
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
const LISTED_TYPES = Object.entries(FLOW_TYPES)
|
|
101
|
+
.filter(([, row]) => row.listed)
|
|
102
|
+
.map(([type]) => type);
|
|
103
|
+
export const usage = [
|
|
104
|
+
'hyper flow create <type> [typed flags] [--param key=value ...] [--dry-run]',
|
|
105
|
+
'hyper flow list [--state STATE]',
|
|
106
|
+
'hyper flow status <id> [--json]',
|
|
107
|
+
'hyper flow wait <id> [--timeout SECONDS] [--json]',
|
|
108
|
+
'hyper flow cancel <id> [--yes]',
|
|
109
|
+
`Flow types: ${LISTED_TYPES.join(', ')}`,
|
|
110
|
+
"Image/audio params take URLs or file IDs from 'hyper files upload'.",
|
|
111
|
+
'Typed flags differ per type; --param key=value overrides them and passes any key through (number/boolean values are coerced).',
|
|
112
|
+
];
|
|
113
|
+
const UNIVERSAL_KEYS = new Set(['json', 'output', 'help', 'param', 'dry-run']);
|
|
114
|
+
const DEFAULT_WAIT_TIMEOUT_S = 3600;
|
|
115
|
+
function createParseOptions() {
|
|
116
|
+
const options = {
|
|
117
|
+
param: { type: 'string', multiple: true },
|
|
118
|
+
'dry-run': { type: 'boolean', default: false },
|
|
119
|
+
};
|
|
120
|
+
for (const row of Object.values(FLOW_TYPES)) {
|
|
121
|
+
for (const flag of row.flags) {
|
|
122
|
+
if (options[flag.flag])
|
|
123
|
+
continue;
|
|
124
|
+
options[flag.flag] =
|
|
125
|
+
flag.kind === 'boolean'
|
|
126
|
+
? { type: 'boolean' }
|
|
127
|
+
: { type: 'string', multiple: flag.kind === 'list' };
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return options;
|
|
131
|
+
}
|
|
132
|
+
function coerceFlagValue(flag, raw) {
|
|
133
|
+
if (flag.kind === 'boolean')
|
|
134
|
+
return raw === true;
|
|
135
|
+
if (flag.kind === 'list') {
|
|
136
|
+
return (Array.isArray(raw) ? raw : [raw]).map((item) => String(item));
|
|
137
|
+
}
|
|
138
|
+
if (flag.kind === 'number') {
|
|
139
|
+
const value = typeof raw === 'string' ? raw.trim() : '';
|
|
140
|
+
const parsed = Number(value);
|
|
141
|
+
if (!value || !Number.isFinite(parsed)) {
|
|
142
|
+
throw new UsageError(`--${flag.flag} expects a number`);
|
|
143
|
+
}
|
|
144
|
+
return parsed;
|
|
145
|
+
}
|
|
146
|
+
return String(raw);
|
|
147
|
+
}
|
|
148
|
+
function coerceParamValue(text) {
|
|
149
|
+
try {
|
|
150
|
+
const parsed = JSON.parse(text);
|
|
151
|
+
if (typeof parsed === 'number' || typeof parsed === 'boolean')
|
|
152
|
+
return parsed;
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
// not JSON — keep the raw string
|
|
156
|
+
}
|
|
157
|
+
return text;
|
|
158
|
+
}
|
|
159
|
+
function resolveParams(type, row, values) {
|
|
160
|
+
const params = {};
|
|
161
|
+
for (const [flagName, raw] of Object.entries(values)) {
|
|
162
|
+
if (UNIVERSAL_KEYS.has(flagName))
|
|
163
|
+
continue;
|
|
164
|
+
const flag = row.flags.find((f) => f.flag === flagName);
|
|
165
|
+
if (!flag) {
|
|
166
|
+
const known = row.flags.map((f) => `--${f.flag}`).join(', ');
|
|
167
|
+
throw new UsageError(`--${flagName} is not a parameter of '${type}' (expects: ${known})`);
|
|
168
|
+
}
|
|
169
|
+
params[flag.key] = coerceFlagValue(flag, raw);
|
|
170
|
+
}
|
|
171
|
+
const overrides = values.param;
|
|
172
|
+
for (const entry of Array.isArray(overrides) ? overrides : []) {
|
|
173
|
+
const text = String(entry);
|
|
174
|
+
const eq = text.indexOf('=');
|
|
175
|
+
if (eq < 1)
|
|
176
|
+
throw new UsageError(`--param expects key=value (got '${text}')`);
|
|
177
|
+
params[text.slice(0, eq)] = coerceParamValue(text.slice(eq + 1));
|
|
178
|
+
}
|
|
179
|
+
for (const required of row.required) {
|
|
180
|
+
const value = params[required];
|
|
181
|
+
if (value === undefined || value === null || value === '') {
|
|
182
|
+
const flag = row.flags.find((f) => f.key === required);
|
|
183
|
+
const hint = flag ? `--${flag.flag}` : `--param ${required}=...`;
|
|
184
|
+
throw new UsageError(`'${type}' requires ${hint} (or --param ${required}=...)`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return params;
|
|
188
|
+
}
|
|
189
|
+
function formatTimestamp(value) {
|
|
190
|
+
if (value === null || value === undefined || value === 0 || value === '')
|
|
191
|
+
return '';
|
|
192
|
+
if (typeof value === 'number') {
|
|
193
|
+
return new Date(value < 1e12 ? value * 1000 : value).toISOString();
|
|
194
|
+
}
|
|
195
|
+
if (typeof value === 'string') {
|
|
196
|
+
const parsed = Date.parse(value);
|
|
197
|
+
return Number.isNaN(parsed) ? value : new Date(parsed).toISOString();
|
|
198
|
+
}
|
|
199
|
+
return String(value);
|
|
200
|
+
}
|
|
201
|
+
function renderDetail(render) {
|
|
202
|
+
const rows = [
|
|
203
|
+
['id', render.renderId],
|
|
204
|
+
['type', render.renderType ?? render.template ?? ''],
|
|
205
|
+
['state', render.state],
|
|
206
|
+
];
|
|
207
|
+
if (render.tags?.length)
|
|
208
|
+
rows.push(['tags', render.tags.join(', ')]);
|
|
209
|
+
const created = formatTimestamp(render.createdAt);
|
|
210
|
+
if (created)
|
|
211
|
+
rows.push(['created', created]);
|
|
212
|
+
const started = formatTimestamp(render.startedAt);
|
|
213
|
+
if (started)
|
|
214
|
+
rows.push(['started', started]);
|
|
215
|
+
const completed = formatTimestamp(render.completedAt);
|
|
216
|
+
if (completed)
|
|
217
|
+
rows.push(['completed', completed]);
|
|
218
|
+
if (render.resultUrl)
|
|
219
|
+
rows.push(['result_url', render.resultUrl]);
|
|
220
|
+
if (render.error)
|
|
221
|
+
rows.push(['error', render.error]);
|
|
222
|
+
const width = Math.max(...rows.map(([key]) => key.length));
|
|
223
|
+
return rows.map(([key, value]) => `${key.padEnd(width)} ${value}`).join('\n');
|
|
224
|
+
}
|
|
225
|
+
function positional(parsed, index, usageLine) {
|
|
226
|
+
const value = parsed.positionals[index];
|
|
227
|
+
if (!value)
|
|
228
|
+
throw new UsageError(`usage: ${usageLine}`);
|
|
229
|
+
const extra = parsed.positionals[index + 1];
|
|
230
|
+
if (extra !== undefined)
|
|
231
|
+
throw new UsageError(`unexpected argument '${extra}' (${usageLine})`);
|
|
232
|
+
return value;
|
|
233
|
+
}
|
|
234
|
+
async function cmdCreate(ctx, args) {
|
|
235
|
+
const parsed = parseCommandArgs(args, createParseOptions());
|
|
236
|
+
const type = positional(parsed, 1, 'hyper flow create <type> [typed flags] [--param key=value ...] [--dry-run]');
|
|
237
|
+
const row = FLOW_TYPES[type];
|
|
238
|
+
if (!row) {
|
|
239
|
+
throw new UsageError(`unknown flow type '${type}' — known types: ${LISTED_TYPES.join(', ')}. ` +
|
|
240
|
+
'Arbitrary params pass through with --param key=value.');
|
|
241
|
+
}
|
|
242
|
+
const params = resolveParams(type, row, parsed.values);
|
|
243
|
+
if (parsed.values['dry-run'] === true) {
|
|
244
|
+
const resolved = { type, params };
|
|
245
|
+
ctx.output.result(resolved, JSON.stringify(resolved, null, 2));
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
const client = await ctx.client();
|
|
249
|
+
const render = await client.renders.flow(type, params);
|
|
250
|
+
ctx.output.result(render, [
|
|
251
|
+
`created flow ${render.renderId}`,
|
|
252
|
+
` type ${type}`,
|
|
253
|
+
` state ${render.state || 'queued'}`,
|
|
254
|
+
` track hyper flow status ${render.renderId}`,
|
|
255
|
+
].join('\n'));
|
|
256
|
+
}
|
|
257
|
+
async function cmdList(ctx, args) {
|
|
258
|
+
const parsed = parseCommandArgs(args, { state: { type: 'string' } });
|
|
259
|
+
if (parsed.positionals.length > 1) {
|
|
260
|
+
throw new UsageError(`unexpected argument '${parsed.positionals[1]}' (hyper flow list [--state STATE])`);
|
|
261
|
+
}
|
|
262
|
+
const state = typeof parsed.values.state === 'string' ? parsed.values.state : undefined;
|
|
263
|
+
const client = await ctx.client();
|
|
264
|
+
const renders = await client.renders.list(state ? { state } : undefined);
|
|
265
|
+
ctx.output.result(renders, {
|
|
266
|
+
columns: ['ID', 'TYPE', 'STATE', 'CREATED', 'RESULTS'],
|
|
267
|
+
rows: renders.map((render) => [
|
|
268
|
+
render.renderId,
|
|
269
|
+
render.renderType ?? render.template ?? '',
|
|
270
|
+
render.state,
|
|
271
|
+
formatTimestamp(render.createdAt),
|
|
272
|
+
render.resultUrl ? 1 : 0,
|
|
273
|
+
]),
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
async function cmdStatus(ctx, args) {
|
|
277
|
+
const parsed = parseCommandArgs(args);
|
|
278
|
+
const id = positional(parsed, 1, 'hyper flow status <id>');
|
|
279
|
+
const client = await ctx.client();
|
|
280
|
+
const render = await client.renders.get(id);
|
|
281
|
+
ctx.output.result(render, renderDetail(render));
|
|
282
|
+
}
|
|
283
|
+
async function cmdWait(ctx, args) {
|
|
284
|
+
const parsed = parseCommandArgs(args, { timeout: { type: 'string' } });
|
|
285
|
+
const id = positional(parsed, 1, 'hyper flow wait <id> [--timeout SECONDS]');
|
|
286
|
+
let timeoutS = DEFAULT_WAIT_TIMEOUT_S;
|
|
287
|
+
if (parsed.values.timeout !== undefined) {
|
|
288
|
+
timeoutS = Number(parsed.values.timeout);
|
|
289
|
+
if (!Number.isFinite(timeoutS) || timeoutS <= 0) {
|
|
290
|
+
throw new UsageError('--timeout expects a positive number of seconds');
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
const client = await ctx.client();
|
|
294
|
+
let render;
|
|
295
|
+
try {
|
|
296
|
+
render = await client.renders.wait(id, { timeoutMs: timeoutS * 1000 });
|
|
297
|
+
}
|
|
298
|
+
catch (err) {
|
|
299
|
+
if (err instanceof Error && /did not complete within/.test(err.message)) {
|
|
300
|
+
let finalState = 'unknown';
|
|
301
|
+
try {
|
|
302
|
+
finalState = (await client.renders.get(id)).state || 'unknown';
|
|
303
|
+
}
|
|
304
|
+
catch {
|
|
305
|
+
finalState = 'unknown';
|
|
306
|
+
}
|
|
307
|
+
throw new CliError(`flow ${id} did not complete within ${timeoutS}s (final state: ${finalState})`);
|
|
308
|
+
}
|
|
309
|
+
throw err;
|
|
310
|
+
}
|
|
311
|
+
const lines = [`flow ${render.renderId} ${render.state}`];
|
|
312
|
+
if (render.resultUrl)
|
|
313
|
+
lines.push(`result: ${render.resultUrl}`);
|
|
314
|
+
if (render.error)
|
|
315
|
+
lines.push(`error: ${render.error}`);
|
|
316
|
+
ctx.output.result(render, lines.join('\n'));
|
|
317
|
+
}
|
|
318
|
+
async function cmdCancel(ctx, args) {
|
|
319
|
+
const parsed = parseCommandArgs(args, { yes: { type: 'boolean', default: false } });
|
|
320
|
+
const id = positional(parsed, 1, 'hyper flow cancel <id> [--yes]');
|
|
321
|
+
const confirmed = parsed.values.yes === true || parsed.format === 'json';
|
|
322
|
+
if (!confirmed) {
|
|
323
|
+
if (!process.stdin.isTTY) {
|
|
324
|
+
throw new CliError(`refusing to cancel ${id} without confirmation: pass --yes (or --json)`);
|
|
325
|
+
}
|
|
326
|
+
const rl = createInterface({ input: process.stdin, output: process.stderr });
|
|
327
|
+
try {
|
|
328
|
+
const answer = (await rl.question(`Cancel flow ${id}? [y/N] `)).trim().toLowerCase();
|
|
329
|
+
if (answer !== 'y' && answer !== 'yes')
|
|
330
|
+
throw new CliError(`flow ${id} not cancelled`);
|
|
331
|
+
}
|
|
332
|
+
finally {
|
|
333
|
+
rl.close();
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
const client = await ctx.client();
|
|
337
|
+
await client.renders.cancel(id);
|
|
338
|
+
ctx.output.result({ id, cancelled: true }, `cancelled flow ${id}`);
|
|
339
|
+
}
|
|
340
|
+
const COMMANDS = {
|
|
341
|
+
create: cmdCreate,
|
|
342
|
+
list: cmdList,
|
|
343
|
+
status: cmdStatus,
|
|
344
|
+
wait: cmdWait,
|
|
345
|
+
cancel: cmdCancel,
|
|
346
|
+
};
|
|
347
|
+
export async function run(ctx, args) {
|
|
348
|
+
const scan = parseUniversal(args);
|
|
349
|
+
const [sub] = scan.positionals;
|
|
350
|
+
if (scan.help || !sub) {
|
|
351
|
+
process.stdout.write(`${renderGroupHelp({ name, summary, usage, run })}\n`);
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
const handler = COMMANDS[sub];
|
|
355
|
+
if (!handler) {
|
|
356
|
+
throw new UsageError(`unknown flow command '${sub}' (expected: ${Object.keys(COMMANDS).join(', ')})`);
|
|
357
|
+
}
|
|
358
|
+
await handler(ctx, args);
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hyper integrations` — third-party provider connections (OAuth via the
|
|
3
|
+
* /integrations facade; Nango-backed or Slack relay).
|
|
4
|
+
*
|
|
5
|
+
* hyper integrations providers
|
|
6
|
+
* hyper integrations connections
|
|
7
|
+
* hyper integrations status <agent>
|
|
8
|
+
* hyper integrations connect <provider> [--wait] [--timeout SECONDS]
|
|
9
|
+
* hyper integrations disconnect <provider>
|
|
10
|
+
* hyper integrations enable <provider> [--agent <name|id>]
|
|
11
|
+
* hyper integrations disable <provider> [--agent <name|id>]
|
|
12
|
+
* hyper integrations unset <provider> --agent <name|id>
|
|
13
|
+
* hyper integrations token <provider>
|
|
14
|
+
* hyper integrations call <provider> <METHOD> <path> [body]
|
|
15
|
+
*
|
|
16
|
+
* `token` prints ONLY the raw access token on stdout in table mode so it is
|
|
17
|
+
* pipe-safe (`GH_TOKEN=$(hyper integrations token github)`); metadata goes to
|
|
18
|
+
* stderr. Relay-managed Slack supports connect/disconnect, but not
|
|
19
|
+
* token/credentials/proxy or global enable/disable.
|
|
20
|
+
*
|
|
21
|
+
* enable/disable without --agent flip the facade connection (PATCH
|
|
22
|
+
* /connections/{provider}); with --agent they write the per-agent meta
|
|
23
|
+
* override (meta.integrations[provider].enabled). `unset` removes that
|
|
24
|
+
* override, reverting the provider to default-enabled for the agent.
|
|
25
|
+
* `status` shows the effective per-provider state for one agent:
|
|
26
|
+
* effective = connected AND facade hyper_enabled AND (agent override ?? true).
|
|
27
|
+
*/
|
|
28
|
+
import type { CommandContext } from '../core/types.js';
|
|
29
|
+
export declare const name = "integrations";
|
|
30
|
+
export declare const summary = "Manage third-party provider connections (GitHub, Slack, ...).";
|
|
31
|
+
export declare const usage: string[];
|
|
32
|
+
export declare function run(ctx: CommandContext, args: string[]): Promise<number | void>;
|