@relayflows/sdk 2.0.24 → 2.0.25
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/authored-flow-executor.d.ts +3 -0
- package/dist/authored-flow-executor.d.ts.map +1 -1
- package/dist/authored-flow-executor.js +29 -1
- package/dist/authored-flow-executor.js.map +1 -1
- package/dist/authored-flow-loader.d.ts +15 -2
- package/dist/authored-flow-loader.d.ts.map +1 -1
- package/dist/authored-flow-loader.js +33 -4
- package/dist/authored-flow-loader.js.map +1 -1
- package/dist/authored-hooks.d.ts +29 -0
- package/dist/authored-hooks.d.ts.map +1 -0
- package/dist/authored-hooks.js +117 -0
- package/dist/authored-hooks.js.map +1 -0
- package/dist/authored-node-entry.js +1 -0
- package/dist/authored-node-entry.js.map +1 -1
- package/dist/authored-root.d.ts +7 -0
- package/dist/authored-root.d.ts.map +1 -1
- package/dist/authored-root.js +14 -1
- package/dist/authored-root.js.map +1 -1
- package/dist/authored-source-authority.d.ts.map +1 -1
- package/dist/authored-source-authority.js +6 -0
- package/dist/authored-source-authority.js.map +1 -1
- package/dist/bundle-extensions.d.ts +19 -0
- package/dist/bundle-extensions.d.ts.map +1 -0
- package/dist/bundle-extensions.js +95 -0
- package/dist/bundle-extensions.js.map +1 -0
- package/dist/bundle-typescript.js +1 -1
- package/dist/bundle-typescript.js.map +1 -1
- package/dist/bundle.d.ts +11 -0
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +13 -4
- package/dist/bundle.js.map +1 -1
- package/dist/cli/add-extension.d.ts +28 -0
- package/dist/cli/add-extension.d.ts.map +1 -0
- package/dist/cli/add-extension.js +135 -0
- package/dist/cli/add-extension.js.map +1 -0
- package/dist/cli/add.d.ts +3 -0
- package/dist/cli/add.d.ts.map +1 -1
- package/dist/cli/add.js +8 -0
- package/dist/cli/add.js.map +1 -1
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.js +7 -2
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/check-helper-body.d.ts.map +1 -1
- package/dist/cli/check-helper-body.js +4 -0
- package/dist/cli/check-helper-body.js.map +1 -1
- package/dist/cli/check-triggers.d.ts.map +1 -1
- package/dist/cli/check-triggers.js +25 -2
- package/dist/cli/check-triggers.js.map +1 -1
- package/dist/cli/check-typescript.d.ts.map +1 -1
- package/dist/cli/check-typescript.js +5 -1
- package/dist/cli/check-typescript.js.map +1 -1
- package/dist/cli/check.d.ts +24 -0
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/cloud-deploy.d.ts +1 -0
- package/dist/cli/cloud-deploy.d.ts.map +1 -1
- package/dist/cli/cloud-deploy.js +11 -1
- package/dist/cli/cloud-deploy.js.map +1 -1
- package/dist/cli/plugin.d.ts +50 -0
- package/dist/cli/plugin.d.ts.map +1 -0
- package/dist/cli/plugin.js +295 -0
- package/dist/cli/plugin.js.map +1 -0
- package/dist/cli-commands.d.ts +46 -3
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +32 -2
- package/dist/cli-commands.js.map +1 -1
- package/dist/cli.d.ts +2 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +26 -1
- package/dist/cli.js.map +1 -1
- package/dist/cloud-deploy.d.ts +5 -0
- package/dist/cloud-deploy.d.ts.map +1 -1
- package/dist/cloud-deploy.js +7 -6
- package/dist/cloud-deploy.js.map +1 -1
- package/dist/cloud-run.d.ts +2 -0
- package/dist/cloud-run.d.ts.map +1 -1
- package/dist/cloud-run.js +14 -4
- package/dist/cloud-run.js.map +1 -1
- package/dist/failure-kinds.d.ts +2 -2
- package/dist/failure-kinds.d.ts.map +1 -1
- package/dist/flow-extension-compat.d.ts +18 -0
- package/dist/flow-extension-compat.d.ts.map +1 -0
- package/dist/flow-extension-compat.js +33 -0
- package/dist/flow-extension-compat.js.map +1 -0
- package/dist/flow-extension-loader.d.ts +61 -0
- package/dist/flow-extension-loader.d.ts.map +1 -0
- package/dist/flow-extension-loader.js +173 -0
- package/dist/flow-extension-loader.js.map +1 -0
- package/dist/flow-extension-manifest.d.ts +61 -0
- package/dist/flow-extension-manifest.d.ts.map +1 -0
- package/dist/flow-extension-manifest.js +188 -0
- package/dist/flow-extension-manifest.js.map +1 -0
- package/dist/flow-extension-submit.d.ts +38 -0
- package/dist/flow-extension-submit.d.ts.map +1 -0
- package/dist/flow-extension-submit.js +94 -0
- package/dist/flow-extension-submit.js.map +1 -0
- package/dist/flow-requirements.d.ts +13 -3
- package/dist/flow-requirements.d.ts.map +1 -1
- package/dist/flow-requirements.js +30 -0
- package/dist/flow-requirements.js.map +1 -1
- package/dist/plugin-github.d.ts +35 -0
- package/dist/plugin-github.d.ts.map +1 -0
- package/dist/plugin-github.js +92 -0
- package/dist/plugin-github.js.map +1 -0
- package/dist/plugin-loader.d.ts.map +1 -1
- package/dist/plugin-loader.js +5 -1
- package/dist/plugin-loader.js.map +1 -1
- package/dist/plugin-lock.d.ts +79 -0
- package/dist/plugin-lock.d.ts.map +1 -0
- package/dist/plugin-lock.js +203 -0
- package/dist/plugin-lock.js.map +1 -0
- package/dist/plugin-manifest.d.ts +5 -1
- package/dist/plugin-manifest.d.ts.map +1 -1
- package/dist/plugin-manifest.js +17 -0
- package/dist/plugin-manifest.js.map +1 -1
- package/dist/plugin-source.d.ts +38 -0
- package/dist/plugin-source.d.ts.map +1 -0
- package/dist/plugin-source.js +84 -0
- package/dist/plugin-source.js.map +1 -0
- package/dist/plugin-store.d.ts +30 -0
- package/dist/plugin-store.d.ts.map +1 -0
- package/dist/plugin-store.js +133 -0
- package/dist/plugin-store.js.map +1 -0
- package/dist/semver-range.d.ts +10 -0
- package/dist/semver-range.d.ts.map +1 -0
- package/dist/semver-range.js +88 -0
- package/dist/semver-range.js.map +1 -0
- package/package.json +2 -2
- package/src/authored-flow-executor.ts +36 -1
- package/src/authored-flow-loader.ts +49 -6
- package/src/authored-hooks.ts +136 -0
- package/src/authored-node-entry.ts +1 -0
- package/src/authored-root.ts +22 -1
- package/src/authored-source-authority.ts +6 -0
- package/src/bundle-extensions.ts +85 -0
- package/src/bundle-typescript.ts +1 -1
- package/src/bundle.ts +14 -4
- package/src/cli/add-extension.ts +134 -0
- package/src/cli/add.ts +9 -0
- package/src/cli/build.ts +7 -2
- package/src/cli/check-helper-body.ts +4 -0
- package/src/cli/check-triggers.ts +27 -2
- package/src/cli/check-typescript.ts +5 -1
- package/src/cli/check.ts +23 -0
- package/src/cli/cloud-deploy.ts +11 -1
- package/src/cli/plugin.ts +286 -0
- package/src/cli-commands.ts +32 -2
- package/src/cli.ts +23 -1
- package/src/cloud-deploy.ts +18 -8
- package/src/cloud-run.ts +16 -6
- package/src/flow-extension-compat.ts +35 -0
- package/src/flow-extension-loader.ts +217 -0
- package/src/flow-extension-manifest.ts +190 -0
- package/src/flow-extension-submit.ts +120 -0
- package/src/flow-requirements.ts +44 -3
- package/src/plugin-github.ts +98 -0
- package/src/plugin-loader.ts +5 -1
- package/src/plugin-lock.ts +194 -0
- package/src/plugin-manifest.ts +17 -0
- package/src/plugin-source.ts +91 -0
- package/src/plugin-store.ts +105 -0
- package/src/semver-range.ts +74 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { CliIo } from '../cli.js';
|
|
2
|
+
import { type RuntimeVersions } from '../flow-extension-compat.js';
|
|
3
|
+
import { type FetchLike } from '../plugin-github.js';
|
|
4
|
+
import { type PluginLockEntry } from '../plugin-lock.js';
|
|
5
|
+
export type PluginArgs = {
|
|
6
|
+
command: 'plugin';
|
|
7
|
+
sub: 'list';
|
|
8
|
+
json: boolean;
|
|
9
|
+
} | {
|
|
10
|
+
command: 'plugin';
|
|
11
|
+
sub: 'verify';
|
|
12
|
+
json: boolean;
|
|
13
|
+
offline: boolean;
|
|
14
|
+
} | {
|
|
15
|
+
command: 'plugin';
|
|
16
|
+
sub: 'remove';
|
|
17
|
+
json: boolean;
|
|
18
|
+
name: string;
|
|
19
|
+
} | {
|
|
20
|
+
command: 'plugin';
|
|
21
|
+
sub: 'update';
|
|
22
|
+
json: boolean;
|
|
23
|
+
yes: boolean;
|
|
24
|
+
name: string | undefined;
|
|
25
|
+
to: string | undefined;
|
|
26
|
+
};
|
|
27
|
+
/** `flows plugin list|verify|remove|update` */
|
|
28
|
+
export declare function parsePluginArgs(args: readonly string[]): PluginArgs | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Cross-check the three records that must agree: `flows.json.plugins`
|
|
31
|
+
* (declaration), `flows.lock.json` (provenance), and `.flows/plugins` (bytes).
|
|
32
|
+
* With the network, the pinned commit is re-fetched and re-hashed too.
|
|
33
|
+
*/
|
|
34
|
+
export declare function verifyPlugins(root: string, options: {
|
|
35
|
+
offline: boolean;
|
|
36
|
+
fetch?: FetchLike;
|
|
37
|
+
}): Promise<{
|
|
38
|
+
entry: PluginLockEntry;
|
|
39
|
+
ref: string;
|
|
40
|
+
directory: string;
|
|
41
|
+
remote: 'verified' | 'skipped';
|
|
42
|
+
}[]>;
|
|
43
|
+
export interface PluginCommandOptions {
|
|
44
|
+
cwd?: string;
|
|
45
|
+
fetch?: FetchLike;
|
|
46
|
+
now?: () => Date;
|
|
47
|
+
versions?: RuntimeVersions;
|
|
48
|
+
}
|
|
49
|
+
export declare function runPluginCommand(parsed: PluginArgs, io: CliIo, options?: PluginCommandOptions): Promise<0 | 2>;
|
|
50
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/cli/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEtG,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAE+B,KAAK,eAAe,EACzD,MAAM,mBAAmB,CAAC;AAM3B,MAAM,MAAM,UAAU,GAClB;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACjD;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrE;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAExH,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,GAAG,SAAS,CAwC/E;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;CAAE,EAAE,CAAC,CAczM;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CA0BxH"}
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { diffExtension, extensionManifestOf } from './add-extension.js';
|
|
4
|
+
import { assertCompatible, runtimeVersions } from '../flow-extension-compat.js';
|
|
5
|
+
import { validateFlowExtensionManifest } from '../flow-extension-manifest.js';
|
|
6
|
+
import { fetchGithubPlugin, resolveGithubSha } from '../plugin-github.js';
|
|
7
|
+
import { PLUGIN_LOCK_FILE, lockForDeclared, lockWithPlugin, lockedPlugins, readPluginLock, reconcileDeclaredExtensions, recoverFlowsAndLock, writeFlowsAndLock, } from '../plugin-lock.js';
|
|
8
|
+
import { findPluginProject } from '../plugin-loader.js';
|
|
9
|
+
import { PluginError } from '../plugin-manifest.js';
|
|
10
|
+
import { canonicalPluginRef, parsePluginSource } from '../plugin-source.js';
|
|
11
|
+
import { materializePlugin, pluginStoreDirectory, removeStoredPlugin, verifyStoredPlugin } from '../plugin-store.js';
|
|
12
|
+
/** `flows plugin list|verify|remove|update` */
|
|
13
|
+
export function parsePluginArgs(args) {
|
|
14
|
+
const [sub, ...rest] = args;
|
|
15
|
+
if (sub === 'list' || sub === 'verify') {
|
|
16
|
+
let json = false;
|
|
17
|
+
let offline = false;
|
|
18
|
+
for (const arg of rest) {
|
|
19
|
+
if (arg === '--json' && !json)
|
|
20
|
+
json = true;
|
|
21
|
+
else if (arg === '--offline' && !offline && sub === 'verify')
|
|
22
|
+
offline = true;
|
|
23
|
+
else
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
return sub === 'list' ? { command: 'plugin', sub, json } : { command: 'plugin', sub, json, offline };
|
|
27
|
+
}
|
|
28
|
+
if (sub === 'remove') {
|
|
29
|
+
let json = false;
|
|
30
|
+
let name;
|
|
31
|
+
for (const arg of rest) {
|
|
32
|
+
if (arg === '--json' && !json)
|
|
33
|
+
json = true;
|
|
34
|
+
else if (arg.startsWith('-') || name !== undefined)
|
|
35
|
+
return undefined;
|
|
36
|
+
else
|
|
37
|
+
name = arg;
|
|
38
|
+
}
|
|
39
|
+
return name === undefined ? undefined : { command: 'plugin', sub: 'remove', json, name };
|
|
40
|
+
}
|
|
41
|
+
if (sub !== 'update')
|
|
42
|
+
return undefined;
|
|
43
|
+
let json = false;
|
|
44
|
+
let yes = false;
|
|
45
|
+
let to;
|
|
46
|
+
let name;
|
|
47
|
+
for (let i = 0; i < rest.length; i++) {
|
|
48
|
+
const arg = rest[i];
|
|
49
|
+
if (arg === '--json' && !json)
|
|
50
|
+
json = true;
|
|
51
|
+
else if (arg === '--yes' && !yes)
|
|
52
|
+
yes = true;
|
|
53
|
+
else if (arg === '--to') {
|
|
54
|
+
const value = rest[i + 1];
|
|
55
|
+
if (to !== undefined || value === undefined || value.startsWith('-'))
|
|
56
|
+
return undefined;
|
|
57
|
+
to = value;
|
|
58
|
+
i += 1;
|
|
59
|
+
}
|
|
60
|
+
else if (arg.startsWith('-') || name !== undefined)
|
|
61
|
+
return undefined;
|
|
62
|
+
else
|
|
63
|
+
name = arg;
|
|
64
|
+
}
|
|
65
|
+
return { command: 'plugin', sub: 'update', json, yes, name, to };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Cross-check the three records that must agree: `flows.json.plugins`
|
|
69
|
+
* (declaration), `flows.lock.json` (provenance), and `.flows/plugins` (bytes).
|
|
70
|
+
* With the network, the pinned commit is re-fetched and re-hashed too.
|
|
71
|
+
*/
|
|
72
|
+
export async function verifyPlugins(root, options) {
|
|
73
|
+
const results = [];
|
|
74
|
+
for (const { ref, entry, source } of reconcileDeclaredExtensions(root)) {
|
|
75
|
+
const directory = pluginStoreDirectory(root, entry.name, entry.digest);
|
|
76
|
+
await verifyStoredPlugin(directory, entry.digest);
|
|
77
|
+
let remote = 'skipped';
|
|
78
|
+
if (!options.offline) {
|
|
79
|
+
const fetched = await fetchGithubPlugin(source, options.fetch);
|
|
80
|
+
if (fetched.digest !== entry.digest)
|
|
81
|
+
throw new PluginError('plugin_source_drift', `${ref}: GitHub now serves digest ${fetched.digest}, lockfile has ${entry.digest}.`);
|
|
82
|
+
remote = 'verified';
|
|
83
|
+
}
|
|
84
|
+
results.push({ entry, ref, directory, remote });
|
|
85
|
+
}
|
|
86
|
+
return results;
|
|
87
|
+
}
|
|
88
|
+
export async function runPluginCommand(parsed, io, options = {}) {
|
|
89
|
+
try {
|
|
90
|
+
const root = findPluginProject(options.cwd ?? process.cwd());
|
|
91
|
+
if (!root)
|
|
92
|
+
throw new PluginError('plugin_manifest_invalid', 'flows plugin requires a project with flows.json.');
|
|
93
|
+
if (parsed.sub === 'list') {
|
|
94
|
+
const plugins = lockedPlugins(readPluginLock(root));
|
|
95
|
+
if (parsed.json) {
|
|
96
|
+
io.stdout(JSON.stringify({ plugins: plugins.map(p => ({ ...p.entry, ref: p.ref })) }));
|
|
97
|
+
return 0;
|
|
98
|
+
}
|
|
99
|
+
if (plugins.length === 0) {
|
|
100
|
+
io.stdout('No flow-extension plugins installed.');
|
|
101
|
+
return 0;
|
|
102
|
+
}
|
|
103
|
+
for (const { entry, ref } of plugins)
|
|
104
|
+
io.stdout(`${entry.order}. ${entry.name}@${entry.version} ${ref} sha256:${entry.digest}`);
|
|
105
|
+
return 0;
|
|
106
|
+
}
|
|
107
|
+
if (parsed.sub === 'verify') {
|
|
108
|
+
const results = await verifyPlugins(root, { offline: parsed.offline, ...(options.fetch === undefined ? {} : { fetch: options.fetch }) });
|
|
109
|
+
if (parsed.json) {
|
|
110
|
+
io.stdout(JSON.stringify({ ok: true, plugins: results.map(r => ({ name: r.entry.name, ref: r.ref, digest: r.entry.digest, remote: r.remote })) }));
|
|
111
|
+
return 0;
|
|
112
|
+
}
|
|
113
|
+
for (const r of results)
|
|
114
|
+
io.stdout(`OK ${r.entry.name}@${r.entry.version} ${r.ref} local digest matches lockfile; remote ${r.remote}`);
|
|
115
|
+
if (results.length === 0)
|
|
116
|
+
io.stdout('No flow-extension plugins to verify.');
|
|
117
|
+
return 0;
|
|
118
|
+
}
|
|
119
|
+
if (parsed.sub === 'remove')
|
|
120
|
+
return await removePlugin(root, parsed, io);
|
|
121
|
+
return await updatePlugins(root, parsed, io, options);
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
const refusal = error instanceof PluginError ? error : new PluginError('plugin_manifest_invalid', error.message);
|
|
125
|
+
if (parsed.json)
|
|
126
|
+
io.stdout(JSON.stringify({ ok: false, code: refusal.code, message: refusal.message }));
|
|
127
|
+
io.stderr(`REFUSED [${refusal.code}] ${refusal.message}`);
|
|
128
|
+
return 2;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function readFlowsConfig(root) {
|
|
132
|
+
recoverFlowsAndLock(root);
|
|
133
|
+
const path = join(root, 'flows.json');
|
|
134
|
+
let parsed;
|
|
135
|
+
try {
|
|
136
|
+
parsed = JSON.parse(readFileSync(path, 'utf8'));
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
throw new PluginError('plugin_manifest_invalid', 'Invalid flows.json.');
|
|
140
|
+
}
|
|
141
|
+
if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)
|
|
142
|
+
|| (parsed.plugins !== undefined
|
|
143
|
+
&& (!Array.isArray(parsed.plugins)
|
|
144
|
+
|| !parsed.plugins.every(p => typeof p === 'string')))) {
|
|
145
|
+
throw new PluginError('plugin_manifest_invalid', 'Invalid flows.json plugins list.');
|
|
146
|
+
}
|
|
147
|
+
const config = parsed;
|
|
148
|
+
return { path, config, plugins: [...(config.plugins ?? [])] };
|
|
149
|
+
}
|
|
150
|
+
function storedManifest(directory) {
|
|
151
|
+
let raw;
|
|
152
|
+
try {
|
|
153
|
+
raw = readFileSync(join(directory, 'flows-plugin.json'), 'utf8');
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
throw new PluginError('plugin_source_drift', `${directory}: flows-plugin.json is missing.`);
|
|
157
|
+
}
|
|
158
|
+
let input;
|
|
159
|
+
try {
|
|
160
|
+
input = JSON.parse(raw);
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
throw new PluginError('plugin_manifest_invalid', `${directory}: flows-plugin.json is unreadable or invalid JSON.`);
|
|
164
|
+
}
|
|
165
|
+
return validateFlowExtensionManifest(input);
|
|
166
|
+
}
|
|
167
|
+
function storeReferenced(lock, name, digest) {
|
|
168
|
+
return lock.plugins.some(p => p.name === name && p.digest === digest);
|
|
169
|
+
}
|
|
170
|
+
async function dropUnreferencedStore(root, name, digest, lock) {
|
|
171
|
+
if (storeReferenced(lock, name, digest))
|
|
172
|
+
return;
|
|
173
|
+
await removeStoredPlugin(pluginStoreDirectory(root, name, digest));
|
|
174
|
+
}
|
|
175
|
+
async function removePlugin(root, parsed, io) {
|
|
176
|
+
const locked = lockedPlugins(readPluginLock(root));
|
|
177
|
+
const match = locked.find(p => p.entry.name === parsed.name);
|
|
178
|
+
if (match === undefined)
|
|
179
|
+
throw new PluginError('plugin_manifest_invalid', `No flow-extension plugin named ${parsed.name}.`);
|
|
180
|
+
const { path, config, plugins } = readFlowsConfig(root);
|
|
181
|
+
const nextDeclared = plugins.filter(ref => ref !== match.ref);
|
|
182
|
+
const nextLock = lockForDeclared(readPluginLock(root), nextDeclared);
|
|
183
|
+
writeFlowsAndLock(root, path, config, nextDeclared, nextLock);
|
|
184
|
+
await dropUnreferencedStore(root, match.entry.name, match.entry.digest, nextLock);
|
|
185
|
+
if (parsed.json) {
|
|
186
|
+
io.stdout(JSON.stringify({ ok: true, removed: { name: match.entry.name, ref: match.ref, digest: match.entry.digest } }));
|
|
187
|
+
return 0;
|
|
188
|
+
}
|
|
189
|
+
io.stdout(`Removed ${match.entry.name}@${match.entry.version} ${match.ref}`);
|
|
190
|
+
return 0;
|
|
191
|
+
}
|
|
192
|
+
function replaceDeclaredRef(plugins, oldRef, newRef) {
|
|
193
|
+
const without = plugins.filter(ref => ref !== oldRef);
|
|
194
|
+
if (without.includes(newRef))
|
|
195
|
+
return without;
|
|
196
|
+
const at = plugins.indexOf(oldRef);
|
|
197
|
+
const next = [...without];
|
|
198
|
+
next.splice(at === -1 ? next.length : at, 0, newRef);
|
|
199
|
+
return next;
|
|
200
|
+
}
|
|
201
|
+
async function updatePlugins(root, parsed, io, options) {
|
|
202
|
+
if (parsed.to !== undefined && parsed.name === undefined) {
|
|
203
|
+
throw new PluginError('plugin_manifest_invalid', 'flows plugin update --to requires a plugin name.');
|
|
204
|
+
}
|
|
205
|
+
const locked = lockedPlugins(readPluginLock(root));
|
|
206
|
+
const targets = parsed.name === undefined ? locked : locked.filter(p => p.entry.name === parsed.name);
|
|
207
|
+
if (parsed.name !== undefined && targets.length === 0) {
|
|
208
|
+
throw new PluginError('plugin_manifest_invalid', `No flow-extension plugin named ${parsed.name}.`);
|
|
209
|
+
}
|
|
210
|
+
if (targets.length === 0) {
|
|
211
|
+
if (parsed.json) {
|
|
212
|
+
io.stdout(JSON.stringify({ ok: true, plugins: [] }));
|
|
213
|
+
return 0;
|
|
214
|
+
}
|
|
215
|
+
io.stdout('No flow-extension plugins to update.');
|
|
216
|
+
return 0;
|
|
217
|
+
}
|
|
218
|
+
const plans = [];
|
|
219
|
+
for (const current of targets) {
|
|
220
|
+
const requested = parsed.to === undefined ? { ...current.source } : parsePluginSource(parsed.to);
|
|
221
|
+
const source = await resolveGithubSha(requested, options.fetch);
|
|
222
|
+
const fetched = await fetchGithubPlugin(source, options.fetch);
|
|
223
|
+
const { manifest, manifestSha256 } = extensionManifestOf(fetched);
|
|
224
|
+
if (manifest.name !== current.entry.name) {
|
|
225
|
+
throw new PluginError('plugin_manifest_invalid', `Update of ${current.entry.name} resolved to plugin ${manifest.name}; remove it and add the new name instead.`);
|
|
226
|
+
}
|
|
227
|
+
assertCompatible(manifest, options.versions ?? runtimeVersions());
|
|
228
|
+
const directory = pluginStoreDirectory(root, current.entry.name, current.entry.digest);
|
|
229
|
+
const before = storedManifest(directory);
|
|
230
|
+
const ref = canonicalPluginRef(source);
|
|
231
|
+
const changed = ref !== current.ref || fetched.digest !== current.entry.digest || manifestSha256 !== current.entry.manifestSha256;
|
|
232
|
+
plans.push({
|
|
233
|
+
current, ref, digest: fetched.digest, manifest, manifestSha256,
|
|
234
|
+
source: { host: 'github', owner: source.owner, repo: source.repo, sha: source.sha, path: source.path },
|
|
235
|
+
files: fetched.files, diff: diffExtension(before, manifest), changed,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
const pending = plans.filter(p => p.changed);
|
|
239
|
+
const summary = plans.map(p => ({
|
|
240
|
+
name: p.current.entry.name, from: p.current.ref, to: p.ref, digest: p.digest, changed: p.changed, diff: p.diff,
|
|
241
|
+
}));
|
|
242
|
+
if (!parsed.json) {
|
|
243
|
+
for (const plan of plans) {
|
|
244
|
+
if (!plan.changed) {
|
|
245
|
+
io.stdout(`${plan.current.entry.name} is already at ${plan.ref} sha256:${plan.digest}`);
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
io.stdout(`Update ${plan.current.entry.name} ${plan.current.ref} → ${plan.ref}`);
|
|
249
|
+
io.stdout(` digest sha256:${plan.current.entry.digest} → sha256:${plan.digest}`);
|
|
250
|
+
for (const line of plan.diff)
|
|
251
|
+
io.stdout(line);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
if (pending.length === 0) {
|
|
255
|
+
if (parsed.json)
|
|
256
|
+
io.stdout(JSON.stringify({ ok: true, plugins: summary }));
|
|
257
|
+
return 0;
|
|
258
|
+
}
|
|
259
|
+
if (!parsed.yes) {
|
|
260
|
+
if (parsed.json) {
|
|
261
|
+
io.stdout(JSON.stringify({
|
|
262
|
+
ok: false, applied: false, code: 'plugin_manifest_invalid',
|
|
263
|
+
message: 'Re-run with --yes to apply this update.', plugins: summary,
|
|
264
|
+
}));
|
|
265
|
+
io.stderr('REFUSED [plugin_manifest_invalid] Re-run with --yes to apply this update.');
|
|
266
|
+
return 2;
|
|
267
|
+
}
|
|
268
|
+
throw new PluginError('plugin_manifest_invalid', 'Re-run with --yes to apply this update.');
|
|
269
|
+
}
|
|
270
|
+
let declared = readFlowsConfig(root).plugins;
|
|
271
|
+
let lock = readPluginLock(root);
|
|
272
|
+
const applied = [];
|
|
273
|
+
for (const plan of pending) {
|
|
274
|
+
const { directory, digest } = await materializePlugin(root, plan.manifest.name, plan.files);
|
|
275
|
+
if (digest !== plan.digest)
|
|
276
|
+
throw new PluginError('plugin_source_drift', 'Materialized digest differs from the fetched digest.');
|
|
277
|
+
declared = replaceDeclaredRef(declared, plan.current.ref, plan.ref);
|
|
278
|
+
lock = lockWithPlugin(lock, declared, {
|
|
279
|
+
name: plan.manifest.name, version: plan.manifest.version, source: plan.source,
|
|
280
|
+
digest, manifestSha256: plan.manifestSha256,
|
|
281
|
+
resolvedAt: (options.now ?? (() => new Date()))().toISOString(),
|
|
282
|
+
});
|
|
283
|
+
const { path, config } = readFlowsConfig(root);
|
|
284
|
+
writeFlowsAndLock(root, path, config, declared, lock);
|
|
285
|
+
await dropUnreferencedStore(root, plan.current.entry.name, plan.current.entry.digest, lock);
|
|
286
|
+
applied.push({ name: plan.manifest.name, ref: plan.ref, digest });
|
|
287
|
+
}
|
|
288
|
+
if (parsed.json)
|
|
289
|
+
io.stdout(JSON.stringify({ ok: true, plugins: applied }));
|
|
290
|
+
else
|
|
291
|
+
for (const item of applied)
|
|
292
|
+
io.stdout(`Updated ${item.name} ${item.ref} sha256:${item.digest} recorded in flows.json and ${PLUGIN_LOCK_FILE}`);
|
|
293
|
+
return 0;
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/cli/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-commands.d.ts
CHANGED
|
@@ -61,10 +61,10 @@ export interface CliVerbSpec extends CliCommandSpec {
|
|
|
61
61
|
*/
|
|
62
62
|
export declare const CLI_VERBS: readonly [{
|
|
63
63
|
readonly name: "add";
|
|
64
|
-
readonly description: "Install a helper plugin into this project";
|
|
64
|
+
readonly description: "Install a helper plugin, or a flow-extension plugin from a public GitHub repository, into this project";
|
|
65
65
|
readonly args: readonly [{
|
|
66
|
-
readonly name: "
|
|
67
|
-
readonly description: "Helper name
|
|
66
|
+
readonly name: "plugin";
|
|
67
|
+
readonly description: "Helper name, @flows/<helper-name>, github:<owner>/<repo>@<ref>#<path>, or a github.com tree URL";
|
|
68
68
|
readonly required: true;
|
|
69
69
|
}];
|
|
70
70
|
readonly variants: readonly ["add"];
|
|
@@ -153,6 +153,9 @@ export declare const CLI_VERBS: readonly [{
|
|
|
153
153
|
}, {
|
|
154
154
|
readonly flags: "--draft";
|
|
155
155
|
readonly description: "Create the listener without activating it";
|
|
156
|
+
}, {
|
|
157
|
+
readonly flags: "--plugin <ref>";
|
|
158
|
+
readonly description: "Send-only GitHub flow-extension ref; repeatable. Does not write flows.json";
|
|
156
159
|
}, CliOptionSpec, CliOptionSpec];
|
|
157
160
|
readonly variants: readonly ["deploy", "cloud-deploy"];
|
|
158
161
|
}, {
|
|
@@ -198,6 +201,46 @@ export declare const CLI_VERBS: readonly [{
|
|
|
198
201
|
readonly description: "Mint a read-only observer link without running a flow";
|
|
199
202
|
readonly options: readonly [CliOptionSpec];
|
|
200
203
|
readonly variants: readonly ["observer"];
|
|
204
|
+
}, {
|
|
205
|
+
readonly name: "plugin";
|
|
206
|
+
readonly description: "Inspect, remove, or update the flow-extension plugins recorded in flows.lock.json";
|
|
207
|
+
readonly subcommands: readonly [{
|
|
208
|
+
readonly name: "list";
|
|
209
|
+
readonly description: "List installed flow extensions in composition order";
|
|
210
|
+
readonly options: readonly [CliOptionSpec];
|
|
211
|
+
}, {
|
|
212
|
+
readonly name: "verify";
|
|
213
|
+
readonly description: "Re-hash .flows/plugins against the lockfile and, unless --offline, against the pinned commit on GitHub";
|
|
214
|
+
readonly options: readonly [CliOptionSpec, {
|
|
215
|
+
readonly flags: "--offline";
|
|
216
|
+
readonly description: "Skip the GitHub re-fetch; check only the local store against the lockfile";
|
|
217
|
+
}];
|
|
218
|
+
}, {
|
|
219
|
+
readonly name: "remove";
|
|
220
|
+
readonly description: "Drop a flow-extension plugin from flows.json, the lockfile, and the local store";
|
|
221
|
+
readonly args: readonly [{
|
|
222
|
+
readonly name: "name";
|
|
223
|
+
readonly description: "Plugin name as recorded in the lockfile";
|
|
224
|
+
readonly required: true;
|
|
225
|
+
}];
|
|
226
|
+
readonly options: readonly [CliOptionSpec];
|
|
227
|
+
}, {
|
|
228
|
+
readonly name: "update";
|
|
229
|
+
readonly description: "Re-resolve a flow-extension plugin, show the permissions/events/budget diff, and rewrite the lock with --yes";
|
|
230
|
+
readonly args: readonly [{
|
|
231
|
+
readonly name: "name";
|
|
232
|
+
readonly description: "Plugin name; omit to update every installed flow extension";
|
|
233
|
+
readonly required: false;
|
|
234
|
+
}];
|
|
235
|
+
readonly options: readonly [CliOptionSpec, {
|
|
236
|
+
readonly flags: "--to <ref>";
|
|
237
|
+
readonly description: "GitHub reference to resolve instead of the locked commit";
|
|
238
|
+
}, {
|
|
239
|
+
readonly flags: "--yes";
|
|
240
|
+
readonly description: "Apply the update; without this flag the diff is printed and the lock is left unchanged";
|
|
241
|
+
}];
|
|
242
|
+
}];
|
|
243
|
+
readonly variants: readonly ["plugin"];
|
|
201
244
|
}, {
|
|
202
245
|
readonly name: "replay";
|
|
203
246
|
readonly description: "Replay a finished run from its local journal";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-commands.d.ts","sourceRoot":"","sources":["../src/cli-commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CAC1C;AAED,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACzC;AAED,uEAAuE;AACvE,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD;;;;;;OAMG;IACH,QAAQ,EAAE,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;CAC5C;AAoCD;;;;GAIG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"cli-commands.d.ts","sourceRoot":"","sources":["../src/cli-commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CAC1C;AAED,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACzC;AAED,uEAAuE;AACvE,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD;;;;;;OAMG;IACH,QAAQ,EAAE,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;CAC5C;AAoCD;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgRqB,CAAC;AAE5C;;;;GAIG;AACH,KAAK,eAAe,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,KAAK,WAAW,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;AACtC,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;AACnG,MAAM,MAAM,2BAA2B,GAAG,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAEvG;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAA+C,CAAC"}
|
package/dist/cli-commands.js
CHANGED
|
@@ -38,8 +38,8 @@ const LOCAL_EXECUTION_OPTIONS = [
|
|
|
38
38
|
export const CLI_VERBS = [
|
|
39
39
|
{
|
|
40
40
|
name: 'add',
|
|
41
|
-
description: 'Install a helper plugin into this project',
|
|
42
|
-
args: [{ name: '
|
|
41
|
+
description: 'Install a helper plugin, or a flow-extension plugin from a public GitHub repository, into this project',
|
|
42
|
+
args: [{ name: 'plugin', description: 'Helper name, @flows/<helper-name>, github:<owner>/<repo>@<ref>#<path>, or a github.com tree URL', required: true }],
|
|
43
43
|
variants: ['add'],
|
|
44
44
|
},
|
|
45
45
|
{
|
|
@@ -89,6 +89,7 @@ export const CLI_VERBS = [
|
|
|
89
89
|
{ flags: '--agents <list>', description: 'Agent harnesses to allow, as claude[,codex]' },
|
|
90
90
|
{ flags: '--name <name>', description: 'Name for the hosted listener' },
|
|
91
91
|
{ flags: '--draft', description: 'Create the listener without activating it' },
|
|
92
|
+
{ flags: '--plugin <ref>', description: 'Send-only GitHub flow-extension ref; repeatable. Does not write flows.json' },
|
|
92
93
|
NO_CONNECT_OPTION,
|
|
93
94
|
JSON_OPTION,
|
|
94
95
|
],
|
|
@@ -133,6 +134,35 @@ export const CLI_VERBS = [
|
|
|
133
134
|
options: [DATA_DIR_OPTION],
|
|
134
135
|
variants: ['observer'],
|
|
135
136
|
},
|
|
137
|
+
{
|
|
138
|
+
name: 'plugin',
|
|
139
|
+
description: 'Inspect, remove, or update the flow-extension plugins recorded in flows.lock.json',
|
|
140
|
+
subcommands: [
|
|
141
|
+
{ name: 'list', description: 'List installed flow extensions in composition order', options: [JSON_OPTION] },
|
|
142
|
+
{
|
|
143
|
+
name: 'verify',
|
|
144
|
+
description: 'Re-hash .flows/plugins against the lockfile and, unless --offline, against the pinned commit on GitHub',
|
|
145
|
+
options: [JSON_OPTION, { flags: '--offline', description: 'Skip the GitHub re-fetch; check only the local store against the lockfile' }],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: 'remove',
|
|
149
|
+
description: 'Drop a flow-extension plugin from flows.json, the lockfile, and the local store',
|
|
150
|
+
args: [{ name: 'name', description: 'Plugin name as recorded in the lockfile', required: true }],
|
|
151
|
+
options: [JSON_OPTION],
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
name: 'update',
|
|
155
|
+
description: 'Re-resolve a flow-extension plugin, show the permissions/events/budget diff, and rewrite the lock with --yes',
|
|
156
|
+
args: [{ name: 'name', description: 'Plugin name; omit to update every installed flow extension', required: false }],
|
|
157
|
+
options: [
|
|
158
|
+
JSON_OPTION,
|
|
159
|
+
{ flags: '--to <ref>', description: 'GitHub reference to resolve instead of the locked commit' },
|
|
160
|
+
{ flags: '--yes', description: 'Apply the update; without this flag the diff is printed and the lock is left unchanged' },
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
variants: ['plugin'],
|
|
165
|
+
},
|
|
136
166
|
{
|
|
137
167
|
name: 'replay',
|
|
138
168
|
description: 'Replay a finished run from its local journal',
|
package/dist/cli-commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-commands.js","sourceRoot":"","sources":["../src/cli-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA+DxD,MAAM,eAAe,GAAkB;IACrC,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,uBAAuB;IACpC,YAAY,EAAE,gBAAgB;CAC/B,CAAC;AAEF,MAAM,WAAW,GAAkB;IACjC,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,uDAAuD;CACrE,CAAC;AAEF;;;;GAIG;AACH,MAAM,iBAAiB,GAAkB;IACvC,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,gEAAgE;CAC9E,CAAC;AAEF,iEAAiE;AACjE,MAAM,uBAAuB,GAAG;IAC9B,WAAW;IACX,eAAe;IACf,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,qDAAqD,EAAE;IAC9F,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,uDAAuD,EAAE;IAC7F,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,2CAA2C,EAAE;IACzF;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,4DAA4D;KAC1E;CAC0C,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"cli-commands.js","sourceRoot":"","sources":["../src/cli-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { type PluginArgs } from './cli/plugin.js';
|
|
2
3
|
import { type ReplayArgs } from './cli/replay.js';
|
|
3
4
|
import { type StatusArgs } from './cli/status.js';
|
|
4
5
|
import { type LogsArgs, type RunsArgs } from './cli/cloud-read.js';
|
|
@@ -19,7 +20,7 @@ type CliExitCode = 0 | 1 | 2 | 3;
|
|
|
19
20
|
export type ParsedArgs = {
|
|
20
21
|
command: 'add';
|
|
21
22
|
value: string;
|
|
22
|
-
} | ReplayArgs | StatusArgs | BuildArgs | DeployArgs | {
|
|
23
|
+
} | PluginArgs | ReplayArgs | StatusArgs | BuildArgs | DeployArgs | {
|
|
23
24
|
command: 'serve-webhook';
|
|
24
25
|
dataDir: string;
|
|
25
26
|
port: number;
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAwBrF,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAEL,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAC7B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAwF,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnJ,OAAO,EAA4F,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE3J,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAW1E,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,WAAW,KAAK;IACpB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,KAAK,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC,UAAU,GACV,UAAU,GACV,UAAU,GACV,SAAS,GACT,UAAU,GACV;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACzF;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GACvI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAChF,eAAe,GACf;IAAE,OAAO,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACvD,iBAAiB,GACjB;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACvC;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC5D;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;IAAC,oBAAoB,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzP;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;IAAC,oBAAoB,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjK;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACvK,QAAQ,GACR,QAAQ,GACR;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC9G;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IACrF,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAChF,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAsD3C,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AA0BD,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAAkB,EACtB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAoJtB;AAoJD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,OAAO,CAAC;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,EACrE,EAAE,EAAE,KAAK,EACT,OAAO,GAAE,MAAmC,GAC3C,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAYD,iBAAS,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,GAAG,SAAS,CAuKlE;AA2WD;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,CAAC"}
|